2017-03-05 01:44:52 +00:00
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
2017-03-25 22:38:26 +00:00
! function ( e ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = e ( ) ; else if ( "function" == typeof define && define . amd ) { JSZip = e ( ) ; define ( [ ] , e ) } else { if ( typeof self == "undefined" && typeof app != "undefined" ) self = app ; var f ; "undefined" != typeof window ? f = window : "undefined" != typeof global ? f = global : "undefined" != typeof $ && $ . global ? f = $ . global : "undefined" != typeof self && ( f = self ) , f . JSZip = e ( ) } } ( function ( ) { var define , module , exports ; return function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; throw new Error ( "Cannot find module '" + o + "'" ) } var f = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( f . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) } , f , f . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ( { 1 : [ function ( _dereq _ , module , exports ) { "use strict" ; var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; exports . encode = function ( input , utf8 ) { var output = "" ; var chr1 , chr2 , chr3 , enc1 , enc2 , enc3 , enc4 ; var i = 0 ; while ( i < input . length ) { chr1 = input . charCodeAt ( i ++ ) ; chr2 = input . charCodeAt ( i ++ ) ; chr3 = input . charCodeAt ( i ++ ) ; enc1 = chr1 >> 2 ; enc2 = ( chr1 & 3 ) << 4 | chr2 >> 4 ; enc3 = ( chr2 & 15 ) << 2 | chr3 >> 6 ; enc4 = chr3 & 63 ; if ( isNaN ( chr2 ) ) { enc3 = enc4 = 64 } else if ( isNaN ( chr3 ) ) { enc4 = 64 } output = output + _keyStr . charAt ( enc1 ) + _keyStr . charAt ( enc2 ) + _keyStr . charAt ( enc3 ) + _keyStr . charAt ( enc4 ) } return output } ; exports . decode = function ( input , utf8 ) { var output = "" ; var chr1 , chr2 , chr3 ; var enc1 , enc2 , enc3 , enc4 ; var i = 0 ; input = input . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; while ( i < input . length ) { enc1 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc2 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc3 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc4 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; chr1 = enc1 << 2 | enc2 >> 4 ; chr2 = ( enc2 & 15 ) << 4 | enc3 >> 2 ; chr3 = ( enc3 & 3 ) << 6 | enc4 ; output = output + String . fromCharCode ( chr1 ) ; if ( enc3 != 64 ) { output = output + String . fromCharCode ( chr2 ) } if ( enc4 != 64 ) { output = output + String . fromCharCode ( chr3 ) } } return output } } , { } ] , 2 : [ function ( _dereq _ , module , exports ) { "use strict" ; function CompressedObject ( ) { this . compressedSize = 0 ; this . uncompressedSize = 0 ; this . crc32 = 0 ; this . compressionMethod = null ; this . compressedContent = null } CompressedObject . prototype = { getContent : function ( ) { return null } , getCompressedContent : function ( ) { return null } } ; module . exports = CompressedObject } , { } ] , 3 : [ function ( _dereq _ , module , exports ) { "use strict" ; exports . STORE = { magic : "\0\0" , compress : function ( content ) { return content } , uncompress : function ( content ) { return content } , compressInputType : null , uncompressInputType : null } ; exports . DEFLATE = _dereq _ ( "./flate" ) } , { "./flate" : 8 } ] , 4 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "./utils" ) ; var table = [ 0 , 1996959894 , 3993919788 , 2567524794 , 124634137 , 1886057615 , 3915621685 , 2657392035 , 249268274 , 2044508324 , 3772115230 , 2547177864 , 162941995 , 2125561021 , 3887607047 , 2428444049 , 498536548 , 1789927666 , 4089016648 , 2227061214 , 450548861 , 1843258603 , 4107580753 , 2211677639 , 325883990 , 1684777152 , 4251122042 , 2321926636 , 335633487 , 1661365465 , 4195302755 , 2366115317 , 997073096 , 1281953886 , 3579855332 , 2724688242 , 1006888145 , 1258607687 , 3524101629 , 2768942443 , 901097722 , 1119000684 , 3686517206 , 2898065728 , 853044451 , 1172266101 , 3705015759 , 2882616665 , 651767980 , 1373503546 , 3369554304 , 3218104598 , 565507253 , 1454621731 , 3485111705 , 3099436303 , 671266974 , 1594198024 , 3322730930 , 2970347812 , 795835527 , 1483230225 , 3244367275 , 3060149565 , 1994146192 , 31158534 , 2563907772 , 4023717930 , 1907459465 , 112637215 , 2680153253 , 3904427059 , 2013776290 , 251722036 , 2517215374 , 3775830040 , 2137656763 , 141376813 , 2439277719 , 3865271297 , 1802195444 , 476864866 , 2238001368 , 4066508878 , 1812370925 , 453092731 , 2181625025 , 4111451223 , 1706088902 , 314042704 , 2344532202 , 4240017532 , 1658658271 , 366619977 , 2362670323 , 4224994405 , 1303535960 , 984961486 , 2747007092 , 3569037538 , 1256170817 , 1037604311 , 2765210733 , 3554079995 , 1131014506 , 879679996 , 2909243462 , 3663771856 , 1141124467 , 855842277 , 2852801631 , 3708648649 , 1342533948 , 654459306 , 3188396048 , 3373015174 , 1466479909 , 544179635 , 3110523913 , 3462522015 , 1591671054 , 702138776 , 2966460450 , 3352799412 , 1504918807 , 783551873 , 3082640443 , 3233442989 , 3988292384 , 2596254646 , 62317068 , 1957810842 , 393
code = str . charCodeAt ( i ) ; res += "\\x" + ( code < 16 ? "0" : "" ) + code . toString ( 16 ) . toUpperCase ( ) } return res } ; exports . findCompression = function ( compressionMethod ) { for ( var method in compressions ) { if ( ! compressions . hasOwnProperty ( method ) ) { continue } if ( compressions [ method ] . magic === compressionMethod ) { return compressions [ method ] } } return null } ; exports . isRegExp = function ( object ) { return Object . prototype . toString . call ( object ) === "[object RegExp]" } } , { "./compressions" : 3 , "./nodeBuffer" : 11 , "./support" : 17 } ] , 22 : [ function ( _dereq _ , module , exports ) { "use strict" ; var StringReader = _dereq _ ( "./stringReader" ) ; var NodeBufferReader = _dereq _ ( "./nodeBufferReader" ) ; var Uint8ArrayReader = _dereq _ ( "./uint8ArrayReader" ) ; var utils = _dereq _ ( "./utils" ) ; var sig = _dereq _ ( "./signature" ) ; var ZipEntry = _dereq _ ( "./zipEntry" ) ; var support = _dereq _ ( "./support" ) ; var jszipProto = _dereq _ ( "./object" ) ; function ZipEntries ( data , loadOptions ) { this . files = [ ] ; this . loadOptions = loadOptions ; if ( data ) { this . load ( data ) } } ZipEntries . prototype = { checkSignature : function ( expectedSignature ) { var signature = this . reader . readString ( 4 ) ; if ( signature !== expectedSignature ) { throw new Error ( "Corrupted zip or bug : unexpected signature " + "(" + utils . pretty ( signature ) + ", expected " + utils . pretty ( expectedSignature ) + ")" ) } } , readBlockEndOfCentral : function ( ) { this . diskNumber = this . reader . readInt ( 2 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 2 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 2 ) ; this . centralDirRecords = this . reader . readInt ( 2 ) ; this . centralDirSize = this . reader . readInt ( 4 ) ; this . centralDirOffset = this . reader . readInt ( 4 ) ; this . zipCommentLength = this . reader . readInt ( 2 ) ; this . zipComment = this . reader . readString ( this . zipCommentLength ) ; this . zipComment = jszipProto . utf8decode ( this . zipComment ) } , readBlockZip64EndOfCentral : function ( ) { this . zip64EndOfCentralSize = this . reader . readInt ( 8 ) ; this . versionMadeBy = this . reader . readString ( 2 ) ; this . versionNeeded = this . reader . readInt ( 2 ) ; this . diskNumber = this . reader . readInt ( 4 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 4 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 8 ) ; this . centralDirRecords = this . reader . readInt ( 8 ) ; this . centralDirSize = this . reader . readInt ( 8 ) ; this . centralDirOffset = this . reader . readInt ( 8 ) ; this . zip64ExtensibleData = { } ; var extraDataSize = this . zip64EndOfCentralSize - 44 , index = 0 , extraFieldId , extraFieldLength , extraFieldValue ; while ( index < extraDataSize ) { extraFieldId = this . reader . readInt ( 2 ) ; extraFieldLength = this . reader . readInt ( 4 ) ; extraFieldValue = this . reader . readString ( extraFieldLength ) ; this . zip64ExtensibleData [ extraFieldId ] = { id : extraFieldId , length : extraFieldLength , value : extraFieldValue } } } , readBlockZip64EndOfCentralLocator : function ( ) { this . diskWithZip64CentralDirStart = this . reader . readInt ( 4 ) ; this . relativeOffsetEndOfZip64CentralDir = this . reader . readInt ( 8 ) ; this . disksCount = this . reader . readInt ( 4 ) ; if ( this . disksCount > 1 ) { throw new Error ( "Multi-volumes zip are not supported" ) } } , readLocalFiles : function ( ) { var i , file ; for ( i = 0 ; i < this . files . length ; i ++ ) { file = this . files [ i ] ; this . reader . setIndex ( file . localHeaderOffset ) ; this . checkSignature ( sig . LOCAL _FILE _HEADER ) ; file . readLocalPart ( this . reader ) ; file . handleUTF8 ( ) } } , readCentralDir : function ( ) { var file ; this . reader . setIndex ( this . centralDirOffset ) ; while ( this . reader . readString ( 4 ) === sig . CENTRAL _FILE _HEADER ) { file = new ZipEntry ( { zip64 : this . zip64 } , this . loadOptions ) ; file . readCentralPart ( this . reader ) ; this . files . push ( file ) } } , readEndOfCentral : function ( ) { var offset = this . reader . lastIndexOfSignature ( sig . CENTRAL _DIRECTORY _END ) ; if ( offset === - 1 ) { throw new Error ( "Corrupted zip : can't find end of central directory" ) } this . reader . setIndex ( offset ) ; this . checkSignature ( sig . CENTRAL _DIRECTORY _END ) ; this . readBlockEndOfCentral ( ) ; if ( this . diskNumber === utils . MAX _VALUE _16BITS || this . diskWithCentralDirStart === utils . MAX _VALUE _16BITS || this . centralDirRecordsOnThisDisk === utils . MAX _VALUE _16BITS || this . centralDirRecords === utils . MAX _VALUE _16BITS || this . centralDirSize === utils . MAX _VALUE _32BITS || this . centralDirOffset === utils . MAX _VALUE _32BITS ) { this . zip64 = true ; offset = this . reader . lastIndexOfSignature ( sig . ZIP64 _CENTRAL _DIRECTORY _LOCATOR ) ; if ( offset === - 1 ) { throw new Error ( " Corrupted zip : can ' t find the ZIP64 end of central direct
if ( s . strm . avail _out === 0 ) { return BS _NEED _MORE } } return BS _BLOCK _DONE } function deflate _huff ( s , flush ) { var bflush ; for ( ; ; ) { if ( s . lookahead === 0 ) { fill _window ( s ) ; if ( s . lookahead === 0 ) { if ( flush === Z _NO _FLUSH ) { return BS _NEED _MORE } break } } s . match _length = 0 ; bflush = trees . _tr _tally ( s , 0 , s . window [ s . strstart ] ) ; s . lookahead -- ; s . strstart ++ ; if ( bflush ) { flush _block _only ( s , false ) ; if ( s . strm . avail _out === 0 ) { return BS _NEED _MORE } } } s . insert = 0 ; if ( flush === Z _FINISH ) { flush _block _only ( s , true ) ; if ( s . strm . avail _out === 0 ) { return BS _FINISH _STARTED } return BS _FINISH _DONE } if ( s . last _lit ) { flush _block _only ( s , false ) ; if ( s . strm . avail _out === 0 ) { return BS _NEED _MORE } } return BS _BLOCK _DONE } var Config = function ( good _length , max _lazy , nice _length , max _chain , func ) { this . good _length = good _length ; this . max _lazy = max _lazy ; this . nice _length = nice _length ; this . max _chain = max _chain ; this . func = func } ; var configuration _table ; configuration _table = [ new Config ( 0 , 0 , 0 , 0 , deflate _stored ) , new Config ( 4 , 4 , 8 , 4 , deflate _fast ) , new Config ( 4 , 5 , 16 , 8 , deflate _fast ) , new Config ( 4 , 6 , 32 , 32 , deflate _fast ) , new Config ( 4 , 4 , 16 , 16 , deflate _slow ) , new Config ( 8 , 16 , 32 , 32 , deflate _slow ) , new Config ( 8 , 16 , 128 , 128 , deflate _slow ) , new Config ( 8 , 32 , 128 , 256 , deflate _slow ) , new Config ( 32 , 128 , 258 , 1024 , deflate _slow ) , new Config ( 32 , 258 , 258 , 4096 , deflate _slow ) ] ; function lm _init ( s ) { s . window _size = 2 * s . w _size ; zero ( s . head ) ; s . max _lazy _match = configuration _table [ s . level ] . max _lazy ; s . good _match = configuration _table [ s . level ] . good _length ; s . nice _match = configuration _table [ s . level ] . nice _length ; s . max _chain _length = configuration _table [ s . level ] . max _chain ; s . strstart = 0 ; s . block _start = 0 ; s . lookahead = 0 ; s . insert = 0 ; s . match _length = s . prev _length = MIN _MATCH - 1 ; s . match _available = 0 ; s . ins _h = 0 } function DeflateState ( ) { this . strm = null ; this . status = 0 ; this . pending _buf = null ; this . pending _buf _size = 0 ; this . pending _out = 0 ; this . pending = 0 ; this . wrap = 0 ; this . gzhead = null ; this . gzindex = 0 ; this . method = Z _DEFLATED ; this . last _flush = - 1 ; this . w _size = 0 ; this . w _bits = 0 ; this . w _mask = 0 ; this . window = null ; this . window _size = 0 ; this . prev = null ; this . head = null ; this . ins _h = 0 ; this . hash _size = 0 ; this . hash _bits = 0 ; this . hash _mask = 0 ; this . hash _shift = 0 ; this . block _start = 0 ; this . match _length = 0 ; this . prev _match = 0 ; this . match _available = 0 ; this . strstart = 0 ; this . match _start = 0 ; this . lookahead = 0 ; this . prev _length = 0 ; this . max _chain _length = 0 ; this . max _lazy _match = 0 ; this . level = 0 ; this . strategy = 0 ; this . good _match = 0 ; this . nice _match = 0 ; this . dyn _ltree = new utils . Buf16 ( HEAP _SIZE * 2 ) ; this . dyn _dtree = new utils . Buf16 ( ( 2 * D _CODES + 1 ) * 2 ) ; this . bl _tree = new utils . Buf16 ( ( 2 * BL _CODES + 1 ) * 2 ) ; zero ( this . dyn _ltree ) ; zero ( this . dyn _dtree ) ; zero ( this . bl _tree ) ; this . l _desc = null ; this . d _desc = null ; this . bl _desc = null ; this . bl _count = new utils . Buf16 ( MAX _BITS + 1 ) ; this . heap = new utils . Buf16 ( 2 * L _CODES + 1 ) ; zero ( this . heap ) ; this . heap _len = 0 ; this . heap _max = 0 ; this . depth = new utils . Buf16 ( 2 * L _CODES + 1 ) ; zero ( this . depth ) ; this . l _buf = 0 ; this . lit _bufsize = 0 ; this . last _lit = 0 ; this . d _buf = 0 ; this . opt _len = 0 ; this . static _len = 0 ; this . matches = 0 ; this . insert = 0 ; this . bi _buf = 0 ; this . bi _valid = 0 } function deflateResetKeep ( strm ) { var s ; if ( ! strm || ! strm . state ) { return err ( strm , Z _STREAM _ERROR ) } strm . total _in = strm . total _out = 0 ; strm . data _type = Z _UNKNOWN ; s = strm . state ; s . pending = 0 ; s . pending _out = 0 ; if ( s . wrap < 0 ) { s . wrap = - s . wrap } s . status = s . wrap ? INIT _STATE : BUSY _STATE ; strm . adler = s . wrap === 2 ? 0 : 1 ; s . last _flush = Z _NO _FLUSH ; trees . _tr _init ( s ) ; return Z _OK } function deflateReset ( strm ) { var ret = deflateResetKeep ( strm ) ; if ( ret === Z _OK ) { lm _init ( strm . state ) } return ret } function deflateSetHeader ( strm , head ) { if ( ! strm || ! strm . state ) { return Z _STREAM _ERROR } if ( strm . state . wrap !== 2 ) { return Z _STREAM _ERROR } strm . state . gzhead = head ; return Z _OK } function deflateInit2 ( strm , level , method , windowBits , memLevel , strategy ) { if ( ! strm ) { return Z _STREAM _ERROR } var wrap = 1 ; if ( level === Z _DEFAULT _COMPRESSION ) { level = 6 } if ( windowBits < 0 ) { wrap = 0 ; windowBits = - windowBits } else if ( windowBits > 15 ) { wrap = 2 ; windowBits -= 16 } if ( memLevel < 1 || memLevel > MAX _MEM _LEVEL || method !== Z _DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z _FIXED ) { return err ( strm , Z _STREAM _ERROR ) } if ( windowBits === 8 ) { windowBits = 9 } var s = new DeflateState ; strm . state = s ; s . strm = strm ; s . wrap = wrap ; s . gzhead = null ; s . w _bits = windowBits ; s . w _size = 1 << s . w _bits ; s . w _mask = s . w _size - 1 ; s . h
exports . inflate = inflate ; exports . inflateEnd = inflateEnd ; exports . inflateGetHeader = inflateGetHeader ; exports . inflateInfo = "pako inflate (from Nodeca project)" } , { "../utils/common" : 27 , "./adler32" : 29 , "./crc32" : 31 , "./inffast" : 34 , "./inftrees" : 36 } ] , 36 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "../utils/common" ) ; var MAXBITS = 15 ; var ENOUGH _LENS = 852 ; var ENOUGH _DISTS = 592 ; var CODES = 0 ; var LENS = 1 ; var DISTS = 2 ; var lbase = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] ; var lext = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] ; var dbase = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] ; var dext = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29 , 29 , 64 , 64 ] ; module . exports = function inflate _table ( type , lens , lens _index , codes , table , table _index , work , opts ) { var bits = opts . bits ; var len = 0 ; var sym = 0 ; var min = 0 , max = 0 ; var root = 0 ; var curr = 0 ; var drop = 0 ; var left = 0 ; var used = 0 ; var huff = 0 ; var incr ; var fill ; var low ; var mask ; var next ; var base = null ; var base _index = 0 ; var end ; var count = new utils . Buf16 ( MAXBITS + 1 ) ; var offs = new utils . Buf16 ( MAXBITS + 1 ) ; var extra = null ; var extra _index = 0 ; var here _bits , here _op , here _val ; for ( len = 0 ; len <= MAXBITS ; len ++ ) { count [ len ] = 0 } for ( sym = 0 ; sym < codes ; sym ++ ) { count [ lens [ lens _index + sym ] ] ++ } root = bits ; for ( max = MAXBITS ; max >= 1 ; max -- ) { if ( count [ max ] !== 0 ) { break } } if ( root > max ) { root = max } if ( max === 0 ) { table [ table _index ++ ] = 1 << 24 | 64 << 16 | 0 ; table [ table _index ++ ] = 1 << 24 | 64 << 16 | 0 ; opts . bits = 1 ; return 0 } for ( min = 1 ; min < max ; min ++ ) { if ( count [ min ] !== 0 ) { break } } if ( root < min ) { root = min } left = 1 ; for ( len = 1 ; len <= MAXBITS ; len ++ ) { left <<= 1 ; left -= count [ len ] ; if ( left < 0 ) { return - 1 } } if ( left > 0 && ( type === CODES || max !== 1 ) ) { return - 1 } offs [ 1 ] = 0 ; for ( len = 1 ; len < MAXBITS ; len ++ ) { offs [ len + 1 ] = offs [ len ] + count [ len ] } for ( sym = 0 ; sym < codes ; sym ++ ) { if ( lens [ lens _index + sym ] !== 0 ) { work [ offs [ lens [ lens _index + sym ] ] ++ ] = sym } } if ( type === CODES ) { base = extra = work ; end = 19 } else if ( type === LENS ) { base = lbase ; base _index -= 257 ; extra = lext ; extra _index -= 257 ; end = 256 } else { base = dbase ; extra = dext ; end = - 1 } huff = 0 ; sym = 0 ; len = min ; next = table _index ; curr = root ; drop = 0 ; low = - 1 ; used = 1 << root ; mask = used - 1 ; if ( type === LENS && used > ENOUGH _LENS || type === DISTS && used > ENOUGH _DISTS ) { return 1 } var i = 0 ; for ( ; ; ) { i ++ ; here _bits = len - drop ; if ( work [ sym ] < end ) { here _op = 0 ; here _val = work [ sym ] } else if ( work [ sym ] > end ) { here _op = extra [ extra _index + work [ sym ] ] ; here _val = base [ base _index + work [ sym ] ] } else { here _op = 32 + 64 ; here _val = 0 } incr = 1 << len - drop ; fill = 1 << curr ; min = fill ; do { fill -= incr ; table [ next + ( huff >> drop ) + fill ] = here _bits << 24 | here _op << 16 | here _val | 0 } while ( fill !== 0 ) ; incr = 1 << len - 1 ; while ( huff & incr ) { incr >>= 1 } if ( incr !== 0 ) { huff &= incr - 1 ; huff += incr } else { huff = 0 } sym ++ ; if ( -- count [ len ] === 0 ) { if ( len === max ) { break } len = lens [ lens _index + work [ sym ] ] } if ( len > root && ( huff & mask ) !== low ) { if ( drop === 0 ) { drop = root } next += min ; curr = len - drop ; left = 1 << curr ; while ( curr + drop < max ) { left -= count [ curr + drop ] ; if ( left <= 0 ) { break } curr ++ ; left <<= 1 } used += 1 << curr ; if ( type === LENS && used > ENOUGH _LENS || type === DISTS && used > ENOUGH _DISTS ) { return 1 } low = huff & mask ; table [ low ] = root << 24 | curr << 16 | next - table _index | 0 } } if ( huff !== 0 ) { table [ next + huff ] = len - drop << 24 | 64 << 16 | 0 } opts . bits = root ; return 0 } } , { "../utils/common" : 27 } ] , 37 : [ function ( _dereq _ , module , exports ) { "use strict" ; module . exports = { 2 : "need dictionary" , 1 : "stream end" , 0 : "" , "-1" : "file error" , "-2" : "stream error" , "-3" : "data error" , "-4" : "insufficient memory" , "-5" : "buffer error" , "-6" : "incompatible version" } } , { } ] , 38 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "../utils/common" ) ; var Z _FIXED = 4 ; var Z _BINARY = 0 ; var Z _TEXT = 1 ; var Z _UNKNOWN = 2 ; function zero ( buf ) { var len = buf . length ; while ( -- len >= 0 ) { buf [ len ] = 0 } } var STORED _BLOCK = 0 ; var STATIC _TREES = 1 ; var DYN _TREES = 2 ; var MIN _MATCH = 3 ; var MAX _MATCH = 258 ; var LENGTH _CODES = 29 ; var LITERALS = 256 ; var L _CODES = LITERALS + 1 + LENGTH _CODES ; var D _CODES = 30 ; var BL _CODES = 19 ; var HEAP _SIZE = 2 * L _CODES + 1 ; var MAX _BITS = 15 ; var Buf _size = 16 ; var MAX _BL _BITS = 7 ; var END _BLOCK = 256 ; var REP _3 _6 = 16 ; var REPZ _3 _10 = 17 ; var REPZ _11 _138 = 18 ; var extra _lbits = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 0 ] ; var extra _dbi
2017-03-05 01:44:52 +00:00
for ( j = 0 ; j != D [ 238 ] . length ; ++ j ) if ( D [ 238 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 238 ] [ j ] ] = 60928 + j ; d [ 60928 + j ] = D [ 238 ] [ j ] } D [ 250 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⅰ ⅱⅲⅳⅴ ⅵⅶⅷⅸⅹ Ⅰ ⅡⅢⅣⅤ ⅥⅦⅧⅨⅩ ¬¦' " ㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊<E58398> 兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯<E6B687> <E6B5AF> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 250 ] . length ; ++ j ) if ( D [ 250 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 250 ] [ j ] ] = 64e3 + j ; d [ 64e3 + j ] = D [ 250 ] [ j ] } D [ 251 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神<EFA898> 祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙<E9A98E> <E9AB99> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 251 ] . length ; ++ j ) if ( D [ 251 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 251 ] [ j ] ] = 64256 + j ; d [ 64256 + j ] = D [ 251 ] [ j ] } D [ 252 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑<E9B899> <E9BB91> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 252 ] . length ; ++ j ) if ( D [ 252 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 252 ] [ j ] ] = 64512 + j ; d [ 64512 + j ] = D [ 252 ] [ j ] } return { enc : e , dec : d } } ( ) ; cptable [ 936 ] = function ( ) { var d = [ ] , e = { } , D = [ ] , j ; D [ 0 ] = "\0 \b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ €<7F> <E282AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 0 ] . length ; ++ j ) if ( D [ 0 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 0 ] [ j ] ] = 0 + j ; d [ 0 + j ] = D [ 0 ] [ j ] } D [ 129 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊 <EFBFBD> 亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷
for ( j = 0 ; j != D [ 208 ] . length ; ++ j ) if ( D [ 208 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 208 ] [ j ] ] = 53248 + j ; d [ 53248 + j ] = D [ 208 ] [ j ] } D [ 209 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈<E8A487> 褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶<E5A696> " . split ( "" ) ; for ( j = 0 ; j != D [ 209 ] . length ; ++ j ) if ( D [ 209 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 209 ] [ j ] ] = 53504 + j ; d [ 53504 + j ] = D [ 209 ] [ j ] } D [ 210 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼<E8A5BA> 襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐<E5BC95> " . split ( "" ) ; for ( j = 0 ; j != D [ 210 ] . length ; ++ j ) if ( D [ 210 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 210 ] [ j ] ] = 53760 + j ; d [ 53760 + j ] = D [ 210 ] [ j ] } D [ 211 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺<E8A7B9> 觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉<E882B2> " . split ( "" ) ; for ( j = 0 ; j != D [ 211 ] . length ; ++ j ) if ( D [ 211 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 211 ] [ j ] ] = 54016 + j ; d [ 54016 + j ] = D [ 211 ] [ j ] } D [ 212 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞<E8A99D> 詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧<E69CAD> " . split ( "" ) ; for ( j = 0 ; j != D [ 212 ] . length ; ++ j ) if ( D [ 212 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 212 ] [ j ] ] = 54272 + j ; d [ 54272 + j ] = D [ 212 ] [ j ] } D [ 213 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂 <EFBFBD> 諃諄諅諆談 <EFBFBD>
for ( j = 0 ; j != D [ 165 ] . length ; ++ j ) if ( D [ 165 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 165 ] [ j ] ] = 42240 + j ; d [ 42240 + j ] = D [ 165 ] [ j ] } D [ 166 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅<ECAB83> <ECAB85> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧<ECABA6> <ECABA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊<E29589> <E2958A> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 166 ] . length ; ++ j ) if ( D [ 166 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 166 ] [ j ] ] = 42496 + j ; d [ 42496 + j ] = D [ 166 ] [ j ] } D [ 167 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩<ECACA8> <ECACA9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄<ECAD83> <ECAD84> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆<E38F9C> <E38F86> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 167 ] . length ; ++ j ) if ( D [ 167 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 167 ] [ j ] ] = 42752 + j ; d [ 42752 + j ] = D [ 167 ] [ j ] } D [ 168 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈<ECAE87> <ECAE88> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣<ECAEA2> <ECAEA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ<C2AA> IJ<EFBFBD> ĿŁØŒºÞŦŊ<C5A6> ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞<E2859D> " . split ( "" ) ; for ( j = 0 ; j != D [ 168 ] . length ; ++ j ) if ( D [ 168 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 168 ] [ j ] ] = 43008 + j ; d [ 43008 + j ] = D [ 168 ] [ j ] } D [ 169 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟<ECAF9E> <ECAF9F> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼<ECAFBB> <ECAFBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħı ijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄<E28283> " . split ( "" ) ; for ( j = 0 ; j != D [ 169 ] . length ; ++ j ) if ( D [ 169 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 169 ] [ j ] ] = 43264 + j ; d [ 43264 + j ] = D [ 169 ] [ j ] } D [ 170 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃
for ( j = 0 ; j != D [ 250 ] . length ; ++ j ) if ( D [ 250 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 250 ] [ j ] ] = 64e3 + j ; d [ 64e3 + j ] = D [ 250 ] [ j ] } D [ 251 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵<E781AB> " . split ( "" ) ; for ( j = 0 ; j != D [ 251 ] . length ; ++ j ) if ( D [ 251 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 251 ] [ j ] ] = 64256 + j ; d [ 64256 + j ] = D [ 251 ] [ j ] } D [ 252 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆<E6B68D> " . split ( "" ) ; for ( j = 0 ; j != D [ 252 ] . length ; ++ j ) if ( D [ 252 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 252 ] [ j ] ] = 64512 + j ; d [ 64512 + j ] = D [ 252 ] [ j ] } D [ 253 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰<E7BEB2> " . split ( "" ) ; for ( j = 0 ; j != D [ 253 ] . length ; ++ j ) if ( D [ 253 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 253 ] [ j ] ] = 64768 + j ; d [ 64768 + j ] = D [ 253 ] [ j ] } return { enc : e , dec : d } } ( ) ; cptable [ 950 ] = function ( ) { var d = [ ] , e = { } , D = [ ] , j ; D [ 0 ] = "\0 \b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ <> <7F> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 0 ] . length ; ++ j ) if ( D [ 0 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 0 ] [ j ] ] = 0 + j ; d [ 0 + j ] = D [ 0 ] [ j ] } D [ 161 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , 、 。 . ‧ ; : ? ! ︰ … ‥ ﹐ ﹑ ﹒ · ﹔ ﹕ ﹖ ﹗ | – ︱ — ︳ ╴ ︴ ﹏ ( ) ︵ ︶ { } ︷ ︸ 〔 〕 ︹ ︺ 【 】 ︻ ︼ 《 》 ︽ ︾ 〈 〉 ︿ ﹀ 「 」 ﹁ ﹂ 『 』 ﹃ ﹄ ﹙ ﹚ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﹛ ﹜ ﹝ ﹞ ‘ ’ “ ” 〝 〞 ‵ ′ # & * ※ § 〃 ○ ● △ ▲ ◎ ☆ ★ ◇ ◆ □ ■ ▽ ▼ ㊣ ℅ ¯  ̄ _ ˍ ﹉ ﹊ <EFBFBD>
2017-03-25 22:38:26 +00:00
for ( j = 0 ; j != D [ 242 ] . length ; ++ j ) if ( D [ 242 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 242 ] [ j ] ] = 61952 + j ; d [ 61952 + j ] = D [ 242 ] [ j ] } D [ 243 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦<E99CA8> <E99CA6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲<E58CB7> " . split ( "" ) ; for ( j = 0 ; j != D [ 243 ] . length ; ++ j ) if ( D [ 243 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 243 ] [ j ] ] = 62208 + j ; d [ 62208 + j ] = D [ 243 ] [ j ] } D [ 244 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩<E7A4A4> <E7A4A9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿<E9908A> " . split ( "" ) ; for ( j = 0 ; j != D [ 244 ] . length ; ++ j ) if ( D [ 244 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 244 ] [ j ] ] = 62464 + j ; d [ 62464 + j ] = D [ 244 ] [ j ] } D [ 245 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛<E9B690> <E9B69B> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥<E8989E> " . split ( "" ) ; for ( j = 0 ; j != D [ 245 ] . length ; ++ j ) if ( D [ 245 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 245 ] [ j ] ] = 62720 + j ; d [ 62720 + j ] = D [ 245 ] [ j ] } D [ 246 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺<E9A981> <E9A8BA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚<E7B19B> " . split ( "" ) ; for ( j = 0 ; j != D [ 246 ] . length ; ++ j ) if ( D [ 246 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 246 ] [ j ] ] = 62976 + j ; d [ 62976 + j ] = D [ 246 ] [ j ] } D [ 247 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
var fakee = Math . floor ( Math . log ( Math . abs ( val ) ) * Math . LOG10E ) ; if ( o . indexOf ( "." ) === - 1 ) o = o . charAt ( 0 ) + "." + o . substr ( 1 ) + "E+" + ( fakee - o . length + ee ) ; else o += "E+" + ( fakee - ee ) ; while ( o . substr ( 0 , 2 ) === "0." ) { o = o . charAt ( 0 ) + o . substr ( 2 , period ) + "." + o . substr ( 2 + period ) ; o = o . replace ( /^0+([1-9])/ , "$1" ) . replace ( /^0+\./ , "0." ) } o = o . replace ( /\+-/ , "-" ) } o = o . replace ( /^([+-]?)(\d*)\.(\d*)[Ee]/ , function ( $$ , $1 , $2 , $3 ) { return $1 + $2 + $3 . substr ( 0 , ( period + ee ) % period ) + "." + $3 . substr ( ee ) + "E" } ) } else o = val . toExponential ( idx ) ; if ( fmt . match ( /E\+00$/ ) && o . match ( /e[+-]\d$/ ) ) o = o . substr ( 0 , o . length - 1 ) + "0" + o . charAt ( o . length - 1 ) ; if ( fmt . match ( /E\-/ ) && o . match ( /e\+/ ) ) o = o . replace ( /e\+/ , "e" ) ; return o . replace ( "e" , "E" ) } var frac1 = /# (\?+)( ?)\/( ?)(\d+)/ ; function write _num _f1 ( r , aval , sign ) { var den = parseInt ( r [ 4 ] , 10 ) , rr = Math . round ( aval * den ) , base = Math . floor ( rr / den ) ; var myn = rr - base * den , myd = den ; return sign + ( base === 0 ? "" : "" + base ) + " " + ( myn === 0 ? fill ( " " , r [ 1 ] . length + 1 + r [ 4 ] . length ) : pad _ ( myn , r [ 1 ] . length ) + r [ 2 ] + "/" + r [ 3 ] + pad0 ( myd , r [ 4 ] . length ) ) } function write _num _f2 ( r , aval , sign ) { return sign + ( aval === 0 ? "" : "" + aval ) + fill ( " " , r [ 1 ] . length + 2 + r [ 4 ] . length ) } var dec1 = /^#*0*\.(0+)/ ; var closeparen = /\).*[0#]/ ; var phone = /\(###\) ###\\?-####/ ; function hashq ( str ) { var o = "" , cc ; for ( var i = 0 ; i != str . length ; ++ i ) switch ( cc = str . charCodeAt ( i ) ) { case 35 : break ; case 63 : o += " " ; break ; case 48 : o += "0" ; break ; default : o += String . fromCharCode ( cc ) } return o } function rnd ( val , d ) { var dd = Math . pow ( 10 , d ) ; return "" + Math . round ( val * dd ) / dd } function dec ( val , d ) { if ( d < ( "" + Math . round ( ( val - Math . floor ( val ) ) * Math . pow ( 10 , d ) ) ) . length ) { return 0 } return Math . round ( ( val - Math . floor ( val ) ) * Math . pow ( 10 , d ) ) } function carry ( val , d ) { if ( d < ( "" + Math . round ( ( val - Math . floor ( val ) ) * Math . pow ( 10 , d ) ) ) . length ) { return 1 } return 0 } function flr ( val ) { if ( val < 2147483647 && val > - 2147483648 ) return "" + ( val >= 0 ? val | 0 : val - 1 | 0 ) ; return "" + Math . floor ( val ) } function write _num _flt ( type , fmt , val ) { if ( type . charCodeAt ( 0 ) === 40 && ! fmt . match ( closeparen ) ) { var ffmt = fmt . replace ( /\( */ , "" ) . replace ( / \)/ , "" ) . replace ( /\)/ , "" ) ; if ( val >= 0 ) return write _num _flt ( "n" , ffmt , val ) ; return "(" + write _num _flt ( "n" , ffmt , - val ) + ")" } if ( fmt . charCodeAt ( fmt . length - 1 ) === 44 ) return write _num _cm ( type , fmt , val ) ; if ( fmt . indexOf ( "%" ) !== - 1 ) return write _num _pct ( type , fmt , val ) ; if ( fmt . indexOf ( "E" ) !== - 1 ) return write _num _exp ( fmt , val ) ; if ( fmt . charCodeAt ( 0 ) === 36 ) return "$" + write _num _flt ( type , fmt . substr ( fmt . charAt ( 1 ) == " " ? 2 : 1 ) , val ) ; var o ; var r , ri , ff , aval = Math . abs ( val ) , sign = val < 0 ? "-" : "" ; if ( fmt . match ( /^00+$/ ) ) return sign + pad0r ( aval , fmt . length ) ; if ( fmt . match ( /^[#?]+$/ ) ) { o = pad0r ( val , 0 ) ; if ( o === "0" ) o = "" ; return o . length > fmt . length ? o : hashq ( fmt . substr ( 0 , fmt . length - o . length ) ) + o } if ( r = fmt . match ( frac1 ) ) return write _num _f1 ( r , aval , sign ) ; if ( fmt . match ( /^#+0+$/ ) ) return sign + pad0r ( aval , fmt . length - fmt . indexOf ( "0" ) ) ; if ( r = fmt . match ( dec1 ) ) { o = rnd ( val , r [ 1 ] . length ) . replace ( /^([^\.]+)$/ , "$1." + r [ 1 ] ) . replace ( /\.$/ , "." + r [ 1 ] ) . replace ( /\.(\d*)$/ , function ( $$ , $1 ) { return "." + $1 + fill ( "0" , r [ 1 ] . length - $1 . length ) } ) ; return fmt . indexOf ( "0." ) !== - 1 ? o : o . replace ( /^0\./ , "." ) } fmt = fmt . replace ( /^#+([0.])/ , "$1" ) ; if ( r = fmt . match ( /^(0*)\.(#*)$/ ) ) { return sign + rnd ( aval , r [ 2 ] . length ) . replace ( /\.(\d*[1-9])0*$/ , ".$1" ) . replace ( /^(-?\d*)$/ , "$1." ) . replace ( /^0\./ , r [ 1 ] . length ? "0." : "." ) } if ( r = fmt . match ( /^#,##0(\.?)$/ ) ) return sign + commaify ( pad0r ( aval , 0 ) ) ; if ( r = fmt . match ( /^#,##0\.([#0]*0)$/ ) ) { return val < 0 ? "-" + write _num _flt ( type , fmt , - val ) : commaify ( "" + ( Math . floor ( val ) + carry ( val , r [ 1 ] . length ) ) ) + "." + pad0 ( dec ( val , r [ 1 ] . length ) , r [ 1 ] . length ) } if ( r = fmt . match ( /^#,#*,#0/ ) ) return write _num _flt ( type , fmt . replace ( /^#,#*,/ , "" ) , val ) ; if ( r = fmt . match ( /^([0#]+)(\\?-([0#]+))+$/ ) ) { o = _strrev ( write _num _flt ( type , fmt . replace ( /[\\-]/g , "" ) , val ) ) ; ri = 0 ; return _strrev ( _strrev ( fmt . replace ( /\\/g , "" ) ) . replace ( /[0#]/g , function ( x ) { return ri < o . length ? o . charAt ( ri ++ ) : x === "0" ? "0" : "" } ) ) } if ( fmt . match ( phone ) ) { o = write _num _flt ( type , "##########" , val ) ; return "(" + o . substr ( 0 , 3 ) + ") " + o . substr ( 3 , 3 ) + "-" + o . substr ( 6 ) } var oa = "" ; if ( r = fmt . match ( /^([#0?]+)( ?)\/( ?)([#0?]+)/ ) ) { ri = Math . min ( r [ 4 ] . length , 7 ) ; ff = frac ( aval , Math . pow ( 10 , ri ) - 1 , false ) ; o = "" + sign ; oa = write _num ( "n" , r [ 1 ] , ff [ 1 ] ) ; if ( oa . charAt ( oa . length - 1 ) == " " ) oa = oa . substr ( 0 , oa . length - 1 ) + "0" ; o += oa + r [ 2 ] + "/" + r [ 3 ] ; oa = rpad _ ( ff [ 2 ] , ri ) ; if ( oa . length < r [ 4 ] . length ) oa
q = cc . substr ( 0 , c ) ; v = cc . substring ( c + 2 , cc . length - 1 ) ; for ( j = 0 ; j != q . length ; ++ j ) if ( q . charCodeAt ( j ) === 58 ) break ; if ( j === q . length ) { if ( q . indexOf ( "_" ) > 0 ) q = q . substr ( 0 , q . indexOf ( "_" ) ) ; z [ q ] = v } else { var k = ( j === 5 && q . substr ( 0 , 5 ) === "xmlns" ? "xmlns" : "" ) + q . substr ( j + 1 ) ; if ( z [ k ] && q . substr ( j - 3 , 3 ) == "ext" ) continue ; z [ k ] = v } } return z } function strip _ns ( x ) { return x . replace ( nsregex2 , "<$1" ) } var encodings = { """ : '"' , "'" : "'" , ">" : ">" , "<" : "<" , "&" : "&" } ; var rencoding = evert ( encodings ) ; var rencstr = "&<>'\"" . split ( "" ) ; var unescapexml = function ( ) { var encregex = /&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/g , coderegex = /_x([\da-fA-F]{4})_/g ; return function unescapexml ( text ) { var s = text + "" ; return s . replace ( encregex , function ( $$ , $1 ) { return encodings [ $$ ] || String . fromCharCode ( parseInt ( $1 , $$ . indexOf ( "x" ) > - 1 ? 16 : 10 ) ) || $$ } ) . replace ( coderegex , function ( m , c ) { return String . fromCharCode ( parseInt ( c , 16 ) ) } ) } } ( ) ; var decregex = /[&<>'"]/g , charegex = /[\u0000-\u0008\u000b-\u001f]/g ; function escapexml ( text , xml ) { var s = text + "" ; return s . replace ( decregex , function ( y ) { return rencoding [ y ] } ) . replace ( charegex , function ( s ) { return "_x" + ( "000" + s . charCodeAt ( 0 ) . toString ( 16 ) ) . slice ( - 4 ) + "_" } ) } function escapexmltag ( text ) { return escapexml ( text ) . replace ( / /g , "_x0020_" ) } var xlml _fixstr = function ( ) { var entregex = /&#(\d+);/g ; function entrepl ( $$ , $1 ) { return String . fromCharCode ( parseInt ( $1 , 10 ) ) } return function xlml _fixstr ( str ) { return str . replace ( entregex , entrepl ) } } ( ) ; function parsexmlbool ( value , tag ) { switch ( value ) { case "1" : case "true" : case "TRUE" : return true ; default : return false } } var utf8read = function utf8reada ( orig ) { var out = "" , i = 0 , c = 0 , d = 0 , e = 0 , f = 0 , w = 0 ; while ( i < orig . length ) { c = orig . charCodeAt ( i ++ ) ; if ( c < 128 ) { out += String . fromCharCode ( c ) ; continue } d = orig . charCodeAt ( i ++ ) ; if ( c > 191 && c < 224 ) { out += String . fromCharCode ( ( c & 31 ) << 6 | d & 63 ) ; continue } e = orig . charCodeAt ( i ++ ) ; if ( c < 240 ) { out += String . fromCharCode ( ( c & 15 ) << 12 | ( d & 63 ) << 6 | e & 63 ) ; continue } f = orig . charCodeAt ( i ++ ) ; w = ( ( c & 7 ) << 18 | ( d & 63 ) << 12 | ( e & 63 ) << 6 | f & 63 ) - 65536 ; out += String . fromCharCode ( 55296 + ( w >>> 10 & 1023 ) ) ; out += String . fromCharCode ( 56320 + ( w & 1023 ) ) } return out } ; if ( has _buf ) { var utf8readb = function utf8readb ( data ) { var out = new Buffer ( 2 * data . length ) , w , i , j = 1 , k = 0 , ww = 0 , c ; for ( i = 0 ; i < data . length ; i += j ) { j = 1 ; if ( ( c = data . charCodeAt ( i ) ) < 128 ) w = c ; else if ( c < 224 ) { w = ( c & 31 ) * 64 + ( data . charCodeAt ( i + 1 ) & 63 ) ; j = 2 } else if ( c < 240 ) { w = ( c & 15 ) * 4096 + ( data . charCodeAt ( i + 1 ) & 63 ) * 64 + ( data . charCodeAt ( i + 2 ) & 63 ) ; j = 3 } else { j = 4 ; w = ( c & 7 ) * 262144 + ( data . charCodeAt ( i + 1 ) & 63 ) * 4096 + ( data . charCodeAt ( i + 2 ) & 63 ) * 64 + ( data . charCodeAt ( i + 3 ) & 63 ) ; w -= 65536 ; ww = 55296 + ( w >>> 10 & 1023 ) ; w = 56320 + ( w & 1023 ) } if ( ww !== 0 ) { out [ k ++ ] = ww & 255 ; out [ k ++ ] = ww >>> 8 ; ww = 0 } out [ k ++ ] = w % 256 ; out [ k ++ ] = w >>> 8 } out . length = k ; return out . toString ( "ucs2" ) } ; var corpus = "foo bar bazâ ð £" ; if ( utf8read ( corpus ) == utf8readb ( corpus ) ) utf8read = utf8readb ; var utf8readc = function utf8readc ( data ) { return Buffer ( data , "binary" ) . toString ( "utf8" ) } ; if ( utf8read ( corpus ) == utf8readc ( corpus ) ) utf8read = utf8readc } var matchtag = function ( ) { var mtcache = { } ; return function matchtag ( f , g ) { var t = f + "|" + ( g || "" ) ; if ( mtcache [ t ] ) return mtcache [ t ] ; return mtcache [ t ] = new RegExp ( "<(?:\\w+:)?" + f + '(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)</(?:\\w+:)?' + f + ">" , g || "" ) } } ( ) ; var vtregex = function ( ) { var vt _cache = { } ; return function vt _regex ( bt ) { if ( vt _cache [ bt ] !== undefined ) return vt _cache [ bt ] ; return vt _cache [ bt ] = new RegExp ( "<(?:vt:)?" + bt + ">(.*?)</(?:vt:)?" + bt + ">" , "g" ) } } ( ) ; var vtvregex = /<\/?(?:vt:)?variant>/g , vtmregex = /<(?:vt:)([^>]*)>(.*)</ ; function parseVector ( data ) { var h = parsexmltag ( data ) ; var matches = data . match ( vtregex ( h . baseType ) ) || [ ] ; if ( matches . length != h . size ) throw new Error ( "unexpected vector length " + matches . length + " != " + h . size ) ; var res = [ ] ; matches . forEach ( function ( x ) { var v = x . replace ( vtvregex , "" ) . match ( vtmregex ) ; res . push ( { v : utf8read ( v [ 2 ] ) , t : v [ 1 ] } ) } ) ; return res } var wtregex = /(^\s|\s$|\n)/ ; function writetag ( f , g ) { return "<" + f + ( g . match ( wtregex ) ? ' xml:space="preserve"' : "" ) + ">" + g + "</" + f + ">" } function wxt _helper ( h ) { return keys ( h ) . map ( function ( k ) { return " " + k + '="' + h [ k ] + '"' } ) . join ( "" ) } function writextag ( f , g , h ) { return "<" + f + ( isval ( h ) ? wxt _helper ( h ) : "" ) + ( isval ( g ) ? ( g . match ( wtregex ) ? ' xml:space="preserve"' : "" ) + ">" + g + "</" + f : "/" ) + ">" } function write _w3cdtf ( d , t ) { try
var tokTo = toksTo . shift ( ) ; if ( tokTo === ".." ) { toksFrom . pop ( ) } else if ( tokTo !== "." ) { toksFrom . push ( tokTo ) } } return toksFrom . join ( "/" ) } ; ( data . match ( tagregex ) || [ ] ) . forEach ( function ( x ) { var y = parsexmltag ( x ) ; if ( y [ 0 ] === "<Relationship" ) { var rel = { } ; rel . Type = y . Type ; rel . Target = y . Target ; rel . Id = y . Id ; rel . TargetMode = y . TargetMode ; var canonictarget = y . TargetMode === "External" ? y . Target : resolveRelativePathIntoAbsolute ( y . Target ) ; rels [ canonictarget ] = rel ; hash [ y . Id ] = rel } } ) ; rels [ "!id" ] = hash ; return rels } XMLNS . RELS = "http://schemas.openxmlformats.org/package/2006/relationships" ; var RELS _ROOT = writextag ( "Relationships" , null , { xmlns : XMLNS . RELS } ) ; function write _rels ( rels ) { var o = [ ] ; o [ o . length ] = XML _HEADER ; o [ o . length ] = RELS _ROOT ; keys ( rels [ "!id" ] ) . forEach ( function ( rid ) { var rel = rels [ "!id" ] [ rid ] ; o [ o . length ] = writextag ( "Relationship" , null , rel ) } ) ; if ( o . length > 2 ) { o [ o . length ] = "</Relationships>" ; o [ 1 ] = o [ 1 ] . replace ( "/>" , ">" ) } return o . join ( "" ) } var CT _ODS = "application/vnd.oasis.opendocument.spreadsheet" ; function parse _manifest ( d , opts ) { var str = xlml _normalize ( d ) ; var Rn ; var FEtag ; while ( Rn = xlmlregex . exec ( str ) ) switch ( Rn [ 3 ] ) { case "manifest" : break ; case "file-entry" : FEtag = parsexmltag ( Rn [ 0 ] , false ) ; if ( FEtag . path == "/" && FEtag . type !== CT _ODS ) throw new Error ( "This OpenDocument is not a spreadsheet" ) ; break ; case "encryption-data" : case "algorithm" : case "start-key-generation" : case "key-derivation" : throw new Error ( "Unsupported ODS Encryption" ) ; default : if ( opts && opts . WTF ) throw Rn } } function write _manifest ( manifest , opts ) { var o = [ XML _HEADER ] ; o . push ( '<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" manifest:version="1.2">\n' ) ; o . push ( ' <manifest:file-entry manifest:full-path="/" manifest:version="1.2" manifest:media-type="application/vnd.oasis.opendocument.spreadsheet"/>\n' ) ; for ( var i = 0 ; i < manifest . length ; ++ i ) o . push ( ' <manifest:file-entry manifest:full-path="' + manifest [ i ] [ 0 ] + '" manifest:media-type="' + manifest [ i ] [ 1 ] + '"/>\n' ) ; o . push ( "</manifest:manifest>" ) ; return o . join ( "" ) } function write _rdf _type ( file , res , tag ) { return [ ' <rdf:Description rdf:about="' + file + '">\n' , ' <rdf:type rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/' + ( tag || "odf" ) + "#" + res + '"/>\n' , " </rdf:Description>\n" ] . join ( "" ) } function write _rdf _has ( base , file ) { return [ ' <rdf:Description rdf:about="' + base + '">\n' , ' <ns0:hasPart xmlns:ns0="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" rdf:resource="' + file + '"/>\n' , " </rdf:Description>\n" ] . join ( "" ) } function write _rdf ( rdf , opts ) { var o = [ XML _HEADER ] ; o . push ( '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n' ) ; for ( var i = 0 ; i != rdf . length ; ++ i ) { o . push ( write _rdf _type ( rdf [ i ] [ 0 ] , rdf [ i ] [ 1 ] ) ) ; o . push ( write _rdf _has ( "" , rdf [ i ] [ 0 ] ) ) } o . push ( write _rdf _type ( "" , "Document" , "pkg" ) ) ; o . push ( "</rdf:RDF>" ) ; return o . join ( "" ) } var CORE _PROPS = [ [ "cp:category" , "Category" ] , [ "cp:contentStatus" , "ContentStatus" ] , [ "cp:keywords" , "Keywords" ] , [ "cp:lastModifiedBy" , "LastAuthor" ] , [ "cp:lastPrinted" , "LastPrinted" ] , [ "cp:revision" , "RevNumber" ] , [ "cp:version" , "Version" ] , [ "dc:creator" , "Author" ] , [ "dc:description" , "Comments" ] , [ "dc:identifier" , "Identifier" ] , [ "dc:language" , "Language" ] , [ "dc:subject" , "Subject" ] , [ "dc:title" , "Title" ] , [ "dcterms:created" , "CreatedDate" , "date" ] , [ "dcterms:modified" , "ModifiedDate" , "date" ] ] ; XMLNS . CORE _PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties" ; RELS . CORE _PROPS = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" ; var CORE _PROPS _REGEX = function ( ) { var r = new Array ( CORE _PROPS . length ) ; for ( var i = 0 ; i < CORE _PROPS . length ; ++ i ) { var f = CORE _PROPS [ i ] ; var g = "(?:" + f [ 0 ] . substr ( 0 , f [ 0 ] . indexOf ( ":" ) ) + ":)" + f [ 0 ] . substr ( f [ 0 ] . indexOf ( ":" ) + 1 ) ; r [ i ] = new RegExp ( "<" + g + "[^>]*>(.*)</" + g + ">" ) } return r } ( ) ; function parse _core _props ( data ) { var p = { } ; for ( var i = 0 ; i < CORE _PROPS . length ; ++ i ) { var f = CORE _PROPS [ i ] , cur = data . match ( CORE _PROPS _REGEX [ i ] ) ; if ( cur != null && cur . length > 0 ) p [ f [ 1 ] ] = cur [ 1 ] ; if ( f [ 2 ] === "date" && p [ f [ 1 ] ] ) p [ f [ 1 ] ] = parseDate ( p [ f [ 1 ] ] ) } return p } var CORE _PROPS _XML _ROOT = writextag ( "cp:coreProperties" , null , { "xmlns:cp" : XMLNS . CORE _PROPS , "xmlns:dc" : XMLNS . dc , "xmlns:dcterms" : XMLNS . dcterms , "xmlns:dcmitype" : XMLNS . dcmitype , "xmlns:xsi" : XMLNS . xsi } )
if ( opts . biff < 8 ) return ; var row = blob . read _shift ( 2 ) , col = blob . read _shift ( 2 ) ; var flags = blob . read _shift ( 2 ) , idObj = blob . read _shift ( 2 ) ; var stAuthor = parse _XLUnicodeString2 ( blob , 0 , opts ) ; if ( opts . biff < 8 ) blob . read _shift ( 1 ) ; return [ { r : row , c : col } , stAuthor , idObj , flags ] } function parse _Note ( blob , length , opts ) { return parse _NoteSh ( blob , length , opts ) } function parse _MergeCells ( blob , length ) { var merges = [ ] ; var cmcs = blob . read _shift ( 2 ) ; while ( cmcs -- ) merges . push ( parse _Ref8U ( blob , length ) ) ; return merges } function parse _Obj ( blob , length ) { var cmo = parse _FtCmo ( blob , 22 ) ; var fts = parse _FtArray ( blob , length - 22 , cmo [ 1 ] ) ; return { cmo : cmo , ft : fts } } function parse _TxO ( blob , length , opts ) { var s = blob . l ; var texts = "" ; try { blob . l += 4 ; var ot = ( opts . lastobj || { cmo : [ 0 , 0 ] } ) . cmo [ 1 ] ; var controlInfo ; if ( [ 0 , 5 , 7 , 11 , 12 , 14 ] . indexOf ( ot ) == - 1 ) blob . l += 6 ; else controlInfo = parse _ControlInfo ( blob , 6 , opts ) ; var cchText = blob . read _shift ( 2 ) ; var cbRuns = blob . read _shift ( 2 ) ; var ifntEmpty = parse _FontIndex ( blob , 2 ) ; var len = blob . read _shift ( 2 ) ; blob . l += len ; for ( var i = 1 ; i < blob . lens . length - 1 ; ++ i ) { if ( blob . l - s != blob . lens [ i ] ) throw "TxO: bad continue record" ; var hdr = blob [ blob . l ] ; var t = parse _XLUnicodeStringNoCch ( blob , blob . lens [ i + 1 ] - blob . lens [ i ] - 1 ) ; texts += t ; if ( texts . length >= ( hdr ? cchText : 2 * cchText ) ) break } if ( texts . length !== cchText && texts . length !== cchText * 2 ) { throw "cchText: " + cchText + " != " + texts . length } blob . l = s + length ; return { t : texts } } catch ( e ) { blob . l = s + length ; return { t : texts } } } var parse _HLink = function ( blob , length ) { var ref = parse _Ref8U ( blob , 8 ) ; blob . l += 16 ; var hlink = parse _Hyperlink ( blob , length - 24 ) ; return [ ref , hlink ] } ; var parse _HLinkTooltip = function ( blob , length ) { var end = blob . l + length ; blob . read _shift ( 2 ) ; var ref = parse _Ref8U ( blob , 8 ) ; var wzTooltip = blob . read _shift ( ( length - 10 ) / 2 , "dbcs-cont" ) ; wzTooltip = wzTooltip . replace ( chr0 , "" ) ; return [ ref , wzTooltip ] } ; function parse _Country ( blob , length ) { var o = [ ] , d ; d = blob . read _shift ( 2 ) ; o [ 0 ] = CountryEnum [ d ] || d ; d = blob . read _shift ( 2 ) ; o [ 1 ] = CountryEnum [ d ] || d ; return o } function parse _ClrtClient ( blob , length ) { var ccv = blob . read _shift ( 2 ) ; var o = [ ] ; while ( ccv -- > 0 ) o . push ( parse _LongRGB ( blob , 8 ) ) ; return o } function parse _Palette ( blob , length ) { var ccv = blob . read _shift ( 2 ) ; var o = [ ] ; while ( ccv -- > 0 ) o . push ( parse _LongRGB ( blob , 8 ) ) ; return o } function parse _XFCRC ( blob , length ) { blob . l += 2 ; var o = { cxfs : 0 , crc : 0 } ; o . cxfs = blob . read _shift ( 2 ) ; o . crc = blob . read _shift ( 4 ) ; return o } function parse _ColInfo ( blob , length , opts ) { if ( ! opts . cellStyles ) return parsenoop ( blob , length ) ; var w = opts && opts . biff >= 12 ? 4 : 2 ; var colFirst = blob . read _shift ( w ) ; var colLast = blob . read _shift ( w ) ; var coldx = blob . read _shift ( w ) ; var ixfe = blob . read _shift ( w ) ; var flags = blob . read _shift ( 2 ) ; if ( w == 2 ) blob . l += 2 ; return { s : colFirst , e : colLast , w : coldx , ixfe : ixfe , flags : flags } } var parse _Style = parsenoop ; var parse _StyleExt = parsenoop ; var parse _Window2 = parsenoop ; var parse _Backup = parsebool ; var parse _Blank = parse _XLSCell ; var parse _BottomMargin = parse _Xnum ; var parse _BuiltInFnGroupCount = parseuint16 ; var parse _CalcCount = parseuint16 ; var parse _CalcDelta = parse _Xnum ; var parse _CalcIter = parsebool ; var parse _CalcMode = parseuint16 ; var parse _CalcPrecision = parsebool ; var parse _CalcRefMode = parsenoop2 ; var parse _CalcSaveRecalc = parsebool ; var parse _CodePage = parseuint16 ; var parse _Compat12 = parsebool ; var parse _Date1904 = parsebool ; var parse _DefColWidth = parseuint16 ; var parse _DSF = parsenoop2 ; var parse _EntExU2 = parsenoop2 ; var parse _EOF = parsenoop2 ; var parse _Excel9File = parsenoop2 ; var parse _FeatHdr = parsenoop2 ; var parse _FontX = parseuint16 ; var parse _Footer = parse _XLHeaderFooter ; var parse _GridSet = parseuint16 ; var parse _HCenter = parsebool ; var parse _Header = parse _XLHeaderFooter ; var parse _HideObj = parse _HideObjEnum ; var parse _InterfaceEnd = parsenoop2 ; var parse _LeftMargin = parse _Xnum ; var parse _Mms = parsenoop2 ; var parse _ObjProtect = parsebool ; var parse _Password = parseuint16 ; var parse _PrintGrid = parsebool ; var parse _PrintRowCol = parsebool ; var parse _PrintSize = parseuint16 ; var parse _Prot4Rev = parsebool ; var parse _Prot4RevPass = parseuint16 ; var parse _Protect = parsebool ; var parse _RefreshAll = parsebool ; var parse _RightMargin = parse _Xnum ; var parse _RRTabId = parseuint16a ; var parse _ScenarioProtect = parsebool ; var parse _Scl = parseuint16a ; var parse _String = parse _XLUnicodeString ; var parse _SxBool = parsebool ; var pa
var o = [ XML _HEADER , STYLES _XML _ROOT ] , w ; if ( wb . SSF && ( w = write _numFmts ( wb . SSF ) ) != null ) o [ o . length ] = w ; o [ o . length ] = '<fonts count="1"><font><sz val="12"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font></fonts>' ; o [ o . length ] = '<fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills>' ; o [ o . length ] = '<borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders>' ; o [ o . length ] = '<cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>' ; if ( w = write _cellXfs ( opts . cellXfs ) ) o [ o . length ] = w ; o [ o . length ] = '<cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>' ; o [ o . length ] = '<dxfs count="0"/>' ; o [ o . length ] = '<tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4"/>' ; if ( o . length > 2 ) { o [ o . length ] = "</styleSheet>" ; o [ 1 ] = o [ 1 ] . replace ( "/>" , ">" ) } return o . join ( "" ) } function parse _BrtFmt ( data , length ) { var ifmt = data . read _shift ( 2 ) ; var stFmtCode = parse _XLWideString ( data , length - 2 ) ; return [ ifmt , stFmtCode ] } function parse _BrtFont ( data , length ) { var out = { flags : { } } ; out . dyHeight = data . read _shift ( 2 ) ; out . grbit = parse _FontFlags ( data , 2 ) ; out . bls = data . read _shift ( 2 ) ; out . sss = data . read _shift ( 2 ) ; out . uls = data . read _shift ( 1 ) ; out . bFamily = data . read _shift ( 1 ) ; out . bCharSet = data . read _shift ( 1 ) ; data . l ++ ; out . brtColor = parse _BrtColor ( data , 8 ) ; out . bFontScheme = data . read _shift ( 1 ) ; out . name = parse _XLWideString ( data , length - 21 ) ; out . flags . Bold = out . bls === 700 ; out . flags . Italic = out . grbit . fItalic ; out . flags . Strikeout = out . grbit . fStrikeout ; out . flags . Outline = out . grbit . fOutline ; out . flags . Shadow = out . grbit . fShadow ; out . flags . Condense = out . grbit . fCondense ; out . flags . Extend = out . grbit . fExtend ; out . flags . Sub = out . sss & 2 ; out . flags . Sup = out . sss & 1 ; return out } function parse _BrtXF ( data , length ) { var ixfeParent = data . read _shift ( 2 ) ; var ifmt = data . read _shift ( 2 ) ; parsenoop ( data , length - 4 ) ; return { ixfe : ixfeParent , ifmt : ifmt } } function parse _sty _bin ( data , themes , opts ) { var styles = { } ; styles . NumberFmt = [ ] ; for ( var y in SSF . _table ) styles . NumberFmt [ y ] = SSF . _table [ y ] ; styles . CellXf = [ ] ; var state = "" ; var pass = false ; recordhopper ( data , function hopper _sty ( val , R , RT ) { switch ( R . n ) { case "BrtFmt" : styles . NumberFmt [ val [ 0 ] ] = val [ 1 ] ; SSF . load ( val [ 1 ] , val [ 0 ] ) ; break ; case "BrtFont" : break ; case "BrtKnownFonts" : break ; case "BrtFill" : break ; case "BrtBorder" : break ; case "BrtXF" : if ( state === "CELLXFS" ) { styles . CellXf . push ( val ) } break ; case "BrtStyle" : break ; case "BrtDXF" : break ; case "BrtMRUColor" : break ; case "BrtIndexedColor" : break ; case "BrtBeginStyleSheet" : break ; case "BrtEndStyleSheet" : break ; case "BrtBeginTableStyle" : break ; case "BrtTableStyleElement" : break ; case "BrtEndTableStyle" : break ; case "BrtBeginFmts" : state = "FMTS" ; break ; case "BrtEndFmts" : state = "" ; break ; case "BrtBeginFonts" : state = "FONTS" ; break ; case "BrtEndFonts" : state = "" ; break ; case "BrtACBegin" : state = "ACFONTS" ; break ; case "BrtACEnd" : state = "" ; break ; case "BrtBeginFills" : state = "FILLS" ; break ; case "BrtEndFills" : state = "" ; break ; case "BrtBeginBorders" : state = "BORDERS" ; break ; case "BrtEndBorders" : state = "" ; break ; case "BrtBeginCellStyleXFs" : state = "CELLSTYLEXFS" ; break ; case "BrtEndCellStyleXFs" : state = "" ; break ; case "BrtBeginCellXFs" : state = "CELLXFS" ; break ; case "BrtEndCellXFs" : state = "" ; break ; case "BrtBeginStyles" : state = "STYLES" ; break ; case "BrtEndStyles" : state = "" ; break ; case "BrtBeginDXFs" : state = "DXFS" ; break ; case "BrtEndDXFs" : state = "" ; break ; case "BrtBeginTableStyles" : state = "TABLESTYLES" ; break ; case "BrtEndTableStyles" : state = "" ; break ; case "BrtBeginColorPalette" : state = "COLORPALETTE" ; break ; case "BrtEndColorPalette" : state = "" ; break ; case "BrtBeginIndexedColors" : state = "INDEXEDCOLORS" ; break ; case "BrtEndIndexedColors" : state = "" ; break ; case "BrtBeginMRUColors" : state = "MRUCOLORS" ; break ; case "BrtEndMRUColors" : state = "" ; break ; case "BrtFRTBegin" : pass = true ; break ; case "BrtFRTEnd" : pass = false ; break ; case "BrtBeginStyleSheetExt14" : break ; case "BrtBeginSlicerStyles" : break ; case "BrtEndSlicerStyles" : break ; case "BrtBeginTimelineStylesheetExt15" : break ; case "BrtEndTimelineStylesheetExt15" : break ; case "BrtBeginTimelineStyles" : break ; case "BrtEndTimelineStyles" : break ; case "BrtEndStyleSheetExt14" : break ; default : if ( ! pass || opts . WTF ) t
var parse _PtgUnion = parseread1 ; var parse _PtgUplus = parseread1 ; var parse _PtgMemErr = parsenoop ; var parse _PtgMemNoMem = parsenoop ; var parse _PtgTbl = parsenoop ; var PtgTypes = { 1 : { n : "PtgExp" , f : parse _PtgExp } , 2 : { n : "PtgTbl" , f : parse _PtgTbl } , 3 : { n : "PtgAdd" , f : parse _PtgAdd } , 4 : { n : "PtgSub" , f : parse _PtgSub } , 5 : { n : "PtgMul" , f : parse _PtgMul } , 6 : { n : "PtgDiv" , f : parse _PtgDiv } , 7 : { n : "PtgPower" , f : parse _PtgPower } , 8 : { n : "PtgConcat" , f : parse _PtgConcat } , 9 : { n : "PtgLt" , f : parse _PtgLt } , 10 : { n : "PtgLe" , f : parse _PtgLe } , 11 : { n : "PtgEq" , f : parse _PtgEq } , 12 : { n : "PtgGe" , f : parse _PtgGe } , 13 : { n : "PtgGt" , f : parse _PtgGt } , 14 : { n : "PtgNe" , f : parse _PtgNe } , 15 : { n : "PtgIsect" , f : parse _PtgIsect } , 16 : { n : "PtgUnion" , f : parse _PtgUnion } , 17 : { n : "PtgRange" , f : parse _PtgRange } , 18 : { n : "PtgUplus" , f : parse _PtgUplus } , 19 : { n : "PtgUminus" , f : parse _PtgUminus } , 20 : { n : "PtgPercent" , f : parse _PtgPercent } , 21 : { n : "PtgParen" , f : parse _PtgParen } , 22 : { n : "PtgMissArg" , f : parse _PtgMissArg } , 23 : { n : "PtgStr" , f : parse _PtgStr } , 28 : { n : "PtgErr" , f : parse _PtgErr } , 29 : { n : "PtgBool" , f : parse _PtgBool } , 30 : { n : "PtgInt" , f : parse _PtgInt } , 31 : { n : "PtgNum" , f : parse _PtgNum } , 32 : { n : "PtgArray" , f : parse _PtgArray } , 33 : { n : "PtgFunc" , f : parse _PtgFunc } , 34 : { n : "PtgFuncVar" , f : parse _PtgFuncVar } , 35 : { n : "PtgName" , f : parse _PtgName } , 36 : { n : "PtgRef" , f : parse _PtgRef } , 37 : { n : "PtgArea" , f : parse _PtgArea } , 38 : { n : "PtgMemArea" , f : parse _PtgMemArea } , 39 : { n : "PtgMemErr" , f : parse _PtgMemErr } , 40 : { n : "PtgMemNoMem" , f : parse _PtgMemNoMem } , 41 : { n : "PtgMemFunc" , f : parse _PtgMemFunc } , 42 : { n : "PtgRefErr" , f : parse _PtgRefErr } , 43 : { n : "PtgAreaErr" , f : parse _PtgAreaErr } , 44 : { n : "PtgRefN" , f : parse _PtgRefN } , 45 : { n : "PtgAreaN" , f : parse _PtgAreaN } , 57 : { n : "PtgNameX" , f : parse _PtgNameX } , 58 : { n : "PtgRef3d" , f : parse _PtgRef3d } , 59 : { n : "PtgArea3d" , f : parse _PtgArea3d } , 60 : { n : "PtgRefErr3d" , f : parse _PtgRefErr3d } , 61 : { n : "PtgAreaErr3d" , f : parse _PtgAreaErr3d } , 255 : { } } ; var PtgDupes = { 64 : 32 , 96 : 32 , 65 : 33 , 97 : 33 , 66 : 34 , 98 : 34 , 67 : 35 , 99 : 35 , 68 : 36 , 100 : 36 , 69 : 37 , 101 : 37 , 70 : 38 , 102 : 38 , 71 : 39 , 103 : 39 , 72 : 40 , 104 : 40 , 73 : 41 , 105 : 41 , 74 : 42 , 106 : 42 , 75 : 43 , 107 : 43 , 76 : 44 , 108 : 44 , 77 : 45 , 109 : 45 , 89 : 57 , 121 : 57 , 90 : 58 , 122 : 58 , 91 : 59 , 123 : 59 , 92 : 60 , 124 : 60 , 93 : 61 , 125 : 61 } ; ( function ( ) { for ( var y in PtgDupes ) PtgTypes [ y ] = PtgTypes [ PtgDupes [ y ] ] } ) ( ) ; var Ptg18 = { } ; var Ptg19 = { 1 : { n : "PtgAttrSemi" , f : parse _PtgAttrSemi } , 2 : { n : "PtgAttrIf" , f : parse _PtgAttrIf } , 4 : { n : "PtgAttrChoose" , f : parse _PtgAttrChoose } , 8 : { n : "PtgAttrGoto" , f : parse _PtgAttrGoto } , 16 : { n : "PtgAttrSum" , f : parse _PtgAttrSum } , 32 : { n : "PtgAttrBaxcel" , f : parse _PtgAttrBaxcel } , 64 : { n : "PtgAttrSpace" , f : parse _PtgAttrSpace } , 65 : { n : "PtgAttrSpaceSemi" , f : parse _PtgAttrSpaceSemi } , 128 : { n : "PtgAttrIfError" , f : parse _PtgAttrIfError } , 255 : { } } ; function parse _Formula ( blob , length , opts ) { var end = blob . l + length ; var cell = parse _XLSCell ( blob , 6 ) ; if ( opts . biff == 2 ) ++ blob . l ; var val = parse _FormulaValue ( blob , 8 ) ; var flags = blob . read _shift ( 1 ) ; if ( opts . biff != 2 ) { blob . read _shift ( 1 ) ; if ( opts . biff >= 5 ) { var chn = blob . read _shift ( 4 ) } } var cbf = parse _XLSCellParsedFormula ( blob , end - blob . l , opts ) ; return { cell : cell , val : val [ 0 ] , formula : cbf , shared : flags >> 3 & 1 , tt : val [ 1 ] } } function parse _FormulaValue ( blob ) { var b ; if ( _ _readUInt16LE ( blob , blob . l + 6 ) !== 65535 ) return [ parse _Xnum ( blob ) , "n" ] ; switch ( blob [ blob . l ] ) { case 0 : blob . l += 8 ; return [ "String" , "s" ] ; case 1 : b = blob [ blob . l + 2 ] === 1 ; blob . l += 8 ; return [ b , "b" ] ; case 2 : b = blob [ blob . l + 2 ] ; blob . l += 8 ; return [ b , "e" ] ; case 3 : blob . l += 8 ; return [ "" , "s" ] } return [ ] } function parse _RgbExtra ( blob , length , rgce , opts ) { if ( opts . biff < 8 ) return parsenoop ( blob , length ) ; var target = blob . l + length ; var o = [ ] ; for ( var i = 0 ; i !== rgce . length ; ++ i ) { switch ( rgce [ i ] [ 0 ] ) { case "PtgArray" : rgce [ i ] [ 1 ] = parse _PtgExtraArray ( blob , 0 , opts ) ; o . push ( rgce [ i ] [ 1 ] ) ; break ; case "PtgMemArea" : rgce [ i ] [ 2 ] = parse _PtgExtraMem ( blob , rgce [ i ] [ 1 ] ) ; o . push ( rgce [ i ] [ 2 ] ) ; break ; case "PtgExp" : if ( opts && opts . biff == 12 ) { rgce [ i ] [ 1 ] [ 1 ] = blob . read _shift ( 4 ) ; o . push ( rgce [ i ] [ 1 ] ) } break ; default : break } } length = target - blob . l ; if ( length !== 0 ) o . push ( parsenoop ( blob , length ) ) ; return o } function parse _NameParsedFormula ( blob , length , opts , cce ) { var target = blob . l + length ; var rgce = parse _Rgce ( blob , cce , opts ) ; var rgcb ; if ( target !== blob . l ) rgcb = parse _RgbExtra ( blob , target - blob . l , rgce , opts ) ; return [ rgce , rgcb ] } function parse _XLSCellParsedFormula ( blob , length , opts ) { var target = blob . l + length , len = opts . biff == 2 ? 1 : 2 ; var rgcb , cce = blob . read _shift ( len ) ; if ( cce == 65535 ) return [ [ ] , parseno
} } catch ( e ) { if ( opts . WTF ) throw e } } function parse _ws _xml _dim ( ws , s ) { var d = safe _decode _range ( s ) ; if ( d . s . r <= d . e . r && d . s . c <= d . e . c && d . s . r >= 0 && d . s . c >= 0 ) ws [ "!ref" ] = encode _range ( d ) } var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g ; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/ ; var hlinkregex = /<(?:\w*:)?hyperlink [^>]*>/gm ; var dimregex = /"(\w*:\w*)"/ ; var colregex = /<(?:\w*:)?col[^>]*[\/]?>/g ; function parse _ws _xml ( data , opts , rels , wb , themes , styles ) { if ( ! data ) return data ; var s = { } ; var ridx = ( data . match ( /<(?:\w*:)?dimension/ ) || { index : - 1 } ) . index ; if ( ridx > 0 ) { var ref = data . substr ( ridx , 50 ) . match ( dimregex ) ; if ( ref != null ) parse _ws _xml _dim ( s , ref [ 1 ] ) } var mergecells = [ ] ; var merges = data . match ( mergecregex ) ; if ( merges ) for ( ridx = 0 ; ridx != merges . length ; ++ ridx ) mergecells [ ridx ] = safe _decode _range ( merges [ ridx ] . substr ( merges [ ridx ] . indexOf ( '"' ) + 1 ) ) ; var columns = [ ] ; if ( opts . cellStyles ) { var cols = data . match ( colregex ) ; if ( cols ) parse _ws _xml _cols ( columns , cols ) } var refguess = { s : { r : 2e6 , c : 2e6 } , e : { r : 0 , c : 0 } } ; var mtch = data . match ( sheetdataregex ) ; if ( mtch ) parse _ws _xml _data ( mtch [ 1 ] , s , opts , refguess , themes , styles ) ; var hlink = data . match ( hlinkregex ) ; if ( hlink ) parse _ws _xml _hlinks ( s , hlink , rels ) ; if ( ! s [ "!ref" ] && refguess . e . c >= refguess . s . c && refguess . e . r >= refguess . s . r ) s [ "!ref" ] = encode _range ( refguess ) ; if ( opts . sheetRows > 0 && s [ "!ref" ] ) { var tmpref = safe _decode _range ( s [ "!ref" ] ) ; if ( opts . sheetRows < + tmpref . e . r ) { tmpref . e . r = opts . sheetRows - 1 ; if ( tmpref . e . r > refguess . e . r ) tmpref . e . r = refguess . e . r ; if ( tmpref . e . r < tmpref . s . r ) tmpref . s . r = tmpref . e . r ; if ( tmpref . e . c > refguess . e . c ) tmpref . e . c = refguess . e . c ; if ( tmpref . e . c < tmpref . s . c ) tmpref . s . c = tmpref . e . c ; s [ "!fullref" ] = s [ "!ref" ] ; s [ "!ref" ] = encode _range ( tmpref ) } } if ( mergecells . length > 0 ) s [ "!merges" ] = mergecells ; if ( columns . length > 0 ) s [ "!cols" ] = columns ; return s } function write _ws _xml _merges ( merges ) { if ( merges . length == 0 ) return "" ; var o = '<mergeCells count="' + merges . length + '">' ; for ( var i = 0 ; i != merges . length ; ++ i ) o += '<mergeCell ref="' + encode _range ( merges [ i ] ) + '"/>' ; return o + "</mergeCells>" } function parse _ws _xml _hlinks ( s , data , rels ) { for ( var i = 0 ; i != data . length ; ++ i ) { var val = parsexmltag ( data [ i ] , true ) ; if ( ! val . ref ) return ; var rel = rels ? rels [ "!id" ] [ val . id ] : null ; if ( rel ) { val . Target = rel . Target ; if ( val . location ) val . Target += "#" + val . location ; val . Rel = rel } else { val . Target = val . location ; rel = { Target : val . location , TargetMode : "Internal" } ; val . Rel = rel } var rng = safe _decode _range ( val . ref ) ; for ( var R = rng . s . r ; R <= rng . e . r ; ++ R ) for ( var C = rng . s . c ; C <= rng . e . c ; ++ C ) { var addr = encode _cell ( { c : C , r : R } ) ; if ( ! s [ addr ] ) s [ addr ] = { t : "z" , v : undefined } ; s [ addr ] . l = val } } } function parse _ws _xml _cols ( columns , cols ) { var seencol = false ; for ( var coli = 0 ; coli != cols . length ; ++ coli ) { var coll = parsexmltag ( cols [ coli ] , true ) ; var colm = parseInt ( coll . min , 10 ) - 1 , colM = parseInt ( coll . max , 10 ) - 1 ; delete coll . min ; delete coll . max ; coll . width = + coll . width ; if ( ! seencol && coll . width ) { seencol = true ; find _mdw _colw ( coll . width ) } process _col ( coll ) ; while ( colm <= colM ) columns [ colm ++ ] = dup ( coll ) } } function write _ws _xml _cols ( ws , cols ) { var o = [ "<cols>" ] , col , width ; for ( var i = 0 ; i != cols . length ; ++ i ) { if ( ! ( col = cols [ i ] ) ) continue ; var p = { min : i + 1 , max : i + 1 } ; width = - 1 ; if ( col . MDW ) MDW = col . MDW ; if ( col . width ) ; else if ( col . wpx ) width = px2char ( col . wpx ) ; else if ( col . wch ) width = col . wch ; if ( width > - 1 ) { p . width = char2width ( width ) ; p . customWidth = 1 } o [ o . length ] = writextag ( "col" , null , p ) } o [ o . length ] = "</cols>" ; return o . join ( "" ) } function write _ws _xml _cell ( cell , ref , ws , opts , idx , wb ) { if ( cell . v === undefined && cell . f === undefined || cell . t === "z" ) return "" ; var vv = "" ; var oldt = cell . t , oldv = cell . v ; switch ( cell . t ) { case "b" : vv = cell . v ? "1" : "0" ; break ; case "n" : vv = "" + cell . v ; break ; case "e" : vv = BErr [ cell . v ] ; break ; case "d" : if ( opts . cellDates ) vv = parseDate ( cell . v ) . toISOString ( ) ; else { cell . t = "n" ; vv = "" + ( cell . v = datenum ( parseDate ( cell . v ) ) ) ; if ( typeof cell . z === "undefined" ) cell . z = SSF . _table [ 14 ] } break ; default : vv = cell . v ; break } var v = writetag ( "v" , escapexml ( vv ) ) , o = { r : ref } ; var os = get _cell _style ( opts . cellXfs , cell , opts ) ; if ( os !== 0 ) o . s = os ; switch ( cell . t ) { case "n" : break ; case "d" : o . t = "d" ; break ; case "b" : o . t = "b" ; break ; case "e" : o . t = "e" ; break ; default : if ( cell . v == null ) { delete cell . t ; break } if ( opts . bookSST ) { v = writetag ( "v" , "" + get _sst _id ( opts . Strings , cell . v ) ) ; o . t = "s" ; break } o . t = "str" ; break } if ( c
write _record ( ba , "BrtEndBook" ) ; return ba . end ( ) } function parse _wb ( data , name , opts ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _wb _bin ( data , opts ) ; return parse _wb _xml ( data , opts ) } function parse _ws ( data , name , opts , rels , wb , themes , styles ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _ws _bin ( data , opts , rels , wb , themes , styles ) ; return parse _ws _xml ( data , opts , rels , wb , themes , styles ) } function parse _sty ( data , name , themes , opts ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _sty _bin ( data , themes , opts ) ; return parse _sty _xml ( data , themes , opts ) } function parse _theme ( data , name , opts ) { return parse _theme _xml ( data , opts ) } function parse _sst ( data , name , opts ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _sst _bin ( data , opts ) ; return parse _sst _xml ( data , opts ) } function parse _cmnt ( data , name , opts ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _comments _bin ( data , opts ) ; return parse _comments _xml ( data , opts ) } function parse _cc ( data , name , opts ) { if ( name . slice ( - 4 ) === ".bin" ) return parse _cc _bin ( data , opts ) ; return parse _cc _xml ( data , opts ) } function write _wb ( wb , name , opts ) { return ( name . slice ( - 4 ) === ".bin" ? write _wb _bin : write _wb _xml ) ( wb , opts ) } function write _ws ( data , name , opts , wb ) { return ( name . slice ( - 4 ) === ".bin" ? write _ws _bin : write _ws _xml ) ( data , opts , wb ) } function write _sty ( data , name , opts ) { return ( name . slice ( - 4 ) === ".bin" ? write _sty _bin : write _sty _xml ) ( data , opts ) } function write _sst ( data , name , opts ) { return ( name . slice ( - 4 ) === ".bin" ? write _sst _bin : write _sst _xml ) ( data , opts ) } var attregexg2 = /([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g ; var attregex2 = /([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/ ; var _chr = function ( c ) { return String . fromCharCode ( c ) } ; function xlml _parsexmltag ( tag , skip _root ) { var words = tag . split ( /\s+/ ) ; var z = [ ] ; if ( ! skip _root ) z [ 0 ] = words [ 0 ] ; if ( words . length === 1 ) return z ; var m = tag . match ( attregexg2 ) , y , j , w , i ; if ( m ) for ( i = 0 ; i != m . length ; ++ i ) { y = m [ i ] . match ( attregex2 ) ; if ( ( j = y [ 1 ] . indexOf ( ":" ) ) === - 1 ) z [ y [ 1 ] ] = y [ 2 ] . substr ( 1 , y [ 2 ] . length - 2 ) ; else { if ( y [ 1 ] . substr ( 0 , 6 ) === "xmlns:" ) w = "xmlns" + y [ 1 ] . substr ( 6 ) ; else w = y [ 1 ] . substr ( j + 1 ) ; z [ w ] = y [ 2 ] . substr ( 1 , y [ 2 ] . length - 2 ) } } return z } function xlml _parsexmltagobj ( tag ) { var words = tag . split ( /\s+/ ) ; var z = { } ; if ( words . length === 1 ) return z ; var m = tag . match ( attregexg2 ) , y , j , w , i ; if ( m ) for ( i = 0 ; i != m . length ; ++ i ) { y = m [ i ] . match ( attregex2 ) ; if ( ( j = y [ 1 ] . indexOf ( ":" ) ) === - 1 ) z [ y [ 1 ] ] = y [ 2 ] . substr ( 1 , y [ 2 ] . length - 2 ) ; else { if ( y [ 1 ] . substr ( 0 , 6 ) === "xmlns:" ) w = "xmlns" + y [ 1 ] . substr ( 6 ) ; else w = y [ 1 ] . substr ( j + 1 ) ; z [ w ] = y [ 2 ] . substr ( 1 , y [ 2 ] . length - 2 ) } } return z } function xlml _format ( format , value ) { var fmt = XLMLFormatMap [ format ] || unescapexml ( format ) ; if ( fmt === "General" ) return SSF . _general ( value ) ; return SSF . format ( fmt , value ) } function xlml _set _custprop ( Custprops , Rn , cp , val ) { var oval = val ; switch ( ( cp [ 0 ] . match ( /dt:dt="([\w.]+)"/ ) || [ "" , "" ] ) [ 1 ] ) { case "boolean" : oval = parsexmlbool ( val ) ; break ; case "i2" : case "int" : oval = parseInt ( val , 10 ) ; break ; case "r4" : case "float" : oval = parseFloat ( val ) ; break ; case "date" : case "dateTime.tz" : oval = parseDate ( val ) ; break ; case "i8" : case "string" : case "fixed" : case "uuid" : case "bin.base64" : break ; default : throw new Error ( "bad custprop:" + cp [ 0 ] ) } Custprops [ unescapexml ( Rn [ 3 ] ) ] = oval } function safe _format _xlml ( cell , nf , o ) { if ( cell . t === "z" ) return ; try { if ( cell . t === "e" ) { cell . w = cell . w || BErr [ cell . v ] } else if ( nf === "General" ) { if ( cell . t === "n" ) { if ( ( cell . v | 0 ) === cell . v ) cell . w = SSF . _general _int ( cell . v ) ; else cell . w = SSF . _general _num ( cell . v ) } else cell . w = SSF . _general ( cell . v ) } else cell . w = xlml _format ( nf || "General" , cell . v ) ; var z = XLMLFormatMap [ nf ] || nf || "General" ; if ( o . cellNF ) cell . z = z ; if ( o . cellDates && cell . t == "n" && SSF . is _date ( z ) ) { var _d = SSF . parse _date _code ( cell . v ) ; if ( _d ) { cell . t = "d" ; cell . v = new Date ( Date . UTC ( _d . y , _d . m - 1 , _d . d , _d . H , _d . M , _d . S , _d . u ) ) } } } catch ( e ) { if ( o . WTF ) throw e } } function process _style _xlml ( styles , stag , opts ) { if ( opts . cellStyles ) { if ( stag . Interior ) { var I = stag . Interior ; if ( I . Pattern ) I . patternType = XLMLPatternTypeMap [ I . Pattern ] || I . Pattern } } styles [ stag . ID ] = stag } function parse _xlml _data ( xml , ss , data , cell , base , styles , csty , row , arrayf , o ) { var nf = "General" , sid = cell . StyleID , S = { } ; o = o || { } ; var interiors = [ ] ; var i = 0 ; if ( sid === undefined && row ) sid = row . StyleID ; if ( sid === undefined && csty ) sid = csty . StyleID ; while ( styles [ sid ] !== undefined ) { if ( styles [ sid ] . nf ) nf = styles [ sid ] . nf ; if ( styles [ sid ] . Interior ) interiors . push ( styles
if ( ! last _formula ) break ; if ( ! _arraystart || ! out [ _arraystart ] ) break ; out [ _arraystart ] . f = "" + stringify _formula ( val [ 1 ] , range , val [ 0 ] , supbooks , opts ) ; out [ _arraystart ] . F = encode _range ( val [ 0 ] ) } } break ; case "ShrFmla" : { if ( ! cell _valid ) break ; if ( ! options . cellFormula ) break ; if ( last _cell ) { if ( ! last _formula ) break ; shared _formulae [ encode _cell ( last _formula . cell ) ] = val [ 0 ] ; ( out [ encode _cell ( last _formula . cell ) ] || { } ) . f = "" + stringify _formula ( val [ 0 ] , range , lastcell , supbooks , opts ) } } break ; case "LabelSst" : temp _val = make _cell ( sst [ val . isst ] . t , val . ixfe , "s" ) ; temp _val . XF = XFs [ temp _val . ixfe ] ; safe _format _xf ( temp _val , options , wb . opts . Date1904 ) ; addcell ( { c : val . c , r : val . r } , temp _val , options ) ; break ; case "Blank" : if ( options . sheetStubs ) { temp _val = { ixfe : val . ixfe , XF : XFs [ val . ixfe ] , t : "z" } ; safe _format _xf ( temp _val , options , wb . opts . Date1904 ) ; addcell ( { c : val . c , r : val . r } , temp _val , options ) } break ; case "MulBlank" : if ( options . sheetStubs ) { for ( var _j = val . c ; _j <= val . C ; ++ _j ) { var _ixfe = val . ixfe [ _j - val . c ] ; temp _val = { ixfe : _ixfe , XF : XFs [ _ixfe ] , t : "z" } ; safe _format _xf ( temp _val , options , wb . opts . Date1904 ) ; addcell ( { c : _j , r : val . r } , temp _val , options ) } } break ; case "RString" : case "Label" : case "BIFF2STR" : temp _val = make _cell ( val . val , val . ixfe , "s" ) ; temp _val . XF = XFs [ temp _val . ixfe ] ; safe _format _xf ( temp _val , options , wb . opts . Date1904 ) ; addcell ( { c : val . c , r : val . r } , temp _val , options ) ; break ; case "Dimensions" : { if ( file _depth === 1 ) range = val } break ; case "SST" : { sst = val } break ; case "Format" : { SSF . load ( val [ 1 ] , val [ 0 ] ) } break ; case "BIFF2FORMAT" : { SSF . load ( val , BIFF2Fmt ++ ) } break ; case "MergeCells" : mergecells = mergecells . concat ( val ) ; break ; case "Obj" : objects [ val . cmo [ 0 ] ] = opts . lastobj = val ; break ; case "TxO" : opts . lastobj . TxO = val ; break ; case "HLink" : { for ( rngR = val [ 0 ] . s . r ; rngR <= val [ 0 ] . e . r ; ++ rngR ) for ( rngC = val [ 0 ] . s . c ; rngC <= val [ 0 ] . e . c ; ++ rngC ) if ( out [ encode _cell ( { c : rngC , r : rngR } ) ] ) out [ encode _cell ( { c : rngC , r : rngR } ) ] . l = val [ 1 ] } break ; case "HLinkTooltip" : { for ( rngR = val [ 0 ] . s . r ; rngR <= val [ 0 ] . e . r ; ++ rngR ) for ( rngC = val [ 0 ] . s . c ; rngC <= val [ 0 ] . e . c ; ++ rngC ) if ( out [ encode _cell ( { c : rngC , r : rngR } ) ] ) out [ encode _cell ( { c : rngC , r : rngR } ) ] . l . tooltip = val [ 1 ] } break ; case "Note" : { if ( opts . biff <= 5 && opts . biff >= 2 ) break ; cc = out [ encode _cell ( val [ 0 ] ) ] ; var noteobj = objects [ val [ 2 ] ] ; if ( ! cc ) break ; if ( ! cc . c ) cc . c = [ ] ; cmnt = { a : val [ 1 ] , t : noteobj . TxO . t } ; cc . c . push ( cmnt ) } break ; default : switch ( R . n ) { case "ClrtClient" : break ; case "XFExt" : update _xfext ( XFs [ val . ixfe ] , val . ext ) ; break ; case "DefColWidth" : defwidth = val ; break ; case "DefaultRowHeight" : defheight = val [ 1 ] ; break ; case "ColInfo" : { if ( ! opts . cellStyles ) break ; while ( val . e >= val . s ) { colinfo [ val . e -- ] = { width : val . w / 256 } ; if ( ! seencol ) { seencol = true ; find _mdw _colw ( val . w / 256 ) } process _col ( colinfo [ val . e + 1 ] ) } } break ; case "Row" : break ; case "NameCmt" : break ; case "Header" : break ; case "Footer" : break ; case "HCenter" : break ; case "VCenter" : break ; case "Pls" : break ; case "Setup" : break ; case "GCW" : break ; case "LHRecord" : break ; case "DBCell" : break ; case "EntExU2" : break ; case "SxView" : break ; case "Sxvd" : break ; case "SXVI" : break ; case "SXVDEx" : break ; case "SxIvd" : break ; case "SXDI" : break ; case "SXLI" : break ; case "SXEx" : break ; case "QsiSXTag" : break ; case "Selection" : break ; case "Feat" : break ; case "FeatHdr" : case "FeatHdr11" : break ; case "Feature11" : case "Feature12" : case "List12" : break ; case "Country" : country = val ; break ; case "RecalcId" : break ; case "DxGCol" : break ; case "Fbi" : case "Fbi2" : case "GelFrame" : break ; case "Font" : break ; case "XFCRC" : break ; case "Style" : break ; case "StyleExt" : break ; case "Palette" : palette = val ; break ; case "Theme" : break ; case "ScenarioProtect" : break ; case "ObjProtect" : break ; case "CondFmt12" : break ; case "Table" : break ; case "TableStyles" : break ; case "TableStyle" : break ; case "TableStyleElement" : break ; case "SXStreamID" : break ; case "SXVS" : break ; case "DConRef" : break ; case "SXAddl" : break ; case "DConBin" : break ; case "DConName" : break ; case "SXPI" : break ; case "SxFormat" : break ; case "SxSelect" : break ; case "SxRule" : break ; case "SxFilt" : break ; case "SxItm" : break ; case "SxDXF" : break ; case "ScenMan" : break ; case "DCon" : break ; case "CellWatch" : break ; case "PrintRowCol" : break ; case "PrintGrid" : break ; case "PrintSize" : break ; case "XCT" : break ; case "CRN" : break ; case "Scl" : { } break ; case "SheetExt" : { } break ; case "SheetExtOptional" : { } break ; case "ObNoMacros" : { } break ; case "ObProj" : { } break ; case "CodeName" : { } break ; case "GUIDTypeLib" : { } break ; case "WOpt" : break ; case "PhoneticInfo" : break ; case " OleObjec
f : parsenoop } , 1045 : { n : "BrtWsFmtInfoEx14" , f : parsenoop } , 1046 : { n : "BrtBeginConditionalFormatting14" , f : parsenoop } , 1047 : { n : "BrtEndConditionalFormatting14" , f : parsenoop } , 1048 : { n : "BrtBeginCFRule14" , f : parsenoop } , 1049 : { n : "BrtEndCFRule14" , f : parsenoop } , 1050 : { n : "BrtCFVO14" , f : parsenoop } , 1051 : { n : "BrtBeginDatabar14" , f : parsenoop } , 1052 : { n : "BrtBeginIconSet14" , f : parsenoop } , 1053 : { n : "BrtDVal14" , f : parsenoop } , 1054 : { n : "BrtBeginDVals14" , f : parsenoop } , 1055 : { n : "BrtColor14" , f : parsenoop } , 1056 : { n : "BrtBeginSparklines" , f : parsenoop } , 1057 : { n : "BrtEndSparklines" , f : parsenoop } , 1058 : { n : "BrtBeginSparklineGroups" , f : parsenoop } , 1059 : { n : "BrtEndSparklineGroups" , f : parsenoop } , 1061 : { n : "BrtSXVD14" , f : parsenoop } , 1062 : { n : "BrtBeginSxview14" , f : parsenoop } , 1063 : { n : "BrtEndSxview14" , f : parsenoop } , 1066 : { n : "BrtBeginPCD14" , f : parsenoop } , 1067 : { n : "BrtEndPCD14" , f : parsenoop } , 1068 : { n : "BrtBeginExtConn14" , f : parsenoop } , 1069 : { n : "BrtEndExtConn14" , f : parsenoop } , 1070 : { n : "BrtBeginSlicerCacheIDs" , f : parsenoop } , 1071 : { n : "BrtEndSlicerCacheIDs" , f : parsenoop } , 1072 : { n : "BrtBeginSlicerCacheID" , f : parsenoop } , 1073 : { n : "BrtEndSlicerCacheID" , f : parsenoop } , 1075 : { n : "BrtBeginSlicerCache" , f : parsenoop } , 1076 : { n : "BrtEndSlicerCache" , f : parsenoop } , 1077 : { n : "BrtBeginSlicerCacheDef" , f : parsenoop } , 1078 : { n : "BrtEndSlicerCacheDef" , f : parsenoop } , 1079 : { n : "BrtBeginSlicersEx" , f : parsenoop } , 1080 : { n : "BrtEndSlicersEx" , f : parsenoop } , 1081 : { n : "BrtBeginSlicerEx" , f : parsenoop } , 1082 : { n : "BrtEndSlicerEx" , f : parsenoop } , 1083 : { n : "BrtBeginSlicer" , f : parsenoop } , 1084 : { n : "BrtEndSlicer" , f : parsenoop } , 1085 : { n : "BrtSlicerCachePivotTables" , f : parsenoop } , 1086 : { n : "BrtBeginSlicerCacheOlapImpl" , f : parsenoop } , 1087 : { n : "BrtEndSlicerCacheOlapImpl" , f : parsenoop } , 1088 : { n : "BrtBeginSlicerCacheLevelsData" , f : parsenoop } , 1089 : { n : "BrtEndSlicerCacheLevelsData" , f : parsenoop } , 1090 : { n : "BrtBeginSlicerCacheLevelData" , f : parsenoop } , 1091 : { n : "BrtEndSlicerCacheLevelData" , f : parsenoop } , 1092 : { n : "BrtBeginSlicerCacheSiRanges" , f : parsenoop } , 1093 : { n : "BrtEndSlicerCacheSiRanges" , f : parsenoop } , 1094 : { n : "BrtBeginSlicerCacheSiRange" , f : parsenoop } , 1095 : { n : "BrtEndSlicerCacheSiRange" , f : parsenoop } , 1096 : { n : "BrtSlicerCacheOlapItem" , f : parsenoop } , 1097 : { n : "BrtBeginSlicerCacheSelections" , f : parsenoop } , 1098 : { n : "BrtSlicerCacheSelection" , f : parsenoop } , 1099 : { n : "BrtEndSlicerCacheSelections" , f : parsenoop } , 1100 : { n : "BrtBeginSlicerCacheNative" , f : parsenoop } , 1101 : { n : "BrtEndSlicerCacheNative" , f : parsenoop } , 1102 : { n : "BrtSlicerCacheNativeItem" , f : parsenoop } , 1103 : { n : "BrtRangeProtection14" , f : parsenoop } , 1104 : { n : "BrtRangeProtectionIso14" , f : parsenoop } , 1105 : { n : "BrtCellIgnoreEC14" , f : parsenoop } , 1111 : { n : "BrtList14" , f : parsenoop } , 1112 : { n : "BrtCFIcon" , f : parsenoop } , 1113 : { n : "BrtBeginSlicerCachesPivotCacheIDs" , f : parsenoop } , 1114 : { n : "BrtEndSlicerCachesPivotCacheIDs" , f : parsenoop } , 1115 : { n : "BrtBeginSlicers" , f : parsenoop } , 1116 : { n : "BrtEndSlicers" , f : parsenoop } , 1117 : { n : "BrtWbProp14" , f : parsenoop } , 1118 : { n : "BrtBeginSXEdit" , f : parsenoop } , 1119 : { n : "BrtEndSXEdit" , f : parsenoop } , 1120 : { n : "BrtBeginSXEdits" , f : parsenoop } , 1121 : { n : "BrtEndSXEdits" , f : parsenoop } , 1122 : { n : "BrtBeginSXChange" , f : parsenoop } , 1123 : { n : "BrtEndSXChange" , f : parsenoop } , 1124 : { n : "BrtBeginSXChanges" , f : parsenoop } , 1125 : { n : "BrtEndSXChanges" , f : parsenoop } , 1126 : { n : "BrtSXTupleItems" , f : parsenoop } , 1128 : { n : "BrtBeginSlicerStyle" , f : parsenoop } , 1129 : { n : "BrtEndSlicerStyle" , f : parsenoop } , 1130 : { n : "BrtSlicerStyleElement" , f : parsenoop } , 1131 : { n : "BrtBeginStyleSheetExt14" , f : parsenoop } , 1132 : { n : "BrtEndStyleSheetExt14" , f : parsenoop } , 1133 : { n : "BrtBeginSlicerCachesPivotCacheID" , f : parsenoop } , 1134 : { n : "BrtEndSlicerCachesPivotCacheID" , f : parsenoop } , 1135 : { n : "BrtBeginConditionalFormattings" , f : parsenoop } , 1136 : { n : "BrtEndConditionalFormattings" , f : parsenoop } , 1137 : { n : "BrtBeginPCDCalcMemExt" , f : parsenoop } , 1138 : { n : "BrtEndPCDCalcMemExt" , f : parsenoop } , 1139 : { n : "BrtBeginPCDCalcMemsExt" , f : parsenoop } , 1140 : { n : "BrtEndPCDCalcMemsExt" , f : parsenoop } , 1141 : { n : "BrtPCDField14" , f : parsenoop } , 1142 : { n : "BrtBeginSlicerStyles" , f : parsenoop } , 1143 : { n : "BrtEndSlicerStyles" , f : parsenoop } , 1144 : { n : "BrtBeginSlicerStyleElements" , f : parsenoop } , 1145 : { n : "BrtEndSlicerStyleElements" , f : parsenoop } , 1146 : { n : "BrtCFRuleExt" , f : parsenoop } , 1147 : { n : "BrtBeginSXCondFmt14" , f : parsenoop } , 1148 : { n : "BrtEndSXCondFmt14" , f : parse
break ; case "table-cell-properties" : break ; case "number" : switch ( state [ state . length - 1 ] [ 0 ] ) { case "time-style" : case "date-style" : tag = parsexmltag ( Rn [ 0 ] , false ) ; NF += number _formats [ Rn [ 3 ] ] [ tag . style === "long" ? 1 : 0 ] ; break } break ; case "fraction" : break ; case "day" : case "month" : case "year" : case "era" : case "day-of-week" : case "week-of-year" : case "quarter" : case "hours" : case "minutes" : case "seconds" : case "am-pm" : switch ( state [ state . length - 1 ] [ 0 ] ) { case "time-style" : case "date-style" : tag = parsexmltag ( Rn [ 0 ] , false ) ; NF += number _formats [ Rn [ 3 ] ] [ tag . style === "long" ? 1 : 0 ] ; break } break ; case "boolean-style" : break ; case "boolean" : break ; case "text-style" : break ; case "text" : if ( Rn [ 0 ] . slice ( - 2 ) === "/>" ) break ; else if ( Rn [ 1 ] === "/" ) switch ( state [ state . length - 1 ] [ 0 ] ) { case "number-style" : case "date-style" : case "time-style" : NF += str . slice ( pidx , Rn . index ) ; break } else pidx = Rn . index + Rn [ 0 ] . length ; break ; case "text-content" : break ; case "text-properties" : break ; case "body" : case "电子表格" : break ; case "forms" : break ; case "table-column" : break ; case "null-date" : break ; case "graphic-properties" : break ; case "calculation-settings" : break ; case "named-expressions" : break ; case "named-range" : break ; case "named-expression" : break ; case "sort" : break ; case "sort-by" : break ; case "sort-groups" : break ; case "span" : break ; case "line-break" : break ; case "p" : case "文本串" : if ( Rn [ 1 ] === "/" ) textp = parse _text _p ( str . slice ( textpidx , Rn . index ) , textptag ) ; else { textptag = parsexmltag ( Rn [ 0 ] , false ) ; textpidx = Rn . index + Rn [ 0 ] . length } break ; case "s" : break ; case "date" : break ; case "object" : break ; case "title" : case "标题" : break ; case "desc" : break ; case "table-source" : break ; case "iteration" : break ; case "content-validations" : break ; case "content-validation" : break ; case "error-message" : break ; case "database-ranges" : break ; case "database-range" : break ; case "filter" : break ; case "filter-and" : break ; case "filter-or" : break ; case "filter-condition" : break ; case "list-level-style-bullet" : break ; case "list-level-style-number" : break ; case "list-level-properties" : break ; case "sender-firstname" : case "sender-lastname" : case "sender-initials" : case "sender-title" : case "sender-position" : case "sender-email" : case "sender-phone-private" : case "sender-fax" : case "sender-company" : case "sender-phone-work" : case "sender-street" : case "sender-city" : case "sender-postal-code" : case "sender-country" : case "sender-state-or-province" : case "author-name" : case "author-initials" : case "chapter" : case "file-name" : case "template-name" : case "sheet-name" : break ; case "event-listener" : case "initial-creator" : case "creator" : case "creation-date" : case "generator" : case "document-statistic" : case "user-defined" : break ; case "config-item" : break ; case "page-number" : break ; case "page-count" : break ; case "time" : break ; case "data-pilot-table" : case "source-cell-range" : case "source-service" : case "data-pilot-field" : case "data-pilot-level" : case "data-pilot-subtotals" : case "data-pilot-subtotal" : case "data-pilot-members" : case "data-pilot-member" : case "data-pilot-display-info" : case "data-pilot-sort-info" : case "data-pilot-layout-info" : case "data-pilot-field-reference" : case "data-pilot-groups" : case "data-pilot-group" : case "data-pilot-group-member" : break ; case "rect" : break ; case "dde-connection-decls" : case "dde-connection-decl" : case "dde-link" : case "dde-source" : break ; case "properties" : break ; case "property" : break ; case "a" : break ; case "table-protection" : break ; case "data-pilot-grand-total" : break ; default : if ( Rn [ 2 ] === "dc:" ) break ; if ( Rn [ 2 ] === "draw:" ) break ; if ( Rn [ 2 ] === "style:" ) break ; if ( Rn [ 2 ] === "calcext:" ) break ; if ( Rn [ 2 ] === "loext:" ) break ; if ( Rn [ 2 ] === "uof:" ) break ; if ( Rn [ 2 ] === "表:" ) break ; if ( Rn [ 2 ] === "字:" ) break ; if ( opts . WTF ) throw new Error ( Rn ) } var out = { Sheets : Sheets , SheetNames : SheetNames } ; return out } } ( ) ; var write _content _xml = function ( ) { var null _cell _xml = " <table:table-cell />\n" ; var covered _cell _xml = " <table:covered-table-cell/>\n" ; var cell _begin = " <table:table-cell " , cell _end = "</table:table-cell>\n" ; var vt = "office:value-type=" ; var p _begin = "<text:p>" , p _end = "</text:p>" ; var write _ws = function ( ws , wb , i , opts ) { var o = [ ] ; o . push ( ' <table:table table:name="' + escapexml ( wb . SheetNames [ i ] ) + '">\n' ) ; var R = 0 , C = 0 , range = decode _range ( ws [ "!ref" ] ) ; var marr = ws [ "!merges" ] || [ ] , mi = 0 ; for ( R = 0 ; R < range . s . r ; ++ R ) o . push ( " <table:table-row></table:table-row>\n" ) ; for ( ; R <