diff --git a/.eslintrc b/.eslintrc
index 686a33e..d309370 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -5,10 +5,12 @@
"ecmaVersion": 3,
},
"plugins": [ "html", "json" ],
+ "!extends": "eslint:recommended",
"rules": {
"no-use-before-define": [ 1, {
"functions":false, "classes":true, "variables":false
}],
+ "no-console": 0,
"no-bitwise": 0,
"curly": 0,
"comma-style": [ 2, "last" ],
diff --git a/README.md b/README.md
index d56ea68..eb293ae 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,8 @@ Emphasis on parsing and writing robustness, cross-format feature compatibility
with a unified JS representation, and ES3/ES5 browser compatibility back to IE6.
This is the community version. We also offer a pro version with performance
-enhancements and additional features by request.
+enhancements, additional features by request, and dedicated support.
+
[**Pro Version**](http://sheetjs.com/pro)
@@ -18,17 +19,33 @@ enhancements and additional features by request.
[**Source Code**](http://git.io/xlsx)
+[**Issues and Bug Reports**](https://github.com/sheetjs/js-xlsx/issues)
+
+[**Other General Support Issues**](https://discourse.sheetjs.com)
+
[**File format support for known spreadsheet data formats:**](#file-formats)
-![circo graph of format support](formats.png)
-
- Graph Legend
+ Graph of supported formats (click to show)
+
+![circo graph of format support](formats.png)
![graph legend](legend.png)
+[**Browser Test**](http://oss.sheetjs.com/js-xlsx/tests/)
+
+[![Build Status](https://saucelabs.com/browser-matrix/sheetjs.svg)](https://saucelabs.com/u/sheetjs)
+
+[![Build Status](https://travis-ci.org/SheetJS/js-xlsx.svg?branch=master)](https://travis-ci.org/SheetJS/js-xlsx)
+[![Build Status](https://semaphoreci.com/api/v1/sheetjs/js-xlsx/branches/master/shields_badge.svg)](https://semaphoreci.com/sheetjs/js-xlsx)
+[![Coverage Status](http://img.shields.io/coveralls/SheetJS/js-xlsx/master.svg)](https://coveralls.io/r/SheetJS/js-xlsx?branch=master)
+[![Dependencies Status](https://david-dm.org/sheetjs/js-xlsx/status.svg)](https://david-dm.org/sheetjs/js-xlsx)
+[![NPM Downloads](https://img.shields.io/npm/dt/xlsx.svg)](https://npmjs.org/package/xlsx)
+[![ghit.me](https://ghit.me/badge.svg?repo=sheetjs/js-xlsx)](https://ghit.me/repo/sheetjs/js-xlsx)
+[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-xlsx?pixel)](https://github.com/SheetJS/js-xlsx)
+
## Table of Contents
@@ -40,6 +57,7 @@ enhancements and additional features by request.
* [JS Ecosystem Demos](#js-ecosystem-demos)
* [Optional Modules](#optional-modules)
* [ECMAScript 5 Compatibility](#ecmascript-5-compatibility)
+- [Philosophy](#philosophy)
- [Parsing Workbooks](#parsing-workbooks)
* [Complete Examples](#complete-examples)
* [Note on Streaming Read](#note-on-streaming-read)
@@ -114,7 +132,6 @@ enhancements and additional features by request.
* [Windows](#windows)
- [License](#license)
- [References](#references)
-- [Badges](#badges)
@@ -122,18 +139,18 @@ enhancements and additional features by request.
## Installation
+In the browser, just add a script tag:
+
+```html
+
+```
+
With [npm](https://www.npmjs.org/package/xlsx):
```bash
$ npm install xlsx
```
-In the browser:
-
-```html
-
-```
-
With [bower](http://bower.io/search/?q=js-xlsx):
```bash
@@ -194,6 +211,41 @@ To use the shim, add the shim before the script tag that loads xlsx.js:
```
+## Philosophy
+
+
+ Philosophy (click to show)
+
+Prior to SheetJS, APIs for processing spreadsheet files were format-specific.
+Third-party libraries either supported one format, or they involved a separate
+set of classes for each supported file type. Even though XLSB was introduced in
+Excel 2007, nothing outside of SheetJS or Excel supported the format.
+
+To promote a format-agnostic view, js-xlsx starts from a pure-JS representation
+that we call the ["Common Spreadsheet Format"](#common-spreadsheet-format).
+Emphasizing a uniform object representation enables radical features like format
+conversion (e.g. reading an XLSX template and saving as XLS) and circumvents the
+"class trap". By abstracting the complexities of the various formats, tools
+need not worry about the specific file type!
+
+A simple object representation combined with careful coding practices enables
+use cases in older browsers and in alternative environments like ExtendScript
+and Web Workers. It is always tempting to use the latest and greatest features,
+but they tend to require the latest versions of browsers, limiting usability.
+
+Utility functions capture common use cases like generating JS objects or HTML.
+Most simple operations should only require a few lines of code. More complex
+operations generally should be straightforward to implement.
+
+Excel pushes the XLSX format as default starting in Excel 2007. However, there
+are other formats with more appealing properties. For example, the XLSB format
+is spiritually similar to XLSX but files often tend up taking less than half the
+space and open much faster! Even though an XLSX writer is available, other
+format writers are available so users can take advantage of the unique
+characteristics of each format.
+
+
+
## Parsing Workbooks
For parsing, the first step is to read the file. This involves acquiring the
@@ -505,7 +557,6 @@ Utilities are available in the `XLSX.utils` object:
**Exporting:**
- `sheet_to_json` converts a worksheet object to an array of JSON objects.
- `sheet_to_row_object_array` is an alias that will be removed in the future.
- `sheet_to_csv` generates delimiter-separated-values output.
- `sheet_to_formulae` generates a list of the formulae (with value fallbacks).
@@ -1008,17 +1059,14 @@ at index 164. The following example creates a custom format from scratch:
```js
var tbl = {};
-XLSX.SSF.init_table(tbl); // <-- load builtin formats
-tbl[164] = "\"T\"\ #0.00";
var wb = {
- SSF: tbl,
SheetNames: ["Sheet1"],
Sheets: {
Sheet1: {
"!ref":"A1:C1",
- A1: { t:"n", v:10000 }, // <-- General format
- B1: { t:"n", v:10000, z: tbl[4] }, // <-- Builtin format
- C1: { t:"n", v:10000, z: tbl[164] } // <-- Custom format
+ A1: { t:"n", v:10000 }, // <-- General format
+ B1: { t:"n", v:10000, z: "0%" }, // <-- Builtin format
+ C1: { t:"n", v:10000, z: "\"T\"\ #0.00" } // <-- Custom format
}
}
}
@@ -1439,8 +1487,8 @@ the output will be encoded in codepage `1200` and the BOM will be prepended.
### JSON
-`XLSX.utils.sheet_to_json` and the alias `XLSX.utils.sheet_to_row_object_array`
-generate different types of JS objects. The function takes an options argument:
+`XLSX.utils.sheet_to_json` generates different types of JS objects. The function
+takes an options argument:
| Option Name | Default | Description |
| :---------- | :------: | :-------------------------------------------------- |
@@ -1834,6 +1882,9 @@ $ open -a Chromium.app http://localhost:8000/stress.html
### Tested Environments
+
+ (click to show)
+
- 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 (IE6-9 browsers require shims for interacting with client)
- Chrome 24+
@@ -1847,6 +1898,8 @@ Tests utilize the mocha testing framework. Travis-CI and Sauce Labs links:
- for XLS\* modules
- for XLS\* modules using Sauce Labs
+
+
### Test Files
Test files are housed in [another repo](https://github.com/SheetJS/test_files).
@@ -1980,20 +2033,3 @@ granted by the Apache 2.0 License are reserved by the Original Author.
- Worksheet File Format (From Lotus) December 1984
-## Badges
-
-[![Build Status](https://saucelabs.com/browser-matrix/sheetjs.svg)](https://saucelabs.com/u/sheetjs)
-
-[![Build Status](https://travis-ci.org/SheetJS/js-xlsx.svg?branch=master)](https://travis-ci.org/SheetJS/js-xlsx)
-
-[![Build Status](https://semaphoreci.com/api/v1/sheetjs/js-xlsx/branches/master/shields_badge.svg)](https://semaphoreci.com/sheetjs/js-xlsx)
-
-[![Coverage Status](http://img.shields.io/coveralls/SheetJS/js-xlsx/master.svg)](https://coveralls.io/r/SheetJS/js-xlsx?branch=master)
-
-[![NPM Downloads](https://img.shields.io/npm/dt/xlsx.svg)](https://npmjs.org/package/xlsx)
-
-[![Dependencies Status](https://david-dm.org/sheetjs/js-xlsx/status.svg)](https://david-dm.org/sheetjs/js-xlsx)
-
-[![ghit.me](https://ghit.me/badge.svg?repo=sheetjs/js-xlsx)](https://ghit.me/repo/sheetjs/js-xlsx)
-
-[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-xlsx?pixel)](https://github.com/SheetJS/js-xlsx)
diff --git a/bin/xlsx.njs b/bin/xlsx.njs
index 9e1befc..9b10895 100755
--- a/bin/xlsx.njs
+++ b/bin/xlsx.njs
@@ -1,5 +1,6 @@
#!/usr/bin/env node
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
+/* eslint-env node */
var n = "xlsx";
/* vim: set ts=2 ft=javascript: */
var X = require('../');
@@ -176,9 +177,9 @@ var oo = "";
var strm = false;
if(!program.quiet) console.error(target_sheet);
if(program.formulae) oo = X.utils.get_formulae(ws).join("\n");
-else if(program.json) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws));
-else if(program.rawJs) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws,{raw:true}));
-else if(program.arrays) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws,{raw:true, header:1}));
+else if(program.json) oo = JSON.stringify(X.utils.sheet_to_json(ws));
+else if(program.rawJs) oo = JSON.stringify(X.utils.sheet_to_json(ws,{raw:true}));
+else if(program.arrays) oo = JSON.stringify(X.utils.sheet_to_json(ws,{raw:true, header:1}));
else {
strm = true;
var stream = X.stream.to_csv(ws, {FS:program.fieldSep, RS:program.rowSep});
diff --git a/bits/00_header.js b/bits/00_header.js
index 8eefc1d..634a2d1 100644
--- a/bits/00_header.js
+++ b/bits/00_header.js
@@ -3,5 +3,6 @@
/*jshint -W041 */
/*jshint funcscope:true, eqnull:true */
/*exported XLSX */
+/*global exports, module, require:false, process:false, Buffer:false */
var XLSX = {};
(function make_xlsx(XLSX){
diff --git a/bits/01_version.js b/bits/01_version.js
index ddea91c..566412f 100644
--- a/bits/01_version.js
+++ b/bits/01_version.js
@@ -1 +1 @@
-XLSX.version = '0.9.13';
+XLSX.version = '0.10.0';
diff --git a/bits/02_codepage.js b/bits/02_codepage.js
index 862803c..2d7e77e 100644
--- a/bits/02_codepage.js
+++ b/bits/02_codepage.js
@@ -1,8 +1,8 @@
-var current_codepage = 1200, current_cptable;
+var current_codepage = 1200;
/*:: declare var cptable:any; */
+/*global cptable:true */
if(typeof module !== "undefined" && typeof require !== 'undefined') {
if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel.js');
- current_cptable = cptable[current_codepage];
}
function reset_cp() { set_cp(1200); }
var set_cp = function(cp) { current_codepage = cp; };
@@ -18,7 +18,7 @@ var debom = function(data/*:string*/)/*:string*/ {
var _getchar = function _gc1(x) { return String.fromCharCode(x); };
if(typeof cptable !== 'undefined') {
- set_cp = function(cp) { current_codepage = cp; current_cptable = cptable[cp]; };
+ set_cp = function(cp) { current_codepage = cp; };
debom = function(data) {
if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.substr(2))); }
return data;
diff --git a/bits/04_base64.js b/bits/04_base64.js
index 2fc0636..7050f43 100644
--- a/bits/04_base64.js
+++ b/bits/04_base64.js
@@ -1,7 +1,7 @@
var Base64 = (function make_b64(){
var map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
return {
- encode: function(input/*:string*/, utf8)/*:string*/ {
+ encode: function(input/*:string*/)/*:string*/ {
var o = "";
var c1, c2, c3, e1, e2, e3, e4;
for(var i = 0; i < input.length; ) {
@@ -18,7 +18,7 @@ var Base64 = (function make_b64(){
}
return o;
},
- decode: function b64_decode(input/*:string*/, utf8)/*:string*/ {
+ decode: function b64_decode(input/*:string*/)/*:string*/ {
var o = "";
var c1, c2, c3;
var e1, e2, e3, e4;
diff --git a/bits/10_ssf.js b/bits/10_ssf.js
index ccd1342..c179063 100644
--- a/bits/10_ssf.js
+++ b/bits/10_ssf.js
@@ -2,7 +2,7 @@
/*jshint -W041 */
var SSF = {};
var make_ssf = function make_ssf(SSF){
-SSF.version = '0.9.1';
+SSF.version = '0.9.2';
function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }
function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; }
function pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;}
@@ -270,12 +270,14 @@ function write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{
var o/*:string*/;
var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1;
if(fmt.match(/^#+0.0E\+0$/)) {
+ if(val == 0) return "0.0E+0";
+ else if(val < 0) return "-" + write_num_exp(fmt, -val);
var period = fmt.indexOf("."); if(period === -1) period=fmt.indexOf('E');
- var ee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;
+ var ee = Math.floor(Math.log(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);
+ var fakee = Math.floor(Math.log(val)*Math.LOG10E);
if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee);
else o += "E+" + (fakee - ee);
while(o.substr(0,2) === "0.") {
@@ -353,7 +355,7 @@ function write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
if((r = fmt.match(/^(0*)\.(#*)$/))) {
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(\.?)$/))) return sign + commaify(pad0r(aval,0));
+ if((r = fmt.match(/^#{1,3},##0(\.?)$/))) return sign + commaify(pad0r(aval,0));
if((r = fmt.match(/^#,##0\.([#0]*0)$/))) {
return val < 0 ? "-" + write_num_flt(type, fmt, -val) : commaify(""+(Math.floor(val) + carry(val, r[1].length))) + "." + pad0(dec(val, r[1].length),r[1].length);
}
@@ -401,7 +403,12 @@ function write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
return val < 0 ? "-" + write_num_flt(type, fmt, -val) : commaify(flr(val)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function($$) { return "00," + ($$.length < 3 ? pad0(0,3-$$.length) : "") + $$; }) + "." + pad0(ri,r[1].length);
}
switch(fmt) {
+ case "###,##0.00": return write_num_flt(type, "#,##0.00", val);
+ case "###,###":
+ case "##,###":
case "#,###": var x = commaify(pad0r(aval,0)); return x !== "0" ? sign + x : "";
+ case "###,###.00": return write_num_flt(type, "###,##0.00",val).replace(/^0\./,".");
+ case "#,###.00": return write_num_flt(type, "#,##0.00",val).replace(/^0\./,".");
default:
}
throw new Error("unsupported format |" + fmt + "|");
@@ -419,12 +426,14 @@ function write_num_exp2(fmt/*:string*/, val/*:number*/)/*:string*/{
var o/*:string*/;
var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1;
if(fmt.match(/^#+0.0E\+0$/)) {
+ if(val == 0) return "0.0E+0";
+ else if(val < 0) return "-" + write_num_exp2(fmt, -val);
var period = fmt.indexOf("."); if(period === -1) period=fmt.indexOf('E');
- var ee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;
+ var ee = Math.floor(Math.log(val)*Math.LOG10E)%period;
if(ee < 0) ee += period;
o = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);
if(!o.match(/[Ee]/)) {
- var fakee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E);
+ var fakee = Math.floor(Math.log(val)*Math.LOG10E);
if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee);
else o += "E+" + (fakee - ee);
o = o.replace(/\+-/,"-");
@@ -446,7 +455,7 @@ function write_num_int(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
if(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);
if(fmt.charCodeAt(0) === 36) return "$"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);
var o;
- var r, ri, ff, aval = Math.abs(val), sign = val < 0 ? "-" : "";
+ var r/*:?Array*/, 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 = "";
@@ -466,7 +475,7 @@ function write_num_int(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
if((r = fmt.match(/^(0*)\.(#*)$/))) {
return sign + (""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".");
}
- if((r = fmt.match(/^#,##0(\.?)$/))) return sign + commaify((""+aval));
+ if((r = fmt.match(/^#{1,3},##0(\.?)$/))) return sign + commaify((""+aval));
if((r = fmt.match(/^#,##0\.([#0]*0)$/))) {
return val < 0 ? "-" + write_num_int(type, fmt, -val) : commaify((""+val)) + "." + fill('0',r[1].length);
}
@@ -482,12 +491,12 @@ function write_num_int(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
}
var oa = "";
if((r = fmt.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))) {
- ri = Math.min(r[4].length,7);
+ ri = Math.min(/*::String(*/r[4]/*::)*/.length,7);
ff = frac(aval, Math.pow(10,ri)-1, false);
o = "" + sign;
- oa = write_num("n", r[1], ff[1]);
+ oa = write_num("n", /*::String(*/r[1]/*::)*/, ff[1]);
if(oa.charAt(oa.length-1) == " ") oa = oa.substr(0,oa.length-1) + "0";
- o += oa + r[2] + "/" + r[3];
+ o += oa + /*::String(*/r[2]/*::)*/ + "/" + /*::String(*/r[3]/*::)*/;
oa = rpad_(ff[2],ri);
if(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;
o += oa;
@@ -513,8 +522,12 @@ function write_num_int(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string
return val < 0 ? "-" + write_num_int(type, fmt, -val) : commaify(""+val).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function($$) { return "00," + ($$.length < 3 ? pad0(0,3-$$.length) : "") + $$; }) + "." + pad0(0,r[1].length);
}
switch(fmt) {
+ case "###,###":
+ case "##,###":
case "#,###": var x = commaify(""+aval); return x !== "0" ? sign + x : "";
default:
+ if(fmt.slice(-3) == ".00") return write_num_int(type, fmt.slice(0,-3), val) + ".00";
+ if(fmt.slice(-2) == ".0") return write_num_int(type, fmt.slice(0,-2), val) + ".0";
}
throw new Error("unsupported format |" + fmt + "|");
}
@@ -610,7 +623,7 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {
if(v < 0) return "";
if(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return ""; }
o = c; while(++i -1) {
o = (o.match(/\$([^-\[\]]*)/)||[])[1]||"$";
if(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};
@@ -641,7 +655,7 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {
}
/* falls through */
case '0': case '#':
- o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1) o += c;
+ o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && i < fmt.length - 2 && "0#".indexOf(fmt.charAt(i+2))>-1) o += c;
out[out.length] = {t:'n', v:o}; break;
case '?':
o = c; while(fmt.charAt(++i) === c) o+=c;
@@ -705,7 +719,7 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {
(c=out[jj].t) === "?" || c === "D" ||
(c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/') ||
out[i].t === '(' && (c === ' ' || c === 'n' || c === ')') ||
- c === 't' && (out[jj].v === '/' || '$€'.indexOf(out[jj].v) > -1 || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')
+ c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')
)) {
out[i].v += out[jj].v;
out[jj] = {v:"", t:";"}; ++jj;
@@ -819,7 +833,6 @@ function choose_fmt(f/*:string*/, v) {
}
function format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {
if(o == null) o = {};
- //fixopts(o != null ? o : (o=[]));
var sfmt = "";
switch(typeof fmt) {
case "string":
diff --git a/bits/21_ziputils.js b/bits/21_ziputils.js
index 13f3084..14aa2d3 100644
--- a/bits/21_ziputils.js
+++ b/bits/21_ziputils.js
@@ -53,6 +53,7 @@ function getzipstr(zip, file/*:string*/, safe/*:?boolean*/)/*:?string*/ {
var _fs, jszip;
/*:: declare var JSZip:any; */
+/*global JSZip:true */
if(typeof JSZip !== 'undefined') jszip = JSZip;
if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
diff --git a/bits/22_xmlutils.js b/bits/22_xmlutils.js
index 7925da1..557729a 100644
--- a/bits/22_xmlutils.js
+++ b/bits/22_xmlutils.js
@@ -37,7 +37,7 @@ var encodings = {
'&': '&'
};
var rencoding = evert(encodings);
-var rencstr = "&<>'\"".split("");
+//var rencstr = "&<>'\"".split("");
// TODO: CP remap (need to read file version to determine OS)
var unescapexml/*:StringConv*/ = (function() {
diff --git a/bits/26_crypto.js b/bits/26_crypto.js
index 937d78d..c41f62c 100644
--- a/bits/26_crypto.js
+++ b/bits/26_crypto.js
@@ -33,5 +33,6 @@ var make_offcrypto = function(O, _crypto) {
};
};
/*:: declare var crypto:any; */
+/*global crypto:true */
make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined);
diff --git a/bits/28_binstructs.js b/bits/28_binstructs.js
index 684c6bc..4063105 100644
--- a/bits/28_binstructs.js
+++ b/bits/28_binstructs.js
@@ -1,8 +1,31 @@
+function write_UInt32LE(x/*:number*/, o) {
+ if(!o) o = new_buf(4);
+ o.write_shift(4, x);
+ return o;
+}
+
+/* [MS-XLSB] 2.5.168 */
+function parse_XLWideString(data)/*:string*/ {
+ var cchCharacters = data.read_shift(4);
+ return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs');
+}
+function write_XLWideString(data/*:string*/, o) {
+ var _null = false; if(o == null) { _null = true; o = new_buf(4+2*data.length); }
+ o.write_shift(4, data.length);
+ if(data.length > 0) o.write_shift(0, data, 'dbcs');
+ return _null ? o.slice(0, o.l) : o;
+}
/* [MS-XLSB] 2.5.143 */
function parse_StrRun(data, length/*:?number*/) {
return { ich: data.read_shift(2), ifnt: data.read_shift(2) };
}
+function write_StrRun(run, o) {
+ if(!o) o = new_buf(4);
+ o.write_shift(2, run.ich || 0);
+ o.write_shift(2, run.ifnt || 0);
+ return o;
+}
/* [MS-XLSB] 2.1.7.121 */
function parse_RichStr(data, length/*:number*/)/*:XLString*/ {
@@ -31,6 +54,17 @@ function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {
write_XLWideString(str.t, o);
return _null ? o.slice(0, o.l) : o;
}
+/* [MS-XLSB] 2.4.325 BrtCommentText (RichStr w/1 run) */
+var parse_BrtCommentText = parse_RichStr;
+function write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {
+ /* TODO: formatted string */
+ var _null = false; if(o == null) { _null = true; o = new_buf(23+4*str.t.length); }
+ o.write_shift(1,1);
+ write_XLWideString(str.t, o);
+ o.write_shift(4,1);
+ write_StrRun({ich:0,ifnt:0}, o);
+ return _null ? o.slice(0, o.l) : o;
+}
/* [MS-XLSB] 2.5.9 */
function parse_XLSBCell(data)/*:any*/ {
@@ -65,18 +99,6 @@ function write_XLNullableWideString(data/*:string*/, o) {
return _null ? o.slice(0, o.l) : o;
}
-/* [MS-XLSB] 2.5.168 */
-function parse_XLWideString(data)/*:string*/ {
- var cchCharacters = data.read_shift(4);
- return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs');
-}
-function write_XLWideString(data/*:string*/, o) {
- var _null = false; if(o == null) { _null = true; o = new_buf(4+2*data.length); }
- o.write_shift(4, data.length);
- if(data.length > 0) o.write_shift(0, data, 'dbcs');
- return _null ? o.slice(0, o.l) : o;
-}
-
/* [MS-XLSB] 2.5.165 */
var parse_XLNameWideString = parse_XLWideString;
var write_XLNameWideString = write_XLWideString;
@@ -153,23 +175,75 @@ var RBErr = evert_num(BErr);
function parse_BrtColor(data, length/*:number*/) {
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);
+
+ var fValidRGB = d & 1;
+ var xColorType = d >>> 1;
+
+ var index = data.read_shift(1);
+ var nTS = data.read_shift(2, 'i');
+ var bR = data.read_shift(1);
+ var bG = data.read_shift(1);
+ var bB = data.read_shift(1);
+ var bAlpha = data.read_shift(1);
+
+ switch(xColorType) {
+ case 0: out.auto = 1; break;
+ case 1:
+ out.index = index;
+ var icv = XLSIcv[index];
+ /* automatic pseudo index 81 */
+ if(icv) out.rgb = icv[0].toString(16) + icv[1].toString(16) + icv[2].toString(16);
+ break;
+ case 2:
+ /* if(!fValidRGB) throw new Error("invalid"); */
+ out.rgb = bR.toString(16) + bG.toString(16) + bB.toString(16);
+ break;
+ case 3: out.theme = index; break;
+ }
+ if(nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;
+
+ return out;
+}
+function write_BrtColor(color, o) {
+ if(!o) o = new_buf(8);
+ if(!color||color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }
+ if(color.index) {
+ o.write_shift(1, 0x02);
+ o.write_shift(1, color.index);
+ } else if(color.theme) {
+ o.write_shift(1, 0x06);
+ o.write_shift(1, color.theme);
+ } else {
+ o.write_shift(1, 0x05);
+ o.write_shift(1, 0);
+ }
+ var nTS = color.tint || 0;
+ if(nTS > 0) nTS *= 32767;
+ else if(nTS < 0) nTS *= 32768;
+ o.write_shift(2, nTS);
+ if(!color.rgb) {
+ o.write_shift(2, 0);
+ o.write_shift(1, 0);
+ o.write_shift(1, 0);
+ } else {
+ var rgb = (color.rgb || 'FFFFFF');
+ o.write_shift(1, parseInt(rgb.substr(0,2),16));
+ o.write_shift(1, parseInt(rgb.substr(2,2),16));
+ o.write_shift(1, parseInt(rgb.substr(4,2),16));
+ o.write_shift(1, 0xFF);
+ }
+ return o;
}
/* [MS-XLSB] 2.5.52 */
-function parse_FontFlags(data, length/*:number*/) {
+function parse_FontFlags(data, length/*:number*/, opts) {
var d = data.read_shift(1);
data.l++;
var out = {
- fItalic: d & 0x2,
- fStrikeout: d & 0x8,
+ /* fBold: d & 0x01 */
+ fItalic: d & 0x02,
+ /* fUnderline: d & 0x04 */
+ fStrikeout: d & 0x08,
fOutline: d & 0x10,
fShadow: d & 0x20,
fCondense: d & 0x40,
@@ -177,3 +251,17 @@ function parse_FontFlags(data, length/*:number*/) {
};
return out;
}
+function write_FontFlags(font, o) {
+ if(!o) o = new_buf(2);
+ var grbit =
+ (font.italic ? 0x02 : 0) |
+ (font.strike ? 0x08 : 0) |
+ (font.outline ? 0x10 : 0) |
+ (font.shadow ? 0x20 : 0) |
+ (font.condense ? 0x40 : 0) |
+ (font.extend ? 0x80 : 0);
+ o.write_shift(1, grbit);
+ o.write_shift(1, 0);
+ return o;
+}
+
diff --git a/bits/29_xlsenum.js b/bits/29_xlsenum.js
index 2dcd187..7cc5004 100644
--- a/bits/29_xlsenum.js
+++ b/bits/29_xlsenum.js
@@ -1,40 +1,40 @@
/* [MS-OLEPS] 2.2 PropertyType */
{
- var VT_EMPTY = 0x0000;
- var VT_NULL = 0x0001;
+ //var VT_EMPTY = 0x0000;
+ //var VT_NULL = 0x0001;
var VT_I2 = 0x0002;
var VT_I4 = 0x0003;
- var VT_R4 = 0x0004;
- var VT_R8 = 0x0005;
- var VT_CY = 0x0006;
- var VT_DATE = 0x0007;
- var VT_BSTR = 0x0008;
- var VT_ERROR = 0x000A;
+ //var VT_R4 = 0x0004;
+ //var VT_R8 = 0x0005;
+ //var VT_CY = 0x0006;
+ //var VT_DATE = 0x0007;
+ //var VT_BSTR = 0x0008;
+ //var VT_ERROR = 0x000A;
var VT_BOOL = 0x000B;
var VT_VARIANT = 0x000C;
- var VT_DECIMAL = 0x000E;
- var VT_I1 = 0x0010;
- var VT_UI1 = 0x0011;
- var VT_UI2 = 0x0012;
+ //var VT_DECIMAL = 0x000E;
+ //var VT_I1 = 0x0010;
+ //var VT_UI1 = 0x0011;
+ //var VT_UI2 = 0x0012;
var VT_UI4 = 0x0013;
- var VT_I8 = 0x0014;
+ //var VT_I8 = 0x0014;
var VT_UI8 = 0x0015;
- var VT_INT = 0x0016;
- var VT_UINT = 0x0017;
+ //var VT_INT = 0x0016;
+ //var VT_UINT = 0x0017;
var VT_LPSTR = 0x001E;
- var VT_LPWSTR = 0x001F;
+ //var VT_LPWSTR = 0x001F;
var VT_FILETIME = 0x0040;
- var VT_BLOB = 0x0041;
- var VT_STREAM = 0x0042;
- var VT_STORAGE = 0x0043;
- var VT_STREAMED_Object = 0x0044;
- var VT_STORED_Object = 0x0045;
- var VT_BLOB_Object = 0x0046;
+ //var VT_BLOB = 0x0041;
+ //var VT_STREAM = 0x0042;
+ //var VT_STORAGE = 0x0043;
+ //var VT_STREAMED_Object = 0x0044;
+ //var VT_STORED_Object = 0x0045;
+ //var VT_BLOB_Object = 0x0046;
var VT_CF = 0x0047;
- var VT_CLSID = 0x0048;
- var VT_VERSIONED_STREAM = 0x0049;
+ //var VT_CLSID = 0x0048;
+ //var VT_VERSIONED_STREAM = 0x0049;
var VT_VECTOR = 0x1000;
- var VT_ARRAY = 0x2000;
+ //var VT_ARRAY = 0x2000;
var VT_STRING = 0x0050; // 2.3.3.1.11 VtString
var VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString
@@ -186,6 +186,7 @@ var XLSFillPattern = [
function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }
/* [MS-XLS] 2.5.161 */
+/* [MS-XLSB] 2.5.75 */
var XLSIcv = rgbify([
/* Color Constants */
0x000000,
@@ -197,7 +198,7 @@ var XLSIcv = rgbify([
0xFF00FF,
0x00FFFF,
- /* Defaults */
+ /* Overridable Defaults */
0x000000,
0xFFFFFF,
0xFF0000,
@@ -258,8 +259,24 @@ var XLSIcv = rgbify([
0x333399,
0x333333,
- /* Sheet */
- 0xFFFFFF,
- 0x000000
+ /* Other entries to appease BIFF8/12 */
+ 0xFFFFFF, /* 0x40 icvForeground ?? */
+ 0x000000, /* 0x41 icvBackground ?? */
+ 0x000000, /* 0x42 icvFrame ?? */
+ 0x000000, /* 0x43 icv3D ?? */
+ 0x000000, /* 0x44 icv3DText ?? */
+ 0x000000, /* 0x45 icv3DHilite ?? */
+ 0x000000, /* 0x46 icv3DShadow ?? */
+ 0x000000, /* 0x47 icvHilite ?? */
+ 0x000000, /* 0x48 icvCtlText ?? */
+ 0x000000, /* 0x49 icvCtlScrl ?? */
+ 0x000000, /* 0x4A icvCtlInv ?? */
+ 0x000000, /* 0x4B icvCtlBody ?? */
+ 0x000000, /* 0x4C icvCtlFrame ?? */
+ 0x000000, /* 0x4D icvCtlFore ?? */
+ 0x000000, /* 0x4E icvCtlBack ?? */
+ 0x000000, /* 0x4F icvCtlNeutral */
+ 0x000000, /* 0x50 icvInfoBk ?? */
+ 0x000000 /* 0x51 icvInfoText ?? */
]);
diff --git a/bits/31_rels.js b/bits/31_rels.js
index 86c7088..195bbce 100644
--- a/bits/31_rels.js
+++ b/bits/31_rels.js
@@ -55,7 +55,7 @@ function write_rels(rels)/*:string*/ {
function add_rels(rels, rId, f, type, relobj)/*:number*/ {
if(!relobj) relobj = {};
if(!rels['!id']) rels['!id'] = {};
- if(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){}
+ if(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}
relobj.Id = 'rId' + rId;
relobj.Type = type;
relobj.Target = f;
diff --git a/bits/35_custprops.js b/bits/35_custprops.js
index 68f300b..8efcd1f 100644
--- a/bits/35_custprops.js
+++ b/bits/35_custprops.js
@@ -39,7 +39,7 @@ function parse_cust_props(data/*:string*/, opts) {
default:
if(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);
}
- } else if(x.substr(0,2) === "") {
+ } else if(x.substr(0,2) === "") {/* empty */
} else if(opts.WTF) throw new Error(x);
}
}
diff --git a/bits/38_xlstypes.js b/bits/38_xlstypes.js
index 26628ae..84c87dd 100644
--- a/bits/38_xlstypes.js
+++ b/bits/38_xlstypes.js
@@ -174,28 +174,25 @@ function parse_PropertySet(blob, PIDSI) {
if(piddsi.n == "CodePage") switch(PropH[piddsi.n]) {
case 0: PropH[piddsi.n] = 1252;
/* falls through */
- case 10000: // OSX Roman
- case 1252: // Windows Latin
-
- case 874: // SB Windows Thai
- case 1250: // SB Windows Central Europe
- case 1251: // SB Windows Cyrillic
- case 1253: // SB Windows Greek
- case 1254: // SB Windows Turkish
- case 1255: // SB Windows Hebrew
- case 1256: // SB Windows Arabic
- case 1257: // SB Windows Baltic
- case 1258: // SB Windows Vietnam
-
- case 932: // DB Windows Japanese Shift-JIS
- case 936: // DB Windows Simplified Chinese GBK
- case 949: // DB Windows Korean
- case 950: // DB Windows Traditional Chinese Big5
-
- case 1200: // UTF16LE
- case 1201: // UTF16BE
- case 65000: case -536: // UTF-7
- case 65001: case -535: // UTF-8
+ case 874:
+ case 932:
+ case 936:
+ case 949:
+ case 950:
+ case 1250:
+ case 1251:
+ case 1253:
+ case 1254:
+ case 1255:
+ case 1256:
+ case 1257:
+ case 1258:
+ case 10000:
+ case 1200:
+ case 1201:
+ case 1252:
+ case 65000: case -536:
+ case 65001: case -535:
set_cp(CodePage = PropH[piddsi.n]); break;
default: throw new Error("Unsupported CodePage: " + PropH[piddsi.n]);
}
@@ -262,7 +259,7 @@ function parse_PropertySetStream(file, PIDSI) {
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) { }
+ try { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}
for(y in PSet1) rval[y] = PSet1[y];
rval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1
return rval;
@@ -363,7 +360,7 @@ function parse_XLUnicodeString2(blob, length, opts) {
var parse_ControlInfo = parsenoop;
/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */
-var parse_URLMoniker = function(blob, length) {
+var parse_URLMoniker = function(blob/*, length, opts*/) {
var len = blob.read_shift(4), start = blob.l;
var extra = false;
if(len > 24) {
diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js
index cddd7e0..38e3237 100644
--- a/bits/39_xlsbiff.js
+++ b/bits/39_xlsbiff.js
@@ -21,7 +21,7 @@ function parse_frtHeader(blob) {
function parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeString2(blob, length, opts); }
/* 2.5.158 */
-var HIDEOBJENUM = ['SHOWALL', 'SHOWPLACEHOLDER', 'HIDEALL'];
+//var HIDEOBJENUM = ['SHOWALL', 'SHOWPLACEHOLDER', 'HIDEALL'];
var parse_HideObjEnum = parseuint16;
/* 2.5.344 */
@@ -99,35 +99,39 @@ function parse_FtCf(blob, length) {
}
/* 2.5.140 - 2.5.154 and friends */
+function parse_FtSkip(blob, length) { blob.l += 2; blob.l += blob.read_shift(2); }
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 */
+ /*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */
+ /*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */
+ /*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */
+ /*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */
+ /*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */
+ /*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */
+ /*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */
+ /*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */
+ /*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */
+ /*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */
+ /*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */
+ /*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */
+ /*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */
+ /*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */
+ /*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */
+ /*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */
+ /*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */
+ /*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */
+ /*::[*/0x15/*::]*/: parse_FtCmo
};
function parse_FtArray(blob, length, ot) {
- var s = blob.l;
+ var tgt = blob.l + length;
var fts = [];
- while(blob.l < s + length) {
+ while(blob.l < tgt) {
var ft = blob.read_shift(2);
blob.l-=2;
try {
- fts.push(FtTab[ft](blob, s + length - blob.l));
- } catch(e) { blob.l = s + length; return fts; }
+ fts.push(FtTab[ft](blob, tgt - blob.l));
+ } catch(e) { blob.l = tgt; return fts; }
}
- if(blob.l != s + length) blob.l = s + length; //throw new Error("bad Object Ft-sequence");
+ if(blob.l != tgt) blob.l = tgt; //throw new Error("bad Object Ft-sequence");
return fts;
}
@@ -158,7 +162,7 @@ function parse_BOF(blob, length) {
function parse_InterfaceHdr(blob, length) {
if(length === 0) return 0x04b0;
var q;
- if((q=blob.read_shift(2))!==0x04b0){}
+ if((q=blob.read_shift(2))!==0x04b0){/* empty */}
return 0x04b0;
}
@@ -246,11 +250,16 @@ function parse_RecalcId(blob, length) {
}
/* 2.4.87 */
-function parse_DefaultRowHeight(blob, length) {
- var f = blob.read_shift(2);
- var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};
- /* char is misleading, miyRw and miyRwHidden overlap */
+function parse_DefaultRowHeight(blob, length, opts) {
+ var f = 0;
+ if(!(opts && opts.biff == 2)) {
+ f = blob.read_shift(2);
+ }
var miyRw = blob.read_shift(2);
+ if((opts && opts.biff == 2)) {
+ f = 1 - (miyRw >> 15); miyRw &= 0x7fff;
+ }
+ var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};
return [fl, miyRw];
}
@@ -265,9 +274,17 @@ function parse_Window1(blob, length) {
/* 2.4.122 TODO */
function parse_Font(blob, length, opts) {
- blob.l += 14;
- var name = parse_ShortXLUnicodeString(blob, 0, opts);
- return name;
+ var o = {
+ dyHeight: blob.read_shift(2),
+ fl: blob.read_shift(2)
+ };
+ switch(opts && opts.biff || 8) {
+ case 2: break;
+ case 3: case 4: blob.l += 2; break;
+ default: blob.l += 10; break;
+ }
+ o.name = parse_ShortXLUnicodeString(blob, 0, opts);
+ return o;
}
/* 2.4.149 */
@@ -299,8 +316,8 @@ var parse_BIFF2Format = parse_XLUnicodeString2;
function parse_Dimensions(blob, length, opts) {
var end = blob.l + length;
var w = opts.biff == 8 || !opts.biff ? 4 : 2;
- var r = blob.read_shift(w), R = blob.read_shift(w),
- c = blob.read_shift(2), C = blob.read_shift(2);
+ var r = blob.read_shift(w), R = blob.read_shift(w);
+ var c = blob.read_shift(2), C = blob.read_shift(2);
blob.l = end;
return {s: {r:r, c:c}, e: {r:R, c:C}};
}
@@ -549,11 +566,49 @@ function parse_MergeCells(blob, length) {
}
/* 2.4.181 TODO: parse all the things! */
-function parse_Obj(blob, length) {
+function parse_Obj(blob, length, opts) {
+ if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);
var cmo = parse_FtCmo(blob, 22); // id, ot, flags
var fts = parse_FtArray(blob, length-22, cmo[1]);
return { cmo: cmo, ft:fts };
}
+/* from older spec */
+var parse_BIFF5OT = [];
+parse_BIFF5OT[0x08] = function(blob, length, opts) {
+ var tgt = blob.l + length;
+ blob.l += 10; // todo
+ var cf = blob.read_shift(2);
+ blob.l += 4;
+ var cbPictFmla = blob.read_shift(2);
+ blob.l += 2;
+ var grbit = blob.read_shift(2);
+ blob.l += 4;
+ var cchName = blob.read_shift(1);
+ blob.l += cchName; // TODO: stName
+ blob.l = tgt; // TODO: fmla
+ return { fmt:cf };
+};
+
+function parse_BIFF5Obj(blob, length, opts) {
+ var cnt = blob.read_shift(4);
+ var ot = blob.read_shift(2);
+ var id = blob.read_shift(2);
+ var grbit = blob.read_shift(2);
+ var colL = blob.read_shift(2);
+ var dxL = blob.read_shift(2);
+ var rwT = blob.read_shift(2);
+ var dyT = blob.read_shift(2);
+ var colR = blob.read_shift(2);
+ var dxR = blob.read_shift(2);
+ var rwB = blob.read_shift(2);
+ var dyB = blob.read_shift(2);
+ var cbMacro = blob.read_shift(2);
+ blob.l += 6;
+ length -= 36;
+ var fts = [];
+ fts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));
+ return { cmo: [id, ot, grbit], ft:fts };
+}
/* 2.4.329 TODO: parse properly */
function parse_TxO(blob, length, opts) {
@@ -684,7 +739,6 @@ var parse_StyleExt = parsenoop;
var parse_Window2 = parsenoop;
-
var parse_Backup = parsebool; /* 2.4.14 */
var parse_Blank = parse_XLSCell; /* 2.4.20 Just the cell */
var parse_BottomMargin = parse_Xnum; /* 2.4.27 */
@@ -991,6 +1045,16 @@ var parse_BopPopCustom = parsenoop;
var parse_Fbi2 = parsenoop;
/* --- Specific to versions before BIFF8 --- */
+function parse_ImData(blob, length, opts) {
+ var tgt = blob.l + length;
+ var cf = blob.read_shift(2);
+ var env = blob.read_shift(2);
+ var lcb = blob.read_shift(4);
+ var o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};
+ blob.l += lcb;
+ return o;
+}
+
function parse_BIFF5String(blob) {
var len = blob.read_shift(1);
return blob.read_shift(len, 'sbcs-cont');
@@ -1037,7 +1101,7 @@ function parse_BIFF2FONTXTRA(blob, length) {
blob.l += 1; // charset
blob.l += 3; // unknown
blob.l += 1; // font family
- blob.l += length - 9;
+ blob.l += length - 13;
}
/* TODO: parse rich text runs */
diff --git a/bits/40_harb.js b/bits/40_harb.js
index b9898a9..5066631 100644
--- a/bits/40_harb.js
+++ b/bits/40_harb.js
@@ -210,17 +210,23 @@ var SYLK = (function() {
var Mval = 0, j;
for (; ri !== records.length; ++ri) {
Mval = 0;
- var record = records[ri].trim().split(";");
- var RT = record[0], val;
- switch(RT) {
- case 'P': if(record[1].charAt(0) == 'P') formats.push(records[ri].trim().substr(3).replace(/;;/g, ";"));
+ var rstr=records[ri].trim(), record=rstr.split(";"), RT=record[0], val;
+ if(rstr.length > 0) switch(RT) {
+ case 'ID': break; /* header */
+ case 'E': break; /* EOF */
+ case 'B': break; /* dimensions */
+ case 'O': break; /* options? */
+ case 'P':
+ if(record[1].charAt(0) == 'P')
+ formats.push(rstr.substr(3).replace(/;;/g, ";"));
break;
- case 'C': case 'F': for(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }
else if(Mval == 0) rowinfo[R].hidden = true;
+ break;
+ default: if(opts && opts.WTF) throw new Error("SYLK bad record " + rstr);
} break;
- default: break;
+ default: if(opts && opts.WTF) throw new Error("SYLK bad record " + rstr);
}
}
if(rowinfo.length > 0) sht['!rows'] = rowinfo;
@@ -297,7 +319,7 @@ var SYLK = (function() {
});
}
- function write_ws_rows_sylk(out, rows) {
+ function write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {
rows.forEach(function(row, i) {
var rec = "F;";
if(row.hidden) rec += "M0;";
@@ -318,6 +340,7 @@ var SYLK = (function() {
if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);
if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);
+ preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" "));
for(var R = r.s.r; R <= r.e.r; ++R) {
for(var C = r.s.c; C <= r.e.c; ++C) {
var coord = encode_cell({r:R,c:C});
@@ -447,7 +470,7 @@ var PRN = (function() {
function set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/) {
if(data === 'TRUE') arr[R][C] = true;
else if(data === 'FALSE') arr[R][C] = false;
- else if(data === ""){}
+ else if(data === ""){/* empty */}
else if(+data == +data) arr[R][C] = +data;
else arr[R][C] = data;
}
@@ -485,29 +508,36 @@ var PRN = (function() {
/* known sep */
if(str.substr(0,4) == "sep=" && str.charCodeAt(5) == 10) { sep = str.charAt(4); str = str.substr(6); }
- /* TODO: actually determine the separator */
- if(str.substr(0,1024).indexOf("\t") == -1) sep = ","; else sep = "\t";
+ else if(str.substr(0,1024).indexOf("\t") == -1) sep = ","; else sep = "\t";
var R = 0, C = 0, v = 0;
var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0;
- str = str.replace(/\r\n/g, "\n");
- for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {
- case 0x22: instr = !instr; break;
- case sepcc: case 0x0a: if(instr) break;
+ str = str.replace(/\r\n/mg, "\n");
+ function finish_cell() {
var s = str.slice(start, end);
var cell = ({}/*:any*/);
if(s.charCodeAt(0) == 0x3D) { cell.t = 'n'; cell.f = s.substr(1); }
else if(s == "TRUE") { cell.t = 'b'; cell.v = true; }
else if(s == "FALSE") { cell.t = 'b'; cell.v = false; }
- else if(!isNaN(v = parseFloat(s))) { cell.t = 'n'; cell.w = s; cell.v = v; }
- else { cell.t = 's'; cell.v = s.replace(/^"/,"").replace(/"$/,"").replace(/""/g,'"'); }
+ else if(!isNaN(v = +s)) { cell.t = 'n'; cell.w = s; cell.v = v; }
+ else if(!isNaN(new Date(s).getDate())) { cell.t = 'd'; cell.v = parseDate(s); }
+ else {
+ cell.t = 's';
+ if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"');
+ cell.v = s;
+ }
if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }
else ws[encode_cell({c:C,r:R})] = cell;
start = end+1;
if(range.e.c < C) range.e.c = C;
if(range.e.r < R) range.e.r = R;
- if(cc == sepcc) ++C; else { C = 0; ++R; } break;
+ if(cc == sepcc) ++C; else { C = 0; ++R; }
+ }
+ for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {
+ case 0x22: if(instr || (end - start == 0)) instr = !instr; break;
+ case sepcc: case 0x0a: case 0x0d: if(!instr) finish_cell(); break;
default: break;
}
+ if(end - start > 0) finish_cell();
ws['!ref'] = encode_range(range);
return ws;
diff --git a/bits/43_sstbin.js b/bits/43_sstbin.js
index 9d158ac..7904ad4 100644
--- a/bits/43_sstbin.js
+++ b/bits/43_sstbin.js
@@ -22,8 +22,8 @@ function parse_sst_bin(data, opts)/*:SST*/ {
pass = false; break;
default:
- if(R_n.indexOf("Begin") > 0){}
- else if(R_n.indexOf("End") > 0){}
+ if(R_n.indexOf("Begin") > 0){/* empty */}
+ else if(R_n.indexOf("End") > 0){/* empty */}
if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n);
}
});
diff --git a/bits/47_styxml.js b/bits/47_styxml.js
index 61894ab..e9b7df3 100644
--- a/bits/47_styxml.js
+++ b/bits/47_styxml.js
@@ -138,30 +138,47 @@ function parse_fonts(t, styles, themes, opts) {
case '': case '': break;
- /* 18.8.2 b CT_BooleanProperty */
- case '': font.bold = true; break;
+ /* 18.8.2 b CT_BooleanProperty */
+ case '': font.bold = 1; break;
/* 18.8.26 i CT_BooleanProperty */
- case '': font.italic = true; break;
+ case '': font.italic = 1; break;
/* 18.4.13 u CT_UnderlineProperty */
- case '': font.underline = true; break;
+ case '': font.underline = 1; break;
/* 18.4.10 strike CT_BooleanProperty */
- case '': font.strike = true; break;
+ case '': font.strike = 1; break;
- /* 18.4.2 outline CT_BooleanProperty */
- case '': font.outline = true; break;
+ /* 18.4.2 outline CT_BooleanProperty */
+ case '': font.outline = 1; break;
/* 18.8.36 shadow CT_BooleanProperty */
- case '': font.shadow = true; break;
+ case '': font.shadow = 1; break;
+
+ /* 18.8.12 condense CT_BooleanProperty */
+ case '': font.condense = 1; break;
+
+ /* 18.8.17 extend CT_BooleanProperty */
+ case '': font.extend = 1; break;
/* 18.4.11 sz CT_FontSize */
- case '': case '': break;
/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */
@@ -169,28 +186,39 @@ function parse_fonts(t, styles, themes, opts) {
case '': case '': break;
/* 18.8.18 family CT_FontFamily */
- case '': case '': break;
/* 18.8.35 scheme CT_FontScheme */
case '': case '': break;
- /* 18.4.1 charset CT_IntProperty TODO */
+ /* 18.4.1 charset CT_IntProperty */
case '': case '': break;
@@ -302,17 +330,18 @@ return function parse_sty_xml(data, themes, opts) {
/* 18.8.23 fonts CT_Fonts ? */
if((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);
- /* 18.8.21 fills CT_Fills */
+ /* 18.8.21 fills CT_Fills ? */
if((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);
- /* 18.8.5 borders CT_Borders ? */
+ /* 18.8.5 borders CT_Borders ? */
if((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);
- /* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */
+ /* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */
/* 18.8.10 cellXfs CT_CellXfs ? */
if((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);
+ /* 18.8.8 cellStyles CT_CellStyles ? */
/* 18.8.15 dxfs CT_Dxfs ? */
/* 18.8.42 tableStyles CT_TableStyles ? */
/* 18.8.11 colors CT_Colors ? */
diff --git a/bits/48_stybin.js b/bits/48_stybin.js
index 987ad9b..bed89fc 100644
--- a/bits/48_stybin.js
+++ b/bits/48_stybin.js
@@ -4,33 +4,132 @@ function parse_BrtFmt(data, length/*:number*/) {
var stFmtCode = parse_XLWideString(data,length-2);
return [ifmt, stFmtCode];
}
+function write_BrtFmt(i/*:number*/, f/*:string*/, o) {
+ if(!o) o = new_buf(6 + 4 * f.length);
+ o.write_shift(2, i);
+ write_XLWideString(f, o);
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
/* [MS-XLSB] 2.4.653 BrtFont TODO */
-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);
- out.sss = data.read_shift(2);
- out.uls = data.read_shift(1);
- out.bFamily = data.read_shift(1);
- out.bCharSet = data.read_shift(1);
+function parse_BrtFont(data, length/*:number*/, opts) {
+ var out = ({}/*:any*/);
+
+ out.sz = data.read_shift(2) / 20;
+
+ var grbit = parse_FontFlags(data, 2, opts);
+ if(grbit.fCondense) out.condense = 1;
+ if(grbit.fExtend) out.extend = 1;
+ if(grbit.fShadow) out.shadow = 1;
+ if(grbit.fOutline) out.outline = 1;
+ if(grbit.fStrikeout) out.strike = 1;
+ if(grbit.fItalic) out.italic = 1;
+
+ var bls = data.read_shift(2);
+ if(bls === 0x02BC) out.bold = 1;
+
+ switch(data.read_shift(2)) {
+ /* case 0: out.vertAlign = "baseline"; break; */
+ case 1: out.vertAlign = "superscript"; break;
+ case 2: out.vertAlign = "subscript"; break;
+ }
+
+ var underline = data.read_shift(1);
+ if(underline != 0) out.underline = underline;
+
+ var family = data.read_shift(1);
+ if(family > 0) out.family = family;
+
+ var bCharSet = data.read_shift(1);
+ if(bCharSet > 0) out.charset = bCharSet;
+
data.l++;
- out.brtColor = parse_BrtColor(data, 8);
- out.bFontScheme = data.read_shift(1);
+ out.color = parse_BrtColor(data, 8);
+
+ switch(data.read_shift(1)) {
+ /* case 0: out.scheme = "none": break; */
+ case 1: out.scheme = "major"; break;
+ case 2: out.scheme = "minor"; break;
+ }
+
out.name = parse_XLWideString(data, length - 21);
- out.flags.Bold = out.bls === 0x02BC;
- 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 & 0x2;
- out.flags.Sup = out.sss & 0x1;
return out;
}
+function write_BrtFont(font, o) {
+ if(!o) o = new_buf(25+4*32);
+ o.write_shift(2, font.sz * 20);
+ write_FontFlags(font, o);
+ o.write_shift(2, font.bold ? 0x02BC : 0x0190);
+ var sss = 0;
+ if(font.vertAlign == "superscript") sss = 1;
+ else if(font.vertAlign == "subscript") sss = 2;
+ o.write_shift(2, sss);
+ o.write_shift(1, font.underline || 0);
+ o.write_shift(1, font.family || 0);
+ o.write_shift(1, font.charset || 0);
+ o.write_shift(1, 0);
+ write_BrtColor(font.color, o);
+ var scheme = 0;
+ if(font.scheme == "major") scheme = 1;
+ if(font.scheme == "minor") scheme = 2;
+ o.write_shift(1, scheme);
+ write_XLWideString(font.name, o);
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
+
+/* [MS-XLSB] 2.4.644 BrtFill */
+var XLSBFillPTNames = [
+ "none",
+ "solid",
+ "mediumGray",
+ "darkGray",
+ "lightGray",
+ "darkHorizontal",
+ "darkVertical",
+ "darkDown",
+ "darkUp",
+ "darkGrid",
+ "darkTrellis",
+ "lightHorizontal",
+ "lightVertical",
+ "lightDown",
+ "lightUp",
+ "lightGrid",
+ "lightTrellis",
+ "gray125",
+ "gray0625"
+];
+var rev_XLSBFillPTNames = evert(XLSBFillPTNames);
+/* TODO: gradient fill representation */
+function write_BrtFill(fill, o) {
+ if(!o) o = new_buf(4*3 + 8*7 + 16*1);
+ var fls = rev_XLSBFillPTNames[fill.patternType];
+ if(fls == null) fls = 0x28;
+ o.write_shift(4, fls);
+ var j = 0;
+ if(fls != 0x28) {
+ /* TODO: custom FG Color */
+ write_BrtColor({auto:1}, o);
+ /* TODO: custom BG Color */
+ write_BrtColor({auto:1}, o);
+
+ for(; j < 12; ++j) o.write_shift(4, 0);
+ } else {
+ for(; j < 4; ++j) o.write_shift(4, 0);
+
+ for(; j < 12; ++j) o.write_shift(4, 0); /* TODO */
+ /* iGradientType */
+ /* xnumDegree */
+ /* xnumFillToLeft */
+ /* xnumFillToRight */
+ /* xnumFillToTop */
+ /* xnumFillToBottom */
+ /* cNumStop */
+ /* xfillGradientStop */
+ }
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
/* [MS-XLSB] 2.4.816 BrtXF */
function parse_BrtXF(data, length/*:number*/) {
@@ -39,6 +138,62 @@ function parse_BrtXF(data, length/*:number*/) {
parsenoop(data, length-4);
return {ixfe:ixfeParent, ifmt:ifmt };
}
+function write_BrtXF(data, ixfeP, o) {
+ if(!o) o = new_buf(16);
+ o.write_shift(2, ixfeP||0);
+ o.write_shift(2, data.numFmtId||0);
+ o.write_shift(2, 0); /* iFont */
+ o.write_shift(2, 0); /* iFill */
+ o.write_shift(2, 0); /* ixBorder */
+ o.write_shift(1, 0); /* trot */
+ o.write_shift(1, 0); /* indent */
+ o.write_shift(1, 0); /* flags */
+ o.write_shift(1, 0); /* flags */
+ o.write_shift(1, 0); /* xfGrbitAtr */
+ o.write_shift(1, 0);
+ return o;
+}
+
+/* [MS-XLSB] 2.5.4 Blxf TODO */
+function write_Blxf(data, o) {
+ if(!o) o = new_buf(10);
+ o.write_shift(1, 0); /* dg */
+ o.write_shift(1, 0);
+ o.write_shift(4, 0); /* color */
+ o.write_shift(4, 0); /* color */
+ return o;
+}
+/* [MS-XLSB] 2.4.299 BrtBorder TODO */
+function write_BrtBorder(border, o) {
+ if(!o) o = new_buf(51);
+ o.write_shift(1, 0); /* diagonal */
+ write_Blxf(null, o); /* top */
+ write_Blxf(null, o); /* bottom */
+ write_Blxf(null, o); /* left */
+ write_Blxf(null, o); /* right */
+ write_Blxf(null, o); /* diag */
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
+
+/* [MS-XLSB] 2.4.755 BrtStyle TODO */
+function write_BrtStyle(style, o) {
+ if(!o) o = new_buf(12+4*10);
+ o.write_shift(4, style.xfId);
+ o.write_shift(2, 1);
+ o.write_shift(1, +style.builtinId);
+ o.write_shift(1, 0); /* iLevel */
+ write_XLNullableWideString(style.name || "", o);
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
+
+/* [MS-XLSB] 2.4.269 BrtBeginTableStyles */
+function write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {
+ var o = new_buf(4+256*2*4);
+ o.write_shift(4, cnt);
+ write_XLNullableWideString(defTableStyle, o);
+ write_XLNullableWideString(defPivotStyle, o);
+ return o.length > o.l ? o.slice(0, o.l) : o;
+}
/* [MS-XLSB] 2.1.7.50 Styles */
function parse_sty_bin(data, themes, opts) {
@@ -57,6 +212,9 @@ function parse_sty_bin(data, themes, opts) {
break;
case 0x002B: /* 'BrtFont' */
styles.Fonts.push(val);
+ if(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {
+ val.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);
+ }
break;
case 0x0401: /* 'BrtKnownFonts' */ break;
case 0x002D: /* 'BrtFill' */ break;
@@ -98,20 +256,126 @@ function parse_sty_bin(data, themes, opts) {
return styles;
}
+function write_FMTS_bin(ba, NF) {
+ if(!NF) return;
+ var cnt = 0;
+ [[5,8],[23,26],[41,44],[/*63*/57,/*66],[164,*/392]].forEach(function(r) {
+ for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;
+ });
+
+ if(cnt == 0) return;
+ write_record(ba, "BrtBeginFmts", write_UInt32LE(cnt));
+ [[5,8],[23,26],[41,44],[/*63*/57,/*66],[164,*/392]].forEach(function(r) {
+ for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, "BrtFmt", write_BrtFmt(i, NF[i]));
+ });
+ write_record(ba, "BrtEndFmts");
+}
+
+function write_FONTS_bin(ba, data) {
+ var cnt = 1;
+
+ if(cnt == 0) return;
+ write_record(ba, "BrtBeginFonts", write_UInt32LE(cnt));
+ write_record(ba, "BrtFont", write_BrtFont({
+ sz:12,
+ color: {theme:1},
+ name: "Calibri",
+ family: 2,
+ scheme: "minor"
+ }));
+ /* 1*65491BrtFont [ACFONTS] */
+ write_record(ba, "BrtEndFonts");
+}
+
+function write_FILLS_bin(ba, data) {
+ var cnt = 2;
+
+ if(cnt == 0) return;
+ write_record(ba, "BrtBeginFills", write_UInt32LE(cnt));
+ write_record(ba, "BrtFill", write_BrtFill({patternType:"none"}));
+ write_record(ba, "BrtFill", write_BrtFill({patternType:"gray125"}));
+ /* 1*65431BrtFill */
+ write_record(ba, "BrtEndFills");
+}
+
+function write_BORDERS_bin(ba, data) {
+ var cnt = 1;
+
+ if(cnt == 0) return;
+ write_record(ba, "BrtBeginBorders", write_UInt32LE(cnt));
+ write_record(ba, "BrtBorder", write_BrtBorder({}));
+ /* 1*65430BrtBorder */
+ write_record(ba, "BrtEndBorders");
+}
+
+function write_CELLSTYLEXFS_bin(ba, data) {
+ var cnt = 1;
+ write_record(ba, "BrtBeginCellStyleXFs", write_UInt32LE(cnt));
+ write_record(ba, "BrtXF", write_BrtXF({
+ numFmtId:0,
+ fontId:0,
+ fillId:0,
+ borderId:0
+ }, 0xFFFF));
+ /* 1*65430(BrtXF *FRT) */
+ write_record(ba, "BrtEndCellStyleXFs");
+}
+
+function write_CELLXFS_bin(ba, data) {
+ write_record(ba, "BrtBeginCellXFs", write_UInt32LE(data.length));
+ data.forEach(function(c) { write_record(ba, "BrtXF", write_BrtXF(c,0)); });
+ /* 1*65430(BrtXF *FRT) */
+ write_record(ba, "BrtEndCellXFs");
+}
+
+function write_STYLES_bin(ba, data) {
+ var cnt = 1;
+
+ write_record(ba, "BrtBeginStyles", write_UInt32LE(1));
+ write_record(ba, "BrtStyle", write_BrtStyle({
+ xfId:0,
+ builtinId:0,
+ name:"Normal"
+ }));
+ /* 1*65430(BrtStyle *FRT) */
+ write_record(ba, "BrtEndStyles");
+}
+
+function write_DXFS_bin(ba, data) {
+ var cnt = 0;
+
+ write_record(ba, "BrtBeginDXFs", write_UInt32LE(cnt));
+ /* *2147483647(BrtDXF *FRT) */
+ write_record(ba, "BrtEndDXFs");
+}
+
+function write_TABLESTYLES_bin(ba, data) {
+ var cnt = 0;
+
+ write_record(ba, "BrtBeginTableStyles", write_BrtBeginTableStyles(cnt, "TableStyleMedium9", "PivotStyleMedium4"));
+ /* *TABLESTYLE */
+ write_record(ba, "BrtEndTableStyles");
+}
+
+function write_COLORPALETTE_bin(ba, data) {
+ return;
+ /* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */
+}
+
/* [MS-XLSB] 2.1.7.50 Styles */
-function write_sty_bin(data, opts) {
+function write_sty_bin(wb, opts) {
var ba = buf_array();
write_record(ba, "BrtBeginStyleSheet");
- /* [FMTS] */
- /* [FONTS] */
- /* [FILLS] */
- /* [BORDERS] */
- /* CELLSTYLEXFS */
- /* CELLXFS*/
- /* STYLES */
- /* DXFS */
- /* TABLESTYLES */
- /* [COLORPALETTE] */
+ write_FMTS_bin(ba, wb.SSF);
+ write_FONTS_bin(ba, wb);
+ write_FILLS_bin(ba, wb);
+ write_BORDERS_bin(ba, wb);
+ write_CELLSTYLEXFS_bin(ba, wb);
+ write_CELLXFS_bin(ba, opts.cellXfs);
+ write_STYLES_bin(ba, wb);
+ write_DXFS_bin(ba, wb);
+ write_TABLESTYLES_bin(ba, wb);
+ write_COLORPALETTE_bin(ba, wb);
/* FRTSTYLESHEET*/
write_record(ba, "BrtEndStyleSheet");
return ba.end();
diff --git a/bits/49_theme.js b/bits/49_theme.js
index 26b8978..4590dff 100644
--- a/bits/49_theme.js
+++ b/bits/49_theme.js
@@ -7,50 +7,41 @@ function parse_clrScheme(t, themes, opts) {
(t[0].match(tagregex)||[]).forEach(function(x) {
var y = parsexmltag(x);
switch(y[0]) {
+ /* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */
case '': break;
/* 20.1.2.3.32 srgbClr CT_SRgbColor */
- case '':
- case '':
- /* 20.1.4.1.10 dk2 (Dark 2) */
- case '':
- case '':
- /* 20.1.4.1.22 lt1 (Light 1) */
- case '':
- case '':
- /* 20.1.4.1.23 lt2 (Light 2) */
- case '':
- case '':
/* 20.1.4.1.1 accent1 (Accent 1) */
- case '':
- case '':
/* 20.1.4.1.2 accent2 (Accent 2) */
- case '':
- case '':
/* 20.1.4.1.3 accent3 (Accent 3) */
- case '':
- case '':
/* 20.1.4.1.4 accent4 (Accent 4) */
- case '':
- case '':
/* 20.1.4.1.5 accent5 (Accent 5) */
- case '':
- case '':
/* 20.1.4.1.6 accent6 (Accent 6) */
- case '':
- case '':
- /* 20.1.4.1.19 hlink (Hyperlink) */
- case '':
- case '':
+ /* 20.1.4.1.9 dk1 (Dark 1) */
+ /* 20.1.4.1.10 dk2 (Dark 2) */
/* 20.1.4.1.15 folHlink (Followed Hyperlink) */
- case '':
- case '':
+ /* 20.1.4.1.19 hlink (Hyperlink) */
+ /* 20.1.4.1.22 lt1 (Light 1) */
+ /* 20.1.4.1.23 lt2 (Light 2) */
+ 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 = {};
diff --git a/bits/53_ccbin.js b/bits/53_ccbin.js
index ac71efa..7e8cd05 100644
--- a/bits/53_ccbin.js
+++ b/bits/53_ccbin.js
@@ -22,8 +22,8 @@ function parse_cc_bin(data, opts) {
out.push(val); break;
default:
- if((R_n||"").indexOf("Begin") > 0){}
- else if((R_n||"").indexOf("End") > 0){}
+ if((R_n||"").indexOf("Begin") > 0){/* empty */}
+ else if((R_n||"").indexOf("End") > 0){/* empty */}
else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n);
}
});
diff --git a/bits/55_vml.js b/bits/55_vml.js
index 2c81891..e0bd896 100644
--- a/bits/55_vml.js
+++ b/bits/55_vml.js
@@ -34,6 +34,7 @@ function write_comments_vml(rId, comments) {
writetag('x:AutoFill', "False"),
writetag('x:Row', String(c.r)),
writetag('x:Column', String(c.c)),
+ '',
'',
''
]); });
diff --git a/bits/58_cmntbin.js b/bits/58_cmntbin.js
index c7b2cf0..82ca18a 100644
--- a/bits/58_cmntbin.js
+++ b/bits/58_cmntbin.js
@@ -22,9 +22,6 @@ function write_BrtBeginComment(data, o) {
/* [MS-XLSB] 2.4.324 BrtCommentAuthor */
var parse_BrtCommentAuthor = parse_XLWideString;
-/* [MS-XLSB] 2.4.325 BrtCommentText */
-var parse_BrtCommentText = parse_RichStr;
-
/* [MS-XLSB] 2.1.7.8 Comments */
function parse_comments_bin(data, opts) {
var out = [];
@@ -57,8 +54,8 @@ function parse_comments_bin(data, opts) {
default:
- if((R_n||"").indexOf("Begin") > 0){}
- else if((R_n||"").indexOf("End") > 0){}
+ if((R_n||"").indexOf("Begin") > 0){/* empty */}
+ else if((R_n||"").indexOf("End") > 0){/* empty */}
else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n);
}
});
@@ -87,7 +84,7 @@ function write_comments_bin(data, opts) {
c.iauthor = iauthor.indexOf(c.a);
var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};
write_record(ba, "BrtBeginComment", write_BrtBeginComment([range, c]));
- if(c.t && c.t.length > 0) write_record(ba, "BrtCommentText", write_RichStr(c));
+ if(c.t && c.t.length > 0) write_record(ba, "BrtCommentText", write_BrtCommentText(c));
write_record(ba, "BrtEndComment");
delete c.iauthor;
});
diff --git a/bits/62_fxls.js b/bits/62_fxls.js
index 569f457..a681db4 100644
--- a/bits/62_fxls.js
+++ b/bits/62_fxls.js
@@ -1,7 +1,7 @@
/* --- formula references point to MS-XLS --- */
/* Small helpers */
function parseread(l) { return function(blob, length) { blob.l+=l; return; }; }
-function parseread1(blob, length) { blob.l+=1; return; }
+function parseread1(blob) { blob.l+=1; return; }
/* Rgce Helpers */
@@ -25,7 +25,7 @@ function parse_RgceArea(blob, length, opts) {
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]} };
}
/* BIFF 2-5 encodes flags in the row field */
-function parse_RgceArea_BIFF2(blob, length, opts) {
+function parse_RgceArea_BIFF2(blob/*, length, opts*/) {
var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);
var c=blob.read_shift(1);
var C=blob.read_shift(1);
@@ -33,7 +33,7 @@ function parse_RgceArea_BIFF2(blob, length, opts) {
}
/* 2.5.198.105 TODO */
-function parse_RgceAreaRel(blob, length, opts) {
+function parse_RgceAreaRel(blob, length/*, opts*/) {
var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 2);
var c=parse_ColRelU(blob, 2);
var C=parse_ColRelU(blob, 2);
@@ -701,12 +701,12 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
var f = formula[0][ff];
//console.log("++",f, stack)
switch(f[0]) {
- /* 2.5.198.93 */
- case 'PtgUminus': stack.push("-" + stack.pop()); break;
- /* 2.5.198.95 */
- case 'PtgUplus': stack.push("+" + stack.pop()); break;
- /* 2.5.198.81 */
- case 'PtgPercent': stack.push(stack.pop() + "%"); break;
+ case 'PtgUminus': /* 2.5.198.93 */
+ stack.push("-" + stack.pop()); break;
+ case 'PtgUplus': /* 2.5.198.95 */
+ stack.push("+" + stack.pop()); break;
+ case 'PtgPercent': /* 2.5.198.81 */
+ stack.push(stack.pop() + "%"); break;
case 'PtgAdd': /* 2.5.198.26 */
case 'PtgConcat': /* 2.5.198.43 */
@@ -723,10 +723,12 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
e1 = stack.pop(); e2 = stack.pop();
if(last_sp >= 0) {
switch(formula[0][last_sp][1][0]) {
- // $FlowIgnore
- case 0: sp = fill(" ", formula[0][last_sp][1][1]); break;
- // $FlowIgnore
- case 1: sp = fill("\r", formula[0][last_sp][1][1]); break;
+ case 0:
+ // $FlowIgnore
+ sp = fill(" ", formula[0][last_sp][1][1]); break;
+ case 1:
+ // $FlowIgnore
+ sp = fill("\r", formula[0][last_sp][1][1]); break;
default:
sp = "";
// $FlowIgnore
@@ -738,51 +740,46 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
stack.push(e2+PtgBinOp[f[0]]+e1);
break;
- /* 2.5.198.67 */
- case 'PtgIsect':
+ case 'PtgIsect': /* 2.5.198.67 */
e1 = stack.pop(); e2 = stack.pop();
stack.push(e2+" "+e1);
break;
- case 'PtgUnion':
+ case 'PtgUnion': /* 2.5.198.94 */
e1 = stack.pop(); e2 = stack.pop();
stack.push(e2+","+e1);
break;
- case 'PtgRange':
+ case 'PtgRange': /* 2.5.198.83 */
e1 = stack.pop(); e2 = stack.pop();
stack.push(e2+":"+e1);
break;
- /* 2.5.198.34 */
- case 'PtgAttrChoose': break;
- /* 2.5.198.35 */
- case 'PtgAttrGoto': break;
- /* 2.5.198.36 */
- case 'PtgAttrIf': break;
- /* [MS-XLSB] 2.5.97.28 */
- case 'PtgAttrIfError': break;
+ case 'PtgAttrChoose': /* 2.5.198.34 */
+ break;
+ case 'PtgAttrGoto': /* 2.5.198.35 */
+ break;
+ case 'PtgAttrIf': /* 2.5.198.36 */
+ break;
+ case 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */
+ break;
- /* 2.5.198.84 */
- case 'PtgRef':
+ case 'PtgRef': /* 2.5.198.84 */
type = f[1][0]; c = shift_cell_xls(f[1][1], _range, opts);
stack.push(encode_cell_xls(c));
break;
- /* 2.5.198.88 */
- case 'PtgRefN':
+ case 'PtgRefN': /* 2.5.198.88 */
type = f[1][0]; c = cell ? shift_cell_xls(f[1][1], cell, opts) : f[1][1];
stack.push(encode_cell_xls(c));
break;
- case 'PtgRef3d': // TODO: lots of stuff
+ case 'PtgRef3d': /* 2.5.198.85 */
type = f[1][0]; ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls(f[1][2], _range, opts);
sname = supbooks.SheetNames[ixti];
var w = sname; /* IE9 fails on defined names */
stack.push(sname + "!" + encode_cell_xls(c));
break;
- /* 2.5.198.62 */
- case 'PtgFunc':
- /* 2.5.198.63 */
- case 'PtgFuncVar':
+ case 'PtgFunc': /* 2.5.198.62 */
+ case 'PtgFuncVar': /* 2.5.198.63 */
//console.log(f[1]);
/* f[1] = [argc, func, type] */
var argc/*:number*/ = f[1][0], func/*:string*/ = f[1][1];
@@ -793,43 +790,38 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
stack.push(func + "(" + args.join(",") + ")");
break;
- /* 2.5.198.42 */
- case 'PtgBool': stack.push(f[1] ? "TRUE" : "FALSE"); break;
- /* 2.5.198.66 */
- case 'PtgInt': stack.push(/*::String(*/f[1]/*::)*/); break;
- /* 2.5.198.79 TODO: precision? */
- case 'PtgNum': stack.push(String(f[1])); break;
- /* 2.5.198.89 */
- // $FlowIgnore
- case 'PtgStr': stack.push('"' + f[1] + '"'); break;
- /* 2.5.198.57 */
- case 'PtgErr': stack.push(/*::String(*/f[1]/*::)*/); break;
- /* 2.5.198.31 TODO */
- case 'PtgAreaN':
+ case 'PtgBool': /* 2.5.198.42 */
+ stack.push(f[1] ? "TRUE" : "FALSE"); break;
+ case 'PtgInt': /* 2.5.198.66 */
+ stack.push(/*::String(*/f[1]/*::)*/); break;
+ case 'PtgNum': /* 2.5.198.79 TODO: precision? */
+ stack.push(String(f[1])); break;
+ case 'PtgStr': /* 2.5.198.89 */
+ // $FlowIgnore
+ stack.push('"' + f[1] + '"'); break;
+ case 'PtgErr': /* 2.5.198.57 */
+ stack.push(/*::String(*/f[1]/*::)*/); break;
+ case 'PtgAreaN': /* 2.5.198.31 TODO */
type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts);
stack.push(encode_range_xls((r/*:any*/), opts));
break;
- /* 2.5.198.27 TODO: fixed points */
- case 'PtgArea':
+ case 'PtgArea': /* 2.5.198.27 TODO: fixed points */
type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts);
stack.push(encode_range_xls((r/*:any*/), opts));
break;
- /* 2.5.198.28 */
- case 'PtgArea3d': // TODO: lots of stuff
+ case 'PtgArea3d': /* 2.5.198.28 TODO */
type = f[1][0]; ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];
sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**");
stack.push(sname + "!" + encode_range((r/*:any*/)));
break;
- /* 2.5.198.41 */
- case 'PtgAttrSum':
+ case 'PtgAttrSum': /* 2.5.198.41 */
stack.push("SUM(" + stack.pop() + ")");
break;
- /* 2.5.198.37 */
- case 'PtgAttrSemi': break;
+ case 'PtgAttrSemi': /* 2.5.198.37 */
+ break;
- /* 2.5.97.60 TODO: do something different for revisions */
- case 'PtgName':
+ case 'PtgName': /* 2.5.97.60 TODO: revisions */
/* f[1] = type, 0, nameindex */
nameidx = f[1][2];
var lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];
@@ -838,8 +830,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
stack.push(name);
break;
- /* 2.5.97.61 TODO: do something different for revisions */
- case 'PtgNameX':
+ case 'PtgNameX': /* 2.5.97.61 TODO: revisions */
/* f[1] = type, ixti, nameindex */
var bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = f[1][2]; var externbook;
/* TODO: Properly handle missing values */
@@ -850,7 +841,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
} else {
var pnxname = supbooks.SheetNames[bookidx];
var o = "";
- if(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){}
+ if(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}
else if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){
if(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {
o = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + "!";
@@ -867,8 +858,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
stack.push(externbook.Name);
break;
- /* 2.5.198.80 */
- case 'PtgParen':
+ case 'PtgParen': /* 2.5.198.80 */
var lp = '(', rp = ')';
if(last_sp >= 0) {
sp = "";
@@ -889,15 +879,13 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
}
stack.push(lp + stack.pop() + rp); break;
- /* 2.5.198.86 */
- case 'PtgRefErr': stack.push('#REF!'); break;
+ case 'PtgRefErr': /* 2.5.198.86 */
+ stack.push('#REF!'); break;
- /* 2.5.198.87 */
- case 'PtgRefErr3d': stack.push('#REF!'); break;
+ case 'PtgRefErr3d': /* 2.5.198.87 */
+ stack.push('#REF!'); break;
- /* */
- /* 2.5.198.58 TODO */
- case 'PtgExp':
+ case 'PtgExp': /* 2.5.198.58 TODO */
c = {c:f[1][1],r:f[1][0]};
var q = ({c: cell.c, r:cell.r}/*:any*/);
if(supbooks.sharedf[encode_cell(c)]) {
@@ -919,42 +907,37 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
}
break;
- /* 2.5.198.32 TODO */
- case 'PtgArray':
+ case 'PtgArray': /* 2.5.198.32 TODO */
stack.push("{" + stringify_array(f[1]) + "}");
break;
- /* 2.5.198.70 TODO: confirm this is a non-display */
- case 'PtgMemArea':
+ case 'PtgMemArea': /* 2.5.198.70 TODO: confirm this is a non-display */
//stack.push("(" + f[2].map(encode_range).join(",") + ")");
break;
- /* 2.5.198.38 */
- case 'PtgAttrSpace':
- /* 2.5.198.39 */
- case 'PtgAttrSpaceSemi':
+ case 'PtgAttrSpace': /* 2.5.198.38 */
+ case 'PtgAttrSpaceSemi': /* 2.5.198.39 */
last_sp = ff;
break;
- /* 2.5.198.92 TODO */
- case 'PtgTbl': break;
+ case 'PtgTbl': /* 2.5.198.92 TODO */
+ break;
- /* 2.5.198.71 */
- case 'PtgMemErr': break;
+ case 'PtgMemErr': /* 2.5.198.71 */
+ break;
- /* 2.5.198.74 */
- case 'PtgMissArg':
+ case 'PtgMissArg': /* 2.5.198.74 */
stack.push("");
break;
- /* 2.5.198.29 */
- case 'PtgAreaErr': stack.push("#REF!"); break;
+ case 'PtgAreaErr': /* 2.5.198.29 */
+ stack.push("#REF!"); break;
- /* 2.5.198.30 */
- case 'PtgAreaErr3d': stack.push("#REF!"); break;
+ case 'PtgAreaErr3d': /* 2.5.198.30 */
+ stack.push("#REF!"); break;
- /* 2.5.198.72 TODO */
- case 'PtgMemFunc': break;
+ case 'PtgMemFunc': /* 2.5.198.72 TODO */
+ break;
default: throw new Error('Unrecognized Formula Token: ' + String(f));
}
@@ -966,12 +949,14 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks,
/* note: some bad XLSB files omit the PtgParen */
case 4: _left = false;
/* falls through */
- // $FlowIgnore
- case 0: sp = fill(" ", f[1][1]); break;
+ case 0:
+ // $FlowIgnore
+ sp = fill(" ", f[1][1]); break;
case 5: _left = false;
/* falls through */
- // $FlowIgnore
- case 1: sp = fill("\r", f[1][1]); break;
+ case 1:
+ // $FlowIgnore
+ sp = fill("\r", f[1][1]); break;
default:
sp = "";
// $FlowIgnore
diff --git a/bits/66_wscommon.js b/bits/66_wscommon.js
index d7ce1eb..0e415bb 100644
--- a/bits/66_wscommon.js
+++ b/bits/66_wscommon.js
@@ -39,7 +39,16 @@ function default_margins(margins, mode) {
function get_cell_style(styles, cell, opts) {
var z = opts.revssf[cell.z != null ? cell.z : "General"];
- for(var i = 0, len = styles.length; i != len; ++i) if(styles[i].numFmtId === z) return i;
+ var i = 0x3c, len = styles.length;
+ if(z == null && opts.ssf) {
+ for(; i < 0x188; ++i) if(opts.ssf[i] == null) {
+ SSF.load(cell.z, i);
+ opts.ssf[i] = cell.z;
+ opts.revssf[cell.z] = z = i;
+ break;
+ }
+ }
+ for(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;
styles[len] = {
numFmtId:z,
fontId:0,
@@ -77,7 +86,7 @@ function safe_format(p, fmtid, fillid, opts, themes, styles) {
} catch(e) { if(opts.WTF) throw e; }
if(fillid) try {
p.s = styles.Fills[fillid];
- if (p.s.fgColor && p.s.fgColor.theme) {
+ if (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {
p.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);
if(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;
}
diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js
index 6f4a02a..6bd2cb5 100644
--- a/bits/68_wsbin.js
+++ b/bits/68_wsbin.js
@@ -69,6 +69,9 @@ function write_row_header(ba, ws, range, R) {
var parse_BrtWsDim = parse_UncheckedRfX;
var write_BrtWsDim = write_UncheckedRfX;
+/* [MS-XLSB] 2.4.813 BrtWsFmtInfo */
+//function write_BrtWsFmtInfo(ws, o) { }
+
/* [MS-XLSB] 2.4.815 BrtWsProp */
function parse_BrtWsProp(data, length) {
var z = {};
@@ -78,8 +81,9 @@ function parse_BrtWsProp(data, length) {
return z;
}
function write_BrtWsProp(str, o) {
- if(o == null) o = new_buf(80+4*str.length);
- for(var i = 0; i < 11; ++i) o.write_shift(1,0);
+ if(o == null) o = new_buf(84+4*str.length);
+ for(var i = 0; i < 3; ++i) o.write_shift(1,0);
+ write_BrtColor({auto:1}, o);
o.write_shift(-4,-1);
o.write_shift(-4,-1);
write_XLSBCodeName(str, o);
@@ -260,8 +264,8 @@ function write_BrtHLink(l, rId, o) {
write_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);
write_RelID("rId" + rId, o);
var locidx = l[1].Target.indexOf("#");
- var location = locidx == -1 ? "" : l[1].Target.substr(locidx+1);
- write_XLWideString(location || "", o);
+ var loc = locidx == -1 ? "" : l[1].Target.substr(locidx+1);
+ write_XLWideString(loc || "", o);
write_XLWideString(l[1].Tooltip || "", o);
write_XLWideString("", o);
return o.slice(0, o.l);
@@ -536,6 +540,7 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
s['!margins'] = val;
break;
+ /* case 'BrtUid' */
case 0x00AF: /* 'BrtAFilterDateGroupItem' */
case 0x0284: /* 'BrtActiveX' */
case 0x0271: /* 'BrtBigName' */
@@ -585,7 +590,6 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
case 0x0413: /* 'BrtSparkline' */
case 0x01AC: /* 'BrtTable' */
case 0x00AA: /* 'BrtTop10Filter' */
- /* case 'BrtUid' */
case 0x0032: /* 'BrtValueMeta' */
case 0x0816: /* 'BrtWebExtension' */
case 0x01E5: /* 'BrtWsFmtInfo' */
@@ -601,8 +605,8 @@ function parse_ws_bin(data, _opts, rels, wb, themes, styles)/*:Worksheet*/ {
case 0x0026: /* 'BrtACEnd' */ break;
default:
- if((R_n||"").indexOf("Begin") > 0){}
- else if((R_n||"").indexOf("End") > 0){}
+ if((R_n||"").indexOf("Begin") > 0){/* empty */}
+ else if((R_n||"").indexOf("End") > 0){/* empty */}
else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n);
}
}, opts);
@@ -646,7 +650,7 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num
}
var o/*:any*/ = ({r:R, c:C}/*:any*/);
/* TODO: cell style */
- //o.s = get_cell_style(opts.cellXfs, cell, opts);
+ o.s = get_cell_style(opts.cellXfs, cell, opts);
if(cell.l) ws['!links'].push([encode_cell(o), cell.l]);
if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);
switch(cell.t) {
@@ -753,6 +757,11 @@ function write_WSVIEWS2(ba, ws) {
write_record(ba, "BrtEndWsViews");
}
+function write_WSFMTINFO(ba, ws) {
+ /* [ACWSFMTINFO] */
+ //write_record(ba, "BrtWsFmtInfo", write_BrtWsFmtInfo(ws));
+}
+
function write_SHEETPROTECT(ba, ws) {
if(!ws['!protect']) return;
/* [BrtSheetProtectionIso] */
@@ -770,7 +779,7 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {
write_record(ba, "BrtWsProp", write_BrtWsProp(s));
write_record(ba, "BrtWsDim", write_BrtWsDim(r));
write_WSVIEWS2(ba, ws);
- /* [WSFMTINFO] */
+ write_WSFMTINFO(ba, ws);
write_COLINFOS(ba, ws, idx, opts, wb);
write_CELLTABLE(ba, ws, idx, opts, wb);
/* [BrtSheetCalcProp] */
diff --git a/bits/73_wbbin.js b/bits/73_wbbin.js
index 8a8a805..23610d2 100644
--- a/bits/73_wbbin.js
+++ b/bits/73_wbbin.js
@@ -24,7 +24,7 @@ function parse_BrtWbProp(data, length) {
return [dwThemeVersion, strName];
}
function write_BrtWbProp(data, o) {
- if(!o) o = new_buf(68);
+ if(!o) o = new_buf(72);
o.write_shift(4, 0);
o.write_shift(4, 0);
write_XLSBCodeName("ThisWorkbook", o);
@@ -85,6 +85,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
break;
case 0x040C: /* 'BrtNameExt' */ break;
+ /* case 'BrtModelTimeGroupingCalcCol' */
+ /* case 'BrtRevisionPtr' */
+ /* case 'BrtUid' */
case 0x0817: /* 'BrtAbsPath15' */
case 0x0216: /* 'BrtBookProtection' */
case 0x02A5: /* 'BrtBookProtectionIso' */
@@ -100,11 +103,9 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x0299: /* 'BrtFnGroup' */
case 0x0850: /* 'BrtModelRelationship' */
case 0x084D: /* 'BrtModelTable' */
- /* case 'BrtModelTimeGroupingCalcCol' */
case 0x0225: /* 'BrtOleSize' */
case 0x0805: /* 'BrtPivotTableRef' */
case 0x0169: /* 'BrtPlaceholderName' */
- /* case 'BrtRevisionPtr' */
case 0x0254: /* 'BrtSmartTagType' */
case 0x029B: /* 'BrtSupAddin' */
case 0x0163: /* 'BrtSupBookSrc' */
@@ -113,7 +114,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x081C: /* 'BrtTableSlicerCacheID' */
case 0x081B: /* 'BrtTableSlicerCacheIDs' */
case 0x0822: /* 'BrtTimelineCachePivotCacheID' */
- /* case 'BrtUid' */
case 0x018D: /* 'BrtUserBookView' */
case 0x009A: /* 'BrtWbFactoid' */
case 0x0099: /* 'BrtWbProp' */
@@ -132,8 +132,8 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ {
case 0x0010: /* 'BrtFRTArchID$' */ break;
default:
- if((R_n||"").indexOf("Begin") > 0){}
- else if((R_n||"").indexOf("End") > 0){}
+ if((R_n||"").indexOf("Begin") > 0){/* empty */}
+ else if((R_n||"").indexOf("End") > 0){/* empty */}
else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n);
}
}, opts);
diff --git a/bits/75_xlml.js b/bits/75_xlml.js
index 3ec8e8c..07fab4c 100644
--- a/bits/75_xlml.js
+++ b/bits/75_xlml.js
@@ -530,7 +530,7 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ {
/* WorksheetOptions */
case 'WorksheetOptions': switch(Rn[3]) {
case 'Visible':
- if(Rn[0].slice(-2) === "/>"){}
+ if(Rn[0].slice(-2) === "/>"){/* empty */}
else if(Rn[1]==="/") switch(str.slice(pidx, Rn.index)) {
case "SheetHidden": wsprops.Hidden = 1; break;
case "SheetVeryHidden": wsprops.Hidden = 2; break;
@@ -729,12 +729,10 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ {
default: seen = false;
} break;
- /* Sorting */
case 'Sorting':
- /* ConditionalFormatting */
case 'ConditionalFormatting':
- /* DataValidation */
- case 'DataValidation': switch(Rn[3]) {
+ case 'DataValidation':
+ switch(Rn[3]) {
case 'Range': break;
case 'Type': break;
case 'Min': break;
@@ -889,7 +887,7 @@ function write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workb
if(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {
/* Visible */
- if(!!wb.Workbook.Sheets[idx].Hidden) o.push(writextag("Visible", (wb.Workbook.Sheets[idx].Hidden == 1 ? "SheetHidden" : "SheetVeryHidden"), {}));
+ if(wb.Workbook.Sheets[idx].Hidden) o.push(writextag("Visible", (wb.Workbook.Sheets[idx].Hidden == 1 ? "SheetHidden" : "SheetVeryHidden"), {}));
else {
/* Selected */
for(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;
diff --git a/bits/76_xls.js b/bits/76_xls.js
index 44a0446..8ca3a90 100644
--- a/bits/76_xls.js
+++ b/bits/76_xls.js
@@ -56,7 +56,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {
if(p.t === 'z') return;
if(!p.XF) return;
try {
- var fmtid = p.XF.ifmt||0;
+ var fmtid = p.z || p.XF.ifmt || 0;
if(opts.cellNF) p.z = SSF._table[fmtid];
} catch(e) { if(opts.WTF) throw e; }
if(!opts || opts.cellText !== false) try {
@@ -179,6 +179,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
var last_Rn = '';
var file_depth = 0; /* TODO: make a real stack */
var BIFF2Fmt = 0;
+ var BIFF2FmtTable = [];
var FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */
var last_lbl;
@@ -309,7 +310,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
out = options.dense ? [] : {};
} break;
case 'BOF': {
- if(opts.biff !== 8){}
+ if(opts.biff !== 8){/* empty */}
else if(RecordType === 0x0009) opts.biff = 2;
else if(RecordType === 0x0209) opts.biff = 3;
else if(RecordType === 0x0409) opts.biff = 4;
@@ -342,17 +343,20 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
case 'Number': case 'BIFF2NUM': case 'BIFF2INT': {
if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;
- temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'};
+ temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'};
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
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(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
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(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:val.c, r:val.r}, temp_val, options);
} break;
@@ -360,6 +364,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
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(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:j, r:val.r}, temp_val, options);
}
@@ -377,6 +382,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
else temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;
} else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts);
}
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell(val.cell, temp_val, options);
last_formula = val;
@@ -389,6 +395,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
if(options.cellFormula) {
temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);
}
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell(last_formula.cell, temp_val, options);
last_formula = null;
@@ -419,11 +426,13 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
case 'LabelSst':
temp_val=make_cell(sst[val.isst].t, val.ixfe, 's');
temp_val.XF = XFs[temp_val.ixfe];
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:val.c, r:val.r}, temp_val, options);
break;
case 'Blank': if(options.sheetStubs) {
temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'};
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:val.c, r:val.r}, temp_val, options);
} break;
@@ -431,6 +440,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
for(var _j = val.c; _j <= val.C; ++_j) {
var _ixfe = val.ixfe[_j-val.c];
temp_val= {ixfe:_ixfe, XF:XFs[_ixfe], t:'z'};
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:_j, r:val.r}, temp_val, options);
}
@@ -439,6 +449,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
case 'Label': case 'BIFF2STR':
temp_val=make_cell(val.val, val.ixfe, 's');
temp_val.XF = XFs[temp_val.ixfe];
+ if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];
safe_format_xf(temp_val, options, wb.opts.Date1904);
addcell({c:val.c, r:val.r}, temp_val, options);
break;
@@ -453,20 +464,23 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
SSF.load(val[1], val[0]);
} break;
case 'BIFF2FORMAT': {
- SSF.load(val, BIFF2Fmt++);
+ BIFF2FmtTable[BIFF2Fmt++] = val;
+ for(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;
+ if(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);
} 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 'ImData': opts.lastobj.ImData = 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) {
cc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];
if(cc) cc.l = val[1];
- }
+ }
} break;
case 'HLinkTooltip': {
for(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)
@@ -611,24 +625,24 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
//console.log("Zoom Level:", val[0]/val[1],val);
} break;
case 'SheetExt': {
-
+ /* empty */
} break;
case 'SheetExtOptional': {
-
+ /* empty */
} break;
/* VBA */
case 'ObNoMacros': {
-
+ /* empty */
} break;
case 'ObProj': {
-
+ /* empty */
} break;
case 'CodeName': {
-
+ /* empty */
} break;
case 'GUIDTypeLib': {
-
+ /* empty */
} break;
case 'WOpt': break; // TODO: WTF?
@@ -657,7 +671,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
/* Explicitly Ignored */
case 'Excel9File': break;
case 'Units': break;
- case 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': case 'BuiltInFnGroupCount':
+ case 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': case 'BuiltInFnGroupCount': break;
/* View Stuff */
case 'Window1': case 'Window2': case 'HideObj': case 'GridSet': case 'Guts':
case 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd':
@@ -724,13 +738,12 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
/* Drawing */
case 'ShapePropsStream': break;
case 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;
- case 'ImData': break;
/* Pub Stuff */
- case 'WebPub': case 'AutoWebPub':
+ case 'WebPub': case 'AutoWebPub': break;
/* Print Stuff */
case 'HeaderFooter': case 'HFPicture': case 'PLV':
- case 'HorizontalPageBreaks': case 'VerticalPageBreaks':
+ case 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;
/* Behavioral */
case 'Backup': case 'CompressPictures': case 'Compat12': break;
@@ -779,11 +792,11 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {
function parse_props(cfb) {
/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */
var DSI = cfb.find('!DocumentSummaryInformation');
- if(DSI) try { cfb.DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); } catch(e) {}
+ if(DSI) try { cfb.DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); } catch(e) {/* empty */}
/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/
var SI = cfb.find('!SummaryInformation');
- if(SI) try { cfb.Summary = parse_PropertySetStream(SI, SummaryPIDSI); } catch(e) {}
+ if(SI) try { cfb.Summary = parse_PropertySetStream(SI, SummaryPIDSI); } catch(e) {/* empty */}
}
function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {
diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js
index 05a188c..f00a800 100644
--- a/bits/77_parsetab.js
+++ b/bits/77_parsetab.js
@@ -1192,9 +1192,10 @@ var XLSRecordEnum = {
/*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING },
/*::[*/0x0008/*::]*/: { n:"BIFF2ROW", f:parsenoop },
/*::[*/0x000b/*::]*/: { n:"Index", f:parse_Index },
+ /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop },
/*::[*/0x001e/*::]*/: { n:"BIFF2FORMAT", f:parse_BIFF2Format },
/*::[*/0x001f/*::]*/: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */
- /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop },
+ /*::[*/0x0020/*::]*/: { n:"BIFF2COLINFO", f:parsenoop },
/*::[*/0x0021/*::]*/: { n:"Array", f:parse_Array },
/*::[*/0x0025/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight },
/*::[*/0x0032/*::]*/: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA },
@@ -1202,7 +1203,7 @@ var XLSRecordEnum = {
/*::[*/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 },
+ /*::[*/0x007f/*::]*/: { n:"ImData", f:parse_ImData },
/*::[*/0x0087/*::]*/: { n:"Addin", f:parsenoop },
/*::[*/0x0088/*::]*/: { n:"Edg", f:parsenoop },
/*::[*/0x0089/*::]*/: { n:"Pub", f:parsenoop },
diff --git a/bits/80_parseods.js b/bits/80_parseods.js
index 9b38b18..0a94934 100644
--- a/bits/80_parseods.js
+++ b/bits/80_parseods.js
@@ -312,7 +312,7 @@ var parse_content_xml = (function() {
try {
var AutoFilter = ods_to_csf_range_3D(parsexmltag(Rn[0])['target-range-address']);
Sheets[AutoFilter[0]]['!autofilter'] = { ref: AutoFilter[1] };
- } catch(e) { }
+ } catch(e) {/* empty */}
break;
case 's': break; //
@@ -362,7 +362,8 @@ var parse_content_xml = (function() {
case 'sheet-name': // 7.3.9
break;
- case 'event-listener': // TODO
+ case 'event-listener':
+ break;
/* TODO: FODS Properties */
case 'initial-creator':
case 'creation-date':
diff --git a/bits/86_writezip.js b/bits/86_writezip.js
index 4ee6547..88c2949 100644
--- a/bits/86_writezip.js
+++ b/bits/86_writezip.js
@@ -9,6 +9,7 @@ function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {
make_ssf(SSF); SSF.load_table(wb.SSF);
// $FlowIgnore
opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;
+ opts.ssf = wb.SSF;
}
opts.rels = {}; opts.wbrels = {};
opts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;
@@ -37,7 +38,7 @@ function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {
/*::if(!wb.Props) throw "unreachable"; */
f = "docProps/app.xml";
- if(wb.Props && wb.Props.SheetNames){}
+ if(wb.Props && wb.Props.SheetNames){/* empty */}
else if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;
// $FlowIgnore
else wb.Props.SheetNames = wb.SheetNames.map(function(x,i) { return [(wb.Workbook.Sheets[i]||{}).Hidden != 2, x];}).filter(function(x) { return x[0]; }).map(function(x) { return x[1]; });
@@ -126,5 +127,7 @@ function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {
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));
+
+ delete opts.revssf; delete opts.ssf;
return zip;
}
diff --git a/demos/browserify/browserify.html b/demos/browserify/browserify.html
index 2c72df8..d391aa2 100644
--- a/demos/browserify/browserify.html
+++ b/demos/browserify/browserify.html
@@ -141,7 +141,7 @@ function get_radio_value( radioName ) {
function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
- var roa = X.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
+ var roa = X.utils.sheet_to_json(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
diff --git a/demos/requirejs/requirejs.js b/demos/requirejs/requirejs.js
index 0b30301..32918e1 100644
--- a/demos/requirejs/requirejs.js
+++ b/demos/requirejs/requirejs.js
@@ -41,7 +41,7 @@ function get_radio_value( radioName ) {
function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
- var roa = X.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
+ var roa = X.utils.sheet_to_json(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
diff --git a/demos/webpack/webpack.html b/demos/webpack/webpack.html
index cd5674d..870bbd8 100644
--- a/demos/webpack/webpack.html
+++ b/demos/webpack/webpack.html
@@ -141,7 +141,7 @@ function get_radio_value( radioName ) {
function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
- var roa = X.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
+ var roa = X.utils.sheet_to_json(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js
index 03474bc..6b60680 100644
--- a/dist/xlsx.core.min.js
+++ b/dist/xlsx.core.min.js
@@ -2,17 +2,17 @@
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd){JSZip=e();define([],e)}else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"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.9.13";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel.js");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 DENSE=null;var DIF_XL=true;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"&&typeof process!=="undefined"&&typeof process.versions!=="undefined"&&process.versions.node;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.9.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){i=i||0;return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}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 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 init_table(t){t[0]="General";t[1]="0";t[2]="0.00";t[3]="#,##0";t[4]="#,##0.00";t[9]="0%";t[10]="0.00%";t[11]="0.00E+00";t[12]="# ?/?";t[13]="# ??/??";t[14]="m/d/yy";t[15]="d-mmm-yy";t[16]="d-mmm";t[17]="mmm-yy";t[18]="h:mm AM/PM";t[19]="h:mm:ss AM/PM";t[20]="h:mm";t[21]="h:mm:ss";t[22]="m/d/yy h:mm";t[37]="#,##0 ;(#,##0)";t[38]="#,##0 ;[Red](#,##0)";t[39]="#,##0.00;(#,##0.00)";t[40]="#,##0.00;[Red](#,##0.00)";t[45]="mm:ss";t[46]="[h]:mm:ss";t[47]="mmss.0";t[48]="##0.0E+0";t[49]="@";t[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';t[65535]="General"}var table_fmt={};init_table(table_fmt);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){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];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);case"undefined":return"";case"object":if(v==null)return""}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.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 0}return Math.round((val-Math.floor(val))*Math.pow(10,d))}function carry(val,d){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 1}return 0}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.charAt(1)==" "?2:1),val);var o;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+(Math.floor(val)+carry(val,r[1].length)))+"."+pad0(dec(val,r[1].length),r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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.charAt(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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]);o=o.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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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-1||c=="\\"&&fmt.charAt(i+1)=="-"&&"0#".indexOf(fmt.charAt(i+2))>-1)){}break;case"?":while(fmt.charAt(++i)===c){}break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(i)=="*")++i;break;case"(":case")":++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":while(i-1){}break;case" ":++i;break;default:++i;break}}return false}SSF.is_date=fmt_is_date;function eval_fmt(fmt,v,opts,flen){var out=[],o="",i=0,c="",lst="t",q,dt,j,cc;var hr="H";while(i=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.charAt(i++)!=="]"&&i-1){o=(o.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!fmt_is_date(fmt))out[out.length]={t:"t",v:o}}break;case".":if(dt!=null){o=c;while((c=fmt.charAt(++i))==="0")o+=c;out[out.length]={t:"s",v:o};break}case"0":case"#":o=c;while(++i-1||c=="\\"&&fmt.charAt(i+1)=="-"&&"0#".indexOf(fmt.charAt(i+2))>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt.charAt(++i)===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(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(i-1)o+=fmt.charAt(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":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]={v:"",t:";"};++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){if(nstr.charCodeAt(0)==40){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num("(",nstr,myv)}else{myv=v<0&&flen>1?-v:v;ostr=write_num("n",nstr,myv);if(myv<0&&out[0]&&out[0].t=="t"){ostr=ostr.substr(1);out[0].v="-"+out[0].v}}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.charAt(j)==="0"||out[i].v.charAt(j)==="#"))vv=ostr.charAt(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 new Error("cannot find right format for |"+fmt.join("|")+"|");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){if(o==null)o={};var sfmt="";switch(typeof fmt){case"string":if(fmt=="m/d/yy"&&o.dateNF)sfmt=o.dateNF;else sfmt=fmt;break;case"number":if(fmt==14&&o.dateNF)sfmt=o.dateNF;else 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)};SSF.init_table=init_table};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.11.1";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 new Error("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 new Error("# 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.l+=2;switch(shift=blob.read_shift(2)){case 9:if(mver!=3)throw new Error("Sector Shift: Expected 9 saw "+shift);break;case 12:if(mver!=4)throw new Error("Sector Shift: Expected 12 saw "+shift);break;default:throw new Error("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;if(!sector)return;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;return(epoch+22091616e5)/(24*60*60*1e3)}function numdate(v){var date=SSF.parse_date_code(v);var val=new Date;if(date==null)throw new Error("Bad Date Code: "+v);val.setUTCDate(date.d);val.setUTCMonth(date.m-1);val.setUTCFullYear(date.y);val.setUTCHours(date.H);val.setUTCMinutes(date.M);val.setUTCSeconds(date.S);return val}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 good_pd_date=new Date("2017-02-19T19:06:09.000Z");var good_pd=good_pd_date.getFullYear()==2017;function parseDate(str){if(good_pd)return new Date(str);if(str instanceof Date)return str;var n=str.match(/\d+/g)||["2017","2","19","0","0","0"];return new Date(Date.UTC(+n[0],+n[1]-1,+n[2],+n[3],+n[4],+n[5]))}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(i));return o}function dup(o){if(typeof JSON!="undefined"&&!Array.isArray(o))return JSON.parse(JSON.stringify(o));if(typeof o!="object"||o==null)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/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="",quot=1;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);quot=(eq=cc.charCodeAt(c+1))==34||eq==39?1:0;v=cc.substring(c+1+quot,cc.length-quot);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=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=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/g,coderegex=/_x([\da-fA-F]{4})_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$,$1){return encodings[$$]||String.fromCharCode(parseInt($1,$$.indexOf("x")>-1?16:10))||$$}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text,xml){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).slice(-4)+"_"})}function escapexmltag(text){return escapexml(text).replace(/ /g,"_x0020_")}var htmlcharegex=/[\u0000-\u001f]/g;function escapehtml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(htmlcharegex,function(s){return""+("000"+s.charCodeAt(0).toString(16)).slice(-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)}}();var xlml_unfixstr=function(){return function xlml_unfixstr(str){return str.replace(/(\r\n|[\r\n])/g,"
")}}();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])return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)(?:\\w+:)?'+f+">",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("<(?:vt:)?"+bt+">(.*?)(?:vt:)?"+bt+">","g")}}();var vtvregex=/<\/?(?:vt:)?variant>/g,vtmregex=/<(?:vt:)([^>]*)>(.*);function parseVector(data){var h=parsexmltag(data);var matches=data.match(vtregex(h.baseType))||[];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);res.push({v:utf8read(v[2]),t:v[1]})});return res}var wtregex=/(^\s|\s$|\n)/;function writetag(f,g){return"<"+f+(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""+f+">"}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+""+f:"/")+">"}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"];var XLMLNS={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};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 __lpp4,___lpp4;__lpp4=___lpp4=function lpp4_(b,i){var len=__readUInt32LE(b,i);return len>0?__utf16le(b,i+4,i+4+len):""};var __8lpp4,___8lpp4;__8lpp4=___8lpp4=function lpp4_8(b,i){var len=__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len):""};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)};__lpp4=function lpp4_b(b,i){if(!Buffer.isBuffer(b))return ___lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len)};__8lpp4=function lpp4_8b(b,i){if(!Buffer.isBuffer(b))return ___8lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf8",i+4,i+4+len)};__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)):""};__lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len)):""};__8lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(65001,b.slice(i+4,i+4+len)):""}}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"wstr":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");size=2*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"lpp4":size=4+__readUInt32LE(this,this.l);o=__lpp4(this,this.l);if(size&2)size+=2;break;case"8lpp4":size=4+__readUInt32LE(this,this.l);o=__8lpp4(this,this.l);if(size&3)size+=4-(size&3);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;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=0,i=0;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 parsenooplog(blob,length){if(typeof console!="undefined")console.log(blob.slice(blob.l,blob.l+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);var L=data.length,RT=0,tgt=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,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.r)}}return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("crypto")}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;var 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 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(typeof 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){var q=cell.t=="d"&&v instanceof Date;if(cell.z!=null)try{return cell.w=SSF.format(cell.z,q?datenum(v):v)}catch(e){}try{return cell.w=SSF.format((cell.XF||{}).ifmt||(q?14:0),q?datenum(v):v)}catch(e){return""+v}}function format_cell(cell,v,o){if(cell==null||cell.t==null||cell.t=="z")return"";if(cell.w!==undefined)return cell.w;if(cell.t=="d"&&!cell.z&&o&&o.dateNF)cell.z=o.dateNF;if(v==undefined)return safe_format_cell(cell,cell.v,o);return safe_format_cell(cell,v,o)}function sheet_to_workbook(sheet,opts){var n=opts&&opts.sheet?opts.sheet:"Sheet1";var sheets={};sheets[n]=sheet;return{SheetNames:[n],Sheets:sheets}}function aoa_to_sheet(data,opts){var o=opts||{};if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:1e7,r:1e7},e:{c:0,r:0}};for(var R=0;R!=data.length;++R){for(var C=0;C!=data[R].length;++C){if(typeof data[R][C]==="undefined")continue;var cell={v:data[R][C]};if(range.s.r>R)range.s.r=R;if(range.s.c>C)range.s.c=C;if(range.e.r0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return _null?o.slice(0,o.l):o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){var _null=false;if(o==null){_null=true;o=new_buf(4+2*data.length)}o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return _null?o.slice(0,o.l):o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;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_RfX(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_RfX(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}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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.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.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+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.openxmlformats-officedocument.themeOverride+xml":"TODO","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":"drawings","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","image/png":"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"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},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:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],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"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["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");f2("charts");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);f3("vba");f3("comments");f3("drawings");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",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function get_rels_path(file){var n=file.lastIndexOf("/");return file.substr(0,n+1)+"_rels/"+file.substr(n+1)+".rels"}function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};(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("")}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};if(rId<0)for(rId=1;rels["!id"]["rId"+rId];++rId){}relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(relobj.Type==RELS.HLINK)relobj.TargetMode="External";if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj;return rId}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 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]*>(.*)"+g+">")}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]]=parseDate(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 opts=_opts||{};var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp&&!opts.Props)return o.join("");if(cp){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];var v=opts.Props&&opts.Props[f[1]]!=null?opts.Props[f[1]]:cp?cp[f[1]]:null;if(v===true)v="1";else if(v===false)v="0";else if(typeof v=="number")v=String(v);if(v!=null)cp_doit(f[0],v,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]+"[^>]*>(.*)"+f[0]+">"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var parts=parseVector(q.TitlesOfParts).map(function(x){return x.v});var idx=0,len=0;for(var i=0;i!==v.length;i+=2){len=+v[i+1].v;switch(v[i].v){case"Worksheets":case"工作表":case"Листы":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Werkbladen":p.Worksheets=len;p.SheetNames=parts.slice(idx,idx+len);break;case"Named Ranges":case"Benannte Bereiche":p.NamedRanges=len;p.DefinedNames=parts.slice(idx,idx+len);break;case"Charts":case"Diagramme":p.Chartsheets=len;p.ChartNames=parts.slice(idx,idx+len);break}idx+=len}}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=String(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""+escapexml(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"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]=parseDate(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)===""){}else if(opts.WTF)throw new Error(x)}}return p}var CUST_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.CUST_PROPS,"xmlns:vt":XMLNS.vt});function write_cust_props(cp,opts){var o=[XML_HEADER,CUST_PROPS_XML_ROOT];if(!cp)return o.join("");var pid=1;keys(cp).forEach(function custprop(k){++pid;o[o.length]=writextag("property",write_vt(cp[k]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:pid,name:k})});if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var XLMLDocPropsMap={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var evert_XLMLDPM=evert(XLMLDocPropsMap);function xlml_set_prop(Props,tag,val){tag=evert_XLMLDPM[tag]||tag;Props[tag]=val}function xlml_write_docprops(Props,opts){var o=[];keys(XLMLDocPropsMap).map(function(m){for(var i=0;i'+o.join("")+""+T+">"}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=parseDate(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 new Error("Unrecognized #Sets: "+NumSets);FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw new Error("Length mismatch: "+Offset0+" !== "+blob.l);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=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}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;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}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&&opts.biff==2?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 new Error("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,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw new Error("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=2){o.dt=blob.read_shift(2);blob.l-=2}switch(o.BIFFVer){case 1536:case 1280:case 2:case 7:break;default:if(length>6)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){}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 z={};z.r=blob.read_shift(2);z.c=blob.read_shift(2);z.cnt=blob.read_shift(2)-z.c;var miyRw=blob.read_shift(2);blob.l+=4;var flags=blob.read_shift(1);blob.l+=3;if(flags&32)z.hidden=true;if(flags&64)z.hpt=miyRw/20;return z}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw new Error("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=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};var miyRw=blob.read_shift(2);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 target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,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,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;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];if(!opts.cellStyles)return o;o.alc=a&7;o.fWrap=a>>3&1;o.alcV=a>>4&7;o.fJustLast=a>>7&1;o.trot=a>>8&255;o.cIndent=a>>16&15;o.fShrinkToFit=a>>20&1;o.iReadOrder=a>>22&2;o.fAtrNum=a>>26&1;o.fAtrFnt=a>>27&1;o.fAtrAlc=a>>28&1;o.fAtrBdr=a>>29&1;o.fAtrPat=a>>30&1;o.fAtrProt=a>>31&1;o.dgLeft=b&15;o.dgRight=b>>4&15;o.dgTop=b>>8&15;o.dgBottom=b>>12&15;o.icvLeft=b>>16&127;o.icvRight=b>>23&127;o.grbitDiag=b>>30&3;o.icvTop=c&127;o.icvBottom=c>>7&127;o.icvDiag=c>>14&127;o.dgDiag=c>>21&15;o.icvFore=d&127;o.icvBack=d>>7&127;o.fsxButton=d>>14&1;return o}function parse_CellXF(blob,length,opts){return parse_CellStyleXF(blob,length,0,opts)}function parse_StyleXF(blob,length,opts){return parse_CellStyleXF(blob,length,1,opts)}function parse_XF(blob,length,opts){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,opts);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 new Error("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,opts);o.body=body||blob.read_shift(length-2);if(typeof body==="string")o.Name=body;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(opts&&opts.biff==2?1:2);var itab=0;if(!opts||opts.biff>=5){blob.l+=2;itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,itab:itab,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=[],target=blob.l+length,len=blob.read_shift(2);while(len--!==0)o.push(parse_XTI(blob,6));var oo=[];return o}function parse_NameCmt(blob,length,opts){if(opts.biff<8){blob.l+=length;return}var cchName=blob.read_shift(2);var cchComment=blob.read_shift(2);var name=parse_XLUnicodeStringNoCch(blob,cchName,opts);var comment=parse_XLUnicodeStringNoCch(blob,cchComment,opts);return[name,comment]}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);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default: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 new Error("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}function parse_ColInfo(blob,length,opts){if(!opts.cellStyles)return parsenoop(blob,length);var w=opts&&opts.biff>=12?4:2;var colFirst=blob.read_shift(w);var colLast=blob.read_shift(w);var coldx=blob.read_shift(w);var ixfe=blob.read_shift(w);var flags=blob.read_shift(2);if(w==2)blob.l+=2;return{s:colFirst,e:colLast,w:coldx,ixfe:ixfe,flags:flags}}function parse_Setup(blob,length,opts){var o={};blob.l+=16;o.header=parse_Xnum(blob,8);o.footer=parse_Xnum(blob,8);blob.l+=2;return o}function parse_ShtProps(blob,length,opts){var def={area:false};if(opts.biff!=5){blob.l+=length;return def}var d=blob.read_shift(1);blob.l+=3;if(d&16)def.area=true;return def}var parse_Style=parsenoop;var parse_StyleExt=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_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_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_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_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.t="str";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.t="n";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.t="n";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}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var DBF=function(){var dbf_codepage_map={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,255:16969};function dbf_to_aoa(buf,opts){var out=[];var d=new_raw_buf(1);switch(opts.type){case"base64":d=s2a(Base64.decode(buf));break;case"binary":d=s2a(buf);break;case"buffer":case"array":d=buf;break}prep_blob(d,0);var ft=d.read_shift(1);var memo=false;var vfp=false;switch(ft){case 2:case 3:break;case 48:vfp=true;memo=true;break;case 49:vfp=true;break;case 131:memo=true;break;case 139:memo=true;break;case 245:memo=true;break;default:throw new Error("DBF Unsupported Version: "+ft.toString(16))}var filedate=new Date,nrow=0,fpos=0;if(ft==2)nrow=d.read_shift(2);filedate=new Date(d.read_shift(1)+1900,d.read_shift(1)-1,d.read_shift(1));if(ft!=2)nrow=d.read_shift(4);if(ft!=2)fpos=d.read_shift(2);var rlen=d.read_shift(2);var flags=0,current_cp=1252;if(ft!=2){d.l+=16;flags=d.read_shift(1);if(d[d.l]!==0)current_cp=dbf_codepage_map[d[d.l]];d.l+=1;d.l+=2}var fields=[],field={};var hend=fpos-10-(vfp?264:0);while(ft==2?d.l0){if(d[d.l]===42){d.l+=rlen;continue}++d.l;out[++R]=[];C=0;for(C=0;C!=fields.length;++C){var dd=d.slice(d.l,d.l+fields[C].len);d.l+=fields[C].len;prep_blob(dd,0);var s=cptable.utils.decode(current_cp,dd);switch(fields[C].type){case"C":out[R][C]=cptable.utils.decode(current_cp,dd);out[R][C]=out[R][C].trim();break;case"D":if(s.length===8)out[R][C]=new Date(+s.substr(0,4),+s.substr(4,2)-1,+s.substr(6,2));else out[R][C]=s;break;case"F":out[R][C]=parseFloat(s.trim());break;case"I":out[R][C]=dd.read_shift(4,"i");break;case"L":switch(s.toUpperCase()){case"Y":case"T":out[R][C]=true;break;case"N":case"F":out[R][C]=false;break;case" ":case"?":out[R][C]=false;break;default:throw new Error("DBF Unrecognized L:|"+s+"|")}break;case"M":if(!memo)throw new Error("DBF Unexpected MEMO for type "+ft.toString(16));out[R][C]="##MEMO##"+dd.read_shift(4);break;case"N":out[R][C]=+s.replace(/\u0000/g,"").trim();break;case"T":var day=dd.read_shift(4),ms=dd.read_shift(4);throw new Error(day+" | "+ms);case"Y":out[R][C]=dd.read(4,"i")/1e4;break;case"0":if(fields[C].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+fields[C].type)}}}if(ft!=2)if(d.l0){rowinfo[R].hpt=Mval;rowinfo[R].hpx=pt2px(Mval)}else if(Mval==0)rowinfo[R].hidden=true}break;default:break}}if(rowinfo.length>0)sht["!rows"]=rowinfo;if(colinfo.length>0)sht["!cols"]=colinfo;arr[arr.length]=sht;return arr}function sylk_to_sheet(str,opts){var aoa=sylk_to_aoa(str,opts);var ws=aoa.pop();var o=aoa_to_sheet(aoa,opts);keys(ws).forEach(function(k){o[k]=ws[k]});return o}function sylk_to_workbook(str,opts){return sheet_to_workbook(sylk_to_sheet(str,opts),opts)}function write_ws_cell_sylk(cell,ws,R,C,opts){var o="C;Y"+(R+1)+";X"+(C+1)+";K";switch(cell.t){case"n":o+=cell.v||0;if(cell.f&&!cell.F)o+=";E"+a1_to_rc(cell.f,{r:R,c:C});break;case"b":o+=cell.v?"TRUE":"FALSE";break;case"e":o+=cell.w||cell.v;break;case"d":o+='"'+(cell.w||cell.v)+'"';break;case"s":o+='"'+cell.v.replace(/"/g,"")+'"';break}return o}function write_ws_cols_sylk(out,cols){cols.forEach(function(col,i){var rec="F;W"+(i+1)+" "+(i+1)+" ";if(col.hidden)rec+="0";else{if(typeof col.width=="number")col.wpx=width2px(col.width);if(typeof col.wpx=="number")col.wch=px2char(col.wpx);if(typeof col.wch=="number")rec+=Math.round(col.wch)}if(rec.charAt(rec.length-1)!=" ")out.push(rec)})}function write_ws_rows_sylk(out,rows){rows.forEach(function(row,i){var rec="F;";if(row.hidden)rec+="M0;";else if(row.hpt)rec+="M"+20*row.hpt+";";else if(row.hpx)rec+="M"+20*px2pt(row.hpx)+";";if(rec.length>2)out.push(rec+"R"+(i+1))})}function sheet_to_sylk(ws,opts){var preamble=["ID;PWXL;N;E"],o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);var RS="\r\n";preamble.push("P;PGeneral");preamble.push("F;P0;DG0G8;M255");if(ws["!cols"])write_ws_cols_sylk(preamble,ws["!cols"]);if(ws["!rows"])write_ws_rows_sylk(preamble,ws["!rows"]);for(var R=r.s.r;R<=r.e.r;++R){for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null&&(!cell.f||cell.F))continue;o.push(write_ws_cell_sylk(cell,ws,R,C,opts))}}return preamble.join(RS)+RS+o.join(RS)+RS+"E"+RS}return{to_workbook:sylk_to_workbook,to_sheet:sylk_to_sheet,from_sheet:sheet_to_sylk}}();var DIF=function(){function dif_to_aoa(d,opts){switch(opts.type){case"base64":return dif_to_aoa_str(Base64.decode(d),opts);case"binary":return dif_to_aoa_str(d,opts);case"buffer":return dif_to_aoa_str(d.toString("binary"),opts);case"array":return dif_to_aoa_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function dif_to_aoa_str(str,opts){var records=str.split("\n"),R=-1,C=-1,ri=0,arr=[];for(;ri!==records.length;++ri){if(records[ri].trim()==="BOT"){arr[++R]=[];C=0;continue}if(R<0)continue;var metadata=records[ri].trim().split(",");var type=metadata[0],value=metadata[1];++ri;var data=records[ri].trim();switch(+type){case-1:if(data==="BOT"){arr[++R]=[];C=0;continue}else if(data!=="EOD")throw new Error("Unrecognized DIF special command "+data);break;case 0:if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(+value==+value)arr[R][C]=+value;else if(!isNaN(new Date(value).getDate()))arr[R][C]=parseDate(value);else arr[R][C]=value;++C;break;case 1:data=data.substr(1,data.length-2);arr[R][C++]=data!==""?data:null;break}if(data==="EOD")break}return arr}function dif_to_sheet(str,opts){return aoa_to_sheet(dif_to_aoa(str,opts),opts)}function dif_to_workbook(str,opts){return sheet_to_workbook(dif_to_sheet(str,opts),opts)}var sheet_to_dif=function(){var push_field=function pf(o,topic,v,n,s){o.push(topic);o.push(v+","+n);o.push('"'+s.replace(/"/g,'""')+'"')};var push_value=function po(o,type,v,s){o.push(type+","+v);o.push(type==1?'"'+s.replace(/"/g,'""')+'"':s)};return function sheet_to_dif(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);push_field(o,"TABLE",0,1,"sheetjs");push_field(o,"VECTORS",0,r.e.r-r.s.r+1,"");push_field(o,"TUPLES",0,r.e.c-r.s.c+1,"");push_field(o,"DATA",0,0,"");for(var R=r.s.r;R<=r.e.r;++R){push_value(o,-1,0,"BOT");for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell){push_value(o,1,0,"");continue}switch(cell.t){case"n":var val=DIF_XL?cell.w:cell.v;if(!val&&cell.v!=null)val=cell.v;if(val==null){if(DIF_XL&&cell.f&&!cell.F)push_value(o,1,0,"="+cell.f);else push_value(o,1,0,"")}else push_value(o,0,val,"V");break;case"b":push_value(o,0,cell.v?1:0,cell.v?"TRUE":"FALSE");break;case"s":push_value(o,1,0,!DIF_XL||isNaN(cell.v)?cell.v:'="'+cell.v+'"');break;case"d":if(!cell.w)cell.w=SSF.format(cell.z||SSF._table[14],datenum(parseDate(cell.v)));if(DIF_XL)push_value(o,0,cell.w,"V");else push_value(o,1,0,cell.w);break;default:push_value(o,1,0,"")}}}push_value(o,-1,0,"EOD");var RS="\r\n";var oo=o.join(RS);return oo}}();return{to_workbook:dif_to_workbook,to_sheet:dif_to_sheet,from_sheet:sheet_to_dif}}();var PRN=function(){function set_text_arr(data,arr,R,C){if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(data===""){}else if(+data==+data)arr[R][C]=+data;else arr[R][C]=data}function prn_to_aoa_str(f,opts){var arr=[];if(!f||f.length===0)return arr;var lines=f.split(/[\r\n]/);var L=lines.length-1;while(L>=0&&lines[L].length===0)--L;var start=10,idx=0;var R=0;for(;R<=L;++R){idx=lines[R].indexOf(" ");if(idx==-1)idx=lines[R].length;else idx++;start=Math.max(start,idx)}for(R=0;R<=L;++R){arr[R]=[];var C=0;set_text_arr(lines[R].slice(0,start).trim(),arr,R,C);for(C=1;C<=(lines[R].length-start)/10+1;++C)set_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C)}return arr}function dsv_to_sheet_str(str,opts){var o=opts||{};var sep="";if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:0,r:0},e:{c:0,r:0}};if(str.substr(0,4)=="sep="&&str.charCodeAt(5)==10){sep=str.charAt(4);str=str.substr(6)}if(str.substr(0,1024).indexOf("\t")==-1)sep=",";else sep="\t";var R=0,C=0,v=0;var start=0,end=0,sepcc=sep.charCodeAt(0),instr=false,cc=0;str=str.replace(/\r\n/g,"\n");for(;end=0||str.indexOf(",")>=0)return dsv_to_sheet_str(str,opts);return aoa_to_sheet(prn_to_aoa_str(str,opts),opts)}function prn_to_sheet(d,opts){switch(opts.type){case"base64":return prn_to_sheet_str(Base64.decode(d),opts);case"binary":return prn_to_sheet_str(d,opts);case"buffer":return prn_to_sheet_str(d.toString("binary"),opts);case"array":return prn_to_sheet_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function prn_to_workbook(str,opts){return sheet_to_workbook(prn_to_sheet(str,opts),opts)}function sheet_to_prn(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);for(var R=r.s.r;R<=r.e.r;++R){var oo=[];for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null){oo.push(" ");continue}var w=(cell.w||(format_cell(cell),cell.w)||"").substr(0,10);while(w.length<10)w+=" ";oo.push(w+(C==0?" ":""))}o.push(oo.join(""))}return o.join("\n")}return{to_workbook:prn_to_workbook,to_sheet:prn_to_sheet,from_sheet:sheet_to_prn}}();var WK_=function(){function lotushopper(data,cb,opts){if(!data)return;prep_blob(data,data.l||0);var Enum=opts.Enum||WK1Enum;while(data.l=4096)o.qpro=true;break;case 6:refguess=val;break;case 15:if(!o.qpro)val[1].v=val[1].v.substr(1);case 13:case 14:case 16:case 51:if(o.dense){if(!s[val[0].r])s[val[0].r]=[];s[val[0].r][val[0].c]=val[1]}else s[encode_cell(val[0])]=val[1];break}else switch(RT){case 22:val[1].v=val[1].v.substr(1);case 23:case 24:case 25:case 37:case 39:case 40:if(val[3]>sidx){s["!ref"]=encode_range(refguess);sheets[n]=s;s=o.dense?[]:{};refguess={s:{r:0,c:0},e:{r:0,c:0}};sidx=val[3];n="Sheet"+(sidx+1);snames.push(n)}s[encode_cell(val[0])]=val[1];if(refguess.e.c>1;if(o[1].v&1){switch(v&7){case 1:v=(v>>3)*500;break;case 2:v=(v>>3)/20;break;case 4:v=(v>>3)/2e3;break;case 6:v=(v>>3)/16;break;case 7:v=(v>>3)/64;break;default:throw"unknown NUMBER_18 encoding "+(v&7)}}o[1].v=v;return o}function parse_NUMBER_17(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);var v2=blob.read_shift(4);var e=blob.read_shift(2);if(e==65535){o[1].v=0;return o}var s=e&32768;e=(e&32767)-16446;o[1].v=(e>0?v2<>>-e)+(e>-32?v1<>>-(e+32));return o}function parse_FORMULA_19(blob,length){var o=parse_NUMBER_17(blob,14);blob.l+=length-14;return o}function parse_NUMBER_25(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);o[1].v=v1>>6;return o}function parse_NUMBER_27(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(8,"f");o[1].v=v1;return o}function parse_FORMULA_28(blob,length){var o=parse_NUMBER_27(blob,14);blob.l+=length-10;return o}var WK1Enum={0:{n:"BOF",f:parseuint16},1:{n:"EOF",f:parsenoop},2:{n:"CALCMODE",f:parsenoop},3:{n:"CALCORDER",f:parsenoop},4:{n:"SPLIT",f:parsenoop},5:{n:"SYNC",f:parsenoop},6:{n:"RANGE",f:parse_RANGE},7:{n:"WINDOW1",f:parsenoop},8:{n:"COLW1",f:parsenoop},9:{n:"WINTWO",f:parsenoop},10:{n:"COLW2",f:parsenoop},11:{n:"NAME",f:parsenoop},12:{n:"BLANK",f:parsenoop},13:{n:"INTEGER",f:parse_INTEGER},14:{n:"NUMBER",f:parse_NUMBER},15:{n:"LABEL",f:parse_LABEL},16:{n:"FORMULA",f:parse_FORMULA},24:{n:"TABLE",f:parsenoop},25:{n:"ORANGE",f:parsenoop},26:{n:"PRANGE",f:parsenoop},27:{n:"SRANGE",f:parsenoop},28:{n:"FRANGE",f:parsenoop},29:{n:"KRANGE1",f:parsenoop},32:{n:"HRANGE",f:parsenoop},35:{n:"KRANGE2",f:parsenoop},36:{n:"PROTEC",f:parsenoop},37:{n:"FOOTER",f:parsenoop},38:{n:"HEADER",f:parsenoop},39:{n:"SETUP",f:parsenoop},40:{n:"MARGINS",f:parsenoop},41:{n:"LABELFMT",f:parsenoop},42:{n:"TITLES",f:parsenoop},43:{n:"SHEETJS",f:parsenoop},45:{n:"GRAPH",f:parsenoop},46:{n:"NGRAPH",f:parsenoop},47:{n:"CALCCOUNT",f:parsenoop},48:{n:"UNFORMATTED",f:parsenoop},49:{n:"CURSORW12",f:parsenoop},50:{n:"WINDOW",f:parsenoop},51:{n:"STRING",f:parse_LABEL},55:{n:"PASSWORD",f:parsenoop},56:{n:"LOCKED",f:parsenoop},60:{n:"QUERY",f:parsenoop},61:{n:"QUERYNAME",f:parsenoop},62:{n:"PRINT",f:parsenoop},63:{n:"PRINTNAME",f:parsenoop},64:{n:"GRAPH2",f:parsenoop},65:{
-n:"GRAPHNAME",f:parsenoop},66:{n:"ZOOM",f:parsenoop},67:{n:"SYMSPLIT",f:parsenoop},68:{n:"NSROWS",f:parsenoop},69:{n:"NSCOLS",f:parsenoop},70:{n:"RULER",f:parsenoop},71:{n:"NNAME",f:parsenoop},72:{n:"ACOMM",f:parsenoop},73:{n:"AMACRO",f:parsenoop},74:{n:"PARSE",f:parsenoop},255:{n:"",f:parsenoop}};var WK3Enum={0:{n:"BOF",f:parsenoop},1:{n:"EOF",f:parsenoop},3:{n:"??",f:parsenoop},4:{n:"??",f:parsenoop},5:{n:"??",f:parsenoop},6:{n:"??",f:parsenoop},7:{n:"??",f:parsenoop},9:{n:"??",f:parsenoop},10:{n:"??",f:parsenoop},11:{n:"??",f:parsenoop},12:{n:"??",f:parsenoop},14:{n:"??",f:parsenoop},15:{n:"??",f:parsenoop},16:{n:"??",f:parsenoop},17:{n:"??",f:parsenoop},18:{n:"??",f:parsenoop},19:{n:"??",f:parsenoop},21:{n:"??",f:parsenoop},22:{n:"LABEL16",f:parse_LABEL_16},23:{n:"NUMBER17",f:parse_NUMBER_17},24:{n:"NUMBER18",f:parse_NUMBER_18},25:{n:"FORMULA19",f:parse_FORMULA_19},26:{n:"??",f:parsenoop},27:{n:"??",f:parsenoop},28:{n:"??",f:parsenoop},29:{n:"??",f:parsenoop},30:{n:"??",f:parsenoop},31:{n:"??",f:parsenoop},33:{n:"??",f:parsenoop},37:{n:"NUMBER25",f:parse_NUMBER_25},39:{n:"NUMBER27",f:parse_NUMBER_27},40:{n:"FORMULA28",f:parse_FORMULA_28},255:{n:"",f:parsenoop}};return{to_workbook:lotus_to_workbook}}();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,align="";var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0].replace(/\w*:/g,"")){case"":case"":font.shadow=1;break;case"":break;case"":case"":font.outline=1;break;case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":case"":font.i=1;break;case"":break;case"');if(font.b){intro.push("");outro.push("")}if(font.i){intro.push("");outro.push("")}if(font.strike){intro.push("");outro.push("")}if(align=="superscript")align="sup";else if(align=="subscript")align="sub";if(align!=""){intro.push("<"+align+">");outro.push(""+align+">")}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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=escapehtml(z.t)}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.replace(sirphregex,"").match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}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].trim(),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+=""+escapexml(s.t)+""}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_n,RT){switch(RT){case 159:s.Count=val[0];s.Unique=val[1];break;case 19:s.push(val);break;case 160:return true;case 35:pass=true;break;case 36:pass=false;break;default:if(R_n.indexOf("Begin")>0){}else if(R_n.indexOf("End")>0){}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;i0){var rc={};rc.t=blob.read_shift(4);rc.v=blob.read_shift(0,"lpp4");comps.push(rc)}o.name=blob.read_shift(0,"lpp4");o.comps=comps;return o}function parse_DataSpaceMap(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(parse_DataSpaceMapEntry(blob));return o}function parse_DataSpaceDefinition(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(blob.read_shift(0,"lpp4"));return o}function parse_TransformInfoHeader(blob,length){var o={};var len=blob.read_shift(4);var tgt=blob.l+len-4;blob.l+=4;o.id=blob.read_shift(0,"lpp4");o.name=blob.read_shift(0,"lpp4");o.R=parse_CRYPTOVersion(blob,4);o.U=parse_CRYPTOVersion(blob,4);o.W=parse_CRYPTOVersion(blob,4);return o}function parse_Primary(blob,length){var hdr=parse_TransformInfoHeader(blob);hdr.ename=blob.read_shift(0,"8lpp4");hdr.blksz=blob.read_shift(4);hdr.cmode=blob.read_shift(4);if(blob.read_shift(4)!=4)throw new Error("Bad !Primary record");return hdr}function parse_EncryptionHeader(blob,length){var tgt=blob.l+length;var o={};o.Flags=blob.read_shift(4)&63;blob.l+=4;o.AlgID=blob.read_shift(4);var valid=false;switch(o.AlgID){case 26126:case 26127:case 26128:valid=o.Flags==36;break;case 26625:valid=o.Flags==4;break;case 0:valid=o.Flags==16||o.Flags==4||o.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+o.AlgID}if(!valid)throw new Error("Encryption Flags/AlgID mismatch");o.AlgIDHash=blob.read_shift(4);o.KeySize=blob.read_shift(4);o.ProviderType=blob.read_shift(4);blob.l+=8;o.CSPName=blob.read_shift(tgt-blob.l>>1,"utf16le").slice(0,-1);blob.l=tgt;return o}function parse_EncryptionVerifier(blob,length){var o={};blob.l+=4;o.Salt=blob.slice(blob.l,blob.l+16);blob.l+=16;o.Verifier=blob.slice(blob.l,blob.l+16);blob.l+=16;var sz=blob.read_shift(4);o.VerifierHash=blob.slice(blob.l,blob.l+sz);blob.l+=sz;return o}function parse_EncryptionInfo(blob,length){var vers=parse_CRYPTOVersion(blob);switch(vers.Minor){case 2:return parse_EncInfoStd(blob,vers);case 3:return parse_EncInfoExt(blob,vers);case 4:return parse_EncInfoAgl(blob,vers)}throw new Error("ECMA-376 Encryped file unrecognized Version: "+vers.Minor)}function parse_EncInfoStd(blob,vers){var flags=blob.read_shift(4);if((flags&63)!=36)throw new Error("EncryptionInfo mismatch");var sz=blob.read_shift(4);var tgt=blob.l+sz;var hdr=parse_EncryptionHeader(blob,sz);var verifier=parse_EncryptionVerifier(blob,blob.length-blob.l);return{t:"Std",h:hdr,v:verifier}}function parse_EncInfoExt(blob,vers){throw new Error("File is password-protected: ECMA-376 Extensible")}function parse_EncInfoAgl(blob,vers){throw new Error("File is password-protected: ECMA-376 Agile")}function parse_RC4CryptoHeader(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_CRYPTOVersion(blob,4);length-=4;if(vers.Minor!=2)throw"unrecognized minor version code: "+vers.Minor;if(vers.Major>4||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_CRYPTOVersion(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(2,2),16),parseInt(o.substr(4,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=6,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return Math.floor((width+Math.round(128/MDW)/256)*MDW)}function px2char(px){return Math.floor((px-5)/MDW*100+.5)/100}function char2width(chr){return Math.round((chr*MDW+5)/MDW*256)/256}function px2char_(px){return((px-5)/MDW*100+.5)/100}function char2width_(chr){return(chr*MDW+5)/MDW*256/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw_colw(collw){var delta=Infinity,_MDW=MIN_MDW;for(MDW=MIN_MDW;MDW.5)guess--;if(Math.abs(guess)":case"":break;case"":border={};if(y.diagonalUp){border.diagonalUp=y.diagonalUp}if(y.diagonalDown){border.diagonalDown=y.diagonalDown}styles.Borders.push(border);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in borders")}})}function parse_fills(t,styles,themes,opts){styles.Fills=[];var fill={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":if(y.patternType)fill.patternType=y.patternType;break;case"":case"":break;case"":case"":break;case"":case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_fonts(t,styles,themes,opts){styles.Fonts=[];var font={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":case"":styles.Fonts.push(font);font={};break;case"":case"":break;case"":font.bold=true;break;case"":font.italic=true;break;case"":font.underline=true;break;case"":font.strike=true;break;case"":font.outline=true;break;case"":font.shadow=true;break;case"":case"":break;case"":case"":break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fonts")}})}function parse_numFmts(t,styles,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;case"":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],[50,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!=null)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,styles,opts){styles.CellXf=[];var xf;t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":var alignment={};if(y.vertical)alignment.vertical=y.vertical;if(y.horizontal)alignment.horizontal=y.horizontal;if(y.textRotation!=null)alignment.textRotation=y.textRotation;if(y.indent)alignment.indent=y.indent;if(y.wrapText)alignment.wrapText=y.wrapText;xf.alignment=alignment;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>/;var fontsRegex=/]*)>.*<\/fonts>/;var bordersRegex=/]*)>.*<\/borders>/;return function parse_sty_xml(data,themes,opts){var styles={};if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,styles,opts);if(t=data.match(fontsRegex))parse_fonts(t,styles,themes,opts);if(t=data.match(fillsRegex))parse_fills(t,styles,themes,opts);if(t=data.match(bordersRegex))parse_borders(t,styles,themes,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,styles,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(wb.SSF&&(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,themes,opts){var styles={};styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];styles.Fonts=[];var state=[];var pass=false;recordhopper(data,function hopper_sty(val,R_n,RT){switch(RT){case 44:styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case 43:styles.Fonts.push(val);break;case 1025:break;case 45:break;case 46:break;case 47:if(state[state.length-1]=="BrtBeginCellXFs"){styles.CellXf.push(val)}break;case 48:case 507:case 572:case 475:break;case 1171:case 2102:case 1130:case 512:case 2095:break;case 35:pass=true;break;case 36:pass=false;break;case 37:state.push(R_n);break;case 38:state.pop();break;default:if((R_n||"").indexOf("Begin")>0)state.push(R_n);else if((R_n||"").indexOf("End")>0)state.pop();else 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,themes,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&&opts.WTF)throw new Error("Unrecognized "+y[0]+" in clrScheme")}})}function parse_fontScheme(t,themes,opts){}function parse_fmtScheme(t,themes,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,themes,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,themes,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return parse_theme_xml(write_theme());var t;var themes={};if(!(t=data.match(themeltregex)))throw new Error("themeElements not found in theme");parse_themeElements(t[0],themes,opts);return themes}function write_theme(Themes,opts){if(opts&&opts.themeXLSX)return opts.themeXLSX;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,opts){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 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}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"0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}});return out}function write_cc_bin(data,opts){}RELS.IMG="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";RELS.DRAW="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";function parse_drawing(data,rels){if(!data)return"??";var id=(data.match(/]*r:id="([^"]*)"/)||["",""])[1];return rels["!id"][id].Target}var _shapeid=1024;function write_comments_vml(rId,comments){var csize=[21600,21600];var bbox=["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(",");var o=[writextag("xml",null,{"xmlns:v":XLMLNS.v,"xmlns:o":XLMLNS.o,"xmlns:x":XLMLNS.x,"xmlns:mv":XLMLNS.mv}).replace(/\/>/,">"),writextag("o:shapelayout",writextag("o:idmap",null,{"v:ext":"edit",data:rId}),{"v:ext":"edit"}),writextag("v:shapetype",[writextag("v:stroke",null,{joinstyle:"miter"}),writextag("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:csize.join(","),path:bbox})];while(_shapeid",writextag("v:fill",writextag("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}),{color2:"#BEFF82",angle:"-180",type:"gradient"}),writextag("v:shadow",null,{on:"t",obscured:"t"}),writextag("v:path",null,{"o:connecttype":"none"}),'','',"","",writetag("x:Anchor",[c.c,0,c.r,0,c.c+3,100,c.r+5,100].join(",")),writetag("x:AutoFill","False"),writetag("x:Row",String(c.r)),writetag("x:Column",String(c.c)),"",""])});o.push("");return o.join("")}RELS.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function parse_comments(zip,dirComments,sheets,sheetRels,opts){for(var i=0;i!=dirComments.length;++i){var canonicalpath=dirComments[i];var comments=parse_cmnt(getzipdata(zip,canonicalpath.replace(/^\//,""),true),canonicalpath,opts);if(!comments||!comments.length)continue;var sheetNames=keys(sheets);for(var j=0;j!=sheetNames.length;++j){var sheetName=sheetNames[j];var rels=sheetRels[sheetName];if(rels){var rel=rels[canonicalpath];if(rel)insertCommentsIntoSheet(sheetName,sheets[sheetName],comments)}}}}function insertCommentsIntoSheet(sheetName,sheet,comments){var dense=Array.isArray(sheet);var cell,r;comments.forEach(function(comment){if(dense){r=decode_cell(comment.ref);if(!sheet[r.r])sheet[r.r]=[];cell=sheet[r.r][r.c]}else cell=sheet[comment.ref];if(!cell){cell={};if(dense)sheet[r.r][r.c]=cell;else sheet[comment.ref]=cell;var range=safe_decode_range(sheet["!ref"]||"BDWGO1000001:A1");var thisCell=decode_cell(comment.ref);if(range.s.r>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]:"sheetjsghost",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>/);var rt=!!textMatch&&!!textMatch[1]&&parse_si(textMatch[1])||{r:"",t:"",h:""};comment.r=rt.r;if(rt.r=="")rt.t=rt.h="";comment.t=rt.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}var CMNT_XML_ROOT=writextag("comments",null,{xmlns:XMLNS.main[0]});function write_comments_xml(data,opts){var o=[XML_HEADER,CMNT_XML_ROOT];var iauthor=[];o.push("");data.map(function(x){return x[1]}).forEach(function(comment){comment.map(function(x){return escapexml(x.a)}).forEach(function(a){if(iauthor.indexOf(a)>-1)return;iauthor.push(a);o.push(""+a+"")})});o.push("");o.push("");data.forEach(function(d){d[1].forEach(function(c){o.push('');o.push(writetag("t",c.t==null?"":c.t));o.push("")})});o.push("");if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}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}function write_BrtBeginComment(data,o){if(o==null)o=new_buf(36);o.write_shift(4,data[1].iauthor);write_UncheckedRfX(data[0],o);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);return o}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_n,RT){switch(RT){case 632:authors.push(val);break;case 635:c=val;break;case 637:c.t=val.t;c.h=val.h;c.r=val.r;break;case 636:c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;if(!c.t)c.t="";delete c.rfx;out.push(c);break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}});return out}function write_comments_bin(data,opts){var ba=buf_array();var iauthor=[];write_record(ba,"BrtBeginComments");{write_record(ba,"BrtBeginCommentAuthors");data.forEach(function(comment){comment[1].forEach(function(c){if(iauthor.indexOf(c.a)>-1)return;iauthor.push(c.a.substr(0,54));write_record(ba,"BrtCommentAuthor",write_XLWideString(c.a.substr(0,54)))})});write_record(ba,"BrtEndCommentAuthors")}{write_record(ba,"BrtBeginCommentList");data.forEach(function(comment){comment[1].forEach(function(c){c.iauthor=iauthor.indexOf(c.a);var range={s:decode_cell(comment[0]),e:decode_cell(comment[0])};write_record(ba,"BrtBeginComment",write_BrtBeginComment([range,c]));if(c.t&&c.t.length>0)write_record(ba,"BrtCommentText",write_RichStr(c));write_record(ba,"BrtEndComment");delete c.iauthor})});write_record(ba,"BrtEndCommentList")}write_record(ba,"BrtEndComments");return ba.end()}RELS.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";RELS.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function parse_ds_bin(){return{"!type":"dialog"}}function parse_ds_xml(){return{"!type":"dialog"}}function parse_ms_bin(){return{"!type":"macro"}}function parse_ms_xml(){return{"!type":"macro"}}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase={r:0,c:0};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;var cRel=false,rRel=false;if($4.length>0||$5.length==0)cRel=true;if(cRel)C+=rcbase.c;else--C;if($2.length>0||$3.length==0)rRel=true;if(rRel)R+=rcbase.r;else--R;return $1+(cRel?"":"$")+encode_col(C)+(rRel?"":"$")+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();var crefregex=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;var a1_to_rc=function(){return function a1_to_rc(fstr,base){return fstr.replace(crefregex,function($0,$1,$2,$3,$4,$5,off,str){var c=decode_col($3)-base.c;var r=decode_row($5)-base.r;return $1+"R"+(r==0?"":"["+r+"]")+"C"+(c==0?"":"["+c+"]")})}}();function shift_formula_str(f,delta){return f.replace(crefregex,function($0,$1,$2,$3,$4,$5,off,str){return $1+($2=="$"?$2+$3:encode_col(decode_col($3)+delta.c))+($4=="$"?$4+$5:encode_row(decode_row($5)+delta.r))})}function shift_formula_xlsx(f,range,cell){var r=decode_range(range),s=r.s,c=decode_cell(cell);var delta={r:c.r-s.r,c:c.c-s.c};return shift_formula_str(f,delta)}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(length==1?1:2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length,opts){var w=2;if(opts){if(opts.biff>=2&&opts.biff<=5)return parse_RgceArea_BIFF2(blob,length,opts);else if(opts.biff==12)w=4}var r=blob.read_shift(w),R=blob.read_shift(w);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_RgceArea_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2),R=parse_ColRelU(blob,2);var c=blob.read_shift(1);var C=blob.read_shift(1);return{s:{r:r[0],c:c,cRel:r[1],rRel:r[2]},e:{r:R[0],c:C,cRel:R[1],rRel:R[2]}}}function parse_RgceAreaRel(blob,length,opts){var r=blob.read_shift(length==12?4:2),R=blob.read_shift(length==12?4: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,opts){if(opts&&opts.biff>=2&&opts.biff<=5)return parse_RgceLoc_BIFF2(blob,length,opts);var r=blob.read_shift(opts&&opts.biff==12?4:2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLoc_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2);var c=blob.read_shift(1);return{r:r[0],c:c,cRel:r[1],rRel:r[2]}}function parse_RgceLocRel(blob,length,opts){var biff=opts&&opts.biff?opts.biff:8;if(biff>=2&&biff<=5)return parse_RgceLocRel_BIFF2(blob,length,opts);var r=blob.read_shift(biff>=12?4:2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(rRel==1)while(r>524287)r-=1048576;if(cRel==1)while(cl>8191)cl=cl-16384;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_RgceLocRel_BIFF2(blob,length){var rl=blob.read_shift(2);var c=blob.read_shift(1);var rRel=(rl&32768)>>15,cRel=(rl&16384)>>14;rl&=16383;if(rRel==1&&rl>=8192)rl=rl-16384;if(cRel==1&&c>=128)c=c-256;return{r:rl,c:c,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,opts.biff>=2&&opts.biff<=5?6:8,opts);return[type,area]}function parse_PtgArea3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2,"i");var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}var area=parse_RgceArea(blob,w,opts);return[type,ixti,area]}function parse_PtgAreaErr(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts&&opts.biff>8?12:8;return[type]}function parse_PtgAreaErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}blob.l+=w;return[type,ixti]}function parse_PtgAreaN(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,opts&&opts.biff>8?12:8,opts);return[type,area]}function parse_PtgArray(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts.biff==2?6:opts.biff==12?14: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,opts){blob.l+=2;var offset=blob.read_shift(opts&&opts.biff==2?1:2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(opts&&opts.biff==2?1:2));return o}function parse_PtgAttrGoto(blob,length,opts){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIf(blob,length,opts){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIfError(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,opts){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=opts&&opts.biff==2?3: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,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,0,opts);return[type,loc]}function parse_PtgRefN(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,0,opts);return[type,loc]}function parse_PtgRef3d(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,0,opts);return[type,ixti,loc]}function parse_PtgFunc(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(opts&&opts.biff<=3?1:2);return[FtabArgc[iftab],Ftab[iftab],type]}function parse_PtgFuncVar(blob,length,opts){blob.l++;var cparams=blob.read_shift(1),tab=opts&&opts.biff<=3?[0,blob.read_shift(1)]: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]}function parse_PtgAttrSum(blob,length,opts){blob.l+=opts&&opts.biff==2?3:4;return}var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length,opts){blob.l++;if(opts&&opts.biff==12)return[blob.read_shift(4,"i"),0];var row=blob.read_shift(2);var col=blob.read_shift(opts&&opts.biff==2?1: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,opts){blob.l++;return parse_ShortXLUnicodeString(blob,length-1,opts)}function parse_SerAr(blob,biff){var val=[blob.read_shift(1)];if(biff==12)switch(val[0]){case 2:val[0]=4;break;case 4:val[0]=16;break;case 0:val[0]=1;break;case 1:val[0]=2;break}switch(val[0]){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_XLUnicodeString2(blob,0,{biff:biff>0&&biff<8?2:biff});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,length,opts){var rows=0,cols=0;if(opts.biff==12){rows=blob.read_shift(4);cols=blob.read_shift(4)}else{cols=1+blob.read_shift(1);rows=1+blob.read_shift(2)}if(opts.biff>=2&&opts.biff<8){--rows;if(--cols==0)cols=256}for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob,opts.biff);return o}function parse_PtgName(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var w=!opts||opts.biff>=8?4:2;var nameindex=blob.read_shift(w);switch(opts.biff){case 2:blob.l+=5;break;case 3:case 4:blob.l+=8;break;case 5:blob.l+=12;break}return[type,0,nameindex]}function parse_PtgNameX(blob,length,opts){if(opts.biff==5)return parse_PtgNameX_BIFF5(blob,length,opts);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_PtgNameX_BIFF5(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2,"i");blob.l+=8;var nameindex=blob.read_shift(2);blob.l+=12;return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=opts&&opts.biff==2?3:4;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgMemFunc(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgRefErr(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=4;if(opts.biff==12)blob.l+=2;return[type]}function parse_PtgRefErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=4;if(opts)switch(opts.biff){case 5:throw new Error("PtgRefErr3d -- 5");case 12:w=6;break}blob.l+=w;return[type,ixti]}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_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},128:{n:"PtgAttrIfError",f:parse_PtgAttrIfError},255:{}};function parse_Formula(blob,length,opts){var end=blob.l+length;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=parse_XLSCellParsedFormula(blob,end-blob.l,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,0,opts);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;case"PtgExp":if(opts&&opts.biff==12){rgce[i][1][1]=blob.read_shift(4);o.push(rgce[i][1])}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,opts);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,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,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,opts);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,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);
-return[rgce,rgcb]}function parse_Rgce(blob,length,opts){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){parsenoop(blob,length)}else{ptgs.push([R.n,R.f(blob,length,opts)])}}return ptgs}function stringify_array(f){var o=[];for(var i=0;i=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function stringify_formula(formula,range,cell,supbooks,opts){var _range={s:{c:0,r:0},e:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti=0,nameidx=0,r,sname="";if(!formula[0]||!formula[0][0])return"";var last_sp=-1,sp="";for(var ff=0,fflen=formula[0].length;ff=0){switch(formula[0][last_sp][1][0]){case 0:sp=fill(" ",formula[0][last_sp][1][1]);break;case 1:sp=fill("\r",formula[0][last_sp][1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}e2=e2+sp;last_sp=-1}stack.push(e2+PtgBinOp[f[0]]+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":e1=stack.pop();e2=stack.pop();stack.push(e2+":"+e1);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(f[1][1],_range,opts);stack.push(encode_cell_xls(c));break;case"PtgRefN":type=f[1][0];c=cell?shift_cell_xls(f[1][1],cell,opts):f[1][1];stack.push(encode_cell_xls(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range,opts);sname=supbooks.SheetNames[ixti];stack.push(sname+"!"+encode_cell_xls(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=argc==0?[]: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"PtgAreaN":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=(supbooks.names||[])[nameidx-1]||(supbooks[0]||[])[nameidx];var name=lbl?lbl.Name:"**MISSING**"+String(nameidx);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(opts.biff<=5){if(bookidx<0)bookidx=-bookidx;if(supbooks[bookidx])externbook=supbooks[bookidx][nameidx]}else{var pnxname=supbooks.SheetNames[bookidx];var o="";if(((supbooks[bookidx]||[])[0]||[])[0]==14849){}else if(((supbooks[bookidx]||[])[0]||[])[0]==1025){if(supbooks[bookidx][nameidx]&&supbooks[bookidx][nameidx].itab>0){o=supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1]+"!"}}else o=supbooks.SheetNames[nameidx-1]+"!";if(supbooks[bookidx]&&supbooks[bookidx][nameidx])o+=supbooks[bookidx][nameidx].Name;else if(supbooks[0]&&supbooks[0][nameidx])o+=supbooks[0][nameidx].Name;else o+="??NAMEX??";stack.push(o);break}if(!externbook)externbook={Name:"??NAMEX??"};stack.push(externbook.Name);break;case"PtgParen":var lp="(",rp=")";if(last_sp>=0){sp="";switch(formula[0][last_sp][1][0]){case 2:lp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 3:lp=fill("\r",formula[0][last_sp][1][1])+lp;break;case 4:rp=fill(" ",formula[0][last_sp][1][1])+rp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+rp;break;default:if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgRefErr3d":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));fnd=true;break}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+stringify_array(f[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":last_sp=ff;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":stack.push("#REF!");break;case"PtgAreaErr3d":stack.push("#REF!");break;case"PtgMemFunc":break;default:throw new Error("Unrecognized Formula Token: "+String(f))}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];var _left=true;switch(f[1][0]){case 4:_left=false;case 0:sp=fill(" ",f[1][1]);break;case 5:_left=false;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+f[1][0])}stack.push((_left?sp:"")+stack.pop()+(_left?"":sp));last_sp=-1}}if(stack.length>1&&opts.WTF)throw new Error("bad formula stack");return stack[0]}function parse_XLSBParsedFormula(data,length,opts){var end=data.l+length;var cce=data.read_shift(4);var rgce=parse_Rgce(data,cce,opts);var cb=data.read_shift(4);var rgcb=cb>0?parse_RgbExtra(data,cb,rgce,opts):null;return[rgce,rgcb]}var parse_XLSBArrayParsedFormula=parse_XLSBParsedFormula;var parse_XLSBCellParsedFormula=parse_XLSBParsedFormula;var parse_XLSBNameParsedFormula=parse_XLSBParsedFormula;var parse_XLSBSharedParsedFormula=parse_XLSBParsedFormula;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",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,19:0,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,70:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,90:1,97:2,98:1,99:1,101:3,102:3,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,144: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,197:1,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,247:4,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,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,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"};function ods_to_csf_formula(f){if(f.substr(0,3)=="of:")f=f.substr(3);if(f.charCodeAt(0)==61){f=f.substr(1);if(f.charCodeAt(0)==61)f=f.substr(1)}f=f.replace(/COM\.MICROSOFT\./g,"");f=f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function($$,$1){return $1.replace(/\./g,"")});f=f.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return f.replace(/[;~]/g,",").replace(/\|/g,";")}function csf_to_ods_formula(f){var o="of:="+f.replace(crefregex,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return o.replace(/;/g,"|").replace(/,/g,";")}function ods_to_csf_range_3D(r){var a=r.split(":");var s=a[0].split(".")[0];return[s,a[0].split(".")[1]+":"+a[1].split(".")[1]]}var strs={};var _ssfopts={};RELS.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];function get_sst_id(sst,str){for(var i=0,len=sst.length;i-1){p.width=char2width(wch);p.customWidth=1}else if(col.width!=null)p.width=col.width;if(col.hidden)p.hidden=true;return p}function default_margins(margins,mode){if(!margins)return;var defs=[.7,.7,.75,.75,.3,.3];if(mode=="xlml")defs=[1,1,1,1,.5,.5];if(margins.left==null)margins.left=defs[0];if(margins.right==null)margins.right=defs[1];if(margins.top==null)margins.top=defs[2];if(margins.bottom==null)margins.bottom=defs[3];if(margins.header==null)margins.header=defs[4];if(margins.footer==null)margins.footer=defs[5]}function get_cell_style(styles,cell,opts){var z=opts.revssf[cell.z!=null?cell.z:"General"];for(var i=0,len=styles.length;i!=len;++i)if(styles[i].numFmtId===z)return i;styles[len]={numFmtId:z,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return len}function safe_format(p,fmtid,fillid,opts,themes,styles){if(p.t==="z")return;if(p.t==="d"&&typeof p.v==="string")p.v=parseDate(p.v);try{if(opts.cellNF)p.z=SSF._table[fmtid]}catch(e){if(opts.WTF)throw e}if(!opts||opts.cellText!==false)try{if(p.t==="e")p.w=p.w||BErr[p.v];else if(fmtid===0){if(p.t==="n"){if((p.v|0)===p.v)p.w=SSF._general_int(p.v,_ssfopts);else p.w=SSF._general_num(p.v,_ssfopts)}else if(p.t==="d"){var dd=datenum(p.v);if((dd|0)===dd)p.w=SSF._general_int(dd,_ssfopts);else p.w=SSF._general_num(dd,_ssfopts)}else if(p.v===undefined)return"";else p.w=SSF._general(p.v,_ssfopts)}else if(p.t==="d")p.w=SSF.format(fmtid,datenum(p.v),_ssfopts);else p.w=SSF.format(fmtid,p.v,_ssfopts)}catch(e){if(opts.WTF)throw e}if(fillid)try{p.s=styles.Fills[fillid];if(p.s.fgColor&&p.s.fgColor.theme){p.s.fgColor.rgb=rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb,p.s.fgColor.tint||0);if(opts.WTF)p.s.fgColor.raw_rgb=themes.themeElements.clrScheme[p.s.fgColor.theme].rgb}if(p.s.bgColor&&p.s.bgColor.theme){p.s.bgColor.rgb=rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb,p.s.bgColor.tint||0);if(opts.WTF)p.s.bgColor.raw_rgb=themes.themeElements.clrScheme[p.s.bgColor.theme].rgb}}catch(e){if(opts.WTF)throw e}}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=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w:)?hyperlink [^>]*>/gm;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w:)?col[^>]*[\/]?>/g;var afregex=/<(?:\w:)?autoFilter[^>]*([\/]|>([^\u2603]*)<\/(?:\w:)?autoFilter)>/g;var marginregex=/<(?:\w:)?pageMargins[^>]*\/>/g;function parse_ws_xml(data,opts,rels,wb,themes,styles){if(!data)return data;if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var s=opts.dense?[]:{};var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var data1="",data2="";var mtch=data.match(sheetdataregex);if(mtch){data1=data.substr(0,mtch.index);data2=data.substr(mtch.index+mtch[0].length)}else data1=data2=data;var ridx=(data1.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data1.substr(ridx,50).match(dimregex);if(ref)parse_ws_xml_dim(s,ref[1])}var columns=[];if(opts.cellStyles){var cols=data1.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess,themes,styles);var afilter=data2.match(afregex);if(afilter)s["!autofilter"]=parse_ws_xml_autofilter(afilter[0]);var mergecells=[];var merges=data2.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var hlink=data2.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);var margins=data2.match(marginregex);if(margins)s["!margins"]=parse_ws_xml_margins(parsexmltag(margins[0]));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 write_ws_xml_protection(sp){var o={sheet:1};var deffalse=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var deftrue=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];deffalse.forEach(function(n){if(sp[n]!=null&&sp[n])o[n]="1"});deftrue.forEach(function(n){if(sp[n]!=null&&!sp[n])o[n]="0"});if(sp.password)o.password=crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();return writextag("sheetProtection",null,o)}function parse_ws_xml_hlinks(s,data,rels){var dense=Array.isArray(s);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}if(val.tooltip){val.Tooltip=val.tooltip;delete val.tooltip}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(dense){if(!s[R])s[R]=[];if(!s[R][C])s[R][C]={t:"z",v:undefined};s[R][C].l=val}else{if(!s[addr])s[addr]={t:"z",v:undefined};s[addr].l=val}}}}function parse_ws_xml_margins(margin){var o={};["left","right","top","bottom","header","footer"].forEach(function(k){if(margin[k])o[k]=parseFloat(margin[k])});return o}function write_ws_xml_margins(margin){default_margins(margin);return writextag("pageMargins",null,margin)}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);if(coll.hidden)coll.hidden=parsexmlbool(coll.hidden);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;coll.width=+coll.width;if(!seencol&&coll.width){seencol=true;find_mdw_colw(coll.width)}process_col(coll);while(colm<=colM)columns[colm++]=dup(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;o[o.length]=writextag("col",null,col_obj_w(i,col))}o[o.length]="";return o.join("")}function parse_ws_xml_autofilter(data){var o={ref:(data.match(/ref="([^"]*)"/)||[])[1]};return o}function write_ws_xml_autofilter(data){return writextag("autoFilter",null,{ref:data.ref})}function write_ws_xml_sheetviews(ws,opts,idx,wb){return writextag("sheetViews",writextag("sheetView",null,{workbookViewId:"0"}),{})}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined&&cell.f===undefined||cell.t==="z")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=parseDate(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(parseDate(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(cell.v==null){delete cell.t;break}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}if(cell.f){var ff=cell.F&&cell.F.substr(0,ref.length)==ref?{t:"array",ref:cell.F}:null;v=writextag("f",escapexml(cell.f),ff)+(cell.v!=null?v:"")}if(cell.l)ws["!links"].push([ref,cell.l]);if(cell.c)ws["!comments"].push([ref,cell.c]);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 refregex=/ref=["']([^"']*)["']/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess,themes,styles){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr,ftag;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;var arrayf=[];var sharedf=[];var dense=Array.isArray(s);var rows=[],rowobj={},rowrite=false;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=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){if((cref=d.match(match_f))!=null&&cref[1]!==""){p.f=unescapexml(utf8read(cref[1])).replace(/_xlfn\./,"");if(cref[0].indexOf('t="array"')>-1){p.F=(d.match(refregex)||[])[1];if(p.F.indexOf(":")>-1)arrayf.push([safe_decode_range(p.F),p.F])}else if(cref[0].indexOf('t="shared"')>-1){ftag=parsexmltag(cref[0]);sharedf[parseInt(ftag.si,10)]=[ftag,unescapexml(utf8read(cref[1]))]}}else if(cref=d.match(/]*\/>/)){ftag=parsexmltag(cref[0]);if(sharedf[ftag.si])p.f=shift_formula_xlsx(sharedf[ftag.si][1],sharedf[ftag.si][0].ref,tag.r)}var _tag=decode_cell(tag.r);for(i=0;i=arrayf[i][0].s.r&&_tag.r<=arrayf[i][0].e.r)if(_tag.c>=arrayf[i][0].s.c&&_tag.c<=arrayf[i][0].e.c)p.F=arrayf[i][1]}if(tag.t==null&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="z"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)s["!rows"]=rows}}();function write_ws_xml_data(ws,opts,idx,wb,rels){var o=[],r=[],range=safe_decode_range(ws["!ref"]),cell,ref,rr="",cols=[],R=0,C=0,rows=ws["!rows"];var dense=Array.isArray(ws);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=[];rr=encode_row(R);for(C=range.s.c;C<=range.e.c;++C){ref=cols[C]+rr;var _cell=dense?(ws[R]||[])[C]:ws[ref];if(_cell===undefined)continue;if((cell=write_ws_xml_cell(_cell,ref,ws,opts,idx,wb))!=null)r.push(cell)}if(r.length>0){var params={r:rr};if(rows&&rows[R]){var row=rows[R];if(row.hidden)params.hidden=1;var height=-1;if(row.hpx)height=px2pt(row.hpx);else if(row.hpt)height=row.hpt;if(height>-1){params.ht=height;params.customHeight=1}}o[o.length]=writextag("row",r.join(""),params)}}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,rels){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws==null)ws={};var ref=ws["!ref"];if(ref==null)ref="A1";if(!rels)rels={};ws["!comments"]=[];ws["!drawing"]=[];o[o.length]=writextag("sheetPr",null,{codeName:escapexml(wb.SheetNames[idx])});o[o.length]=writextag("dimension",null,{ref:ref});o[o.length]=write_ws_xml_sheetviews(ws,opts,idx,wb);if(opts.sheetFormat)o[o.length]=writextag("sheetFormatPr",null,{defaultRowHeight:opts.sheetFormat.defaultRowHeight||"16",baseColWidth:opts.sheetFormat.baseColWidth||"10"});if(ws["!cols"]!=null&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";ws["!links"]=[];if(ws["!ref"]!=null){rdata=write_ws_xml_data(ws,opts,idx,wb,rels);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!protect"]!=null)o[o.length]=write_ws_xml_protection(ws["!protect"]);if(ws["!autofilter"]!=null)o[o.length]=write_ws_xml_autofilter(ws["!autofilter"]);if(ws["!merges"]!=null&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);var relc=-1,rel,rId=-1;if(ws["!links"].length>0){o[o.length]="";ws["!links"].forEach(function(l){if(!l[1].Target)return;rId=add_rels(rels,-1,escapexml(l[1].Target).replace(/#.*$/,""),RELS.HLINK);rel={ref:l[0],"r:id":"rId"+rId};if((relc=l[1].Target.indexOf("#"))>-1)rel.location=escapexml(l[1].Target.substr(relc+1));if(l[1].Tooltip)rel.tooltip=escapexml(l[1].Tooltip);o[o.length]=writextag("hyperlink",null,rel)});o[o.length]=""}delete ws["!links"];if(ws["!margins"]!=null)o[o.length]=write_ws_xml_margins(ws["!margins"]);var hfidx=o.length;o[o.length]="";if(ws["!drawing"].length>0){rId=add_rels(rels,-1,"../drawings/drawing"+(idx+1)+".xml",RELS.DRAW);ws["!drawing"].rid=rId;o[o.length]=writextag("drawing",null,{"r:id":"rId"+rId})}else delete ws["!drawing"];if(ws["!comments"].length>0){rId=add_rels(rels,-1,"../drawings/vmlDrawing"+(idx+1)+".vml",RELS.VML);o[o.length]=writextag("legacyDrawing",null,{"r:id":"rId"+rId});ws["!legacy"]=rId}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z={};var tgt=data.l+length;z.r=data.read_shift(4);data.l+=4;var miyRw=data.read_shift(2);data.l+=1;var flags=data.read_shift(1);data.l=tgt;if(flags&16)z.hidden=true;if(flags&32)z.hpt=miyRw/20;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);var row=(ws["!rows"]||[])[R]||{};o.write_shift(4,R);o.write_shift(4,0);var miyRw=320;if(row.hpx)miyRw=px2pt(row.hpx)*20;else if(row.hpt)miyRw=row.hpt*20;o.write_shift(2,miyRw);o.write_shift(1,0);var flags=0;if(row.hidden)flags|=16;if(row.hpx||row.hpt)flags|=32;o.write_shift(1,flags);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 write_BrtWsProp(str,o){if(o==null)o=new_buf(80+4*str.length);for(var i=0;i<11;++i)o.write_shift(1,0);o.write_shift(-4,-1);o.write_shift(-4,-1);write_XLSBCodeName(str,o);return o.slice(0,o.l)}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 end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaError(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaNum(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaString(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}var parse_BrtMergeCell=parse_UncheckedRfX;var write_BrtMergeCell=write_UncheckedRfX;function write_BrtBeginMergeCells(cnt,o){if(o==null)o=new_buf(4);o.write_shift(4,cnt);return o}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 write_BrtHLink(l,rId,o){if(o==null)o=new_buf(50+4*l[1].Target.length);write_UncheckedRfX({s:decode_cell(l[0]),e:decode_cell(l[0])},o);write_RelID("rId"+rId,o);var locidx=l[1].Target.indexOf("#");var location=locidx==-1?"":l[1].Target.substr(locidx+1);write_XLWideString(location||"",o);write_XLWideString(l[1].Tooltip||"",o);write_XLWideString("",o);return o.slice(0,o.l)}function parse_BrtArrFmla(data,length,opts){var end=data.l+length;var rfx=parse_RfX(data,16);var fAlwaysCalc=data.read_shift(1);var o=[rfx];o[2]=fAlwaysCalc;if(opts.cellFormula){var formula=parse_XLSBArrayParsedFormula(data,end-data.l,opts);o[1]=formula}else data.l=end;return o}function parse_BrtShrFmla(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var o=[rfx];if(opts.cellFormula){var formula=parse_XLSBSharedParsedFormula(data,end-data.l,opts);o[1]=formula;data.l=end}else data.l=end;return o}function write_BrtColInfo(C,col,o){if(o==null)o=new_buf(18);var p=col_obj_w(C,col);o.write_shift(-4,C);o.write_shift(-4,C);o.write_shift(4,(p.width||10)*256);o.write_shift(4,0);var flags=0;if(col.hidden)flags|=1;if(typeof p.width=="number")flags|=2;o.write_shift(1,flags);o.write_shift(1,0);return o}function parse_BrtMargins(data,length,opts){return{left:parse_Xnum(data,8),right:parse_Xnum(data,8),top:parse_Xnum(data,8),bottom:parse_Xnum(data,8),header:parse_Xnum(data,8),footer:parse_Xnum(data,8)}}function write_BrtMargins(margins,o){if(o==null)o=new_buf(6*8);default_margins(margins);write_Xnum(margins.left,o);write_Xnum(margins.right,o);write_Xnum(margins.top,o);write_Xnum(margins.bottom,o);write_Xnum(margins.header,o);write_Xnum(margins.footer,o);return o}function write_BrtBeginWsView(ws,o){if(o==null)o=new_buf(30);o.write_shift(2,924);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(2,0);o.write_shift(2,100);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(4,0);return o}function write_BrtSheetProtection(sp,o){if(o==null)o=new_buf(16*4+2);o.write_shift(2,sp.password?crypto_CreatePasswordVerifier_Method1(sp.password):0);o.write_shift(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(n){if(n[1])o.write_shift(4,sp[n[0]]!=null&&!sp[n[0]]?1:0);else o.write_shift(4,sp[n[0]]!=null&&sp[n[0]]?0:1)});return o}function parse_ws_bin(data,_opts,rels,wb,themes,styles){if(!data)return data;var opts=_opts||{};if(!rels)rels={"!id":{}};if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var s=opts.dense?[]:{};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,cell;var mergecells=[];opts.biff=12;opts["!row"]=0;var ai=0,af=false;var array_formulae=[];var shared_formulae={};var supbooks=[[]];supbooks.sharedf=shared_formulae;supbooks.arrayf=array_formulae;supbooks.SheetNames=wb.SheetNames||wb.Sheets.map(function(x){return x.name});opts.supbooks=supbooks;for(var i=0;i=aii[0].s.r&&row.r<=aii[0].e.r)if(C>=aii[0].s.c&&C<=aii[0].e.c){p.F=encode_range(aii[0]);af=true}}if(!af&&val.length>3)p.f=val[3]}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.r=val.s){colinfo[val.e--]={width:val.w/256,hidden:!!(val.flags&1)};if(!seencol){seencol=true;find_mdw_colw(val.w/256)}process_col(colinfo[val.e+1])}break;case 161:s["!autofilter"]={ref:encode_range(val)};break;case 476:s["!margins"]=val;break;case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 49:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 64:case 1053:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 151:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 152:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 50:case 2070:case 485:case 1045:case 147:break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);delete opts.supbooks;delete opts["!row"];if(!s["!ref"]&&(refguess.s.r<2e6||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){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(colinfo.length>0)s["!cols"]=colinfo;if(rowinfo.length>0)s["!rows"]=rowinfo;return s}function write_ws_bin_cell(ba,cell,R,C,opts,ws){if(cell.v===undefined)return"";var vv="";var olddate=null;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"d":cell.z=cell.z||SSF._table[14];olddate=cell.v;cell.v=datenum(cell.v);cell.t="n";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};if(cell.l)ws["!links"].push([encode_cell(o),cell.l]);if(cell.c)ws["!comments"].push([encode_cell(o),cell.c]);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));if(olddate){cell.t="d";cell.v=olddate}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");var dense=Array.isArray(ws);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;var cell=dense?(ws[R]||[])[C]:ws[ref];if(!cell)continue;write_ws_bin_cell(ba,cell,R,C,opts,ws)}}write_record(ba,"BrtEndSheetData")}function write_MERGECELLS(ba,ws){if(!ws||!ws["!merges"])return;write_record(ba,"BrtBeginMergeCells",write_BrtBeginMergeCells(ws["!merges"].length));ws["!merges"].forEach(function(m){write_record(ba,"BrtMergeCell",write_BrtMergeCell(m))});write_record(ba,"BrtEndMergeCells")}function write_COLINFOS(ba,ws,idx,opts,wb){if(!ws||!ws["!cols"])return;write_record(ba,"BrtBeginColInfos");ws["!cols"].forEach(function(m,i){if(m)write_record(ba,"BrtColInfo",write_BrtColInfo(i,m))});write_record(ba,"BrtEndColInfos")}function write_HLINKS(ba,ws,rels){ws["!links"].forEach(function(l){if(!l[1].Target)return;var rId=add_rels(rels,-1,l[1].Target.replace(/#.*$/,""),RELS.HLINK);write_record(ba,"BrtHLink",write_BrtHLink(l,rId))});delete ws["!links"]}function write_LEGACYDRAWING(ba,ws,idx,rels){if(ws["!comments"].length>0){var rId=add_rels(rels,-1,"../drawings/vmlDrawing"+(idx+1)+".vml",RELS.VML);write_record(ba,"BrtLegacyDrawing",write_RelID("rId"+rId));ws["!legacy"]=rId}}function write_AUTOFILTER(ba,ws){if(!ws["!autofilter"])return;write_record(ba,"BrtBeginAFilter",write_UncheckedRfX(decode_range(ws["!autofilter"].ref)));write_record(ba,"BrtEndAFilter")}function write_WSVIEWS2(ba,ws){write_record(ba,"BrtBeginWsViews");{write_record(ba,"BrtBeginWsView",write_BrtBeginWsView(ws));write_record(ba,"BrtEndWsView")}write_record(ba,"BrtEndWsViews")}function write_SHEETPROTECT(ba,ws){if(!ws["!protect"])return;write_record(ba,"BrtSheetProtection",write_BrtSheetProtection(ws["!protect"]))}function write_ws_bin(idx,opts,wb,rels){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");ws["!links"]=[];ws["!comments"]=[];write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsProp",write_BrtWsProp(s));write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_WSVIEWS2(ba,ws);write_COLINFOS(ba,ws,idx,opts,wb);write_CELLTABLE(ba,ws,idx,opts,wb);write_SHEETPROTECT(ba,ws);write_AUTOFILTER(ba,ws);write_MERGECELLS(ba,ws);write_HLINKS(ba,ws,rels);if(ws["!margins"])write_record(ba,"BrtMargins",write_BrtMargins(ws["!margins"]));write_LEGACYDRAWING(ba,ws,idx,rels);write_record(ba,"BrtEndSheet");return ba.end()}function parse_numCache(data){var col=[];(data.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(pt){var q=pt.match(/(.*)<\/c:v><\/c:pt>/);if(!q)return;col[+q[1]]=+q[2]});var nf=unescapexml((data.match(/(.*?)<\/c:formatCode>/)||["","General"])[1]);return[col,nf]}function parse_chart(data,name,opts,rels,wb,csheet){var cs=csheet||{"!type":"chart"};if(!data)return csheet;var C=0,R=0,col="A";var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};(data.match(/.*?<\/c:numCache>/gm)||[]).forEach(function(nc){var cache=parse_numCache(nc);refguess.s.r=refguess.s.c=0;refguess.e.c=C;col=encode_col(C);cache[0].forEach(function(n,i){cs[col+encode_row(i)]={t:"n",v:n,z:cache[1]};R=i});if(refguess.e.r0)cs["!ref"]=encode_range(refguess);return cs}RELS.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";var CS_XML_ROOT=writextag("chartsheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function parse_cs_xml(data,opts,rels,wb,themes,styles){if(!data)return data;if(!rels)rels={"!id":{}};var s={"!type":"chart","!chart":null,"!rel":""};var m;if(m=data.match(/drawing r:id="(.*?)"/))s["!rel"]=m[1];if(rels["!id"][s["!rel"]])s["!chart"]=rels["!id"][s["!rel"]];return s}function write_cs_xml(idx,opts,wb,rels){var o=[XML_HEADER,CS_XML_ROOT];o[o.length]=writextag("drawing",null,{"r:id":"rId1"});add_rels(rels,-1,"../drawings/drawing"+(idx+1)+".xml",RELS.DRAW);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_cs_bin(data,opts,rels,wb,themes,styles){if(!data)return data;if(!rels)rels={"!id":{}};var s={"!type":"chart","!chart":null,"!rel":""};var state=[];var pass=false;recordhopper(data,function cs_parse(val,R_n,RT){switch(RT){case 550:s["!rel"]=val;break;case 562:case 652:case 651:case 669:case 679:case 551:case 552:case 476:break;case 35:pass=true;break;case 36:pass=false;break;case 37:state.push(R_n);break;case 38:state.pop();break;default:if((R_n||"").indexOf("Begin")>0)state.push(R_n);else if((R_n||"").indexOf("End")>0)state.pop();else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);if(rels["!id"][s["!rel"]])s["!chart"]=rels["!id"][s["!rel"]];return s}function write_cs_bin(idx,opts,wb,rels){var ba=buf_array();write_record(ba,"BrtBeginSheet");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=[];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")}function check_wb_names(N){var badchars="][*?/\\".split("");N.forEach(function(n,i){badchars.forEach(function(c){if(n.indexOf(c)>-1)throw new Error("Sheet name cannot contain : \\ / ? * [ ]")});if(n.length>31)throw new Error("Sheet names cannot exceed 31 chars");for(var j=0;j":break;case"":case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":{dname.Ref=data.slice(dnstart,idx);wb.Names.push(dname)}break;case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":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 new Error("unrecognized "+y[0]+" in workbook")}return x});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){if(!wb.Workbook)return"false";if(!wb.Workbook.WBProps)return"false";return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;var write_names=wb.Workbook&&(wb.Workbook.Names||[]).length>0;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb),codeName:"ThisWorkbook"});o[o.length]="";var sheets=wb.Workbook&&wb.Workbook.Sheets||[];for(var i=0;i!=wb.SheetNames.length;++i){var sht={name:escapexml(wb.SheetNames[i].substr(0,31))};sht.sheetId=""+(i+1);sht["r:id"]="rId"+(i+1);if(sheets[i])switch(sheets[i].Hidden){case 1:sht.state="hidden";break;case 2:sht.state="veryHidden";break}o[o.length]=writextag("sheet",null,sht)}o[o.length]="";if(write_names){o[o.length]="";if(wb.Workbook&&wb.Workbook.Names)wb.Workbook.Names.forEach(function(n){var d={name:n.Name};if(n.Comment)d.comment=n.Comment;if(n.Sheet!=null)d.localSheetId=""+n.Sheet;if(!n.Ref)return;o[o.length]=writextag("definedName",String(n.Ref),d)});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.Hidden=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.Hidden);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(68);o.write_shift(4,0);o.write_shift(4,0);write_XLSBCodeName("ThisWorkbook",o);return o.slice(0,o.l)}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_BrtName(data,length,opts){var end=data.l+length;var flags=data.read_shift(4);var chKey=data.read_shift(1);var itab=data.read_shift(4);var name=parse_XLNameWideString(data);var formula=parse_XLSBNameParsedFormula(data,0,opts);var comment=parse_XLNullableWideString(data);data.l=end;var out={Name:name,Ptg:formula,Comment:comment};if(itab<268435455)out.Sheet=itab;return out}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;if(!opts)opts={};opts.biff=12;var Names=[];var supbooks=[];supbooks.SheetNames=[];recordhopper(data,function hopper_wb(val,R_n,RT){switch(RT){case 156:supbooks.SheetNames.push(val.name);wb.Sheets.push(val);break;case 39:val.Ref=stringify_formula(val.Ptg,null,null,supbooks,opts);delete val.Ptg;Names.push(val);break;case 1036:break;case 2071:case 534:case 677:case 158:case 157:case 610:case 2050:case 362:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 361:case 596:case 667:case 355:case 358:case 357:case 2076:case 2075:case 2082:case 397:case 154:case 153:case 1117:case 553:case 2091:break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;case 16:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);parse_wb_defaults(wb);wb.Names=Names;return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var viz=wb.Workbook&&wb.Workbook.Sheets&&wb.Workbook.Sheets[idx]&&wb.Workbook.Sheets[idx].Hidden||0;var d={Hidden:viz,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_BrtBookView(idx,o){if(!o)o=new_buf(29);o.write_shift(-4,0);o.write_shift(-4,460);o.write_shift(4,28800);o.write_shift(4,17600);o.write_shift(4,500);o.write_shift(4,idx);o.write_shift(4,idx);var flags=120;o.write_shift(1,flags);return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){if(!wb.Workbook||!wb.Workbook.Sheets)return;var sheets=wb.Workbook.Sheets;var i=0,vistab=-1,hidden=-1;for(;ivistab)return;write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtBookView",write_BrtBookView(vistab));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());write_record(ba,"BrtWbProp",write_BrtWbProp());write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.slice(-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ws_bin(data,opts,rels,wb,themes,styles);return parse_ws_xml(data,opts,rels,wb,themes,styles)}function parse_cs(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_cs_bin(data,opts,rels,wb,themes,styles);return parse_cs_xml(data,opts,rels,wb,themes,styles)}function parse_ms(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ms_bin(data,opts,rels,wb,themes,styles);return parse_ms_xml(data,opts,rels,wb,themes,styles)}function parse_ds(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ds_bin(data,opts,rels,wb,themes,styles);return parse_ds_xml(data,opts,rels,wb,themes,styles)}function parse_sty(data,name,themes,opts){if(name.slice(-4)===".bin")return parse_sty_bin(data,themes,opts);return parse_sty_xml(data,themes,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.slice(-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.slice(-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.slice(-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.slice(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb,rels){return(name.slice(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb,rels)}function write_cs(data,name,opts,wb,rels){return(name.slice(-4)===".bin"?write_cs_bin:write_cs_xml)(data,opts,wb,rels)}function write_sty(data,name,opts){return(name.slice(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.slice(-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}function write_cmnt(data,name,opts){return(name.slice(-4)===".bin"?write_comments_bin:write_comments_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){var oval=val;switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":oval=parsexmlbool(val);break;case"i2":case"int":oval=parseInt(val,10);break;case"r4":case"float":oval=parseFloat(val);break;case"date":case"dateTime.tz":oval=parseDate(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+cp[0])}Custprops[unescapexml(Rn[3])]=oval}function safe_format_xlml(cell,nf,o){if(cell.t==="z")return;if(!o||o.cellText!==false)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)}catch(e){if(o.WTF)throw e}try{var z=XLMLFormatMap[nf]||nf||"General";if(o.cellNF)cell.z=z;if(o.cellDates&&cell.t=="n"&&SSF.is_date(z)){var _d=SSF.parse_date_code(cell.v);if(_d){cell.t="d";cell.v=new Date(Date.UTC(_d.y,_d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u))}}}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,arrayf,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];var i=0;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?unescapexml(ss):cell.r;break;case"DateTime":cell.v=(parseDate(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<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];if(o.cellText!==false)cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss||xml);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!==false){if(cell.Formula){var fstr=unescapexml(cell.Formula);if(fstr.charCodeAt(0)==61)fstr=fstr.substr(1);cell.f=rc_to_a1(fstr,base);delete cell.Formula;if(cell.ArrayRange=="RC")cell.F=rc_to_a1("RC:RC",base);else if(cell.ArrayRange){cell.F=rc_to_a1(cell.ArrayRange,base);arrayf.push([safe_decode_range(cell.F),cell.F])}}else{for(i=0;i=arrayf[i][0].s.r&&base.r<=arrayf[i][0].e.r)if(base.c>=arrayf[i][0].s.c&&base.c<=arrayf[i][0].e.c)cell.F=arrayf[i][1]}}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.t=comment.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");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=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function parse_xlml_xml(d,opts){make_ssf(SSF);var str=debom(xlml_normalize(d));if(opts&&opts.type=="binary"&&typeof cptable!=="undefined")str=cptable.utils.decode(65001,char_codes(str));if(str.substr(0,1e3).indexOf("=0)return HTML_.to_workbook(str,opts);var Rn;var state=[],tmp;if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var sheets={},sheetnames=[],cursheet=opts.dense?[]:{},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,seencol=false;var arrayf=[];var rowinfo=[],rowobj={};var Workbook={Sheets:[]},wsprops={};xlmlregex.lastIndex=0;str=str.replace(//gm,"");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,arrayf,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){if(opts.dense){if(!cursheet[r])cursheet[r]=[];cursheet[r][c]=cell}else cursheet[encode_col(c)+encode_row(r)]=cell}if(cell.HRef){cell.l={Target:cell.HRef,Tooltip:cell.HRefScreenTip};delete cell.HRef;delete cell.HRefScreenTip}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}})}if(!opts.sheetStubs){if(cell.MergeAcross)c=cc+1;else++c}else if(cell.MergeAcross||cell.MergeDown){for(var cma=c;cma<=cc;++cma){for(var cmd=r;cmd<=rr;++cmd){if(cma>c||cmd>r){if(opts.dense){if(!cursheet[cmd])cursheet[cmd]=[];cursheet[cmd][cma]={t:"z"}}else cursheet[encode_col(cma)+encode_row(cmd)]={t:"z"}}}}c=cc+1}else++c}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].slice(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].slice(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].slice(-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;rowobj={};if(row.AutoFitHeight=="0"){rowobj.hpx=parseInt(row.Height,10);rowobj.hpt=px2pt(rowobj.hpx);rowinfo[r]=rowobj}if(row.Hidden=="1"){rowobj.hidden=true;rowinfo[r]=rowobj}}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));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;if(cstys.length>0)cursheet["!cols"]=cstys;if(rowinfo.length>0)cursheet["!rows"]=rowinfo;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=unescapexml(tmp.Name);cursheet=opts.dense?[]:{};mergecells=[];arrayf=[];rowinfo=[];wsprops={name:sheetname,Hidden:0};Workbook.Sheets.push(wsprops)}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[];seencol=false}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=unescapexml(xlml_parsexmltag(Rn[0]).Format||"General");if(XLMLFormatMap[stag.nf])stag.nf=XLMLFormatMap[stag.nf];for(var ssfidx=0;ssfidx!=392;++ssfidx)if(SSF._table[ssfidx]==stag.nf)break;if(ssfidx==392)for(ssfidx=57;ssfidx!=392;++ssfidx)if(SSF._table[ssfidx]==null){SSF.load(stag.nf,ssfidx);break}break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);if(csty.Hidden){csty.hidden=true;delete csty.Hidden}if(csty.Width)csty.wpx=parseInt(csty.Width,10);if(!seencol&&csty.wpx>10){seencol=true;MDW=DEF_MDW;for(var _col=0;_col0)_DefinedName.Sheet=Workbook.Sheets.length-1;Workbook.Names.push(_DefinedName);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].slice(-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":case"ContentStatus":case"Identifier":case"Language":if(Rn[0].slice(-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 new Error("Bad state: "+tmp.join("|"))}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"AutoFilter":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){var AutoFilter=xlml_parsexmltag(Rn[0]);cursheet["!autofilter"]={ref:rc_to_a1(AutoFilter.Range).replace(/\$/g,"")};state.push([Rn[3],true])}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"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 new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:if(state.length==0&&Rn[3]=="document")return parse_fods(str,opts);if(state.length==0&&Rn[3]=="UOF")return parse_fods(str,opts);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"Visible":if(Rn[0].slice(-2)==="/>"){}else if(Rn[1]==="/")switch(str.slice(pidx,Rn.index)){case"SheetHidden":wsprops.Hidden=1;break;case"SheetVeryHidden":wsprops.Hidden=2;break}else pidx=Rn.index+Rn[0].length;break;case"Header":if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");cursheet["!margins"].header=parsexmltag(Rn[0]).Margin;break;case"Footer":if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");cursheet["!margins"].footer=parsexmltag(Rn[0]).Margin;break;case"PageMargins":var pagemargins=parsexmltag(Rn[0]);if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");if(pagemargins.Top)cursheet["!margins"].top=pagemargins.Top;if(pagemargins.Left)cursheet["!margins"].left=pagemargins.Left;if(pagemargins.Right)cursheet["!margins"].right=pagemargins.Right;if(pagemargins.Bottom)cursheet["!margins"].bottom=pagemargins.Bottom;break;case"Unsynced":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"PageSetup":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].slice(-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.Workbook=Workbook;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_props_xlml(wb,opts){var o=[];if(wb.Props)o.push(xlml_write_docprops(wb.Props,opts));if(wb.Custprops)o.push(xlml_write_custprops(wb.Props,wb.Custprops,opts));return o.join("")}function write_wb_xlml(wb,opts){return""}function write_sty_xlml(wb,opts){return""}function write_ws_xlml_wsopts(ws,opts,idx,wb){if(!ws)return"";var o=[];if(ws["!margins"]){o.push("");if(ws["!margins"].header)o.push(writextag("Header",null,{"x:Margin":ws["!margins"].header}));if(ws["!margins"].footer)o.push(writextag("Footer",null,{"x:Margin":ws["!margins"].footer}));o.push(writextag("PageMargins",null,{"x:Bottom":ws["!margins"].bottom||"0.75","x:Left":ws["!margins"].left||"0.7","x:Right":ws["!margins"].right||"0.7","x:Top":ws["!margins"].top||"0.75"}));o.push("")}if(wb&&wb.Workbook&&wb.Workbook.Sheets&&wb.Workbook.Sheets[idx]){if(!!wb.Workbook.Sheets[idx].Hidden)o.push(writextag("Visible",wb.Workbook.Sheets[idx].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(ws["!protect"]){o.push(writetag("ProtectContents","True"));if(ws["!protect"].objects)o.push(writetag("ProtectObjects","True"));if(ws["!protect"].scenarios)o.push(writetag("ProtectScenarios","True"));if(ws["!protect"].selectLockedCells!=null&&!ws["!protect"].selectLockedCells)o.push(writetag("EnableSelection","NoSelection"));else if(ws["!protect"].selectUnlockedCells!=null&&!ws["!protect"].selectUnlockedCells)o.push(writetag("EnableSelection","UnlockedCells"));[["formatColumns","AllowFormatCells"],["formatRows","AllowSizeCols"],["formatCells","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(x){if(ws["!protect"][x[0]])o.push("<"+x[1]+"/>")})}if(o.length==0)return"";return writextag("WorksheetOptions",o.join(""),{xmlns:XLMLNS.x})}function write_ws_xlml_comment(comments){return comments.map(function(c){var t=xlml_unfixstr(c.t||"");var d=writextag("ss:Data",t,{xmlns:"http://www.w3.org/TR/REC-html40"});return writextag("Comment",d,{"ss:Author":c.a})}).join("")}
-function write_ws_xlml_cell(cell,ref,ws,opts,idx,wb,addr){if(!cell||cell.v==undefined&&cell.f==undefined)return" | ";var attr={};if(cell.f)attr["ss:Formula"]="="+escapexml(a1_to_rc(cell.f,addr));if(cell.F&&cell.F.substr(0,ref.length)==ref){var end=decode_cell(cell.F.substr(ref.length+1));attr["ss:ArrayRange"]="RC:R"+(end.r==addr.r?"":"["+(end.r-addr.r)+"]")+"C"+(end.c==addr.c?"":"["+(end.c-addr.c)+"]")}if(cell.l&&cell.l.Target){attr["ss:HRef"]=escapexml(cell.l.Target);if(cell.l.Tooltip)attr["x:HRefScreenTip"]=escapexml(cell.l.Tooltip)}if(ws["!merges"]){var marr=ws["!merges"];for(var mi=0;mi!=marr.length;++mi){if(marr[mi].s.c!=addr.c||marr[mi].s.r!=addr.r)continue;if(marr[mi].e.c>marr[mi].s.c)attr["ss:MergeAcross"]=marr[mi].e.c-marr[mi].s.c;if(marr[mi].e.r>marr[mi].s.r)attr["ss:MergeDown"]=marr[mi].e.r-marr[mi].s.r}}var t="",p="";switch(cell.t){case"z":return"";case"n":t="Number";p=String(cell.v);break;case"b":t="Boolean";p=cell.v?"1":"0";break;case"e":t="Error";p=BErr[cell.v];break;case"d":t="DateTime";p=new Date(cell.v).toISOString();break;case"s":t="String";p=escapexml(cell.v||"");break}var _v=cell.v!=null?p:"";if(opts&&opts.type=="binary"&&typeof cptable!=="undefined"&&cell.t=="s"){_v=cptable.utils.encode(65001,_v);var __v="";for(var __i=0;__i<_v.length;++__i)__v+=String.fromCharCode(_v[__i]);_v=__v}var m=''+_v+"";if((cell.c||[]).length>0)m+=write_ws_xlml_comment(cell.c);return writextag("Cell",m,attr)}function write_ws_xlml_row(R,row){var o='"}function write_ws_xlml_table(ws,opts,idx,wb){if(!ws["!ref"])return"";var range=safe_decode_range(ws["!ref"]);var marr=ws["!merges"]||[],mi=0;var o=[];if(ws["!cols"])ws["!cols"].forEach(function(n,i){process_col(n);var w=!!n.width;var p=col_obj_w(i,n);var k={"ss:Index":i+1};if(w)k["ss:Width"]=width2px(p.width);if(n.hidden)k["ss:Hidden"]="1";o.push(writextag("Column",null,k))});var dense=Array.isArray(ws);for(var R=range.s.r;R<=range.e.r;++R){var row=[write_ws_xlml_row(R,(ws["!rows"]||[])[R])];for(var C=range.s.c;C<=range.e.c;++C){var skip=false;for(mi=0;mi!=marr.length;++mi){if(marr[mi].s.c>C)continue;if(marr[mi].s.r>R)continue;if(marr[mi].e.c");if(row.length>2)o.push(row.join(""))}return o.join("")}function write_ws_xlml(idx,opts,wb){var o=[];var s=wb.SheetNames[idx];var ws=wb.Sheets[s];var t=ws?write_ws_xlml_table(ws,opts,idx,wb):"";if(t.length>0)o.push("");o.push(write_ws_xlml_wsopts(ws,opts,idx,wb));return o.join("")}function write_xlml(wb,opts){var d=[];d.push(write_props_xlml(wb,opts));d.push(write_wb_xlml(wb,opts));d.push(write_sty_xlml(wb,opts));for(var i=0;i400)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;j1)return;if(!cell_valid)return;if(options.cellStyles&&line.XF&&line.XF.data)process_cell_style(cell,line,options);lastcell=cell;last_cell=encode_cell(cell);if(range.s){if(cell.rrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.cellFormula&&line.f){for(var afi=0;aficell.c)continue;if(array_formulae[afi][0].s.r>cell.r)continue;if(array_formulae[afi][0].e.c=options.sheetRows)cell_valid=false;else{if(options.dense){if(!out[cell.r])out[cell.r]=[];out[cell.r][cell.c]=line}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,cellStyles:!!options&&!!options.cellStyles,WTF:!!options&&!!options.wtf};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var colinfo=[],rowinfo=[];var defwidth=0,defheight=0;var seencol=false;var supbooks=[];supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;supbooks.names=[];supbooks.XTI=[];var last_Rn="";var file_depth=0;var BIFF2Fmt=0;var FilterDatabases=[];var last_lbl;opts.codepage=1200;set_cp(1200);while(blob.l0)last_lbl.Sheet=val.itab-1;supbooks.names.push(last_lbl);if(!supbooks[0])supbooks[0]=[];supbooks[supbooks.length-1].push(val);if(val.Name=="\r"&&val.itab>0)if(val.rgce&&val.rgce[0]&&val.rgce[0][0]&&val.rgce[0][0][0]=="PtgArea3d")FilterDatabases[val.itab-1]={ref:encode_range(val.rgce[0][0][1][2])};break;case"ExternSheet":if(supbooks.length==0){supbooks[0]=[];supbooks[0].XTI=[]}supbooks[supbooks.length-1].XTI=supbooks[supbooks.length-1].XTI.concat(val);supbooks.XTI=supbooks.XTI.concat(val);break;case"NameCmt":if(opts.biff<8)break;last_lbl.Comment=val[1];break;case"Protect":out["!protect"]=val;break;case"Password":if(val!==0&&opts.WTF)console.error("Password verifier: "+val);break;case"Prot4Rev":case"Prot4RevPass":break;case"BoundSheet8":{Directory[val.pos]=val;opts.snames.push(val.name)}break;case"EOF":{if(--file_depth)break;if(range.e){if(range.e.r>0&&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(colinfo.length>0)out["!cols"]=colinfo;if(rowinfo.length>0)out["!rows"]=rowinfo;Workbook.Sheets.push(wsprops)}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out=options.dense?[]:{}}break;case"BOF":{if(opts.biff!==8){}else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===1536)opts.biff=8;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;if(file_depth++)break;cell_valid=true;out=options.dense?[]:{};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;if(val.dt==32)out["!type"]="chart";mergecells=[];objects=[];array_formulae=[];opts.arrayf=array_formulae;colinfo=[];rowinfo=[];defwidth=defheight=0;seencol=false;wsprops={Hidden:(Directory[s]||{hs:0}).hs,name:cur_sheet}}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{if(out["!type"]=="chart")if(options.dense?(out[val.r]||[])[val.c]:out[encode_cell({c:val.c,r:val.r})])++val.c;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":{if(val.val=="String"){last_formula=val;break}temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula){var _f=val.formula;if(_f&&_f[0]&&_f[0][0]&&_f[0][0][0]=="PtgExp"){var _fr=_f[0][0][1][0],_fc=_f[0][0][1][1];var _fe=encode_cell({r:_fr,c:_fc});if(shared_formulae[_fe])temp_val.f=""+stringify_formula(val.formula,range,val.cell,supbooks,opts);else temp_val.F=((options.dense?(out[_fr]||[])[_fc]:out[_fe])||{}).F}else 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: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}else throw new Error("String record expects Formula")}break;case"Array":{array_formulae.push(val);var _arraystart=encode_cell(val[0].s);cc=options.dense?(out[val[0].s.r]||[])[val[0].s.c]:out[_arraystart];if(options.cellFormula&&cc){if(!last_formula)break;if(!_arraystart||!cc)break;cc.f=""+stringify_formula(val[1],range,val[0],supbooks,opts);cc.F=encode_range(val[0])}}break;case"ShrFmla":{if(!cell_valid)break;if(!options.cellFormula)break;if(last_cell){if(!last_formula)break;shared_formulae[encode_cell(last_formula.cell)]=val[0];cc=options.dense?(out[last_formula.cell.r]||[])[last_formula.cell.c]:out[encode_cell(last_formula.cell)];(cc||{}).f=""+stringify_formula(val[0],range,lastcell,supbooks,opts)}}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"Blank":if(options.sheetStubs){temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],t:"z"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulBlank":if(options.sheetStubs){for(var _j=val.c;_j<=val.C;++_j){var _ixfe=val.ixfe[_j-val.c];temp_val={ixfe:_ixfe,XF:XFs[_ixfe],t:"z"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:_j,r:val.r},temp_val,options)}}break;case"RString":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){cc=options.dense?(out[rngR]||[])[rngC]:out[encode_cell({c:rngC,r:rngR})];if(cc)cc.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){cc=options.dense?(out[rngR]||[])[rngC]:out[encode_cell({c:rngC,r:rngR})];if(cc)cc.l.Tooltip=val[1]}}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=options.dense?(out[val[0].r]||[])[val[0].c]: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"DefColWidth":defwidth=val;break;case"DefaultRowHeight":defheight=val[1];break;case"ColInfo":{if(!opts.cellStyles)break;while(val.e>=val.s){colinfo[val.e--]={width:val.w/256};if(!seencol){seencol=true;find_mdw_colw(val.w/256)}process_col(colinfo[val.e+1])}}break;case"Row":{var rowobj={};if(val.hidden){rowinfo[val.r]=rowobj;rowobj.hidden=true}if(val.hpt){rowinfo[val.r]=rowobj;rowobj.hpt=val.hpt;rowobj.hpx=pt2px(val.hpt)}}break;case"LeftMargin":case"RightMargin":case"TopMargin":case"BottomMargin":if(!out["!margins"])default_margins(out["!margins"]={});switch(Rn){case"LeftMargin":out["!margins"].left=val;break;case"RightMargin":out["!margins"].right=val;break;case"TopMargin":out["!margins"].top=val;break;case"BottomMargin":out["!margins"].bottom=val;break}break;case"Setup":if(!out["!margins"])default_margins(out["!margins"]={});out["!margins"].header=val.header;out["!margins"].footer=val.footer;break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"GCW":break;case"LHRecord":break;case"DBCell":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"Country":country=val;break;case"RecalcId":break;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"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"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":case"BIFF2FONTXTRA":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":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;if(wb.Sheets)FilterDatabases.forEach(function(r,i){wb.Sheets[wb.SheetNames[i]]["!autofilter"]=r});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;if(supbooks.names.length>0)Workbook.Names=supbooks.names;wb.Workbook=Workbook;return wb}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){}}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 if(cfb.find("PerfectOffice_MAIN"))WorkbookP=WK_.to_workbook(cfb.find("PerfectOffice_MAIN").content,options);else if(cfb.find("NativeContent_MAIN"))WorkbookP=WK_.to_workbook(cfb.find("NativeContent_MAIN").content,options);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;return WorkbookP}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:parse_BrtName},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:parse_ColInfo},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:parse_UncheckedRfX},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:parse_BrtArrFmla},427:{n:"BrtShrFmla",f:parse_BrtShrFmla},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:parse_BrtMargins},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:parse_RelID},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},518:{n:"Formula",f:parse_Formula},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},1030:{n:"Formula",f:parse_Formula},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,r:12},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:"Dimensions",f:parse_Dimensions},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},33:{n:"Array",f:parse_Array},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:parse_RString},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},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&&v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,v));return;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));return;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));return}write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}function write_biff_ws(ba,ws,idx,opts,wb){var dense=Array.isArray(ws);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;var cell=dense?ws[R][C]:ws[ref];if(!cell)continue;write_ws_biff_cell(ba,cell,R,C,opts)}}}function write_biff_buf(wb,opts){var o=opts||{};if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ba=buf_array();var idx=0;for(var i=0;i / pair");var rows=str.slice(i,j).split(/(:?]*>)/);var R=-1,C=0,RS=0,CS=0;var range={s:{r:1e7,c:1e7},e:{r:0,c:0}};var merges=[],midx=0;for(i=0;i");for(j=0;j"))>-1)m=m.slice(cc+1);while(m.indexOf(">")>-1)m=m.slice(0,m.lastIndexOf("<"));var tag=parsexmltag(cell.slice(0,cell.indexOf(">")));CS=tag.colspan?+tag.colspan:1;if((RS=+tag.rowspan)>0||CS>1)merges.push({s:{r:R,c:C},e:{r:R+(RS||1)-1,c:C+CS-1}});if(!m.length){C+=CS;continue}m=unescapexml(m).replace(/[\r\n]/g,"");if(range.s.r>R)range.s.r=R;if(range.e.rC)range.s.c=C;if(range.e.cR||M[j].s.c>C)continue;if(M[j].e.r");continue}var w=cell.h||escapexml(cell.w||(format_cell(cell),cell.w)||"");var sp={};if(RS>1)sp.rowspan=RS;if(CS>1)sp.colspan=CS;oo.push(writextag("td",w,sp))}return""+oo.join("")+"
"}function sheet_to_html(ws,opts){var o=[];var r=decode_range(ws["!ref"]);o.dense=Array.isArray(ws);for(var R=r.s.r;R<=r.e.r;++R)o.push(make_html_row(ws,r,R,o));return""}return{to_workbook:html_to_book,to_sheet:html_to_sheet,_row:make_html_row,from_sheet:sheet_to_html}}();function parse_dom_table(table,_opts){var opts=_opts||{};if(DENSE!=null)opts.dense=DENSE;var ws=opts.dense?[]:{};var rows=table.getElementsByTagName("tr");var range={s:{r:0,c:0},e:{r:rows.length-1,c:0}};var merges=[],midx=0;var R=0,_C=0,C=0,RS=0,CS=0;for(;R0||CS>1)merges.push({s:{r:R,c:C},e:{r:R+(RS||1)-1,c:C+CS-1}});var o={t:"s",v:v};if(v!=null&&v.length&&!isNaN(Number(v)))o={t:"n",v:Number(v)};if(opts.dense){if(!ws[R])ws[R]=[];ws[R][C]=o}else ws[encode_cell({c:C,r:R})]=o;if(range.e.c/g," ").replace(/<[^>]*>/g,""))};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 opts=_opts||{};if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var rowtag;var Sheets={},SheetNames=[];var ws=opts.dense?[]:{};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 arrayf=[];var comments=[],comment={};var creator="",creatoridx=0;var rept=1,isstub=false;var i=0;xlmlregex.lastIndex=0;str=str.replace(//gm,"").replace(//gm,"");while(Rn=xlmlregex.exec(str))switch(Rn[3]=Rn[3].replace(/_.*$/,"")){case"table":case"工作表":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag["名称"]||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=opts.dense?[]:{};merges=[]}break;case"table-row":case"行":if(Rn[1]==="/")break;rowtag=parsexmltag(Rn[0],false);if(rowtag["行号"])R=rowtag["行号"]-1;else++R;C=-1;break;case"covered-table-cell":++C;if(opts.sheetStubs){if(opts.dense){if(!ws[R])ws[R]=[];ws[R][C]={t:"z"}}else ws[encode_cell({r:R,c:C})]={t:"z"}}break;case"table-cell":case"数据":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(C=arrayf[i][0].s.r&&R<=arrayf[i][0].e.r)if(C>=arrayf[i][0].s.c&&C<=arrayf[i][0].e.c)q.F=arrayf[i][1]}if(ctag["number-columns-spanned"]||ctag["number-rows-spanned"]){mR=parseInt(ctag["number-rows-spanned"],10)||0;mC=parseInt(ctag["number-columns-spanned"],10)||0;mrange={s:{r:R,c:C},e:{r:R+mR-1,c:C+mC-1}};merges.push(mrange)}if(ctag["number-columns-repeated"])rept=parseInt(ctag["number-columns-repeated"],10);switch(q.t){case"boolean":q.t="b";q.v=parsexmlbool(ctag["boolean-value"]);break;case"float":q.t="n";q.v=parseFloat(ctag.value);break;case"percentage":q.t="n";q.v=parseFloat(ctag.value);break;case"currency":q.t="n";q.v=parseFloat(ctag.value);break;case"date":q.t="d";q.v=parseDate(ctag["date-value"]);if(!opts.cellDates){q.t="n";q.v=datenum(q.v)}q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;case"number":q.t="n";q.v=parseFloat(ctag["数据数值"]);break;default:if(q.t==="string"||q.t==="text"||!q.t){q.t="s";if(ctag["string-value"]!=null)textp=unescapexml(ctag["string-value"])}else throw new Error("Unsupported value type "+q.t)}}else{isstub=false;if(q.t==="s"){q.v=textp||"";isstub=textpidx==0}if(comments.length>0){q.c=comments;comments=[]}if(textp&&opts.cellText!==false)q.w=textp;if(!isstub||opts.sheetStubs){if(!(opts.sheetRows&&opts.sheetRows0)ws[R][++C]=dup(q)}else{ws[encode_cell({r:R,c:C})]=q;while(--rept>0)ws[encode_cell({r:R,c:++C})]=dup(q)}if(range.e.c<=C)range.e.c=C}}else{C+=rept;rept=0}q={};textp=""}break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":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"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;comment.t=textp;comment.a=creator;comments.push(comment)}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){state.push([Rn[3],false])}creator="";creatoridx=0;textp="";textpidx=0;break;case"creator":if(Rn[1]==="/"){creator=str.slice(creatoridx,Rn.index)}else creatoridx=Rn.index+Rn[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":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]);textp="";textpidx=0;break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":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"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":case"page-layout":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].slice(-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":case"电子表格":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":case"文本串":if(Rn[1]==="/")textp=(textp.length>0?textp+"\n":"")+parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"database-range":if(Rn[1]==="/")break;try{var AutoFilter=ods_to_csf_range_3D(parsexmltag(Rn[0])["target-range-address"]);Sheets[AutoFilter[0]]["!autofilter"]={ref:AutoFilter[1]}}catch(e){}break;case"s":break;case"date":break;case"object":break;case"title":case"标题":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"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"event-listener":case"initial-creator":case"creation-date":case"generator":case"document-statistic":case"user-defined":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":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]==="style:")break;if(Rn[2]==="calcext:")break;if(Rn[2]==="loext:")break;if(Rn[2]==="uof:")break;if(Rn[2]==="表:")break;if(Rn[2]==="字:")break;if(opts.WTF)throw new Error(Rn)}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var covered_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=decode_range(ws["!ref"]);var marr=ws["!merges"]||[],mi=0;var dense=Array.isArray(ws);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;CC)continue;if(marr[mi].s.r>R)continue;if(marr[mi].e.c\n")}o.push(" \n");return o.join("")};var write_automatic_styles_ods=function(o){o.push(" \n");o.push(' \n');o.push(' \n');o.push(" /\n");o.push(' \n');o.push(" /\n");o.push(" \n");o.push(" \n");o.push(' \n');o.push(" \n")};return function wcx(wb,opts){var o=[XML_HEADER];var attr=wxt_helper({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var fods=wxt_helper({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(opts.bookType=="fods")o.push("\n");else o.push("\n");write_automatic_styles_ods(o);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");if(opts.bookType=="fods")o.push("");else o.push("");return o.join("")}}();function write_obj_str(factory){return function write_str(wb,o){var idx=0;for(var i=0;i-1)return"sheet";if(RELS.CS&&n==RELS.CS)return"chart";if(RELS.DS&&n==RELS.DS)return"dialog";if(RELS.MS&&n==RELS.MS)return"macro";if(!n||!n.length)return"sheet";return n}function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){if(!w.id)w.id=w.strRelID;return[w.name,wbrels["!id"][w.id].Target,get_sheet_type(wbrels["!id"][w.id].Type)]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_sheet(zip,path,relsPath,sheet,sheetRels,sheets,stype,opts,wb,themes,styles){try{sheetRels[sheet]=parse_rels(getzipstr(zip,relsPath,true),path);var data=getzipdata(zip,path);switch(stype){case"sheet":sheets[sheet]=parse_ws(data,path,opts,sheetRels[sheet],wb,themes,styles);break;case"chart":var cs=parse_cs(data,path,opts,sheetRels[sheet],wb,themes,styles);sheets[sheet]=cs;if(!cs||!cs["!chart"])break;var dfile=resolve_path(cs["!chart"].Target,path);var drelsp=get_rels_path(dfile);var draw=parse_drawing(getzipstr(zip,dfile,true),parse_rels(getzipstr(zip,drelsp,true),dfile));var chartp=resolve_path(draw,dfile);var crelsp=get_rels_path(chartp);cs=parse_chart(getzipstr(zip,chartp,true),chartp,opts,parse_rels(getzipstr(zip,crelsp,true),chartp),wb,cs);break;case"macro":sheets[sheet]=parse_ms(data,path,opts,sheetRels[sheet],wb,themes,styles);break;case"dialog":sheets[sheet]=parse_ds(data,path,opts,sheetRels[sheet],wb,themes,styles);break}}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.slice(-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);if(safegetzipfile(zip,"objectdata.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipstr(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].slice(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);var themes={};var styles={};if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipstr(zip,dir.themes[0].replace(/^\//,""),true)||"",dir.themes[0],opts);if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,themes,opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipstr(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipstr(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=getzipstr(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});else if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(opts.bookSheets&&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;{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){var stype="sheet";if(wbrels&&wbrels[i]){path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");stype=wbrels[i][2]}else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_sheet(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,stype,opts,wb,themes,styles)}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].replace(/^\//,""),true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function parse_xlsxcfb(cfb,opts){var f="Version";var data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var version=parse_DataSpaceVersionInfo(data.content);f="DataSpaceMap";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var dsm=parse_DataSpaceMap(data.content);if(dsm.length!=1||dsm[0].comps.length!=1||dsm[0].comps[0].t!=0||dsm[0].name!="StrongEncryptionDataSpace"||dsm[0].comps[0].v!="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+f);f="StrongEncryptionDataSpace";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var seds=parse_DataSpaceDefinition(data.content);if(seds.length!=1||seds[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+f);f="!Primary";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var hdr=parse_Primary(data.content);f="EncryptionInfo";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var einfo=parse_EncryptionInfo(data.content);throw new Error("File is password-protected")}function write_zip(wb,opts){_shapeid=1024;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 vbafmt=opts.bookType=="xlsb"||opts.bookType=="xlsm";var ct={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],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";if(wb.Props&&wb.Props.SheetNames){}else if(!wb.Workbook||!wb.Workbook.Sheets)wb.Props.SheetNames=wb.SheetNames;else wb.Props.SheetNames=wb.SheetNames.map(function(x,i){return[(wb.Workbook.Sheets[i]||{}).Hidden!=2,x]}).filter(function(x){return x[0]}).map(function(x){return x[1]});wb.Props.Worksheets=wb.Props.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){var wsrels={"!id":{}};var ws=wb.Sheets[wb.SheetNames[rId-1]];var _type=(ws||{})["!type"]||"sheet";switch(_type){case"chart":default:f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb,wsrels));ct.sheets.push(f);add_rels(opts.wbrels,-1,"worksheets/sheet"+rId+"."+wbext,RELS.WS[0])}if(ws){var comments=ws["!comments"];if(comments&&comments.length>0){var cf="xl/comments"+rId+"."+wbext;zip.file(cf,write_cmnt(comments,cf,opts));ct.comments.push(cf);add_rels(wsrels,-1,"../comments"+rId+"."+wbext,RELS.CMNT)}if(ws["!legacy"]){zip.file("xl/drawings/vmlDrawing"+rId+".vml",write_comments_vml(rId,ws["!comments"]))}delete ws["!comments"];delete ws["!legacy"]}if(wsrels["!id"].rId1)zip.file(get_rels_path(f),write_rels(wsrels))}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,-1,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme(wb.Themes,opts));ct.themes.push(f);add_rels(opts.wbrels,-1,"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,-1,"styles."+wbext,RELS.STY);if(wb.vbaraw&&vbafmt){f="xl/vbaProject.bin";zip.file(f,wb.vbaraw);ct.vba.push(f);add_rels(opts.wbrels,-1,"vbaProject.bin",RELS.VBA)}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){var x="";switch((o||{}).type||"base64"){case"buffer":return[f[0],f[1],f[2],f[3]];case"base64":x=Base64.decode(f.substr(0,24));break;case"binary":x=f;break;case"array":return[f[0],f[1],f[2],f[3]];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}return[x.charCodeAt(0),x.charCodeAt(1),x.charCodeAt(2),x.charCodeAt(3)]}function read_cfb(cfb,opts){if(cfb.find("EncryptedPackage"))return parse_xlsxcfb(cfb,opts);return parse_xlscfb(cfb,opts)}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 read_utf16(data,o){var d=data;if(o.type=="base64")d=Base64.decode(d);d=cptable.utils.decode(1200,d.slice(2));o.type="binary";if(d.charCodeAt(0)==60)return parse_xlml(d,o);return PRN.to_workbook(d,o)}function readSync(data,opts){var zip,d=data,n=[0];var o=opts||{};_ssfopts={};if(o.dateNF)_ssfopts.dateNF=o.dateNF;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))[0]){case 208:return read_cfb(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 73:if(n[1]==68)return SYLK.to_workbook(d,o);break;case 84:if(n[1]==65&&n[2]==66&&n[3]==76)return DIF.to_workbook(d,o);break;case 80:if(n[1]==75&&n[2]<32&&n[3]<32)return read_zip(d,o);break;case 239:return parse_xlml(d,o);case 255:if(n[1]==254){return read_utf16(d,o)}break;case 0:if(n[1]==0&&n[2]>=2&&n[3]==0)return WK_.to_workbook(d,o);break;case 3:case 131:case 139:return DBF.to_workbook(d,o)}if(n[2]<=12&&n[3]<=31)return DBF.to_workbook(d,o);if(32>n[0]||n[0]>127)throw new Error("Unsupported file "+n.join("|"));return PRN.to_workbook(d,o)}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 write_bstr_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"binary");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_string_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"utf8");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_binary_type(out,opts){switch(opts.type){case"base64":case"binary":var bstr="";for(var i=0;i0)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,counter=0;var dense=Array.isArray(sheet);var R=r.s.r,C=0,CC=0;if(!sheet[R])sheet[R]=[];for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=dense?sheet[R][C]:sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C-r.s.c;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val==null)continue;vv=v=format_cell(val,null,o);counter=0;for(CC=0;CC=0)txt='"'+txt.replace(qreg,'""')+'"'}else txt="";row+=(C===r.s.c?"":FS)+txt}if(o.blankrows===false&&isempty)return null;return row}function sheet_to_csv(sheet,opts){var out=[];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 endregex=new RegExp((FS=="|"?"\\|":FS)+"+$");var row="",cols=[];o.dense=Array.isArray(sheet);for(var 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){row=make_csv_row(sheet,r,R,cols,fs,rs,FS,o);if(row==null){continue}if(o.strip)row=row.replace(endregex,"");out.push(row+RS)}delete o.dense;return out.join("")}function sheet_to_txt(sheet,opts){if(!opts)opts={};opts.FS="\t";opts.RS="\n";var s=sheet_to_csv(sheet,opts);if(typeof cptable=="undefined")return s;var o=cptable.utils.encode(1200,s);return"ÿþ"+o}function sheet_to_formulae(sheet){var y="",x,val="";if(sheet==null||sheet["!ref"]==null)return[];var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;var cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;var dense=Array.isArray(sheet);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=dense?(sheet[R]||[])[C]:sheet[y];val="";if(x===undefined)continue;else if(x.F!=null){y=x.F;if(!x.f)continue;val=x.f;if(y.indexOf(":")==-1)y=y+":"+y}if(x.f!=null)val=x.f;else if(x.t=="z")continue;else if(x.t=="n"&&x.v!=null)val=""+x.v;else if(x.t=="b")val=x.v?"TRUE":"FALSE";else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else if(x.t=="s")val="'"+x.v;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,aoa_to_sheet:aoa_to_sheet,table_to_sheet:parse_dom_table,table_to_book:table_to_book,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_json};if(has_buf&&typeof require!="undefined")(function(){var Readable=require("stream").Readable;var write_csv_stream=function(sheet,opts){var stream=Readable();var out="";var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null){stream.push(null);return stream}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 endregex=new RegExp((FS=="|"?"\\|":FS)+"+$");var row="",cols=[];o.dense=Array.isArray(sheet);for(var C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);var R=r.s.r;stream._read=function(){if(R>r.e.r)return stream.push(null);while(R<=r.e.r){row=make_csv_row(sheet,r,R,cols,fs,rs,FS,o);if(row==null){++R;continue}if(o.strip)row=row.replace(endregex,"");stream.push(row+RS);++R;break}};return stream};var HTML_BEGIN="";var write_html_stream=function(sheet,opts){var stream=Readable();var o=[];var r=decode_range(sheet["!ref"]),cell;o.dense=Array.isArray(sheet);stream.push(HTML_BEGIN);var R=r.s.r;var end=false;stream._read=function(){if(R>r.e.r){if(!end){end=true;stream.push(HTML_END)}return stream.push(null)}while(R<=r.e.r){stream.push(HTML_._row(sheet,r,R,o));++R;break}};return stream};XLSX.stream={to_html:write_html_stream,to_csv:write_csv_stream}})();XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_ods=parse_ods;XLSX.parse_fods=parse_fods;XLSX.write_ods=write_ods;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.writeFileAsync=writeFileAsync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX;var ODS=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.10.0";var current_codepage=1200;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel.js")}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 DENSE=null;var DIF_XL=true;var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input){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){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"&&typeof process!=="undefined"&&typeof process.versions!=="undefined"&&process.versions.node;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.9.2";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){i=i||0;return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}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 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 init_table(t){t[0]="General";t[1]="0";t[2]="0.00";t[3]="#,##0";t[4]="#,##0.00";t[9]="0%";t[10]="0.00%";t[11]="0.00E+00";t[12]="# ?/?";t[13]="# ??/??";t[14]="m/d/yy";t[15]="d-mmm-yy";t[16]="d-mmm";t[17]="mmm-yy";t[18]="h:mm AM/PM";t[19]="h:mm:ss AM/PM";t[20]="h:mm";t[21]="h:mm:ss";t[22]="m/d/yy h:mm";t[37]="#,##0 ;(#,##0)";t[38]="#,##0 ;[Red](#,##0)";t[39]="#,##0.00;(#,##0.00)";t[40]="#,##0.00;[Red](#,##0.00)";t[45]="mm:ss";t[46]="[h]:mm:ss";t[47]="mmss.0";t[48]="##0.0E+0";t[49]="@";t[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';t[65535]="General"}var table_fmt={};init_table(table_fmt);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){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];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);case"undefined":return"";case"object":if(v==null)return""}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$/)){if(val==0)return"0.0E+0";else if(val<0)return"-"+write_num_exp(fmt,-val);var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(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(val)*Math.LOG10E);if(o.indexOf(".")===-1)o=o.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 0}return Math.round((val-Math.floor(val))*Math.pow(10,d))}function carry(val,d){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 1}return 0}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.charAt(1)==" "?2:1),val);var o;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(/^#{1,3},##0(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+(Math.floor(val)+carry(val,r[1].length)))+"."+pad0(dec(val,r[1].length),r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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.charAt(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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]);o=o.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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#{1,3},##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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-1||c=="\\"&&fmt.charAt(i+1)=="-"&&"0#".indexOf(fmt.charAt(i+2))>-1)){}break;case"?":while(fmt.charAt(++i)===c){}break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(i)=="*")++i;break;case"(":case")":++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":while(i-1){}break;case" ":++i;break;default:++i;break}}return false}SSF.is_date=fmt_is_date;function eval_fmt(fmt,v,opts,flen){var out=[],o="",i=0,c="",lst="t",q,dt,j,cc;var hr="H";while(i=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.charAt(i++)!=="]"&&i-1){o=(o.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!fmt_is_date(fmt))out[out.length]={t:"t",v:o}}break;case".":if(dt!=null){o=c;while((c=fmt.charAt(++i))==="0")o+=c;out[out.length]={t:"s",v:o};break}case"0":case"#":o=c;while(++i-1||c=="\\"&&fmt.charAt(i+1)=="-"&&i-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt.charAt(++i)===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(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(i-1)o+=fmt.charAt(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":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;i0){if(nstr.charCodeAt(0)==40){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num("(",nstr,myv)}else{myv=v<0&&flen>1?-v:v;ostr=write_num("n",nstr,myv);if(myv<0&&out[0]&&out[0].t=="t"){ostr=ostr.substr(1);out[0].v="-"+out[0].v}}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.charAt(j)==="0"||out[i].v.charAt(j)==="#"))vv=ostr.charAt(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 new Error("cannot find right format for |"+fmt.join("|")+"|");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){if(o==null)o={};var sfmt="";switch(typeof fmt){case"string":if(fmt=="m/d/yy"&&o.dateNF)sfmt=o.dateNF;else sfmt=fmt;break;case"number":if(fmt==14&&o.dateNF)sfmt=o.dateNF;else 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)};SSF.init_table=init_table};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.11.1";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 new Error("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 new Error("# 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.l+=2;switch(shift=blob.read_shift(2)){case 9:if(mver!=3)throw new Error("Sector Shift: Expected 9 saw "+shift);break;case 12:if(mver!=4)throw new Error("Sector Shift: Expected 12 saw "+shift);break;default:throw new Error("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;if(!sector)return;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;return(epoch+22091616e5)/(24*60*60*1e3)}function numdate(v){var date=SSF.parse_date_code(v);var val=new Date;if(date==null)throw new Error("Bad Date Code: "+v);val.setUTCDate(date.d);val.setUTCMonth(date.m-1);val.setUTCFullYear(date.y);val.setUTCHours(date.H);val.setUTCMinutes(date.M);val.setUTCSeconds(date.S);return val}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 good_pd_date=new Date("2017-02-19T19:06:09.000Z");var good_pd=good_pd_date.getFullYear()==2017;function parseDate(str){if(good_pd)return new Date(str);if(str instanceof Date)return str;var n=str.match(/\d+/g)||["2017","2","19","0","0","0"];return new Date(Date.UTC(+n[0],+n[1]-1,+n[2],+n[3],+n[4],+n[5]))}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(i));return o}function dup(o){if(typeof JSON!="undefined"&&!Array.isArray(o))return JSON.parse(JSON.stringify(o));if(typeof o!="object"||o==null)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/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="",quot=1;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);quot=(eq=cc.charCodeAt(c+1))==34||eq==39?1:0;v=cc.substring(c+1+quot,cc.length-quot);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=v}}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var unescapexml=function(){var encregex=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/g,coderegex=/_x([\da-fA-F]{4})_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$,$1){return encodings[$$]||String.fromCharCode(parseInt($1,$$.indexOf("x")>-1?16:10))||$$}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text,xml){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).slice(-4)+"_"})}function escapexmltag(text){return escapexml(text).replace(/ /g,"_x0020_")}var htmlcharegex=/[\u0000-\u001f]/g;function escapehtml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(htmlcharegex,function(s){return""+("000"+s.charCodeAt(0).toString(16)).slice(-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)}}();var xlml_unfixstr=function(){return function xlml_unfixstr(str){return str.replace(/(\r\n|[\r\n])/g,"
")}}();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])return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)(?:\\w+:)?'+f+">",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("<(?:vt:)?"+bt+">(.*?)(?:vt:)?"+bt+">","g")}}();var vtvregex=/<\/?(?:vt:)?variant>/g,vtmregex=/<(?:vt:)([^>]*)>(.*);function parseVector(data){var h=parsexmltag(data);var matches=data.match(vtregex(h.baseType))||[];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);res.push({v:utf8read(v[2]),t:v[1]})});return res}var wtregex=/(^\s|\s$|\n)/;function writetag(f,g){return"<"+f+(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""+f+">"}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+""+f:"/")+">"}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"];var XLMLNS={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",
+mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};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 __lpp4,___lpp4;__lpp4=___lpp4=function lpp4_(b,i){var len=__readUInt32LE(b,i);return len>0?__utf16le(b,i+4,i+4+len):""};var __8lpp4,___8lpp4;__8lpp4=___8lpp4=function lpp4_8(b,i){var len=__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len):""};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)};__lpp4=function lpp4_b(b,i){if(!Buffer.isBuffer(b))return ___lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len)};__8lpp4=function lpp4_8b(b,i){if(!Buffer.isBuffer(b))return ___8lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf8",i+4,i+4+len)};__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)):""};__lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len)):""};__8lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(65001,b.slice(i+4,i+4+len)):""}}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"wstr":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");size=2*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"lpp4":size=4+__readUInt32LE(this,this.l);o=__lpp4(this,this.l);if(size&2)size+=2;break;case"8lpp4":size=4+__readUInt32LE(this,this.l);o=__8lpp4(this,this.l);if(size&3)size+=4-(size&3);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;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=0,i=0;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 parsenooplog(blob,length){if(typeof console!="undefined")console.log(blob.slice(blob.l,blob.l+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);var L=data.length,RT=0,tgt=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,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.r)}}return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("crypto")}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;var 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 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(typeof 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){var q=cell.t=="d"&&v instanceof Date;if(cell.z!=null)try{return cell.w=SSF.format(cell.z,q?datenum(v):v)}catch(e){}try{return cell.w=SSF.format((cell.XF||{}).ifmt||(q?14:0),q?datenum(v):v)}catch(e){return""+v}}function format_cell(cell,v,o){if(cell==null||cell.t==null||cell.t=="z")return"";if(cell.w!==undefined)return cell.w;if(cell.t=="d"&&!cell.z&&o&&o.dateNF)cell.z=o.dateNF;if(v==undefined)return safe_format_cell(cell,cell.v,o);return safe_format_cell(cell,v,o)}function sheet_to_workbook(sheet,opts){var n=opts&&opts.sheet?opts.sheet:"Sheet1";var sheets={};sheets[n]=sheet;return{SheetNames:[n],Sheets:sheets}}function aoa_to_sheet(data,opts){var o=opts||{};if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:1e7,r:1e7},e:{c:0,r:0}};for(var R=0;R!=data.length;++R){for(var C=0;C!=data[R].length;++C){if(typeof data[R][C]==="undefined")continue;var cell={v:data[R][C]};if(range.s.r>R)range.s.r=R;if(range.s.c>C)range.s.c=C;if(range.e.r0)o.write_shift(0,data,"dbcs");return _null?o.slice(0,o.l):o}function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function write_StrRun(run,o){if(!o)o=new_buf(4);o.write_shift(2,run.ich||0);o.write_shift(2,run.ifnt||0);return o}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=[{ich:0,ifnt:0}];data.l=start+length;return z}function write_RichStr(str,o){var _null=false;if(o==null){_null=true;o=new_buf(15+4*str.t.length)}o.write_shift(1,0);write_XLWideString(str.t,o);return _null?o.slice(0,o.l):o}var parse_BrtCommentText=parse_RichStr;function write_BrtCommentText(str,o){var _null=false;if(o==null){_null=true;o=new_buf(23+4*str.t.length)}o.write_shift(1,1);write_XLWideString(str.t,o);o.write_shift(4,1);write_StrRun({ich:0,ifnt:0},o);return _null?o.slice(0,o.l):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}var parse_XLSBCodeName=parse_XLWideString;var write_XLSBCodeName=write_XLWideString;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){var _null=false;if(o==null){_null=true;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 _null?o.slice(0,o.l):o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;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_RfX(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_RfX(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}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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);var fValidRGB=d&1;var xColorType=d>>>1;var index=data.read_shift(1);var nTS=data.read_shift(2,"i");var bR=data.read_shift(1);var bG=data.read_shift(1);var bB=data.read_shift(1);var bAlpha=data.read_shift(1);switch(xColorType){case 0:out.auto=1;break;case 1:out.index=index;var icv=XLSIcv[index];if(icv)out.rgb=icv[0].toString(16)+icv[1].toString(16)+icv[2].toString(16);break;case 2:out.rgb=bR.toString(16)+bG.toString(16)+bB.toString(16);break;case 3:out.theme=index;break}if(nTS!=0)out.tint=nTS>0?nTS/32767:nTS/32768;return out}function write_BrtColor(color,o){if(!o)o=new_buf(8);if(!color||color.auto){o.write_shift(4,0);o.write_shift(4,0);return o}if(color.index){o.write_shift(1,2);o.write_shift(1,color.index)}else if(color.theme){o.write_shift(1,6);o.write_shift(1,color.theme)}else{o.write_shift(1,5);o.write_shift(1,0)}var nTS=color.tint||0;if(nTS>0)nTS*=32767;else if(nTS<0)nTS*=32768;o.write_shift(2,nTS);if(!color.rgb){o.write_shift(2,0);o.write_shift(1,0);o.write_shift(1,0)}else{var rgb=color.rgb||"FFFFFF";o.write_shift(1,parseInt(rgb.substr(0,2),16));o.write_shift(1,parseInt(rgb.substr(2,2),16));o.write_shift(1,parseInt(rgb.substr(4,2),16));o.write_shift(1,255)}return o}function parse_FontFlags(data,length,opts){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}function write_FontFlags(font,o){if(!o)o=new_buf(2);var grbit=(font.italic?2:0)|(font.strike?8:0)|(font.outline?16:0)|(font.shadow?32:0)|(font.condense?64:0)|(font.extend?128:0);o.write_shift(1,grbit);o.write_shift(1,0);return o}{var VT_I2=2;var VT_I4=3;var VT_BOOL=11;var VT_VARIANT=12;var VT_UI4=19;var VT_UI8=21;var VT_LPSTR=30;var VT_FILETIME=64;var VT_CF=71;var VT_VECTOR=4096;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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"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.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+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.openxmlformats-officedocument.themeOverride+xml":"TODO","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":"drawings","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","image/png":"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"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},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:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],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"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["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");f2("charts");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);f3("vba");f3("comments");f3("drawings");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",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",
+VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function get_rels_path(file){var n=file.lastIndexOf("/");return file.substr(0,n+1)+"_rels/"+file.substr(n+1)+".rels"}function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};(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("")}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};if(rId<0)for(rId=1;rels["!id"]["rId"+rId];++rId){}relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(relobj.Type==RELS.HLINK)relobj.TargetMode="External";if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj;return rId}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 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]*>(.*)"+g+">")}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]]=parseDate(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 opts=_opts||{};var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp&&!opts.Props)return o.join("");if(cp){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];var v=opts.Props&&opts.Props[f[1]]!=null?opts.Props[f[1]]:cp?cp[f[1]]:null;if(v===true)v="1";else if(v===false)v="0";else if(typeof v=="number")v=String(v);if(v!=null)cp_doit(f[0],v,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]+"[^>]*>(.*)"+f[0]+">"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var parts=parseVector(q.TitlesOfParts).map(function(x){return x.v});var idx=0,len=0;for(var i=0;i!==v.length;i+=2){len=+v[i+1].v;switch(v[i].v){case"Worksheets":case"工作表":case"Листы":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Werkbladen":p.Worksheets=len;p.SheetNames=parts.slice(idx,idx+len);break;case"Named Ranges":case"Benannte Bereiche":p.NamedRanges=len;p.DefinedNames=parts.slice(idx,idx+len);break;case"Charts":case"Diagramme":p.Chartsheets=len;p.ChartNames=parts.slice(idx,idx+len);break}idx+=len}}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=String(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""+escapexml(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"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]=parseDate(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)===""){}else if(opts.WTF)throw new Error(x)}}return p}var CUST_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.CUST_PROPS,"xmlns:vt":XMLNS.vt});function write_cust_props(cp,opts){var o=[XML_HEADER,CUST_PROPS_XML_ROOT];if(!cp)return o.join("");var pid=1;keys(cp).forEach(function custprop(k){++pid;o[o.length]=writextag("property",write_vt(cp[k]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:pid,name:k})});if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var XLMLDocPropsMap={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var evert_XLMLDPM=evert(XLMLDocPropsMap);function xlml_set_prop(Props,tag,val){tag=evert_XLMLDPM[tag]||tag;Props[tag]=val}function xlml_write_docprops(Props,opts){var o=[];keys(XLMLDocPropsMap).map(function(m){for(var i=0;i'+o.join("")+""+T+">"}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 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252: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=parseDate(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 new Error("Unrecognized #Sets: "+NumSets);FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw new Error("Length mismatch: "+Offset0+" !== "+blob.l);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=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}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;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}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&&opts.biff==2?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){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 new Error("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 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,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw new Error("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}function parse_FtSkip(blob,length){blob.l+=2;blob.l+=blob.read_shift(2)}var FtTab={0:parse_FtSkip,4:parse_FtSkip,5:parse_FtSkip,6:parse_FtSkip,7:parse_FtCf,8:parse_FtSkip,9:parse_FtSkip,10:parse_FtSkip,11:parse_FtSkip,12:parse_FtSkip,13:parse_FtNts,14:parse_FtSkip,15:parse_FtSkip,16:parse_FtSkip,17:parse_FtSkip,18:parse_FtSkip,19:parse_FtSkip,20:parse_FtSkip,21:parse_FtCmo};function parse_FtArray(blob,length,ot){var tgt=blob.l+length;var fts=[];while(blob.l=2){o.dt=blob.read_shift(2);blob.l-=2}switch(o.BIFFVer){case 1536:case 1280:case 2:case 7:break;default:if(length>6)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){}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 z={};z.r=blob.read_shift(2);z.c=blob.read_shift(2);z.cnt=blob.read_shift(2)-z.c;var miyRw=blob.read_shift(2);blob.l+=4;var flags=blob.read_shift(1);blob.l+=3;if(flags&32)z.hidden=true;if(flags&64)z.hpt=miyRw/20;return z}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw new Error("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,opts){var f=0;if(!(opts&&opts.biff==2)){f=blob.read_shift(2)}var miyRw=blob.read_shift(2);if(opts&&opts.biff==2){f=1-(miyRw>>15);miyRw&=32767}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){var o={dyHeight:blob.read_shift(2),fl:blob.read_shift(2)};switch(opts&&opts.biff||8){case 2:break;case 3:case 4:blob.l+=2;break;default:blob.l+=10;break}o.name=parse_ShortXLUnicodeString(blob,0,opts);return o}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 target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,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,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w);var c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;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];if(!opts.cellStyles)return o;o.alc=a&7;o.fWrap=a>>3&1;o.alcV=a>>4&7;o.fJustLast=a>>7&1;o.trot=a>>8&255;o.cIndent=a>>16&15;o.fShrinkToFit=a>>20&1;o.iReadOrder=a>>22&2;o.fAtrNum=a>>26&1;o.fAtrFnt=a>>27&1;o.fAtrAlc=a>>28&1;o.fAtrBdr=a>>29&1;o.fAtrPat=a>>30&1;o.fAtrProt=a>>31&1;o.dgLeft=b&15;o.dgRight=b>>4&15;o.dgTop=b>>8&15;o.dgBottom=b>>12&15;o.icvLeft=b>>16&127;o.icvRight=b>>23&127;o.grbitDiag=b>>30&3;o.icvTop=c&127;o.icvBottom=c>>7&127;o.icvDiag=c>>14&127;o.dgDiag=c>>21&15;o.icvFore=d&127;o.icvBack=d>>7&127;o.fsxButton=d>>14&1;return o}function parse_CellXF(blob,length,opts){return parse_CellStyleXF(blob,length,0,opts)}function parse_StyleXF(blob,length,opts){return parse_CellStyleXF(blob,length,1,opts)}function parse_XF(blob,length,opts){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,opts);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 new Error("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,opts);o.body=body||blob.read_shift(length-2);if(typeof body==="string")o.Name=body;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(opts&&opts.biff==2?1:2);var itab=0;if(!opts||opts.biff>=5){blob.l+=2;itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,itab:itab,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=[],target=blob.l+length,len=blob.read_shift(2);while(len--!==0)o.push(parse_XTI(blob,6));var oo=[];return o}function parse_NameCmt(blob,length,opts){if(opts.biff<8){blob.l+=length;return}var cchName=blob.read_shift(2);var cchComment=blob.read_shift(2);var name=parse_XLUnicodeStringNoCch(blob,cchName,opts);var comment=parse_XLUnicodeStringNoCch(blob,cchComment,opts);return[name,comment]}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);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default: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,opts){if(opts&&opts.biff<8)return parse_BIFF5Obj(blob,length,opts);var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}var parse_BIFF5OT=[];parse_BIFF5OT[8]=function(blob,length,opts){var tgt=blob.l+length;blob.l+=10;var cf=blob.read_shift(2);blob.l+=4;var cbPictFmla=blob.read_shift(2);blob.l+=2;var grbit=blob.read_shift(2);blob.l+=4;var cchName=blob.read_shift(1);blob.l+=cchName;blob.l=tgt;return{fmt:cf}};function parse_BIFF5Obj(blob,length,opts){var cnt=blob.read_shift(4);var ot=blob.read_shift(2);var id=blob.read_shift(2);var grbit=blob.read_shift(2);var colL=blob.read_shift(2);var dxL=blob.read_shift(2);var rwT=blob.read_shift(2);var dyT=blob.read_shift(2);var colR=blob.read_shift(2);var dxR=blob.read_shift(2);var rwB=blob.read_shift(2);var dyB=blob.read_shift(2);var cbMacro=blob.read_shift(2);blob.l+=6;length-=36;var fts=[];fts.push((parse_BIFF5OT[ot]||parsenoop)(blob,length,opts));return{cmo:[id,ot,grbit],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 new Error("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}function parse_ColInfo(blob,length,opts){if(!opts.cellStyles)return parsenoop(blob,length);var w=opts&&opts.biff>=12?4:2;var colFirst=blob.read_shift(w);var colLast=blob.read_shift(w);var coldx=blob.read_shift(w);var ixfe=blob.read_shift(w);var flags=blob.read_shift(2);if(w==2)blob.l+=2;return{s:colFirst,e:colLast,w:coldx,ixfe:ixfe,flags:flags}}function parse_Setup(blob,length,opts){var o={};blob.l+=16;o.header=parse_Xnum(blob,8);o.footer=parse_Xnum(blob,8);blob.l+=2;return o}function parse_ShtProps(blob,length,opts){var def={area:false};if(opts.biff!=5){blob.l+=length;return def}var d=blob.read_shift(1);blob.l+=3;if(d&16)def.area=true;return def}var parse_Style=parsenoop;var parse_StyleExt=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_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_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_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_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_ImData(blob,length,opts){var tgt=blob.l+length;var cf=blob.read_shift(2);var env=blob.read_shift(2);var lcb=blob.read_shift(4);var o={fmt:cf,env:env,len:lcb,data:blob.slice(blob.l,blob.l+lcb)};blob.l+=lcb;return o}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.t="str";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.t="n";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.t="n";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-13}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var DBF=function(){var dbf_codepage_map={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,255:16969};function dbf_to_aoa(buf,opts){var out=[];var d=new_raw_buf(1);switch(opts.type){case"base64":d=s2a(Base64.decode(buf));break;case"binary":d=s2a(buf);break;case"buffer":case"array":d=buf;break}prep_blob(d,0);var ft=d.read_shift(1);var memo=false;var vfp=false;switch(ft){case 2:case 3:break;case 48:vfp=true;memo=true;break;case 49:vfp=true;break;case 131:memo=true;break;case 139:memo=true;break;case 245:memo=true;break;default:throw new Error("DBF Unsupported Version: "+ft.toString(16))}var filedate=new Date,nrow=0,fpos=0;if(ft==2)nrow=d.read_shift(2);filedate=new Date(d.read_shift(1)+1900,d.read_shift(1)-1,d.read_shift(1));if(ft!=2)nrow=d.read_shift(4);if(ft!=2)fpos=d.read_shift(2);var rlen=d.read_shift(2);var flags=0,current_cp=1252;if(ft!=2){d.l+=16;flags=d.read_shift(1);if(d[d.l]!==0)current_cp=dbf_codepage_map[d[d.l]];d.l+=1;d.l+=2}var fields=[],field={};var hend=fpos-10-(vfp?264:0);while(ft==2?d.l0){if(d[d.l]===42){d.l+=rlen;continue}++d.l;out[++R]=[];C=0;for(C=0;C!=fields.length;++C){var dd=d.slice(d.l,d.l+fields[C].len);d.l+=fields[C].len;prep_blob(dd,0);var s=cptable.utils.decode(current_cp,dd);switch(fields[C].type){case"C":out[R][C]=cptable.utils.decode(current_cp,dd);out[R][C]=out[R][C].trim();break;case"D":if(s.length===8)out[R][C]=new Date(+s.substr(0,4),+s.substr(4,2)-1,+s.substr(6,2));else out[R][C]=s;break;case"F":out[R][C]=parseFloat(s.trim());break;case"I":out[R][C]=dd.read_shift(4,"i");break;case"L":switch(s.toUpperCase()){case"Y":case"T":out[R][C]=true;break;case"N":case"F":out[R][C]=false;break;case" ":case"?":out[R][C]=false;break;default:throw new Error("DBF Unrecognized L:|"+s+"|")}break;case"M":if(!memo)throw new Error("DBF Unexpected MEMO for type "+ft.toString(16));out[R][C]="##MEMO##"+dd.read_shift(4);break;case"N":out[R][C]=+s.replace(/\u0000/g,"").trim();break;case"T":var day=dd.read_shift(4),ms=dd.read_shift(4);throw new Error(day+" | "+ms);case"Y":out[R][C]=dd.read(4,"i")/1e4;break;case"0":if(fields[C].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+fields[C].type)}}}if(ft!=2)if(d.l0)switch(RT){case"ID":break;case"E":break;case"B":break;case"O":break;case"P":if(record[1].charAt(0)=="P")formats.push(rstr.substr(3).replace(/;;/g,";"));break;case"C":for(rj=1;rj0){rowinfo[R].hpt=Mval;rowinfo[R].hpx=pt2px(Mval)}else if(Mval==0)rowinfo[R].hidden=true;break;default:if(opts&&opts.WTF)throw new Error("SYLK bad record "+rstr)}break;default:if(opts&&opts.WTF)throw new Error("SYLK bad record "+rstr)}}if(rowinfo.length>0)sht["!rows"]=rowinfo;if(colinfo.length>0)sht["!cols"]=colinfo;arr[arr.length]=sht;return arr}function sylk_to_sheet(str,opts){var aoa=sylk_to_aoa(str,opts);var ws=aoa.pop();var o=aoa_to_sheet(aoa,opts);keys(ws).forEach(function(k){o[k]=ws[k]});return o}function sylk_to_workbook(str,opts){return sheet_to_workbook(sylk_to_sheet(str,opts),opts)}function write_ws_cell_sylk(cell,ws,R,C,opts){var o="C;Y"+(R+1)+";X"+(C+1)+";K";switch(cell.t){case"n":o+=cell.v||0;if(cell.f&&!cell.F)o+=";E"+a1_to_rc(cell.f,{r:R,c:C});break;case"b":o+=cell.v?"TRUE":"FALSE";break;case"e":o+=cell.w||cell.v;break;case"d":o+='"'+(cell.w||cell.v)+'"';break;case"s":o+='"'+cell.v.replace(/"/g,"")+'"';break}return o}function write_ws_cols_sylk(out,cols){cols.forEach(function(col,i){var rec="F;W"+(i+1)+" "+(i+1)+" ";if(col.hidden)rec+="0";else{if(typeof col.width=="number")col.wpx=width2px(col.width);if(typeof col.wpx=="number")col.wch=px2char(col.wpx);if(typeof col.wch=="number")rec+=Math.round(col.wch)}if(rec.charAt(rec.length-1)!=" ")out.push(rec)})}function write_ws_rows_sylk(out,rows){rows.forEach(function(row,i){var rec="F;";if(row.hidden)rec+="M0;";else if(row.hpt)rec+="M"+20*row.hpt+";";else if(row.hpx)rec+="M"+20*px2pt(row.hpx)+";";if(rec.length>2)out.push(rec+"R"+(i+1))})}function sheet_to_sylk(ws,opts){var preamble=["ID;PWXL;N;E"],o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);var RS="\r\n";preamble.push("P;PGeneral");preamble.push("F;P0;DG0G8;M255");if(ws["!cols"])write_ws_cols_sylk(preamble,ws["!cols"]);if(ws["!rows"])write_ws_rows_sylk(preamble,ws["!rows"]);preamble.push("B;Y"+(r.e.r-r.s.r+1)+";X"+(r.e.c-r.s.c+1)+";D"+[r.s.c,r.s.r,r.e.c,r.e.r].join(" "));for(var R=r.s.r;R<=r.e.r;++R){for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null&&(!cell.f||cell.F))continue;o.push(write_ws_cell_sylk(cell,ws,R,C,opts))}}return preamble.join(RS)+RS+o.join(RS)+RS+"E"+RS}return{to_workbook:sylk_to_workbook,to_sheet:sylk_to_sheet,from_sheet:sheet_to_sylk}}();var DIF=function(){function dif_to_aoa(d,opts){switch(opts.type){case"base64":return dif_to_aoa_str(Base64.decode(d),opts);case"binary":return dif_to_aoa_str(d,opts);case"buffer":return dif_to_aoa_str(d.toString("binary"),opts);case"array":return dif_to_aoa_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function dif_to_aoa_str(str,opts){var records=str.split("\n"),R=-1,C=-1,ri=0,arr=[];for(;ri!==records.length;++ri){if(records[ri].trim()==="BOT"){arr[++R]=[];C=0;continue}if(R<0)continue;var metadata=records[ri].trim().split(",");var type=metadata[0],value=metadata[1];++ri;var data=records[ri].trim();switch(+type){case-1:if(data==="BOT"){arr[++R]=[];C=0;continue}else if(data!=="EOD")throw new Error("Unrecognized DIF special command "+data);break;case 0:if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(+value==+value)arr[R][C]=+value;else if(!isNaN(new Date(value).getDate()))arr[R][C]=parseDate(value);else arr[R][C]=value;++C;break;case 1:data=data.substr(1,data.length-2);arr[R][C++]=data!==""?data:null;break}if(data==="EOD")break}return arr}function dif_to_sheet(str,opts){return aoa_to_sheet(dif_to_aoa(str,opts),opts)}function dif_to_workbook(str,opts){return sheet_to_workbook(dif_to_sheet(str,opts),opts)}var sheet_to_dif=function(){var push_field=function pf(o,topic,v,n,s){o.push(topic);o.push(v+","+n);o.push('"'+s.replace(/"/g,'""')+'"')};var push_value=function po(o,type,v,s){o.push(type+","+v);o.push(type==1?'"'+s.replace(/"/g,'""')+'"':s)};return function sheet_to_dif(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);push_field(o,"TABLE",0,1,"sheetjs");push_field(o,"VECTORS",0,r.e.r-r.s.r+1,"");push_field(o,"TUPLES",0,r.e.c-r.s.c+1,"");push_field(o,"DATA",0,0,"");for(var R=r.s.r;R<=r.e.r;++R){push_value(o,-1,0,"BOT");for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell){push_value(o,1,0,"");continue}switch(cell.t){case"n":var val=DIF_XL?cell.w:cell.v;if(!val&&cell.v!=null)val=cell.v;if(val==null){if(DIF_XL&&cell.f&&!cell.F)push_value(o,1,0,"="+cell.f);else push_value(o,1,0,"")}else push_value(o,0,val,"V");break;case"b":push_value(o,0,cell.v?1:0,cell.v?"TRUE":"FALSE");break;case"s":push_value(o,1,0,!DIF_XL||isNaN(cell.v)?cell.v:'="'+cell.v+'"');break;case"d":if(!cell.w)cell.w=SSF.format(cell.z||SSF._table[14],datenum(parseDate(cell.v)));if(DIF_XL)push_value(o,0,cell.w,"V");else push_value(o,1,0,cell.w);break;default:push_value(o,1,0,"")}}}push_value(o,-1,0,"EOD");var RS="\r\n";var oo=o.join(RS);return oo}}();return{to_workbook:dif_to_workbook,to_sheet:dif_to_sheet,from_sheet:sheet_to_dif}}();var PRN=function(){function set_text_arr(data,arr,R,C){if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(data===""){}else if(+data==+data)arr[R][C]=+data;else arr[R][C]=data}function prn_to_aoa_str(f,opts){var arr=[];if(!f||f.length===0)return arr;var lines=f.split(/[\r\n]/);var L=lines.length-1;while(L>=0&&lines[L].length===0)--L;var start=10,idx=0;var R=0;for(;R<=L;++R){idx=lines[R].indexOf(" ");if(idx==-1)idx=lines[R].length;else idx++;start=Math.max(start,idx)}for(R=0;R<=L;++R){arr[R]=[];var C=0;set_text_arr(lines[R].slice(0,start).trim(),arr,R,C);for(C=1;C<=(lines[R].length-start)/10+1;++C)set_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C)}return arr}function dsv_to_sheet_str(str,opts){var o=opts||{};var sep="";if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:0,r:0},e:{c:0,r:0}};if(str.substr(0,4)=="sep="&&str.charCodeAt(5)==10){sep=str.charAt(4);str=str.substr(6)}else if(str.substr(0,1024).indexOf("\t")==-1)sep=",";else sep="\t";var R=0,C=0,v=0;var start=0,end=0,sepcc=sep.charCodeAt(0),instr=false,cc=0;str=str.replace(/\r\n/gm,"\n");function finish_cell(){var s=str.slice(start,end);var cell={};if(s.charCodeAt(0)==61){cell.t="n";cell.f=s.substr(1)}else if(s=="TRUE"){cell.t="b";cell.v=true}else if(s=="FALSE"){cell.t="b";cell.v=false}else if(!isNaN(v=+s)){cell.t="n";cell.w=s;cell.v=v}else if(!isNaN(new Date(s).getDate())){cell.t="d";cell.v=parseDate(s)}else{cell.t="s";if(s.charAt(0)=='"'&&s.charAt(s.length-1)=='"')s=s.slice(1,-1).replace(/""/g,'"');cell.v=s}if(o.dense){if(!ws[R])ws[R]=[];ws[R][C]=cell}else ws[encode_cell({c:C,r:R})]=cell;start=end+1;if(range.e.c0)finish_cell();ws["!ref"]=encode_range(range);return ws}function prn_to_sheet_str(str,opts){if(str.substr(0,4)=="sep=")return dsv_to_sheet_str(str,opts);if(str.indexOf("\t")>=0||str.indexOf(",")>=0)return dsv_to_sheet_str(str,opts);return aoa_to_sheet(prn_to_aoa_str(str,opts),opts)}function prn_to_sheet(d,opts){switch(opts.type){case"base64":return prn_to_sheet_str(Base64.decode(d),opts);case"binary":return prn_to_sheet_str(d,opts);case"buffer":return prn_to_sheet_str(d.toString("binary"),opts);case"array":return prn_to_sheet_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function prn_to_workbook(str,opts){return sheet_to_workbook(prn_to_sheet(str,opts),opts)}function sheet_to_prn(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);for(var R=r.s.r;R<=r.e.r;++R){var oo=[];for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null){oo.push(" ");continue}var w=(cell.w||(format_cell(cell),cell.w)||"").substr(0,10);while(w.length<10)w+=" ";oo.push(w+(C==0?" ":""))}o.push(oo.join(""))}return o.join("\n")}return{to_workbook:prn_to_workbook,to_sheet:prn_to_sheet,from_sheet:sheet_to_prn}}();var WK_=function(){function lotushopper(data,cb,opts){if(!data)return;prep_blob(data,data.l||0);var Enum=opts.Enum||WK1Enum;while(data.l=4096)o.qpro=true;break;case 6:refguess=val;break;case 15:if(!o.qpro)val[1].v=val[1].v.substr(1);case 13:case 14:case 16:case 51:if(o.dense){if(!s[val[0].r])s[val[0].r]=[];s[val[0].r][val[0].c]=val[1]}else s[encode_cell(val[0])]=val[1];break}else switch(RT){case 22:val[1].v=val[1].v.substr(1);case 23:case 24:case 25:case 37:case 39:case 40:if(val[3]>sidx){s["!ref"]=encode_range(refguess);sheets[n]=s;s=o.dense?[]:{};refguess={s:{r:0,c:0},e:{r:0,c:0}};sidx=val[3];n="Sheet"+(sidx+1);snames.push(n)}s[encode_cell(val[0])]=val[1];if(refguess.e.c>1;if(o[1].v&1){switch(v&7){case 1:v=(v>>3)*500;break;case 2:v=(v>>3)/20;break;case 4:v=(v>>3)/2e3;break;case 6:v=(v>>3)/16;break;case 7:v=(v>>3)/64;break;default:throw"unknown NUMBER_18 encoding "+(v&7)}}o[1].v=v;return o}function parse_NUMBER_17(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);var v2=blob.read_shift(4);var e=blob.read_shift(2);if(e==65535){o[1].v=0;return o}var s=e&32768;e=(e&32767)-16446;o[1].v=(e>0?v2<>>-e)+(e>-32?v1<>>-(e+32));return o}function parse_FORMULA_19(blob,length){var o=parse_NUMBER_17(blob,14);blob.l+=length-14;return o}function parse_NUMBER_25(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);o[1].v=v1>>6;return o}function parse_NUMBER_27(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(8,"f");o[1].v=v1;return o}function parse_FORMULA_28(blob,length){var o=parse_NUMBER_27(blob,14);blob.l+=length-10;return o}var WK1Enum={0:{n:"BOF",f:parseuint16},1:{n:"EOF",f:parsenoop},2:{n:"CALCMODE",f:parsenoop},3:{n:"CALCORDER",f:parsenoop},4:{n:"SPLIT",f:parsenoop},5:{n:"SYNC",f:parsenoop},6:{n:"RANGE",f:parse_RANGE},7:{n:"WINDOW1",f:parsenoop},8:{n:"COLW1",f:parsenoop},9:{n:"WINTWO",f:parsenoop},10:{n:"COLW2",f:parsenoop},11:{n:"NAME",f:parsenoop},12:{n:"BLANK",f:parsenoop},13:{n:"INTEGER",f:parse_INTEGER},14:{n:"NUMBER",f:parse_NUMBER},15:{n:"LABEL",f:parse_LABEL},16:{n:"FORMULA",f:parse_FORMULA},24:{n:"TABLE",f:parsenoop},25:{n:"ORANGE",f:parsenoop},26:{n:"PRANGE",f:parsenoop},27:{n:"SRANGE",f:parsenoop},28:{n:"FRANGE",f:parsenoop},29:{n:"KRANGE1",f:parsenoop},32:{n:"HRANGE",f:parsenoop},35:{n:"KRANGE2",f:parsenoop},36:{n:"PROTEC",f:parsenoop},37:{n:"FOOTER",f:parsenoop},38:{n:"HEADER",f:parsenoop},39:{n:"SETUP",f:parsenoop},40:{n:"MARGINS",f:parsenoop},41:{n:"LABELFMT",f:parsenoop},42:{n:"TITLES",f:parsenoop},43:{n:"SHEETJS",f:parsenoop},45:{n:"GRAPH",f:parsenoop},46:{n:"NGRAPH",f:parsenoop},47:{n:"CALCCOUNT",f:parsenoop},48:{n:"UNFORMATTED",f:parsenoop},49:{n:"CURSORW12",f:parsenoop},50:{n:"WINDOW",f:parsenoop},51:{n:"STRING",f:parse_LABEL},55:{n:"PASSWORD",f:parsenoop},56:{n:"LOCKED",f:parsenoop},60:{n:"QUERY",f:parsenoop},61:{n:"QUERYNAME",f:parsenoop},62:{n:"PRINT",f:parsenoop},63:{n:"PRINTNAME",f:parsenoop},64:{n:"GRAPH2",f:parsenoop},65:{n:"GRAPHNAME",f:parsenoop},66:{n:"ZOOM",f:parsenoop},67:{n:"SYMSPLIT",f:parsenoop},68:{n:"NSROWS",f:parsenoop},69:{n:"NSCOLS",f:parsenoop},70:{n:"RULER",f:parsenoop},71:{n:"NNAME",f:parsenoop},72:{n:"ACOMM",f:parsenoop},73:{n:"AMACRO",f:parsenoop},74:{n:"PARSE",f:parsenoop},255:{n:"",f:parsenoop}};var WK3Enum={0:{n:"BOF",f:parsenoop},1:{n:"EOF",f:parsenoop},3:{n:"??",f:parsenoop},4:{n:"??",f:parsenoop},5:{n:"??",f:parsenoop},6:{n:"??",f:parsenoop},7:{n:"??",f:parsenoop},9:{n:"??",f:parsenoop},10:{n:"??",f:parsenoop},11:{n:"??",f:parsenoop},12:{n:"??",f:parsenoop},14:{n:"??",f:parsenoop},15:{n:"??",f:parsenoop},16:{n:"??",f:parsenoop},17:{n:"??",f:parsenoop},18:{n:"??",f:parsenoop},19:{n:"??",f:parsenoop},21:{n:"??",f:parsenoop},22:{n:"LABEL16",f:parse_LABEL_16},23:{n:"NUMBER17",f:parse_NUMBER_17},24:{n:"NUMBER18",f:parse_NUMBER_18},25:{n:"FORMULA19",f:parse_FORMULA_19},26:{n:"??",f:parsenoop},27:{n:"??",f:parsenoop},28:{n:"??",f:parsenoop},29:{n:"??",f:parsenoop},30:{n:"??",f:parsenoop},31:{n:"??",f:parsenoop},33:{n:"??",f:parsenoop},37:{n:"NUMBER25",f:parse_NUMBER_25},39:{n:"NUMBER27",f:parse_NUMBER_27},40:{n:"FORMULA28",f:parse_FORMULA_28},255:{n:"",f:parsenoop}};return{to_workbook:lotus_to_workbook}}();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,align="";var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0].replace(/\w*:/g,"")){case"":case"":font.shadow=1;break;case"":break;case"":case"":font.outline=1;break;case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":case"":font.i=1;break;case"":break;case"');if(font.b){intro.push("");outro.push("")}if(font.i){intro.push("");outro.push("")}if(font.strike){intro.push("");outro.push("")}if(align=="superscript")align="sup";else if(align=="subscript")align="sub";if(align!=""){intro.push("<"+align+">");outro.push(""+align+">")}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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=escapehtml(z.t)}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.replace(sirphregex,"").match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}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].trim(),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+=""+escapexml(s.t)+""}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_n,RT){switch(RT){case 159:s.Count=val[0];s.Unique=val[1];break;case 19:s.push(val);break;case 160:return true;case 35:pass=true;break;case 36:pass=false;break;default:if(R_n.indexOf("Begin")>0){}else if(R_n.indexOf("End")>0){}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;i0){var rc={};rc.t=blob.read_shift(4);rc.v=blob.read_shift(0,"lpp4");comps.push(rc)}o.name=blob.read_shift(0,"lpp4");o.comps=comps;return o}function parse_DataSpaceMap(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(parse_DataSpaceMapEntry(blob));return o}function parse_DataSpaceDefinition(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(blob.read_shift(0,"lpp4"));return o}function parse_TransformInfoHeader(blob,length){var o={};var len=blob.read_shift(4);var tgt=blob.l+len-4;blob.l+=4;o.id=blob.read_shift(0,"lpp4");o.name=blob.read_shift(0,"lpp4");o.R=parse_CRYPTOVersion(blob,4);o.U=parse_CRYPTOVersion(blob,4);o.W=parse_CRYPTOVersion(blob,4);return o}function parse_Primary(blob,length){var hdr=parse_TransformInfoHeader(blob);hdr.ename=blob.read_shift(0,"8lpp4");hdr.blksz=blob.read_shift(4);hdr.cmode=blob.read_shift(4);if(blob.read_shift(4)!=4)throw new Error("Bad !Primary record");return hdr}function parse_EncryptionHeader(blob,length){var tgt=blob.l+length;var o={};o.Flags=blob.read_shift(4)&63;blob.l+=4;o.AlgID=blob.read_shift(4);var valid=false;switch(o.AlgID){case 26126:case 26127:case 26128:valid=o.Flags==36;break;case 26625:valid=o.Flags==4;break;case 0:valid=o.Flags==16||o.Flags==4||o.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+o.AlgID}if(!valid)throw new Error("Encryption Flags/AlgID mismatch");o.AlgIDHash=blob.read_shift(4);o.KeySize=blob.read_shift(4);o.ProviderType=blob.read_shift(4);blob.l+=8;o.CSPName=blob.read_shift(tgt-blob.l>>1,"utf16le").slice(0,-1);blob.l=tgt;return o}function parse_EncryptionVerifier(blob,length){var o={};blob.l+=4;o.Salt=blob.slice(blob.l,blob.l+16);blob.l+=16;o.Verifier=blob.slice(blob.l,blob.l+16);blob.l+=16;var sz=blob.read_shift(4);o.VerifierHash=blob.slice(blob.l,blob.l+sz);blob.l+=sz;return o}function parse_EncryptionInfo(blob,length){var vers=parse_CRYPTOVersion(blob);switch(vers.Minor){case 2:return parse_EncInfoStd(blob,vers);case 3:return parse_EncInfoExt(blob,vers);case 4:return parse_EncInfoAgl(blob,vers)}throw new Error("ECMA-376 Encryped file unrecognized Version: "+vers.Minor)}function parse_EncInfoStd(blob,vers){var flags=blob.read_shift(4);if((flags&63)!=36)throw new Error("EncryptionInfo mismatch");var sz=blob.read_shift(4);var tgt=blob.l+sz;var hdr=parse_EncryptionHeader(blob,sz);var verifier=parse_EncryptionVerifier(blob,blob.length-blob.l);return{t:"Std",h:hdr,v:verifier}}function parse_EncInfoExt(blob,vers){throw new Error("File is password-protected: ECMA-376 Extensible")}function parse_EncInfoAgl(blob,vers){throw new Error("File is password-protected: ECMA-376 Agile")}function parse_RC4CryptoHeader(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_CRYPTOVersion(blob,4);length-=4;if(vers.Minor!=2)throw"unrecognized minor version code: "+vers.Minor;if(vers.Major>4||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_CRYPTOVersion(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(2,2),16),parseInt(o.substr(4,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=6,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return Math.floor((width+Math.round(128/MDW)/256)*MDW)}function px2char(px){return Math.floor((px-5)/MDW*100+.5)/100}function char2width(chr){return Math.round((chr*MDW+5)/MDW*256)/256}function px2char_(px){return((px-5)/MDW*100+.5)/100}function char2width_(chr){return(chr*MDW+5)/MDW*256/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw_colw(collw){var delta=Infinity,_MDW=MIN_MDW;for(MDW=MIN_MDW;MDW.5)guess--;if(Math.abs(guess)":case"":break;case"":border={};if(y.diagonalUp){border.diagonalUp=y.diagonalUp}if(y.diagonalDown){border.diagonalDown=y.diagonalDown}styles.Borders.push(border);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in borders")}})}function parse_fills(t,styles,themes,opts){styles.Fills=[];var fill={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":if(y.patternType)fill.patternType=y.patternType;break;case"":case"":break;case"":case"":break;case"":case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_fonts(t,styles,themes,opts){styles.Fonts=[];var font={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":case"":styles.Fonts.push(font);font={};break;case"":case"":break;case"":font.bold=1;break;case"":font.italic=1;break;case"":font.underline=1;break;case"":font.strike=1;break;case"":font.outline=1;break;case"":font.shadow=1;break;case"":font.condense=1;break;case"":font.extend=1;break;case"":case"":break;case"":case"":break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fonts")}})}function parse_numFmts(t,styles,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;case"":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],[50,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!=null)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,styles,opts){styles.CellXf=[];var xf;t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":var alignment={};if(y.vertical)alignment.vertical=y.vertical;if(y.horizontal)alignment.horizontal=y.horizontal;if(y.textRotation!=null)alignment.textRotation=y.textRotation;if(y.indent)alignment.indent=y.indent;if(y.wrapText)alignment.wrapText=y.wrapText;xf.alignment=alignment;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>/;var fontsRegex=/]*)>.*<\/fonts>/;var bordersRegex=/]*)>.*<\/borders>/;return function parse_sty_xml(data,themes,opts){var styles={};if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,styles,opts);if(t=data.match(fontsRegex))parse_fonts(t,styles,themes,opts);if(t=data.match(fillsRegex))parse_fills(t,styles,themes,opts);if(t=data.match(bordersRegex))parse_borders(t,styles,themes,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,styles,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(wb.SSF&&(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 write_BrtFmt(i,f,o){if(!o)o=new_buf(6+4*f.length);o.write_shift(2,i);write_XLWideString(f,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFont(data,length,opts){var out={};out.sz=data.read_shift(2)/20;var grbit=parse_FontFlags(data,2,opts);if(grbit.fCondense)out.condense=1;if(grbit.fExtend)out.extend=1;if(grbit.fShadow)out.shadow=1;if(grbit.fOutline)out.outline=1;if(grbit.fStrikeout)out.strike=1;if(grbit.fItalic)out.italic=1;var bls=data.read_shift(2);if(bls===700)out.bold=1;switch(data.read_shift(2)){case 1:out.vertAlign="superscript";break;case 2:out.vertAlign="subscript";break}var underline=data.read_shift(1);if(underline!=0)out.underline=underline;var family=data.read_shift(1);if(family>0)out.family=family;var bCharSet=data.read_shift(1);if(bCharSet>0)out.charset=bCharSet;data.l++;out.color=parse_BrtColor(data,8);switch(data.read_shift(1)){case 1:out.scheme="major";break;case 2:out.scheme="minor";break}out.name=parse_XLWideString(data,length-21);return out}function write_BrtFont(font,o){if(!o)o=new_buf(25+4*32);o.write_shift(2,font.sz*20);write_FontFlags(font,o);o.write_shift(2,font.bold?700:400);var sss=0;if(font.vertAlign=="superscript")sss=1;else if(font.vertAlign=="subscript")sss=2;o.write_shift(2,sss);o.write_shift(1,font.underline||0);o.write_shift(1,font.family||0);o.write_shift(1,font.charset||0);o.write_shift(1,0);write_BrtColor(font.color,o);var scheme=0;if(font.scheme=="major")scheme=1;if(font.scheme=="minor")scheme=2;o.write_shift(1,scheme);write_XLWideString(font.name,o);return o.length>o.l?o.slice(0,o.l):o}var XLSBFillPTNames=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var rev_XLSBFillPTNames=evert(XLSBFillPTNames);function write_BrtFill(fill,o){if(!o)o=new_buf(4*3+8*7+16*1);var fls=rev_XLSBFillPTNames[fill.patternType];if(fls==null)fls=40;o.write_shift(4,fls);var j=0;if(fls!=40){write_BrtColor({auto:1},o);write_BrtColor({auto:1},o);for(;j<12;++j)o.write_shift(4,0)}else{for(;j<4;++j)o.write_shift(4,0);
+for(;j<12;++j)o.write_shift(4,0)}return o.length>o.l?o.slice(0,o.l):o}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 write_BrtXF(data,ixfeP,o){if(!o)o=new_buf(16);o.write_shift(2,ixfeP||0);o.write_shift(2,data.numFmtId||0);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(1,0);return o}function write_Blxf(data,o){if(!o)o=new_buf(10);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(4,0);o.write_shift(4,0);return o}function write_BrtBorder(border,o){if(!o)o=new_buf(51);o.write_shift(1,0);write_Blxf(null,o);write_Blxf(null,o);write_Blxf(null,o);write_Blxf(null,o);write_Blxf(null,o);return o.length>o.l?o.slice(0,o.l):o}function write_BrtStyle(style,o){if(!o)o=new_buf(12+4*10);o.write_shift(4,style.xfId);o.write_shift(2,1);o.write_shift(1,+style.builtinId);o.write_shift(1,0);write_XLNullableWideString(style.name||"",o);return o.length>o.l?o.slice(0,o.l):o}function write_BrtBeginTableStyles(cnt,defTableStyle,defPivotStyle){var o=new_buf(4+256*2*4);o.write_shift(4,cnt);write_XLNullableWideString(defTableStyle,o);write_XLNullableWideString(defPivotStyle,o);return o.length>o.l?o.slice(0,o.l):o}function parse_sty_bin(data,themes,opts){var styles={};styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];styles.Fonts=[];var state=[];var pass=false;recordhopper(data,function hopper_sty(val,R_n,RT){switch(RT){case 44:styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case 43:styles.Fonts.push(val);if(val.color.theme!=null&&themes&&themes.themeElements&&themes.themeElements.clrScheme){val.color.rgb=rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb,val.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(state[state.length-1]=="BrtBeginCellXFs"){styles.CellXf.push(val)}break;case 48:case 507:case 572:case 475:break;case 1171:case 2102:case 1130:case 512:case 2095:break;case 35:pass=true;break;case 36:pass=false;break;case 37:state.push(R_n);break;case 38:state.pop();break;default:if((R_n||"").indexOf("Begin")>0)state.push(R_n);else if((R_n||"").indexOf("End")>0)state.pop();else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}});return styles}function write_FMTS_bin(ba,NF){if(!NF)return;var cnt=0;[[5,8],[23,26],[41,44],[57,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!=null)++cnt});if(cnt==0)return;write_record(ba,"BrtBeginFmts",write_UInt32LE(cnt));[[5,8],[23,26],[41,44],[57,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!=null)write_record(ba,"BrtFmt",write_BrtFmt(i,NF[i]))});write_record(ba,"BrtEndFmts")}function write_FONTS_bin(ba,data){var cnt=1;if(cnt==0)return;write_record(ba,"BrtBeginFonts",write_UInt32LE(cnt));write_record(ba,"BrtFont",write_BrtFont({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));write_record(ba,"BrtEndFonts")}function write_FILLS_bin(ba,data){var cnt=2;if(cnt==0)return;write_record(ba,"BrtBeginFills",write_UInt32LE(cnt));write_record(ba,"BrtFill",write_BrtFill({patternType:"none"}));write_record(ba,"BrtFill",write_BrtFill({patternType:"gray125"}));write_record(ba,"BrtEndFills")}function write_BORDERS_bin(ba,data){var cnt=1;if(cnt==0)return;write_record(ba,"BrtBeginBorders",write_UInt32LE(cnt));write_record(ba,"BrtBorder",write_BrtBorder({}));write_record(ba,"BrtEndBorders")}function write_CELLSTYLEXFS_bin(ba,data){var cnt=1;write_record(ba,"BrtBeginCellStyleXFs",write_UInt32LE(cnt));write_record(ba,"BrtXF",write_BrtXF({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));write_record(ba,"BrtEndCellStyleXFs")}function write_CELLXFS_bin(ba,data){write_record(ba,"BrtBeginCellXFs",write_UInt32LE(data.length));data.forEach(function(c){write_record(ba,"BrtXF",write_BrtXF(c,0))});write_record(ba,"BrtEndCellXFs")}function write_STYLES_bin(ba,data){var cnt=1;write_record(ba,"BrtBeginStyles",write_UInt32LE(1));write_record(ba,"BrtStyle",write_BrtStyle({xfId:0,builtinId:0,name:"Normal"}));write_record(ba,"BrtEndStyles")}function write_DXFS_bin(ba,data){var cnt=0;write_record(ba,"BrtBeginDXFs",write_UInt32LE(cnt));write_record(ba,"BrtEndDXFs")}function write_TABLESTYLES_bin(ba,data){var cnt=0;write_record(ba,"BrtBeginTableStyles",write_BrtBeginTableStyles(cnt,"TableStyleMedium9","PivotStyleMedium4"));write_record(ba,"BrtEndTableStyles")}function write_COLORPALETTE_bin(ba,data){return}function write_sty_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_FMTS_bin(ba,wb.SSF);write_FONTS_bin(ba,wb);write_FILLS_bin(ba,wb);write_BORDERS_bin(ba,wb);write_CELLSTYLEXFS_bin(ba,wb);write_CELLXFS_bin(ba,opts.cellXfs);write_STYLES_bin(ba,wb);write_DXFS_bin(ba,wb);write_TABLESTYLES_bin(ba,wb);write_COLORPALETTE_bin(ba,wb);write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,themes,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&&opts.WTF)throw new Error("Unrecognized "+y[0]+" in clrScheme")}})}function parse_fontScheme(t,themes,opts){}function parse_fmtScheme(t,themes,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,themes,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,themes,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return parse_theme_xml(write_theme());var t;var themes={};if(!(t=data.match(themeltregex)))throw new Error("themeElements not found in theme");parse_themeElements(t[0],themes,opts);return themes}function write_theme(Themes,opts){if(opts&&opts.themeXLSX)return opts.themeXLSX;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,opts){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 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}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"0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}});return out}function write_cc_bin(data,opts){}RELS.IMG="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";RELS.DRAW="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";function parse_drawing(data,rels){if(!data)return"??";var id=(data.match(/]*r:id="([^"]*)"/)||["",""])[1];return rels["!id"][id].Target}var _shapeid=1024;function write_comments_vml(rId,comments){var csize=[21600,21600];var bbox=["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(",");var o=[writextag("xml",null,{"xmlns:v":XLMLNS.v,"xmlns:o":XLMLNS.o,"xmlns:x":XLMLNS.x,"xmlns:mv":XLMLNS.mv}).replace(/\/>/,">"),writextag("o:shapelayout",writextag("o:idmap",null,{"v:ext":"edit",data:rId}),{"v:ext":"edit"}),writextag("v:shapetype",[writextag("v:stroke",null,{joinstyle:"miter"}),writextag("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:csize.join(","),path:bbox})];while(_shapeid",writextag("v:fill",writextag("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}),{color2:"#BEFF82",angle:"-180",type:"gradient"}),writextag("v:shadow",null,{on:"t",obscured:"t"}),writextag("v:path",null,{"o:connecttype":"none"}),'','',"","",writetag("x:Anchor",[c.c,0,c.r,0,c.c+3,100,c.r+5,100].join(",")),writetag("x:AutoFill","False"),writetag("x:Row",String(c.r)),writetag("x:Column",String(c.c)),"","",""])});o.push("");return o.join("")}RELS.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function parse_comments(zip,dirComments,sheets,sheetRels,opts){for(var i=0;i!=dirComments.length;++i){var canonicalpath=dirComments[i];var comments=parse_cmnt(getzipdata(zip,canonicalpath.replace(/^\//,""),true),canonicalpath,opts);if(!comments||!comments.length)continue;var sheetNames=keys(sheets);for(var j=0;j!=sheetNames.length;++j){var sheetName=sheetNames[j];var rels=sheetRels[sheetName];if(rels){var rel=rels[canonicalpath];if(rel)insertCommentsIntoSheet(sheetName,sheets[sheetName],comments)}}}}function insertCommentsIntoSheet(sheetName,sheet,comments){var dense=Array.isArray(sheet);var cell,r;comments.forEach(function(comment){if(dense){r=decode_cell(comment.ref);if(!sheet[r.r])sheet[r.r]=[];cell=sheet[r.r][r.c]}else cell=sheet[comment.ref];if(!cell){cell={};if(dense)sheet[r.r][r.c]=cell;else sheet[comment.ref]=cell;var range=safe_decode_range(sheet["!ref"]||"BDWGO1000001:A1");var thisCell=decode_cell(comment.ref);if(range.s.r>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]:"sheetjsghost",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>/);var rt=!!textMatch&&!!textMatch[1]&&parse_si(textMatch[1])||{r:"",t:"",h:""};comment.r=rt.r;if(rt.r=="")rt.t=rt.h="";comment.t=rt.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}var CMNT_XML_ROOT=writextag("comments",null,{xmlns:XMLNS.main[0]});function write_comments_xml(data,opts){var o=[XML_HEADER,CMNT_XML_ROOT];var iauthor=[];o.push("");data.map(function(x){return x[1]}).forEach(function(comment){comment.map(function(x){return escapexml(x.a)}).forEach(function(a){if(iauthor.indexOf(a)>-1)return;iauthor.push(a);o.push(""+a+"")})});o.push("");o.push("");data.forEach(function(d){d[1].forEach(function(c){o.push('');o.push(writetag("t",c.t==null?"":c.t));o.push("")})});o.push("");if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}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}function write_BrtBeginComment(data,o){if(o==null)o=new_buf(36);o.write_shift(4,data[1].iauthor);write_UncheckedRfX(data[0],o);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);return o}var parse_BrtCommentAuthor=parse_XLWideString;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R_n,RT){switch(RT){case 632:authors.push(val);break;case 635:c=val;break;case 637:c.t=val.t;c.h=val.h;c.r=val.r;break;case 636:c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;if(!c.t)c.t="";delete c.rfx;out.push(c);break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}});return out}function write_comments_bin(data,opts){var ba=buf_array();var iauthor=[];write_record(ba,"BrtBeginComments");{write_record(ba,"BrtBeginCommentAuthors");data.forEach(function(comment){comment[1].forEach(function(c){if(iauthor.indexOf(c.a)>-1)return;iauthor.push(c.a.substr(0,54));write_record(ba,"BrtCommentAuthor",write_XLWideString(c.a.substr(0,54)))})});write_record(ba,"BrtEndCommentAuthors")}{write_record(ba,"BrtBeginCommentList");data.forEach(function(comment){comment[1].forEach(function(c){c.iauthor=iauthor.indexOf(c.a);var range={s:decode_cell(comment[0]),e:decode_cell(comment[0])};write_record(ba,"BrtBeginComment",write_BrtBeginComment([range,c]));if(c.t&&c.t.length>0)write_record(ba,"BrtCommentText",write_BrtCommentText(c));write_record(ba,"BrtEndComment");delete c.iauthor})});write_record(ba,"BrtEndCommentList")}write_record(ba,"BrtEndComments");return ba.end()}RELS.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";RELS.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function parse_ds_bin(){return{"!type":"dialog"}}function parse_ds_xml(){return{"!type":"dialog"}}function parse_ms_bin(){return{"!type":"macro"}}function parse_ms_xml(){return{"!type":"macro"}}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase={r:0,c:0};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;var cRel=false,rRel=false;if($4.length>0||$5.length==0)cRel=true;if(cRel)C+=rcbase.c;else--C;if($2.length>0||$3.length==0)rRel=true;if(rRel)R+=rcbase.r;else--R;return $1+(cRel?"":"$")+encode_col(C)+(rRel?"":"$")+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();var crefregex=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;var a1_to_rc=function(){return function a1_to_rc(fstr,base){return fstr.replace(crefregex,function($0,$1,$2,$3,$4,$5,off,str){var c=decode_col($3)-base.c;var r=decode_row($5)-base.r;return $1+"R"+(r==0?"":"["+r+"]")+"C"+(c==0?"":"["+c+"]")})}}();function shift_formula_str(f,delta){return f.replace(crefregex,function($0,$1,$2,$3,$4,$5,off,str){return $1+($2=="$"?$2+$3:encode_col(decode_col($3)+delta.c))+($4=="$"?$4+$5:encode_row(decode_row($5)+delta.r))})}function shift_formula_xlsx(f,range,cell){var r=decode_range(range),s=r.s,c=decode_cell(cell);var delta={r:c.r-s.r,c:c.c-s.c};return shift_formula_str(f,delta)}function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(length==1?1:2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length,opts){var w=2;if(opts){if(opts.biff>=2&&opts.biff<=5)return parse_RgceArea_BIFF2(blob,length,opts);else if(opts.biff==12)w=4}var r=blob.read_shift(w),R=blob.read_shift(w);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_RgceArea_BIFF2(blob){var r=parse_ColRelU(blob,2),R=parse_ColRelU(blob,2);var c=blob.read_shift(1);var C=blob.read_shift(1);return{s:{r:r[0],c:c,cRel:r[1],rRel:r[2]},e:{r:R[0],c:C,cRel:R[1],rRel:R[2]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(length==12?4:2),R=blob.read_shift(length==12?4: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,opts){if(opts&&opts.biff>=2&&opts.biff<=5)return parse_RgceLoc_BIFF2(blob,length,opts);var r=blob.read_shift(opts&&opts.biff==12?4:2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLoc_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2);var c=blob.read_shift(1);return{r:r[0],c:c,cRel:r[1],rRel:r[2]}}function parse_RgceLocRel(blob,length,opts){var biff=opts&&opts.biff?opts.biff:8;if(biff>=2&&biff<=5)return parse_RgceLocRel_BIFF2(blob,length,opts);var r=blob.read_shift(biff>=12?4:2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(rRel==1)while(r>524287)r-=1048576;if(cRel==1)while(cl>8191)cl=cl-16384;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_RgceLocRel_BIFF2(blob,length){var rl=blob.read_shift(2);var c=blob.read_shift(1);var rRel=(rl&32768)>>15,cRel=(rl&16384)>>14;rl&=16383;if(rRel==1&&rl>=8192)rl=rl-16384;if(cRel==1&&c>=128)c=c-256;return{r:rl,c:c,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,opts.biff>=2&&opts.biff<=5?6:8,opts);return[type,area]}function parse_PtgArea3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2,"i");var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}var area=parse_RgceArea(blob,w,opts);return[type,ixti,area]}function parse_PtgAreaErr(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts&&opts.biff>8?12:8;return[type]}function parse_PtgAreaErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}blob.l+=w;return[type,ixti]}function parse_PtgAreaN(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,opts&&opts.biff>8?12:8,opts);return[type,area]}function parse_PtgArray(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts.biff==2?6:opts.biff==12?14: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,opts){blob.l+=2;var offset=blob.read_shift(opts&&opts.biff==2?1:2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(opts&&opts.biff==2?1:2));return o}function parse_PtgAttrGoto(blob,length,opts){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIf(blob,length,opts){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIfError(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,opts){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=opts&&opts.biff==2?3: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,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,0,opts);return[type,loc]}function parse_PtgRefN(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,0,opts);return[type,loc]}function parse_PtgRef3d(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,0,opts);return[type,ixti,loc]}function parse_PtgFunc(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(opts&&opts.biff<=3?1:2);return[FtabArgc[iftab],Ftab[iftab],type]}function parse_PtgFuncVar(blob,length,opts){blob.l++;var cparams=blob.read_shift(1),tab=opts&&opts.biff<=3?[0,blob.read_shift(1)]: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]}function parse_PtgAttrSum(blob,length,opts){blob.l+=opts&&opts.biff==2?3:4;return}var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length,opts){blob.l++;if(opts&&opts.biff==12)return[blob.read_shift(4,"i"),0];var row=blob.read_shift(2);var col=blob.read_shift(opts&&opts.biff==2?1: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,opts){blob.l++;return parse_ShortXLUnicodeString(blob,length-1,opts)}function parse_SerAr(blob,biff){var val=[blob.read_shift(1)];if(biff==12)switch(val[0]){case 2:val[0]=4;break;case 4:val[0]=16;break;case 0:val[0]=1;break;case 1:val[0]=2;break}switch(val[0]){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_XLUnicodeString2(blob,0,{biff:biff>0&&biff<8?2:biff});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,length,opts){var rows=0,cols=0;if(opts.biff==12){rows=blob.read_shift(4);cols=blob.read_shift(4)}else{cols=1+blob.read_shift(1);rows=1+blob.read_shift(2)}if(opts.biff>=2&&opts.biff<8){--rows;if(--cols==0)cols=256}for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob,opts.biff);return o}function parse_PtgName(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var w=!opts||opts.biff>=8?4:2;var nameindex=blob.read_shift(w);switch(opts.biff){case 2:blob.l+=5;break;case 3:case 4:blob.l+=8;break;case 5:blob.l+=12;break}return[type,0,nameindex]}function parse_PtgNameX(blob,length,opts){if(opts.biff==5)return parse_PtgNameX_BIFF5(blob,length,opts);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_PtgNameX_BIFF5(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2,"i");blob.l+=8;var nameindex=blob.read_shift(2);blob.l+=12;return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=opts&&opts.biff==2?3:4;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgMemFunc(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgRefErr(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=4;if(opts.biff==12)blob.l+=2;return[type]}function parse_PtgRefErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=4;if(opts)switch(opts.biff){case 5:throw new Error("PtgRefErr3d -- 5");case 12:w=6;break}blob.l+=w;return[type,ixti]}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_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},128:{n:"PtgAttrIfError",f:parse_PtgAttrIfError},255:{}};function parse_Formula(blob,length,opts){var end=blob.l+length;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=parse_XLSCellParsedFormula(blob,end-blob.l,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,0,opts);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;case"PtgExp":if(opts&&opts.biff==12){rgce[i][1][1]=blob.read_shift(4);o.push(rgce[i][1])}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,opts);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,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,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,opts);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,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length,opts){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){parsenoop(blob,length)}else{ptgs.push([R.n,R.f(blob,length,opts)])}}return ptgs}function stringify_array(f){var o=[];for(var i=0;i=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function stringify_formula(formula,range,cell,supbooks,opts){var _range={s:{c:0,r:0},e:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti=0,nameidx=0,r,sname="";if(!formula[0]||!formula[0][0])return"";var last_sp=-1,sp="";for(var ff=0,fflen=formula[0].length;ff=0){switch(formula[0][last_sp][1][0]){case 0:sp=fill(" ",formula[0][last_sp][1][1]);break;case 1:sp=fill("\r",formula[0][last_sp][1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}e2=e2+sp;last_sp=-1}stack.push(e2+PtgBinOp[f[0]]+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":e1=stack.pop();e2=stack.pop();stack.push(e2+":"+e1);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(f[1][1],_range,opts);stack.push(encode_cell_xls(c));break;case"PtgRefN":type=f[1][0];c=cell?shift_cell_xls(f[1][1],cell,opts):f[1][1];stack.push(encode_cell_xls(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range,opts);sname=supbooks.SheetNames[ixti];var w=sname;stack.push(sname+"!"+encode_cell_xls(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=argc==0?[]: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"PtgAreaN":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=(supbooks.names||[])[nameidx-1]||(supbooks[0]||[])[nameidx];var name=lbl?lbl.Name:"**MISSING**"+String(nameidx);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(opts.biff<=5){if(bookidx<0)bookidx=-bookidx;if(supbooks[bookidx])externbook=supbooks[bookidx][nameidx]}else{var pnxname=supbooks.SheetNames[bookidx];var o="";if(((supbooks[bookidx]||[])[0]||[])[0]==14849){}else if(((supbooks[bookidx]||[])[0]||[])[0]==1025){if(supbooks[bookidx][nameidx]&&supbooks[bookidx][nameidx].itab>0){o=supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1]+"!"}}else o=supbooks.SheetNames[nameidx-1]+"!";if(supbooks[bookidx]&&supbooks[bookidx][nameidx])o+=supbooks[bookidx][nameidx].Name;else if(supbooks[0]&&supbooks[0][nameidx])o+=supbooks[0][nameidx].Name;else o+="??NAMEX??";stack.push(o);break}if(!externbook)externbook={Name:"??NAMEX??"};stack.push(externbook.Name);break;case"PtgParen":var lp="(",rp=")";if(last_sp>=0){sp="";switch(formula[0][last_sp][1][0]){case 2:lp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 3:lp=fill("\r",formula[0][last_sp][1][1])+lp;break;case 4:rp=fill(" ",formula[0][last_sp][1][1])+rp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+rp;break;default:if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgRefErr3d":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));fnd=true;break}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+stringify_array(f[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":last_sp=ff;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":stack.push("#REF!");break;case"PtgAreaErr3d":stack.push("#REF!");break;case"PtgMemFunc":break;default:throw new Error("Unrecognized Formula Token: "+String(f))}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];var _left=true;switch(f[1][0]){case 4:_left=false;case 0:sp=fill(" ",f[1][1]);break;case 5:_left=false;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+f[1][0])}stack.push((_left?sp:"")+stack.pop()+(_left?"":sp));last_sp=-1}}if(stack.length>1&&opts.WTF)throw new Error("bad formula stack");return stack[0]}function parse_XLSBParsedFormula(data,length,opts){var end=data.l+length;var cce=data.read_shift(4);var rgce=parse_Rgce(data,cce,opts);var cb=data.read_shift(4);var rgcb=cb>0?parse_RgbExtra(data,cb,rgce,opts):null;return[rgce,rgcb]}var parse_XLSBArrayParsedFormula=parse_XLSBParsedFormula;var parse_XLSBCellParsedFormula=parse_XLSBParsedFormula;var parse_XLSBNameParsedFormula=parse_XLSBParsedFormula;var parse_XLSBSharedParsedFormula=parse_XLSBParsedFormula;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",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,19:0,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,70:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,90:1,97:2,98:1,99:1,101:3,102:3,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,144: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,197:1,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,247:4,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,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,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"};function ods_to_csf_formula(f){if(f.substr(0,3)=="of:")f=f.substr(3);if(f.charCodeAt(0)==61){f=f.substr(1);if(f.charCodeAt(0)==61)f=f.substr(1)}f=f.replace(/COM\.MICROSOFT\./g,"");f=f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function($$,$1){return $1.replace(/\./g,"")});f=f.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return f.replace(/[;~]/g,",").replace(/\|/g,";")}function csf_to_ods_formula(f){var o="of:="+f.replace(crefregex,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return o.replace(/;/g,"|").replace(/,/g,";")}function ods_to_csf_range_3D(r){var a=r.split(":");var s=a[0].split(".")[0];return[s,a[0].split(".")[1]+":"+a[1].split(".")[1]]}var strs={};var _ssfopts={};RELS.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];function get_sst_id(sst,str){for(var i=0,len=sst.length;i-1){p.width=char2width(wch);p.customWidth=1}else if(col.width!=null)p.width=col.width;if(col.hidden)p.hidden=true;return p}function default_margins(margins,mode){if(!margins)return;var defs=[.7,.7,.75,.75,.3,.3];if(mode=="xlml")defs=[1,1,1,1,.5,.5];if(margins.left==null)margins.left=defs[0];if(margins.right==null)margins.right=defs[1];if(margins.top==null)margins.top=defs[2];if(margins.bottom==null)margins.bottom=defs[3];if(margins.header==null)margins.header=defs[4];if(margins.footer==null)margins.footer=defs[5]}function get_cell_style(styles,cell,opts){var z=opts.revssf[cell.z!=null?cell.z:"General"];var i=60,len=styles.length;if(z==null&&opts.ssf){for(;i<392;++i)if(opts.ssf[i]==null){SSF.load(cell.z,i);opts.ssf[i]=cell.z;opts.revssf[cell.z]=z=i;break}}for(i=0;i!=len;++i)if(styles[i].numFmtId===z)return i;styles[len]={numFmtId:z,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return len}function safe_format(p,fmtid,fillid,opts,themes,styles){if(p.t==="z")return;if(p.t==="d"&&typeof p.v==="string")p.v=parseDate(p.v);try{if(opts.cellNF)p.z=SSF._table[fmtid]}catch(e){if(opts.WTF)throw e}if(!opts||opts.cellText!==false)try{if(p.t==="e")p.w=p.w||BErr[p.v];else if(fmtid===0){if(p.t==="n"){if((p.v|0)===p.v)p.w=SSF._general_int(p.v,_ssfopts);else p.w=SSF._general_num(p.v,_ssfopts)}else if(p.t==="d"){var dd=datenum(p.v);if((dd|0)===dd)p.w=SSF._general_int(dd,_ssfopts);else p.w=SSF._general_num(dd,_ssfopts)}else if(p.v===undefined)return"";else p.w=SSF._general(p.v,_ssfopts)}else if(p.t==="d")p.w=SSF.format(fmtid,datenum(p.v),_ssfopts);else p.w=SSF.format(fmtid,p.v,_ssfopts)}catch(e){if(opts.WTF)throw e}if(fillid)try{p.s=styles.Fills[fillid];if(p.s.fgColor&&p.s.fgColor.theme&&!p.s.fgColor.rgb){p.s.fgColor.rgb=rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb,p.s.fgColor.tint||0);if(opts.WTF)p.s.fgColor.raw_rgb=themes.themeElements.clrScheme[p.s.fgColor.theme].rgb}if(p.s.bgColor&&p.s.bgColor.theme){p.s.bgColor.rgb=rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb,p.s.bgColor.tint||0);if(opts.WTF)p.s.bgColor.raw_rgb=themes.themeElements.clrScheme[p.s.bgColor.theme].rgb}}catch(e){if(opts.WTF)throw e}}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=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w:)?hyperlink [^>]*>/gm;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w:)?col[^>]*[\/]?>/g;var afregex=/<(?:\w:)?autoFilter[^>]*([\/]|>([^\u2603]*)<\/(?:\w:)?autoFilter)>/g;var marginregex=/<(?:\w:)?pageMargins[^>]*\/>/g;function parse_ws_xml(data,opts,rels,wb,themes,styles){if(!data)return data;if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var s=opts.dense?[]:{};var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var data1="",data2="";var mtch=data.match(sheetdataregex);if(mtch){data1=data.substr(0,mtch.index);data2=data.substr(mtch.index+mtch[0].length)}else data1=data2=data;var ridx=(data1.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data1.substr(ridx,50).match(dimregex);if(ref)parse_ws_xml_dim(s,ref[1])}var columns=[];if(opts.cellStyles){var cols=data1.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess,themes,styles);var afilter=data2.match(afregex);if(afilter)s["!autofilter"]=parse_ws_xml_autofilter(afilter[0]);var mergecells=[];var merges=data2.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var hlink=data2.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);var margins=data2.match(marginregex);if(margins)s["!margins"]=parse_ws_xml_margins(parsexmltag(margins[0]));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 write_ws_xml_protection(sp){var o={sheet:1};var deffalse=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var deftrue=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];deffalse.forEach(function(n){if(sp[n]!=null&&sp[n])o[n]="1"});deftrue.forEach(function(n){if(sp[n]!=null&&!sp[n])o[n]="0"});if(sp.password)o.password=crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();return writextag("sheetProtection",null,o)}function parse_ws_xml_hlinks(s,data,rels){var dense=Array.isArray(s);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}if(val.tooltip){val.Tooltip=val.tooltip;delete val.tooltip}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(dense){if(!s[R])s[R]=[];if(!s[R][C])s[R][C]={t:"z",v:undefined};s[R][C].l=val}else{if(!s[addr])s[addr]={t:"z",v:undefined};s[addr].l=val}}}}function parse_ws_xml_margins(margin){var o={};["left","right","top","bottom","header","footer"].forEach(function(k){if(margin[k])o[k]=parseFloat(margin[k])});return o}function write_ws_xml_margins(margin){default_margins(margin);return writextag("pageMargins",null,margin)}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);if(coll.hidden)coll.hidden=parsexmlbool(coll.hidden);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;coll.width=+coll.width;if(!seencol&&coll.width){seencol=true;find_mdw_colw(coll.width)}process_col(coll);while(colm<=colM)columns[colm++]=dup(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;o[o.length]=writextag("col",null,col_obj_w(i,col))}o[o.length]="";return o.join("")}function parse_ws_xml_autofilter(data){var o={ref:(data.match(/ref="([^"]*)"/)||[])[1]};return o}function write_ws_xml_autofilter(data){return writextag("autoFilter",null,{ref:data.ref})}function write_ws_xml_sheetviews(ws,opts,idx,wb){return writextag("sheetViews",writextag("sheetView",null,{workbookViewId:"0"}),{})}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined&&cell.f===undefined||cell.t==="z")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=parseDate(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(parseDate(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(cell.v==null){delete cell.t;break}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}if(cell.f){var ff=cell.F&&cell.F.substr(0,ref.length)==ref?{t:"array",ref:cell.F}:null;v=writextag("f",escapexml(cell.f),ff)+(cell.v!=null?v:"")}if(cell.l)ws["!links"].push([ref,cell.l]);if(cell.c)ws["!comments"].push([ref,cell.c]);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 refregex=/ref=["']([^"']*)["']/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess,themes,styles){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr,ftag;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;var arrayf=[];var sharedf=[];var dense=Array.isArray(s);var rows=[],rowobj={},rowrite=false;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=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){if((cref=d.match(match_f))!=null&&cref[1]!==""){p.f=unescapexml(utf8read(cref[1])).replace(/_xlfn\./,"");if(cref[0].indexOf('t="array"')>-1){p.F=(d.match(refregex)||[])[1];if(p.F.indexOf(":")>-1)arrayf.push([safe_decode_range(p.F),p.F])}else if(cref[0].indexOf('t="shared"')>-1){ftag=parsexmltag(cref[0]);sharedf[parseInt(ftag.si,10)]=[ftag,unescapexml(utf8read(cref[1]))]}}else if(cref=d.match(/]*\/>/)){ftag=parsexmltag(cref[0]);if(sharedf[ftag.si])p.f=shift_formula_xlsx(sharedf[ftag.si][1],sharedf[ftag.si][0].ref,tag.r)}var _tag=decode_cell(tag.r);for(i=0;i=arrayf[i][0].s.r&&_tag.r<=arrayf[i][0].e.r)if(_tag.c>=arrayf[i][0].s.c&&_tag.c<=arrayf[i][0].e.c)p.F=arrayf[i][1]}if(tag.t==null&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="z"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)s["!rows"]=rows}}();function write_ws_xml_data(ws,opts,idx,wb,rels){var o=[],r=[],range=safe_decode_range(ws["!ref"]),cell,ref,rr="",cols=[],R=0,C=0,rows=ws["!rows"];var dense=Array.isArray(ws);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=[];rr=encode_row(R);for(C=range.s.c;C<=range.e.c;++C){ref=cols[C]+rr;var _cell=dense?(ws[R]||[])[C]:ws[ref];if(_cell===undefined)continue;if((cell=write_ws_xml_cell(_cell,ref,ws,opts,idx,wb))!=null)r.push(cell)}if(r.length>0){var params={r:rr};if(rows&&rows[R]){var row=rows[R];if(row.hidden)params.hidden=1;var height=-1;if(row.hpx)height=px2pt(row.hpx);else if(row.hpt)height=row.hpt;if(height>-1){params.ht=height;params.customHeight=1}}o[o.length]=writextag("row",r.join(""),params)}}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,rels){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws==null)ws={};var ref=ws["!ref"];if(ref==null)ref="A1";if(!rels)rels={};ws["!comments"]=[];ws["!drawing"]=[];o[o.length]=writextag("sheetPr",null,{codeName:escapexml(wb.SheetNames[idx])});o[o.length]=writextag("dimension",null,{ref:ref});o[o.length]=write_ws_xml_sheetviews(ws,opts,idx,wb);if(opts.sheetFormat)o[o.length]=writextag("sheetFormatPr",null,{defaultRowHeight:opts.sheetFormat.defaultRowHeight||"16",baseColWidth:opts.sheetFormat.baseColWidth||"10"});if(ws["!cols"]!=null&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";ws["!links"]=[];if(ws["!ref"]!=null){rdata=write_ws_xml_data(ws,opts,idx,wb,rels);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!protect"]!=null)o[o.length]=write_ws_xml_protection(ws["!protect"]);if(ws["!autofilter"]!=null)o[o.length]=write_ws_xml_autofilter(ws["!autofilter"]);if(ws["!merges"]!=null&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);var relc=-1,rel,rId=-1;if(ws["!links"].length>0){o[o.length]="";ws["!links"].forEach(function(l){if(!l[1].Target)return;rId=add_rels(rels,-1,escapexml(l[1].Target).replace(/#.*$/,""),RELS.HLINK);rel={ref:l[0],"r:id":"rId"+rId};if((relc=l[1].Target.indexOf("#"))>-1)rel.location=escapexml(l[1].Target.substr(relc+1));if(l[1].Tooltip)rel.tooltip=escapexml(l[1].Tooltip);o[o.length]=writextag("hyperlink",null,rel)});o[o.length]=""}delete ws["!links"];if(ws["!margins"]!=null)o[o.length]=write_ws_xml_margins(ws["!margins"]);var hfidx=o.length;o[o.length]="";if(ws["!drawing"].length>0){rId=add_rels(rels,-1,"../drawings/drawing"+(idx+1)+".xml",RELS.DRAW);ws["!drawing"].rid=rId;o[o.length]=writextag("drawing",null,{"r:id":"rId"+rId})}else delete ws["!drawing"];if(ws["!comments"].length>0){rId=add_rels(rels,-1,"../drawings/vmlDrawing"+(idx+1)+".vml",RELS.VML);o[o.length]=writextag("legacyDrawing",null,{"r:id":"rId"+rId});ws["!legacy"]=rId}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z={};var tgt=data.l+length;z.r=data.read_shift(4);data.l+=4;var miyRw=data.read_shift(2);data.l+=1;var flags=data.read_shift(1);data.l=tgt;if(flags&16)z.hidden=true;if(flags&32)z.hpt=miyRw/20;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);var row=(ws["!rows"]||[])[R]||{};o.write_shift(4,R);o.write_shift(4,0);var miyRw=320;if(row.hpx)miyRw=px2pt(row.hpx)*20;else if(row.hpt)miyRw=row.hpt*20;o.write_shift(2,miyRw);o.write_shift(1,0);var flags=0;if(row.hidden)flags|=16;if(row.hpx||row.hpt)flags|=32;o.write_shift(1,flags);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 write_BrtWsProp(str,o){if(o==null)o=new_buf(84+4*str.length);for(var i=0;i<3;++i)o.write_shift(1,0);write_BrtColor({auto:1},o);o.write_shift(-4,-1);o.write_shift(-4,-1);write_XLSBCodeName(str,o);return o.slice(0,o.l)}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 end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaError(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaNum(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaString(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}var parse_BrtMergeCell=parse_UncheckedRfX;var write_BrtMergeCell=write_UncheckedRfX;function write_BrtBeginMergeCells(cnt,o){if(o==null)o=new_buf(4);o.write_shift(4,cnt);return o}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 write_BrtHLink(l,rId,o){if(o==null)o=new_buf(50+4*l[1].Target.length);write_UncheckedRfX({s:decode_cell(l[0]),e:decode_cell(l[0])},o);write_RelID("rId"+rId,o);var locidx=l[1].Target.indexOf("#");var loc=locidx==-1?"":l[1].Target.substr(locidx+1);write_XLWideString(loc||"",o);write_XLWideString(l[1].Tooltip||"",o);write_XLWideString("",o);return o.slice(0,o.l)}function parse_BrtArrFmla(data,length,opts){var end=data.l+length;var rfx=parse_RfX(data,16);var fAlwaysCalc=data.read_shift(1);var o=[rfx];o[2]=fAlwaysCalc;if(opts.cellFormula){var formula=parse_XLSBArrayParsedFormula(data,end-data.l,opts);o[1]=formula}else data.l=end;return o}function parse_BrtShrFmla(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var o=[rfx];if(opts.cellFormula){var formula=parse_XLSBSharedParsedFormula(data,end-data.l,opts);o[1]=formula;data.l=end}else data.l=end;return o}function write_BrtColInfo(C,col,o){if(o==null)o=new_buf(18);var p=col_obj_w(C,col);o.write_shift(-4,C);o.write_shift(-4,C);o.write_shift(4,(p.width||10)*256);o.write_shift(4,0);var flags=0;if(col.hidden)flags|=1;if(typeof p.width=="number")flags|=2;o.write_shift(1,flags);o.write_shift(1,0);return o}function parse_BrtMargins(data,length,opts){return{left:parse_Xnum(data,8),right:parse_Xnum(data,8),top:parse_Xnum(data,8),bottom:parse_Xnum(data,8),header:parse_Xnum(data,8),footer:parse_Xnum(data,8)}}function write_BrtMargins(margins,o){if(o==null)o=new_buf(6*8);default_margins(margins);write_Xnum(margins.left,o);write_Xnum(margins.right,o);write_Xnum(margins.top,o);write_Xnum(margins.bottom,o);write_Xnum(margins.header,o);write_Xnum(margins.footer,o);return o}function write_BrtBeginWsView(ws,o){if(o==null)o=new_buf(30);o.write_shift(2,924);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(4,0);o.write_shift(1,0);o.write_shift(1,0);o.write_shift(2,0);o.write_shift(2,100);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(2,0);o.write_shift(4,0);return o}function write_BrtSheetProtection(sp,o){if(o==null)o=new_buf(16*4+2);o.write_shift(2,sp.password?crypto_CreatePasswordVerifier_Method1(sp.password):0);o.write_shift(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(n){if(n[1])o.write_shift(4,sp[n[0]]!=null&&!sp[n[0]]?1:0);else o.write_shift(4,sp[n[0]]!=null&&sp[n[0]]?0:1)});return o}function parse_ws_bin(data,_opts,rels,wb,themes,styles){if(!data)return data;var opts=_opts||{};if(!rels)rels={"!id":{}};if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var s=opts.dense?[]:{};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,cell;var mergecells=[];opts.biff=12;opts["!row"]=0;var ai=0,af=false;var array_formulae=[];var shared_formulae={};var supbooks=[[]];supbooks.sharedf=shared_formulae;supbooks.arrayf=array_formulae;supbooks.SheetNames=wb.SheetNames||wb.Sheets.map(function(x){return x.name});opts.supbooks=supbooks;for(var i=0;i=aii[0].s.r&&row.r<=aii[0].e.r)if(C>=aii[0].s.c&&C<=aii[0].e.c){p.F=encode_range(aii[0]);af=true}}if(!af&&val.length>3)p.f=val[3]}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.r=val.s){colinfo[val.e--]={width:val.w/256,hidden:!!(val.flags&1)};if(!seencol){seencol=true;find_mdw_colw(val.w/256)}process_col(colinfo[val.e+1])}break;case 161:s["!autofilter"]={ref:encode_range(val)};break;case 476:s["!margins"]=val;break;case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 49:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 64:case 1053:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 151:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 152:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 50:case 2070:case 485:case 1045:case 147:break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);delete opts.supbooks;delete opts["!row"];if(!s["!ref"]&&(refguess.s.r<2e6||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){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(colinfo.length>0)s["!cols"]=colinfo;if(rowinfo.length>0)s["!rows"]=rowinfo;return s}function write_ws_bin_cell(ba,cell,R,C,opts,ws){if(cell.v===undefined)return"";var vv="";var olddate=null;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"d":cell.z=cell.z||SSF._table[14];olddate=cell.v;cell.v=datenum(cell.v);cell.t="n";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);if(cell.l)ws["!links"].push([encode_cell(o),cell.l]);if(cell.c)ws["!comments"].push([encode_cell(o),cell.c]);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));if(olddate){cell.t="d";cell.v=olddate}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");var dense=Array.isArray(ws);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;var cell=dense?(ws[R]||[])[C]:ws[ref];if(!cell)continue;write_ws_bin_cell(ba,cell,R,C,opts,ws)}}write_record(ba,"BrtEndSheetData")}function write_MERGECELLS(ba,ws){if(!ws||!ws["!merges"])return;write_record(ba,"BrtBeginMergeCells",write_BrtBeginMergeCells(ws["!merges"].length));ws["!merges"].forEach(function(m){write_record(ba,"BrtMergeCell",write_BrtMergeCell(m))});write_record(ba,"BrtEndMergeCells")}function write_COLINFOS(ba,ws,idx,opts,wb){if(!ws||!ws["!cols"])return;write_record(ba,"BrtBeginColInfos");ws["!cols"].forEach(function(m,i){if(m)write_record(ba,"BrtColInfo",write_BrtColInfo(i,m))});write_record(ba,"BrtEndColInfos")}function write_HLINKS(ba,ws,rels){ws["!links"].forEach(function(l){if(!l[1].Target)return;var rId=add_rels(rels,-1,l[1].Target.replace(/#.*$/,""),RELS.HLINK);write_record(ba,"BrtHLink",write_BrtHLink(l,rId))});delete ws["!links"]}function write_LEGACYDRAWING(ba,ws,idx,rels){if(ws["!comments"].length>0){var rId=add_rels(rels,-1,"../drawings/vmlDrawing"+(idx+1)+".vml",RELS.VML);write_record(ba,"BrtLegacyDrawing",write_RelID("rId"+rId));ws["!legacy"]=rId}}function write_AUTOFILTER(ba,ws){if(!ws["!autofilter"])return;write_record(ba,"BrtBeginAFilter",write_UncheckedRfX(decode_range(ws["!autofilter"].ref)));write_record(ba,"BrtEndAFilter")}function write_WSVIEWS2(ba,ws){write_record(ba,"BrtBeginWsViews");{write_record(ba,"BrtBeginWsView",write_BrtBeginWsView(ws));write_record(ba,"BrtEndWsView")}write_record(ba,"BrtEndWsViews")}function write_WSFMTINFO(ba,ws){}function write_SHEETPROTECT(ba,ws){if(!ws["!protect"])return;write_record(ba,"BrtSheetProtection",write_BrtSheetProtection(ws["!protect"]))}function write_ws_bin(idx,opts,wb,rels){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");ws["!links"]=[];ws["!comments"]=[];write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsProp",write_BrtWsProp(s));write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_WSVIEWS2(ba,ws);write_WSFMTINFO(ba,ws);write_COLINFOS(ba,ws,idx,opts,wb);write_CELLTABLE(ba,ws,idx,opts,wb);write_SHEETPROTECT(ba,ws);write_AUTOFILTER(ba,ws);write_MERGECELLS(ba,ws);write_HLINKS(ba,ws,rels);if(ws["!margins"])write_record(ba,"BrtMargins",write_BrtMargins(ws["!margins"]));write_LEGACYDRAWING(ba,ws,idx,rels);write_record(ba,"BrtEndSheet");return ba.end()}function parse_numCache(data){var col=[];(data.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(pt){var q=pt.match(/(.*)<\/c:v><\/c:pt>/);if(!q)return;col[+q[1]]=+q[2]});var nf=unescapexml((data.match(/(.*?)<\/c:formatCode>/)||["","General"])[1]);return[col,nf]}function parse_chart(data,name,opts,rels,wb,csheet){var cs=csheet||{"!type":"chart"};if(!data)return csheet;var C=0,R=0,col="A";var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};(data.match(/.*?<\/c:numCache>/gm)||[]).forEach(function(nc){var cache=parse_numCache(nc);refguess.s.r=refguess.s.c=0;refguess.e.c=C;col=encode_col(C);cache[0].forEach(function(n,i){cs[col+encode_row(i)]={t:"n",v:n,z:cache[1]};R=i});if(refguess.e.r0)cs["!ref"]=encode_range(refguess);return cs}RELS.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";var CS_XML_ROOT=writextag("chartsheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function parse_cs_xml(data,opts,rels,wb,themes,styles){if(!data)return data;if(!rels)rels={"!id":{}};var s={"!type":"chart","!chart":null,"!rel":""};var m;if(m=data.match(/drawing r:id="(.*?)"/))s["!rel"]=m[1];if(rels["!id"][s["!rel"]])s["!chart"]=rels["!id"][s["!rel"]];return s}function write_cs_xml(idx,opts,wb,rels){var o=[XML_HEADER,CS_XML_ROOT];o[o.length]=writextag("drawing",null,{"r:id":"rId1"});add_rels(rels,-1,"../drawings/drawing"+(idx+1)+".xml",RELS.DRAW);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_cs_bin(data,opts,rels,wb,themes,styles){if(!data)return data;if(!rels)rels={"!id":{}};var s={"!type":"chart","!chart":null,"!rel":""};var state=[];var pass=false;recordhopper(data,function cs_parse(val,R_n,RT){switch(RT){case 550:s["!rel"]=val;break;case 562:case 652:case 651:case 669:case 679:case 551:case 552:case 476:break;case 35:pass=true;break;case 36:pass=false;break;case 37:state.push(R_n);break;case 38:state.pop();break;default:if((R_n||"").indexOf("Begin")>0)state.push(R_n);else if((R_n||"").indexOf("End")>0)state.pop();else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);if(rels["!id"][s["!rel"]])s["!chart"]=rels["!id"][s["!rel"]];return s}function write_cs_bin(idx,opts,wb,rels){var ba=buf_array();write_record(ba,"BrtBeginSheet");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=[];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")}function check_wb_names(N){var badchars="][*?/\\".split("");N.forEach(function(n,i){badchars.forEach(function(c){if(n.indexOf(c)>-1)throw new Error("Sheet name cannot contain : \\ / ? * [ ]")});if(n.length>31)throw new Error("Sheet names cannot exceed 31 chars");for(var j=0;j":break;case"":case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":{dname.Ref=data.slice(dnstart,idx);wb.Names.push(dname)}break;case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":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 new Error("unrecognized "+y[0]+" in workbook")}return x});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){if(!wb.Workbook)return"false";if(!wb.Workbook.WBProps)return"false";return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;var write_names=wb.Workbook&&(wb.Workbook.Names||[]).length>0;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb),codeName:"ThisWorkbook"});o[o.length]="";var sheets=wb.Workbook&&wb.Workbook.Sheets||[];for(var i=0;i!=wb.SheetNames.length;++i){var sht={name:escapexml(wb.SheetNames[i].substr(0,31))};sht.sheetId=""+(i+1);sht["r:id"]="rId"+(i+1);if(sheets[i])switch(sheets[i].Hidden){case 1:sht.state="hidden";break;case 2:sht.state="veryHidden";break}o[o.length]=writextag("sheet",null,sht)}o[o.length]="";if(write_names){o[o.length]="";if(wb.Workbook&&wb.Workbook.Names)wb.Workbook.Names.forEach(function(n){var d={name:n.Name};if(n.Comment)d.comment=n.Comment;if(n.Sheet!=null)d.localSheetId=""+n.Sheet;if(!n.Ref)return;o[o.length]=writextag("definedName",String(n.Ref),d)});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.Hidden=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.Hidden);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(72);o.write_shift(4,0);o.write_shift(4,0);write_XLSBCodeName("ThisWorkbook",o);return o.slice(0,o.l)}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_BrtName(data,length,opts){var end=data.l+length;var flags=data.read_shift(4);var chKey=data.read_shift(1);var itab=data.read_shift(4);var name=parse_XLNameWideString(data);var formula=parse_XLSBNameParsedFormula(data,0,opts);var comment=parse_XLNullableWideString(data);data.l=end;var out={Name:name,Ptg:formula,Comment:comment};if(itab<268435455)out.Sheet=itab;return out}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;if(!opts)opts={};opts.biff=12;var Names=[];var supbooks=[];supbooks.SheetNames=[];recordhopper(data,function hopper_wb(val,R_n,RT){switch(RT){case 156:supbooks.SheetNames.push(val.name);wb.Sheets.push(val);break;case 39:val.Ref=stringify_formula(val.Ptg,null,null,supbooks,opts);delete val.Ptg;Names.push(val);break;case 1036:break;case 2071:case 534:case 677:case 158:case 157:case 610:case 2050:case 362:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 361:case 596:case 667:case 355:case 358:case 357:case 2076:case 2075:case 2082:case 397:case 154:case 153:case 1117:case 553:case 2091:break;case 35:pass=true;break;case 36:pass=false;break;case 37:break;case 38:break;case 16:break;default:if((R_n||"").indexOf("Begin")>0){}else if((R_n||"").indexOf("End")>0){}else if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R_n)}},opts);parse_wb_defaults(wb);wb.Names=Names;return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var viz=wb.Workbook&&wb.Workbook.Sheets&&wb.Workbook.Sheets[idx]&&wb.Workbook.Sheets[idx].Hidden||0;var d={Hidden:viz,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_BrtBookView(idx,o){if(!o)o=new_buf(29);o.write_shift(-4,0);o.write_shift(-4,460);o.write_shift(4,28800);o.write_shift(4,17600);o.write_shift(4,500);o.write_shift(4,idx);o.write_shift(4,idx);var flags=120;o.write_shift(1,flags);return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){if(!wb.Workbook||!wb.Workbook.Sheets)return;var sheets=wb.Workbook.Sheets;var i=0,vistab=-1,hidden=-1;for(;ivistab)return;write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtBookView",write_BrtBookView(vistab));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());write_record(ba,"BrtWbProp",write_BrtWbProp());write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.slice(-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ws_bin(data,opts,rels,wb,themes,styles);return parse_ws_xml(data,opts,rels,wb,themes,styles)}function parse_cs(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_cs_bin(data,opts,rels,wb,themes,styles);return parse_cs_xml(data,opts,rels,wb,themes,styles)}function parse_ms(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ms_bin(data,opts,rels,wb,themes,styles);return parse_ms_xml(data,opts,rels,wb,themes,styles)}function parse_ds(data,name,opts,rels,wb,themes,styles){if(name.slice(-4)===".bin")return parse_ds_bin(data,opts,rels,wb,themes,styles);return parse_ds_xml(data,opts,rels,wb,themes,styles)}function parse_sty(data,name,themes,opts){if(name.slice(-4)===".bin")return parse_sty_bin(data,themes,opts);return parse_sty_xml(data,themes,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.slice(-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.slice(-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.slice(-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.slice(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb,rels){return(name.slice(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb,rels)}function write_cs(data,name,opts,wb,rels){return(name.slice(-4)===".bin"?write_cs_bin:write_cs_xml)(data,opts,wb,rels)}function write_sty(data,name,opts){return(name.slice(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.slice(-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}function write_cmnt(data,name,opts){return(name.slice(-4)===".bin"?write_comments_bin:write_comments_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){var oval=val;switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":oval=parsexmlbool(val);break;case"i2":case"int":oval=parseInt(val,10);break;case"r4":case"float":oval=parseFloat(val);break;case"date":case"dateTime.tz":oval=parseDate(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+cp[0])}Custprops[unescapexml(Rn[3])]=oval}function safe_format_xlml(cell,nf,o){if(cell.t==="z")return;if(!o||o.cellText!==false)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)}catch(e){if(o.WTF)throw e}try{var z=XLMLFormatMap[nf]||nf||"General";if(o.cellNF)cell.z=z;if(o.cellDates&&cell.t=="n"&&SSF.is_date(z)){var _d=SSF.parse_date_code(cell.v);if(_d){cell.t="d";cell.v=new Date(Date.UTC(_d.y,_d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u))}}}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,arrayf,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];var i=0;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?unescapexml(ss):cell.r;break;case"DateTime":cell.v=(parseDate(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<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];if(o.cellText!==false)cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss||xml);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!==false){if(cell.Formula){var fstr=unescapexml(cell.Formula);if(fstr.charCodeAt(0)==61)fstr=fstr.substr(1);cell.f=rc_to_a1(fstr,base);delete cell.Formula;if(cell.ArrayRange=="RC")cell.F=rc_to_a1("RC:RC",base);else if(cell.ArrayRange){cell.F=rc_to_a1(cell.ArrayRange,base);arrayf.push([safe_decode_range(cell.F),cell.F])}}else{for(i=0;i=arrayf[i][0].s.r&&base.r<=arrayf[i][0].e.r)if(base.c>=arrayf[i][0].s.c&&base.c<=arrayf[i][0].e.c)cell.F=arrayf[i][1]}}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.t=comment.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");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=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function parse_xlml_xml(d,opts){make_ssf(SSF);var str=debom(xlml_normalize(d));if(opts&&opts.type=="binary"&&typeof cptable!=="undefined")str=cptable.utils.decode(65001,char_codes(str));if(str.substr(0,1e3).indexOf("=0)return HTML_.to_workbook(str,opts);var Rn;var state=[],tmp;if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var sheets={},sheetnames=[],cursheet=opts.dense?[]:{},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,seencol=false;var arrayf=[];var rowinfo=[],rowobj={};var Workbook={Sheets:[]},wsprops={};xlmlregex.lastIndex=0;str=str.replace(//gm,"");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,arrayf,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){if(opts.dense){if(!cursheet[r])cursheet[r]=[];cursheet[r][c]=cell}else cursheet[encode_col(c)+encode_row(r)]=cell}if(cell.HRef){cell.l={Target:cell.HRef,Tooltip:cell.HRefScreenTip};delete cell.HRef;delete cell.HRefScreenTip}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}})}if(!opts.sheetStubs){if(cell.MergeAcross)c=cc+1;else++c}else if(cell.MergeAcross||cell.MergeDown){for(var cma=c;cma<=cc;++cma){for(var cmd=r;cmd<=rr;++cmd){if(cma>c||cmd>r){if(opts.dense){if(!cursheet[cmd])cursheet[cmd]=[];cursheet[cmd][cma]={t:"z"}}else cursheet[encode_col(cma)+encode_row(cmd)]={t:"z"}}}}c=cc+1}else++c}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].slice(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].slice(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].slice(-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;rowobj={};if(row.AutoFitHeight=="0"){rowobj.hpx=parseInt(row.Height,10);rowobj.hpt=px2pt(rowobj.hpx);rowinfo[r]=rowobj}if(row.Hidden=="1"){rowobj.hidden=true;rowinfo[r]=rowobj}}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));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;if(cstys.length>0)cursheet["!cols"]=cstys;if(rowinfo.length>0)cursheet["!rows"]=rowinfo;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=unescapexml(tmp.Name);cursheet=opts.dense?[]:{};mergecells=[];arrayf=[];rowinfo=[];wsprops={name:sheetname,Hidden:0};Workbook.Sheets.push(wsprops)}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[];seencol=false}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=unescapexml(xlml_parsexmltag(Rn[0]).Format||"General");if(XLMLFormatMap[stag.nf])stag.nf=XLMLFormatMap[stag.nf];for(var ssfidx=0;ssfidx!=392;++ssfidx)if(SSF._table[ssfidx]==stag.nf)break;if(ssfidx==392)for(ssfidx=57;ssfidx!=392;++ssfidx)if(SSF._table[ssfidx]==null){SSF.load(stag.nf,ssfidx);break}break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);if(csty.Hidden){csty.hidden=true;delete csty.Hidden}if(csty.Width)csty.wpx=parseInt(csty.Width,10);if(!seencol&&csty.wpx>10){seencol=true;MDW=DEF_MDW;for(var _col=0;_col0)_DefinedName.Sheet=Workbook.Sheets.length-1;Workbook.Names.push(_DefinedName);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].slice(-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":case"ContentStatus":case"Identifier":case"Language":if(Rn[0].slice(-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 new Error("Bad state: "+tmp.join("|"))}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"AutoFilter":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){var AutoFilter=xlml_parsexmltag(Rn[0]);cursheet["!autofilter"]={ref:rc_to_a1(AutoFilter.Range).replace(/\$/g,"")};state.push([Rn[3],true])}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"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 new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:if(state.length==0&&Rn[3]=="document")return parse_fods(str,opts);if(state.length==0&&Rn[3]=="UOF")return parse_fods(str,opts);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"Visible":if(Rn[0].slice(-2)==="/>"){}else if(Rn[1]==="/")switch(str.slice(pidx,Rn.index)){case"SheetHidden":wsprops.Hidden=1;break;case"SheetVeryHidden":wsprops.Hidden=2;break}else pidx=Rn.index+Rn[0].length;break;case"Header":if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");cursheet["!margins"].header=parsexmltag(Rn[0]).Margin;break;case"Footer":if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");cursheet["!margins"].footer=parsexmltag(Rn[0]).Margin;break;case"PageMargins":var pagemargins=parsexmltag(Rn[0]);if(!cursheet["!margins"])default_margins(cursheet["!margins"]={},"xlml");if(pagemargins.Top)cursheet["!margins"].top=pagemargins.Top;if(pagemargins.Left)cursheet["!margins"].left=pagemargins.Left;if(pagemargins.Right)cursheet["!margins"].right=pagemargins.Right;if(pagemargins.Bottom)cursheet["!margins"].bottom=pagemargins.Bottom;break;case"Unsynced":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"PageSetup":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].slice(-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.Workbook=Workbook;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_props_xlml(wb,opts){var o=[];if(wb.Props)o.push(xlml_write_docprops(wb.Props,opts));if(wb.Custprops)o.push(xlml_write_custprops(wb.Props,wb.Custprops,opts));return o.join("")}function write_wb_xlml(wb,opts){return""}function write_sty_xlml(wb,opts){return""}function write_ws_xlml_wsopts(ws,opts,idx,wb){if(!ws)return"";var o=[];if(ws["!margins"]){o.push("");if(ws["!margins"].header)o.push(writextag("Header",null,{"x:Margin":ws["!margins"].header}));if(ws["!margins"].footer)o.push(writextag("Footer",null,{"x:Margin":ws["!margins"].footer}));o.push(writextag("PageMargins",null,{"x:Bottom":ws["!margins"].bottom||"0.75","x:Left":ws["!margins"].left||"0.7","x:Right":ws["!margins"].right||"0.7","x:Top":ws["!margins"].top||"0.75"}));o.push("")}if(wb&&wb.Workbook&&wb.Workbook.Sheets&&wb.Workbook.Sheets[idx]){if(wb.Workbook.Sheets[idx].Hidden)o.push(writextag("Visible",wb.Workbook.Sheets[idx].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(ws["!protect"]){o.push(writetag("ProtectContents","True"));if(ws["!protect"].objects)o.push(writetag("ProtectObjects","True"));if(ws["!protect"].scenarios)o.push(writetag("ProtectScenarios","True"));if(ws["!protect"].selectLockedCells!=null&&!ws["!protect"].selectLockedCells)o.push(writetag("EnableSelection","NoSelection"));else if(ws["!protect"].selectUnlockedCells!=null&&!ws["!protect"].selectUnlockedCells)o.push(writetag("EnableSelection","UnlockedCells"));[["formatColumns","AllowFormatCells"],["formatRows","AllowSizeCols"],["formatCells","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(x){if(ws["!protect"][x[0]])o.push("<"+x[1]+"/>")})}if(o.length==0)return"";return writextag("WorksheetOptions",o.join(""),{xmlns:XLMLNS.x})}function write_ws_xlml_comment(comments){return comments.map(function(c){var t=xlml_unfixstr(c.t||"");var d=writextag("ss:Data",t,{xmlns:"http://www.w3.org/TR/REC-html40"});return writextag("Comment",d,{"ss:Author":c.a})}).join("")}function write_ws_xlml_cell(cell,ref,ws,opts,idx,wb,addr){if(!cell||cell.v==undefined&&cell.f==undefined)return" | ";var attr={};if(cell.f)attr["ss:Formula"]="="+escapexml(a1_to_rc(cell.f,addr));if(cell.F&&cell.F.substr(0,ref.length)==ref){var end=decode_cell(cell.F.substr(ref.length+1));attr["ss:ArrayRange"]="RC:R"+(end.r==addr.r?"":"["+(end.r-addr.r)+"]")+"C"+(end.c==addr.c?"":"["+(end.c-addr.c)+"]")}if(cell.l&&cell.l.Target){attr["ss:HRef"]=escapexml(cell.l.Target);if(cell.l.Tooltip)attr["x:HRefScreenTip"]=escapexml(cell.l.Tooltip)}if(ws["!merges"]){var marr=ws["!merges"];for(var mi=0;mi!=marr.length;++mi){if(marr[mi].s.c!=addr.c||marr[mi].s.r!=addr.r)continue;if(marr[mi].e.c>marr[mi].s.c)attr["ss:MergeAcross"]=marr[mi].e.c-marr[mi].s.c;if(marr[mi].e.r>marr[mi].s.r)attr["ss:MergeDown"]=marr[mi].e.r-marr[mi].s.r}}var t="",p="";switch(cell.t){case"z":return"";case"n":t="Number";p=String(cell.v);break;case"b":t="Boolean";p=cell.v?"1":"0";break;case"e":t="Error";p=BErr[cell.v];break;case"d":t="DateTime";p=new Date(cell.v).toISOString();break;case"s":t="String";p=escapexml(cell.v||"");break}var _v=cell.v!=null?p:"";if(opts&&opts.type=="binary"&&typeof cptable!=="undefined"&&cell.t=="s"){_v=cptable.utils.encode(65001,_v);var __v="";for(var __i=0;__i<_v.length;++__i)__v+=String.fromCharCode(_v[__i]);_v=__v}var m=''+_v+"";if((cell.c||[]).length>0)m+=write_ws_xlml_comment(cell.c);return writextag("Cell",m,attr)}function write_ws_xlml_row(R,row){var o='"}function write_ws_xlml_table(ws,opts,idx,wb){if(!ws["!ref"])return"";var range=safe_decode_range(ws["!ref"]);var marr=ws["!merges"]||[],mi=0;var o=[];if(ws["!cols"])ws["!cols"].forEach(function(n,i){process_col(n);var w=!!n.width;var p=col_obj_w(i,n);var k={"ss:Index":i+1};if(w)k["ss:Width"]=width2px(p.width);if(n.hidden)k["ss:Hidden"]="1";o.push(writextag("Column",null,k))});var dense=Array.isArray(ws);for(var R=range.s.r;R<=range.e.r;++R){var row=[write_ws_xlml_row(R,(ws["!rows"]||[])[R])];for(var C=range.s.c;C<=range.e.c;++C){var skip=false;for(mi=0;mi!=marr.length;++mi){if(marr[mi].s.c>C)continue;if(marr[mi].s.r>R)continue;if(marr[mi].e.c");if(row.length>2)o.push(row.join(""))}return o.join("")}function write_ws_xlml(idx,opts,wb){var o=[];var s=wb.SheetNames[idx];var ws=wb.Sheets[s];var t=ws?write_ws_xlml_table(ws,opts,idx,wb):"";if(t.length>0)o.push("");o.push(write_ws_xlml_wsopts(ws,opts,idx,wb));return o.join("")}function write_xlml(wb,opts){var d=[];d.push(write_props_xlml(wb,opts));d.push(write_wb_xlml(wb,opts));d.push(write_sty_xlml(wb,opts));for(var i=0;i400)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;j1)return;if(!cell_valid)return;if(options.cellStyles&&line.XF&&line.XF.data)process_cell_style(cell,line,options);lastcell=cell;last_cell=encode_cell(cell);if(range.s){if(cell.rrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.cellFormula&&line.f){for(var afi=0;aficell.c)continue;if(array_formulae[afi][0].s.r>cell.r)continue;if(array_formulae[afi][0].e.c=options.sheetRows)cell_valid=false;else{if(options.dense){if(!out[cell.r])out[cell.r]=[];out[cell.r][cell.c]=line}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,cellStyles:!!options&&!!options.cellStyles,WTF:!!options&&!!options.wtf};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var colinfo=[],rowinfo=[];var defwidth=0,defheight=0;var seencol=false;var supbooks=[];supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;supbooks.names=[];supbooks.XTI=[];var last_Rn="";var file_depth=0;var BIFF2Fmt=0;var BIFF2FmtTable=[];var FilterDatabases=[];var last_lbl;opts.codepage=1200;set_cp(1200);while(blob.l0)last_lbl.Sheet=val.itab-1;supbooks.names.push(last_lbl);if(!supbooks[0])supbooks[0]=[];supbooks[supbooks.length-1].push(val);if(val.Name=="\r"&&val.itab>0)if(val.rgce&&val.rgce[0]&&val.rgce[0][0]&&val.rgce[0][0][0]=="PtgArea3d")FilterDatabases[val.itab-1]={ref:encode_range(val.rgce[0][0][1][2])};break;case"ExternSheet":if(supbooks.length==0){supbooks[0]=[];supbooks[0].XTI=[]}supbooks[supbooks.length-1].XTI=supbooks[supbooks.length-1].XTI.concat(val);supbooks.XTI=supbooks.XTI.concat(val);break;case"NameCmt":if(opts.biff<8)break;last_lbl.Comment=val[1];break;case"Protect":out["!protect"]=val;break;case"Password":if(val!==0&&opts.WTF)console.error("Password verifier: "+val);break;case"Prot4Rev":case"Prot4RevPass":break;case"BoundSheet8":{Directory[val.pos]=val;opts.snames.push(val.name)}break;case"EOF":{if(--file_depth)break;if(range.e){if(range.e.r>0&&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(colinfo.length>0)out["!cols"]=colinfo;if(rowinfo.length>0)out["!rows"]=rowinfo;Workbook.Sheets.push(wsprops)}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out=options.dense?[]:{}}break;case"BOF":{if(opts.biff!==8){}else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===1536)opts.biff=8;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;if(file_depth++)break;cell_valid=true;out=options.dense?[]:{};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;if(val.dt==32)out["!type"]="chart";mergecells=[];objects=[];array_formulae=[];opts.arrayf=array_formulae;colinfo=[];rowinfo=[];defwidth=defheight=0;seencol=false;wsprops={Hidden:(Directory[s]||{hs:0}).hs,name:cur_sheet}}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{if(out["!type"]=="chart")if(options.dense?(out[val.r]||[])[val.c]:out[encode_cell({c:val.c,r:val.r})])++val.c;temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe]||{},v:val.val,t:"n"};if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];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(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];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(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];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(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{if(val.val=="String"){last_formula=val;break}temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula){var _f=val.formula;if(_f&&_f[0]&&_f[0][0]&&_f[0][0][0]=="PtgExp"){var _fr=_f[0][0][1][0],_fc=_f[0][0][1][1];var _fe=encode_cell({r:_fr,c:_fc});if(shared_formulae[_fe])temp_val.f=""+stringify_formula(val.formula,range,val.cell,supbooks,opts);else temp_val.F=((options.dense?(out[_fr]||[])[_fc]:out[_fe])||{}).F}else temp_val.f=""+stringify_formula(val.formula,range,val.cell,supbooks,opts)}if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];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: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(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}else throw new Error("String record expects Formula")}break;case"Array":{array_formulae.push(val);var _arraystart=encode_cell(val[0].s);cc=options.dense?(out[val[0].s.r]||[])[val[0].s.c]:out[_arraystart];if(options.cellFormula&&cc){if(!last_formula)break;if(!_arraystart||!cc)break;cc.f=""+stringify_formula(val[1],range,val[0],supbooks,opts);cc.F=encode_range(val[0])}}break;case"ShrFmla":{if(!cell_valid)break;if(!options.cellFormula)break;if(last_cell){if(!last_formula)break;shared_formulae[encode_cell(last_formula.cell)]=val[0];cc=options.dense?(out[last_formula.cell.r]||[])[last_formula.cell.c]:out[encode_cell(last_formula.cell)];(cc||{}).f=""+stringify_formula(val[0],range,lastcell,supbooks,opts)}}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Blank":if(options.sheetStubs){temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],t:"z"};if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulBlank":if(options.sheetStubs){for(var _j=val.c;_j<=val.C;++_j){var _ixfe=val.ixfe[_j-val.c];temp_val={ixfe:_ixfe,XF:XFs[_ixfe],t:"z"};if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:_j,r:val.r},temp_val,options)}}break;case"RString":case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(BIFF2Fmt>0)temp_val.z=BIFF2FmtTable[temp_val.ixfe>>8&31];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":{BIFF2FmtTable[BIFF2Fmt++]=val;for(var b2idx=0;b2idx=163)SSF.load(val,BIFF2Fmt+163)}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"ImData":opts.lastobj.ImData=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){cc=options.dense?(out[rngR]||[])[rngC]:out[encode_cell({c:rngC,r:rngR})];if(cc)cc.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){cc=options.dense?(out[rngR]||[])[rngC]:out[encode_cell({c:rngC,r:rngR})];if(cc)cc.l.Tooltip=val[1]}}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=options.dense?(out[val[0].r]||[])[val[0].c]: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"DefColWidth":defwidth=val;break;case"DefaultRowHeight":defheight=val[1];break;case"ColInfo":{if(!opts.cellStyles)break;while(val.e>=val.s){colinfo[val.e--]={width:val.w/256};if(!seencol){seencol=true;find_mdw_colw(val.w/256)}process_col(colinfo[val.e+1])}}break;case"Row":{var rowobj={};if(val.hidden){rowinfo[val.r]=rowobj;rowobj.hidden=true}if(val.hpt){rowinfo[val.r]=rowobj;rowobj.hpt=val.hpt;rowobj.hpx=pt2px(val.hpt)}}break;case"LeftMargin":case"RightMargin":case"TopMargin":case"BottomMargin":if(!out["!margins"])default_margins(out["!margins"]={});switch(Rn){case"LeftMargin":out["!margins"].left=val;break;case"RightMargin":out["!margins"].right=val;break;case"TopMargin":out["!margins"].top=val;break;case"BottomMargin":out["!margins"].bottom=val;break}break;case"Setup":if(!out["!margins"])default_margins(out["!margins"]={});out["!margins"].header=val.header;out["!margins"].footer=val.footer;break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"GCW":break;case"LHRecord":break;case"DBCell":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"Country":country=val;break;case"RecalcId":break;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":break;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"WebPub":case"AutoWebPub":break;case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":break;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"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":case"BIFF2FONTXTRA":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":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;if(wb.Sheets)FilterDatabases.forEach(function(r,i){wb.Sheets[wb.SheetNames[i]]["!autofilter"]=r});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;if(supbooks.names.length>0)Workbook.Names=supbooks.names;wb.Workbook=Workbook;return wb}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){}}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 if(cfb.find("PerfectOffice_MAIN"))WorkbookP=WK_.to_workbook(cfb.find("PerfectOffice_MAIN").content,options);else if(cfb.find("NativeContent_MAIN"))WorkbookP=WK_.to_workbook(cfb.find("NativeContent_MAIN").content,options);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;return WorkbookP}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:parse_BrtName},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:parse_ColInfo},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:parse_UncheckedRfX},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:parse_BrtArrFmla},427:{n:"BrtShrFmla",f:parse_BrtShrFmla},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:parse_BrtMargins},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:parse_RelID},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},518:{n:"Formula",f:parse_Formula},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},1030:{n:"Formula",f:parse_Formula},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,r:12},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:"Dimensions",f:parse_Dimensions},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},22:{n:"ExternCount",f:parsenoop},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},32:{n:"BIFF2COLINFO",f:parsenoop},33:{n:"Array",f:parse_Array},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:parse_ImData},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:parse_RString},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},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&&v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,v));return;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));return;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));return}write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}function write_biff_ws(ba,ws,idx,opts,wb){var dense=Array.isArray(ws);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;var cell=dense?ws[R][C]:ws[ref];if(!cell)continue;write_ws_biff_cell(ba,cell,R,C,opts)}}}function write_biff_buf(wb,opts){var o=opts||{};if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ba=buf_array();var idx=0;for(var i=0;i / pair");var rows=str.slice(i,j).split(/(:?]*>)/);var R=-1,C=0,RS=0,CS=0;var range={s:{r:1e7,c:1e7},e:{r:0,c:0}};var merges=[],midx=0;for(i=0;i");for(j=0;j"))>-1)m=m.slice(cc+1);while(m.indexOf(">")>-1)m=m.slice(0,m.lastIndexOf("<"));var tag=parsexmltag(cell.slice(0,cell.indexOf(">")));CS=tag.colspan?+tag.colspan:1;if((RS=+tag.rowspan)>0||CS>1)merges.push({s:{r:R,c:C},e:{r:R+(RS||1)-1,c:C+CS-1}});if(!m.length){C+=CS;continue}m=unescapexml(m).replace(/[\r\n]/g,"");if(range.s.r>R)range.s.r=R;if(range.e.rC)range.s.c=C;if(range.e.cR||M[j].s.c>C)continue;if(M[j].e.r");continue}var w=cell.h||escapexml(cell.w||(format_cell(cell),cell.w)||"");var sp={};if(RS>1)sp.rowspan=RS;if(CS>1)sp.colspan=CS;oo.push(writextag("td",w,sp))}return""+oo.join("")+"
"}function sheet_to_html(ws,opts){var o=[];var r=decode_range(ws["!ref"]);o.dense=Array.isArray(ws);for(var R=r.s.r;R<=r.e.r;++R)o.push(make_html_row(ws,r,R,o));return""}return{to_workbook:html_to_book,to_sheet:html_to_sheet,_row:make_html_row,from_sheet:sheet_to_html}}();function parse_dom_table(table,_opts){var opts=_opts||{};if(DENSE!=null)opts.dense=DENSE;var ws=opts.dense?[]:{};var rows=table.getElementsByTagName("tr");var range={s:{r:0,c:0},e:{r:rows.length-1,c:0}};var merges=[],midx=0;var R=0,_C=0,C=0,RS=0,CS=0;for(;R0||CS>1)merges.push({s:{r:R,c:C},e:{r:R+(RS||1)-1,c:C+CS-1}});var o={t:"s",v:v};if(v!=null&&v.length&&!isNaN(Number(v)))o={t:"n",v:Number(v)};if(opts.dense){if(!ws[R])ws[R]=[];ws[R][C]=o}else ws[encode_cell({c:C,r:R})]=o;if(range.e.c/g," ").replace(/<[^>]*>/g,""))};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 opts=_opts||{};if(DENSE!=null&&opts.dense==null)opts.dense=DENSE;var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var rowtag;var Sheets={},SheetNames=[];var ws=opts.dense?[]:{};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 arrayf=[];var comments=[],comment={};var creator="",creatoridx=0;var rept=1,isstub=false;var i=0;xlmlregex.lastIndex=0;str=str.replace(//gm,"").replace(//gm,"");while(Rn=xlmlregex.exec(str))switch(Rn[3]=Rn[3].replace(/_.*$/,"")){case"table":case"工作表":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag["名称"]||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=opts.dense?[]:{};merges=[]}break;case"table-row":case"行":if(Rn[1]==="/")break;rowtag=parsexmltag(Rn[0],false);if(rowtag["行号"])R=rowtag["行号"]-1;else++R;C=-1;break;case"covered-table-cell":++C;if(opts.sheetStubs){if(opts.dense){if(!ws[R])ws[R]=[];ws[R][C]={t:"z"}}else ws[encode_cell({r:R,c:C})]={t:"z"}}break;case"table-cell":case"数据":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(C=arrayf[i][0].s.r&&R<=arrayf[i][0].e.r)if(C>=arrayf[i][0].s.c&&C<=arrayf[i][0].e.c)q.F=arrayf[i][1]}if(ctag["number-columns-spanned"]||ctag["number-rows-spanned"]){mR=parseInt(ctag["number-rows-spanned"],10)||0;mC=parseInt(ctag["number-columns-spanned"],10)||0;mrange={s:{r:R,c:C},e:{r:R+mR-1,c:C+mC-1}};merges.push(mrange)}if(ctag["number-columns-repeated"])rept=parseInt(ctag["number-columns-repeated"],10);switch(q.t){case"boolean":q.t="b";q.v=parsexmlbool(ctag["boolean-value"]);break;case"float":q.t="n";q.v=parseFloat(ctag.value);break;case"percentage":q.t="n";q.v=parseFloat(ctag.value);break;case"currency":q.t="n";q.v=parseFloat(ctag.value);break;case"date":q.t="d";q.v=parseDate(ctag["date-value"]);if(!opts.cellDates){q.t="n";q.v=datenum(q.v)}q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;case"number":q.t="n";q.v=parseFloat(ctag["数据数值"]);break;default:if(q.t==="string"||q.t==="text"||!q.t){q.t="s";if(ctag["string-value"]!=null)textp=unescapexml(ctag["string-value"])}else throw new Error("Unsupported value type "+q.t)}}else{isstub=false;if(q.t==="s"){q.v=textp||"";isstub=textpidx==0}if(comments.length>0){q.c=comments;comments=[]}if(textp&&opts.cellText!==false)q.w=textp;if(!isstub||opts.sheetStubs){if(!(opts.sheetRows&&opts.sheetRows0)ws[R][++C]=dup(q)}else{ws[encode_cell({r:R,c:C})]=q;while(--rept>0)ws[encode_cell({r:R,c:++C})]=dup(q)}if(range.e.c<=C)range.e.c=C}}else{C+=rept;rept=0}q={};textp=""}break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":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"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;comment.t=textp;comment.a=creator;comments.push(comment)}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){state.push([Rn[3],false])}creator="";creatoridx=0;textp="";textpidx=0;break;case"creator":if(Rn[1]==="/"){creator=str.slice(creatoridx,Rn.index)}else creatoridx=Rn.index+Rn[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":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]);textp="";textpidx=0;break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":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"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":case"page-layout":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].slice(-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":case"电子表格":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":case"文本串":if(Rn[1]==="/")textp=(textp.length>0?textp+"\n":"")+parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"database-range":if(Rn[1]==="/")break;try{var AutoFilter=ods_to_csf_range_3D(parsexmltag(Rn[0])["target-range-address"]);Sheets[AutoFilter[0]]["!autofilter"]={ref:AutoFilter[1]}}catch(e){}break;case"s":break;case"date":break;case"object":break;case"title":case"标题":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"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"event-listener":break;case"initial-creator":case"creation-date":case"generator":case"document-statistic":case"user-defined":break;case"config-item":break;
+case"page-number":break;case"page-count":break;case"time":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]==="style:")break;if(Rn[2]==="calcext:")break;if(Rn[2]==="loext:")break;if(Rn[2]==="uof:")break;if(Rn[2]==="表:")break;if(Rn[2]==="字:")break;if(opts.WTF)throw new Error(Rn)}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var covered_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=decode_range(ws["!ref"]);var marr=ws["!merges"]||[],mi=0;var dense=Array.isArray(ws);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;CC)continue;if(marr[mi].s.r>R)continue;if(marr[mi].e.c\n")}o.push(" \n");return o.join("")};var write_automatic_styles_ods=function(o){o.push(" \n");o.push(' \n');o.push(' \n');o.push(" /\n");o.push(' \n');o.push(" /\n");o.push(" \n");o.push(" \n");o.push(' \n');o.push(" \n")};return function wcx(wb,opts){var o=[XML_HEADER];var attr=wxt_helper({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var fods=wxt_helper({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(opts.bookType=="fods")o.push("\n");else o.push("\n");write_automatic_styles_ods(o);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");if(opts.bookType=="fods")o.push("");else o.push("");return o.join("")}}();function write_obj_str(factory){return function write_str(wb,o){var idx=0;for(var i=0;i-1)return"sheet";if(RELS.CS&&n==RELS.CS)return"chart";if(RELS.DS&&n==RELS.DS)return"dialog";if(RELS.MS&&n==RELS.MS)return"macro";if(!n||!n.length)return"sheet";return n}function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){if(!w.id)w.id=w.strRelID;return[w.name,wbrels["!id"][w.id].Target,get_sheet_type(wbrels["!id"][w.id].Type)]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_sheet(zip,path,relsPath,sheet,sheetRels,sheets,stype,opts,wb,themes,styles){try{sheetRels[sheet]=parse_rels(getzipstr(zip,relsPath,true),path);var data=getzipdata(zip,path);switch(stype){case"sheet":sheets[sheet]=parse_ws(data,path,opts,sheetRels[sheet],wb,themes,styles);break;case"chart":var cs=parse_cs(data,path,opts,sheetRels[sheet],wb,themes,styles);sheets[sheet]=cs;if(!cs||!cs["!chart"])break;var dfile=resolve_path(cs["!chart"].Target,path);var drelsp=get_rels_path(dfile);var draw=parse_drawing(getzipstr(zip,dfile,true),parse_rels(getzipstr(zip,drelsp,true),dfile));var chartp=resolve_path(draw,dfile);var crelsp=get_rels_path(chartp);cs=parse_chart(getzipstr(zip,chartp,true),chartp,opts,parse_rels(getzipstr(zip,crelsp,true),chartp),wb,cs);break;case"macro":sheets[sheet]=parse_ms(data,path,opts,sheetRels[sheet],wb,themes,styles);break;case"dialog":sheets[sheet]=parse_ds(data,path,opts,sheetRels[sheet],wb,themes,styles);break}}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.slice(-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);if(safegetzipfile(zip,"objectdata.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipstr(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].slice(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);var themes={};var styles={};if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipstr(zip,dir.themes[0].replace(/^\//,""),true)||"",dir.themes[0],opts);if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,themes,opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipstr(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipstr(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=getzipstr(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});else if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(opts.bookSheets&&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;{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){var stype="sheet";if(wbrels&&wbrels[i]){path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");stype=wbrels[i][2]}else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_sheet(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,stype,opts,wb,themes,styles)}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].replace(/^\//,""),true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function parse_xlsxcfb(cfb,opts){var f="Version";var data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var version=parse_DataSpaceVersionInfo(data.content);f="DataSpaceMap";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var dsm=parse_DataSpaceMap(data.content);if(dsm.length!=1||dsm[0].comps.length!=1||dsm[0].comps[0].t!=0||dsm[0].name!="StrongEncryptionDataSpace"||dsm[0].comps[0].v!="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+f);f="StrongEncryptionDataSpace";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var seds=parse_DataSpaceDefinition(data.content);if(seds.length!=1||seds[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+f);f="!Primary";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var hdr=parse_Primary(data.content);f="EncryptionInfo";data=cfb.find(f);if(!data)throw new Error("ECMA-376 Encrypted file missing "+f);var einfo=parse_EncryptionInfo(data.content);throw new Error("File is password-protected")}function write_zip(wb,opts){_shapeid=1024;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.ssf=wb.SSF}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var vbafmt=opts.bookType=="xlsb"||opts.bookType=="xlsm";var ct={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],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";if(wb.Props&&wb.Props.SheetNames){}else if(!wb.Workbook||!wb.Workbook.Sheets)wb.Props.SheetNames=wb.SheetNames;else wb.Props.SheetNames=wb.SheetNames.map(function(x,i){return[(wb.Workbook.Sheets[i]||{}).Hidden!=2,x]}).filter(function(x){return x[0]}).map(function(x){return x[1]});wb.Props.Worksheets=wb.Props.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){var wsrels={"!id":{}};var ws=wb.Sheets[wb.SheetNames[rId-1]];var _type=(ws||{})["!type"]||"sheet";switch(_type){case"chart":default:f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb,wsrels));ct.sheets.push(f);add_rels(opts.wbrels,-1,"worksheets/sheet"+rId+"."+wbext,RELS.WS[0])}if(ws){var comments=ws["!comments"];if(comments&&comments.length>0){var cf="xl/comments"+rId+"."+wbext;zip.file(cf,write_cmnt(comments,cf,opts));ct.comments.push(cf);add_rels(wsrels,-1,"../comments"+rId+"."+wbext,RELS.CMNT)}if(ws["!legacy"]){zip.file("xl/drawings/vmlDrawing"+rId+".vml",write_comments_vml(rId,ws["!comments"]))}delete ws["!comments"];delete ws["!legacy"]}if(wsrels["!id"].rId1)zip.file(get_rels_path(f),write_rels(wsrels))}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,-1,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme(wb.Themes,opts));ct.themes.push(f);add_rels(opts.wbrels,-1,"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,-1,"styles."+wbext,RELS.STY);if(wb.vbaraw&&vbafmt){f="xl/vbaProject.bin";zip.file(f,wb.vbaraw);ct.vba.push(f);add_rels(opts.wbrels,-1,"vbaProject.bin",RELS.VBA)}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));delete opts.revssf;delete opts.ssf;return zip}function firstbyte(f,o){var x="";switch((o||{}).type||"base64"){case"buffer":return[f[0],f[1],f[2],f[3]];case"base64":x=Base64.decode(f.substr(0,24));break;case"binary":x=f;break;case"array":return[f[0],f[1],f[2],f[3]];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}return[x.charCodeAt(0),x.charCodeAt(1),x.charCodeAt(2),x.charCodeAt(3)]}function read_cfb(cfb,opts){if(cfb.find("EncryptedPackage"))return parse_xlsxcfb(cfb,opts);return parse_xlscfb(cfb,opts)}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 read_utf16(data,o){var d=data;if(o.type=="base64")d=Base64.decode(d);d=cptable.utils.decode(1200,d.slice(2));o.type="binary";if(d.charCodeAt(0)==60)return parse_xlml(d,o);return PRN.to_workbook(d,o)}function readSync(data,opts){var zip,d=data,n=[0];var o=opts||{};_ssfopts={};if(o.dateNF)_ssfopts.dateNF=o.dateNF;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))[0]){case 208:return read_cfb(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 73:if(n[1]==68)return SYLK.to_workbook(d,o);break;case 84:if(n[1]==65&&n[2]==66&&n[3]==76)return DIF.to_workbook(d,o);break;case 80:if(n[1]==75&&n[2]<32&&n[3]<32)return read_zip(d,o);break;case 239:return parse_xlml(d,o);case 255:if(n[1]==254){return read_utf16(d,o)}break;case 0:if(n[1]==0&&n[2]>=2&&n[3]==0)return WK_.to_workbook(d,o);break;case 3:case 131:case 139:return DBF.to_workbook(d,o)}if(n[2]<=12&&n[3]<=31)return DBF.to_workbook(d,o);if(32>n[0]||n[0]>127)throw new Error("Unsupported file "+n.join("|"));return PRN.to_workbook(d,o)}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 write_bstr_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"binary");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_string_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"utf8");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_binary_type(out,opts){switch(opts.type){case"base64":case"binary":var bstr="";for(var i=0;i0)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,counter=0;var dense=Array.isArray(sheet);var R=r.s.r,C=0,CC=0;if(!sheet[R])sheet[R]=[];for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=dense?sheet[R][C]:sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C-r.s.c;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val==null)continue;vv=v=format_cell(val,null,o);counter=0;for(CC=0;CC=0)txt='"'+txt.replace(qreg,'""')+'"'}else txt="";row+=(C===r.s.c?"":FS)+txt}if(o.blankrows===false&&isempty)return null;return row}function sheet_to_csv(sheet,opts){var out=[];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 endregex=new RegExp((FS=="|"?"\\|":FS)+"+$");var row="",cols=[];o.dense=Array.isArray(sheet);for(var 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){row=make_csv_row(sheet,r,R,cols,fs,rs,FS,o);if(row==null){continue}if(o.strip)row=row.replace(endregex,"");out.push(row+RS)}delete o.dense;return out.join("")}function sheet_to_txt(sheet,opts){if(!opts)opts={};opts.FS="\t";opts.RS="\n";var s=sheet_to_csv(sheet,opts);if(typeof cptable=="undefined")return s;var o=cptable.utils.encode(1200,s);return"ÿþ"+o}function sheet_to_formulae(sheet){var y="",x,val="";if(sheet==null||sheet["!ref"]==null)return[];var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;var cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;var dense=Array.isArray(sheet);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=dense?(sheet[R]||[])[C]:sheet[y];val="";if(x===undefined)continue;else if(x.F!=null){y=x.F;if(!x.f)continue;val=x.f;if(y.indexOf(":")==-1)y=y+":"+y}if(x.f!=null)val=x.f;else if(x.t=="z")continue;else if(x.t=="n"&&x.v!=null)val=""+x.v;else if(x.t=="b")val=x.v?"TRUE":"FALSE";else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else if(x.t=="s")val="'"+x.v;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,aoa_to_sheet:aoa_to_sheet,table_to_sheet:parse_dom_table,table_to_book:table_to_book,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_json};if(has_buf&&typeof require!="undefined")(function(){var Readable=require("stream").Readable;var write_csv_stream=function(sheet,opts){var stream=Readable();var out="";var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null){stream.push(null);return stream}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 endregex=new RegExp((FS=="|"?"\\|":FS)+"+$");var row="",cols=[];o.dense=Array.isArray(sheet);for(var C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);var R=r.s.r;stream._read=function(){if(R>r.e.r)return stream.push(null);while(R<=r.e.r){row=make_csv_row(sheet,r,R,cols,fs,rs,FS,o);if(row==null){++R;continue}if(o.strip)row=row.replace(endregex,"");stream.push(row+RS);++R;break}};return stream};var HTML_BEGIN="";var write_html_stream=function(sheet,opts){var stream=Readable();var o=[];var r=decode_range(sheet["!ref"]),cell;o.dense=Array.isArray(sheet);stream.push(HTML_BEGIN);var R=r.s.r;var end=false;stream._read=function(){if(R>r.e.r){if(!end){end=true;stream.push(HTML_END)}return stream.push(null)}while(R<=r.e.r){stream.push(HTML_._row(sheet,r,R,o));++R;break}};return stream};XLSX.stream={to_html:write_html_stream,to_csv:write_csv_stream}})();XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_ods=parse_ods;XLSX.parse_fods=parse_fods;XLSX.write_ods=write_ods;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.writeFileAsync=writeFileAsync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX;var ODS=XLSX;
diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map
index 9991fa1..f4dfa95 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","JSZip","f","window","global","$","self","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","c1","substr","_getchar","_gc1","_gc2","DENSE","DIF_XL","Base64","make_b64","map","c3","e1","e2","e3","e4","b64_decode","has_buf","process","versions","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","days","months","init_table","table_fmt","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","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","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","dateNF","_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","getTime","numdate","setUTCDate","setUTCMonth","setUTCFullYear","setUTCHours","setUTCMinutes","setUTCSeconds","parse_isodur","sec","good_pd_date","good_pd","parseDate","UTC","cc2str","arr","str2cc","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","g","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","resolve_path","pop","target","step","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","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","XLMLNS","html","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_","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","lpp4_8","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","oo","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","parsenooplog","console","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","tgt","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","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","fix_cell","unfix_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","ifmt","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","aoa_to_sheet","dense","ws","cellStubs","cellDates","cell_ref","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","_null","write_XLWideString","parse_XLSBCell","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_XLNameWideString","write_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","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","45","46","47","48","49","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","65535","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","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.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+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.openxmlformats-officedocument.themeOverride+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","image/png","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","CT","parse_ct","rels","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","ctext","Extension","ContentType","PartName","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","add_rels","rId","relobj","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","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","_opts","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","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","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","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","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","miyRw","hpt","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","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","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","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","Name","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","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_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","def","area","parse_Style","parse_StyleExt","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_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","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_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_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","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","77","78","79","80","87","88","89","dbf_to_aoa","memo","vfp","filedate","nrow","fpos","rlen","current_cp","fields","field","hend","trim","day","ms","dbf_to_sheet","dbf_to_workbook","to_workbook","to_sheet","SYLK","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","record","wch","process_col","hpx","pt2px","sylk_to_sheet","aoa","sylk_to_workbook","write_ws_cell_sylk","F","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","from_sheet","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","PRN","set_text_arr","prn_to_aoa_str","lines","dsv_to_sheet_str","sep","sepcc","instr","prn_to_sheet_str","prn_to_sheet","prn_to_workbook","sheet_to_prn","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","40","50","51","56","60","62","63","65","67","68","69","70","71","72","73","74","CS2CP","128","129","130","134","136","161","162","163","177","178","186","204","222","238","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","align","shadow","outline","strike","uval","rgb","family","parse_r","terms","rs","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","rc","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","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","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","px","char2width","chr","px2char_","char2width_","cycle_width","collw","find_mdw_colw","delta","_MDW","find_mdw_wpx","guess","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","sub_border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_fonts","Fonts","bold","italic","underline","vertAlign","scheme","codepage","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","xf","fillId","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","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","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","write_cc_bin","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillcolor","strokecolor","color2","angle","obscured","CMNT","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","thisCell","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","fstr","crefregex","$0","off","shift_formula_str","shift_formula_xlsx","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","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","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","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_PtgTbl","PtgTypes","57","58","59","PtgDupes","96","97","98","99","75","76","108","109","91","92","93","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","stringify_formula","supbooks","_range","stack","nameidx","sname","last_sp","sp","fflen","argc","args","lbl","names","XLSXFutureFunctions","bookidx","externbook","pnxname","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","PtgDataType","53","54","83","85","94","95","110","111","112","113","114","115","116","117","118","119","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","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","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","387","389","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","_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","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_range_3D","_ssfopts","WS","get_sst_id","col_obj_w","default_margins","margins","defs","right","bottom","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","cellText","raw_rgb","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","parse_ws_xml","data1","data2","mtch","ridx","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","mergecells","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","write_ws_xml_protection","deffalse","deftrue","Rel","tooltip","Tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","write_ws_xml_sheetviews","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","cellFormula","si","_tag","sheetStubs","_d","_r","write_ws_xml_data","_cell","params","height","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","codeName","sheetFormat","defaultRowHeight","baseColWidth","relc","r:id","hfidx","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","write_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","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","parse_BrtMargins","write_BrtMargins","write_BrtBeginWsView","write_BrtSheetProtection","parse_ws_bin","!id","ai","af","array_formulae","shared_formulae","Names","defwidth","defheight","ws_parse","aii","write_ws_bin_cell","olddate","write_CELLTABLE","write_MERGECELLS","write_COLINFOS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_SHEETPROTECT","write_ws_bin","parse_numCache","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!chart","!rel","write_cs_xml","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","check_wb_names","N","badchars","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","Sheet","Ref","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","write_names","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","seen","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","mi","_v","__v","__i","write_ws_xlml_row","write_ws_xlml_table","ss:Index","write_ws_xlml","write_xlml","ss:Name","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","XTI","last_Rn","BIFF2Fmt","FilterDatabases","last_lbl","RecordType","Date1904","WriteProtect","error","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_f","_fr","_fc","_fe","_arraystart","_j","_ixfe","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_props","cfb","DSI","DocSummary","SI","Summary","parse_xlscfb","CompObj","CompObjP","SummaryP","WorkbookP","props","bookFiles","333","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","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","html_to_sheet","midx","colspan","rowspan","html_to_book","make_html_row","sheet_to_html","_row","parse_dom_table","getElementsByTagName","_C","elts","children","elt","innerText","getAttribute","table_to_book","parse_content_xml","parse_text_p","number_formats","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","number_format_map","mrange","mR","mC","creator","creatoridx","rept","isstub","write_content_xml","null_cell_xml","covered_cell_xml","_Fref","write_automatic_styles_ods","wcx","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:meta","xmlns:number","xmlns:presentation","xmlns:svg","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:of","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","office:version","fods","xmlns:config","office:mimetype","write_obj_str","factory","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_txt_str","sheet_to_txt","parse_ods","ods","write_ods","fix_opts_func","fix_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","stype","dfile","drelsp","draw","chartp","crelsp","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","bookVBA","vbaraw","bin","parse_xlsxcfb","dsm","seds","einfo","write_zip","vbafmt","General","wsrels","_type","rId1","firstbyte","read_cfb","read_zip","read_utf16","write_zip_type","oopts","writeFileSync","write_bstr_type","write_string_type","write_binary_type","bstr","writeSync","resolve_book_type","writeFileAsync","_cb","Function","writeFile","sheet_to_json","isempty","defval","outi","counter","CC","defineProperty","enumerable","__rowNum__","blankrows","qreg","make_csv_row","FS","txt","endregex","strip","sheet_to_formulae","cmds","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","Readable","write_csv_stream","_read","HTML_BEGIN","HTML_END","write_html_stream","to_html","to_csv","readFile","write","XLS","ODS"],"mappings":"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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","JSZip","f","window","global","$","self","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","cptable","reset_cp","set_cp","cp","char_codes","debom","c1","substr","_getchar","_gc1","_gc2","DENSE","DIF_XL","Base64","make_b64","map","c3","e1","e2","e3","e4","b64_decode","has_buf","process","versions","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","days","months","init_table","table_fmt","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","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","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","dateNF","_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","getTime","numdate","setUTCDate","setUTCMonth","setUTCFullYear","setUTCHours","setUTCMinutes","setUTCSeconds","parse_isodur","sec","good_pd_date","good_pd","parseDate","UTC","cc2str","arr","str2cc","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","g","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","resolve_path","pop","target","step","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","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","XLMLNS","html","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_","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","lpp4_8","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","oo","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","parsenooplog","console","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","tgt","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","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","fix_cell","unfix_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","ifmt","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","aoa_to_sheet","dense","ws","cellStubs","cellDates","cell_ref","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","write_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTS","bR","bG","bB","bAlpha","auto","icv","XLSIcv","rgb","theme","tint","write_BrtColor","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_UI8","VT_LPSTR","VT_FILETIME","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","45","46","47","48","49","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","65535","XLSFillPattern","rgbify","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","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.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+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.openxmlformats-officedocument.themeOverride+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","image/png","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","CT","parse_ct","rels","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","ctext","Extension","ContentType","PartName","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","add_rels","rId","relobj","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","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","_opts","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","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","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","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","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","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","parse_FtSkip","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","miyRw","hpt","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","dyHeight","parse_LabelSst","isst","parse_Label","parse_Format","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","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","Name","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","cbPictFmla","colL","dxL","rwT","dyT","colR","dxR","rwB","dyB","cbMacro","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_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","def","area","parse_Style","parse_StyleExt","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_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","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_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_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_ImData","env","lcb","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","77","78","79","80","87","88","89","dbf_to_aoa","memo","vfp","filedate","nrow","fpos","rlen","current_cp","fields","field","hend","trim","day","ms","dbf_to_sheet","dbf_to_workbook","to_workbook","to_sheet","SYLK","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","wch","process_col","hpx","pt2px","sylk_to_sheet","aoa","sylk_to_workbook","write_ws_cell_sylk","F","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","from_sheet","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","PRN","set_text_arr","prn_to_aoa_str","lines","dsv_to_sheet_str","sep","sepcc","instr","finish_cell","prn_to_sheet_str","prn_to_sheet","prn_to_workbook","sheet_to_prn","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","40","50","51","56","60","62","63","65","67","68","69","70","71","72","73","74","CS2CP","128","129","130","134","136","161","162","163","177","178","186","204","222","238","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","align","uval","family","parse_r","terms","rs","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","rc","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","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","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","px2char_","char2width_","cycle_width","collw","find_mdw_colw","delta","_MDW","find_mdw_wpx","guess","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","sub_border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","codepage","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","xf","fillId","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","write_BrtFill","fls","parse_BrtXF","ixfeParent","write_BrtXF","ixfeP","write_Blxf","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","write_cc_bin","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillcolor","strokecolor","color2","angle","obscured","CMNT","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","thisCell","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","fstr","crefregex","$0","off","shift_formula_str","shift_formula_xlsx","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","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","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","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_PtgTbl","PtgTypes","57","58","59","PtgDupes","96","97","98","99","75","76","108","109","91","92","93","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","stringify_formula","supbooks","_range","stack","nameidx","sname","last_sp","sp","fflen","argc","args","lbl","names","XLSXFutureFunctions","bookidx","externbook","pnxname","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","PtgDataType","53","54","83","85","94","95","110","111","112","113","114","115","116","117","118","119","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","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","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","387","389","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","_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","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_range_3D","_ssfopts","WS","get_sst_id","col_obj_w","default_margins","margins","defs","right","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","cellNF","cellText","raw_rgb","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","parse_ws_xml","data1","data2","mtch","ridx","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","mergecells","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","write_ws_xml_protection","deffalse","deftrue","Rel","tooltip","Tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","write_ws_xml_sheetviews","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","cellFormula","si","_tag","sheetStubs","_d","_r","write_ws_xml_data","_cell","params","height","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","codeName","sheetFormat","defaultRowHeight","baseColWidth","relc","r:id","hfidx","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","write_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","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","parse_BrtMargins","write_BrtMargins","write_BrtBeginWsView","write_BrtSheetProtection","parse_ws_bin","!id","ai","af","array_formulae","shared_formulae","Names","defwidth","defheight","ws_parse","aii","write_ws_bin_cell","olddate","write_CELLTABLE","write_MERGECELLS","write_COLINFOS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_numCache","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!chart","!rel","write_cs_xml","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","check_wb_names","N","badchars","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","Sheet","Ref","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","write_names","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","seen","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","mi","_v","__v","__i","write_ws_xlml_row","write_ws_xlml_table","ss:Index","write_ws_xlml","write_xlml","ss:Name","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","XTI","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","RecordType","Date1904","WriteProtect","error","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_f","_fr","_fc","_fe","_arraystart","_j","_ixfe","b2idx","TxO","ImData","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_props","cfb","DSI","DocSummary","SI","Summary","parse_xlscfb","CompObj","CompObjP","SummaryP","WorkbookP","props","bookFiles","333","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","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","html_to_sheet","midx","colspan","rowspan","html_to_book","make_html_row","sheet_to_html","_row","parse_dom_table","getElementsByTagName","_C","elts","children","elt","innerText","getAttribute","table_to_book","parse_content_xml","parse_text_p","number_formats","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","number_format_map","mrange","mR","mC","creator","creatoridx","rept","isstub","write_content_xml","null_cell_xml","covered_cell_xml","_Fref","write_automatic_styles_ods","wcx","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:meta","xmlns:number","xmlns:presentation","xmlns:svg","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:of","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","office:version","fods","xmlns:config","office:mimetype","write_obj_str","factory","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_txt_str","sheet_to_txt","parse_ods","ods","write_ods","fix_opts_func","fix_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","stype","dfile","drelsp","draw","chartp","crelsp","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","bookVBA","vbaraw","bin","parse_xlsxcfb","dsm","seds","einfo","write_zip","vbafmt","General","wsrels","_type","rId1","firstbyte","read_cfb","read_zip","read_utf16","write_zip_type","oopts","writeFileSync","write_bstr_type","write_string_type","write_binary_type","bstr","writeSync","resolve_book_type","writeFileAsync","_cb","Function","writeFile","sheet_to_json","isempty","defval","outi","counter","CC","defineProperty","enumerable","__rowNum__","blankrows","qreg","make_csv_row","FS","txt","endregex","strip","sheet_to_formulae","cmds","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","Readable","write_csv_stream","_read","HTML_BEGIN","HTML_END","write_html_stream","to_html","to_csv","readFile","write","XLS","ODS"],"mappings":"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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 7685b9c..aaccec3 100644
--- a/dist/xlsx.full.min.js
+++ b/dist/xlsx.full.min.js
@@ -7,17 +7,18 @@ for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57
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\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=cptable;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 DENSE=null;var DIF_XL=true;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"&&typeof process!=="undefined"&&typeof process.versions!=="undefined"&&process.versions.node;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.9.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){i=i||0;return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}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 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 init_table(t){t[0]="General";t[1]="0";t[2]="0.00";t[3]="#,##0";t[4]="#,##0.00";t[9]="0%";t[10]="0.00%";t[11]="0.00E+00";t[12]="# ?/?";t[13]="# ??/??";t[14]="m/d/yy";t[15]="d-mmm-yy";t[16]="d-mmm";t[17]="mmm-yy";t[18]="h:mm AM/PM";t[19]="h:mm:ss AM/PM";t[20]="h:mm";t[21]="h:mm:ss";t[22]="m/d/yy h:mm";t[37]="#,##0 ;(#,##0)";t[38]="#,##0 ;[Red](#,##0)";t[39]="#,##0.00;(#,##0.00)";t[40]="#,##0.00;[Red](#,##0.00)";t[45]="mm:ss";t[46]="[h]:mm:ss";t[47]="mmss.0";t[48]="##0.0E+0";t[49]="@";t[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';t[65535]="General"}var table_fmt={};init_table(table_fmt);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){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];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);case"undefined":return"";case"object":if(v==null)return""}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.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 0}return Math.round((val-Math.floor(val))*Math.pow(10,d))}function carry(val,d){if(d<(""+Math.round((val-Math.floor(val))*Math.pow(10,d))).length){return 1}return 0}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.charAt(1)==" "?2:1),val);var o;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+(Math.floor(val)+carry(val,r[1].length)))+"."+pad0(dec(val,r[1].length),r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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.charAt(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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]);o=o.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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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-1||c=="\\"&&fmt.charAt(i+1)=="-"&&"0#".indexOf(fmt.charAt(i+2))>-1)){}break;case"?":while(fmt.charAt(++i)===c){}break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(i)=="*")++i;break;case"(":case")":++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":while(i-1){}break;case" ":++i;break;default:++i;break}}return false}SSF.is_date=fmt_is_date;function eval_fmt(fmt,v,opts,flen){var out=[],o="",i=0,c="",lst="t",q,dt,j,cc;var hr="H";while(i=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.charAt(i++)!=="]"&&i-1){o=(o.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!fmt_is_date(fmt))out[out.length]={t:"t",v:o}}break;case".":if(dt!=null){o=c;while((c=fmt.charAt(++i))==="0")o+=c;out[out.length]={t:"s",v:o};break}case"0":case"#":o=c;while(++i-1||c=="\\"&&fmt.charAt(i+1)=="-"&&"0#".indexOf(fmt.charAt(i+2))>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt.charAt(++i)===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt.charAt(i)==" "||fmt.charAt(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(i-1)o+=fmt.charAt(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":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]={v:"",t:";"};++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){if(nstr.charCodeAt(0)==40){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num("(",nstr,myv)}else{myv=v<0&&flen>1?-v:v;ostr=write_num("n",nstr,myv);if(myv<0&&out[0]&&out[0].t=="t"){ostr=ostr.substr(1);out[0].v="-"+out[0].v}}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.charAt(j)==="0"||out[i].v.charAt(j)==="#"))vv=ostr.charAt(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 new Error("cannot find right format for |"+fmt.join("|")+"|");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){if(o==null)o={};var sfmt="";switch(typeof fmt){case"string":if(fmt=="m/d/yy"&&o.dateNF)sfmt=o.dateNF;else sfmt=fmt;break;case"number":if(fmt==14&&o.dateNF)sfmt=o.dateNF;else 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)};SSF.init_table=init_table};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.11.1";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 new Error("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 new Error("# 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.l+=2;switch(shift=blob.read_shift(2)){case 9:if(mver!=3)throw new Error("Sector Shift: Expected 9 saw "+shift);break;case 12:if(mver!=4)throw new Error("Sector Shift: Expected 12 saw "+shift);break;default:throw new Error("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;if(!sector)return;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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 new Error("FAT boundary crossed: "+j+" 4 "+ssz);if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;return(epoch+22091616e5)/(24*60*60*1e3)}function numdate(v){var date=SSF.parse_date_code(v);var val=new Date;if(date==null)throw new Error("Bad Date Code: "+v);val.setUTCDate(date.d);val.setUTCMonth(date.m-1);val.setUTCFullYear(date.y);val.setUTCHours(date.H);val.setUTCMinutes(date.M);val.setUTCSeconds(date.S);return val}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 good_pd_date=new Date("2017-02-19T19:06:09.000Z");var good_pd=good_pd_date.getFullYear()==2017;function parseDate(str){if(good_pd)return new Date(str);if(str instanceof Date)return str;var n=str.match(/\d+/g)||["2017","2","19","0","0","0"];return new Date(Date.UTC(+n[0],+n[1]-1,+n[2],+n[3],+n[4],+n[5]))}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(i));return o}function dup(o){if(typeof JSON!="undefined"&&!Array.isArray(o))return JSON.parse(JSON.stringify(o));if(typeof o!="object"||o==null)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/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="",quot=1;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);quot=(eq=cc.charCodeAt(c+1))==34||eq==39?1:0;v=cc.substring(c+1+quot,cc.length-quot);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=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=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/g,coderegex=/_x([\da-fA-F]{4})_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$,$1){return encodings[$$]||String.fromCharCode(parseInt($1,$$.indexOf("x")>-1?16:10))||$$}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text,xml){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).slice(-4)+"_"})}function escapexmltag(text){return escapexml(text).replace(/ /g,"_x0020_")}var htmlcharegex=/[\u0000-\u001f]/g;function escapehtml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(htmlcharegex,function(s){return""+("000"+s.charCodeAt(0).toString(16)).slice(-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)}}();var xlml_unfixstr=function(){return function xlml_unfixstr(str){return str.replace(/(\r\n|[\r\n])/g,"
")}}();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])return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)(?:\\w+:)?'+f+">",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("<(?:vt:)?"+bt+">(.*?)(?:vt:)?"+bt+">","g")}}();var vtvregex=/<\/?(?:vt:)?variant>/g,vtmregex=/<(?:vt:)([^>]*)>(.*);function parseVector(data){var h=parsexmltag(data);var matches=data.match(vtregex(h.baseType))||[];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);res.push({v:utf8read(v[2]),t:v[1]})});return res}var wtregex=/(^\s|\s$|\n)/;function writetag(f,g){return"<"+f+(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""+f+">"}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+""+f:"/")+">"}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"];var XLMLNS={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};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 __lpp4,___lpp4;__lpp4=___lpp4=function lpp4_(b,i){var len=__readUInt32LE(b,i);return len>0?__utf16le(b,i+4,i+4+len):""};var __8lpp4,___8lpp4;__8lpp4=___8lpp4=function lpp4_8(b,i){var len=__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len):""};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)};__lpp4=function lpp4_b(b,i){if(!Buffer.isBuffer(b))return ___lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len)};__8lpp4=function lpp4_8b(b,i){if(!Buffer.isBuffer(b))return ___8lpp4(b,i);var len=b.readUInt32LE(i);return b.toString("utf8",i+4,i+4+len)};__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)):""};__lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len)):""};__8lpp4=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(65001,b.slice(i+4,i+4+len)):""}}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"wstr":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");size=2*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"lpp4":size=4+__readUInt32LE(this,this.l);o=__lpp4(this,this.l);if(size&2)size+=2;break;case"8lpp4":size=4+__readUInt32LE(this,this.l);o=__8lpp4(this,this.l);if(size&3)size+=4-(size&3);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;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=0,i=0;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 parsenooplog(blob,length){if(typeof console!="undefined")console.log(blob.slice(blob.l,blob.l+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);var L=data.length,RT=0,tgt=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,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.r)}}return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("crypto")}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;var 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 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(typeof 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){var q=cell.t=="d"&&v instanceof Date;if(cell.z!=null)try{return cell.w=SSF.format(cell.z,q?datenum(v):v)}catch(e){}try{return cell.w=SSF.format((cell.XF||{}).ifmt||(q?14:0),q?datenum(v):v)}catch(e){return""+v}}function format_cell(cell,v,o){if(cell==null||cell.t==null||cell.t=="z")return"";if(cell.w!==undefined)return cell.w;if(cell.t=="d"&&!cell.z&&o&&o.dateNF)cell.z=o.dateNF;if(v==undefined)return safe_format_cell(cell,cell.v,o);return safe_format_cell(cell,v,o)}function sheet_to_workbook(sheet,opts){var n=opts&&opts.sheet?opts.sheet:"Sheet1";var sheets={};sheets[n]=sheet;return{SheetNames:[n],Sheets:sheets}}function aoa_to_sheet(data,opts){var o=opts||{};if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:1e7,r:1e7},e:{c:0,r:0}};for(var R=0;R!=data.length;++R){for(var C=0;C!=data[R].length;++C){if(typeof data[R][C]==="undefined")continue;var cell={v:data[R][C]};if(range.s.r>R)range.s.r=R;if(range.s.c>C)range.s.c=C;if(range.e.r0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return _null?o.slice(0,o.l):o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){var _null=false;if(o==null){_null=true;o=new_buf(4+2*data.length)}o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return _null?o.slice(0,o.l):o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;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_RfX(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_RfX(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}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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.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.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+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.openxmlformats-officedocument.themeOverride+xml":"TODO","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":"drawings","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","image/png":"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"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},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:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],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"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["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");f2("charts");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);f3("vba");f3("comments");f3("drawings");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",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function get_rels_path(file){var n=file.lastIndexOf("/");return file.substr(0,n+1)+"_rels/"+file.substr(n+1)+".rels"}function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};(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("")}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};if(rId<0)for(rId=1;rels["!id"]["rId"+rId];++rId){}relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(relobj.Type==RELS.HLINK)relobj.TargetMode="External";if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj;return rId}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 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]*>(.*)"+g+">")}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]]=parseDate(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 opts=_opts||{};var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp&&!opts.Props)return o.join("");if(cp){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];var v=opts.Props&&opts.Props[f[1]]!=null?opts.Props[f[1]]:cp?cp[f[1]]:null;if(v===true)v="1";else if(v===false)v="0";else if(typeof v=="number")v=String(v);if(v!=null)cp_doit(f[0],v,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]+"[^>]*>(.*)"+f[0]+">"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var parts=parseVector(q.TitlesOfParts).map(function(x){return x.v});var idx=0,len=0;for(var i=0;i!==v.length;i+=2){len=+v[i+1].v;switch(v[i].v){case"Worksheets":case"工作表":case"Листы":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Werkbladen":p.Worksheets=len;p.SheetNames=parts.slice(idx,idx+len);break;case"Named Ranges":case"Benannte Bereiche":p.NamedRanges=len;p.DefinedNames=parts.slice(idx,idx+len);break;case"Charts":case"Diagramme":p.Chartsheets=len;p.ChartNames=parts.slice(idx,idx+len);break}idx+=len}}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=String(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""+escapexml(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"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]=parseDate(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)===""){}else if(opts.WTF)throw new Error(x)}}return p}var CUST_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.CUST_PROPS,"xmlns:vt":XMLNS.vt});function write_cust_props(cp,opts){var o=[XML_HEADER,CUST_PROPS_XML_ROOT];if(!cp)return o.join("");var pid=1;keys(cp).forEach(function custprop(k){++pid;o[o.length]=writextag("property",write_vt(cp[k]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:pid,name:k})});if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var XLMLDocPropsMap={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var evert_XLMLDPM=evert(XLMLDocPropsMap);function xlml_set_prop(Props,tag,val){tag=evert_XLMLDPM[tag]||tag;Props[tag]=val}function xlml_write_docprops(Props,opts){var o=[];keys(XLMLDocPropsMap).map(function(m){for(var i=0;i'+o.join("")+""+T+">"}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=parseDate(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 new Error("Unrecognized #Sets: "+NumSets);FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw new Error("Length mismatch: "+Offset0+" !== "+blob.l);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=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}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;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}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&&opts.biff==2?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 new Error("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,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw new Error("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=2){o.dt=blob.read_shift(2);blob.l-=2}switch(o.BIFFVer){case 1536:case 1280:case 2:case 7:break;default:if(length>6)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){}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 z={};z.r=blob.read_shift(2);z.c=blob.read_shift(2);z.cnt=blob.read_shift(2)-z.c;var miyRw=blob.read_shift(2);blob.l+=4;var flags=blob.read_shift(1);blob.l+=3;if(flags&32)z.hidden=true;if(flags&64)z.hpt=miyRw/20;return z}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw new Error("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=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};var miyRw=blob.read_shift(2);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 target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,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,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;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];if(!opts.cellStyles)return o;o.alc=a&7;o.fWrap=a>>3&1;o.alcV=a>>4&7;o.fJustLast=a>>7&1;o.trot=a>>8&255;o.cIndent=a>>16&15;o.fShrinkToFit=a>>20&1;o.iReadOrder=a>>22&2;o.fAtrNum=a>>26&1;o.fAtrFnt=a>>27&1;o.fAtrAlc=a>>28&1;o.fAtrBdr=a>>29&1;o.fAtrPat=a>>30&1;o.fAtrProt=a>>31&1;o.dgLeft=b&15;o.dgRight=b>>4&15;o.dgTop=b>>8&15;o.dgBottom=b>>12&15;o.icvLeft=b>>16&127;o.icvRight=b>>23&127;o.grbitDiag=b>>30&3;o.icvTop=c&127;o.icvBottom=c>>7&127;o.icvDiag=c>>14&127;o.dgDiag=c>>21&15;o.icvFore=d&127;o.icvBack=d>>7&127;o.fsxButton=d>>14&1;return o}function parse_CellXF(blob,length,opts){return parse_CellStyleXF(blob,length,0,opts)}function parse_StyleXF(blob,length,opts){return parse_CellStyleXF(blob,length,1,opts)}function parse_XF(blob,length,opts){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,opts);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 new Error("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,opts);o.body=body||blob.read_shift(length-2);if(typeof body==="string")o.Name=body;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(opts&&opts.biff==2?1:2);var itab=0;if(!opts||opts.biff>=5){blob.l+=2;itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,itab:itab,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=[],target=blob.l+length,len=blob.read_shift(2);while(len--!==0)o.push(parse_XTI(blob,6));var oo=[];return o}function parse_NameCmt(blob,length,opts){if(opts.biff<8){blob.l+=length;return}var cchName=blob.read_shift(2);var cchComment=blob.read_shift(2);var name=parse_XLUnicodeStringNoCch(blob,cchName,opts);var comment=parse_XLUnicodeStringNoCch(blob,cchComment,opts);return[name,comment]}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);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default: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 new Error("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}function parse_ColInfo(blob,length,opts){if(!opts.cellStyles)return parsenoop(blob,length);var w=opts&&opts.biff>=12?4:2;var colFirst=blob.read_shift(w);var colLast=blob.read_shift(w);var coldx=blob.read_shift(w);var ixfe=blob.read_shift(w);var flags=blob.read_shift(2);if(w==2)blob.l+=2;return{s:colFirst,e:colLast,w:coldx,ixfe:ixfe,flags:flags}}function parse_Setup(blob,length,opts){var o={};blob.l+=16;o.header=parse_Xnum(blob,8);o.footer=parse_Xnum(blob,8);blob.l+=2;return o}function parse_ShtProps(blob,length,opts){var def={area:false};if(opts.biff!=5){blob.l+=length;return def}var d=blob.read_shift(1);blob.l+=3;if(d&16)def.area=true;return def}var parse_Style=parsenoop;var parse_StyleExt=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_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_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_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_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.t="str";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.t="n";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.t="n";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}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var DBF=function(){var dbf_codepage_map={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,255:16969};function dbf_to_aoa(buf,opts){var out=[];var d=new_raw_buf(1);switch(opts.type){case"base64":d=s2a(Base64.decode(buf));break;case"binary":d=s2a(buf);break;case"buffer":case"array":d=buf;break}prep_blob(d,0);var ft=d.read_shift(1);var memo=false;var vfp=false;switch(ft){case 2:case 3:break;case 48:vfp=true;memo=true;break;case 49:vfp=true;break;case 131:memo=true;break;case 139:memo=true;break;case 245:memo=true;break;default:throw new Error("DBF Unsupported Version: "+ft.toString(16))}var filedate=new Date,nrow=0,fpos=0;if(ft==2)nrow=d.read_shift(2);filedate=new Date(d.read_shift(1)+1900,d.read_shift(1)-1,d.read_shift(1));if(ft!=2)nrow=d.read_shift(4);if(ft!=2)fpos=d.read_shift(2);var rlen=d.read_shift(2);var flags=0,current_cp=1252;if(ft!=2){d.l+=16;flags=d.read_shift(1);if(d[d.l]!==0)current_cp=dbf_codepage_map[d[d.l]];d.l+=1;d.l+=2}var fields=[],field={};var hend=fpos-10-(vfp?264:0);while(ft==2?d.l0){if(d[d.l]===42){d.l+=rlen;continue}++d.l;out[++R]=[];C=0;for(C=0;C!=fields.length;++C){var dd=d.slice(d.l,d.l+fields[C].len);d.l+=fields[C].len;prep_blob(dd,0);var s=cptable.utils.decode(current_cp,dd);switch(fields[C].type){case"C":out[R][C]=cptable.utils.decode(current_cp,dd);out[R][C]=out[R][C].trim();break;case"D":if(s.length===8)out[R][C]=new Date(+s.substr(0,4),+s.substr(4,2)-1,+s.substr(6,2));else out[R][C]=s;break;case"F":out[R][C]=parseFloat(s.trim());break;case"I":out[R][C]=dd.read_shift(4,"i");break;case"L":switch(s.toUpperCase()){case"Y":case"T":out[R][C]=true;break;case"N":case"F":out[R][C]=false;break;case" ":case"?":out[R][C]=false;break;default:throw new Error("DBF Unrecognized L:|"+s+"|")}break;case"M":if(!memo)throw new Error("DBF Unexpected MEMO for type "+ft.toString(16));out[R][C]="##MEMO##"+dd.read_shift(4);break;case"N":out[R][C]=+s.replace(/\u0000/g,"").trim();break;case"T":var day=dd.read_shift(4),ms=dd.read_shift(4);throw new Error(day+" | "+ms);case"Y":out[R][C]=dd.read(4,"i")/1e4;break;case"0":if(fields[C].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+fields[C].type)}}}if(ft!=2)if(d.l0){rowinfo[R].hpt=Mval;rowinfo[R].hpx=pt2px(Mval)}else if(Mval==0)rowinfo[R].hidden=true}break;default:break}}if(rowinfo.length>0)sht["!rows"]=rowinfo;if(colinfo.length>0)sht["!cols"]=colinfo;arr[arr.length]=sht;return arr}function sylk_to_sheet(str,opts){var aoa=sylk_to_aoa(str,opts);var ws=aoa.pop();var o=aoa_to_sheet(aoa,opts);keys(ws).forEach(function(k){o[k]=ws[k]});return o}function sylk_to_workbook(str,opts){return sheet_to_workbook(sylk_to_sheet(str,opts),opts)}function write_ws_cell_sylk(cell,ws,R,C,opts){var o="C;Y"+(R+1)+";X"+(C+1)+";K";switch(cell.t){case"n":o+=cell.v||0;if(cell.f&&!cell.F)o+=";E"+a1_to_rc(cell.f,{r:R,c:C});break;case"b":o+=cell.v?"TRUE":"FALSE";break;case"e":o+=cell.w||cell.v;break;case"d":o+='"'+(cell.w||cell.v)+'"';break;case"s":o+='"'+cell.v.replace(/"/g,"")+'"';break}return o}function write_ws_cols_sylk(out,cols){cols.forEach(function(col,i){var rec="F;W"+(i+1)+" "+(i+1)+" ";if(col.hidden)rec+="0";else{if(typeof col.width=="number")col.wpx=width2px(col.width);if(typeof col.wpx=="number")col.wch=px2char(col.wpx);if(typeof col.wch=="number")rec+=Math.round(col.wch)}if(rec.charAt(rec.length-1)!=" ")out.push(rec)})}function write_ws_rows_sylk(out,rows){rows.forEach(function(row,i){var rec="F;";if(row.hidden)rec+="M0;";else if(row.hpt)rec+="M"+20*row.hpt+";";else if(row.hpx)rec+="M"+20*px2pt(row.hpx)+";";if(rec.length>2)out.push(rec+"R"+(i+1))})}function sheet_to_sylk(ws,opts){var preamble=["ID;PWXL;N;E"],o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);var RS="\r\n";preamble.push("P;PGeneral");preamble.push("F;P0;DG0G8;M255");if(ws["!cols"])write_ws_cols_sylk(preamble,ws["!cols"]);if(ws["!rows"])write_ws_rows_sylk(preamble,ws["!rows"]);for(var R=r.s.r;R<=r.e.r;++R){for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null&&(!cell.f||cell.F))continue;o.push(write_ws_cell_sylk(cell,ws,R,C,opts))}}return preamble.join(RS)+RS+o.join(RS)+RS+"E"+RS;
-}return{to_workbook:sylk_to_workbook,to_sheet:sylk_to_sheet,from_sheet:sheet_to_sylk}}();var DIF=function(){function dif_to_aoa(d,opts){switch(opts.type){case"base64":return dif_to_aoa_str(Base64.decode(d),opts);case"binary":return dif_to_aoa_str(d,opts);case"buffer":return dif_to_aoa_str(d.toString("binary"),opts);case"array":return dif_to_aoa_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function dif_to_aoa_str(str,opts){var records=str.split("\n"),R=-1,C=-1,ri=0,arr=[];for(;ri!==records.length;++ri){if(records[ri].trim()==="BOT"){arr[++R]=[];C=0;continue}if(R<0)continue;var metadata=records[ri].trim().split(",");var type=metadata[0],value=metadata[1];++ri;var data=records[ri].trim();switch(+type){case-1:if(data==="BOT"){arr[++R]=[];C=0;continue}else if(data!=="EOD")throw new Error("Unrecognized DIF special command "+data);break;case 0:if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(+value==+value)arr[R][C]=+value;else if(!isNaN(new Date(value).getDate()))arr[R][C]=parseDate(value);else arr[R][C]=value;++C;break;case 1:data=data.substr(1,data.length-2);arr[R][C++]=data!==""?data:null;break}if(data==="EOD")break}return arr}function dif_to_sheet(str,opts){return aoa_to_sheet(dif_to_aoa(str,opts),opts)}function dif_to_workbook(str,opts){return sheet_to_workbook(dif_to_sheet(str,opts),opts)}var sheet_to_dif=function(){var push_field=function pf(o,topic,v,n,s){o.push(topic);o.push(v+","+n);o.push('"'+s.replace(/"/g,'""')+'"')};var push_value=function po(o,type,v,s){o.push(type+","+v);o.push(type==1?'"'+s.replace(/"/g,'""')+'"':s)};return function sheet_to_dif(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);push_field(o,"TABLE",0,1,"sheetjs");push_field(o,"VECTORS",0,r.e.r-r.s.r+1,"");push_field(o,"TUPLES",0,r.e.c-r.s.c+1,"");push_field(o,"DATA",0,0,"");for(var R=r.s.r;R<=r.e.r;++R){push_value(o,-1,0,"BOT");for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell){push_value(o,1,0,"");continue}switch(cell.t){case"n":var val=DIF_XL?cell.w:cell.v;if(!val&&cell.v!=null)val=cell.v;if(val==null){if(DIF_XL&&cell.f&&!cell.F)push_value(o,1,0,"="+cell.f);else push_value(o,1,0,"")}else push_value(o,0,val,"V");break;case"b":push_value(o,0,cell.v?1:0,cell.v?"TRUE":"FALSE");break;case"s":push_value(o,1,0,!DIF_XL||isNaN(cell.v)?cell.v:'="'+cell.v+'"');break;case"d":if(!cell.w)cell.w=SSF.format(cell.z||SSF._table[14],datenum(parseDate(cell.v)));if(DIF_XL)push_value(o,0,cell.w,"V");else push_value(o,1,0,cell.w);break;default:push_value(o,1,0,"")}}}push_value(o,-1,0,"EOD");var RS="\r\n";var oo=o.join(RS);return oo}}();return{to_workbook:dif_to_workbook,to_sheet:dif_to_sheet,from_sheet:sheet_to_dif}}();var PRN=function(){function set_text_arr(data,arr,R,C){if(data==="TRUE")arr[R][C]=true;else if(data==="FALSE")arr[R][C]=false;else if(data===""){}else if(+data==+data)arr[R][C]=+data;else arr[R][C]=data}function prn_to_aoa_str(f,opts){var arr=[];if(!f||f.length===0)return arr;var lines=f.split(/[\r\n]/);var L=lines.length-1;while(L>=0&&lines[L].length===0)--L;var start=10,idx=0;var R=0;for(;R<=L;++R){idx=lines[R].indexOf(" ");if(idx==-1)idx=lines[R].length;else idx++;start=Math.max(start,idx)}for(R=0;R<=L;++R){arr[R]=[];var C=0;set_text_arr(lines[R].slice(0,start).trim(),arr,R,C);for(C=1;C<=(lines[R].length-start)/10+1;++C)set_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C)}return arr}function dsv_to_sheet_str(str,opts){var o=opts||{};var sep="";if(DENSE!=null&&o.dense==null)o.dense=DENSE;var ws=o.dense?[]:{};var range={s:{c:0,r:0},e:{c:0,r:0}};if(str.substr(0,4)=="sep="&&str.charCodeAt(5)==10){sep=str.charAt(4);str=str.substr(6)}if(str.substr(0,1024).indexOf("\t")==-1)sep=",";else sep="\t";var R=0,C=0,v=0;var start=0,end=0,sepcc=sep.charCodeAt(0),instr=false,cc=0;str=str.replace(/\r\n/g,"\n");for(;end=0||str.indexOf(",")>=0)return dsv_to_sheet_str(str,opts);return aoa_to_sheet(prn_to_aoa_str(str,opts),opts)}function prn_to_sheet(d,opts){switch(opts.type){case"base64":return prn_to_sheet_str(Base64.decode(d),opts);case"binary":return prn_to_sheet_str(d,opts);case"buffer":return prn_to_sheet_str(d.toString("binary"),opts);case"array":return prn_to_sheet_str(cc2str(d),opts)}throw new Error("Unrecognized type "+opts.type)}function prn_to_workbook(str,opts){return sheet_to_workbook(prn_to_sheet(str,opts),opts)}function sheet_to_prn(ws,opts){var o=[];var r=decode_range(ws["!ref"]),cell;var dense=Array.isArray(ws);for(var R=r.s.r;R<=r.e.r;++R){var oo=[];for(var C=r.s.c;C<=r.e.c;++C){var coord=encode_cell({r:R,c:C});cell=dense?(ws[R]||[])[C]:ws[coord];if(!cell||cell.v==null){oo.push(" ");continue}var w=(cell.w||(format_cell(cell),cell.w)||"").substr(0,10);while(w.length<10)w+=" ";oo.push(w+(C==0?" ":""))}o.push(oo.join(""))}return o.join("\n")}return{to_workbook:prn_to_workbook,to_sheet:prn_to_sheet,from_sheet:sheet_to_prn}}();var WK_=function(){function lotushopper(data,cb,opts){if(!data)return;prep_blob(data,data.l||0);var Enum=opts.Enum||WK1Enum;while(data.l=4096)o.qpro=true;break;case 6:refguess=val;break;case 15:if(!o.qpro)val[1].v=val[1].v.substr(1);case 13:case 14:case 16:case 51:if(o.dense){if(!s[val[0].r])s[val[0].r]=[];s[val[0].r][val[0].c]=val[1]}else s[encode_cell(val[0])]=val[1];break}else switch(RT){case 22:val[1].v=val[1].v.substr(1);case 23:case 24:case 25:case 37:case 39:case 40:if(val[3]>sidx){s["!ref"]=encode_range(refguess);sheets[n]=s;s=o.dense?[]:{};refguess={s:{r:0,c:0},e:{r:0,c:0}};sidx=val[3];n="Sheet"+(sidx+1);snames.push(n)}s[encode_cell(val[0])]=val[1];if(refguess.e.c>1;if(o[1].v&1){switch(v&7){case 1:v=(v>>3)*500;break;case 2:v=(v>>3)/20;break;case 4:v=(v>>3)/2e3;break;case 6:v=(v>>3)/16;break;case 7:v=(v>>3)/64;break;default:throw"unknown NUMBER_18 encoding "+(v&7)}}o[1].v=v;return o}function parse_NUMBER_17(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);var v2=blob.read_shift(4);var e=blob.read_shift(2);if(e==65535){o[1].v=0;return o}var s=e&32768;e=(e&32767)-16446;o[1].v=(e>0?v2<>>-e)+(e>-32?v1<>>-(e+32));return o}function parse_FORMULA_19(blob,length){var o=parse_NUMBER_17(blob,14);blob.l+=length-14;return o}function parse_NUMBER_25(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(4);o[1].v=v1>>6;return o}function parse_NUMBER_27(blob,length){var o=parse_cell_3(blob,length);var v1=blob.read_shift(8,"f");o[1].v=v1;return o}function parse_FORMULA_28(blob,length){var o=parse_NUMBER_27(blob,14);blob.l+=length-10;return o}var WK1Enum={0:{n:"BOF",f:parseuint16},1:{n:"EOF",f:parsenoop},2:{n:"CALCMODE",f:parsenoop},3:{n:"CALCORDER",f:parsenoop},4:{n:"SPLIT",f:parsenoop},5:{n:"SYNC",f:parsenoop},6:{n:"RANGE",f:parse_RANGE},7:{n:"WINDOW1",f:parsenoop},8:{n:"COLW1",f:parsenoop},9:{n:"WINTWO",f:parsenoop},10:{n:"COLW2",f:parsenoop},11:{n:"NAME",f:parsenoop},12:{n:"BLANK",f:parsenoop},13:{n:"INTEGER",f:parse_INTEGER},14:{n:"NUMBER",f:parse_NUMBER},15:{n:"LABEL",f:parse_LABEL},16:{n:"FORMULA",f:parse_FORMULA},24:{n:"TABLE",f:parsenoop},25:{n:"ORANGE",f:parsenoop},26:{n:"PRANGE",f:parsenoop},27:{n:"SRANGE",f:parsenoop},28:{n:"FRANGE",f:parsenoop},29:{n:"KRANGE1",f:parsenoop},32:{n:"HRANGE",f:parsenoop},35:{n:"KRANGE2",f:parsenoop},36:{n:"PROTEC",f:parsenoop},37:{n:"FOOTER",f:parsenoop},38:{n:"HEADER",f:parsenoop},39:{n:"SETUP",f:parsenoop},40:{n:"MARGINS",f:parsenoop},41:{n:"LABELFMT",f:parsenoop},42:{n:"TITLES",f:parsenoop},43:{n:"SHEETJS",f:parsenoop},45:{n:"GRAPH",f:parsenoop},46:{n:"NGRAPH",f:parsenoop},47:{n:"CALCCOUNT",f:parsenoop},48:{n:"UNFORMATTED",f:parsenoop},49:{n:"CURSORW12",f:parsenoop},50:{n:"WINDOW",f:parsenoop},51:{n:"STRING",f:parse_LABEL},55:{n:"PASSWORD",f:parsenoop},56:{n:"LOCKED",f:parsenoop},60:{n:"QUERY",f:parsenoop},61:{n:"QUERYNAME",f:parsenoop},62:{n:"PRINT",f:parsenoop},63:{n:"PRINTNAME",f:parsenoop},64:{n:"GRAPH2",f:parsenoop},65:{n:"GRAPHNAME",f:parsenoop},66:{n:"ZOOM",f:parsenoop},67:{n:"SYMSPLIT",f:parsenoop},68:{n:"NSROWS",f:parsenoop},69:{n:"NSCOLS",f:parsenoop},70:{n:"RULER",f:parsenoop},71:{n:"NNAME",f:parsenoop},72:{n:"ACOMM",f:parsenoop},73:{n:"AMACRO",f:parsenoop},74:{n:"PARSE",f:parsenoop},255:{n:"",f:parsenoop}};var WK3Enum={0:{n:"BOF",f:parsenoop},1:{n:"EOF",f:parsenoop},3:{n:"??",f:parsenoop},4:{n:"??",f:parsenoop},5:{n:"??",f:parsenoop},6:{n:"??",f:parsenoop},7:{n:"??",f:parsenoop},9:{n:"??",f:parsenoop},10:{n:"??",f:parsenoop},11:{n:"??",f:parsenoop},12:{n:"??",f:parsenoop},14:{n:"??",f:parsenoop},15:{n:"??",f:parsenoop},16:{n:"??",f:parsenoop},17:{n:"??",f:parsenoop},18:{n:"??",f:parsenoop},19:{n:"??",f:parsenoop},21:{n:"??",f:parsenoop},22:{n:"LABEL16",f:parse_LABEL_16},23:{n:"NUMBER17",f:parse_NUMBER_17},24:{n:"NUMBER18",f:parse_NUMBER_18},25:{n:"FORMULA19",f:parse_FORMULA_19},26:{n:"??",f:parsenoop},27:{n:"??",f:parsenoop},28:{n:"??",f:parsenoop},29:{n:"??",f:parsenoop},30:{n:"??",f:parsenoop},31:{n:"??",f:parsenoop},33:{n:"??",f:parsenoop},37:{n:"NUMBER25",f:parse_NUMBER_25},39:{n:"NUMBER27",f:parse_NUMBER_27},40:{n:"FORMULA28",f:parse_FORMULA_28},255:{n:"",f:parsenoop}};return{to_workbook:lotus_to_workbook}}();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,align="";var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0].replace(/\w*:/g,"")){case"":case"":font.shadow=1;break;case"":break;case"":case"":font.outline=1;break;case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":case"":font.i=1;break;case"":break;case"');if(font.b){intro.push("");outro.push("")}if(font.i){intro.push("");outro.push("")}if(font.strike){intro.push("");outro.push("")}if(align=="superscript")align="sup";else if(align=="subscript")align="sub";if(align!=""){intro.push("<"+align+">");outro.push(""+align+">")}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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=escapehtml(z.t)}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.replace(sirphregex,"").match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}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].trim(),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+=""+escapexml(s.t)+""}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_n,RT){switch(RT){case 159:s.Count=val[0];s.Unique=val[1];break;case 19:s.push(val);break;case 160:return true;case 35:pass=true;break;case 36:pass=false;break;default:if(R_n.indexOf("Begin")>0){}else if(R_n.indexOf("End")>0){}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;i0){var rc={};rc.t=blob.read_shift(4);rc.v=blob.read_shift(0,"lpp4");comps.push(rc)}o.name=blob.read_shift(0,"lpp4");o.comps=comps;return o}function parse_DataSpaceMap(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(parse_DataSpaceMapEntry(blob));return o}function parse_DataSpaceDefinition(blob,length){var o=[];blob.l+=4;var cnt=blob.read_shift(4);while(cnt-- >0)o.push(blob.read_shift(0,"lpp4"));return o}function parse_TransformInfoHeader(blob,length){var o={};var len=blob.read_shift(4);var tgt=blob.l+len-4;blob.l+=4;o.id=blob.read_shift(0,"lpp4");o.name=blob.read_shift(0,"lpp4");o.R=parse_CRYPTOVersion(blob,4);o.U=parse_CRYPTOVersion(blob,4);o.W=parse_CRYPTOVersion(blob,4);return o}function parse_Primary(blob,length){var hdr=parse_TransformInfoHeader(blob);hdr.ename=blob.read_shift(0,"8lpp4");hdr.blksz=blob.read_shift(4);hdr.cmode=blob.read_shift(4);if(blob.read_shift(4)!=4)throw new Error("Bad !Primary record");return hdr}function parse_EncryptionHeader(blob,length){var tgt=blob.l+length;var o={};o.Flags=blob.read_shift(4)&63;blob.l+=4;o.AlgID=blob.read_shift(4);var valid=false;switch(o.AlgID){case 26126:case 26127:case 26128:valid=o.Flags==36;break;case 26625:valid=o.Flags==4;break;case 0:valid=o.Flags==16||o.Flags==4||o.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+o.AlgID}if(!valid)throw new Error("Encryption Flags/AlgID mismatch");o.AlgIDHash=blob.read_shift(4);o.KeySize=blob.read_shift(4);o.ProviderType=blob.read_shift(4);blob.l+=8;o.CSPName=blob.read_shift(tgt-blob.l>>1,"utf16le").slice(0,-1);blob.l=tgt;return o}function parse_EncryptionVerifier(blob,length){var o={};blob.l+=4;o.Salt=blob.slice(blob.l,blob.l+16);blob.l+=16;o.Verifier=blob.slice(blob.l,blob.l+16);blob.l+=16;var sz=blob.read_shift(4);o.VerifierHash=blob.slice(blob.l,blob.l+sz);blob.l+=sz;return o}function parse_EncryptionInfo(blob,length){var vers=parse_CRYPTOVersion(blob);switch(vers.Minor){case 2:return parse_EncInfoStd(blob,vers);case 3:return parse_EncInfoExt(blob,vers);case 4:return parse_EncInfoAgl(blob,vers)}throw new Error("ECMA-376 Encryped file unrecognized Version: "+vers.Minor)}function parse_EncInfoStd(blob,vers){var flags=blob.read_shift(4);if((flags&63)!=36)throw new Error("EncryptionInfo mismatch");var sz=blob.read_shift(4);var tgt=blob.l+sz;var hdr=parse_EncryptionHeader(blob,sz);var verifier=parse_EncryptionVerifier(blob,blob.length-blob.l);return{t:"Std",h:hdr,v:verifier}}function parse_EncInfoExt(blob,vers){throw new Error("File is password-protected: ECMA-376 Extensible")}function parse_EncInfoAgl(blob,vers){throw new Error("File is password-protected: ECMA-376 Agile")}function parse_RC4CryptoHeader(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_CRYPTOVersion(blob,4);length-=4;if(vers.Minor!=2)throw"unrecognized minor version code: "+vers.Minor;if(vers.Major>4||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_CRYPTOVersion(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(2,2),16),parseInt(o.substr(4,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=6,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return Math.floor((width+Math.round(128/MDW)/256)*MDW)}function px2char(px){return Math.floor((px-5)/MDW*100+.5)/100}function char2width(chr){return Math.round((chr*MDW+5)/MDW*256)/256}function px2char_(px){return((px-5)/MDW*100+.5)/100}function char2width_(chr){return(chr*MDW+5)/MDW*256/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw_colw(collw){var delta=Infinity,_MDW=MIN_MDW;for(MDW=MIN_MDW;MDW.5)guess--;if(Math.abs(guess)":case"":break;case"":border={};if(y.diagonalUp){border.diagonalUp=y.diagonalUp}if(y.diagonalDown){border.diagonalDown=y.diagonalDown}styles.Borders.push(border);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in borders")}})}function parse_fills(t,styles,themes,opts){styles.Fills=[];var fill={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":if(y.patternType)fill.patternType=y.patternType;break;case"":case"":break;case"":case"":break;case"":case"":break;case"":break;case"":break;case"":break;case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_fonts(t,styles,themes,opts){styles.Fonts=[];var font={};t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":case"":styles.Fonts.push(font);font={};break;case"":case"":break;case"":font.bold=true;break;case"":font.italic=true;break;case"":font.underline=true;break;case"":font.strike=true;break;case"":font.outline=true;break;case"":font.shadow=true;break;case"":case"":break;case"":case"":break;case"":case"":
-break;case"":case"":break;case"":case"":break;default:if(opts&&opts.WTF)throw new Error("unrecognized "+y[0]+" in fonts")}})}function parse_numFmts(t,styles,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;case"":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],[50,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!=null)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,styles,opts){styles.CellXf=[];var xf;t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":var alignment={};if(y.vertical)alignment.vertical=y.vertical;if(y.horizontal)alignment.horizontal=y.horizontal;if(y.textRotation!=null)alignment.textRotation=y.textRotation;if(y.indent)alignment.indent=y.indent;if(y.wrapText)alignment.wrapText=y.wrapText;xf.alignment=alignment;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>/;var fontsRegex=/]*)>.*<\/fonts>/;var bordersRegex=/]*)>.*<\/borders>/;return function parse_sty_xml(data,themes,opts){var styles={};if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,styles,opts);if(t=data.match(fontsRegex))parse_fonts(t,styles,themes,opts);if(t=data.match(fillsRegex))parse_fills(t,styles,themes,opts);if(t=data.match(bordersRegex))parse_borders(t,styles,themes,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,styles,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(wb.SSF&&(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,themes,opts){var styles={};styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];styles.Fonts=[];var state=[];var pass=false;recordhopper(data,function hopper_sty(val,R_n,RT){switch(RT){case 44:styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case 43:styles.Fonts.push(val);break;case 1025:break;case 45:break;case 46:break;case 47:if(state[state.length-1]=="BrtBeginCellXFs"){styles.CellXf.push(val)}break;case 48:case 507:case 572:case 475:break;case 1171:case 2102:case 1130:case 512:case 2095:break;case 35:pass=true;break;case 36:pass=false;break;case 37:state.push(R_n);break;case 38:state.pop();break;default:if((R_n||"").indexOf("Begin")>0)state.push(R_n);else if((R_n||"").indexOf("End")>0)state.pop();else 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,themes,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&&opts.WTF)throw new Error("Unrecognized "+y[0]+" in clrScheme")}})}function parse_fontScheme(t,themes,opts){}function parse_fmtScheme(t,themes,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,themes,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,themes,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return parse_theme_xml(write_theme());var t;var themes={};if(!(t=data.match(themeltregex)))throw new Error("themeElements not found in theme");parse_themeElements(t[0],themes,opts);return themes}function write_theme(Themes,opts){if(opts&&opts.themeXLSX)return opts.themeXLSX;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]='