Lines Matching refs:length

43 …rray<number>*/ { var o/*:Array<number>*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i…
47 …for(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.…
52 …for(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (dat…
89 for (var i = 0; i < input.length; ) {
109 for (var i = 0; i < input.length; ) {
136 for (var i = 0; i < input.length; ) {
169 return o.length == 1;
194 var buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);
195 for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
201 …var o/*:Array<string>*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data…
213 var o = new Array(data.length);
214 for(var i = 0; i < data.length; ++i) o[i] = data[i];
221 for(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;
224 for(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {
225 len = bufs[i].length;
236 var out = [], widx = 0, L = content.length + 250;
237 var o = new_raw_buf(content.length + 255);
238 for(var ridx = 0; ridx < content.length; ++ridx) {
288 function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i…
289 …n pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;}
290 …on pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v;return t.length>=d?t:fill(' ',d-t.length)+t;}
291 … rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:t+fill(' ',d-t.length);}
292 …ny*/,d/*:number*/)/*:string*/{var t=""+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}
293 …pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;}
297 function SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 …
516 var o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;
517 o = v.toPrecision(10); if(o.length <= w) return o;
524 return (o.length > (v<0?12:11) || o === "0" || o === "-0") ? v.toPrecision(6) : o;
577 switch(fmt.length) {
582 switch(fmt.length) {
583 case 1: case 2: out = val.m; outl = fmt.length; break;
589 switch(fmt.length) {
590 case 1: case 2: out = val.d; outl = fmt.length; break;
595 switch(fmt.length) {
596 case 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;
600 switch(fmt.length) {
601 case 1: case 2: out = val.H; outl = fmt.length; break;
605 switch(fmt.length) {
606 case 1: case 2: out = val.M; outl = fmt.length; break;
611 if(val.u === 0 && (fmt == "s" || fmt == "ss")) return pad0(val.S, fmt.length);
620 return "." + o.substr(2,fmt.length-1);
627 } outl = fmt.length === 3 ? 1 : 2; break;
640 if(s.length <= w) return s;
641 var j = (s.length % w), o = s.substr(0,j);
642 for(; j!=s.length; j+=w) o+=(o.length > 0 ? "," : "") + s.substr(j,w);
647 var sfmt = fmt.replace(pct1,""), mul = fmt.length - sfmt.length;
652 var idx = fmt.length - 1;
654 return write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));
669 if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee);
679 …mt.match(/E\+00$/) && o.match(/e[+-]\d$/)) o = o.substr(0,o.length-1) + "0" + o.charAt(o.length-1);
687 …+ (myn === 0 ? fill(" ", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + "/" + r[3…
690 return sign + (aval === 0 ? "" : ""+aval) + fill(" ", r[1].length + 2 + r[4].length);
697 for(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {
708 if (d < ('' + Math.round(_frac * dd)).length) return 0;
712 if (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {
727 if(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);
733 if(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);
736 return o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;
739 if(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf("0"));
741length).replace(/^([^\.]+)$/,"$1."+hashq(r[1])).replace(/\.$/,"."+hashq(r[1])).replace(/\.(\d*)$/,…
746 …return sign + rnd(aval, r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").r…
750 … commaify(""+(Math.floor(val) + carry(val, r[1].length))) + "." + pad0(dec(val, r[1].length),r[1].
756 …return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri<o.length?o.cha…
764 ri = Math.min(/*::String(*/r[4]/*::)*/.length,7);
768 if(oa.charAt(oa.length-1) == " ") oa = oa.substr(0,oa.length-1) + "0";
771 if(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;
776 ri = Math.min(Math.max(r[1].length, r[4].length),7);
778 …d_(ff[1],ri) + r[2] + "/" + r[3] + rpad_(ff[2],ri): fill(" ", 2*ri+1 + r[2].length + r[3].length));
782 if(fmt.length <= o.length) return o;
783 return hashq(fmt.substr(0,fmt.length-o.length)) + o;
786 o = "" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,"$1");
788 var lres = fmt.indexOf(".") - ri, rres = fmt.length - o.length - lres;
789 return hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));
792 ri = dec(val, r[1].length);
793 …d*$/,function($$) { return "00," + ($$.length < 3 ? pad0(0,3-$$.length) : "") + $$; }) + "." + pad…
807 var idx = fmt.length - 1;
809 return write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));
812 var sfmt = fmt.replace(pct1,""), mul = fmt.length - sfmt.length;
827 if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee);
833 …mt.match(/E\+00$/) && o.match(/e[+-]\d$/)) o = o.substr(0,o.length-1) + "0" + o.charAt(o.length-1);
843 if(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);
849 if(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);
852 return o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;
855 if(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf("0"));
861 return "." + $1 + fill("0", hashq(r[1]).length-$1.length); });
866 …).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".");
870 … val < 0 ? "-" + write_num_int(type, fmt, -val) : commaify((""+val)) + "." + fill('0',r[1].length);
876 …return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri<o.length?o.cha…
884 ri = Math.min(/*::String(*/r[4]/*::)*/.length,7);
888 if(oa.charAt(oa.length-1) == " ") oa = oa.substr(0,oa.length-1) + "0";
891 if(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;
896 ri = Math.min(Math.max(r[1].length, r[4].length),7);
898 …d_(ff[1],ri) + r[2] + "/" + r[3] + rpad_(ff[2],ri): fill(" ", 2*ri+1 + r[2].length + r[3].length));
902 if(fmt.length <= o.length) return o;
903 return hashq(fmt.substr(0,fmt.length-o.length)) + o;
906 o = "" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,"$1");
908 var lres = fmt.indexOf(".") - ri, rres = fmt.length - o.length - lres;
909 return hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));
912 …d*$/,function($$) { return "00," + ($$.length < 3 ? pad0(0,3-$$.length) : "") + $$; }) + "." + pad…
929 for(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {
935 out[out.length] = fmt.substr(j,i-j);
938 out[out.length] = fmt.substr(j);
946 while(i < fmt.length) {
949 case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;
966 while(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);
972 …while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\' && fmt.charAt(i+1…
978 while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;
990 while(i < fmt.length) {
994 out[out.length] = {t:'G', v:'General'}; i+=7; break;
996 for(o="";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);
997 out[out.length] = {t:'t', v:o}; ++i; break;
999 out[out.length] = {t:t, v:w}; ++i; break;
1000 case '_': out[out.length] = {t:'t', v:" "}; i+=2; break;
1002 out[out.length] = {t:'T', v:v}; ++i; break;
1006 out[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;
1015 o = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;
1018 out[out.length] = {t:c, v:o}; lst = c; break;
1027 out[out.length] = q; lst = c; break;
1030 while(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);
1034 out[out.length] = {t:'Z', v:o.toLowerCase()};
1038 if(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};
1044 o = c; while(++i < fmt.length && (c=fmt.charAt(i)) === "0") o += c;
1045 out[out.length] = {t:'s', v:o}; break;
1049 o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1) o += c;
1050 out[out.length] = {t:'n', v:o}; break;
1053 out[out.length] = {t:c, v:o}; lst = c; break;
1055 case '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;
1057 o = c; while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);
1058 out[out.length] = {t:'D', v:o}; break;
1059 case ' ': out[out.length] = {t:c, v:c}; ++i; break;
1060 case '$': out[out.length] = {t:'t', v:'$'}; ++i; break;
1063 out[out.length] = {t:'t', v:c}; ++i; break;
1069 for(i=out.length-1, lst='t'; i >= 0; --i) {
1073 if((ssm=out[i].v.match(/\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);
1104 for(i=0; i < out.length; ++i) {
1129 if(nstr.length > 0) {
1141 jj=ostr.length-1;
1142 var decpt = out.length;
1143 …for(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(".") > -1) …
1144 var lasti=out.length;
1145 if(decpt === out.length && ostr.indexOf("E") === -1) {
1146 for(i=out.length-1; i>= 0;--i) {
1148 …if(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }
1154 if(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;
1156 else if(decpt !== out.length && ostr.indexOf("E") === -1) {
1160 j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;
1169 if(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;
1171 for(i=decpt; i<out.length; ++i) {
1175 for(; j<out[i].v.length; ++j) {
1176 if(jj<ostr.length) vv += ostr.charAt(jj++);
1184 for(i=0; i<out.length; ++i) if(out[i] != null && 'n?'.indexOf(out[i].t)>-1) {
1190 for(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;
1210 var l = fmt.length, lat = fmt[l-1].indexOf("@");
1212 if(fmt.length > 4) throw new Error("cannot find right format for |" + fmt.join("|") + "|");
1213 if(typeof v !== "number") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:"@"];
1214 switch(fmt.length) {
1346 if(datestr.length == 7) datestr = "0" + datestr;
1347 if(datestr.length == 8) datestr = "20" + datestr;
1447 for(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];
1452 var C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;
1468 for(var i = 0, L = str.length, c = 0, d = 0; i < L;) {
1502 for(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {
1503 if((c = L[i].length - R[i].length)) return c;
1506 return L.length - R.length;
1509 …if(p.charAt(p.length - 1) == "/") return (p.slice(0,-1).indexOf("/") === -1) ? p : dirname(p.slice…
1515 if(p.charAt(p.length - 1) == "/") return filename(p.slice(0, -1));
1561 while(blob.l <= blob.length - 4) {
1596 if(file.length < 512) throw new Error("CFB file size " + file.length + " < 512");
1732 var nsectors = Math.ceil(file.length/ssz)-1;
1741 var i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;
1746 for(; j < q.length; ++j) {
1788 if(o.length === 0) return (new_buf(0)/*:any*/);
1816 buf[buf.length] = j;
1829 var sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);
1841 buf[buf.length] = j;
1857 var minifat_store = 0, pl = (Paths.length?2:0);
1860 for(; i < sector.length; i+= 128) {
1933 if(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error("inconsistent CFB structure");
1934 if(cfb.FullPaths.length === 0) {
1952 for(var i = cfb.FullPaths.length - 1; i >= 0; --i) {
1973 for(i = 0; i < cfb.FullPaths.length; ++i) {
1978 for(i = 0; i < data.length; ++i) {
2002 for(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }
2003 for(i = 0; i < data.length; ++i) {
2009 elt.size = elt.content ? elt.content.length : 0;
2013 elt.C = data.length > 1 ? 1 : -1;
2017 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;
2018 elt.C = j >= data.length ? -1 : j;
2019 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;
2020 elt.R = j >= data.length ? -1 : j;
2041 for(var i = 0; i < cfb.FileIndex.length; ++i) {
2044 var flen = file.content.length;
2050 var dir_cnt = (cfb.FullPaths.length +3) >> 2;
2101 for(; j < cfb.FileIndex.length; ++j) {
2105 flen = file.content.length;
2113 for(j = 0; j < cfb.FileIndex.length; ++j) {
2117 flen = file.content.length;
2125 if(!nm || nm.length === 0) {
2134 if(_nm.length > 32) {
2138 flen = 2*(_nm.length+1);
2154 for(i = 1; i < cfb.FileIndex.length; ++i) {
2169 for(i = 1; i < cfb.FileIndex.length; ++i) {
2184 o.l = o.length;
2187 while(o.l < o.length) o.write_shift(1, 0);
2194 …ring>*/ = UCFullPaths.map(function(x) { var y = x.split("/"); return y[y.length - (x.slice(-1) == …
2205 for(w = 0; w < UCFullPaths.length; ++w) {
2245 var out = new Array(o.length);
2246 for(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);
2362 var L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;
2368 else for(; i < b.length; ++i) o[i] = b[i];
2376 b.length = M;
2389 var maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;
2395 L = clens.length;
2448 for(; j < DST_LN.length - 1; ++j) {
2454 for(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {
2460 while(boff < data.length) {
2461 var L = Math.min(0xFFFF, data.length - boff);
2462 var h = boff + L == data.length;
2476 while(boff < data.length) {
2477 var L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);
2481 bl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line
2491 bl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line
2552 if(data.length < 8) return write_stored(data, out);
2558 var buf = new_buf(50+Math.floor(data.length*1.1));
2583 var L = clens.length; /* 19 */
2609 for(; hcodes.length < _HLIT + _HDIST;) {
2615 ccode = hcodes[hcodes.length - 1];
2633 /* build literal / length trees */
2655 var OL = outbuf.length>>>0;
2668 if(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }
2681 if(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }
2693 /* length extra bits */
2712 if(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }
2745 var i = blob.length - 4;
2856 for(i = 1; i < cfb.FullPaths.length; ++i) {
2857 fp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];
2862 var namebuf = new_buf(fp.length);
2863 for(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);
2880 o.write_shift(4, (flags & 8) ? 0 : outbuf.length);
2881 o.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);
2882 o.write_shift(2, namebuf.length);
2885 start_cd += o.length;
2887 start_cd += namebuf.length;
2894 start_cd += outbuf.length;
2901 o.write_shift(4, outbuf.length);
2902 o.write_shift(4, /*::(*/fi.content/*::||[])*/.length);
2917 o.write_shift(4, outbuf.length);
2918 o.write_shift(4, /*::(*/fi.content/*::||[])*/.length);
2919 o.write_shift(2, namebuf.length);
2929 sz_cd += namebuf.length;
2978 for(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));
2999 return "=" + (w.length == 1 ? "0" + w : w);
3008 for(var si = 0; si < split.length; ++si) {
3010 if(str.length == 0) { o.push(""); continue; }
3011 for(var i = 0; i < str.length;) {
3019 if(i < str.length) tmp += "=";
3030 for(var di = 0; di < data.length; ++di) {
3032 …while(di <= data.length && line.charAt(line.length - 1) == "=") line = line.slice(0, line.length -…
3037 …for(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { re…
3061 var file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});
3073 for(di = 0; di < data.length; ++di) {
3078 if(row.slice(0, root.length) == root) continue;
3079 while(root.length > 0) {
3080 root = root.slice(0, root.length - 1);
3082 if(row.slice(0,root.length) == root) break;
3097 for(di = 0; di < data.length; ++di) {
3120 for(var i = 1; i < cfb.FullPaths.length; ++i) {
3121 fp = cfb.FullPaths[i].slice(root.length);
3138 var dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;
3165 if(name.slice(0, fpath.length) == fpath) fpath = name;
3177 file.size = content ? content.length : 0;
3189 if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {
3200 if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {
3308 …for(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i…
3314 for(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];
3320 for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];
3326 for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);
3332 for(var i = 0; i !== K.length; ++i) {
3363 for(var i = 1; i != m.length; ++i) {
3367 switch(m[i].slice(m[i].length-1)) {
3369 throw new Error("Unsupported ISO Duration Field: " + m[i].slice(m[i].length-1));
3438 for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));
3451 function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return …
3491 if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;
3498 var safe_split_regex = "abacaba".split(/(:?b)/i).length == 5;
3502 for(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }
3536 for(var i=0; i<k.length; ++i) {
3569 …for(var i = 0; i < k.length; ++i) if(k[i].slice(-1) != '/') o.push(k[i].replace(/^Root Entry[\/]/,…
3604 while (target.length !== 0) {
3619 for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;
3621 if(eq === tag.length) return z;
3623 if(m) for(i = 0; i != m.length; ++i) {
3625 for(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;
3629 v = cc.slice(c+1+quot, cc.length-quot);
3630 for(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;
3631 if(j===q.length) {
3711 while (i < orig.length) {
3727 var out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;
3728 for(i = 0; i < data.length; i+=j) {
3750 while(i < orig.length) {
3803 for(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);
3819 if(matches.length != h.size) {
3820 if(opts.WTF) throw new Error("unexpected vector length " + matches.length + " != " + h.size);
3923 …es*/ { var x=[],w=10240; for(var i=0;i<bufs[0].length;++i) if(bufs[0][i]) for(var j=0,L=bufs[0][i]…
3924 var __toBuffer = has_buf ? function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0…
4077 for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);
4078 size = 2 * val.length;
4083 for(i = 0; i != val.length; ++i) {
4087 size = val.length;
4091 …if(cpp.length == val.length) for(i = 0; i < val.length; ++i) if(cpp[i] == 0 && val.charCodeAt(i) !…
4092 …if(cpp.length == 2 * val.length) for(i = 0; i < val.length; ++i) if(cpp[2*i] == 0 && cpp[2*i+1] ==…
4093 for(i = 0; i < cpp.length; ++i) this[this.l + i] = cpp[i];
4094 size = cpp.length;
4099 for(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);
4100 size = val.length;
4109 var end/*:number*/ = Math.min(this.l + t, this.length);
4110 for(i = 0; i < Math.min(val.length, t); ++i) {
4131 var m = __hexlify(this,this.l,hexstr.length>>1);
4133 this.l += hexstr.length>>1;
4143 function parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; } argument
4154 var tmpbyte, cntbyte, length;
4156 var L = data.length, RT = 0, tgt = 0;
4162 length = tmpbyte & 0x7F;
4163 …for(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(…
4164 tgt = data.l + length;
4165 var d = R.f && R.f(data, length, opts);
4171 /* control buffer usage for fixed-length buffers */
4186 if(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }
4187 if(curbuf.length > 0) bufs.push(curbuf);
4193 if(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;
4203 …_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };
4208 function write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) { argument
4211 if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;
4212 l = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;
4213 if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;
4221 if(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }
4222 else { o.write_shift(1, length); break; }
4224 if(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);
4277 …g*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c…
4286 for(var i = 0; i < cstr.length; ++i) {
4333 var len = range.length;
4407 for(var R = 0; R != data.length; ++R) {
4410 for(var C = 0; C != data[R].length; ++C) {
4462 function parse_XLWideString(data/*::, length*/)/*:string*/ {
4467 var _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }
4468 o.write_shift(4, data.length);
4469 if (data.length > 0) o.write_shift(0, data, 'dbcs');
4474 //function parse_LPWideString(data/*::, length*/)/*:string*/ {
4491 function parse_RichStr(data, length/*:number*/)/*:XLString*/ { argument
4507 data.l = start + length;
4512 var _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }
4521 var _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }
4564 function parse_XLNullableWideString(data/*::, length*/)/*:string*/ {
4570 o.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);
4571 if (data.length > 0) o.write_shift(0, data, 'dbcs');
4603 function parse_RfX(data /*::, length*/)/*:Range*/ {
4636 // var o = new_buf(4); o.write_shift(4, parts.length);
4646 function parse_Xnum(data/*::, length*/) {
4647 if(data.length - data.l < 8) throw "XLS Xnum Buffer underflow";
4653 function parse_BrtColor(data/*::, length*/) {
4718 function parse_FontFlags(data/*::, length, opts*/) {
5331 ct.calcchain = ct.calcchains.length > 0 ? ct.calcchains[0] : "";
5332 ct.sst = ct.strs.length > 0 ? ct.strs[0] : "";
5333 ct.style = ct.styles.length > 0 ? ct.styles[0] : "";
5345 o[o.length] = (XML_HEADER);
5346 o[o.length] = writextag('Types', null, {
5373 if(ct[w] && ct[w].length > 0) {
5375 o[o.length] = (writextag('Override', null, {
5385 o[o.length] = (writextag('Override', null, {
5395 o[o.length] = (writextag('Override', null, {
5414 if(!raw && o.length>2){ o[o.length] = ('</Types>'); o[1]=o[1].replace("/>",">"); }
5489 o[o.length] = (writextag('Relationship', null, rels['!id'][rid]));
5491 if(o.length>2){ o[o.length] = ('</Relationships>'); o[1]=o[1].replace("/>",">"); }
5537 …for(var i = 0; i < manifest.length; ++i) o.push(' <manifest:file-entry manifest:full-path="' + ma…
5560 for(var i = 0; i != rdf.length; ++i) {
5594 var r = new Array(CORE_PROPS.length);
5595 for(var i = 0; i < CORE_PROPS.length; ++i) {
5607 for(var i = 0; i < CORE_PROPS.length; ++i) {
5609 if(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);
5620 o[o.length] = (h ? writextag(f,g,h) : writetag(f,g));
5640 for(var i = 0; i != CORE_PROPS.length; ++i) {
5648 if(o.length>2){ o[o.length] = ('</cp:coreProperties>'); o[1]=o[1].replace("/>",">"); }
5675 else for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));
5678 if(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {
5730 if(cur && cur.length > 0) q[f[1]] = cur[1];
5744 o[o.length] = (XML_HEADER);
5745 o[o.length] = (writextag('Properties', null, {
5757 if(v !== undefined) o[o.length] = (W(f[0], v));
5761 …o[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', '<vt:lpstr>Worksheets</vt:lpstr>')…
5762 …o[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return "<vt:lpstr…
5763 if(o.length>2){ o[o.length] = ('</Properties>'); o[1]=o[1].replace("/>",">"); }
5771 if(m) for(var i = 0; i != m.length; ++i) {
5820 o[o.length] = (writextag('property', write_vt(cp[k], true), {
5826 if(o.length>2){ o[o.length] = '</Properties>'; o[1]=o[1].replace("/>",">"); }
5873 for(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];
5874 for(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];
5896 for(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;
5897 for(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;
5898 for(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;
5949 if(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;
5962 …number*/) { if(!t) throw new Error("VtUnalignedString must have positive length"); return parse_Vt…
5966 var length = blob.read_shift(4);
5968 for(var i = 0; i != length; ++i) {
5978 var length = blob.read_shift(4);
5980 for(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');
6071 p = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));
6072 p.write_shift(4, value.length + 1);
6074 while(p.l != p.length) p.write_shift(1, 0);
6108 if(Props[i][0] == 0 && Props.length > i+1 && Props[i][1] == Props[i+1][1]) continue; // R9
6191 sz += 8 + pr.length;
6199 bufs[0].write_shift(4, entries.length);
6200 for(i = 0; i < entries.length; ++i) {
6202 pr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));
6204 pr.write_shift(4, value.length + 1);
6206 while(pr.l != pr.length) pr.write_shift(1, 0);
6211 sz += 8 + pr.length;
6214 for(i = 0; i < entries.length; ++i) {
6240 sz += 8 + pr.length;
6243 var w = 8 * (prop.length + 1);
6244 for(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }
6246 hdr.write_shift(4, prop.length);
6301 hdr.write_shift(4, 68 + ps0.length);
6307 function parsenoop2(blob, length) { blob.read_shift(length); return null; } argument
6310 function parslurp(blob, length, cb) { argument
6311 var arr = [], target = blob.l + length;
6317 function parsebool(blob, length/*:number*/) { return blob.read_shift(length) === 0x1; } argument
6320 function parseuint16(blob/*::, length:?number, opts:?any*/) { return blob.read_shift(2, 'u'); }
6322 function parseuint16a(blob, length/*:: :?number, opts:?any*/) { return parslurp(blob,length,parseui… argument
6327 function parse_Bes(blob/*::, length*/) {
6339 function parse_ShortXLUnicodeString(blob, length, opts) { argument
6380 hdr.write_shift(2, str.length);
6384 var otext = new_buf(2 * str.length);
6385 otext.write_shift(2 * str.length, str, 'utf16le');
6406 function parse_XLUnicodeString(blob, length, opts) { argument
6412 function parse_XLUnicodeString2(blob, length, opts) { argument
6413 if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);
6420 if(!o) o = new_buf(3 + 2 * str.length);
6421 o.write_shift(2, str.length);
6428 function parse_ControlInfo(blob/*::, length, opts*/) {
6437 function parse_URLMoniker(blob/*::, length, opts*/) {
6452 function parse_FileMoniker(blob/*::, length*/) {
6467 function parse_HyperlinkMoniker(blob, length) { argument
6468 var clsid = blob.read_shift(16); length -= 16;
6470 case "e0c9ea79f9bace118c8200aa004ba90b": return parse_URLMoniker(blob, length);
6471 case "0303000000000000c000000000000046": return parse_FileMoniker(blob, length);
6477 function parse_HyperlinkString(blob/*::, length*/) {
6483 if(!o) o = new_buf(6 + str.length * 2);
6484 o.write_shift(4, 1 + str.length);
6485 for(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));
6491 function parse_Hyperlink(blob, length)/*:Hyperlink*/ { argument
6492 var end = blob.l + length;
6524 …var data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, dat…
6530 for(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));
6532 out.write_shift(4, 2*(Pretarget.length + 1));
6533 for(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));
6538 for(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));
6542 out.write_shift(4, Target.length - 3 * P + 1);
6543 …for(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);
6553 function parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b…
6556 function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; } argument
6560 function parse_XLSCell(blob/*::, length*/)/*:Cell*/ {
6584 …ction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeStr… argument
6587 function parse_XTI(blob, length, opts) { argument
6601 function parse_AddinUdf(blob, length, opts) { argument
6602 blob.l += 4; length -= 4;
6603 var l = blob.l + length;
6604 var udfName = parse_ShortXLUnicodeString(blob, length, opts);
6613 function parse_Ref8U(blob/*::, length*/) {
6630 function parse_RefU(blob/*::, length*/) {
6642 function parse_FtCmo(blob/*::, length*/) {
6692 function parse_FtArray(blob, length/*::, ot*/) { argument
6693 var tgt = blob.l + length;
6709 function parse_BOF(blob, length) { argument
6711 o.BIFFVer = blob.read_shift(2); length -= 2;
6712 if(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }
6721 default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer);
6724 blob.read_shift(length);
6754 function parse_InterfaceHdr(blob, length) { argument
6755 if(length === 0) return 0x04b0;
6762 function parse_WriteAccess(blob, length, opts) { argument
6763 if(opts.enc) { blob.l += length; return ""; }
6767 blob.read_shift(length + l - blob.l);
6777 while(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));
6782 function parse_WsBool(blob, length, opts) { argument
6783 var flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);
6788 function parse_BoundSheet8(blob, length, opts) { argument
6799 if(name.length === 0) name = "Sheet1";
6804 var o = new_buf(8 + w * data.name.length);
6808 o.write_shift(1, data.name.length);
6810 o.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');
6816 function parse_SST(blob, length)/*:SST*/ { argument
6817 var end = blob.l + length;
6832 for(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);
6834 …/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; })…
6839 function parse_ExtSST(blob, length) { argument
6842 blob.l += length-2;
6884 function parse_DefaultRowHeight(blob, length, opts) { argument
6919 function parse_Window2(blob, length, opts) { argument
6936 function parse_Pane(/*blob, length, opts*/) {
6940 function parse_Font(blob, length, opts) { argument
6955 var b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));
6962 o.write_shift(1, name.length);
6964 o.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? "sbcs" : "utf16le"));
6982 function parse_Label(blob, length, opts) { argument
6984 var target = blob.l + length;
6993 var o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);
6995 o.write_shift(2, v.length);
6997 o.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');
7003 function parse_Format(blob, length, opts) { argument
7010 if(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));
7012 o.write_shift((b5 ? 1 : 2), f.length);
7014 o.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));
7015 var out = (o.length > o.l) ? o.slice(0, o.l) : o;
7016 if(out.l == null) out.l = out.length;
7022 function parse_Dimensions(blob, length, opts) { argument
7023 var end = blob.l + length;
7049 function parse_MulRk(blob, length) { argument
7050 var target = blob.l + length - 2;
7056 if(rkrecs.length != lastcol - col + 1) throw new Error("MulRK length mismatch");
7060 function parse_MulBlank(blob, length) { argument
7061 var target = blob.l + length - 2;
7067 if(ixfes.length != lastcol - col + 1) throw new Error("MulBlank length mismatch");
7072 function parse_CellStyleXF(blob, length, style, opts) { argument
7112 //function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}
7113 //function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}
7116 function parse_XF(blob, length, opts) { argument
7120 length -= 6;
7121 o.data = parse_CellStyleXF(blob, length, o.fStyle, opts);
7162 function parse_BoolErr(blob, length, opts) { argument
7164 if(opts.biff == 2 || length == 9) ++blob.l;
7178 function parse_Number(blob, length, opts) { argument
7195 function parse_SupBook(blob, length, opts) { argument
7196 var end = blob.l + length;
7210 function parse_ExternName(blob, length, opts) { argument
7222 if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);
7224 o.body = body || blob.read_shift(length-2);
7230 function parse_Lbl(blob, length, opts) { argument
7231 var target = blob.l + length;
7258 function parse_ExternSheet(blob, length, opts) { argument
7259 if(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);
7260 var o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);
7266 function parse_BIFF5ExternSheet(blob, length, opts) { argument
7268 var o = parse_ShortXLUnicodeString(blob, length, opts);
7273 function parse_NameCmt(blob, length, opts) { argument
7274 if(opts.biff < 8) { blob.l += length; return; }
7283 function parse_ShrFmla(blob, length, opts) { argument
7287 length -= 8;
7288 return [parse_SharedParsedFormula(blob, length, opts), cUse, ref];
7292 function parse_Array(blob, length, opts) { argument
7296 case 2: blob.l ++; length -= 7; break;
7297 case 3: case 4: blob.l += 2; length -= 8; break;
7298 default: blob.l += 6; length -= 12;
7300 return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];
7312 function parse_NoteSh(blob, length, opts) { argument
7322 function parse_Note(blob, length, opts) { argument
7324 return parse_NoteSh(blob, length, opts);
7328 function parse_MergeCells(blob, length)/*:Array<Range>*/ { argument
7331 while (cmcs--) merges.push(parse_Ref8U(blob,length));
7335 var o = new_buf(2 + merges.length * 8);
7336 o.write_shift(2, merges.length);
7337 for(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);
7342 function parse_Obj(blob, length, opts) { argument
7343 if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);
7345 var fts = parse_FtArray(blob, length-22, cmo[1]);
7350 0x08: function(blob, length) { argument
7351 var tgt = blob.l + length;
7366 function parse_BIFF5Obj(blob, length, opts) { argument
7381 length -= 36;
7383 fts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));
7388 function parse_TxO(blob, length, opts) { argument
7402 //var fmla = parse_ObjFmla(blob, s + length - blob.l);
7404 for(var i = 1; i < blob.lens.length-1; ++i) {
7409 if(texts.length >= (hdr ? cchText : 2*cchText)) break;
7411 if(texts.length !== cchText && texts.length !== cchText*2) {
7412 throw new Error("cchText: " + cchText + " != " + texts.length);
7415 blob.l = s + length;
7422 // if(s + length != blob.l) throw new Error("TxO " + (s + length) + ", at " + blob.l);
7424 } catch(e) { blob.l = s + length; return { t: texts }; }
7428 function parse_HLink(blob, length) { argument
7431 var hlink = parse_Hyperlink(blob, length-24);
7446 function parse_HLinkTooltip(blob, length) { argument
7449 var wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');
7455 var O = new_buf(10 + 2 * (TT.length + 1));
7460 for(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));
7506 function parse_ColInfo(blob, length, opts) { argument
7507 if(!opts.cellStyles) return parsenoop(blob, length);
7535 function parse_Setup(blob, length) { argument
7537 if(length < 32) return o;
7546 function parse_ShtProps(blob, length, opts) { argument
7548 if(opts.biff != 5) { blob.l += length; return def; }
7576 function parse_BIFF2STR(blob, length, opts) { argument
7580 var str = parse_XLUnicodeString2(blob, length-7, opts);
7586 function parse_BIFF2NUM(blob/*::, length*/) {
7623 function parse_BIFF2FONTXTRA(blob, length) { argument
7629 blob.l += length - 13;
7633 function parse_RString(blob, length, opts) { argument
7634 var end = blob.l + length;
7740 if(ft != 0x02) fpos = d.read_shift(2); // header length
7741 var rlen = d.read_shift(2); // record length
7759 var hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));
7770 if(field.name.length) fields.push(field);
7805 for(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;
7814 for(C = 0; C != fields.length; ++C) {
7821 if(s.trim().length) out[R][C] = s.replace(/\s+$/,"");
7824 if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));
7860 …if(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error("DBF EOF Marker missing " + …
7897 for(i = 0; i < headers.length; ++i) {
7913 for(j=0; j < data.length; ++j) {
7916 if(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }
7917 for(j = 0; j < col.length; ++j) {
7927 …& typeof col[j] == "string" ? $cptable.utils.encode(current_ansi, col[j]): String(col[j])).length);
7949 h.write_shift(4, data.length);
7960 for(i = 0, j = 0; i < headers.length; ++i) {
7981 for(i=0; i < data.length; ++i) {
7984 for(j=0; j<headers.length; ++j) {
7992 for(hcnt=0; hcnt < colwidths[j]-_n.length; ++hcnt) rout.write_shift(1, 0x20);
8067 for (; ri !== records.length; ++ri) {
8072 if(rstr.length > 0) switch(RT) {
8077 for(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {
8091 for(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {
8101 for(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {
8106 for(j = arr.length; j <= R; ++j) arr[j] = [];
8110 if(val.charAt(0) === '"') { val = val.slice(1,val.length - 1); cell_t = "s"; }
8156 for(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {
8160 for(j = arr.length; j <= R; ++j) arr[j] = [];
8195 if(rowinfo.length > 0) sht['!rows'] = rowinfo;
8196 if(colinfo.length > 0) sht['!cols'] = colinfo;
8237 if(rec.charAt(rec.length - 1) != " ") out.push(rec);
8247 if(rec.length > 2) out.push(rec + "R" + (i+1));
8297 for (; ri !== records.length; ++ri) {
8304 …while(((data.match(/["]/g)||[]).length & 1) && ri < records.length - 1) data += "\n" + records[++r…
8319 data = data.slice(1,data.length-1);
8399 for (; ri !== records.length; ++ri) {
8403 if(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];
8408 case 'vtf': var _f = record[record.length - 1];
8507 if(!f || f.length === 0) return arr;
8509 var L = lines.length - 1;
8510 while(L >= 0 && lines[L].length === 0) --L;
8515 if(idx == -1) idx = lines[R].length; else idx++;
8523 for(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)
8548 for(;end < str.length;++end) {
8558 if ( !cc.length ) {
8596 if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"');
8597 if(s.length === 0) cell.t = 'z';
8599 else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }
8601 …if(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice…
8627 outer: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {
8684 while(w.length < 10) w += " ";
8718 while(data.l < data.length) {
8721 var length = data.read_shift(2);
8722 var tgt = data.l + length;
8723 var d = R.f && R.f(data, length, opts);
8752 …if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac…
8853 if(!realnames.length) return { SheetNames: snames, Sheets: sheets };
8856 for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {
8908 …for(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})["!re…
8911 for(i = 0; i < wb.SheetNames.length; ++i) {
8955 for(var i = 0; i < wb.SheetNames.length; ++i) {
8977 function parse_RANGE(blob, length, opts) {
8979 if(length == 8 && opts.qpro) {
8990 if(length == 12 && opts.qpro) blob.l += 2;
8993 if(length == 12 && opts.qpro) blob.l += 2;
9006 function parse_cell(blob, length, opts) {
9023 function parse_LABEL(blob, length, opts) {
9024 var tgt = blob.l + length;
9025 var o = parse_cell(blob, length, opts);
9039 var o = new_buf(7 + s.length);
9044 for(var i = 0; i < o.length; ++i) {
9051 function parse_STRING(blob, length, opts) {
9052 var tgt = blob.l + length;
9053 var o = parse_cell(blob, length, opts);
9064 function parse_INTEGER(blob, length, opts) {
9065 var o = parse_cell(blob, length, opts);
9078 function parse_NUMBER(blob, length, opts) {
9079 var o = parse_cell(blob, length, opts);
9092 function parse_FORMULA(blob, length, opts) {
9093 var tgt = blob.l + length;
9094 var o = parse_cell(blob, length, opts);
9211 while(blob.l < blob.length) {
9228 if(blob.l < blob.length) { console.error("WK1 premature formula end"); return; }
9254 …if(argc > out.length) { console.error("WK1 bad formula parse 0x" + cc.toString(16) + ":|" + out.jo…
9256 out.length -= argc;
9267 if(out.length == 1) o[1].f = "" + out[0];
9272 function parse_cell_3(blob/*::, length*/) {
9278 function parse_LABEL_16(blob, length) {
9279 var o = parse_cell_3(blob, length);
9281 o[1].v = blob.read_shift(length - 4, 'cstr');
9286 var o = new_buf(6 + s.length);
9291 for(var i = 0; i < s.length; ++i) {
9299 function parse_NUMBER_18(blob, length) {
9300 var o = parse_cell_3(blob, length);
9319 function parse_NUMBER_17(blob, length) {
9320 var o = parse_cell_3(blob, length);
9363 function parse_FORMULA_19(blob, length) {
9365 blob.l += length - 14; /* TODO: WK3 formula */
9369 function parse_NUMBER_25(blob, length) {
9370 var o = parse_cell_3(blob, length);
9376 function parse_NUMBER_27(blob, length) {
9377 var o = parse_cell_3(blob, length);
9383 function parse_FORMULA_28(blob, length) {
9385 blob.l += length - 12; /* TODO: formula */
9389 function parse_SHEETNAMECS(blob, length) {
9390 return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : "";
9393 function parse_SHEETNAMELP(blob, length) {
9395 if(len > length - 1) len = length - 1;
9396 var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);
9400 function parse_SHEETINFOQP(blob, length, opts) {
9401 if(!opts.qpro || length < 21) return;
9406 var nm = blob.read_shift(length - 21, 'cstr');
9410 function parse_XFORMAT(blob, length) {
9411 var o = {}, tgt = blob.l + length;
9424 var out = new_buf(5 + name.length);
9427 for(var i = 0; i < name.length; ++i) {
9639 outer: while(d.l < d.length) {
9640 var RT = d.read_shift(2), length = d.read_shift(2);
9641 var p = d.slice(d.l, d.l + length);
9655 while(p.l < p.length) {
9663 //while(p.l < p.length) {
9677 if(p.l + 2 < p.length) {
9708 while(p.l < p.length) {
9761 d.l += length;
9776 if(m) for(;i!=m.length; ++i) {
9978 for(var i = 0; i != ss.length; ++i) {
9980 if(o != null) s[s.length] = o;
9991 o[o.length] = (writextag('sst', null, {
9996 for(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;
10008 o[o.length] = (sitag);
10010 if(o.length>2){ o[o.length] = ('</sst>'); o[1]=o[1].replace("/>",">"); }
10056 …for(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst…
10064 for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);
10069 function parse_CRYPTOVersion(blob, length/*:?number*/) { argument
10073 /*:: if(length == null) return o; */
10074 if(length >= 4) blob.l += length - 4;
10146 function parse_EncryptionHeader(blob, length/*:number*/) { argument
10147 var tgt = blob.l + length;
10170 function parse_EncryptionVerifier(blob, length/*:number*/) { argument
10171 var o = {}, tgt = blob.l + length;
10198 var verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);
10207 var xml = blob.read_shift(blob.length - blob.l, 'utf8');
10229 function parse_RC4CryptoHeader(blob, length/*:number*/) { argument
10231 var vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4); length -= 4;
10234 o.Flags = blob.read_shift(4); length -= 4;
10235 var sz = blob.read_shift(4); length -= 4;
10236 o.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;
10237 o.EncryptionVerifier = parse_EncryptionVerifier(blob, length);
10241 function parse_RC4Header(blob/*::, length*/) {
10255 var len = PasswordDecoded.length + 1, i, PasswordByte;
10258 PasswordArray[0] = PasswordDecoded.length;
10278 var XorKey = InitialCode[Password.length - 1];
10280 for(var i = Password.length-1; i >= 0; --i) {
10292 var Index = Password.length;
10301 PasswordLastChar = Password[Password.length - 1];
10313 PadIndex = 15 - Password.length;
10334 for(Index = 0; Index != Data.length; ++Index) {
10354 function parse_XORObfuscation(blob, length, opts, out) { argument
10363 function parse_FilePassHeader(blob, length/*:number*/, oo) { argument
10365 if(o.Info === 1) o.Data = parse_RC4Header(blob, length);
10366 else o.Data = parse_RC4CryptoHeader(blob, length);
10369 function parse_FilePass(blob, length/*:number*/, opts) { argument
10371 if(o.Type) parse_FilePassHeader(blob, length-2, o);
10372 else parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);
10396 var range = { s: { c: 0, r: 0 }, e: { c: 0, r: rows.length - 1 } };
10406 var data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);
10409 if (data.length)
10414 if (payload.length) {
10857 for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];
10860 for(i=0; i < m.length; ++i) {
10884 …for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmt…
10886 if(o.length === 1) return "";
10887 o[o.length] = ("</numFmts>");
10888 o[0] = writextag('numFmts', null, { count:o.length-2 }).replace("/>", ">");
10908 for(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])
10910 for(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])
10952 o[o.length] = (writextag('cellXfs',null));
10954 o[o.length] = (writextag('xf', null, c));
10956 o[o.length] = ("</cellXfs>");
10957 if(o.length === 2) return "";
10958 o[0] = writextag('cellXfs',null, {count:o.length-2}).replace("/>",">");
11009 if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;
11010 …o[o.length] = ('<fonts count="1"><font><sz val="12"/><color theme="1"/><name val="Calibri"/><famil…
11011 …o[o.length] = ('<fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill …
11012 …o[o.length] = ('<borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></bor…
11013 …o[o.length] = ('<cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cel…
11014 if((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);
11015 …o[o.length] = ('<cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyle…
11016 o[o.length] = ('<dxfs count="0"/>');
11017 …o[o.length] = ('<tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="Pi…
11019 if(o.length>2){ o[o.length] = ('</styleSheet>'); o[1]=o[1].replace("/>",">"); }
11023 function parse_BrtFmt(data, length/*:number*/) { argument
11025 var stFmtCode = parse_XLWideString(data,length-2);
11029 if(!o) o = new_buf(6 + 4 * f.length);
11032 var out = (o.length > o.l) ? o.slice(0, o.l) : o;
11033 if(o.l == null) o.l = o.length;
11038 function parse_BrtFont(data, length/*:number*/, opts) { argument
11078 out.name = parse_XLWideString(data, length - 21);
11101 return o.length > o.l ? o.slice(0, o.l) : o;
11156 return o.length > o.l ? o.slice(0, o.l) : o;
11160 function parse_BrtXF(data, length/*:number*/) { argument
11161 var tgt = data.l + length;
11203 return o.length > o.l ? o.slice(0, o.l) : o;
11214 return o.length > o.l ? o.slice(0, o.l) : o;
11223 return o.length > o.l ? o.slice(0, o.l) : o;
11253 if(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {
11283 …else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error("…
11357 write_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));
11468 color.name = y[0].slice(3, y[0].length - 1);
11511 if(!data || data.length === 0) data = write_theme();
11527 …o[o.length] = '<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Offi…
11528 o[o.length] = '<a:themeElements>';
11530 o[o.length] = '<a:clrScheme name="Office">';
11531 o[o.length] = '<a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1>';
11532 o[o.length] = '<a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1>';
11533 o[o.length] = '<a:dk2><a:srgbClr val="1F497D"/></a:dk2>';
11534 o[o.length] = '<a:lt2><a:srgbClr val="EEECE1"/></a:lt2>';
11535 o[o.length] = '<a:accent1><a:srgbClr val="4F81BD"/></a:accent1>';
11536 o[o.length] = '<a:accent2><a:srgbClr val="C0504D"/></a:accent2>';
11537 o[o.length] = '<a:accent3><a:srgbClr val="9BBB59"/></a:accent3>';
11538 o[o.length] = '<a:accent4><a:srgbClr val="8064A2"/></a:accent4>';
11539 o[o.length] = '<a:accent5><a:srgbClr val="4BACC6"/></a:accent5>';
11540 o[o.length] = '<a:accent6><a:srgbClr val="F79646"/></a:accent6>';
11541 o[o.length] = '<a:hlink><a:srgbClr val="0000FF"/></a:hlink>';
11542 o[o.length] = '<a:folHlink><a:srgbClr val="800080"/></a:folHlink>';
11543 o[o.length] = '</a:clrScheme>';
11545 o[o.length] = '<a:fontScheme name="Office">';
11546 o[o.length] = '<a:majorFont>';
11547 o[o.length] = '<a:latin typeface="Cambria"/>';
11548 o[o.length] = '<a:ea typeface=""/>';
11549 o[o.length] = '<a:cs typeface=""/>';
11550 o[o.length] = '<a:font script="Jpan" typeface="MS Pゴシック"/>';
11551 o[o.length] = '<a:font script="Hang" typeface="맑은 고딕"/>';
11552 o[o.length] = '<a:font script="Hans" typeface="宋体"/>';
11553 o[o.length] = '<a:font script="Hant" typeface="新細明體"/>';
11554 o[o.length] = '<a:font script="Arab" typeface="Times New Roman"/>';
11555 o[o.length] = '<a:font script="Hebr" typeface="Times New Roman"/>';
11556 o[o.length] = '<a:font script="Thai" typeface="Tahoma"/>';
11557 o[o.length] = '<a:font script="Ethi" typeface="Nyala"/>';
11558 o[o.length] = '<a:font script="Beng" typeface="Vrinda"/>';
11559 o[o.length] = '<a:font script="Gujr" typeface="Shruti"/>';
11560 o[o.length] = '<a:font script="Khmr" typeface="MoolBoran"/>';
11561 o[o.length] = '<a:font script="Knda" typeface="Tunga"/>';
11562 o[o.length] = '<a:font script="Guru" typeface="Raavi"/>';
11563 o[o.length] = '<a:font script="Cans" typeface="Euphemia"/>';
11564 o[o.length] = '<a:font script="Cher" typeface="Plantagenet Cherokee"/>';
11565 o[o.length] = '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>';
11566 o[o.length] = '<a:font script="Tibt" typeface="Microsoft Himalaya"/>';
11567 o[o.length] = '<a:font script="Thaa" typeface="MV Boli"/>';
11568 o[o.length] = '<a:font script="Deva" typeface="Mangal"/>';
11569 o[o.length] = '<a:font script="Telu" typeface="Gautami"/>';
11570 o[o.length] = '<a:font script="Taml" typeface="Latha"/>';
11571 o[o.length] = '<a:font script="Syrc" typeface="Estrangelo Edessa"/>';
11572 o[o.length] = '<a:font script="Orya" typeface="Kalinga"/>';
11573 o[o.length] = '<a:font script="Mlym" typeface="Kartika"/>';
11574 o[o.length] = '<a:font script="Laoo" typeface="DokChampa"/>';
11575 o[o.length] = '<a:font script="Sinh" typeface="Iskoola Pota"/>';
11576 o[o.length] = '<a:font script="Mong" typeface="Mongolian Baiti"/>';
11577 o[o.length] = '<a:font script="Viet" typeface="Times New Roman"/>';
11578 o[o.length] = '<a:font script="Uigh" typeface="Microsoft Uighur"/>';
11579 o[o.length] = '<a:font script="Geor" typeface="Sylfaen"/>';
11580 o[o.length] = '</a:majorFont>';
11581 o[o.length] = '<a:minorFont>';
11582 o[o.length] = '<a:latin typeface="Calibri"/>';
11583 o[o.length] = '<a:ea typeface=""/>';
11584 o[o.length] = '<a:cs typeface=""/>';
11585 o[o.length] = '<a:font script="Jpan" typeface="MS Pゴシック"/>';
11586 o[o.length] = '<a:font script="Hang" typeface="맑은 고딕"/>';
11587 o[o.length] = '<a:font script="Hans" typeface="宋体"/>';
11588 o[o.length] = '<a:font script="Hant" typeface="新細明體"/>';
11589 o[o.length] = '<a:font script="Arab" typeface="Arial"/>';
11590 o[o.length] = '<a:font script="Hebr" typeface="Arial"/>';
11591 o[o.length] = '<a:font script="Thai" typeface="Tahoma"/>';
11592 o[o.length] = '<a:font script="Ethi" typeface="Nyala"/>';
11593 o[o.length] = '<a:font script="Beng" typeface="Vrinda"/>';
11594 o[o.length] = '<a:font script="Gujr" typeface="Shruti"/>';
11595 o[o.length] = '<a:font script="Khmr" typeface="DaunPenh"/>';
11596 o[o.length] = '<a:font script="Knda" typeface="Tunga"/>';
11597 o[o.length] = '<a:font script="Guru" typeface="Raavi"/>';
11598 o[o.length] = '<a:font script="Cans" typeface="Euphemia"/>';
11599 o[o.length] = '<a:font script="Cher" typeface="Plantagenet Cherokee"/>';
11600 o[o.length] = '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>';
11601 o[o.length] = '<a:font script="Tibt" typeface="Microsoft Himalaya"/>';
11602 o[o.length] = '<a:font script="Thaa" typeface="MV Boli"/>';
11603 o[o.length] = '<a:font script="Deva" typeface="Mangal"/>';
11604 o[o.length] = '<a:font script="Telu" typeface="Gautami"/>';
11605 o[o.length] = '<a:font script="Taml" typeface="Latha"/>';
11606 o[o.length] = '<a:font script="Syrc" typeface="Estrangelo Edessa"/>';
11607 o[o.length] = '<a:font script="Orya" typeface="Kalinga"/>';
11608 o[o.length] = '<a:font script="Mlym" typeface="Kartika"/>';
11609 o[o.length] = '<a:font script="Laoo" typeface="DokChampa"/>';
11610 o[o.length] = '<a:font script="Sinh" typeface="Iskoola Pota"/>';
11611 o[o.length] = '<a:font script="Mong" typeface="Mongolian Baiti"/>';
11612 o[o.length] = '<a:font script="Viet" typeface="Arial"/>';
11613 o[o.length] = '<a:font script="Uigh" typeface="Microsoft Uighur"/>';
11614 o[o.length] = '<a:font script="Geor" typeface="Sylfaen"/>';
11615 o[o.length] = '</a:minorFont>';
11616 o[o.length] = '</a:fontScheme>';
11618 o[o.length] = '<a:fmtScheme name="Office">';
11619 o[o.length] = '<a:fillStyleLst>';
11620 o[o.length] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>';
11621 o[o.length] = '<a:gradFill rotWithShape="1">';
11622 o[o.length] = '<a:gsLst>';
11623 …o[o.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/><a:satMod val="30…
11624 …o[o.length] = '<a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/><a:satMod val…
11625 …o[o.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/><a:satMod va…
11626 o[o.length] = '</a:gsLst>';
11627 o[o.length] = '<a:lin ang="16200000" scaled="1"/>';
11628 o[o.length] = '</a:gradFill>';
11629 o[o.length] = '<a:gradFill rotWithShape="1">';
11630 o[o.length] = '<a:gsLst>';
11631 …o[o.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="100000"/><a:shade val="10…
11632 …o[o.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="50000"/><a:shade val…
11633 o[o.length] = '</a:gsLst>';
11634 o[o.length] = '<a:lin ang="16200000" scaled="0"/>';
11635 o[o.length] = '</a:gradFill>';
11636 o[o.length] = '</a:fillStyleLst>';
11637 o[o.length] = '<a:lnStyleLst>';
11638 …o[o.length] = '<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="…
11639 …o[o.length] = '<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val=…
11640 …o[o.length] = '<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val=…
11641 o[o.length] = '</a:lnStyleLst>';
11642 o[o.length] = '<a:effectStyleLst>';
11643 o[o.length] = '<a:effectStyle>';
11644 o[o.length] = '<a:effectLst>';
11645 …o[o.length] = '<a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0"><a:s…
11646 o[o.length] = '</a:effectLst>';
11647 o[o.length] = '</a:effectStyle>';
11648 o[o.length] = '<a:effectStyle>';
11649 o[o.length] = '<a:effectLst>';
11650 …o[o.length] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:s…
11651 o[o.length] = '</a:effectLst>';
11652 o[o.length] = '</a:effectStyle>';
11653 o[o.length] = '<a:effectStyle>';
11654 o[o.length] = '<a:effectLst>';
11655 …o[o.length] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:s…
11656 o[o.length] = '</a:effectLst>';
11657 …o[o.length] = '<a:scene3d><a:camera prst="orthographicFront"><a:rot lat="0" lon="0" rev="0"/>…
11658 o[o.length] = '<a:sp3d><a:bevelT w="63500" h="25400"/></a:sp3d>';
11659 o[o.length] = '</a:effectStyle>';
11660 o[o.length] = '</a:effectStyleLst>';
11661 o[o.length] = '<a:bgFillStyleLst>';
11662 o[o.length] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>';
11663 o[o.length] = '<a:gradFill rotWithShape="1">';
11664 o[o.length] = '<a:gsLst>';
11665 …o[o.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/><a:satMod val="35…
11666 …o[o.length] = '<a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/><a:shade val=…
11667 …o[o.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="20000"/><a:satMod v…
11668 o[o.length] = '</a:gsLst>';
11669 …o[o.length] = '<a:path path="circle"><a:fillToRect l="50000" t="-80000" r="50000" b="180000"/…
11670 o[o.length] = '</a:gradFill>';
11671 o[o.length] = '<a:gradFill rotWithShape="1">';
11672 o[o.length] = '<a:gsLst>';
11673 …o[o.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/><a:satMod val="30…
11674 …o[o.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="30000"/><a:satMod v…
11675 o[o.length] = '</a:gsLst>';
11676 …o[o.length] = '<a:path path="circle"><a:fillToRect l="50000" t="50000" r="50000" b="50000"/><…
11677 o[o.length] = '</a:gradFill>';
11678 o[o.length] = '</a:bgFillStyleLst>';
11679 o[o.length] = '</a:fmtScheme>';
11680 o[o.length] = '</a:themeElements>';
11682 o[o.length] = '<a:objectDefaults>';
11683 o[o.length] = '<a:spDef>';
11684 …o[o.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx="1"><a:schemeClr val="acc…
11685 o[o.length] = '</a:spDef>';
11686 o[o.length] = '<a:lnDef>';
11687 …o[o.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx="2"><a:schemeClr val="acc…
11688 o[o.length] = '</a:lnDef>';
11689 o[o.length] = '</a:objectDefaults>';
11690 o[o.length] = '<a:extraClrSchemeLst/>';
11691 o[o.length] = '</a:theme>';
11695 function parse_Theme(blob, length, opts) { argument
11696 var end = blob.l + length;
11709 function parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }
11712 function parse_FullColorExt(blob/*::, length*/) {
11728 function parse_IcvXF(blob, length) { argument
11729 return parsenoop(blob, length);
11733 function parse_XFExtGradient(blob, length) { argument
11734 return parsenoop(blob, length);
11738 function parse_ExtProp(blob/*::, length*/)/*:Array<any>*/ {
11754 function parse_XFExt(blob, length) { argument
11755 var end = blob.l + length;
11785 function parse_BrtMdtinfo(data, length) { argument
11789 name: parse_XLWideString(data, length - 8)
11793 var o = new_buf(12 + 2 * data.name.length);
11807 var o = new_buf(4 + 8 * mdb.length);
11808 o.write_shift(4, mdb.length);
11809 for (var i = 0; i < mdb.length; ++i) {
11816 var o = new_buf(8 + 2 * name.length);
11866 } else if (!pass || opts.WTF && state[state.length - 1] != 35)
11920 for (var j = 0; j < out.Types.length; ++j)
12116 if(_comments.length > 0) o.push(writextag("v:shapetype", [
12187 for(var i = cell.c.length - 1; i >= 0; --i) {
12191 if(threaded && people) for(i = 0; i < people.length; ++i) {
12245 if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("<author>SheetJ5</author>"); }
12267 for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n";
12273 if(o.length>2) { o[o.length] = ('</comments>'); o[1]=o[1].replace("/>",">"); }
12294 case '<text>': case '<text': tidx = idx + x.length; break;
12469 if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));
12512 if($2.length == 0) rRel = true;
12515 if($3.length == 0) cRel = true;
12518 var R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;
12558 if(f.length == 1) return false;
12568 function parse_ColRelU(blob, length) { argument
12569 var c = blob.read_shift(length == 1 ? 1 : 2);
12574 function parse_RgceArea(blob, length, opts) { argument
12577 if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);
12586 function parse_RgceArea_BIFF2(blob/*::, length, opts*/) {
12594 function parse_RgceAreaRel(blob, length, opts) { argument
12595 if(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);
12603 function parse_RgceLoc(blob, length, opts) { argument
12604 if(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);
12609 function parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {
12616 function parse_RgceElfLoc(blob/*::, length, opts*/) {
12623 function parse_RgceLocRel(blob, length, opts) { argument
12625 if(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);
12634 function parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {
12645 function parse_PtgArea(blob, length, opts) { argument
12652 function parse_PtgArea3d(blob, length, opts) { argument
12665 function parse_PtgAreaErr(blob, length, opts) { argument
12671 function parse_PtgAreaErr3d(blob, length, opts) { argument
12684 function parse_PtgAreaN(blob, length, opts) { argument
12686 var area = parse_RgceAreaRel(blob, length - 1, opts);
12691 function parse_PtgArray(blob, length, opts) { argument
12706 function parse_PtgAttrChoose(blob, length, opts)/*:Array<number>*/ { argument
12716 function parse_PtgAttrGoto(blob, length, opts) { argument
12723 function parse_PtgAttrIf(blob, length, opts) { argument
12737 function parse_PtgAttrSemi(blob, length, opts) { argument
12744 function parse_PtgAttrSpaceType(blob/*::, length*/) {
12762 function parse_PtgRef(blob, length, opts) { argument
12771 function parse_PtgRefN(blob, length, opts) { argument
12779 function parse_PtgRef3d(blob, length, opts) { argument
12790 function parse_PtgFunc(blob, length, opts) { argument
12798 function parse_PtgFuncVar(blob, length, opts) { argument
12809 function parse_PtgAttrSum(blob, length, opts) { argument
12814 function parse_PtgExp(blob, length, opts) { argument
12835 function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, lengt… argument
12875 function parse_PtgExtraArray(blob, length, opts) { argument
12892 function parse_PtgName(blob, length, opts) { argument
12905 function parse_PtgNameX(blob, length, opts) { argument
12906 if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);
12912 function parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {
12922 function parse_PtgMemArea(blob, length, opts) { argument
12930 function parse_PtgMemFunc(blob, length, opts) { argument
12938 function parse_PtgRefErr(blob, length, opts) { argument
12947 function parse_PtgRefErr3d(blob, length, opts) { argument
12966 function parse_PtgElfLoc(blob, length, opts) { argument
12970 function parse_PtgElfNoop(blob/*::, length, opts*/) {
12983 function parse_PtgElfLel(blob/*::, length, opts*/) {
13018 function parse_PtgList(blob/*::, length, opts*/) {
13029 function parse_PtgSxName(blob/*::, length, opts*/) {
13035 function parse_PtgSheet(blob, length, opts) { argument
13041 function parse_PtgEndSheet(blob, length, opts) { argument
13045 function parse_PtgMemAreaN(blob/*::, length, opts*/) {
13050 function parse_PtgMemNoMemN(blob/*::, length, opts*/) {
13055 function parse_PtgAttrNoop(blob/*::, length, opts*/) {
13171 function parse_RgbExtra(blob, length, rgce, opts) { argument
13172 if(opts.biff < 8) return parsenoop(blob, length);
13173 var target = blob.l + length;
13175 for(var i = 0; i !== rgce.length; ++i) {
13198 length = target - blob.l;
13200 //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l);
13201 if(length !== 0) o.push(parsenoop(blob, length));
13206 function parse_Rgce(blob, length, opts) { argument
13207 var target = blob.l + length;
13210 length = target - blob.l;
13214 if(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }
13215 else { ptgs.push([R.n, R.f(blob, length, opts)]); }
13222 for(var i = 0; i < f.length; ++i) {
13224 for(var j = 0; j < x.length; ++j) {
13308 for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {
13395 stack.length -= argc;
13507 for(e1=0;e1!=supbooks.arrayf.length; ++e1) {
13607 if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack");
13613 function parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) { argument
13614 var target = blob.l + length, len = opts.biff == 2 ? 1 : 2;
13615 var rgcb, cce = blob.read_shift(len); // length of rgce
13616 if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];
13618 if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);
13624 function parse_XLSCellParsedFormula(blob, length, opts) { argument
13625 var target = blob.l + length, len = opts.biff == 2 ? 1 : 2;
13626 var rgcb, cce = blob.read_shift(len); // length of rgce
13627 if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];
13629 if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);
13635 function parse_NameParsedFormula(blob, length, opts, cce) { argument
13636 var target = blob.l + length;
13644 function parse_SharedParsedFormula(blob, length, opts) { argument
13645 var target = blob.l + length;
13646 var rgcb, cce = blob.read_shift(2); // length of rgce
13648 if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];
13649 if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);
13654 function parse_FormulaValue(blob/*::, length*/) {
13680 function parse_Formula(blob, length, opts) { argument
13681 var end = blob.l + length;
13709 var bf = new_buf(cell.bf.length);
13710 for(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];
13718 function parse_XLSBParsedFormula(data, length, opts) { argument
13779 preamble.write_shift(4, 3 + 2 * val.length);
13781 preamble.write_shift(2, val.length);
13783 var body = new_buf(2 * val.length);
13784 body.write_shift(2 * val.length, val, "utf16le");
15106 …return [s, a[0].split(".")[1] + (a.length > 1 ? (":" + (a[1].split(".")[1] || a[1].split(".")[0]))…
15121 var i = 0, len = sst.length;
15125 for(; i < revarr.length; ++i) {
15174 var i = 0x3c, len = styles.length;
15270 data2 = data.slice(mtch.index + mtch[0].length);
15307 if(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)
15331 if(columns.length > 0) s["!cols"] = columns;
15332 if(merges.length > 0) s["!merges"] = merges;
15337 if(merges.length === 0) return "";
15338 var o = '<mergeCells count="' + merges.length + '">';
15339 for(var i = 0; i != merges.length; ++i) o += '<mergeCell ref="' + encode_range(merges[i]) + '"/>';
15370 o[o.length] = (writextag('sheetPr', payload, props));
15393 for(var i = 0; i != data.length; ++i) {
15435 for(var coli = 0; coli != cols.length; ++coli) {
15448 for(var i = 0; i != cols.length; ++i) {
15450 o[o.length] = (writextag('col', null, col_obj_w(i, col)));
15452 o[o.length] = "</cols>";
15467 for(var i = 0; i < names.length; ++i) {
15473 …if(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: "'" + wb.SheetN…
15530 if(cell.v.length > 32767) throw new Error("Text length must not exceed 32767 characters");
15539 var ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:"array", ref:cell.F} : null;
15567 for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {
15569 var xlen = x.length;
15608 …for(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != "<") br…
15610 for(ri = 0; ri != cells.length; ++ri) {
15612 if(x.length === 0) continue;
15615 if(cref != null && cref.length === 2) {
15617 for(i=0; i != d.length; ++i) {
15624 for(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;
15652 for(i = 0; i < arrayf.length; ++i)
15734 if(rows.length > 0) s['!rows'] = rows;
15751 if(r.length > 0 || (rows && rows[R])) {
15762 o[o.length] = (writextag('row', r.join(""), params));
15765 if(rows) for(; R < rows.length; ++R) {
15775 o[o.length] = (writextag('row', "", params));
15803 o[o.length] = (writextag('dimension', null, {'ref': ref}));
15805 o[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);
15808 if(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {
15814 …if(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']…
15816 o[sidx = o.length] = '<sheetData/>';
15820 if(rdata.length > 0) o[o.length] = (rdata);
15822 if(o.length>sidx+1) { o[o.length] = ('</sheetData>'); o[sidx]=o[sidx].replace("/>",">"); }
15826 if(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);
15831 …if(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx…
15837 …if(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merg…
15844 if(/*::(*/ws['!links']/*::||[])*/.length > 0) {
15845 o[o.length] = "<hyperlinks>";
15856 o[o.length] = writextag("hyperlink",null,rel);
15858 o[o.length] = "</hyperlinks>";
15864 if(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);
15873 …if(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag("ignoredErrors", …
15877 if(_drawing.length > 0) {
15879 o[o.length] = writextag("drawing", null, {"r:id":"rId" + rId});
15883 if(ws['!comments'].length > 0) {
15885 o[o.length] = writextag("legacyDrawing", null, {"r:id":"rId" + rId});
15897 if(o.length>1) { o[o.length] = ('</worksheet>'); o[1]=o[1].replace("/>",">"); }
15902 function parse_BrtRowHdr(data, length) { argument
15904 var tgt = data.l + length;
15962 return o.length > o.l ? o.slice(0, o.l) : o;
15966 if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);
15974 function parse_BrtWsFmtInfo(/*::data, length*/) {
15979 function parse_BrtWsProp(data, length) { argument
15986 z.name = parse_XLSBCodeName(data, length - 19);
15990 if(o == null) o = new_buf(84+4*str.length);
16161 if(o == null) o = new_buf(12 + 4 * cell.v.length);
16164 return o.length > o.l ? o.slice(0, o.l) : o;
16173 if(o == null) o = new_buf(8 + 4 * data.length);
16176 return o.length > o.l ? o.slice(0, o.l) : o;
16180 function parse_BrtFmlaBool(data, length, opts) { argument
16181 var end = data.l + length;
16196 function parse_BrtFmlaError(data, length, opts) { argument
16197 var end = data.l + length;
16212 function parse_BrtFmlaNum(data, length, opts) { argument
16213 var end = data.l + length;
16228 function parse_BrtFmlaString(data, length, opts) { argument
16229 var end = data.l + length;
16254 function parse_BrtHLink(data, length/*::, opts*/) { argument
16255 var end = data.l + length;
16267 var o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || "").length));
16279 function parse_BrtPane(/*data, length, opts*/) {
16283 function parse_BrtArrFmla(data, length, opts) { argument
16284 var end = data.l + length;
16296 function parse_BrtShrFmla(data, length, opts) { argument
16297 var end = data.l + length;
16327 function parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {
16340 function parse_BrtBeginWsView(data/*::, length, opts*/) {
16402 function parse_BrtDVal(/*data, length, opts*/) {
16404 function parse_BrtDVal14(/*data, length, opts*/) {
16434 if(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];
16492 for(ai = 0; ai < arrayf.length; ++ai) {
16499 if(!af && val.length > 3) p.f = val[3];
16699 if(merges.length > 0) s["!merges"] = merges;
16700 if(colinfo.length > 0) s["!cols"] = colinfo;
16701 if(rowinfo.length > 0) s["!rows"] = rowinfo;
16768 if(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);
16790 write_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));
16820 if(ws['!comments'].length > 0) {
16838 for(var i = 0; i < names.length; ++i) {
16844 …if(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: formula_quote_s…
17002 // o[o.length] = writextag("drawing", null, {"r:id": "rId1"});
17004 // if(o.length>2) { o[o.length] = ('</chartsheet>'); o[1]=o[1].replace("/>",">"); }
17009 function parse_BrtCsProp(data, length/*:number*/) { argument
17011 var name = parse_XLWideString(data, length - 10);
17159 for(var j = 0; j != target.length; ++j) { var w = target[j];
17160 for(var i=0; i != defaults.length; ++i) { var z = defaults[i];
17170 for(var i = 0; i != defaults.length; ++i) { var z = defaults[i];
17198 if(n.length > 31) { if(safe) return false; throw new Error("Sheet names cannot exceed 31 chars"); }
17213 if(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error("Bad Code Name: Worksheet" + cn);
17219 if(!wb.SheetNames.length) throw new Error("Workbook is empty");
17222 …for(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[…
17325 dnstart = idx + x.length;
17398 o[o.length] = writextag('workbook', null, {
17405 var write_names = (wb.Workbook && (wb.Workbook.Names||[]).length > 0);
17421 o[o.length] = (writextag('workbookPr', null, workbookPr));
17430 o[o.length] = "<bookViews>";
17431 for(i = 0; i != wb.SheetNames.length; ++i) {
17435 if(i == wb.SheetNames.length) i = 0;
17436 o[o.length] = '<workbookView firstSheet="' + i + '" activeTab="' + i + '"/>';
17437 o[o.length] = "</bookViews>";
17440 o[o.length] = "<sheets>";
17441 for(i = 0; i != wb.SheetNames.length; ++i) {
17449 o[o.length] = (writextag('sheet',null,sht));
17451 o[o.length] = "</sheets>";
17457 o[o.length] = "<definedNames>";
17464 o[o.length] = writextag('definedName', escapexml(n.Ref), d);
17466 o[o.length] = "</definedNames>";
17480 if(o.length>2){ o[o.length] = '</workbook>'; o[1]=o[1].replace("/>",">"); }
17484 function parse_BrtBundleSh(data, length/*:number*/) { argument
17488 z.strRelID = parse_RelID(data,length-8);
17498 return o.length > o.l ? o.slice(0, o.l) : o;
17502 function parse_BrtWbProp(data, length)/*:WBProps*/ { argument
17506 var strName = (length > 8) ? parse_XLWideString(data) : "";
17507 if(strName.length > 0) o.CodeName = strName;
17539 function parse_BrtFRTArchID$(data, length) { argument
17543 data.l += length - 8;
17548 function parse_BrtName(data, length, opts) { argument
17549 var end = data.l + length;
17637 if(!supbooks[0].length) supbooks[0] = [RT, val];
17639 supbooks[supbooks.length - 1].XTI = [];
17642 if(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }
17643 supbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);
17697 …else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.leng…
17712 for(var idx = 0; idx != wb.SheetNames.length; ++idx) {
17728 return o.length > o.l ? o.slice(0, o.l) : o;
17743 return o.length > o.l ? o.slice(0, o.l) : o;
17751 for(; i < sheets.length; ++i) {
17773 var L = wb.SheetNames.length;
17898 if(words.length === 1) return z;
17900 if(m) for(i = 0; i != m.length; ++i) {
17903 if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);
17907 z[w] = y[2].slice(1,y[2].length-1);
17915 if(words.length === 1) return z;
17917 if(m) for(i = 0; i != m.length; ++i) {
17920 if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);
17924 z[w] = y[2].slice(1,y[2].length-1);
18039 for(i = 0; i < arrayf.length; ++i)
18123 else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);
18126 if(state[state.length-1][1]) break;
18127 …if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"…
18128 else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }
18132 if(comments.length > 0) cell.c = comments;
18206 if(merges.length) cursheet["!merges"] = merges;
18207 if(cstys.length > 0) cursheet["!cols"] = cstys;
18208 if(rowinfo.length > 0) cursheet["!rows"] = rowinfo;
18246 if(state[state.length-1][0] !== /*'Table'*/'table') break;
18253 for(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);
18256 cstys[(csty.Index-1||cstys.length)] = csty;
18257 for(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);
18268 if(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;
18290 else fidx = Rn.index + Rn[0].length;
18320 else pidx = Rn.index + Rn[0].length;
18344 else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
18357 if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);
18382 else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);
18389 if(state.length == 0 && Rn[3] == "document") return parse_fods(str, opts);
18391 if(state.length == 0 && Rn[3] == "uof"/*"UOF"*/) return parse_fods(str, opts);
18394 switch(state[state.length-1][0]) {
18493 else pidx = Rn.index + Rn[0].length;
18798 if(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|");
18799 if(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {
18802 else { cp = Rn; pidx = Rn.index + Rn[0].length; }
18863 for(var i = 0; i < names.length; ++i) {
18877 for(var i = 0; i < names.length; ++i) {
18993 if(o.length == 0) return "";
19009 if(cell.F && cell.F.slice(0, ref.length) == ref) {
19010 var end = decode_cell(cell.F.slice(ref.length + 1));
19021 for(var mi = 0; mi != marr.length; ++mi) {
19044 if((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);
19077 for(mi = 0; mi != marr.length; ++mi) {
19091 if(row.length > 2) o.push(row.join(""));
19101 if(t.length > 0) o.push("<Names>" + t + "</Names>");
19105 if(t.length > 0) o.push("<Table>" + t + "</Table>");
19130 for(var i = 0; i < wb.SheetNames.length; ++i)
19155 if(o.length - o.l <= 4) return v;
19161 if(o.length - o.l <= 4) return v;
19180 function slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ { argument
19181 var l = length;
19184 if(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {
19211 for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }
19212 …if(b.length < length) throw "XLS Record 0x" + RecordType.toString(16) + " Truncated: " + b.length
19213 return R.f(b, b.length, opts);
19291 for(var afi = 0; afi < arrayf.length; ++afi) {
19343 while(blob.l < blob.length - 1) {
19347 var length = (blob.l === blob.length ? 0 : blob.read_shift(2)); variable
19350 //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);
19351 //if(!R) console.log(blob.slice(blob.l, blob.l + length));
19358 var rt = blob.read_shift(2); length -= 2;
19361 blob.l += 10; length -= 10;
19364 //console.error(R,blob.l,length,blob.length);
19366 if(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;
19367 else val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;
19414 supbooks[supbooks.length-1].XTI = [];
19417 supbooks[supbooks.length-1].push(val);
19427 supbooks[supbooks.length-1].push(val);
19434 if(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }
19435 …supbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = …
19462 if(merges.length > 0) out["!merges"] = merges;
19463 if(objects.length > 0) out["!objects"] = objects;
19464 if(colinfo.length > 0) out["!cols"] = colinfo;
19465 if(rowinfo.length > 0) out["!rows"] = rowinfo;
19497 var fakebs8 = {pos: blob.l - length, name:cur_sheet};
19729 blob.l += length;
19734 if(!wb.SheetNames.length && Preamble["!ref"]) {
19747 if(supbooks.names.length > 0) Workbook.Names = supbooks.names;
19786 …for(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DS…
19791 …for(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])…
19794 for(i = 0; i < CEntries.length; ++i) {
19799 …if(SEntries.length) CFB.utils.cfb_add(cfb, "/\u0005SummaryInformation", write_PropertySetStream(SE…
19800length || CEntries2.length) CFB.utils.cfb_add(cfb, "/\u0005DocumentSummaryInformation", write_Prop…
21204 function write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ { argument
21207 var len = length || (payload||[]).length || 0;
21214 function write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*… argument
21215 var len = length || (payload||[]).length || 0;
21255 var out = new_buf(8 + 2*val.length);
21257 out.write_shift(1, val.length);
21258 out.write_shift(val.length, val, 'sbcs');
21259 return out.l < out.length ? out.slice(0, out.l) : out;
21308 for(var i=0;i<wb.SheetNames.length;++i) if(wb.SheetNames[i] == o.sheet) idx=i;
21361 for(var R=0; R<ws['!links'].length; ++R) {
21468 …if(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(…
21500 write_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));
21545 …for(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j]…
21546 var start = a.length + blen + c.length;
21547 for(j = 0; j < wb.SheetNames.length; ++j) {
21550 start += bufs[j].length;
21554 if(blen != b.length) throw new Error("BS8 " + blen + " != " + b.length);
21557 if(a.length) out.push(a);
21558 if(b.length) out.push(b);
21559 if(c.length) out.push(c);
21586 for(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);
21592 for(var i = 0; i <= wb.SheetNames.length; ++i) {
21617 var i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;
21622 for(i = 0; i < rows.length; ++i) {
21628 for(j = 0; j < cells.length; ++j) {
21634 for(var midx = 0; midx < merges.length; ++midx) {
21643 if(!m.length) { C += CS; continue; }
21647 if(!m.length) { C += CS; continue; }
21649 if(opts.raw || !m.trim().length || _t == 's'){}
21664 if(merges.length) ws["!merges"] = merges;
21673 for(var j = 0; j < M.length; ++j) {
21706 if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find <table>");
21707 if(mtch.length == 1) {
21754 var sheetRows = Math.min(opts.sheetRows||10000000, rows.length);
21768 for(; _R < rows.length && R < sheetRows; ++_R) {
21775 for(_C = C = 0; _C < elts.length; ++_C) {
21780 for(midx = 0; midx < merges.length; ++midx) {
21790 if(v.length == 0) o.t = _t || 'z';
21791 else if(opts.raw || v.trim().length == 0 || _t == "s"){}
21805 …if(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti) if(Aelts[Aelti].hasAtt…
21816 if(merges.length) ws['!merges'] = (ws["!merges"] || []).concat(merges);
21819 …if(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); /…
21890 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
21902 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
21915 payload = str.slice(tidx, xlmlregex.lastIndex - Rn[0].length);
21919 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22009 payload = str.slice(tidx, xlmlregex.lastIndex - Rn[0].length);
22012 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22037 NF += '"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/"/g, '""') + '"';
22038 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22067 if(parsexmlbool(y["grouping"])) tNF = commaify(fill("#", Math.max(0, 4 - tNF.length)) + tNF);
22077 …if(etpos == 0) NF += '"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/"/g, '""')…
22078 …else NF = NF.slice(0, etpos) + '"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/…
22079 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22130 if(merges.length) ws['!merges'] = merges;
22131 if(rowinfo.length) ws["!rows"] = rowinfo;
22138 else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22168 if(Rn[0].charAt(Rn[0].length-2) === '/') {
22208 else for(i = 0; i < arrayf.length; ++i)
22246 if(textR.length) q.R = textR;
22250 if(comments.length > 0) { q.c = comments; comments = []; }
22286 else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);
22293 if(textR.length) /*::(*/comment/*:: :any)*/.R = textR;
22297 else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}
22304 else creatoridx = Rn.index + Rn[0].length;
22325 else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);
22345 } else if(Rn[0].charAt(Rn[0].length-2) !== '/') {
22346 nfidx = xlmlregex.lastIndex - Rn[0].length;
22389 else if(Rn[1]==="/") switch(state[state.length-1][0]) {
22396 else pidx = Rn.index + Rn[0].length;
22403 if(intable) nrange.Sheet = SheetNames.length;
22445 if(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;
22448 textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0];
22449 } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }
22697 …ull, {"number:min-integer-digits":0, "number:min-numerator-digits": t[1].length, "number:max-denom…
22698 …ull, {"number:min-integer-digits":0, "number:min-numerator-digits": t[1].length, "number:denominat…
22701 …-places": t[2] && t.length - 1 || 0, "number:min-decimal-places": t[2] && t.length - 1 || 0, "numb…
22707 k: for(; i < nf.length; ++i) switch((c = nf[i].toLowerCase())) {
22710 l: for(var h = i+1; h < nf.length; ++h) switch(nf[h]) {
22723 …load += '<number:month number:style="' + (c.length % 2 ? "short" : "long") + '" number:textual="' …
22725 …case "d": case "dd": payload += '<number:day number:style="' + (c.length % 2 ? "short" : "long") +…
22726 …case "ddd": case "dddd": payload += '<number:day-of-week number:style="' + (c.length % 2 ? "short"…
22745 for(; i < nf.length; ++i) switch((c = nf[i].toLowerCase())) {
22749 …case "h": case "hh": payload += '<number:hours number:style="' + (c.length % 2 ? "short" : "long")…
22750 …case "m": case "mm": payload += '<number:minutes number:style="' + (c.length % 2 ? "short" : "long…
22753 …+ (c.match(/\./) ? ' number:decimal-places="' + (c.match(/0+/)||[""])[0].length + '"' : "")+ '/>';…
22792 …' number:min-integer-digits="' + (base.indexOf("0") == -1 ? "0" : base.length - base.indexOf("0"))…
22794 … (np[2] && ' number:decimal-places="' + (np[2].length - 1) + '"' || ' number:decimal-places="0"') +
22796 (np[3] ? ' number:min-exponent-digits="' + np[3].match(/0+/)[0].length + '"' : "" ) +
22800 i = np.index + np[0].length;
22817 if(!scoped.length) return "";
22831 .replace(/ +/g, function($$){return '<text:s text:c="'+$$.length+'"/>';})
22860 for(mi = 0; mi != marr.length; ++mi) {
22875 if(cell.F.slice(0, ref.length) == ref) {
22933 for(var C = 0; C < ws["!cols"].length; ++C) if(ws["!cols"][C]) {
22952 for(var R = 0; R < ws["!rows"].length; ++R) if(ws["!rows"][R]) {
23060 …for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i,…
23146 for (; L <= body.length - search.length; ++L) {
23147 for (var j = 0; j < search.length; ++j)
23156 return acc + x.length;
23162 off += u8.length;
23258 while (ptr[0] < buf.length)
23319 while (ptr[0] < buf.length) {
23375 out.push(write_varint49(item.data.length));
23389 while (ptr[0] < buf.length) {
23425 mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];
23429 bufs.push(write_varint49(aipayload.length));
23443 while (ptr[0] < buf.length) {
23466 var offset = 0, length = 0;
23468 length = (buf[ptr[0]] >> 2 & 7) + 4;
23472 length = (buf[ptr[0]++] >> 2) + 1;
23483 var j = chunks.length - 1, off = offset;
23484 while (j >= 0 && off >= chunks[j].length) {
23485 off -= chunks[j].length;
23490 off = chunks[j = 0].length;
23492 throw new Error("Invalid offset beyond length");
23494 if (length < off)
23495 chunks.push(chunks[j][subarray](chunks[j].length - off, chunks[j].length - off + length));
23498 chunks.push(chunks[j][subarray](chunks[j].length - off));
23499 length -= off;
23502 while (length >= chunks[j].length) {
23504 length -= chunks[j].length;
23507 if (length)
23508 chunks.push(chunks[j][subarray](0, length));
23510 if (chunks.length > 100)
23515 return acc + u8.length;
23517 throw new Error("Unexpected length: ".concat(chunks.reduce(function(acc, u8) {
23518 return acc + u8.length;
23527 while (l < buf.length) {
23534 if (l !== buf.length)
23541 while (l < buf.length) {
23542 var c = Math.min(buf.length - l, 268435455);
23546 var L = usz.length;
23856 sst[isst = sst.length] = s;
23888 sst[isst = sst.length] = s;
23995 for (var C = 0; C < used_storage_u8.length / 2; ++C) {
24000 if (offsets.length != cnt)
24001 throw "Expected ".concat(cnt, " cells, found ").concat(offsets.length);
24003 for (C = 0; C < offsets.length - 1; ++C)
24005 if (offsets.length >= 1)
24006 …cells[offsets[offsets.length - 1][0]] = used_storage[subarray](offsets[offsets.length - 1][1] * wi…
24152 if (out.SheetNames.length == 0)
24173 return console.log("?? " + s.content.length + " " + (e.message || e));
24186 if (!indices.length)
24214 [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {
24219 [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {
24227 if (tri[7][0].data.length < 2 * data.length) {
24228 var new_7 = new Uint8Array(2 * data.length);
24232 if (tri[4][0].data.length < 2 * data.length) {
24233 var new_4 = new Uint8Array(2 * data.length);
24240 for (var C = 0; C < data.length; ++C) {
24271 last_offset += celload.length;
24274 _last_offset += _celload.length;
24280 for (; C < tri[7][0].data.length / 2; ++C) {
24360 if (sheetrefs.length > 1)
24382 entry.size = entry.content.length;
24799 for (var R2 = 0; R2 < data.length; ++R2) {
24802 _bucket[4][0].data = write_varint49(data[R2].length);
24831 …return (mlst == null ? void 0 : mlst.length) ? parse_varint49(parse_shallow(mlst[0].data)[12][0].d…
25025 for(var i = 0; i != defaults.length; ++i) {
25074 return (n && n.length) ? n : "sheet";
25081 return !wbrels || wbrels.length === 0 ? null : wbrels;
25113 if(!comments || !comments.length) return;
25121 if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);
25166 if(dir.workbooks.length === 0) {
25170 if(dir.workbooks.length === 0) {
25184 …if(opts.cellStyles && dir.themes.length) themes = parse_theme_xml(getzipstr(zip, dir.themes[0].rep…
25200 if(dir.coreprops.length) {
25203 if(dir.extprops.length !== 0) {
25211 if (dir.custprops.length !== 0) {
25220 else if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;
25236 props.Worksheets = wbsheets.length;
25238 for(var j = 0; j != wbsheets.length; ++j) {
25249 if((dir.metadata || []).length >= 1) {
25254 if((dir.people || []).length >= 1) {
25279 for(var snj = 0; snj != opts.sheets.length; ++snj) {
25317 if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);
25338 …if(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== "St…
25345 if(seds.length != 1 || seds[0] != "StrongEncryptionTransform")
25408 for(var _i = 0; _i < wb.SheetNames.length; ++_i)
25412 wb.Props.Worksheets = wb.Props.SheetNames.length;
25417 if(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {
25424 for(rId=1;rId <= wb.SheetNames.length; ++rId) {
25442 if(comments && comments.length > 0) {
25459 if(opts.Strings != null && opts.Strings.length > 0) {
25543 for(var _i = 0; _i < wb.SheetNames.length; ++_i)
25547 wb.Props.Worksheets = wb.Props.SheetNames.length;
25552 if(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {
25562 for(rId=1;rId <= wb.SheetNames.length; ++rId) {
25580 if(comments && comments.length > 0) {
25608 if(opts.Strings != null && opts.Strings.length > 0) {
25646 if(people.length > 1) {
25688 main: while(i < data.length) switch(data.charCodeAt(i)) {
25888 for(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);
26084 out.length = outi;
26099 …for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || c…
26173 cmds[cmds.length] = y + "=" + val;
26193 var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);
26198 if(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }
26200 if(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }
26208 if((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;
26238 range.e.c = Math.max(range.e.c, _C + hdr.length - 1);
26241 if(offset) for(C = 0; C < hdr.length; ++C) {
26271 if(sh >= 0 && wb.SheetNames.length > sh) return sh;
26289 if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets");