From 1807080e784c942d0884df7ffae03ced4dce90a0 Mon Sep 17 00:00:00 2001 From: autosubmit Date: Mon, 4 Dec 2023 15:00:53 +0800 Subject: [PATCH] Auto Submit --- 10375.async.js | 2 +- 11436.async.js | 1 + 16703.async.js | 2 +- 17142.async.js | 2 +- 18900.async.js | 2 +- 19523.async.js | 2 +- 24665.async.js | 2 +- 27315.async.js | 2 +- 34712.async.js | 2 +- 44894.async.js | 1 + 47400.async.js | 1 + 488.async.js | 6 +- 49127.async.js | 4 +- 50812.async.js | 2 +- 56168.async.js | 2 +- 59981.async.js | 4 +- 60015.async.js | 24602 ---------------- 61895.async.js | 2 +- 63240.async.js | 4 +- 63510.async.js | 1 + 6557.async.js | 4 +- 66174.async.js | 2 +- 69304.async.js | 2 +- 70130.async.js | 12 +- 71244.async.js | 1 + 72274.async.js | 2 +- 74237.async.js | 1 + 76626.async.js | 1 + 79399.async.js | 2 +- 82080.async.js | 2 +- 83306.async.js | 2 +- 89493.async.js | 1 + 93948.async.js | 4 +- 98040.async.js | 2 +- layouts__ShixunDetail__index.async.js | 3 +- layouts__index.async.js | 4 +- ...ssrooms__Lists__Attachment__index.async.js | 1 + ...ooms__Lists__ClassSchedule__index.async.js | 876 - ...oms__Lists__ClassSchedule__index.chunk.css | 88 - ...s__CommonHomework__Comment__index.async.js | 1 + ...ts__CommonHomework__Detail__index.async.js | 1 + ...ooms__Lists__Exercise__Add__index.async.js | 1 + ...s__Lists__Exercise__Answer__index.async.js | 1 + ...sts__Exercise__CodeDetails__index.async.js | 2 +- ...s__Lists__Exercise__Detail__index.async.js | 1 + ...s__Exercise__ImitateAnswer__index.async.js | 1 + ...sts__GroupHomework__Detail__index.async.js | 1 + ...__ProgramHomework__Comment__index.async.js | 1 + ...s__ProgramHomework__Detail__index.async.js | 1 + ...__ShixunHomeworks__Comment__index.async.js | 1 + ...s__ShixunHomeworks__Detail__index.async.js | 600 +- ...__ShixunHomeworks__Detail__index.chunk.css | 6 + ...s__Lists__Template__detail__index.async.js | 2 +- p__Competitions__Detail__index.async.js | 1 + p__Competitions__Edit__index.async.js | 1 + p__Competitions__Update__index.async.js | 2 +- p__Demo__index.async.js | 1 + ...ering__Lists__CurseSetting__index.async.js | 1 + ...gineering__Lists__Document__index.async.js | 1 + ...ng__Lists__TrainingProgram__index.async.js | 1 + p__Graduations__Lists__Topics__index.async.js | 1 + p__Graduations__Review__index.async.js | 1 + p__Innovation__Detail__index.async.js | 1 + p__MyProblem__index.async.js | 1 + p__Paperlibrary__Add__index.async.js | 1 + p__Paperlibrary__Random__Edit__index.async.js | 1 + p__Problemset__NewItem__index.async.js | 1 + p__Problemset__Preview__index.async.js | 2 +- p__Problemset__index.async.js | 1 + p__Question__OjProblem__index.async.js | 1 + ...hixuns__Detail__Challenges__index.async.js | 2 +- p__Shixuns__Detail__Discuss__index.async.js | 1 + ...hixuns__Detail__Repository__index.async.js | 1 + ...uns__Edit__body__Warehouse__index.async.js | 1 + p__Shixuns__Edit__index.async.js | 1 + ...__Detail__Videos__Protocol__index.async.js | 2 +- ...r__Detail__Videos__Success__index.async.js | 2 +- p__Video__Detail__id.async.js | 1 + p__index.async.js | 37 +- p__tasks__index.async.js | 65 +- ...alSpaces__Lists__Knowledge__index.async.js | 1 + ...ualSpaces__Lists__Material__index.async.js | 2 +- ...paces__Lists__Plan__Detail__index.async.js | 1 + ...__Lists__Resources__Detail__index.async.js | 1 + ...ces__Lists__Survey__Detail__index.async.js | 1 + static/iconfont.53d451ad.woff | Bin 268132 -> 0 bytes ...ont.1747ec62.ttf => iconfont.5ac5f779.ttf} | Bin 442004 -> 428960 bytes static/iconfont.d4898757.woff2 | Bin 217964 -> 0 bytes static/iconfont.de7bf788.woff2 | Bin 0 -> 211356 bytes static/iconfont.df7da3a4.svg | 1 + static/iconfont.f9c02bd2.woff | Bin 0 -> 260136 bytes static/iconfont.fbda0e54.svg | 1 - umi.css | 136 +- umi.js | 2326 +- 94 files changed, 2027 insertions(+), 26851 deletions(-) delete mode 100644 60015.async.js delete mode 100644 p__Classrooms__Lists__ClassSchedule__index.async.js delete mode 100644 p__Classrooms__Lists__ClassSchedule__index.chunk.css delete mode 100644 static/iconfont.53d451ad.woff rename static/{iconfont.1747ec62.ttf => iconfont.5ac5f779.ttf} (90%) delete mode 100644 static/iconfont.d4898757.woff2 create mode 100644 static/iconfont.de7bf788.woff2 create mode 100644 static/iconfont.df7da3a4.svg create mode 100644 static/iconfont.f9c02bd2.woff delete mode 100644 static/iconfont.fbda0e54.svg diff --git a/10375.async.js b/10375.async.js index bcf1606142..ac29092abf 100644 --- a/10375.async.js +++ b/10375.async.js @@ -806,7 +806,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/11436.async.js b/11436.async.js index a79335a922..41a4771ade 100644 --- a/11436.async.js +++ b/11436.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/16703.async.js b/16703.async.js index eb437d1ad4..58b15106b8 100644 --- a/16703.async.js +++ b/16703.async.js @@ -564,7 +564,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/17142.async.js b/17142.async.js index 9074c84283..a3b5dfffec 100644 --- a/17142.async.js +++ b/17142.async.js @@ -848,7 +848,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/18900.async.js b/18900.async.js index 04b1327649..9a1b347eb9 100644 --- a/18900.async.js +++ b/18900.async.js @@ -848,7 +848,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/19523.async.js b/19523.async.js index bf4346183a..44d626cc0f 100644 --- a/19523.async.js +++ b/19523.async.js @@ -848,7 +848,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/24665.async.js b/24665.async.js index c7971c9454..7af765dff4 100644 --- a/24665.async.js +++ b/24665.async.js @@ -1427,7 +1427,7 @@ function getIcons(_ref) { /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/27315.async.js b/27315.async.js index 45381c6680..0e07f9ee13 100644 --- a/27315.async.js +++ b/27315.async.js @@ -811,7 +811,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/34712.async.js b/34712.async.js index eee6b32f20..a7fc693e2f 100644 --- a/34712.async.js +++ b/34712.async.js @@ -848,7 +848,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/44894.async.js b/44894.async.js index 8072e89386..b68d359e8f 100644 --- a/44894.async.js +++ b/44894.async.js @@ -395,6 +395,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/47400.async.js b/47400.async.js index df8851b1a1..0887a72ddf 100644 --- a/47400.async.js +++ b/47400.async.js @@ -310,6 +310,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/488.async.js b/488.async.js index 184e585f53..d5b195f687 100644 --- a/488.async.js +++ b/488.async.js @@ -2000,7 +2000,7 @@ var HeaderComponents = function HeaderComponents(_ref) { (_visibleNavBar2 = visibleNavBar) === null || _visibleNavBar2 === void 0 || _visibleNavBar2.map(function (val, key) { var _location$pathname, _val$subitem; var path = '/' + ((_location$pathname = location.pathname) === null || _location$pathname === void 0 || (_location$pathname = _location$pathname.split('/')) === null || _location$pathname === void 0 ? void 0 : _location$pathname[1]); - if (val.link === path) { + if (val.link === path || val.link.indexOf(path) > -1) { setActiveKey(val === null || val === void 0 ? void 0 : val.link); (0,util/* setDocumentTitle */.Dk)(dealStr(val === null || val === void 0 ? void 0 : val.name)); setNavBar(footerDeal(key, { @@ -2009,6 +2009,10 @@ var HeaderComponents = function HeaderComponents(_ref) { }, visibleNavBar)); hasMatchedUrl = true; } + if (path == '/') { + setActiveKey(''); + (0,util/* setDocumentTitle */.Dk)('首页'); + } if (val !== null && val !== void 0 && (_val$subitem = val.subitem) !== null && _val$subitem !== void 0 && _val$subitem.length) { var _val$subitem2; val === null || val === void 0 || (_val$subitem2 = val.subitem) === null || _val$subitem2 === void 0 || _val$subitem2.map(function (e) { diff --git a/49127.async.js b/49127.async.js index f781439398..d6f64939b6 100644 --- a/49127.async.js +++ b/49127.async.js @@ -26,8 +26,8 @@ var colors = __webpack_require__(36785); var reactNode = __webpack_require__(92343); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genPresetColor.js diff --git a/50812.async.js b/50812.async.js index 0290538949..98397344c2 100644 --- a/50812.async.js +++ b/50812.async.js @@ -15,7 +15,7 @@ /* harmony export */ oN: function() { return /* binding */ initSlideMotion; } /* harmony export */ }); /* unused harmony exports slideLeftIn, slideLeftOut, slideRightIn, slideRightOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/56168.async.js b/56168.async.js index 18a9df1ed0..ea5a9c9512 100644 --- a/56168.async.js +++ b/56168.async.js @@ -1316,7 +1316,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/59981.async.js b/59981.async.js index e6e0a15d0c..dffd5e5bf9 100644 --- a/59981.async.js +++ b/59981.async.js @@ -55,8 +55,8 @@ const Element = props => { }); }; /* harmony default export */ var skeleton_Element = (Element); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js var genComponentStyleHook = __webpack_require__(83116); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js diff --git a/60015.async.js b/60015.async.js deleted file mode 100644 index f342eb56fe..0000000000 --- a/60015.async.js +++ /dev/null @@ -1,24602 +0,0 @@ -"use strict"; -(self["webpackChunk"] = self["webpackChunk"] || []).push([[60015],{ - -/***/ 60015: -/*!*************************************************!*\ - !*** ./node_modules/_xlsx@0.18.5@xlsx/xlsx.mjs ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ NC: function() { return /* binding */ writeFileSync; }, -/* harmony export */ P6: function() { return /* binding */ utils; } -/* harmony export */ }); -/* unused harmony exports set_cptable, set_fs, version, parse_xlscfb, parse_zip, read, readFile, readFileSync, write, writeFileSync, writeFileAsync, writeXLSX, writeFileXLSX, stream, SSF, CFB */ -/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ 18953)["Buffer"]; -/* provided dependency */ var process = __webpack_require__(/*! ./node_modules/_process@0.11.10@process/browser.js */ 97671); -/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -/* vim: set ts=2: */ -/*exported XLSX */ -/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ -var XLSX = {}; -XLSX.version = '0.18.5'; -var current_codepage = 1200, current_ansi = 1252; - -var VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ]; -/* ECMA-376 Part I 18.4.1 charset to codepage mapping */ -var CS2CP = ({ - /*::[*/0/*::]*/: 1252, /* ANSI */ - /*::[*/1/*::]*/: 65001, /* DEFAULT */ - /*::[*/2/*::]*/: 65001, /* SYMBOL */ - /*::[*/77/*::]*/: 10000, /* MAC */ - /*::[*/128/*::]*/: 932, /* SHIFTJIS */ - /*::[*/129/*::]*/: 949, /* HANGUL */ - /*::[*/130/*::]*/: 1361, /* JOHAB */ - /*::[*/134/*::]*/: 936, /* GB2312 */ - /*::[*/136/*::]*/: 950, /* CHINESEBIG5 */ - /*::[*/161/*::]*/: 1253, /* GREEK */ - /*::[*/162/*::]*/: 1254, /* TURKISH */ - /*::[*/163/*::]*/: 1258, /* VIETNAMESE */ - /*::[*/177/*::]*/: 1255, /* HEBREW */ - /*::[*/178/*::]*/: 1256, /* ARABIC */ - /*::[*/186/*::]*/: 1257, /* BALTIC */ - /*::[*/204/*::]*/: 1251, /* RUSSIAN */ - /*::[*/222/*::]*/: 874, /* THAI */ - /*::[*/238/*::]*/: 1250, /* EASTEUROPE */ - /*::[*/255/*::]*/: 1252, /* OEM */ - /*::[*/69/*::]*/: 6969 /* MISC */ -}/*:any*/); - -var set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; }; -function reset_ansi() { set_ansi(1252); } - -var set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); }; -function reset_cp() { set_cp(1200); reset_ansi(); } - -function char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; } - -function utf16leread(data/*:string*/)/*:string*/ { - var o/*:Array*/ = []; - for(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8)); - return o.join(""); -} -function utf16beread(data/*:string*/)/*:string*/ { - var o/*:Array*/ = []; - for(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8)); - return o.join(""); -} - -var debom = function(data/*:string*/)/*:string*/ { - var c1 = data.charCodeAt(0), c2 = data.charCodeAt(1); - if(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2)); - if(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2)); - if(c1 == 0xFEFF) return data.slice(1); - return data; -}; - -var _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); }; -var _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); }; - -var $cptable; -function set_cptable(cptable) { - $cptable = cptable; - set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); }; - debom = function(data/*:string*/) { - if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); } - return data; - }; - _getchar = function _gc2(x/*:number*/)/*:string*/ { - if(current_codepage === 1200) return String.fromCharCode(x); - return $cptable.utils.decode(current_codepage, [x&255,x>>8])[0]; - }; - _getansi = function _ga2(x/*:number*/)/*:string*/ { - return $cptable.utils.decode(current_ansi, [x])[0]; - }; - cpdoit(); -} - -var DENSE = null; -var DIF_XL = true; -var Base64_map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; -function Base64_encode(input) { - var o = ""; - var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; - for (var i = 0; i < input.length; ) { - c1 = input.charCodeAt(i++); - e1 = c1 >> 2; - c2 = input.charCodeAt(i++); - e2 = (c1 & 3) << 4 | c2 >> 4; - c3 = input.charCodeAt(i++); - e3 = (c2 & 15) << 2 | c3 >> 6; - e4 = c3 & 63; - if (isNaN(c2)) { - e3 = e4 = 64; - } else if (isNaN(c3)) { - e4 = 64; - } - o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); - } - return o; -} -function Base64_decode(input) { - var o = ""; - var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; - input = input.replace(/[^\w\+\/\=]/g, ""); - for (var i = 0; i < input.length; ) { - e1 = Base64_map.indexOf(input.charAt(i++)); - e2 = Base64_map.indexOf(input.charAt(i++)); - c1 = e1 << 2 | e2 >> 4; - o += String.fromCharCode(c1); - e3 = Base64_map.indexOf(input.charAt(i++)); - c2 = (e2 & 15) << 4 | e3 >> 2; - if (e3 !== 64) { - o += String.fromCharCode(c2); - } - e4 = Base64_map.indexOf(input.charAt(i++)); - c3 = (e3 & 3) << 6 | e4; - if (e4 !== 64) { - o += String.fromCharCode(c3); - } - } - return o; -} -var has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })(); - -var Buffer_from = /*#__PURE__*/(function() { - if(typeof Buffer !== 'undefined') { - var nbfs = !Buffer.from; - if(!nbfs) try { Buffer.from("foo", "utf8"); } catch(e) { nbfs = true; } - return nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer); - } - return function() {}; -})(); - - -function new_raw_buf(len/*:number*/) { - /* jshint -W056 */ - if(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len); - return typeof Uint8Array != "undefined" ? new Uint8Array(len) : new Array(len); - /* jshint +W056 */ -} - -function new_unsafe_buf(len/*:number*/) { - /* jshint -W056 */ - if(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len); - return typeof Uint8Array != "undefined" ? new Uint8Array(len) : new Array(len); - /* jshint +W056 */ -} - -var s2a = function s2a(s/*:string*/)/*:any*/ { - if(has_buf) return Buffer_from(s, "binary"); - return s.split("").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; }); -}; - -function s2ab(s/*:string*/)/*:any*/ { - if(typeof ArrayBuffer === 'undefined') return s2a(s); - var buf = new ArrayBuffer(s.length), view = new Uint8Array(buf); - for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; - return buf; -} - -function a2s(data/*:any*/)/*:string*/ { - if(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(""); - var o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(""); -} - -function a2u(data/*:Array*/)/*:Uint8Array*/ { - if(typeof Uint8Array === 'undefined') throw new Error("Unsupported"); - return new Uint8Array(data); -} - -function ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ { - if(typeof ArrayBuffer == 'undefined') throw new Error("Unsupported"); - if(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data)); - /*:: if(data instanceof ArrayBuffer) throw new Error("unreachable"); */ - var o = new Array(data.length); - for(var i = 0; i < data.length; ++i) o[i] = data[i]; - return o; -} - -var bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) { - if(typeof Uint8Array !== "undefined") { - var i = 0, maxlen = 0; - for(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length; - var o = new Uint8Array(maxlen); - var len = 0; - for(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) { - len = bufs[i].length; - if(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen); - else if(typeof bufs[i] == "string") { throw "wtf"; } - else o.set(new Uint8Array(bufs[i]), maxlen); - } - return o; - } - return [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); })); -}; - -function utf8decode(content/*:string*/) { - var out = [], widx = 0, L = content.length + 250; - var o = new_raw_buf(content.length + 255); - for(var ridx = 0; ridx < content.length; ++ridx) { - var c = content.charCodeAt(ridx); - if(c < 0x80) o[widx++] = c; - else if(c < 0x800) { - o[widx++] = (192|((c>>6)&31)); - o[widx++] = (128|(c&63)); - } else if(c >= 0xD800 && c < 0xE000) { - c = (c&1023)+64; - var d = content.charCodeAt(++ridx)&1023; - o[widx++] = (240|((c>>8)&7)); - o[widx++] = (128|((c>>2)&63)); - o[widx++] = (128|((d>>6)&15)|((c&3)<<4)); - o[widx++] = (128|(d&63)); - } else { - o[widx++] = (224|((c>>12)&15)); - o[widx++] = (128|((c>>6)&63)); - o[widx++] = (128|(c&63)); - } - if(widx > L) { - out.push(o.slice(0, widx)); - widx = 0; - o = new_raw_buf(65535); - L = 65530; - } - } - out.push(o.slice(0, widx)); - return bconcat(out); -} - -var chr0 = /\u0000/g, chr1 = /[\u0001-\u0006]/g; -/*:: -declare type Block = any; -declare type BufArray = { - newblk(sz:number):Block; - next(sz:number):Block; - end():any; - push(buf:Block):void; -}; - -type RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;}; - -type EvertType = {[string]:string}; -type EvertNumType = {[string]:number}; -type EvertArrType = {[string]:Array}; - -type StringConv = {(string):string}; - -*/ -/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ -/*jshint -W041 */ -function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } -function pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;} -function pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v;return t.length>=d?t:fill(' ',d-t.length)+t;} -function rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:t+fill(' ',d-t.length);} -function pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=""+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;} -function pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;} -var p2_32 = /*#__PURE__*/Math.pow(2,32); -function pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); } -/* yes, in 2022 this is still faster than string compare */ -function SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; } -var days/*:Array >*/ = [ - ['Sun', 'Sunday'], - ['Mon', 'Monday'], - ['Tue', 'Tuesday'], - ['Wed', 'Wednesday'], - ['Thu', 'Thursday'], - ['Fri', 'Friday'], - ['Sat', 'Saturday'] -]; -var months/*:Array >*/ = [ - ['J', 'Jan', 'January'], - ['F', 'Feb', 'February'], - ['M', 'Mar', 'March'], - ['A', 'Apr', 'April'], - ['M', 'May', 'May'], - ['J', 'Jun', 'June'], - ['J', 'Jul', 'July'], - ['A', 'Aug', 'August'], - ['S', 'Sep', 'September'], - ['O', 'Oct', 'October'], - ['N', 'Nov', 'November'], - ['D', 'Dec', 'December'] -]; -function SSF_init_table(t/*:any*/) { - if(!t) t = {}; - t[0]= 'General'; - t[1]= '0'; - t[2]= '0.00'; - t[3]= '#,##0'; - t[4]= '#,##0.00'; - t[9]= '0%'; - t[10]= '0.00%'; - t[11]= '0.00E+00'; - t[12]= '# ?/?'; - t[13]= '# ??/??'; - t[14]= 'm/d/yy'; - t[15]= 'd-mmm-yy'; - t[16]= 'd-mmm'; - t[17]= 'mmm-yy'; - t[18]= 'h:mm AM/PM'; - t[19]= 'h:mm:ss AM/PM'; - t[20]= 'h:mm'; - t[21]= 'h:mm:ss'; - t[22]= 'm/d/yy h:mm'; - t[37]= '#,##0 ;(#,##0)'; - t[38]= '#,##0 ;[Red](#,##0)'; - t[39]= '#,##0.00;(#,##0.00)'; - t[40]= '#,##0.00;[Red](#,##0.00)'; - t[45]= 'mm:ss'; - t[46]= '[h]:mm:ss'; - t[47]= 'mmss.0'; - t[48]= '##0.0E+0'; - t[49]= '@'; - t[56]= '"上午/下午 "hh"時"mm"分"ss"秒 "'; - return t; -} -/* repeated to satiate webpack */ -var table_fmt = { - 0: 'General', - 1: '0', - 2: '0.00', - 3: '#,##0', - 4: '#,##0.00', - 9: '0%', - 10: '0.00%', - 11: '0.00E+00', - 12: '# ?/?', - 13: '# ??/??', - 14: 'm/d/yy', - 15: 'd-mmm-yy', - 16: 'd-mmm', - 17: 'mmm-yy', - 18: 'h:mm AM/PM', - 19: 'h:mm:ss AM/PM', - 20: 'h:mm', - 21: 'h:mm:ss', - 22: 'm/d/yy h:mm', - 37: '#,##0 ;(#,##0)', - 38: '#,##0 ;[Red](#,##0)', - 39: '#,##0.00;(#,##0.00)', - 40: '#,##0.00;[Red](#,##0.00)', - 45: 'mm:ss', - 46: '[h]:mm:ss', - 47: 'mmss.0', - 48: '##0.0E+0', - 49: '@', - 56: '"上午/下午 "hh"時"mm"分"ss"秒 "' -}; - -/* Defaults determined by systematically testing in Excel 2019 */ - -/* These formats appear to default to other formats in the table */ -var SSF_default_map = { - 5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40 - - 23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0 - - 27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14 - - 50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14 - 55: 14, 56: 14, 57: 14, 58: 14, - 59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4 - - 67: 9, 68: 10, // 67 -> 9 ... 68 -> 10 - 69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14 - 72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17 - 76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22 - 79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47 - 82: 0 // 82 -> 0 ... 65536 -> 0 (omitted) -}; - - -/* These formats technically refer to Accounting formats with no equivalent */ -var SSF_default_str = { - // 5 -- Currency, 0 decimal, black negative - 5: '"$"#,##0_);\\("$"#,##0\\)', - 63: '"$"#,##0_);\\("$"#,##0\\)', - - // 6 -- Currency, 0 decimal, red negative - 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', - 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', - - // 7 -- Currency, 2 decimal, black negative - 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', - 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', - - // 8 -- Currency, 2 decimal, red negative - 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', - 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', - - // 41 -- Accounting, 0 decimal, No Symbol - 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', - - // 42 -- Accounting, 0 decimal, $ Symbol - 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', - - // 43 -- Accounting, 2 decimal, No Symbol - 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', - - // 44 -- Accounting, 2 decimal, $ Symbol - 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' -}; - -function SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ { - var sgn = x < 0 ? -1 : 1; - var B = x * sgn; - var P_2 = 0, P_1 = 1, P = 0; - var Q_2 = 1, Q_1 = 0, Q = 0; - var A = Math.floor(B); - while(Q_1 < D) { - A = Math.floor(B); - P = A * P_1 + P_2; - Q = A * Q_1 + Q_2; - if((B - A) < 0.00000005) break; - B = 1 / (B - A); - P_2 = P_1; P_1 = P; - Q_2 = Q_1; Q_1 = Q; - } - if(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } } - if(!mixed) return [0, sgn * P, Q]; - var q = Math.floor(sgn * P/Q); - return [q, sgn*P - q*Q, Q]; -} -function SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { - if(v > 2958465 || v < 0) return null; - var date = (v|0), time = Math.floor(86400 * (v - date)), dow=0; - var dout=[]; - var out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0}; - if(Math.abs(out.u) < 1e-6) out.u = 0; - if(opts && opts.date1904) date += 1462; - if(out.u > 0.9999) { - out.u = 0; - if(++time == 86400) { out.T = time = 0; ++date; ++out.D; } - } - if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} - else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} - else { - if(date > 60) --date; - /* 1 = Jan 1 1900 in Gregorian */ - var d = new Date(1900, 0, 1); - d.setDate(d.getDate() + date - 1); - dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; - dow = d.getDay(); - if(date < 60) dow = (dow + 6) % 7; - if(b2) dow = SSF_fix_hijri(d, dout); - } - out.y = dout[0]; out.m = dout[1]; out.d = dout[2]; - out.S = time % 60; time = Math.floor(time / 60); - out.M = time % 60; time = Math.floor(time / 60); - out.H = time; - out.q = dow; - return out; -} -var SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime(); -var SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} -/* ECMA-376 18.8.30 numFmt*/ -/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ -/* exponent >= -9 and <= 9 */ -function SSF_strip_decimal(o/*:string*/)/*:string*/ { - return (o.indexOf(".") == -1) ? o : o.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1"); -} - -/* General Exponential always shows 2 digits exp and trims the mantissa */ -function SSF_normalize_exp(o/*:string*/)/*:string*/ { - if(o.indexOf("E") == -1) return o; - return o.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2"); -} - -/* exponent >= -9 and <= 9 */ -function SSF_small_exp(v/*:number*/)/*:string*/ { - var w = (v<0?12:11); - var o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o; - o = v.toPrecision(10); if(o.length <= w) return o; - return v.toExponential(5); -} - -/* exponent >= 11 or <= -10 likely exponential */ -function SSF_large_exp(v/*:number*/)/*:string*/ { - var o = SSF_strip_decimal(v.toFixed(11)); - return (o.length > (v<0?12:11) || o === "0" || o === "-0") ? v.toPrecision(6) : o; -} - -function SSF_general_num(v/*:number*/)/*:string*/ { - var V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o; - - if(V >= -4 && V <= -1) o = v.toPrecision(10+V); - else if(Math.abs(V) <= 9) o = SSF_small_exp(v); - else if(V === 10) o = v.toFixed(10).substr(0,12); - else o = SSF_large_exp(v); - - return SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase())); -} - - -/* - "General" rules: - - text is passed through ("@") - - booleans are rendered as TRUE/FALSE - - "up to 11 characters" displayed for numbers - - Default date format (code 14) used for Dates - - The longest 32-bit integer text is "-2147483648", exactly 11 chars - TODO: technically the display depends on the width of the cell -*/ -function SSF_general(v/*:any*/, opts/*:any*/) { - switch(typeof v) { - case 'string': return v; - case 'boolean': return v ? "TRUE" : "FALSE"; - case 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v); - case 'undefined': return ""; - case 'object': - if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); - } - throw new Error("unsupported value in General format: " + v); -} - -function SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) { - /* TODO: properly adjust y/m/d and */ - o[0] -= 581; - var dow = date.getDay(); - if(date < 60) dow = (dow + 6) % 7; - return dow; -} -//var THAI_DIGITS = "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59".split(""); -function SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ { - var o="", ss=0, tt=0, y = val.y, out, outl = 0; - switch(type) { - case 98: /* 'b' buddhist year */ - y = val.y + 543; - /* falls through */ - case 121: /* 'y' year */ - switch(fmt.length) { - case 1: case 2: out = y % 100; outl = 2; break; - default: out = y % 10000; outl = 4; break; - } break; - case 109: /* 'm' month */ - switch(fmt.length) { - case 1: case 2: out = val.m; outl = fmt.length; break; - case 3: return months[val.m-1][1]; - case 5: return months[val.m-1][0]; - default: return months[val.m-1][2]; - } break; - case 100: /* 'd' day */ - switch(fmt.length) { - case 1: case 2: out = val.d; outl = fmt.length; break; - case 3: return days[val.q][0]; - default: return days[val.q][1]; - } break; - case 104: /* 'h' 12-hour */ - switch(fmt.length) { - case 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break; - default: throw 'bad hour format: ' + fmt; - } break; - case 72: /* 'H' 24-hour */ - switch(fmt.length) { - case 1: case 2: out = val.H; outl = fmt.length; break; - default: throw 'bad hour format: ' + fmt; - } break; - case 77: /* 'M' minutes */ - switch(fmt.length) { - case 1: case 2: out = val.M; outl = fmt.length; break; - default: throw 'bad minute format: ' + fmt; - } break; - case 115: /* 's' seconds */ - if(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt; - if(val.u === 0 && (fmt == "s" || fmt == "ss")) return pad0(val.S, fmt.length); - /*::if(!ss0) ss0 = 0; */ - if(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100; - else tt = ss0 === 1 ? 10 : 1; - ss = Math.round((tt)*(val.S + val.u)); - if(ss >= 60*tt) ss = 0; - if(fmt === 's') return ss === 0 ? "0" : ""+ss/tt; - o = pad0(ss,2 + ss0); - if(fmt === 'ss') return o.substr(0,2); - return "." + o.substr(2,fmt.length-1); - case 90: /* 'Z' absolute time */ - switch(fmt) { - case '[h]': case '[hh]': out = val.D*24+val.H; break; - case '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break; - case '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break; - default: throw 'bad abstime format: ' + fmt; - } outl = fmt.length === 3 ? 1 : 2; break; - case 101: /* 'e' era */ - out = y; outl = 1; break; - } - var outstr = outl > 0 ? pad0(out, outl) : ""; - return outstr; -} - - -/*jshint -W086 */ -/*jshint +W086 */ -function commaify(s/*:string*/)/*:string*/ { - var w = 3; - if(s.length <= w) return s; - var j = (s.length % w), o = s.substr(0,j); - for(; j!=s.length; j+=w) o+=(o.length > 0 ? "," : "") + s.substr(j,w); - return o; -} -var pct1 = /%/g; -function write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{ - var sfmt = fmt.replace(pct1,""), mul = fmt.length - sfmt.length; - return write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill("%",mul); -} - -function write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{ - var idx = fmt.length - 1; - while(fmt.charCodeAt(idx-1) === 44) --idx; - return write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx))); -} - -function write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{ - var o/*:string*/; - var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1; - if(fmt.match(/^#+0.0E\+0$/)) { - if(val == 0) return "0.0E+0"; - else if(val < 0) return "-" + write_num_exp(fmt, -val); - var period = fmt.indexOf("."); if(period === -1) period=fmt.indexOf('E'); - var ee = Math.floor(Math.log(val)*Math.LOG10E)%period; - if(ee < 0) ee += period; - o = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period); - if(o.indexOf("e") === -1) { - var fakee = Math.floor(Math.log(val)*Math.LOG10E); - if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee); - else o += "E+" + (fakee - ee); - while(o.substr(0,2) === "0.") { - o = o.charAt(0) + o.substr(2,period) + "." + o.substr(2+period); - o = o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0."); - } - o = o.replace(/\+-/,"-"); - } - o = o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + "." + $3.substr(ee) + "E"; }); - } else o = val.toExponential(idx); - if(fmt.match(/E\+00$/) && o.match(/e[+-]\d$/)) o = o.substr(0,o.length-1) + "0" + o.charAt(o.length-1); - if(fmt.match(/E\-/) && o.match(/e\+/)) o = o.replace(/e\+/,"e"); - return o.replace("e","E"); -} -var frac1 = /# (\?+)( ?)\/( ?)(\d+)/; -function write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ { - 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/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ { - 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/*:string*/)/*:string*/ { - 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/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return ""+(Math.round(val * dd)/dd); } -function dec(val/*:number*/, d/*:number*/)/*:number*/ { - var _frac = val - Math.floor(val), dd = Math.pow(10,d); - if (d < ('' + Math.round(_frac * dd)).length) return 0; - return Math.round(_frac * dd); -} -function carry(val/*:number*/, d/*:number*/)/*:number*/ { - if (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) { - return 1; - } - return 0; -} -function flr(val/*:number*/)/*:string*/ { - if(val < 2147483647 && val > -2147483648) return ""+(val >= 0 ? (val|0) : (val-1|0)); - return ""+Math.floor(val); -} -function write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ { - 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/*:?Array*/, 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."+hashq(r[1])).replace(/\.$/,"."+hashq(r[1])).replace(/\.(\d*)$/,function($$, $1) { return "." + $1 + fill("0", hashq(/*::(*/r/*::||[""])*/[1]).length-$1.length); }); - return fmt.indexOf("0.") !== -1 ? o : o.replace(/^0\./,"."); - } - fmt = fmt.replace(/^#+([0.])/, "$1"); - if((r = fmt.match(/^(0*)\.(#*)$/))) { - return sign + rnd(aval, r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":"."); - } - if((r = fmt.match(/^#{1,3},##0(\.?)$/))) return sign + commaify(pad0r(aval,0)); - if((r = fmt.match(/^#,##0\.([#0]*0)$/))) { - return val < 0 ? "-" + write_num_flt(type, fmt, -val) : commaify(""+(Math.floor(val) + carry(val, r[1].length))) + "." + pad0(dec(val, r[1].length),r[1].length); - } - if((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { - o = _strrev(write_num_flt(type, fmt.replace(/[\\-]/g,""), val)); - ri = 0; - return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val); - return '(' + write_num_int('n', ffmt, -val) + ')'; - } - if(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val); - if(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val); - if(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val); - if(fmt.charCodeAt(0) === 36) return "$"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val); - var o; - var r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? "-" : ""; - if(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length); - if(fmt.match(/^[#?]+$/)) { - o = (""+val); if(val === 0) o = ""; - return o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o; - } - if((r = fmt.match(frac1))) return write_num_f2(r, aval, sign); - if(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf("0")); - if((r = fmt.match(dec1))) { - /*:: if(!Array.isArray(r)) throw new Error("unreachable"); */ - o = (""+val).replace(/^([^\.]+)$/,"$1."+hashq(r[1])).replace(/\.$/,"."+hashq(r[1])); - o = o.replace(/\.(\d*)$/,function($$, $1) { - /*:: if(!Array.isArray(r)) throw new Error("unreachable"); */ - return "." + $1 + fill("0", hashq(r[1]).length-$1.length); }); - return fmt.indexOf("0.") !== -1 ? o : o.replace(/^0\./,"."); - } - fmt = fmt.replace(/^#+([0.])/, "$1"); - if((r = fmt.match(/^(0*)\.(#*)$/))) { - return sign + (""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":"."); - } - if((r = fmt.match(/^#{1,3},##0(\.?)$/))) return sign + commaify((""+aval)); - if((r = fmt.match(/^#,##0\.([#0]*0)$/))) { - return val < 0 ? "-" + write_num_int(type, fmt, -val) : commaify((""+val)) + "." + fill('0',r[1].length); - } - if((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { - o = _strrev(write_num_int(type, fmt.replace(/[\\-]/g,""), val)); - ri = 0; - return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri*/ { - var out/*:Array*/ = []; - var in_str = false/*, cc*/; - for(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) { - case 34: /* '"' */ - in_str = !in_str; break; - case 95: case 42: case 92: /* '_' '*' '\\' */ - ++i; break; - case 59: /* ';' */ - out[out.length] = fmt.substr(j,i-j); - j = i+1; - } - out[out.length] = fmt.substr(j); - if(in_str === true) throw new Error("Format |" + fmt + "| unterminated string "); - return out; -} - -var SSF_abstime = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/; -function fmt_is_date(fmt/*:string*/)/*:boolean*/ { - var i = 0, /*cc = 0,*/ c = "", o = ""; - while(i < fmt.length) { - switch((c = fmt.charAt(i))) { - case 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break; - case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break; - case '\\': i+=2; break; - case '_': i+=2; break; - case '@': ++i; break; - case 'B': case 'b': - if(fmt.charAt(i+1) === "1" || fmt.charAt(i+1) === "2") return true; - /* falls through */ - case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': - /* falls through */ - case 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true; - case 'A': case 'a': case '上': - if(fmt.substr(i, 3).toUpperCase() === "A/P") return true; - if(fmt.substr(i, 5).toUpperCase() === "AM/PM") return true; - if(fmt.substr(i, 5).toUpperCase() === "上午/下午") return true; - ++i; break; - case '[': - o = c; - while(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i); - if(o.match(SSF_abstime)) return true; - break; - case '.': - /* falls through */ - case '0': case '#': - while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1))){/* empty */} - break; - case '?': while(fmt.charAt(++i) === c){/* empty */} break; - case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; - case '(': case ')': ++i; break; - case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break; - case ' ': ++i; break; - default: ++i; break; - } - } - return false; -} - -function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { - var out = [], o = "", i = 0, c = "", lst='t', dt, j, cc; - var hr='H'; - /* Tokenize */ - while(i < fmt.length) { - switch((c = fmt.charAt(i))) { - case 'G': /* General */ - if(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt); - out[out.length] = {t:'G', v:'General'}; i+=7; break; - case '"': /* Literal text */ - for(o="";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc); - out[out.length] = {t:'t', v:o}; ++i; break; - case '\\': var w = fmt.charAt(++i), t = (w === "(" || w === ")") ? w : 't'; - out[out.length] = {t:t, v:w}; ++i; break; - case '_': out[out.length] = {t:'t', v:" "}; i+=2; break; - case '@': /* Text Placeholder */ - out[out.length] = {t:'T', v:v}; ++i; break; - case 'B': case 'b': - if(fmt.charAt(i+1) === "1" || fmt.charAt(i+1) === "2") { - if(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === "2"); if(dt==null) return ""; } - out[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break; - } - /* falls through */ - case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': - c = c.toLowerCase(); - /* falls through */ - case 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': - if(v < 0) return ""; - if(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return ""; } - o = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c; - if(c === 'm' && lst.toLowerCase() === 'h') c = 'M'; - if(c === 'h') c = hr; - out[out.length] = {t:c, v:o}; lst = c; break; - case 'A': case 'a': case '上': - var q={t:c, v:c}; - if(dt==null) dt=SSF_parse_date_code(v, opts); - if(fmt.substr(i, 3).toUpperCase() === "A/P") { if(dt!=null) q.v = dt.H >= 12 ? "P" : "A"; q.t = 'T'; hr='h';i+=3;} - else if(fmt.substr(i,5).toUpperCase() === "AM/PM") { if(dt!=null) q.v = dt.H >= 12 ? "PM" : "AM"; q.t = 'T'; i+=5; hr='h'; } - else if(fmt.substr(i,5).toUpperCase() === "上午/下午") { if(dt!=null) q.v = dt.H >= 12 ? "下午" : "上午"; q.t = 'T'; i+=5; hr='h'; } - else { q.t = "t"; ++i; } - if(dt==null && q.t === 'T') return ""; - out[out.length] = q; lst = c; break; - case '[': - o = c; - while(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i); - if(o.slice(-1) !== ']') throw 'unterminated "[" block: |' + o + '|'; - if(o.match(SSF_abstime)) { - if(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return ""; } - out[out.length] = {t:'Z', v:o.toLowerCase()}; - lst = o.charAt(1); - } else if(o.indexOf("$") > -1) { - o = (o.match(/\$([^-\[\]]*)/)||[])[1]||"$"; - if(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o}; - } - break; - /* Numbers */ - case '.': - if(dt != null) { - o = c; while(++i < fmt.length && (c=fmt.charAt(i)) === "0") o += c; - out[out.length] = {t:'s', v:o}; break; - } - /* falls through */ - case '0': case '#': - o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1) o += c; - out[out.length] = {t:'n', v:o}; break; - case '?': - o = c; while(fmt.charAt(++i) === c) o+=c; - out[out.length] = {t:c, v:o}; lst = c; break; - case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // ** - case '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break; - case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - o = c; while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i); - out[out.length] = {t:'D', v:o}; break; - case ' ': out[out.length] = {t:c, v:c}; ++i; break; - case '$': out[out.length] = {t:'t', v:'$'}; ++i; break; - default: - if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt); - out[out.length] = {t:'t', v:c}; ++i; break; - } - } - - /* Scan for date/time parts */ - var bt = 0, ss0 = 0, ssm; - for(i=out.length-1, lst='t'; i >= 0; --i) { - switch(out[i].t) { - case 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break; - case 's': - if((ssm=out[i].v.match(/\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1); - if(bt < 3) bt = 3; - /* falls through */ - case 'd': case 'y': case 'M': case 'e': lst=out[i].t; break; - case 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break; - case 'X': /*if(out[i].v === "B2");*/ - break; - case 'Z': - if(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1; - if(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2; - if(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3; - } - } - /* time rounding depends on presence of minute / second / usec fields */ - switch(bt) { - case 0: break; - case 1: - /*::if(!dt) break;*/ - if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } - if(dt.S >= 60) { dt.S = 0; ++dt.M; } - if(dt.M >= 60) { dt.M = 0; ++dt.H; } - break; - case 2: - /*::if(!dt) break;*/ - if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } - if(dt.S >= 60) { dt.S = 0; ++dt.M; } - break; - } - - /* replace fields */ - var nstr = "", jj; - for(i=0; i < out.length; ++i) { - switch(out[i].t) { - case 't': case 'T': case ' ': case 'D': break; - case 'X': out[i].v = ""; out[i].t = ";"; break; - case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': - /*::if(!dt) throw "unreachable"; */ - out[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0); - out[i].t = 't'; break; - case 'n': case '?': - jj = i+1; - while(out[jj] != null && ( - (c=out[jj].t) === "?" || c === "D" || - ((c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/')) || - (out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) || - (c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')) - )) { - out[i].v += out[jj].v; - out[jj] = {v:"", t:";"}; ++jj; - } - nstr += out[i].v; - i = jj-1; break; - case 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break; - } - } - var vv = "", myv, ostr; - if(nstr.length > 0) { - if(nstr.charCodeAt(0) == 40) /* '(' */ { - myv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v); - ostr = write_num('n', nstr, myv); - } else { - myv = (v<0 && flen > 1 ? -v : v); - ostr = write_num('n', nstr, myv); - if(myv < 0 && out[0] && out[0].t == 't') { - ostr = ostr.substr(1); - out[0].v = "-" + out[0].v; - } - } - jj=ostr.length-1; - var decpt = out.length; - for(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(".") > -1) { decpt = i; break; } - var lasti=out.length; - if(decpt === out.length && ostr.indexOf("E") === -1) { - for(i=out.length-1; i>= 0;--i) { - if(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue; - if(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); } - else if(jj < 0) out[i].v = ""; - else { out[i].v = ostr.substr(0, jj+1); jj = -1; } - out[i].t = 't'; - lasti = i; - } - if(jj>=0 && lasti= 0; --i) { - if(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue; - j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1; - vv = out[i].v.substr(j+1); - for(; j>=0; --j) { - if(jj>=0 && (out[i].v.charAt(j) === "0" || out[i].v.charAt(j) === "#")) vv = ostr.charAt(jj--) + vv; - } - out[i].v = vv; - out[i].t = 't'; - lasti = i; - } - if(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0; - vv = out[i].v.substr(0,j); - for(; j-1) { - myv = (flen >1 && v < 0 && i>0 && out[i-1].v === "-" ? -v:v); - out[i].v = write_num(out[i].t, out[i].v, myv); - out[i].t = 't'; - } - var retval = ""; - for(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v; - return retval; -} - -var cfregex2 = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/; -function chkcond(v, rr) { - if(rr == null) return false; - var thresh = parseFloat(rr[2]); - switch(rr[1]) { - case "=": if(v == thresh) return true; break; - case ">": if(v > thresh) return true; break; - case "<": if(v < thresh) return true; break; - case "<>": if(v != thresh) return true; break; - case ">=": if(v >= thresh) return true; break; - case "<=": if(v <= thresh) return true; break; - } - return false; -} -function choose_fmt(f/*:string*/, v/*:any*/) { - var fmt = SSF_split_fmt(f); - var l = fmt.length, lat = fmt[l-1].indexOf("@"); - if(l<4 && lat>-1) --l; - if(fmt.length > 4) throw new Error("cannot find right format for |" + fmt.join("|") + "|"); - if(typeof v !== "number") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:"@"]; - switch(fmt.length) { - case 1: fmt = lat>-1 ? ["General", "General", "General", fmt[0]] : [fmt[0], fmt[0], fmt[0], "@"]; break; - case 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], "@"]; break; - case 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], "@"]; break; - case 4: break; - } - var ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2]; - if(fmt[0].indexOf("[") === -1 && fmt[1].indexOf("[") === -1) return [l, ff]; - if(fmt[0].match(/\[[=<>]/) != null || fmt[1].match(/\[[=<>]/) != null) { - var m1 = fmt[0].match(cfregex2); - var m2 = fmt[1].match(cfregex2); - return chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]]; - } - return [l, ff]; -} -function SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { - if(o == null) o = {}; - var sfmt = ""; - switch(typeof fmt) { - case "string": - if(fmt == "m/d/yy" && o.dateNF) sfmt = o.dateNF; - else sfmt = fmt; - break; - case "number": - if(fmt == 14 && o.dateNF) sfmt = o.dateNF; - else sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt]; - if(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]]; - if(sfmt == null) sfmt = SSF_default_str[fmt] || "General"; - break; - } - if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); - var f = choose_fmt(sfmt, v); - if(SSF_isgeneral(f[1])) return SSF_general(v, o); - if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; - else if(v === "" || v == null) return ""; - return eval_fmt(f[1], v, o, f[0]); -} -function SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ { - if(typeof idx != 'number') { - idx = +idx || -1; -/*::if(typeof idx != 'number') return 0x188; */ - for(var i = 0; i < 0x0188; ++i) { -/*::if(typeof idx != 'number') return 0x188; */ - if(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; } - if(table_fmt[i] == fmt) { idx = i; break; } - } -/*::if(typeof idx != 'number') return 0x188; */ - if(idx < 0) idx = 0x187; - } -/*::if(typeof idx != 'number') return 0x188; */ - table_fmt[idx] = fmt; - return idx; -} -function SSF_load_table(tbl/*:SSFTable*/)/*:void*/ { - for(var i=0; i!=0x0188; ++i) - if(tbl[i] !== undefined) SSF_load(tbl[i], i); -} - -function make_ssf() { - table_fmt = SSF_init_table(); -} - -var SSF = { - format: SSF_format, - load: SSF_load, - _table: table_fmt, - load_table: SSF_load_table, - parse_date_code: SSF_parse_date_code, - is_date: fmt_is_date, - get_table: function get_table() { return SSF._table = table_fmt; } -}; - -var SSFImplicit/*{[number]:string}*/ = ({ - "5": '"$"#,##0_);\\("$"#,##0\\)', - "6": '"$"#,##0_);[Red]\\("$"#,##0\\)', - "7": '"$"#,##0.00_);\\("$"#,##0.00\\)', - "8": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', - "23": 'General', "24": 'General', "25": 'General', "26": 'General', - "27": 'm/d/yy', "28": 'm/d/yy', "29": 'm/d/yy', "30": 'm/d/yy', "31": 'm/d/yy', - "32": 'h:mm:ss', "33": 'h:mm:ss', "34": 'h:mm:ss', "35": 'h:mm:ss', - "36": 'm/d/yy', - "41": '_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', - "42": '_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', - "43": '_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', - "44": '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)', - "50": 'm/d/yy', "51": 'm/d/yy', "52": 'm/d/yy', "53": 'm/d/yy', "54": 'm/d/yy', - "55": 'm/d/yy', "56": 'm/d/yy', "57": 'm/d/yy', "58": 'm/d/yy', - "59": '0', - "60": '0.00', - "61": '#,##0', - "62": '#,##0.00', - "63": '"$"#,##0_);\\("$"#,##0\\)', - "64": '"$"#,##0_);[Red]\\("$"#,##0\\)', - "65": '"$"#,##0.00_);\\("$"#,##0.00\\)', - "66": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', - "67": '0%', - "68": '0.00%', - "69": '# ?/?', - "70": '# ??/??', - "71": 'm/d/yy', - "72": 'm/d/yy', - "73": 'd-mmm-yy', - "74": 'd-mmm', - "75": 'mmm-yy', - "76": 'h:mm', - "77": 'h:mm:ss', - "78": 'm/d/yy h:mm', - "79": 'mm:ss', - "80": '[h]:mm:ss', - "81": 'mmss.0' -}/*:any*/); - -/* dateNF parse TODO: move to SSF */ -var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; -function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { - var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; - fmt = fmt.replace(dateNFregex, "(\\d+)"); - return new RegExp("^" + fmt + "$"); -} -function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ { - var Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1; - (dateNF.match(dateNFregex)||[]).forEach(function(n, i) { - var v = parseInt(match[i+1], 10); - switch(n.toLowerCase().charAt(0)) { - case 'y': Y = v; break; case 'd': d = v; break; - case 'h': H = v; break; case 's': S = v; break; - case 'm': if(H >= 0) M = v; else m = v; break; - } - }); - if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } - var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); - if(datestr.length == 7) datestr = "0" + datestr; - if(datestr.length == 8) datestr = "20" + datestr; - var timestr = (("00" + (H>=0?H:0)).slice(-2) + ":" + ("00" + (M>=0?M:0)).slice(-2) + ":" + ("00" + (S>=0?S:0)).slice(-2)); - if(H == -1 && M == -1 && S == -1) return datestr; - if(Y == -1 && m == -1 && d == -1) return timestr; - return datestr + "T" + timestr; -} - -/*:: -declare var ReadShift:any; -declare var CheckField:any; -declare var prep_blob:any; -declare var __readUInt32LE:any; -declare var __readInt32LE:any; -declare var __toBuffer:any; -declare var __utf16le:any; -declare var bconcat:any; -declare var s2a:any; -declare var chr0:any; -declare var chr1:any; -declare var has_buf:boolean; -declare var new_buf:any; -declare var new_raw_buf:any; -declare var new_unsafe_buf:any; -declare var Buffer_from:any; -*/ -/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */ -/* vim: set ts=2: */ -/*jshint eqnull:true */ -/*exported CFB */ -/*global Uint8Array:false, Uint16Array:false */ - -/*:: -type SectorEntry = { - name?:string; - nodes?:Array; - data:RawBytes; -}; -type SectorList = { - [k:string|number]:SectorEntry; - name:?string; - fat_addrs:Array; - ssz:number; -} -type CFBFiles = {[n:string]:CFBEntry}; -*/ -/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ -/* vim: set ts=2: */ -/*exported CRC32 */ -var CRC32 = /*#__PURE__*/(function() { -var CRC32 = {}; -CRC32.version = '1.2.0'; -/* see perf/crc32table.js */ -/*global Int32Array */ -function signed_crc_table()/*:any*/ { - var c = 0, table/*:Array*/ = new Array(256); - - for(var n =0; n != 256; ++n){ - c = n; - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - c = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1)); - table[n] = c; - } - - return typeof Int32Array !== 'undefined' ? new Int32Array(table) : table; -} - -var T0 = signed_crc_table(); -function slice_by_16_tables(T) { - var c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ; - - for(n = 0; n != 256; ++n) table[n] = T[n]; - for(n = 0; n != 256; ++n) { - v = T[n]; - for(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF]; - } - var out = []; - for(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256); - return out; -} -var TT = slice_by_16_tables(T0); -var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4]; -var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9]; -var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14]; -function crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ { - var C = seed/*:: ? 0 : 0 */ ^ -1; - for(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF]; - return ~C; -} - -function crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ { - var C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0; - for(; i < L;) C = - Tf[B[i++] ^ (C & 255)] ^ - Te[B[i++] ^ ((C >> 8) & 255)] ^ - Td[B[i++] ^ ((C >> 16) & 255)] ^ - Tc[B[i++] ^ (C >>> 24)] ^ - Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ - T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ - T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]]; - L += 15; - while(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF]; - return ~C; -} - -function crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ { - var C = seed ^ -1; - for(var i = 0, L = str.length, c = 0, d = 0; i < L;) { - c = str.charCodeAt(i++); - if(c < 0x80) { - C = (C>>>8) ^ T0[(C^c)&0xFF]; - } else if(c < 0x800) { - C = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF]; - } else if(c >= 0xD800 && c < 0xE000) { - c = (c&1023)+64; d = str.charCodeAt(i++)&1023; - C = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF]; - } else { - C = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF]; - C = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF]; - } - } - return ~C; -} -CRC32.table = T0; -CRC32.bstr = crc32_bstr; -CRC32.buf = crc32_buf; -CRC32.str = crc32_str; -return CRC32; -})(); -/* [MS-CFB] v20171201 */ -var CFB = /*#__PURE__*/(function _CFB(){ -var exports = {}; -exports.version = '1.2.1'; -/* [MS-CFB] 2.6.4 */ -function namecmp(l/*:string*/, r/*:string*/)/*:number*/ { - var L = l.split("/"), R = r.split("/"); - for(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) { - if((c = L[i].length - R[i].length)) return c; - if(L[i] != R[i]) return L[i] < R[i] ? -1 : 1; - } - return L.length - R.length; -} -function dirname(p/*:string*/)/*:string*/ { - if(p.charAt(p.length - 1) == "/") return (p.slice(0,-1).indexOf("/") === -1) ? p : dirname(p.slice(0, -1)); - var c = p.lastIndexOf("/"); - return (c === -1) ? p : p.slice(0, c+1); -} - -function filename(p/*:string*/)/*:string*/ { - if(p.charAt(p.length - 1) == "/") return filename(p.slice(0, -1)); - var c = p.lastIndexOf("/"); - return (c === -1) ? p : p.slice(c+1); -} -/* -------------------------------------------------------------------------- */ -/* DOS Date format: - high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low - add 1980 to stored year - stored second should be doubled -*/ - -/* write JS date to buf as a DOS date */ -function write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) { - if(typeof date === "string") date = new Date(date); - var hms/*:number*/ = date.getHours(); - hms = hms << 6 | date.getMinutes(); - hms = hms << 5 | (date.getSeconds()>>>1); - buf.write_shift(2, hms); - var ymd/*:number*/ = (date.getFullYear() - 1980); - ymd = ymd << 4 | (date.getMonth()+1); - ymd = ymd << 5 | date.getDate(); - buf.write_shift(2, ymd); -} - -/* read four bytes from buf and interpret as a DOS date */ -function parse_dos_date(buf/*:CFBlob*/)/*:Date*/ { - var hms = buf.read_shift(2) & 0xFFFF; - var ymd = buf.read_shift(2) & 0xFFFF; - var val = new Date(); - var d = ymd & 0x1F; ymd >>>= 5; - var m = ymd & 0x0F; ymd >>>= 4; - val.setMilliseconds(0); - val.setFullYear(ymd + 1980); - val.setMonth(m-1); - val.setDate(d); - var S = hms & 0x1F; hms >>>= 5; - var M = hms & 0x3F; hms >>>= 6; - val.setHours(hms); - val.setMinutes(M); - val.setSeconds(S<<1); - return val; -} -function parse_extra_field(blob/*:CFBlob*/)/*:any*/ { - prep_blob(blob, 0); - var o = /*::(*/{}/*:: :any)*/; - var flags = 0; - while(blob.l <= blob.length - 4) { - var type = blob.read_shift(2); - var sz = blob.read_shift(2), tgt = blob.l + sz; - var p = {}; - switch(type) { - /* UNIX-style Timestamps */ - case 0x5455: { - flags = blob.read_shift(1); - if(flags & 1) p.mtime = blob.read_shift(4); - /* for some reason, CD flag corresponds to LFH */ - if(sz > 5) { - if(flags & 2) p.atime = blob.read_shift(4); - if(flags & 4) p.ctime = blob.read_shift(4); - } - if(p.mtime) p.mt = new Date(p.mtime*1000); - } - break; - } - blob.l = tgt; - o[type] = p; - } - return o; -} -var fs/*:: = require('fs'); */; -function get_fs() { return fs || (fs = {}); } -function parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ { -if(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options); -if((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options); -if(file.length < 512) throw new Error("CFB file size " + file.length + " < 512"); -var mver = 3; -var ssz = 512; -var nmfs = 0; // number of mini FAT sectors -var difat_sec_cnt = 0; -var dir_start = 0; -var minifat_start = 0; -var difat_start = 0; - -var fat_addrs/*:Array*/ = []; // locations of FAT sectors - -/* [MS-CFB] 2.2 Compound File Header */ -var blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/; -prep_blob(blob, 0); - -/* major version */ -var mv = check_get_mver(blob); -mver = mv[0]; -switch(mver) { - case 3: ssz = 512; break; case 4: ssz = 4096; break; - case 0: if(mv[1] == 0) return parse_zip(file, options); - /* falls through */ - default: throw new Error("Major Version: Expected 3 or 4 saw " + mver); -} - -/* reprocess header */ -if(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); } -/* Save header for final object */ -var header/*:RawBytes*/ = file.slice(0,ssz); - -check_shifts(blob, mver); - -// Number of Directory Sectors -var dir_cnt/*:number*/ = blob.read_shift(4, 'i'); -if(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt); - -// Number of FAT Sectors -blob.l += 4; - -// First Directory Sector Location -dir_start = blob.read_shift(4, 'i'); - -// Transaction Signature -blob.l += 4; - -// Mini Stream Cutoff Size -blob.chk('00100000', 'Mini Stream Cutoff Size: '); - -// First Mini FAT Sector Location -minifat_start = blob.read_shift(4, 'i'); - -// Number of Mini FAT Sectors -nmfs = blob.read_shift(4, 'i'); - -// First DIFAT sector location -difat_start = blob.read_shift(4, 'i'); - -// Number of DIFAT Sectors -difat_sec_cnt = blob.read_shift(4, 'i'); - -// Grab FAT Sector Locations -for(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */ - q = blob.read_shift(4, 'i'); - if(q<0) break; - fat_addrs[j] = q; -} - -/** Break the file up into sectors */ -var sectors/*:Array*/ = sectorify(file, ssz); - -sleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs); - -/** Chains */ -var sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz); - -sector_list[dir_start].name = "!Directory"; -if(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = "!MiniFAT"; -sector_list[fat_addrs[0]].name = "!FAT"; -sector_list.fat_addrs = fat_addrs; -sector_list.ssz = ssz; - -/* [MS-CFB] 2.6.1 Compound File Directory Entry */ -var files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = []; -read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start); - -build_full_paths(FileIndex, FullPaths, Paths); -Paths.shift(); - -var o = { - FileIndex: FileIndex, - FullPaths: FullPaths -}; - -// $FlowIgnore -if(options && options.raw) o.raw = {header: header, sectors: sectors}; -return o; -} // parse - -/* [MS-CFB] 2.2 Compound File Header -- read up to major version */ -function check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ { - if(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0]; - // header signature 8 - blob.chk(HEADER_SIGNATURE, 'Header Signature: '); - - // clsid 16 - //blob.chk(HEADER_CLSID, 'CLSID: '); - blob.l += 16; - - // minor version 2 - var mver/*:number*/ = blob.read_shift(2, 'u'); - - return [blob.read_shift(2,'u'), mver]; -} -function check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ { - var shift = 0x09; - - // Byte Order - //blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff - blob.l += 2; - - // Sector Shift - switch((shift = blob.read_shift(2))) { - case 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break; - case 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break; - default: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift); - } - - // Mini Sector Shift - blob.chk('0600', 'Mini Sector Shift: '); - - // Reserved - blob.chk('000000000000', 'Reserved: '); -} - -/** Break the file up into sectors */ -function sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ { - var nsectors = Math.ceil(file.length/ssz)-1; - var sectors/*:Array*/ = []; - for(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz); - sectors[nsectors-1] = file.slice(nsectors*ssz); - return sectors; -} - -/* [MS-CFB] 2.6.4 Red-Black Tree */ -function build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ { - var i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length; - var dad/*:Array*/ = [], q/*:Array*/ = []; - - for(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; } - - for(; j < q.length; ++j) { - i = q[j]; - L = FI[i].L; R = FI[i].R; C = FI[i].C; - if(dad[i] === i) { - if(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L]; - if(R !== -1 && dad[R] !== R) dad[i] = dad[R]; - } - if(C !== -1 /*NOSTREAM*/) dad[C] = i; - if(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); } - if(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); } - } - for(i=1; i < pl; ++i) if(dad[i] === i) { - if(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R]; - else if(L !== -1 && dad[L] !== L) dad[i] = dad[L]; - } - - for(i=1; i < pl; ++i) { - if(FI[i].type === 0 /* unknown */) continue; - j = i; - if(j != dad[j]) do { - j = dad[j]; - FP[i] = FP[j] + "/" + FP[i]; - } while (j !== 0 && -1 !== dad[j] && j != dad[j]); - dad[i] = -1; - } - - FP[0] += "/"; - for(i=1; i < pl; ++i) { - if(FI[i].type !== 2 /* stream */) FP[i] += "/"; - } -} - -function get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ { - var start = entry.start, size = entry.size; - //return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/); - var o = []; - var idx = start; - while(mini && size > 0 && idx >= 0) { - o.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ)); - size -= MSSZ; - idx = __readInt32LE(mini, idx * 4); - } - if(o.length === 0) return (new_buf(0)/*:any*/); - return (bconcat(o).slice(0, entry.size)/*:any*/); -} - -/** Chase down the rest of the DIFAT chain to build a comprehensive list - DIFAT chains by storing the next sector number as the last 32 bits */ -function sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ { - var q/*:number*/ = ENDOFCHAIN; - if(idx === ENDOFCHAIN) { - if(cnt !== 0) throw new Error("DIFAT chain shorter than expected"); - } else if(idx !== -1 /*FREESECT*/) { - var sector = sectors[idx], m = (ssz>>>2)-1; - if(!sector) return; - for(var i = 0; i < m; ++i) { - if((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break; - fat_addrs.push(q); - } - sleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs); - } -} - -/** Follow the linked list of sectors for a given starting point */ -function get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ { - var buf/*:Array*/ = [], buf_chain/*:Array*/ = []; - if(!chkd) chkd = []; - var modulus = ssz - 1, j = 0, jj = 0; - for(j=start; j>=0;) { - chkd[j] = true; - buf[buf.length] = j; - buf_chain.push(sectors[j]); - var addr = fat_addrs[Math.floor(j*4/ssz)]; - jj = ((j*4) & modulus); - if(ssz < 4 + jj) throw new Error("FAT boundary crossed: " + j + " 4 "+ssz); - if(!sectors[addr]) break; - j = __readInt32LE(sectors[addr], jj); - } - return {nodes: buf, data:__toBuffer([buf_chain])}; -} - -/** Chase down the sector linked lists */ -function make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ { - var sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/); - var chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = []; - var modulus = ssz - 1, i=0, j=0, k=0, jj=0; - for(i=0; i < sl; ++i) { - buf = ([]/*:Array*/); - k = (i + dir_start); if(k >= sl) k-=sl; - if(chkd[k]) continue; - buf_chain = []; - var seen = []; - for(j=k; j>=0;) { - seen[j] = true; - chkd[j] = true; - buf[buf.length] = j; - buf_chain.push(sectors[j]); - var addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)]; - jj = ((j*4) & modulus); - if(ssz < 4 + jj) throw new Error("FAT boundary crossed: " + j + " 4 "+ssz); - if(!sectors[addr]) break; - j = __readInt32LE(sectors[addr], jj); - if(seen[j]) break; - } - sector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/); - } - return sector_list; -} - -/* [MS-CFB] 2.6.1 Compound File Directory Entry */ -function read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) { - var minifat_store = 0, pl = (Paths.length?2:0); - var sector = sector_list[dir_start].data; - var i = 0, namelen = 0, name; - for(; i < sector.length; i+= 128) { - var blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/; - prep_blob(blob, 64); - namelen = blob.read_shift(2); - name = __utf16le(blob,0,namelen-pl); - Paths.push(name); - var o/*:CFBEntry*/ = ({ - name: name, - type: blob.read_shift(1), - color: blob.read_shift(1), - L: blob.read_shift(4, 'i'), - R: blob.read_shift(4, 'i'), - C: blob.read_shift(4, 'i'), - clsid: blob.read_shift(16), - state: blob.read_shift(4, 'i'), - start: 0, - size: 0 - }); - var ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2); - if(ctime !== 0) o.ct = read_date(blob, blob.l-8); - var mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2); - if(mtime !== 0) o.mt = read_date(blob, blob.l-8); - o.start = blob.read_shift(4, 'i'); - o.size = blob.read_shift(4, 'i'); - if(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = ""; } - if(o.type === 5) { /* root */ - minifat_store = o.start; - if(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = "!StreamData"; - /*minifat_size = o.size;*/ - } else if(o.size >= 4096 /* MSCSZ */) { - o.storage = 'fat'; - if(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz); - sector_list[o.start].name = o.name; - o.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/); - } else { - o.storage = 'minifat'; - if(o.size < 0) o.size = 0; - else if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { - o.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data); - } - } - if(o.content) prep_blob(o.content, 0); - files[name] = o; - FileIndex.push(o); - } -} - -function read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ { - return new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000); -} - -function read_file(filename/*:string*/, options/*:CFBReadOpts*/) { - get_fs(); - return parse(fs.readFileSync(filename), options); -} - -function read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) { - var type = options && options.type; - if(!type) { - if(has_buf && Buffer.isBuffer(blob)) type = "buffer"; - } - switch(type || "base64") { - case "file": /*:: if(typeof blob !== 'string') throw "Must pass a filename when type='file'"; */return read_file(blob, options); - case "base64": /*:: if(typeof blob !== 'string') throw "Must pass a base64-encoded binary string when type='file'"; */return parse(s2a(Base64_decode(blob)), options); - case "binary": /*:: if(typeof blob !== 'string') throw "Must pass a binary string when type='file'"; */return parse(s2a(blob), options); - } - return parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options); -} - -function init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ { - var o = opts || {}, root = o.root || "Root Entry"; - if(!cfb.FullPaths) cfb.FullPaths = []; - if(!cfb.FileIndex) cfb.FileIndex = []; - if(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error("inconsistent CFB structure"); - if(cfb.FullPaths.length === 0) { - cfb.FullPaths[0] = root + "/"; - cfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/); - } - if(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID; - seed_cfb(cfb); -} -function seed_cfb(cfb/*:CFBContainer*/)/*:void*/ { - var nm = "\u0001Sh33tJ5"; - if(CFB.find(cfb, "/" + nm)) return; - var p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54; - cfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/)); - cfb.FullPaths.push(cfb.FullPaths[0] + nm); - rebuild_cfb(cfb); -} -function rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ { - init_cfb(cfb); - var gc = false, s = false; - for(var i = cfb.FullPaths.length - 1; i >= 0; --i) { - var _file = cfb.FileIndex[i]; - switch(_file.type) { - case 0: - if(s) gc = true; - else { cfb.FileIndex.pop(); cfb.FullPaths.pop(); } - break; - case 1: case 2: case 5: - s = true; - if(isNaN(_file.R * _file.L * _file.C)) gc = true; - if(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true; - break; - default: gc = true; break; - } - } - if(!gc && !f) return; - - var now = new Date(1987, 1, 19), j = 0; - // Track which names exist - var fullPaths = Object.create ? Object.create(null) : {}; - var data/*:Array<[string, CFBEntry]>*/ = []; - for(i = 0; i < cfb.FullPaths.length; ++i) { - fullPaths[cfb.FullPaths[i]] = true; - if(cfb.FileIndex[i].type === 0) continue; - data.push([cfb.FullPaths[i], cfb.FileIndex[i]]); - } - for(i = 0; i < data.length; ++i) { - var dad = dirname(data[i][0]); - s = fullPaths[dad]; - if(!s) { - data.push([dad, ({ - name: filename(dad).replace("/",""), - type: 1, - clsid: HEADER_CLSID, - ct: now, mt: now, - content: null - }/*:any*/)]); - // Add name to set - fullPaths[dad] = true; - } - } - - data.sort(function(x,y) { return namecmp(x[0], y[0]); }); - cfb.FullPaths = []; cfb.FileIndex = []; - for(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; } - for(i = 0; i < data.length; ++i) { - var elt = cfb.FileIndex[i]; - var nm = cfb.FullPaths[i]; - - elt.name = filename(nm).replace("/",""); - elt.L = elt.R = elt.C = -(elt.color = 1); - elt.size = elt.content ? elt.content.length : 0; - elt.start = 0; - elt.clsid = (elt.clsid || HEADER_CLSID); - if(i === 0) { - elt.C = data.length > 1 ? 1 : -1; - elt.size = 0; - elt.type = 5; - } else if(nm.slice(-1) == "/") { - for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break; - elt.C = j >= data.length ? -1 : j; - for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break; - elt.R = j >= data.length ? -1 : j; - elt.type = 1; - } else { - if(dirname(cfb.FullPaths[i+1]||"") == dirname(nm)) elt.R = i + 1; - elt.type = 2; - } - } - -} - -function _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ { - var _opts = options || {}; - /* MAD is order-sensitive, skip rebuild and sort */ - if(_opts.fileType == 'mad') return write_mad(cfb, _opts); - rebuild_cfb(cfb); - switch(_opts.fileType) { - case 'zip': return write_zip(cfb, _opts); - //case 'mad': return write_mad(cfb, _opts); - } - var L = (function(cfb/*:CFBContainer*/)/*:Array*/{ - var mini_size = 0, fat_size = 0; - for(var i = 0; i < cfb.FileIndex.length; ++i) { - var file = cfb.FileIndex[i]; - if(!file.content) continue; - /*:: if(file.content == null) throw new Error("unreachable"); */ - var flen = file.content.length; - if(flen > 0){ - if(flen < 0x1000) mini_size += (flen + 0x3F) >> 6; - else fat_size += (flen + 0x01FF) >> 9; - } - } - var dir_cnt = (cfb.FullPaths.length +3) >> 2; - var mini_cnt = (mini_size + 7) >> 3; - var mfat_cnt = (mini_size + 0x7F) >> 7; - var fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt; - var fat_cnt = (fat_base + 0x7F) >> 7; - var difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F); - while(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F); - var L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0]; - cfb.FileIndex[0].size = mini_size << 6; - L[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3); - return L; - })(cfb); - var o = new_buf(L[7] << 9); - var i = 0, T = 0; - { - for(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]); - for(i = 0; i < 8; ++i) o.write_shift(2, 0); - o.write_shift(2, 0x003E); - o.write_shift(2, 0x0003); - o.write_shift(2, 0xFFFE); - o.write_shift(2, 0x0009); - o.write_shift(2, 0x0006); - for(i = 0; i < 3; ++i) o.write_shift(2, 0); - o.write_shift(4, 0); - o.write_shift(4, L[2]); - o.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1); - o.write_shift(4, 0); - o.write_shift(4, 1<<12); - o.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN); - o.write_shift(4, L[3]); - o.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN); - o.write_shift(4, L[1]); - for(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1); - } - if(L[1]) { - for(T = 0; T < L[1]; ++T) { - for(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1); - o.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1); - } - } - var chainit = function(w/*:number*/)/*:void*/ { - for(T += w; i> 9); - } - chainit((L[6] + 7) >> 3); - while(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN); - T = i = 0; - for(j = 0; j < cfb.FileIndex.length; ++j) { - file = cfb.FileIndex[j]; - if(!file.content) continue; - /*:: if(file.content == null) throw new Error("unreachable"); */ - flen = file.content.length; - if(!flen || flen >= 0x1000) continue; - file.start = T; - chainit((flen + 0x3F) >> 6); - } - while(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN); - for(i = 0; i < L[4]<<2; ++i) { - var nm = cfb.FullPaths[i]; - if(!nm || nm.length === 0) { - for(j = 0; j < 17; ++j) o.write_shift(4, 0); - for(j = 0; j < 3; ++j) o.write_shift(4, -1); - for(j = 0; j < 12; ++j) o.write_shift(4, 0); - continue; - } - file = cfb.FileIndex[i]; - if(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN; - var _nm/*:string*/ = (i === 0 && _opts.root) || file.name; - flen = 2*(_nm.length+1); - o.write_shift(64, _nm, "utf16le"); - o.write_shift(2, flen); - o.write_shift(1, file.type); - o.write_shift(1, file.color); - o.write_shift(-4, file.L); - o.write_shift(-4, file.R); - o.write_shift(-4, file.C); - if(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0); - else o.write_shift(16, file.clsid, "hex"); - o.write_shift(4, file.state || 0); - o.write_shift(4, 0); o.write_shift(4, 0); - o.write_shift(4, 0); o.write_shift(4, 0); - o.write_shift(4, file.start); - o.write_shift(4, file.size); o.write_shift(4, 0); - } - for(i = 1; i < cfb.FileIndex.length; ++i) { - file = cfb.FileIndex[i]; - /*:: if(!file.content) throw new Error("unreachable"); */ - if(file.size >= 0x1000) { - o.l = (file.start+1) << 9; - if (has_buf && Buffer.isBuffer(file.content)) { - file.content.copy(o, o.l, 0, file.size); - // o is a 0-filled Buffer so just set next offset - o.l += (file.size + 511) & -512; - } else { - for(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]); - for(; j & 0x1FF; ++j) o.write_shift(1, 0); - } - } - } - for(i = 1; i < cfb.FileIndex.length; ++i) { - file = cfb.FileIndex[i]; - /*:: if(!file.content) throw new Error("unreachable"); */ - if(file.size > 0 && file.size < 0x1000) { - if (has_buf && Buffer.isBuffer(file.content)) { - file.content.copy(o, o.l, 0, file.size); - // o is a 0-filled Buffer so just set next offset - o.l += (file.size + 63) & -64; - } else { - for(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]); - for(; j & 0x3F; ++j) o.write_shift(1, 0); - } - } - } - if (has_buf) { - o.l = o.length; - } else { - // When using Buffer, already 0-filled - while(o.l < o.length) o.write_shift(1, 0); - } - return o; -} -/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */ -function find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ { - var UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); }); - var UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split("/"); return y[y.length - (x.slice(-1) == "/" ? 2 : 1)]; }); - var k/*:boolean*/ = false; - if(path.charCodeAt(0) === 47 /* "/" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; } - else k = path.indexOf("/") !== -1; - var UCPath/*:string*/ = path.toUpperCase(); - var w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath); - if(w !== -1) return cfb.FileIndex[w]; - - var m = !UCPath.match(chr1); - UCPath = UCPath.replace(chr0,''); - if(m) UCPath = UCPath.replace(chr1,'!'); - for(w = 0; w < UCFullPaths.length; ++w) { - if((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w]; - if((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w]; - } - return null; -} -/** CFB Constants */ -var MSSZ = 64; /* Mini Sector Size = 1<<6 */ -//var MSCSZ = 4096; /* Mini Stream Cutoff Size */ -/* 2.1 Compound File Sector Numbers and Types */ -var ENDOFCHAIN = -2; -/* 2.2 Compound File Header */ -var HEADER_SIGNATURE = 'd0cf11e0a1b11ae1'; -var HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1]; -var HEADER_CLSID = '00000000000000000000000000000000'; -var consts = { - /* 2.1 Compund File Sector Numbers and Types */ - MAXREGSECT: -6, - DIFSECT: -4, - FATSECT: -3, - ENDOFCHAIN: ENDOFCHAIN, - FREESECT: -1, - /* 2.2 Compound File Header */ - HEADER_SIGNATURE: HEADER_SIGNATURE, - HEADER_MINOR_VERSION: '3e00', - MAXREGSID: -6, - NOSTREAM: -1, - HEADER_CLSID: HEADER_CLSID, - /* 2.6.1 Compound File Directory Entry */ - EntryTypes: ['unknown','storage','stream','lockbytes','property','root'] -}; - -function write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ { - get_fs(); - var o = _write(cfb, options); - /*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error("unreachable"); */ - fs.writeFileSync(filename, o); -} - -function a2s(o/*:RawBytes*/)/*:string*/ { - var out = new Array(o.length); - for(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]); - return out.join(""); -} - -function write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ { - var o = _write(cfb, options); - switch(options && options.type || "buffer") { - case "file": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o; - case "binary": return typeof o == "string" ? o : a2s(o); - case "base64": return Base64_encode(typeof o == "string" ? o : a2s(o)); - case "buffer": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o); - /* falls through */ - case "array": return typeof o == "string" ? s2a(o) : o; - } - return o; -} -/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */ -var _zlib; -function use_zlib(zlib) { try { - var InflateRaw = zlib.InflateRaw; - var InflRaw = new InflateRaw(); - InflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag); - if(InflRaw.bytesRead) _zlib = zlib; - else throw new Error("zlib does not expose bytesRead"); -} catch(e) {console.error("cannot use native zlib: " + (e.message || e)); } } - -function _inflateRawSync(payload, usz) { - if(!_zlib) return _inflate(payload, usz); - var InflateRaw = _zlib.InflateRaw; - var InflRaw = new InflateRaw(); - var out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag); - payload.l += InflRaw.bytesRead; - return out; -} - -function _deflateRawSync(payload) { - return _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload); -} -var CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; - -/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */ -var LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ]; - -/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */ -var DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ]; - -function bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; } - -var use_typed_arrays = typeof Uint8Array !== 'undefined'; - -var bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : []; -for(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q); - -function bit_swap_n(n, b) { - var rev = bitswap8[n & 0xFF]; - if(b <= 8) return rev >>> (8-b); - rev = (rev << 8) | bitswap8[(n>>8)&0xFF]; - if(b <= 16) return rev >>> (16-b); - rev = (rev << 8) | bitswap8[(n>>16)&0xFF]; - return rev >>> (24-b); -} - -/* helpers for unaligned bit reads */ -function read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; } -function read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; } -function read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; } -function read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; } -function read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; } - -/* works up to n = 3 * 8 + 1 = 25 */ -function read_bits_n(buf, bl, n) { - var w = (bl&7), h = (bl>>>3), f = ((1<>> w; - if(n < 8 - w) return v & f; - v |= buf[h+1]<<(8-w); - if(n < 16 - w) return v & f; - v |= buf[h+2]<<(16-w); - if(n < 24 - w) return v & f; - v |= buf[h+3]<<(24-w); - return v & f; -} - -/* helpers for unaligned bit writes */ -function write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3; - if(w <= 5) buf[h] |= (v & 7) << w; - else { - buf[h] |= (v << w) & 0xFF; - buf[h+1] = (v&7) >> (8-w); - } - return bl + 3; -} - -function write_bits_1(buf, bl, v) { - var w = bl & 7, h = bl >>> 3; - v = (v&1) << w; - buf[h] |= v; - return bl + 1; -} -function write_bits_8(buf, bl, v) { - var w = bl & 7, h = bl >>> 3; - v <<= w; - buf[h] |= v & 0xFF; v >>>= 8; - buf[h+1] = v; - return bl + 8; -} -function write_bits_16(buf, bl, v) { - var w = bl & 7, h = bl >>> 3; - v <<= w; - buf[h] |= v & 0xFF; v >>>= 8; - buf[h+1] = v & 0xFF; - buf[h+2] = v >>> 8; - return bl + 16; -} - -/* until ArrayBuffer#realloc is a thing, fake a realloc */ -function realloc(b, sz/*:number*/) { - var L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0; - if(L >= sz) return b; - if(has_buf) { - var o = new_unsafe_buf(M); - // $FlowIgnore - if(b.copy) b.copy(o); - else for(; i < b.length; ++i) o[i] = b[i]; - return o; - } else if(use_typed_arrays) { - var a = new Uint8Array(M); - if(a.set) a.set(b); - else for(; i < L; ++i) a[i] = b[i]; - return a; - } - b.length = M; - return b; -} - -/* zero-filled arrays for older browsers */ -function zero_fill_array(n) { - var o = new Array(n); - for(var i = 0; i < n; ++i) o[i] = 0; - return o; -} - -/* build tree (used for literals and lengths) */ -function build_tree(clens, cmap, MAX/*:number*/)/*:number*/ { - var maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length; - - var bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32); - for(i = 0; i < 32; ++i) bl_count[i] = 0; - - for(i = L; i < MAX; ++i) clens[i] = 0; - L = clens.length; - - var ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // [] - - /* build code tree */ - for(i = 0; i < L; ++i) { - bl_count[(w = clens[i])]++; - if(maxlen < w) maxlen = w; - ctree[i] = 0; - } - bl_count[0] = 0; - for(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1); - for(i = 0; i < L; ++i) { - ccode = clens[i]; - if(ccode != 0) ctree[i] = bl_count[ccode+16]++; - } - - /* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */ - var cleni = 0; - for(i = 0; i < L; ++i) { - cleni = clens[i]; - if(cleni != 0) { - ccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni); - for(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j) - cmap[ccode|(j<*/ = []; - var i = 0; - for(;i<32; i++) dlens.push(5); - build_tree(dlens, fix_dmap, 32); - - var clens/*:Array*/ = []; - i = 0; - for(; i<=143; i++) clens.push(8); - for(; i<=255; i++) clens.push(9); - for(; i<=279; i++) clens.push(7); - for(; i<=287; i++) clens.push(8); - build_tree(clens, fix_lmap, 288); -})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() { - var DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : []; - var j = 0, k = 0; - for(; j < DST_LN.length - 1; ++j) { - for(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j; - } - for(;k < 32768; ++k) DST_LN_RE[k] = 29; - - var LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : []; - for(j = 0, k = 0; j < LEN_LN.length - 1; ++j) { - for(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j; - } - - function write_stored(data, out) { - var boff = 0; - while(boff < data.length) { - var L = Math.min(0xFFFF, data.length - boff); - var h = boff + L == data.length; - out.write_shift(1, +h); - out.write_shift(2, L); - out.write_shift(2, (~L) & 0xFFFF); - while(L-- > 0) out[out.l++] = data[boff++]; - } - return out.l; - } - - /* Fixed Huffman */ - function write_huff_fixed(data, out) { - var bl = 0; - var boff = 0; - var addrs = use_typed_arrays ? new Uint16Array(0x8000) : []; - while(boff < data.length) { - var L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff); - - /* write a stored block for short data */ - if(L < 10) { - bl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line - if(bl & 7) bl += 8 - (bl & 7); - out.l = (bl / 8) | 0; - out.write_shift(2, L); - out.write_shift(2, (~L) & 0xFFFF); - while(L-- > 0) out[out.l++] = data[boff++]; - bl = out.l * 8; - continue; - } - - bl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line - var hash = 0; - while(L-- > 0) { - var d = data[boff]; - hash = ((hash << 5) ^ d) & 0x7FFF; - - var match = -1, mlen = 0; - - if((match = addrs[hash])) { - match |= boff & ~0x7FFF; - if(match > boff) match -= 0x8000; - if(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen; - } - - if(mlen > 2) { - /* Copy Token */ - d = LEN_LN_RE[mlen]; - if(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1; - else { - write_bits_8(out, bl, 3); - bl += 5; - write_bits_8(out, bl, bitswap8[d-23]>>5); - bl += 3; - } - var len_eb = (d < 8) ? 0 : ((d - 4)>>2); - if(len_eb > 0) { - write_bits_16(out, bl, mlen - LEN_LN[d]); - bl += len_eb; - } - - d = DST_LN_RE[boff - match]; - bl = write_bits_8(out, bl, bitswap8[d]>>3); - bl -= 3; - - var dst_eb = d < 4 ? 0 : (d-2)>>1; - if(dst_eb > 0) { - write_bits_16(out, bl, boff - match - DST_LN[d]); - bl += dst_eb; - } - for(var q = 0; q < mlen; ++q) { - addrs[hash] = boff & 0x7FFF; - hash = ((hash << 5) ^ data[boff]) & 0x7FFF; - ++boff; - } - L-= mlen - 1; - } else { - /* Literal Token */ - if(d <= 143) d = d + 48; - else bl = write_bits_1(out, bl, 1); - bl = write_bits_8(out, bl, bitswap8[d]); - addrs[hash] = boff & 0x7FFF; - ++boff; - } - } - - bl = write_bits_8(out, bl, 0) - 1; - } - out.l = ((bl + 7)/8)|0; - return out.l; - } - return function _deflateRaw(data, out) { - if(data.length < 8) return write_stored(data, out); - return write_huff_fixed(data, out); - }; -})(); - -function _deflate(data) { - var buf = new_buf(50+Math.floor(data.length*1.1)); - var off = _deflateRaw(data, buf); - return buf.slice(0, off); -} -/* modified inflate function also moves original read head */ - -var dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768); -var dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768); -var dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128); -var dyn_len_1 = 1, dyn_len_2 = 1; - -/* 5.5.3 Expanding Huffman Codes */ -function dyn(data, boff/*:number*/) { - /* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */ - var _HLIT = read_bits_5(data, boff) + 257; boff += 5; - var _HDIST = read_bits_5(data, boff) + 1; boff += 5; - var _HCLEN = read_bits_4(data, boff) + 4; boff += 4; - var w = 0; - - /* grab and store code lengths */ - var clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19); - var ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]; - var maxlen = 1; - var bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8); - var next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8); - var L = clens.length; /* 19 */ - for(var i = 0; i < _HCLEN; ++i) { - clens[CLEN_ORDER[i]] = w = read_bits_3(data, boff); - if(maxlen < w) maxlen = w; - bl_count[w]++; - boff += 3; - } - - /* build code tree */ - var ccode = 0; - bl_count[0] = 0; - for(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1; - for(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++; - /* cmap[7 bits from stream] = (off&7) + (lit<<3) */ - var cleni = 0; - for(i = 0; i < L; ++i) { - cleni = clens[i]; - if(cleni != 0) { - ccode = bitswap8[ctree[i]]>>(8-cleni); - for(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = []; - maxlen = 1; - for(; hcodes.length < _HLIT + _HDIST;) { - ccode = dyn_cmap[read_bits_7(data, boff)]; - boff += ccode & 7; - switch((ccode >>>= 3)) { - case 16: - w = 3 + read_bits_2(data, boff); boff += 2; - ccode = hcodes[hcodes.length - 1]; - while(w-- > 0) hcodes.push(ccode); - break; - case 17: - w = 3 + read_bits_3(data, boff); boff += 3; - while(w-- > 0) hcodes.push(0); - break; - case 18: - w = 11 + read_bits_7(data, boff); boff += 7; - while(w -- > 0) hcodes.push(0); - break; - default: - hcodes.push(ccode); - if(maxlen < ccode) maxlen = ccode; - break; - } - } - - /* build literal / length trees */ - var h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT); - for(i = _HLIT; i < 286; ++i) h1[i] = 0; - for(i = _HDIST; i < 30; ++i) h2[i] = 0; - dyn_len_1 = build_tree(h1, dyn_lmap, 286); - dyn_len_2 = build_tree(h2, dyn_dmap, 30); - return boff; -} - -/* return [ data, bytesRead ] */ -function inflate(data, usz/*:number*/) { - /* shortcircuit for empty buffer [0x03, 0x00] */ - if(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; } - - /* bit offset */ - var boff = 0; - - /* header includes final bit and type bits */ - var header = 0; - - var outbuf = new_unsafe_buf(usz ? usz : (1<<18)); - var woff = 0; - var OL = outbuf.length>>>0; - var max_len_1 = 0, max_len_2 = 0; - - while((header&1) == 0) { - header = read_bits_3(data, boff); boff += 3; - if((header >>> 1) == 0) { - /* Stored block */ - if(boff & 7) boff += 8 - (boff&7); - /* 2 bytes sz, 2 bytes bit inverse */ - var sz = data[boff>>>3] | data[(boff>>>3)+1]<<8; - boff += 32; - /* push sz bytes */ - if(sz > 0) { - if(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; } - while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; } - } - continue; - } else if((header >> 1) == 1) { - /* Fixed Huffman */ - max_len_1 = 9; max_len_2 = 5; - } else { - /* Dynamic Huffman */ - boff = dyn(data, boff); - max_len_1 = dyn_len_1; max_len_2 = dyn_len_2; - } - for(;;) { // while(true) is apparently out of vogue in modern JS circles - if(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; } - /* ingest code and move read head */ - var bits = read_bits_n(data, boff, max_len_1); - var code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits]; - boff += code & 15; code >>>= 4; - /* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */ - if(((code>>>8)&0xFF) === 0) outbuf[woff++] = code; - else if(code == 256) break; - else { - code -= 257; - var len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0; - var tgt = woff + LEN_LN[code]; - /* length extra bits */ - if(len_eb > 0) { - tgt += read_bits_n(data, boff, len_eb); - boff += len_eb; - } - - /* dist code */ - bits = read_bits_n(data, boff, max_len_2); - code = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits]; - boff += code & 15; code >>>= 4; - var dst_eb = (code < 4 ? 0 : (code-2)>>1); - var dst = DST_LN[code]; - /* dist extra bits */ - if(dst_eb > 0) { - dst += read_bits_n(data, boff, dst_eb); - boff += dst_eb; - } - - /* in the common case, manual byte copy is faster than TA set / Buffer copy */ - if(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; } - while(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; } - } - } - } - if(usz) return [outbuf, (boff+7)>>>3]; - return [outbuf.slice(0, woff), (boff+7)>>>3]; -} - -function _inflate(payload, usz) { - var data = payload.slice(payload.l||0); - var out = inflate(data, usz); - payload.l += out[1]; - return out[0]; -} - -function warn_or_throw(wrn, msg) { - if(wrn) { if(typeof console !== 'undefined') console.error(msg); } - else throw new Error(msg); -} - -function parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ { - var blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/; - prep_blob(blob, 0); - - var FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = []; - var o = { - FileIndex: FileIndex, - FullPaths: FullPaths - }; - init_cfb(o, { root: options.root }); - - /* find end of central directory, start just after signature */ - var i = blob.length - 4; - while((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i; - blob.l = i + 4; - - /* parse end of central directory */ - blob.l += 4; - var fcnt = blob.read_shift(2); - blob.l += 6; - var start_cd = blob.read_shift(4); - - /* parse central directory */ - blob.l = start_cd; - - for(i = 0; i < fcnt; ++i) { - /* trust local file header instead of CD entry */ - blob.l += 20; - var csz = blob.read_shift(4); - var usz = blob.read_shift(4); - var namelen = blob.read_shift(2); - var efsz = blob.read_shift(2); - var fcsz = blob.read_shift(2); - blob.l += 8; - var offset = blob.read_shift(4); - var EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/); - blob.l += namelen + efsz + fcsz; - - var L = blob.l; - blob.l = offset + 4; - parse_local_file(blob, csz, usz, o, EF); - blob.l = L; - } - return o; -} - - -/* head starts just after local file header signature */ -function parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) { - /* [local file header] */ - blob.l += 2; - var flags = blob.read_shift(2); - var meth = blob.read_shift(2); - var date = parse_dos_date(blob); - - if(flags & 0x2041) throw new Error("Unsupported ZIP encryption"); - var crc32 = blob.read_shift(4); - var _csz = blob.read_shift(4); - var _usz = blob.read_shift(4); - - var namelen = blob.read_shift(2); - var efsz = blob.read_shift(2); - - // TODO: flags & (1<<11) // UTF8 - var name = ""; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]); - if(efsz) { - var ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/); - if((ef[0x5455]||{}).mt) date = ef[0x5455].mt; - if(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt; - } - blob.l += efsz; - - /* [encryption header] */ - - /* [file data] */ - var data = blob.slice(blob.l, blob.l + _csz); - switch(meth) { - case 8: data = _inflateRawSync(blob, _usz); break; - case 0: break; // TODO: scan for magic number - default: throw new Error("Unsupported ZIP Compression method " + meth); - } - - /* [data descriptor] */ - var wrn = false; - if(flags & 8) { - crc32 = blob.read_shift(4); - if(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; } - _csz = blob.read_shift(4); - _usz = blob.read_shift(4); - } - - if(_csz != csz) warn_or_throw(wrn, "Bad compressed size: " + csz + " != " + _csz); - if(_usz != usz) warn_or_throw(wrn, "Bad uncompressed size: " + usz + " != " + _usz); - //var _crc32 = CRC32.buf(data, 0); - //if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, "Bad CRC32 checksum: " + crc32 + " != " + _crc32); - cfb_add(o, name, data, {unsafe: true, mt: date}); -} -function write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ { - var _opts = options || {}; - var out = [], cdirs = []; - var o/*:CFBlob*/ = new_buf(1); - var method = (_opts.compression ? 8 : 0), flags = 0; - var desc = false; - if(desc) flags |= 8; - var i = 0, j = 0; - - var start_cd = 0, fcnt = 0; - var root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0]; - var crcs = []; - var sz_cd = 0; - - for(i = 1; i < cfb.FullPaths.length; ++i) { - fp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i]; - if(!fi.size || !fi.content || fp == "\u0001Sh33tJ5") continue; - var start = start_cd; - - /* TODO: CP437 filename */ - var namebuf = new_buf(fp.length); - for(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F); - namebuf = namebuf.slice(0, namebuf.l); - crcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0); - - var outbuf = fi.content/*::||[]*/; - if(method == 8) outbuf = _deflateRawSync(outbuf); - - /* local file header */ - o = new_buf(30); - o.write_shift(4, 0x04034b50); - o.write_shift(2, 20); - o.write_shift(2, flags); - o.write_shift(2, method); - /* TODO: last mod file time/date */ - if(fi.mt) write_dos_date(o, fi.mt); - else o.write_shift(4, 0); - o.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]); - o.write_shift(4, (flags & 8) ? 0 : outbuf.length); - o.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length); - o.write_shift(2, namebuf.length); - o.write_shift(2, 0); - - start_cd += o.length; - out.push(o); - start_cd += namebuf.length; - out.push(namebuf); - - /* TODO: extra fields? */ - - /* TODO: encryption header ? */ - - start_cd += outbuf.length; - out.push(outbuf); - - /* data descriptor */ - if(flags & 8) { - o = new_buf(12); - o.write_shift(-4, crcs[fcnt]); - o.write_shift(4, outbuf.length); - o.write_shift(4, /*::(*/fi.content/*::||[])*/.length); - start_cd += o.l; - out.push(o); - } - - /* central directory */ - o = new_buf(46); - o.write_shift(4, 0x02014b50); - o.write_shift(2, 0); - o.write_shift(2, 20); - o.write_shift(2, flags); - o.write_shift(2, method); - o.write_shift(4, 0); /* TODO: last mod file time/date */ - o.write_shift(-4, crcs[fcnt]); - - o.write_shift(4, outbuf.length); - o.write_shift(4, /*::(*/fi.content/*::||[])*/.length); - o.write_shift(2, namebuf.length); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(4, 0); - o.write_shift(4, start); - - sz_cd += o.l; - cdirs.push(o); - sz_cd += namebuf.length; - cdirs.push(namebuf); - ++fcnt; - } - - /* end of central directory */ - o = new_buf(22); - o.write_shift(4, 0x06054b50); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, fcnt); - o.write_shift(2, fcnt); - o.write_shift(4, sz_cd); - o.write_shift(4, start_cd); - o.write_shift(2, 0); - - return bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/)); -} -var ContentTypeMap = ({ - "htm": "text/html", - "xml": "text/xml", - - "gif": "image/gif", - "jpg": "image/jpeg", - "png": "image/png", - - "mso": "application/x-mso", - "thmx": "application/vnd.ms-officetheme", - "sh33tj5": "application/octet-stream" -}/*:any*/); - -function get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ { - if(fi.ctype) return fi.ctype; - - var ext = fi.name || "", m = ext.match(/\.([^\.]+)$/); - if(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]]; - - if(fp) { - m = (ext = fp).match(/[\.\\]([^\.\\])+$/); - if(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]]; - } - - return "application/octet-stream"; -} - -/* 76 character chunks TODO: intertwine encoding */ -function write_base64_76(bstr/*:string*/)/*:string*/ { - var data = Base64_encode(bstr); - var o = []; - for(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76)); - return o.join("\r\n") + "\r\n"; -} - -/* -Rules for QP: - - escape =## applies for all non-display characters and literal "=" - - space or tab at end of line must be encoded - - \r\n newlines can be preserved, but bare \r and \n must be escaped - - lines must not exceed 76 characters, use soft breaks =\r\n - -TODO: Some files from word appear to write line extensions with bare equals: - -``` -*/ = [], split = encoded.split("\r\n"); - for(var si = 0; si < split.length; ++si) { - var str = split[si]; - if(str.length == 0) { o.push(""); continue; } - for(var i = 0; i < str.length;) { - var end = 76; - var tmp = str.slice(i, i + end); - if(tmp.charAt(end - 1) == "=") end --; - else if(tmp.charAt(end - 2) == "=") end -= 2; - else if(tmp.charAt(end - 3) == "=") end -= 3; - tmp = str.slice(i, i + end); - i += end; - if(i < str.length) tmp += "="; - o.push(tmp); - } - } - - return o.join("\r\n"); -} -function parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ { - var o = []; - - /* unify long lines */ - for(var di = 0; di < data.length; ++di) { - var line = data[di]; - while(di <= data.length && line.charAt(line.length - 1) == "=") line = line.slice(0, line.length - 1) + data[++di]; - o.push(line); - } - - /* decode */ - for(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); }); - return s2a(o.join("\r\n")); -} - - -function parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ { - var fname = "", cte = "", ctype = "", fdata; - var di = 0; - for(;di < 10; ++di) { - var line = data[di]; - if(!line || line.match(/^\s*$/)) break; - var m = line.match(/^(.*?):\s*([^\s].*)$/); - if(m) switch(m[1].toLowerCase()) { - case "content-location": fname = m[2].trim(); break; - case "content-type": ctype = m[2].trim(); break; - case "content-transfer-encoding": cte = m[2].trim(); break; - } - } - ++di; - switch(cte.toLowerCase()) { - case 'base64': fdata = s2a(Base64_decode(data.slice(di).join(""))); break; - case 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break; - default: throw new Error("Unsupported Content-Transfer-Encoding " + cte); - } - var file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true}); - if(ctype) file.ctype = ctype; -} - -function parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ { - if(a2s(file.slice(0,13)).toLowerCase() != "mime-version:") throw new Error("Unsupported MAD header"); - var root = (options && options.root || ""); - // $FlowIgnore - var data = (has_buf && Buffer.isBuffer(file) ? file.toString("binary") : a2s(file)).split("\r\n"); - var di = 0, row = ""; - - /* if root is not specified, scan for the common prefix */ - for(di = 0; di < data.length; ++di) { - row = data[di]; - if(!/^Content-Location:/i.test(row)) continue; - row = row.slice(row.indexOf("file")); - if(!root) root = row.slice(0, row.lastIndexOf("/") + 1); - if(row.slice(0, root.length) == root) continue; - while(root.length > 0) { - root = root.slice(0, root.length - 1); - root = root.slice(0, root.lastIndexOf("/") + 1); - if(row.slice(0,root.length) == root) break; - } - } - - var mboundary = (data[1] || "").match(/boundary="(.*?)"/); - if(!mboundary) throw new Error("MAD cannot find boundary"); - var boundary = "--" + (mboundary[1] || ""); - - var FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = []; - var o = { - FileIndex: FileIndex, - FullPaths: FullPaths - }; - init_cfb(o); - var start_di, fcnt = 0; - for(di = 0; di < data.length; ++di) { - var line = data[di]; - if(line !== boundary && line !== boundary + "--") continue; - if(fcnt++) parse_mime(o, data.slice(start_di, di), root); - start_di = di; - } - return o; -} - -function write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ { - var opts = options || {}; - var boundary = opts.boundary || "SheetJS"; - boundary = '------=' + boundary; - - var out = [ - 'MIME-Version: 1.0', - 'Content-Type: multipart/related; boundary="' + boundary.slice(2) + '"', - '', - '', - '' - ]; - - var root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0]; - for(var i = 1; i < cfb.FullPaths.length; ++i) { - fp = cfb.FullPaths[i].slice(root.length); - fi = cfb.FileIndex[i]; - if(!fi.size || !fi.content || fp == "\u0001Sh33tJ5") continue; - - /* Normalize filename */ - fp = fp.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7E-\xFF]/g, function(c) { - return "_x" + c.charCodeAt(0).toString(16) + "_"; - }).replace(/[\u0080-\uFFFF]/g, function(u) { - return "_u" + u.charCodeAt(0).toString(16) + "_"; - }); - - /* Extract content as binary string */ - var ca = fi.content; - // $FlowIgnore - var cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString("binary") : a2s(ca); - - /* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */ - var dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0; - for(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt; - var qp = dispcnt >= L * 4 / 5; - - out.push(boundary); - out.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp); - out.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64')); - out.push('Content-Type: ' + get_content_type(fi, fp)); - out.push(''); - - out.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr)); - } - out.push(boundary + '--\r\n'); - return out.join("\r\n"); -} -function cfb_new(opts/*:?any*/)/*:CFBContainer*/ { - var o/*:CFBContainer*/ = ({}/*:any*/); - init_cfb(o, opts); - return o; -} - -function cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ { - var unsafe = opts && opts.unsafe; - if(!unsafe) init_cfb(cfb); - var file = !unsafe && CFB.find(cfb, name); - if(!file) { - var fpath/*:string*/ = cfb.FullPaths[0]; - if(name.slice(0, fpath.length) == fpath) fpath = name; - else { - if(fpath.slice(-1) != "/") fpath += "/"; - fpath = (fpath + name).replace("//","/"); - } - file = ({name: filename(name), type: 2}/*:any*/); - cfb.FileIndex.push(file); - cfb.FullPaths.push(fpath); - if(!unsafe) CFB.utils.cfb_gc(cfb); - } - /*:: if(!file) throw new Error("unreachable"); */ - file.content = (content/*:any*/); - file.size = content ? content.length : 0; - if(opts) { - if(opts.CLSID) file.clsid = opts.CLSID; - if(opts.mt) file.mt = opts.mt; - if(opts.ct) file.ct = opts.ct; - } - return file; -} - -function cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ { - init_cfb(cfb); - var file = CFB.find(cfb, name); - if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) { - cfb.FileIndex.splice(j, 1); - cfb.FullPaths.splice(j, 1); - return true; - } - return false; -} - -function cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ { - init_cfb(cfb); - var file = CFB.find(cfb, old_name); - if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) { - cfb.FileIndex[j].name = filename(new_name); - cfb.FullPaths[j] = new_name; - return true; - } - return false; -} - -function cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); } - -exports.find = find; -exports.read = read; -exports.parse = parse; -exports.write = write; -exports.writeFile = write_file; -exports.utils = { - cfb_new: cfb_new, - cfb_add: cfb_add, - cfb_del: cfb_del, - cfb_mov: cfb_mov, - cfb_gc: cfb_gc, - ReadShift: ReadShift, - CheckField: CheckField, - prep_blob: prep_blob, - bconcat: bconcat, - use_zlib: use_zlib, - _deflateRaw: _deflate, - _inflateRaw: _inflate, - consts: consts -}; - -return exports; -})(); - -let _fs = void 0; -function set_fs(fs) { _fs = fs; } - - -/* normalize data for blob ctor */ -function blobify(data) { - if(typeof data === "string") return s2ab(data); - if(Array.isArray(data)) return a2u(data); - return data; -} -/* write or download file */ -function write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) { - /*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */ - if(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload); - if(typeof Deno !== 'undefined') { - /* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */ - if(enc && typeof payload == "string") switch(enc) { - case "utf8": payload = new TextEncoder(enc).encode(payload); break; - case "binary": payload = s2ab(payload); break; - /* TODO: binary equivalent */ - default: throw new Error("Unsupported encoding " + enc); - } - return Deno.writeFileSync(fname, payload); - } - var data = (enc == "utf8") ? utf8write(payload) : payload; - /*:: declare var IE_SaveFile: any; */ - if(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname); - if(typeof Blob !== 'undefined') { - var blob = new Blob([blobify(data)], {type:"application/octet-stream"}); - /*:: declare var navigator: any; */ - if(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname); - /*:: declare var saveAs: any; */ - if(typeof saveAs !== 'undefined') return saveAs(blob, fname); - if(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) { - var url = URL.createObjectURL(blob); - /*:: declare var chrome: any; */ - if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { - if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); - } - var a = document.createElement("a"); - if(a.download != null) { - /*:: if(document.body == null) throw new Error("unreachable"); */ - a.download = fname; a.href = url; document.body.appendChild(a); a.click(); - /*:: if(document.body == null) throw new Error("unreachable"); */ document.body.removeChild(a); - if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return url; - } - } - } - // $FlowIgnore - if(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript - // $FlowIgnore - var out = File(fname); out.open("w"); out.encoding = "binary"; - if(Array.isArray(payload)) payload = a2s(payload); - out.write(payload); out.close(); return payload; - } catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; } - throw new Error("cannot save file " + fname); -} - -/* read binary data from file */ -function read_binary(path/*:string*/) { - if(typeof _fs !== 'undefined') return _fs.readFileSync(path); - if(typeof Deno !== 'undefined') return Deno.readFileSync(path); - // $FlowIgnore - if(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript - // $FlowIgnore - var infile = File(path); infile.open("r"); infile.encoding = "binary"; - var data = infile.read(); infile.close(); - return data; - } catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; } - throw new Error("Cannot access file " + path); -} -function keys(o/*:any*/)/*:Array*/ { - var ks = Object.keys(o), o2 = []; - for(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]); - return o2; -} - -function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { - var o = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i]; - return o; -} - -function evert(obj/*:any*/)/*:EvertType*/ { - var o = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i]; - return o; -} - -function evert_num(obj/*:any*/)/*:EvertNumType*/ { - var o = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10); - return o; -} - -function evert_arr(obj/*:any*/)/*:EvertArrType*/ { - var o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) { - if(o[obj[K[i]]] == null) o[obj[K[i]]] = []; - o[obj[K[i]]].push(K[i]); - } - return o; -} - -var basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 -function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); -} -var refdate = /*#__PURE__*/new Date(); -var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; -var refoffset = /*#__PURE__*/refdate.getTimezoneOffset(); -function numdate(v/*:number*/)/*:Date*/ { - var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } - return out; -} - -/* ISO 8601 Duration */ -function parse_isodur(s) { - var sec = 0, mt = 0, time = false; - var m = s.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/); - if(!m) throw new Error("|" + s + "| is not an ISO8601 Duration"); - for(var i = 1; i != m.length; ++i) { - if(!m[i]) continue; - mt = 1; - if(i > 3) time = true; - switch(m[i].slice(m[i].length-1)) { - case 'Y': - throw new Error("Unsupported ISO Duration Field: " + m[i].slice(m[i].length-1)); - case 'D': mt *= 24; - /* falls through */ - case 'H': mt *= 60; - /* falls through */ - case 'M': - if(!time) throw new Error("Unsupported ISO Duration Field: M"); - else mt *= 60; - /* falls through */ - case 'S': break; - } - sec += mt * parseInt(m[i], 10); - } - return sec; -} - -var good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1; -var good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) { - /*:: if(fixdate == null) fixdate = 0; */ - if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } - if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; -} - -function cc2str(arr/*:Array*/, debomit)/*:string*/ { - if(has_buf && Buffer.isBuffer(arr)) { - if(debomit) { - if(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString("utf16le")); - if(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString("binary"))); - } - return arr.toString("binary"); - } - - if(typeof TextDecoder !== "undefined") try { - if(debomit) { - if(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder("utf-16le").decode(arr.slice(2))); - if(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder("utf-16be").decode(arr.slice(2))); - } - var rev = { - "\u20ac": "\x80", "\u201a": "\x82", "\u0192": "\x83", "\u201e": "\x84", - "\u2026": "\x85", "\u2020": "\x86", "\u2021": "\x87", "\u02c6": "\x88", - "\u2030": "\x89", "\u0160": "\x8a", "\u2039": "\x8b", "\u0152": "\x8c", - "\u017d": "\x8e", "\u2018": "\x91", "\u2019": "\x92", "\u201c": "\x93", - "\u201d": "\x94", "\u2022": "\x95", "\u2013": "\x96", "\u2014": "\x97", - "\u02dc": "\x98", "\u2122": "\x99", "\u0161": "\x9a", "\u203a": "\x9b", - "\u0153": "\x9c", "\u017e": "\x9e", "\u0178": "\x9f" - }; - if(Array.isArray(arr)) arr = new Uint8Array(arr); - return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); - } catch(e) {} - - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); - return o.join(""); -} - -function dup(o/*:any*/)/*:any*/ { - if(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o)); - if(typeof o != 'object' || o == null) return o; - if(o instanceof Date) return new Date(o.getTime()); - var out = {}; - for(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]); - return out; -} - -function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } - -/* TODO: stress test */ -function fuzzynum(s/*:string*/)/*:number*/ { - var v/*:number*/ = Number(s); - if(!isNaN(v)) return isFinite(v) ? v : NaN; - if(!/\d/.test(s)) return v; - var wt = 1; - var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); - if(!isNaN(v = Number(ss))) return v / wt; - ss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;}); - if(!isNaN(v = Number(ss))) return v / wt; - return v; -} -var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; -function fuzzydate(s/*:string*/)/*:Date*/ { - var o = new Date(s), n = new Date(NaN); - var y = o.getYear(), m = o.getMonth(), d = o.getDate(); - if(isNaN(d)) return n; - var lower = s.toLowerCase(); - if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { - lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); - if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; - } else if(lower.match(/[a-z]/)) return n; - if(y < 0 || y > 8099) return n; - if((m > 0 || d > 1) && y != 101) return o; - if(s.match(/[^-0-9:,\/\\]/)) return n; - return o; -} - -var split_regex = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - var safe_split_regex = "abacaba".split(/(:?b)/i).length == 5; - return function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ { - if(safe_split_regex || typeof re == "string") return str.split(re); - var p = str.split(re), o = [p[0]]; - for(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); } - return o; - }; -})())); -function getdatastr(data)/*:?string*/ { - if(!data) return null; - if(data.content && data.type) return cc2str(data.content, true); - if(data.data) return debom(data.data); - if(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom(data.asBinary()); - if(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); - return null; -} - -function getdatabin(data) { - if(!data) return null; - if(data.data) return char_codes(data.data); - if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); - if(data._data && data._data.getContent) { - var o = data._data.getContent(); - if(typeof o == "string") return char_codes(o); - return Array.prototype.slice.call(o); - } - if(data.content && data.type) return data.content; - return null; -} - -function getdata(data) { return (data && data.name.slice(-4) === ".bin") ? getdatabin(data) : getdatastr(data); } - -/* Part 2 Section 10.1.2 "Mapping Content Types" Names are case-insensitive */ -/* OASIS does not comment on filename case sensitivity */ -function safegetzipfile(zip, file/*:string*/) { - var k = zip.FullPaths || keys(zip.files); - var f = file.toLowerCase().replace(/[\/]/g, '\\'), g = f.replace(/\\/g,'\/'); - for(var i=0; i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g; -var tagregex1=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/mg, tagregex2 = /<[^>]*>/g; -var tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2; -var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; -function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ { - var z = ({}/*:any*/); - var eq = 0, c = 0; - for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break; - if(!skip_root) z[0] = tag.slice(0, eq); - if(eq === tag.length) return z; - var m = tag.match(attregexg), j=0, v="", i=0, q="", cc="", quot = 1; - if(m) for(i = 0; i != m.length; ++i) { - cc = m[i]; - for(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break; - q = cc.slice(0,c).trim(); - while(cc.charCodeAt(c+1) == 32) ++c; - quot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0; - v = cc.slice(c+1+quot, cc.length-quot); - for(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break; - if(j===q.length) { - if(q.indexOf("_") > 0) q = q.slice(0, q.indexOf("_")); // from ods - z[q] = v; - if(!skip_LC) z[q.toLowerCase()] = v; - } - else { - var k = (j===5 && q.slice(0,5)==="xmlns"?"xmlns":"")+q.slice(j+1); - if(z[k] && q.slice(j-3,j) == "ext") continue; // from ods - z[k] = v; - if(!skip_LC) z[k.toLowerCase()] = v; - } - } - return z; -} -function strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, "<$1"); } - -var encodings = { - '"': '"', - ''': "'", - '>': '>', - '<': '<', - '&': '&' -}; -var rencoding = /*#__PURE__*/evert(encodings); -//var rencstr = "&<>'\"".split(""); - -// TODO: CP remap (need to read file version to determine OS) -var unescapexml/*:StringConv*/ = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - /* 22.4.2.4 bstr (Basic String) */ - var encregex = /&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/ig, coderegex = /_x([\da-fA-F]{4})_/ig; - return function unescapexml(text/*:string*/)/*:string*/ { - var s = text + '', i = s.indexOf("-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));}); - var j = s.indexOf("]]>"); - return unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3)); - }; -})())); - -var decregex=/[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f]/g; -function escapexml(text/*:string*/)/*:string*/{ - var s = text + ''; - return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).slice(-4) + "_";}); -} -function escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,"_x0020_"); } - -var htmlcharegex = /[\u0000-\u001f]/g; -function escapehtml(text/*:string*/)/*:string*/{ - var s = text + ''; - return s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\n/g, "
").replace(htmlcharegex,function(s) { return "&#x" + ("000"+s.charCodeAt(0).toString(16)).slice(-4) + ";"; }); -} - -function escapexlml(text/*:string*/)/*:string*/{ - var s = text + ''; - return s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return "&#x" + (s.charCodeAt(0).toString(16)).toUpperCase() + ";"; }); -} - -/* TODO: handle codepages */ -var xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - var entregex = /&#(\d+);/g; - function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } - return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; -})())); -function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); } - -function parsexmlbool(value/*:any*/)/*:boolean*/ { - switch(value) { - case 1: case true: case '1': case 'true': case 'TRUE': return true; - /* case '0': case 'false': case 'FALSE':*/ - default: return false; - } -} - -function utf8reada(orig/*:string*/)/*:string*/ { - 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) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); 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(0xD800 + ((w>>>10)&1023)); - out += String.fromCharCode(0xDC00 + (w&1023)); - } - return out; -} - -function utf8readb(data) { - var out = new_raw_buf(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 = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023); - } - if(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; } - out[k++] = w%256; out[k++] = w>>>8; - } - return out.slice(0,k).toString('ucs2'); -} - -function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); } - -var utf8corpus = "foo bar baz\u00e2\u0098\u0083\u00f0\u009f\u008d\u00a3"; -var utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada; - -var utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString("binary"); } : function(orig/*:string*/)/*:string*/ { - var out/*:Array*/ = [], i = 0, c = 0, d = 0; - while(i < orig.length) { - c = orig.charCodeAt(i++); - switch(true) { - case c < 128: out.push(String.fromCharCode(c)); break; - case c < 2048: - out.push(String.fromCharCode(192 + (c >> 6))); - out.push(String.fromCharCode(128 + (c & 63))); - break; - case c >= 55296 && c < 57344: - c -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10); - out.push(String.fromCharCode(240 + ((d >>18) & 7))); - out.push(String.fromCharCode(144 + ((d >>12) & 63))); - out.push(String.fromCharCode(128 + ((d >> 6) & 63))); - out.push(String.fromCharCode(128 + (d & 63))); - break; - default: - out.push(String.fromCharCode(224 + (c >> 12))); - out.push(String.fromCharCode(128 + ((c >> 6) & 63))); - out.push(String.fromCharCode(128 + (c & 63))); - } - } - return out.join(""); -}; - -// matches ... extracts content -var matchtag = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - var mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/); - return function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ { - var t = f+"|"+(g||""); - if(mtcache[t]) return mtcache[t]; - return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)',((g||"")/*:any*/))); - }; -})())); - -var htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() { - var entities/*:Array<[RegExp, string]>*/ = [ - ['nbsp', ' '], ['middot', '·'], - ['quot', '"'], ['apos', "'"], ['gt', '>'], ['lt', '<'], ['amp', '&'] - ].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', "ig"), x[1]]; }); - return function htmldecode(str/*:string*/)/*:string*/ { - var o = str - // Remove new lines and spaces from start of content - .replace(/^[\t\n\r ]+/, "") - // Remove new lines and spaces from end of content - .replace(/[\t\n\r ]+$/,"") - // Added line which removes any white space characters after and before html tags - .replace(/>\s+/g,">").replace(/\s+ tags with new lines - .replace(/<\s*[bB][rR]\s*\/?>/g,"\n") - // Strip HTML elements - .replace(/<[^>]*>/g,""); - for(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]); - return o; - }; -})(); - -var vtregex = /*#__PURE__*/(/* unused pure expression or super */ null && ((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 + ">([\\s\\S]*?)", 'g') ); -};})())); -var vtvregex = /<\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\s\S]*)*/ { - var h = parsexmltag(data); - - var matches/*:Array*/ = data.match(vtregex(h.baseType))||[]; - var res/*:Array*/ = []; - if(matches.length != h.size) { - if(opts.WTF) throw new Error("unexpected vector length " + matches.length + " != " + h.size); - return res; - } - matches.forEach(function(x/*:string*/) { - var v = x.replace(vtvregex,"").match(vtmregex); - if(v) res.push({v:utf8read(v[2]), t:v[1]}); - }); - return res; -} - -var wtregex = /(^\s|\s$|\n)/; -function writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + ''; } - -function wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } -function writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : "") + ((g != null) ? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} - -function write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } - -function write_vt(s, xlsx/*:?boolean*/)/*:string*/ { - switch(typeof s) { - case 'string': - var o = writextag('vt:lpwstr', escapexml(s)); - if(xlsx) o = o.replace(/"/g, "_x0022_"); - return o; - case 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s))); - case 'boolean': return writextag('vt:bool',s?'true':'false'); - } - if(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s)); - throw new Error("Unable to serialize " + s); -} - -function xlml_normalize(d)/*:string*/ { - if(has_buf &&/*::typeof Buffer !== "undefined" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8'); - if(typeof d === 'string') return d; - /* duktape */ - if(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d))); - throw new Error("Bad input format: expected Buffer or string"); -} -/* UOS uses CJK in tags */ -var xlmlregex = /<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/mg; -//var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; - -var XMLNS = ({ - CORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties', - CUST_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", - EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", - CT: 'http://schemas.openxmlformats.org/package/2006/content-types', - RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', - TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', - 'dc': 'http://purl.org/dc/elements/1.1/', - 'dcterms': 'http://purl.org/dc/terms/', - 'dcmitype': 'http://purl.org/dc/dcmitype/', - 'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main', - 'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships', - 'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties', - 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', - 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', - 'xsd': 'http://www.w3.org/2001/XMLSchema' -}/*:any*/); - -var XMLNS_main = [ - 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', - 'http://purl.oclc.org/ooxml/spreadsheetml/main', - 'http://schemas.microsoft.com/office/excel/2006/main', - 'http://schemas.microsoft.com/office/excel/2006/2' -]; - -var XLMLNS = ({ - 'o': 'urn:schemas-microsoft-com:office:office', - 'x': 'urn:schemas-microsoft-com:office:excel', - 'ss': 'urn:schemas-microsoft-com:office:spreadsheet', - 'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882', - 'mv': 'http://macVmlSchemaUri', - 'v': 'urn:schemas-microsoft-com:vml', - 'html': 'http://www.w3.org/TR/REC-html40' -}/*:any*/); -function read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { - var s = 1 - 2 * (b[idx + 7] >>> 7); - var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); - var m = (b[idx+6]&0x0f); - for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; - if(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN; - if(e == 0) e = -1022; - else { e -= 1023; m += Math.pow(2,52); } - return s * Math.pow(2, e - 52) * m; -} - -function write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) { - var bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0; - var av = bs ? (-v) : v; - if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } - else if(av == 0) e = m = 0; - else { - e = Math.floor(Math.log(av) / Math.LN2); - m = av * Math.pow(2, 52 - e); - if((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; } - else { m -= Math.pow(2,52); e+=1023; } - } - for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; - b[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf); - b[idx + 7] = (e >> 4) | bs; -} - -var ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer; - -var ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : "";}; -var __lpstr = ___lpstr; - -var ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; -var __cpstr = ___cpstr; - -var ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; -var __lpwstr = ___lpwstr; - -var ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : "";}; -var __lpp4 = ___lpp4; - -var ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : "";}; -var __8lpp4 = ___8lpp4; - -var ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);}; -var __double = ___double; - -var is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== "undefined" && a instanceof Uint8Array); }; - -if(has_buf/*:: && typeof Buffer !== 'undefined'*/) { - __lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; - __cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; - __lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);}; - __lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);}; - __8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);}; - __double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); }; - is_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== "undefined" && a instanceof Uint8Array); }; -} - -/* from js-xls */ -function cpdoit() { - __utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; - __utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); }; - __lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; - __cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; - __lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; - __lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; - __8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; -} -if(typeof $cptable !== 'undefined') cpdoit(); - -var __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; }; -var __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; }; -var __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); }; -var __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; }; -var __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; }; -var __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; }; - -function ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ { - var o="", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc; - switch(t) { - case 'dbcs': - loc = this.l; - if(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString("utf16le"); - else for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; } - size *= 2; - break; - - case 'utf8': o = __utf8(this, this.l, this.l + size); break; - case 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break; - - case 'wstr': - if(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); - else return ReadShift.call(this, size, 'dbcs'); - size = 2 * size; break; - - /* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */ - case 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break; - case 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break; - /* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */ - case 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break; - /* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */ - case 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break; - /* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */ - case '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break; - - case 'cstr': size = 0; o = ""; - while((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w)); - o = oo.join(""); break; - case '_wstr': size = 0; o = ""; - while((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;} - size+=2; o = oo.join(""); break; - - /* sbcs and dbcs support continue records in the SST way TODO codepages */ - case 'dbcs-cont': o = ""; loc = this.l; - for(i = 0; i < size; ++i) { - if(this.lens && this.lens.indexOf(loc) !== -1) { - w = __readUInt8(this, loc); - this.l = loc + 1; - vv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont'); - return oo.join("") + vv; - } - oo.push(_getchar(__readUInt16LE(this, loc))); - loc+=2; - } o = oo.join(""); size *= 2; break; - - case 'cpstr': - if(typeof $cptable !== 'undefined') { - o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); - break; - } - /* falls through */ - case 'sbcs-cont': o = ""; loc = this.l; - for(i = 0; i != size; ++i) { - if(this.lens && this.lens.indexOf(loc) !== -1) { - w = __readUInt8(this, loc); - this.l = loc + 1; - vv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont'); - return oo.join("") + vv; - } - oo.push(_getchar(__readUInt8(this, loc))); - loc+=1; - } o = oo.join(""); break; - - default: - switch(size) { - case 1: oI = __readUInt8(this, this.l); this.l++; return oI; - case 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI; - case 4: case -4: - if(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; } - else { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR; - case 8: case -8: - if(t === 'f') { - if(size == 8) oR = __double(this, this.l); - else oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0); - this.l += 8; return oR; - } else size = 8; - /* falls through */ - case 16: o = __hexlify(this, this.l, size); break; - }} - this.l+=size; return o; -} - -var __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; -var __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; -var __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; - -function WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ { - var size = 0, i = 0; - if(f === 'dbcs') { - /*:: if(typeof val !== 'string') throw new Error("unreachable"); */ - for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); - size = 2 * val.length; - } else if(f === 'sbcs') { - if(typeof $cptable !== 'undefined' && current_ansi == 874) { - /* TODO: use tables directly, don't encode */ - /*:: if(typeof val !== "string") throw new Error("unreachable"); */ - for(i = 0; i != val.length; ++i) { - var cppayload = $cptable.utils.encode(current_ansi, val.charAt(i)); - this[this.l + i] = cppayload[0]; - } - } else { - /*:: if(typeof val !== 'string') throw new Error("unreachable"); */ - val = val.replace(/[^\x00-\x7F]/g, "_"); - /*:: if(typeof val !== 'string') throw new Error("unreachable"); */ - for(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF); - } - size = val.length; - } else if(f === 'hex') { - for(; i < t; ++i) { - /*:: if(typeof val !== "string") throw new Error("unreachable"); */ - this[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0); - } return this; - } else if(f === 'utf16le') { - /*:: if(typeof val !== "string") throw new Error("unreachable"); */ - var end/*:number*/ = Math.min(this.l + t, this.length); - for(i = 0; i < Math.min(val.length, t); ++i) { - var cc = val.charCodeAt(i); - this[this.l++] = (cc & 0xff); - this[this.l++] = (cc >> 8); - } - while(this.l < end) this[this.l++] = 0; - return this; - } else /*:: if(typeof val === 'number') */ switch(t) { - case 1: size = 1; this[this.l] = val&0xFF; break; - case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; - case 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break; - case 4: size = 4; __writeUInt32LE(this, val, this.l); break; - case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; } - /* falls through */ - case 16: break; - case -4: size = 4; __writeInt32LE(this, val, this.l); break; - } - this.l += size; return this; -} - -function CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ { - var m = __hexlify(this,this.l,hexstr.length>>1); - if(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m); - this.l += hexstr.length>>1; -} - -function prep_blob(blob, pos/*:number*/)/*:void*/ { - blob.l = pos; - blob.read_shift = /*::(*/ReadShift/*:: :any)*/; - blob.chk = CheckField; - blob.write_shift = WriteShift; -} - -function parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; } - -function new_buf(sz/*:number*/)/*:Block*/ { - var o = new_raw_buf(sz); - prep_blob(o, 0); - return o; -} - -/* [MS-XLSB] 2.1.4 Record */ -function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { - if(!data) return; - var tmpbyte, cntbyte, length; - prep_blob(data, data.l || 0); - var L = data.length, RT = 0, tgt = 0; - while(data.l < L) { - RT = data.read_shift(1); - if(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7); - var R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF]; - tmpbyte = data.read_shift(1); - length = tmpbyte & 0x7F; - for(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte); - tgt = data.l + length; - var d = R.f && R.f(data, length, opts); - data.l = tgt; - if(cb(d, R, RT)) return; - } -} - -/* control buffer usage for fixed-length buffers */ -function buf_array()/*:BufArray*/ { - var bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048; - var newblk = function ba_newblk(sz/*:number*/)/*:Block*/ { - var o/*:Block*/ = (new_buf(sz)/*:any*/); - prep_blob(o, 0); - return o; - }; - - var curbuf/*:Block*/ = newblk(blksz); - - var endbuf = function ba_endbuf() { - if(!curbuf) return; - if(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; } - if(curbuf.length > 0) bufs.push(curbuf); - curbuf = null; - }; - - var next = function ba_next(sz/*:number*/)/*:Block*/ { - if(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf; - endbuf(); - return (curbuf = newblk(Math.max(sz+1, blksz))); - }; - - var end = function ba_end() { - endbuf(); - return bconcat(bufs); - }; - - var push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); }; - - return ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/); -} - -function write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) { - var t/*:number*/ = +type, l; - if(isNaN(t)) return; // TODO: throw something here? - if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; - l = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/; - if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; - var o = ba.next(l); - if(t <= 0x7F) o.write_shift(1, t); - else { - o.write_shift(1, (t & 0x7F) + 0x80); - o.write_shift(1, (t >> 7)); - } - for(var i = 0; i != 4; ++i) { - if(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; } - else { o.write_shift(1, length); break; } - } - if(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload); -} -/* XLS ranges enforced */ -function shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ { - var out = dup(cell); - if(tgt.s) { - if(out.cRel) out.c += tgt.s.c; - if(out.rRel) out.r += tgt.s.r; - } else { - if(out.cRel) out.c += tgt.c; - if(out.rRel) out.r += tgt.r; - } - if(!opts || opts.biff < 12) { - while(out.c >= 0x100) out.c -= 0x100; - while(out.r >= 0x10000) out.r -= 0x10000; - } - return out; -} - -function shift_range_xls(cell, range, opts) { - var out = dup(cell); - out.s = shift_cell_xls(out.s, range.s, opts); - out.e = shift_cell_xls(out.e, range.s, opts); - return out; -} - -function encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ { - if(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; } - if(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); } - var s = encode_cell(c); - if(!c.cRel && c.cRel != null) s = fix_col(s); - if(!c.rRel && c.rRel != null) s = fix_row(s); - return s; -} - -function encode_range_xls(r, opts)/*:string*/ { - if(r.s.r == 0 && !r.s.rRel) { - if(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) { - return (r.s.cRel ? "" : "$") + encode_col(r.s.c) + ":" + (r.e.cRel ? "" : "$") + encode_col(r.e.c); - } - } - if(r.s.c == 0 && !r.s.cRel) { - if(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) { - return (r.s.rRel ? "" : "$") + encode_row(r.s.r) + ":" + (r.e.rRel ? "" : "$") + encode_row(r.e.r); - } - } - return encode_cell_xls(r.s, opts.biff) + ":" + encode_cell_xls(r.e, opts.biff); -} -function decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; } -function encode_row(row/*:number*/)/*:string*/ { return "" + (row + 1); } -function fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } -function unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\$(\d+)$/,"$1"); } - -function decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; } -function encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error("invalid column " + col); var s=""; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; } -function fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,"$$$1"); } -function unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\$([A-Z])/,"$1"); } - -function split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } -//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } -function decode_cell(cstr/*:string*/)/*:CellAddress*/ { - var R = 0, C = 0; - for(var i = 0; i < cstr.length; ++i) { - var cc = cstr.charCodeAt(i); - if(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48); - else if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64); - } - return { c: C - 1, r:R - 1 }; -} -//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); } -function encode_cell(cell/*:CellAddress*/)/*:string*/ { - var col = cell.c + 1; - var s=""; - for(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s; - return s + (cell.r + 1); -} -function decode_range(range/*:string*/)/*:Range*/ { - var idx = range.indexOf(":"); - if(idx == -1) return { s: decode_cell(range), e: decode_cell(range) }; - return { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) }; -} -/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */ -function encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ { - if(typeof ce === 'undefined' || typeof ce === 'number') { -/*:: if(!(cs instanceof Range)) throw "unreachable"; */ - return encode_range(cs.s, cs.e); - } -/*:: if((cs instanceof Range)) throw "unreachable"; */ - if(typeof cs !== 'string') cs = encode_cell((cs/*:any*/)); - if(typeof ce !== 'string') ce = encode_cell((ce/*:any*/)); -/*:: if(typeof cs !== 'string') throw "unreachable"; */ -/*:: if(typeof ce !== 'string') throw "unreachable"; */ - return cs == ce ? cs : cs + ":" + ce; -} - -function safe_decode_range(range/*:string*/)/*:Range*/ { - var o = {s:{c:0,r:0},e:{c:0,r:0}}; - var idx = 0, i = 0, cc = 0; - var len = range.length; - for(idx = 0; i < len; ++i) { - if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break; - idx = 26*idx + cc; - } - o.s.c = --idx; - - for(idx = 0; i < len; ++i) { - if((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break; - idx = 10*idx + cc; - } - o.s.r = --idx; - - if(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; } - ++i; - - for(idx = 0; i != len; ++i) { - if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break; - idx = 26*idx + cc; - } - o.e.c = --idx; - - for(idx = 0; i != len; ++i) { - if((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break; - idx = 10*idx + cc; - } - o.e.r = --idx; - return o; -} - -function safe_format_cell(cell/*:Cell*/, v/*:any*/) { - var q = (cell.t == 'd' && v instanceof Date); - if(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { } - try { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; } -} - -function format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) { - if(cell == null || cell.t == null || cell.t == 'z') return ""; - if(cell.w !== undefined) return cell.w; - if(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF; - if(cell.t == "e") return BErr[cell.v] || cell.v; - if(v == undefined) return safe_format_cell(cell, cell.v); - return safe_format_cell(cell, v); -} - -function sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ { - var n = opts && opts.sheet ? opts.sheet : "Sheet1"; - var sheets = {}; sheets[n] = sheet; - return { SheetNames: [n], Sheets: sheets }; -} - -function sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { - var o = opts || {}; - var dense = _ws ? Array.isArray(_ws) : o.dense; - if(DENSE != null && dense == null) dense = DENSE; - var ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/)); - var _R = 0, _C = 0; - if(ws && o.origin != null) { - if(typeof o.origin == 'number') _R = o.origin; - else { - var _origin/*:CellAddress*/ = typeof o.origin == "string" ? decode_cell(o.origin) : o.origin; - _R = _origin.r; _C = _origin.c; - } - if(!ws["!ref"]) ws["!ref"] = "A1:A1"; - } - var range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/); - if(ws['!ref']) { - var _range = safe_decode_range(ws['!ref']); - range.s.c = _range.s.c; - range.s.r = _range.s.r; - range.e.c = Math.max(range.e.c, _range.e.c); - range.e.r = Math.max(range.e.r, _range.e.r); - if(_R == -1) range.e.r = _R = _range.e.r + 1; - } - for(var R = 0; R != data.length; ++R) { - if(!data[R]) continue; - if(!Array.isArray(data[R])) throw new Error("aoa_to_sheet expects an array of arrays"); - for(var C = 0; C != data[R].length; ++C) { - if(typeof data[R][C] === 'undefined') continue; - var cell/*:Cell*/ = ({v: data[R][C] }/*:any*/); - var __R = _R + R, __C = _C + C; - if(range.s.r > __R) range.s.r = __R; - if(range.s.c > __C) range.s.c = __C; - if(range.e.r < __R) range.e.r = __R; - if(range.e.c < __C) range.e.c = __C; - if(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C]; - else { - if(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; } - if(cell.v === null) { - if(cell.f) cell.t = 'n'; - else if(o.nullError) { cell.t = 'e'; cell.v = 0; } - else if(!o.sheetStubs) continue; - else cell.t = 'z'; - } - else if(typeof cell.v === 'number') cell.t = 'n'; - else if(typeof cell.v === 'boolean') cell.t = 'b'; - else if(cell.v instanceof Date) { - cell.z = o.dateNF || table_fmt[14]; - if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); } - else { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); } - } - else cell.t = 's'; - } - if(dense) { - if(!ws[__R]) ws[__R] = []; - if(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z; - ws[__R][__C] = cell; - } else { - var cell_ref = encode_cell(({c:__C,r:__R}/*:any*/)); - if(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z; - ws[cell_ref] = cell; - } - } - } - if(range.s.c < 10000000) ws['!ref'] = encode_range(range); - return ws; -} -function aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); } - -function parse_Int32LE(data) { - return data.read_shift(4, 'i'); -} -function write_UInt32LE(x/*:number*/, o) { - if (!o) o = new_buf(4); - o.write_shift(4, x); - return o; -} - -/* [MS-XLSB] 2.5.168 */ -function parse_XLWideString(data/*::, length*/)/*:string*/ { - var cchCharacters = data.read_shift(4); - return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs'); -} -function write_XLWideString(data/*:string*/, o) { - var _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); } - o.write_shift(4, data.length); - if (data.length > 0) o.write_shift(0, data, 'dbcs'); - return _null ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.5.91 */ -//function parse_LPWideString(data/*::, length*/)/*:string*/ { -// var cchCharacters = data.read_shift(2); -// return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, "utf16le"); -//} - -/* [MS-XLSB] 2.5.143 */ -function parse_StrRun(data) { - return { ich: data.read_shift(2), ifnt: data.read_shift(2) }; -} -function write_StrRun(run, o) { - if (!o) o = new_buf(4); - o.write_shift(2, run.ich || 0); - o.write_shift(2, run.ifnt || 0); - return o; -} - -/* [MS-XLSB] 2.5.121 */ -function parse_RichStr(data, length/*:number*/)/*:XLString*/ { - var start = data.l; - var flags = data.read_shift(1); - var str = parse_XLWideString(data); - var rgsStrRun = []; - var z = ({ t: str, h: str }/*:any*/); - if ((flags & 1) !== 0) { /* fRichStr */ - /* TODO: formatted string */ - var dwSizeStrRun = data.read_shift(4); - for (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data)); - z.r = rgsStrRun; - } - else z.r = [{ ich: 0, ifnt: 0 }]; - //if((flags & 2) !== 0) { /* fExtStr */ - // /* TODO: phonetic string */ - //} - data.l = start + length; - return z; -} -function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { - /* TODO: formatted string */ - var _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); } - o.write_shift(1, 0); - write_XLWideString(str.t, o); - return _null ? o.slice(0, o.l) : o; -} -/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */ -var parse_BrtCommentText = parse_RichStr; -function write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { - /* TODO: formatted string */ - var _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); } - o.write_shift(1, 1); - write_XLWideString(str.t, o); - o.write_shift(4, 1); - write_StrRun({ ich: 0, ifnt: 0 }, o); - return _null ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.5.9 */ -function parse_XLSBCell(data)/*:any*/ { - var col = data.read_shift(4); - var iStyleRef = data.read_shift(2); - iStyleRef += data.read_shift(1) << 16; - data.l++; //var fPhShow = data.read_shift(1); - return { c: col, iStyleRef: iStyleRef }; -} -function write_XLSBCell(cell/*:any*/, o/*:?Block*/) { - if (o == null) o = new_buf(8); - o.write_shift(-4, cell.c); - o.write_shift(3, cell.iStyleRef || cell.s); - o.write_shift(1, 0); /* fPhShow */ - return o; -} - -/* Short XLSB Cell does not include column */ -function parse_XLSBShortCell(data)/*:any*/ { - var iStyleRef = data.read_shift(2); - iStyleRef += data.read_shift(1) <<16; - data.l++; //var fPhShow = data.read_shift(1); - return { c:-1, iStyleRef: iStyleRef }; -} -function write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) { - if(o == null) o = new_buf(4); - o.write_shift(3, cell.iStyleRef || cell.s); - o.write_shift(1, 0); /* fPhShow */ - return o; -} - -/* [MS-XLSB] 2.5.21 */ -var parse_XLSBCodeName = parse_XLWideString; -var write_XLSBCodeName = write_XLWideString; - -/* [MS-XLSB] 2.5.166 */ -function parse_XLNullableWideString(data/*::, length*/)/*:string*/ { - var cchCharacters = data.read_shift(4); - return cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? "" : data.read_shift(cchCharacters, 'dbcs'); -} -function write_XLNullableWideString(data/*:string*/, o) { - var _null = false; if (o == null) { _null = true; o = new_buf(127); } - o.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF); - if (data.length > 0) o.write_shift(0, data, 'dbcs'); - return _null ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.5.165 */ -var parse_XLNameWideString = parse_XLWideString; -//var write_XLNameWideString = write_XLWideString; - -/* [MS-XLSB] 2.5.114 */ -var parse_RelID = parse_XLNullableWideString; -var write_RelID = write_XLNullableWideString; - - -/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */ -function parse_RkNumber(data)/*:number*/ { - var b = data.slice(data.l, data.l + 4); - var fX100 = (b[0] & 1), fInt = (b[0] & 2); - data.l += 4; - var RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2; - return fX100 ? (RK / 100) : RK; -} -function write_RkNumber(data/*:number*/, o) { - if (o == null) o = new_buf(4); - var fX100 = 0, fInt = 0, d100 = data * 100; - if ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; } - else if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; } - if (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2)); - else throw new Error("unsupported RkNumber " + data); // TODO -} - - -/* [MS-XLSB] 2.5.117 RfX */ -function parse_RfX(data /*::, length*/)/*:Range*/ { - var cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/); - cell.s.r = data.read_shift(4); - cell.e.r = data.read_shift(4); - cell.s.c = data.read_shift(4); - cell.e.c = data.read_shift(4); - return cell; -} -function write_RfX(r/*:Range*/, o) { - if (!o) o = new_buf(16); - o.write_shift(4, r.s.r); - o.write_shift(4, r.e.r); - o.write_shift(4, r.s.c); - o.write_shift(4, r.e.c); - return o; -} - -/* [MS-XLSB] 2.5.153 UncheckedRfX */ -var parse_UncheckedRfX = parse_RfX; -var write_UncheckedRfX = write_RfX; - -/* [MS-XLSB] 2.5.155 UncheckedSqRfX */ -//function parse_UncheckedSqRfX(data) { -// var cnt = data.read_shift(4); -// var out = []; -// for(var i = 0; i < cnt; ++i) { -// var rng = parse_UncheckedRfX(data); -// out.push(encode_range(rng)); -// } -// return out.join(","); -//} -//function write_UncheckedSqRfX(sqrfx/*:string*/) { -// var parts = sqrfx.split(/\s*,\s*/); -// var o = new_buf(4); o.write_shift(4, parts.length); -// var out = [o]; -// parts.forEach(function(rng) { -// out.push(write_UncheckedRfX(safe_decode_range(rng))); -// }); -// return bconcat(out); -//} - -/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */ -/* TODO: error checking, NaN and Infinity values are not valid Xnum */ -function parse_Xnum(data/*::, length*/) { - if(data.length - data.l < 8) throw "XLS Xnum Buffer underflow"; - return data.read_shift(8, 'f'); -} -function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } - -/* [MS-XLSB] 2.4.324 BrtColor */ -function parse_BrtColor(data/*::, length*/) { - var out = {}; - var d = data.read_shift(1); - - //var fValidRGB = d & 1; - var xColorType = d >>> 1; - - var index = data.read_shift(1); - var nTS = data.read_shift(2, 'i'); - var bR = data.read_shift(1); - var bG = data.read_shift(1); - var bB = data.read_shift(1); - data.l++; //var bAlpha = data.read_shift(1); - - switch (xColorType) { - case 0: out.auto = 1; break; - case 1: - out.index = index; - var icv = XLSIcv[index]; - /* automatic pseudo index 81 */ - if (icv) out.rgb = rgb2Hex(icv); - break; - case 2: - /* if(!fValidRGB) throw new Error("invalid"); */ - out.rgb = rgb2Hex([bR, bG, bB]); - break; - case 3: out.theme = index; break; - } - if (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768; - - return out; -} -function write_BrtColor(color, o) { - if (!o) o = new_buf(8); - if (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; } - if (color.index != null) { - o.write_shift(1, 0x02); - o.write_shift(1, color.index); - } else if (color.theme != null) { - o.write_shift(1, 0x06); - o.write_shift(1, color.theme); - } else { - o.write_shift(1, 0x05); - o.write_shift(1, 0); - } - var nTS = color.tint || 0; - if (nTS > 0) nTS *= 32767; - else if (nTS < 0) nTS *= 32768; - o.write_shift(2, nTS); - if (!color.rgb || color.theme != null) { - o.write_shift(2, 0); - o.write_shift(1, 0); - o.write_shift(1, 0); - } else { - var rgb = (color.rgb || 'FFFFFF'); - if (typeof rgb == 'number') rgb = ("000000" + rgb.toString(16)).slice(-6); - o.write_shift(1, parseInt(rgb.slice(0, 2), 16)); - o.write_shift(1, parseInt(rgb.slice(2, 4), 16)); - o.write_shift(1, parseInt(rgb.slice(4, 6), 16)); - o.write_shift(1, 0xFF); - } - return o; -} - -/* [MS-XLSB] 2.5.52 */ -function parse_FontFlags(data/*::, length, opts*/) { - var d = data.read_shift(1); - data.l++; - var out = { - fBold: d & 0x01, - fItalic: d & 0x02, - fUnderline: d & 0x04, - fStrikeout: d & 0x08, - fOutline: d & 0x10, - fShadow: d & 0x20, - fCondense: d & 0x40, - fExtend: d & 0x80 - }; - return out; -} -function write_FontFlags(font, o) { - if (!o) o = new_buf(2); - var grbit = - (font.italic ? 0x02 : 0) | - (font.strike ? 0x08 : 0) | - (font.outline ? 0x10 : 0) | - (font.shadow ? 0x20 : 0) | - (font.condense ? 0x40 : 0) | - (font.extend ? 0x80 : 0); - o.write_shift(1, grbit); - o.write_shift(1, 0); - return o; -} - -/* [MS-OLEDS] 2.3.1 and 2.3.2 */ -function parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ { - // $FlowIgnore - var ClipFmt = { 2: "BITMAP", 3: "METAFILEPICT", 8: "DIB", 14: "ENHMETAFILE" }; - var m/*:number*/ = o.read_shift(4); - switch (m) { - case 0x00000000: return ""; - case 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || ""; - } - if (m > 0x190) throw new Error("Unsupported Clipboard: " + m.toString(16)); - o.l -= 4; - return o.read_shift(0, w == 1 ? "lpstr" : "lpwstr"); -} -function parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); } -function parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); } - -/* [MS-OLEPS] 2.2 PropertyType */ -// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars -//var VT_EMPTY = 0x0000; -//var VT_NULL = 0x0001; -var VT_I2 = 0x0002; -var VT_I4 = 0x0003; -//var VT_R4 = 0x0004; -//var VT_R8 = 0x0005; -//var VT_CY = 0x0006; -//var VT_DATE = 0x0007; -//var VT_BSTR = 0x0008; -//var VT_ERROR = 0x000A; -var VT_BOOL = 0x000B; -var VT_VARIANT = 0x000C; -//var VT_DECIMAL = 0x000E; -//var VT_I1 = 0x0010; -//var VT_UI1 = 0x0011; -//var VT_UI2 = 0x0012; -var VT_UI4 = 0x0013; -//var VT_I8 = 0x0014; -//var VT_UI8 = 0x0015; -//var VT_INT = 0x0016; -//var VT_UINT = 0x0017; -var VT_LPSTR = 0x001E; -//var VT_LPWSTR = 0x001F; -var VT_FILETIME = 0x0040; -var VT_BLOB = 0x0041; -//var VT_STREAM = 0x0042; -//var VT_STORAGE = 0x0043; -//var VT_STREAMED_Object = 0x0044; -//var VT_STORED_Object = 0x0045; -//var VT_BLOB_Object = 0x0046; -var VT_CF = 0x0047; -//var VT_CLSID = 0x0048; -//var VT_VERSIONED_STREAM = 0x0049; -var VT_VECTOR = 0x1000; -var VT_VECTOR_VARIANT = 0x100C; -var VT_VECTOR_LPSTR = 0x101E; -//var VT_ARRAY = 0x2000; - -var VT_STRING = 0x0050; // 2.3.3.1.11 VtString -var VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString -var VT_CUSTOM = [VT_STRING, VT_USTR]; - -/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ -var DocSummaryPIDDSI = { - /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, - /*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING }, - /*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING }, - /*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 }, - /*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 }, - /*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 }, - /*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 }, - /*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 }, - /*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 }, - /*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 }, - /*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL }, - /*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ }, - /*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ }, - /*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING }, - /*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING }, - /*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL }, - /*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 }, - /*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL }, - /*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL }, - /*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' }, - /*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB }, - /*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING }, - /*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING }, - /*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING }, - /*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING }, - /*::[*/0xFF/*::]*/: {}, - /* [MS-OLEPS] 2.18 */ - /*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 }, - /*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 }, - /*::[*/0x72627262/*::]*/: {} -}; - -/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ -var SummaryPIDSI = { - /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, - /*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING }, - /*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING }, - /*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING }, - /*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING }, - /*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING }, - /*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING }, - /*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING }, - /*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING }, - /*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME }, - /*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME }, - /*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME }, - /*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME }, - /*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 }, - /*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 }, - /*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 }, - /*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF }, - /*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING }, - /*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 }, - /*::[*/0xFF/*::]*/: {}, - /* [MS-OLEPS] 2.18 */ - /*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 }, - /*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 }, - /*::[*/0x72627262/*::]*/: {} -}; - -/* [MS-XLS] 2.4.63 Country/Region codes */ -var CountryEnum = { - /*::[*/0x0001/*::]*/: "US", // United States - /*::[*/0x0002/*::]*/: "CA", // Canada - /*::[*/0x0003/*::]*/: "", // Latin America (except Brazil) - /*::[*/0x0007/*::]*/: "RU", // Russia - /*::[*/0x0014/*::]*/: "EG", // Egypt - /*::[*/0x001E/*::]*/: "GR", // Greece - /*::[*/0x001F/*::]*/: "NL", // Netherlands - /*::[*/0x0020/*::]*/: "BE", // Belgium - /*::[*/0x0021/*::]*/: "FR", // France - /*::[*/0x0022/*::]*/: "ES", // Spain - /*::[*/0x0024/*::]*/: "HU", // Hungary - /*::[*/0x0027/*::]*/: "IT", // Italy - /*::[*/0x0029/*::]*/: "CH", // Switzerland - /*::[*/0x002B/*::]*/: "AT", // Austria - /*::[*/0x002C/*::]*/: "GB", // United Kingdom - /*::[*/0x002D/*::]*/: "DK", // Denmark - /*::[*/0x002E/*::]*/: "SE", // Sweden - /*::[*/0x002F/*::]*/: "NO", // Norway - /*::[*/0x0030/*::]*/: "PL", // Poland - /*::[*/0x0031/*::]*/: "DE", // Germany - /*::[*/0x0034/*::]*/: "MX", // Mexico - /*::[*/0x0037/*::]*/: "BR", // Brazil - /*::[*/0x003d/*::]*/: "AU", // Australia - /*::[*/0x0040/*::]*/: "NZ", // New Zealand - /*::[*/0x0042/*::]*/: "TH", // Thailand - /*::[*/0x0051/*::]*/: "JP", // Japan - /*::[*/0x0052/*::]*/: "KR", // Korea - /*::[*/0x0054/*::]*/: "VN", // Viet Nam - /*::[*/0x0056/*::]*/: "CN", // China - /*::[*/0x005A/*::]*/: "TR", // Turkey - /*::[*/0x0069/*::]*/: "JS", // Ramastan - /*::[*/0x00D5/*::]*/: "DZ", // Algeria - /*::[*/0x00D8/*::]*/: "MA", // Morocco - /*::[*/0x00DA/*::]*/: "LY", // Libya - /*::[*/0x015F/*::]*/: "PT", // Portugal - /*::[*/0x0162/*::]*/: "IS", // Iceland - /*::[*/0x0166/*::]*/: "FI", // Finland - /*::[*/0x01A4/*::]*/: "CZ", // Czech Republic - /*::[*/0x0376/*::]*/: "TW", // Taiwan - /*::[*/0x03C1/*::]*/: "LB", // Lebanon - /*::[*/0x03C2/*::]*/: "JO", // Jordan - /*::[*/0x03C3/*::]*/: "SY", // Syria - /*::[*/0x03C4/*::]*/: "IQ", // Iraq - /*::[*/0x03C5/*::]*/: "KW", // Kuwait - /*::[*/0x03C6/*::]*/: "SA", // Saudi Arabia - /*::[*/0x03CB/*::]*/: "AE", // United Arab Emirates - /*::[*/0x03CC/*::]*/: "IL", // Israel - /*::[*/0x03CE/*::]*/: "QA", // Qatar - /*::[*/0x03D5/*::]*/: "IR", // Iran - /*::[*/0xFFFF/*::]*/: "US" // United States -}; - -/* [MS-XLS] 2.5.127 */ -var XLSFillPattern = [ - null, - 'solid', - 'mediumGray', - 'darkGray', - 'lightGray', - 'darkHorizontal', - 'darkVertical', - 'darkDown', - 'darkUp', - 'darkGrid', - 'darkTrellis', - 'lightHorizontal', - 'lightVertical', - 'lightDown', - 'lightUp', - 'lightGrid', - 'lightTrellis', - 'gray125', - 'gray0625' -]; - -function rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); } - -/* [MS-XLS] 2.5.161 */ -/* [MS-XLSB] 2.5.75 Icv */ -var _XLSIcv = /*#__PURE__*/ rgbify([ - /* Color Constants */ - 0x000000, - 0xFFFFFF, - 0xFF0000, - 0x00FF00, - 0x0000FF, - 0xFFFF00, - 0xFF00FF, - 0x00FFFF, - - /* Overridable Defaults */ - 0x000000, - 0xFFFFFF, - 0xFF0000, - 0x00FF00, - 0x0000FF, - 0xFFFF00, - 0xFF00FF, - 0x00FFFF, - - 0x800000, - 0x008000, - 0x000080, - 0x808000, - 0x800080, - 0x008080, - 0xC0C0C0, - 0x808080, - 0x9999FF, - 0x993366, - 0xFFFFCC, - 0xCCFFFF, - 0x660066, - 0xFF8080, - 0x0066CC, - 0xCCCCFF, - - 0x000080, - 0xFF00FF, - 0xFFFF00, - 0x00FFFF, - 0x800080, - 0x800000, - 0x008080, - 0x0000FF, - 0x00CCFF, - 0xCCFFFF, - 0xCCFFCC, - 0xFFFF99, - 0x99CCFF, - 0xFF99CC, - 0xCC99FF, - 0xFFCC99, - - 0x3366FF, - 0x33CCCC, - 0x99CC00, - 0xFFCC00, - 0xFF9900, - 0xFF6600, - 0x666699, - 0x969696, - 0x003366, - 0x339966, - 0x003300, - 0x333300, - 0x993300, - 0x993366, - 0x333399, - 0x333333, - - /* Other entries to appease BIFF8/12 */ - 0xFFFFFF, /* 0x40 icvForeground ?? */ - 0x000000, /* 0x41 icvBackground ?? */ - 0x000000, /* 0x42 icvFrame ?? */ - 0x000000, /* 0x43 icv3D ?? */ - 0x000000, /* 0x44 icv3DText ?? */ - 0x000000, /* 0x45 icv3DHilite ?? */ - 0x000000, /* 0x46 icv3DShadow ?? */ - 0x000000, /* 0x47 icvHilite ?? */ - 0x000000, /* 0x48 icvCtlText ?? */ - 0x000000, /* 0x49 icvCtlScrl ?? */ - 0x000000, /* 0x4A icvCtlInv ?? */ - 0x000000, /* 0x4B icvCtlBody ?? */ - 0x000000, /* 0x4C icvCtlFrame ?? */ - 0x000000, /* 0x4D icvCtlFore ?? */ - 0x000000, /* 0x4E icvCtlBack ?? */ - 0x000000, /* 0x4F icvCtlNeutral */ - 0x000000, /* 0x50 icvInfoBk ?? */ - 0x000000 /* 0x51 icvInfoText ?? */ -]); -var XLSIcv = /*#__PURE__*/dup(_XLSIcv); - -/* [MS-XLSB] 2.5.97.2 */ -var BErr = { - /*::[*/0x00/*::]*/: "#NULL!", - /*::[*/0x07/*::]*/: "#DIV/0!", - /*::[*/0x0F/*::]*/: "#VALUE!", - /*::[*/0x17/*::]*/: "#REF!", - /*::[*/0x1D/*::]*/: "#NAME?", - /*::[*/0x24/*::]*/: "#NUM!", - /*::[*/0x2A/*::]*/: "#N/A", - /*::[*/0x2B/*::]*/: "#GETTING_DATA", - /*::[*/0xFF/*::]*/: "#WTF?" -}; -//var RBErr = evert_num(BErr); -var RBErr = { - "#NULL!": 0x00, - "#DIV/0!": 0x07, - "#VALUE!": 0x0F, - "#REF!": 0x17, - "#NAME?": 0x1D, - "#NUM!": 0x24, - "#N/A": 0x2A, - "#GETTING_DATA": 0x2B, - "#WTF?": 0xFF -}; - -/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ -/* 12.3 Part Summary */ -/* 14.2 Part Summary */ -/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type/*{[string]:string}*/ = ({ - /* Workbook */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", - "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", - "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", - "application/vnd.ms-excel.addin.macroEnabled.main+xml": "workbooks", - "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "workbooks", - - /* Worksheet */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", - "application/vnd.ms-excel.worksheet": "sheets", - "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ - - /* Chartsheet */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "charts", - "application/vnd.ms-excel.chartsheet": "charts", - - /* Macrosheet */ - "application/vnd.ms-excel.macrosheet+xml": "macros", - "application/vnd.ms-excel.macrosheet": "macros", - "application/vnd.ms-excel.intlmacrosheet": "TODO", - "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ - - /* Dialogsheet */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "dialogs", - "application/vnd.ms-excel.dialogsheet": "dialogs", - - /* Shared Strings */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", - "application/vnd.ms-excel.sharedStrings": "strs", - - /* Styles */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", - "application/vnd.ms-excel.styles": "styles", - - /* File Properties */ - "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", - "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", - "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", - - /* Custom Data Properties */ - "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO", - - /* Comments */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", - "application/vnd.ms-excel.comments": "comments", - "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", - "application/vnd.ms-excel.person+xml": "people", - - /* Metadata (Stock/Geography and Dynamic Array) */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - "application/vnd.ms-excel.sheetMetadata": "metadata", - - /* PivotTable */ - "application/vnd.ms-excel.pivotTable": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", - - /* Chart Objects */ - "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO", - - /* Chart Colors */ - "application/vnd.ms-office.chartcolorstyle+xml": "TODO", - - /* Chart Style */ - "application/vnd.ms-office.chartstyle+xml": "TODO", - - /* Chart Advanced */ - "application/vnd.ms-office.chartex+xml": "TODO", - - /* Calculation Chain */ - "application/vnd.ms-excel.calcChain": "calcchains", - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", - - /* Printer Settings */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO", - - /* ActiveX */ - "application/vnd.ms-office.activeX": "TODO", - "application/vnd.ms-office.activeX+xml": "TODO", - - /* Custom Toolbars */ - "application/vnd.ms-excel.attachedToolbars": "TODO", - - /* External Data Connections */ - "application/vnd.ms-excel.connections": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO", - - /* External Links */ - "application/vnd.ms-excel.externalLink": "links", - "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - - /* PivotCache */ - "application/vnd.ms-excel.pivotCacheDefinition": "TODO", - "application/vnd.ms-excel.pivotCacheRecords": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO", - - /* Query Table */ - "application/vnd.ms-excel.queryTable": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO", - - /* Shared Workbook */ - "application/vnd.ms-excel.userNames": "TODO", - "application/vnd.ms-excel.revisionHeaders": "TODO", - "application/vnd.ms-excel.revisionLog": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO", - - /* Single Cell Table */ - "application/vnd.ms-excel.tableSingleCells": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO", - - /* Slicer */ - "application/vnd.ms-excel.slicer": "TODO", - "application/vnd.ms-excel.slicerCache": "TODO", - "application/vnd.ms-excel.slicer+xml": "TODO", - "application/vnd.ms-excel.slicerCache+xml": "TODO", - - /* Sort Map */ - "application/vnd.ms-excel.wsSortMap": "TODO", - - /* Table */ - "application/vnd.ms-excel.table": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO", - - /* Themes */ - "application/vnd.openxmlformats-officedocument.theme+xml": "themes", - - /* Theme Override */ - "application/vnd.openxmlformats-officedocument.themeOverride+xml": "TODO", - - /* Timeline */ - "application/vnd.ms-excel.Timeline+xml": "TODO", /* verify */ - "application/vnd.ms-excel.TimelineCache+xml": "TODO", /* verify */ - - /* VBA */ - "application/vnd.ms-office.vbaProject": "vba", - "application/vnd.ms-office.vbaProjectSignature": "TODO", - - /* Volatile Dependencies */ - "application/vnd.ms-office.volatileDependencies": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO", - - /* Control Properties */ - "application/vnd.ms-excel.controlproperties+xml": "TODO", - - /* Data Model */ - "application/vnd.openxmlformats-officedocument.model+data": "TODO", - - /* Survey */ - "application/vnd.ms-excel.Survey+xml": "TODO", - - /* Drawing */ - "application/vnd.openxmlformats-officedocument.drawing+xml": "drawings", - "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", - "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", - "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", - "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", - "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO", - - /* VML */ - "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO", - - "application/vnd.openxmlformats-package.relationships+xml": "rels", - "application/vnd.openxmlformats-officedocument.oleObject": "TODO", - - /* Image */ - "image/png": "TODO", - - "sheet": "js" -}/*:any*/); - -var CT_LIST = { - workbooks: { - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", - xlsb: "application/vnd.ms-excel.sheet.binary.macroEnabled.main", - xlam: "application/vnd.ms-excel.addin.macroEnabled.main+xml", - xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" - }, - strs: { /* Shared Strings */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - xlsb: "application/vnd.ms-excel.sharedStrings" - }, - comments: { /* Comments */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - xlsb: "application/vnd.ms-excel.comments" - }, - sheets: { /* Worksheet */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - xlsb: "application/vnd.ms-excel.worksheet" - }, - charts: { /* Chartsheet */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - xlsb: "application/vnd.ms-excel.chartsheet" - }, - dialogs: { /* Dialogsheet */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - xlsb: "application/vnd.ms-excel.dialogsheet" - }, - macros: { /* Macrosheet (Excel 4.0 Macros) */ - xlsx: "application/vnd.ms-excel.macrosheet+xml", - xlsb: "application/vnd.ms-excel.macrosheet" - }, - metadata: { /* Metadata (Stock/Geography and Dynamic Array) */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - xlsb: "application/vnd.ms-excel.sheetMetadata" - }, - styles: { /* Styles */ - xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - xlsb: "application/vnd.ms-excel.styles" - } -}; - -function new_ct()/*:any*/ { - return ({ - workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], threadedcomments:[], links:[], - coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], people:[], - TODO:[], xmlns: "" }/*:any*/); -} - -function parse_ct(data/*:?string*/) { - var ct = new_ct(); - if(!data || !data.match) return ct; - var ctext = {}; - (data.match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(y[0].replace(nsregex,"<")) { - case ' 0 ? ct.calcchains[0] : ""; - ct.sst = ct.strs.length > 0 ? ct.strs[0] : ""; - ct.style = ct.styles.length > 0 ? ct.styles[0] : ""; - ct.defaults = ctext; - delete ct.calcchains; - return ct; -} - -function write_ct(ct, opts)/*:string*/ { - var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); - - var o/*:Array*/ = [], v; - o[o.length] = (XML_HEADER); - o[o.length] = writextag('Types', null, { - 'xmlns': XMLNS.CT, - 'xmlns:xsd': XMLNS.xsd, - 'xmlns:xsi': XMLNS.xsi - }); - - o = o.concat([ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] - ].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); - })); - - /* only write first instance */ - var f1 = function(w) { - if(ct[w] && ct[w].length > 0) { - v = ct[w][0]; - o[o.length] = (writextag('Override', null, { - 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] - })); - } - }; - - /* book type-specific */ - var f2 = function(w) { - (ct[w]||[]).forEach(function(v) { - o[o.length] = (writextag('Override', null, { - 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] - })); - }); - }; - - /* standard type */ - var f3 = function(t) { - (ct[t]||[]).forEach(function(v) { - o[o.length] = (writextag('Override', null, { - 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': type2ct[t][0] - })); - }); - }; - - f1('workbooks'); - f2('sheets'); - f2('charts'); - f3('themes'); - ['strs', 'styles'].forEach(f1); - ['coreprops', 'extprops', 'custprops'].forEach(f3); - f3('vba'); - f3('comments'); - f3('threadedcomments'); - f3('drawings'); - f2('metadata'); - f3('people'); - if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* 9.3 Relationships */ -var RELS = ({ - WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", - SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument", - HLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", - VML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing", - XPATH: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath", - XMISS: "http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing", - XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", - CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", - CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", - CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", - CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", - EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', - CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', - SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", - STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", - THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", - CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", - CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", - CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", - WS: [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" - ], - DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", - MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", - IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", - DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", - XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", - TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", - PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", - VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" -}/*:any*/); - - -/* 9.3.3 Representing Relationships */ -function get_rels_path(file/*:string*/)/*:string*/ { - var n = file.lastIndexOf("/"); - return file.slice(0,n+1) + '_rels/' + file.slice(n+1) + ".rels"; -} - -function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { - var rels = {"!id":{}}; - if (!data) return rels; - if (currentFilePath.charAt(0) !== '/') { - currentFilePath = '/'+currentFilePath; - } - var hash = {}; - - (data.match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - /* 9.3.2.2 OPC_Relationships */ - if (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} - -function add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ { - if(!relobj) relobj = {}; - if(!rels['!id']) rels['!id'] = {}; - if(!rels['!idx']) rels['!idx'] = 1; - if(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */} - rels['!idx'] = rId + 1; - relobj.Id = 'rId' + rId; - relobj.Type = type; - relobj.Target = f; - if(targetmode) relobj.TargetMode = targetmode; - else if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = "External"; - if(rels['!id'][relobj.Id]) throw new Error("Cannot rewrite rId " + rId); - rels['!id'][relobj.Id] = relobj; - rels[('/' + relobj.Target).replace("//","/")] = relobj; - return rId; -} -/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */ -/* Part 3 Section 4 Manifest File */ -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; // 4.2 - case 'file-entry': // 4.3 - 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': // 4.4 - case 'algorithm': // 4.5 - case 'start-key-generation': // 4.6 - case 'key-derivation': // 4.7 - throw new Error("Unsupported ODS Encryption"); - default: if(opts && opts.WTF) throw Rn; - } -} - -function write_manifest(manifest/*:Array >*/)/*:string*/ { - var o = [XML_HEADER]; - o.push('\n'); - o.push(' \n'); - for(var i = 0; i < manifest.length; ++i) o.push(' \n'); - o.push(''); - return o.join(""); -} - -/* Part 3 Section 6 Metadata Manifest File */ -function write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) { - return [ - ' \n', - ' \n', - ' \n' - ].join(""); -} -function write_rdf_has(base/*:string*/, file/*:string*/) { - return [ - ' \n', - ' \n', - ' \n' - ].join(""); -} -function write_rdf(rdf) { - var o = [XML_HEADER]; - o.push('\n'); - for(var i = 0; i != rdf.length; ++i) { - o.push(write_rdf_type(rdf[i][0], rdf[i][1])); - o.push(write_rdf_has("",rdf[i][0])); - } - o.push(write_rdf_type("","Document", "pkg")); - o.push(''); - return o.join(""); -} -/* TODO: pull properties */ -function write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ { - return 'Sheet' + 'JS ' + XLSX.version + ''; -} - -/* ECMA-376 Part II 11.1 Core Properties Part */ -/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var CORE_PROPS/*:Array >*/ = [ - ["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'] -]; - -var CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(/* unused pure expression or super */ null && ((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].slice(0,f[0].indexOf(":")) +":)"+ f[0].slice(f[0].indexOf(":")+1); - r[i] = new RegExp("<" + g + "[^>]*>([\\s\\S]*?)<\/" + g + ">"); - } - return r; -})())); - -function parse_core_props(data) { - var p = {}; - data = utf8read(data); - - 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]] = unescapexml(cur[1]); - if(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]); - } - - return p; -} - -function cp_doit(f, g, h, o, p) { - if(p[f] != null || g == null || g === "") return; - p[f] = g; - g = escapexml(g); - o[o.length] = (h ? writextag(f,g,h) : writetag(f,g)); -} - -function write_core_props(cp, _opts) { - var opts = _opts || {}; - var o = [XML_HEADER, writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi - })], p = {}; - if(!cp && !opts.Props) return o.join(""); - - if(cp) { - if(cp.CreatedDate != null) cp_doit("dcterms:created", typeof cp.CreatedDate === "string" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {"xsi:type":"dcterms:W3CDTF"}, o, p); - if(cp.ModifiedDate != null) cp_doit("dcterms:modified", typeof cp.ModifiedDate === "string" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {"xsi:type":"dcterms:W3CDTF"}, o, p); - } - - for(var i = 0; i != CORE_PROPS.length; ++i) { - var f = CORE_PROPS[i]; - var v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null; - if(v === true) v = "1"; - else if(v === false) v = "0"; - else if(typeof v == "number") v = String(v); - if(v != null) cp_doit(f[0], v, null, o, p); - } - if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* 15.2.12.3 Extended File Properties Part */ -/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var EXT_PROPS/*:Array >*/ = [ - ["Application", "Application", "string"], - ["AppVersion", "AppVersion", "string"], - ["Company", "Company", "string"], - ["DocSecurity", "DocSecurity", "string"], - ["Manager", "Manager", "string"], - ["HyperlinksChanged", "HyperlinksChanged", "bool"], - ["SharedDoc", "SharedDoc", "bool"], - ["LinksUpToDate", "LinksUpToDate", "bool"], - ["ScaleCrop", "ScaleCrop", "bool"], - ["HeadingPairs", "HeadingPairs", "raw"], - ["TitlesOfParts", "TitlesOfParts", "raw"] -]; - -var PseudoPropsPairs = [ - "Worksheets", "SheetNames", - "NamedRanges", "DefinedNames", - "Chartsheets", "ChartNames" -]; -function load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) { - var v = []; - if(typeof HP == "string") v = parseVector(HP, opts); - else for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; })); - var parts = (typeof TOP == "string") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP; - var idx = 0, len = 0; - if(parts.length > 0) for(var i = 0; i !== v.length; i += 2) { - len = +(v[i+1].v); - switch(v[i].v) { - case "Worksheets": - case "工作表": - case "Листы": - case "أوراق العمل": - case "ワークシート": - case "גליונות עבודה": - case "Arbeitsblätter": - case "Çalışma Sayfaları": - case "Feuilles de calcul": - case "Fogli di lavoro": - case "Folhas de cálculo": - case "Planilhas": - case "Regneark": - case "Hojas de cálculo": - case "Werkbladen": - props.Worksheets = len; - props.SheetNames = parts.slice(idx, idx + len); - break; - - case "Named Ranges": - case "Rangos con nombre": - case "名前付き一覧": - case "Benannte Bereiche": - case "Navngivne områder": - props.NamedRanges = len; - props.DefinedNames = parts.slice(idx, idx + len); - break; - - case "Charts": - case "Diagramme": - props.Chartsheets = len; - props.ChartNames = parts.slice(idx, idx + len); - break; - } - idx += len; - } -} - -function parse_ext_props(data, p, opts) { - var q = {}; if(!p) p = {}; - data = utf8read(data); - - EXT_PROPS.forEach(function(f) { - var xml = (data.match(matchtag(f[0]))||[])[1]; - switch(f[2]) { - case "string": if(xml) p[f[1]] = unescapexml(xml); break; - case "bool": p[f[1]] = xml === "true"; break; - case "raw": - var cur = data.match(new RegExp("<" + f[0] + "[^>]*>([\\s\\S]*?)<\/" + f[0] + ">")); - if(cur && cur.length > 0) q[f[1]] = cur[1]; - break; - } - }); - - if(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts); - - return p; -} - -function write_ext_props(cp/*::, opts*/)/*:string*/ { - var o/*:Array*/ = [], W = writextag; - if(!cp) cp = {}; - cp.Application = "SheetJS"; - o[o.length] = (XML_HEADER); - o[o.length] = (writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt - })); - - EXT_PROPS.forEach(function(f) { - if(cp[f[1]] === undefined) return; - var v; - switch(f[2]) { - case 'string': v = escapexml(String(cp[f[1]])); break; - case 'bool': v = cp[f[1]] ? 'true' : 'false'; break; - } - if(v !== undefined) o[o.length] = (W(f[0], v)); - }); - - /* TODO: HeadingPairs, TitlesOfParts */ - o[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:"variant"}))); - o[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return "" + escapexml(s) + ""; }).join(""), {size: cp.Worksheets, baseType:"lpstr"}))); - if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* 15.2.12.2 Custom File Properties Part */ -var custregex = /<[^>]+>[^<]*/g; -function parse_cust_props(data/*:string*/, opts) { - var p = {}, name = ""; - var m = data.match(custregex); - if(m) for(var i = 0; i != m.length; ++i) { - var x = m[i], y = parsexmltag(x); - switch(y[0]) { - case '': name = null; break; - default: if (x.indexOf(''); - var type = toks[0].slice(4), text = toks[1]; - /* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */ - switch(type) { - case 'lpstr': case 'bstr': case 'lpwstr': - p[name] = unescapexml(text); - break; - case 'bool': - p[name] = parsexmlbool(text); - break; - case 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint': - p[name] = parseInt(text, 10); - break; - case 'r4': case 'r8': case 'decimal': - p[name] = parseFloat(text); - break; - case 'filetime': case 'date': - p[name] = parseDate(text); - break; - case 'cy': case 'error': - p[name] = unescapexml(text); - break; - default: - if(type.slice(-1) == '/') break; - if(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks); - } - } else if(x.slice(0,2) === "2){ o[o.length] = ''; o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* Common Name -> XLML Name */ -var XLMLDocPropsMap = { - Title: 'Title', - Subject: 'Subject', - Author: 'Author', - Keywords: 'Keywords', - Comments: 'Description', - LastAuthor: 'LastAuthor', - RevNumber: 'Revision', - Application: 'AppName', - /* TotalTime: 'TotalTime', */ - LastPrinted: 'LastPrinted', - CreatedDate: 'Created', - ModifiedDate: 'LastSaved', - /* Pages */ - /* Words */ - /* Characters */ - Category: 'Category', - /* PresentationFormat */ - Manager: 'Manager', - Company: 'Company', - /* Guid */ - /* HyperlinkBase */ - /* Bytes */ - /* Lines */ - /* Paragraphs */ - /* CharactersWithSpaces */ - AppVersion: 'Version', - - ContentStatus: 'ContentStatus', /* NOTE: missing from schema */ - Identifier: 'Identifier', /* NOTE: missing from schema */ - Language: 'Language' /* NOTE: missing from schema */ -}; -var evert_XLMLDPM; - -function xlml_set_prop(Props, tag/*:string*/, val) { - if(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap); - tag = evert_XLMLDPM[tag] || tag; - Props[tag] = val; -} - -function xlml_write_docprops(Props, opts) { - var o/*:Array*/ = []; - keys(XLMLDocPropsMap).map(function(m) { - for(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i]; - for(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i]; - throw m; - }).forEach(function(p) { - if(Props[p[1]] == null) return; - var m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]]; - switch(p[2]) { - case 'date': m = new Date(m).toISOString().replace(/\.\d*Z/,"Z"); break; - } - if(typeof m == 'number') m = String(m); - else if(m === true || m === false) { m = m ? "1" : "0"; } - else if(m instanceof Date) m = new Date(m).toISOString().replace(/\.\d*Z/,""); - o.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m)); - }); - return writextag('DocumentProperties', o.join(""), {xmlns:XLMLNS.o }); -} -function xlml_write_custprops(Props, Custprops/*::, opts*/) { - var BLACKLIST = ["Worksheets","SheetNames"]; - var T = 'CustomDocumentProperties'; - var o/*:Array*/ = []; - if(Props) keys(Props).forEach(function(k) { - /*:: if(!Props) return; */ - if(!Object.prototype.hasOwnProperty.call(Props, k)) return; - for(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return; - for(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return; - for(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return; - - var m = Props[k]; - var t = "string"; - if(typeof m == 'number') { t = "float"; m = String(m); } - else if(m === true || m === false) { t = "boolean"; m = m ? "1" : "0"; } - else m = String(m); - o.push(writextag(escapexmltag(k), m, {"dt:dt":t})); - }); - if(Custprops) keys(Custprops).forEach(function(k) { - /*:: if(!Custprops) return; */ - if(!Object.prototype.hasOwnProperty.call(Custprops, k)) return; - if(Props && Object.prototype.hasOwnProperty.call(Props, k)) return; - var m = Custprops[k]; - var t = "string"; - if(typeof m == 'number') { t = "float"; m = String(m); } - else if(m === true || m === false) { t = "boolean"; m = m ? "1" : "0"; } - else if(m instanceof Date) { t = "dateTime.tz"; m = m.toISOString(); } - else m = String(m); - o.push(writextag(escapexmltag(k), m, {"dt:dt":t})); - }); - return '<' + T + ' xmlns="' + XLMLNS.o + '">' + o.join("") + ''; -} -/* [MS-DTYP] 2.3.3 FILETIME */ -/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */ -/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */ -function parse_FILETIME(blob) { - var dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4); - return new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\.000/,""); -} -function write_FILETIME(time/*:string|Date*/) { - var date = (typeof time == "string") ? new Date(Date.parse(time)) : time; - var t = date.getTime() / 1000 + 11644473600; - var l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32); - l *= 1e7; h *= 1e7; - var w = (l / Math.pow(2,32)) | 0; - if(w > 0) { l = l % Math.pow(2,32); h += w; } - var o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o; -} - -/* [MS-OSHARED] 2.3.3.1.4 Lpstr */ -function parse_lpstr(blob, type, pad/*:?number*/) { - var start = blob.l; - var str = blob.read_shift(0, 'lpstr-cp'); - if(pad) while((blob.l - start) & 3) ++blob.l; - return str; -} - -/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */ -function parse_lpwstr(blob, type, pad) { - var str = blob.read_shift(0, 'lpwstr'); - if(pad) blob.l += (4 - ((str.length+1) & 3)) & 3; - return str; -} - - -/* [MS-OSHARED] 2.3.3.1.11 VtString */ -/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */ -function parse_VtStringBase(blob, stringType, pad) { - if(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob); - return parse_lpstr(blob, stringType, pad); -} - -function parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); } -function parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error("VtUnalignedString must have positive length"); return parse_VtStringBase(blob, t, 0); } - -/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */ -function parse_VtVecLpwstrValue(blob)/*:Array*/ { - var length = blob.read_shift(4); - var ret/*:Array*/ = []; - for(var i = 0; i != length; ++i) { - var start = blob.l; - ret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,''); - if((blob.l - start) & 0x02) blob.l += 2; - } - return ret; -} - -/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */ -function parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ { - var length = blob.read_shift(4); - var ret/*:Array*/ = []; - for(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,''); - return ret; -} - - -/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */ -function parse_VtHeadingPair(blob) { - var start = blob.l; - var headingString = parse_TypedPropertyValue(blob, VT_USTR); - if(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2; - var headerParts = parse_TypedPropertyValue(blob, VT_I4); - return [headingString, headerParts]; -} - -/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */ -function parse_VtVecHeadingPairValue(blob) { - var cElements = blob.read_shift(4); - var out = []; - for(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob)); - return out; -} - -/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */ -function parse_dictionary(blob,CodePage) { - var cnt = blob.read_shift(4); - var dict/*:{[number]:string}*/ = ({}/*:any*/); - for(var j = 0; j != cnt; ++j) { - var pid = blob.read_shift(4); - var len = blob.read_shift(4); - dict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!'); - if(CodePage === 0x4B0 && (len % 2)) blob.l += 2; - } - if(blob.l & 3) blob.l = (blob.l>>2+1)<<2; - return dict; -} - -/* [MS-OLEPS] 2.9 BLOB */ -function parse_BLOB(blob) { - var size = blob.read_shift(4); - var bytes = blob.slice(blob.l,blob.l+size); - blob.l += size; - if((size & 3) > 0) blob.l += (4 - (size & 3)) & 3; - return bytes; -} - -/* [MS-OLEPS] 2.11 ClipboardData */ -function parse_ClipboardData(blob) { - // TODO - var o = {}; - o.Size = blob.read_shift(4); - //o.Format = blob.read_shift(4); - blob.l += o.Size + 3 - (o.Size - 1) % 4; - return o; -} - -/* [MS-OLEPS] 2.15 TypedPropertyValue */ -function parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ { - var t = blob.read_shift(2), ret, opts = _opts||{}; - blob.l += 2; - if(type !== VT_VARIANT) - if(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t); - switch(type === VT_VARIANT ? t : type) { - case 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret; - case 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret; - case 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0; - case 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret; - case 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,''); - case 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob); - case 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob); - case 0x41 /*VT_BLOB*/: return parse_BLOB(blob); - case 0x47 /*VT_CF*/: return parse_ClipboardData(blob); - case 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,''); - case 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,''); - case 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob); - case 0x101E /*VT_VECTOR|VT_LPSTR*/: - case 0x101F /*VT_VECTOR|VT_LPWSTR*/: - return t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob); - default: throw new Error("TypedPropertyValue unrecognized type " + type + " " + t); - } -} -function write_TypedPropertyValue(type/*:number*/, value) { - var o = new_buf(4), p = new_buf(4); - o.write_shift(4, type == 0x50 ? 0x1F : type); - switch(type) { - case 0x03 /*VT_I4*/: p.write_shift(-4, value); break; - case 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break; - case 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break; - case 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== "string" && !(value instanceof Date)) throw "unreachable"; */ p = write_FILETIME(value); break; - case 0x1F /*VT_LPWSTR*/: - case 0x50 /*VT_STRING*/: - /*:: if(typeof value !== "string") throw "unreachable"; */ - p = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2)); - p.write_shift(4, value.length + 1); - p.write_shift(0, value, "dbcs"); - while(p.l != p.length) p.write_shift(1, 0); - break; - default: throw new Error("TypedPropertyValue unrecognized type " + type + " " + value); - } - return bconcat([o, p]); -} - -/* [MS-OLEPS] 2.20 PropertySet */ -function parse_PropertySet(blob, PIDSI) { - var start_addr = blob.l; - var size = blob.read_shift(4); - var NumProps = blob.read_shift(4); - var Props = [], i = 0; - var CodePage = 0; - var Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/); - for(i = 0; i != NumProps; ++i) { - var PropID = blob.read_shift(4); - var Offset = blob.read_shift(4); - Props[i] = [PropID, Offset + start_addr]; - } - Props.sort(function(x,y) { return x[1] - y[1]; }); - var PropH = {}; - for(i = 0; i != NumProps; ++i) { - if(blob.l !== Props[i][1]) { - var fail = true; - if(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) { - case 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break; - case 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break; - case 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break; - } - if((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; } - if(fail) throw new Error("Read Error: Expected address " + Props[i][1] + ' at ' + blob.l + ' :' + i); - } - if(PIDSI) { - var piddsi = PIDSI[Props[i][0]]; - PropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true}); - if(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + "." + ("0000" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4); - if(piddsi.n == "CodePage") switch(PropH[piddsi.n]) { - case 0: PropH[piddsi.n] = 1252; - /* falls through */ - case 874: - case 932: - case 936: - case 949: - case 950: - case 1250: - case 1251: - case 1253: - case 1254: - case 1255: - case 1256: - case 1257: - case 1258: - case 10000: - case 1200: - case 1201: - case 1252: - case 65000: case -536: - case 65001: case -535: - set_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break; - default: throw new Error("Unsupported CodePage: " + PropH[piddsi.n]); - } - } else { - if(Props[i][0] === 0x1) { - CodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/); - set_cp(CodePage); - if(Dictionary !== -1) { - var oldpos = blob.l; - blob.l = Props[Dictionary][1]; - DictObj = parse_dictionary(blob,CodePage); - blob.l = oldpos; - } - } else if(Props[i][0] === 0) { - if(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; } - DictObj = parse_dictionary(blob,CodePage); - } else { - var name = DictObj[Props[i][0]]; - var val; - /* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */ - switch(blob[blob.l]) { - case 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break; - case 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\u0000+$/,""); break; - case 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\u0000+$/,""); break; - case 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break; - case 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break; - case 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break; - case 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break; - case 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break; - default: throw new Error("unparsed value: " + blob[blob.l]); - } - PropH[name] = val; - } - } - } - blob.l = start_addr + size; /* step ahead to skip padding */ - return PropH; -} -var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ]; //.concat(PseudoPropsPairs); -function guess_property_type(val/*:any*/)/*:number*/ { - switch(typeof val) { - case "boolean": return 0x0B; - case "number": return ((val|0)==val) ? 0x03 : 0x05; - case "string": return 0x1F; - case "object": if(val instanceof Date) return 0x40; break; - } - return -1; -} -function write_PropertySet(entries, RE, PIDSI) { - var hdr = new_buf(8), piao = [], prop = []; - var sz = 8, i = 0; - - var pr = new_buf(8), pio = new_buf(8); - pr.write_shift(4, 0x0002); - pr.write_shift(4, 0x04B0); - pio.write_shift(4, 0x0001); - prop.push(pr); piao.push(pio); - sz += 8 + pr.length; - - if(!RE) { - pio = new_buf(8); - pio.write_shift(4, 0); - piao.unshift(pio); - - var bufs = [new_buf(4)]; - bufs[0].write_shift(4, entries.length); - for(i = 0; i < entries.length; ++i) { - var value = entries[i][0]; - pr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2)); - pr.write_shift(4, i+2); - pr.write_shift(4, value.length + 1); - pr.write_shift(0, value, "dbcs"); - while(pr.l != pr.length) pr.write_shift(1, 0); - bufs.push(pr); - } - pr = bconcat(bufs); - prop.unshift(pr); - sz += 8 + pr.length; - } - - for(i = 0; i < entries.length; ++i) { - if(RE && !RE[entries[i][0]]) continue; - if(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue; - if(entries[i][1] == null) continue; - - var val = entries[i][1], idx = 0; - if(RE) { - idx = +RE[entries[i][0]]; - var pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */; - if(pinfo.p == "version" && typeof val == "string") { - /*:: if(typeof val !== "string") throw "unreachable"; */ - var arr = val.split("."); - val = ((+arr[0])<<16) + ((+arr[1])||0); - } - pr = write_TypedPropertyValue(pinfo.t, val); - } else { - var T = guess_property_type(val); - if(T == -1) { T = 0x1F; val = String(val); } - pr = write_TypedPropertyValue(T, val); - } - prop.push(pr); - - pio = new_buf(8); - pio.write_shift(4, !RE ? 2+i : idx); - piao.push(pio); - - sz += 8 + pr.length; - } - - var w = 8 * (prop.length + 1); - for(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; } - hdr.write_shift(4, sz); - hdr.write_shift(4, prop.length); - return bconcat([hdr].concat(piao).concat(prop)); -} - -/* [MS-OLEPS] 2.21 PropertySetStream */ -function parse_PropertySetStream(file, PIDSI, clsid) { - var blob = file.content; - if(!blob) return ({}/*:any*/); - prep_blob(blob, 0); - - var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0; - blob.chk('feff', 'Byte Order: '); - - /*var vers = */blob.read_shift(2); // TODO: check version - var SystemIdentifier = blob.read_shift(4); - var CLSID = blob.read_shift(16); - if(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error("Bad PropertySet CLSID " + CLSID); - NumSets = blob.read_shift(4); - if(NumSets !== 1 && NumSets !== 2) throw new Error("Unrecognized #Sets: " + NumSets); - FMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4); - - if(NumSets === 1 && Offset0 !== blob.l) throw new Error("Length mismatch: " + Offset0 + " !== " + blob.l); - else if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); } - var PSet0 = parse_PropertySet(blob, PIDSI); - - var rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/); - for(var y in PSet0) rval[y] = PSet0[y]; - //rval.blob = blob; - rval.FMTID = FMTID0; - //rval.PSet0 = PSet0; - if(NumSets === 1) return rval; - if(Offset1 - blob.l == 2) blob.l += 2; - if(blob.l !== Offset1) throw new Error("Length mismatch 2: " + blob.l + " !== " + Offset1); - var PSet1; - try { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */} - for(y in PSet1) rval[y] = PSet1[y]; - rval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1 - return rval; -} -function write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) { - var hdr = new_buf(entries2 ? 68 : 48); - var bufs = [hdr]; - hdr.write_shift(2, 0xFFFE); - hdr.write_shift(2, 0x0000); /* TODO: type 1 props */ - hdr.write_shift(4, 0x32363237); - hdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, "hex"); - hdr.write_shift(4, (entries2 ? 2 : 1)); - hdr.write_shift(16, clsid, "hex"); - hdr.write_shift(4, (entries2 ? 68 : 48)); - var ps0 = write_PropertySet(entries, RE, PIDSI); - bufs.push(ps0); - - if(entries2) { - var ps1 = write_PropertySet(entries2, null, null); - hdr.write_shift(16, clsid2, "hex"); - hdr.write_shift(4, 68 + ps0.length); - bufs.push(ps1); - } - return bconcat(bufs); -} - -function parsenoop2(blob, length) { blob.read_shift(length); return null; } -function writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1); - var encoding = 'sbcs-cont'; - var cp = current_codepage; - if(opts && opts.biff >= 8) current_codepage = 1200; - if(!opts || opts.biff == 8 ) { - var fHighByte = blob.read_shift(1); - if(fHighByte) { encoding = 'dbcs-cont'; } - } else if(opts.biff == 12) { - encoding = 'wstr'; - } - if(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr'; - var o = cch ? blob.read_shift(cch, encoding) : ""; - current_codepage = cp; - return o; -} - -/* 2.5.293 XLUnicodeRichExtendedString */ -function parse_XLUnicodeRichExtendedString(blob) { - var cp = current_codepage; - current_codepage = 1200; - var cch = blob.read_shift(2), flags = blob.read_shift(1); - var /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8; - var width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs - var cRun = 0, cbExtRst; - var z = {}; - if(fRichSt) cRun = blob.read_shift(2); - if(fExtSt) cbExtRst = blob.read_shift(4); - var encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont'; - var msg = cch === 0 ? "" : blob.read_shift(cch, encoding); - if(fRichSt) blob.l += 4 * cRun; //TODO: parse this - if(fExtSt) blob.l += cbExtRst; //TODO: parse this - z.t = msg; - if(!fRichSt) { z.raw = "" + z.t + ""; z.r = z.t; } - current_codepage = cp; - return z; -} -function write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) { - var str = (xlstr.t||""), nfmts = 1; - - var hdr = new_buf(3 + (nfmts > 1 ? 2 : 0)); - hdr.write_shift(2, str.length); - hdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01); - if(nfmts > 1) hdr.write_shift(2, nfmts); - - var otext = new_buf(2 * str.length); - otext.write_shift(2 * str.length, str, 'utf16le'); - - var out = [hdr, otext]; - - return bconcat(out); -} - -/* 2.5.296 XLUnicodeStringNoCch */ -function parse_XLUnicodeStringNoCch(blob, cch, opts) { - var retval; - if(opts) { - if(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr'); - if(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont'); - } - var fHighByte = blob.read_shift(1); - if(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); } - else { retval = blob.read_shift(cch, 'dbcs-cont'); } - return retval; -} - -/* 2.5.294 XLUnicodeString */ -function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - if(cch === 0) { blob.l++; return ""; } - return parse_XLUnicodeStringNoCch(blob, cch, opts); -} -/* BIFF5 override */ -function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); - var cch = blob.read_shift(1); - if(cch === 0) { blob.l++; return ""; } - return blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont'); -} -/* TODO: BIFF5 and lower, codepage awareness */ -function write_XLUnicodeString(str, opts, o) { - if(!o) o = new_buf(3 + 2 * str.length); - o.write_shift(2, str.length); - o.write_shift(1, 1); - o.write_shift(31, str, 'utf16le'); - return o; -} - -/* [MS-XLS] 2.5.61 ControlInfo */ -function parse_ControlInfo(blob/*::, length, opts*/) { - var flags = blob.read_shift(1); - blob.l++; - var accel = blob.read_shift(2); - blob.l += 2; - return [flags, accel]; -} - -/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */ -function parse_URLMoniker(blob/*::, length, opts*/) { - var len = blob.read_shift(4), start = blob.l; - var extra = false; - if(len > 24) { - /* look ahead */ - blob.l += len - 24; - if(blob.read_shift(16) === "795881f43b1d7f48af2c825dc4852763") extra = true; - blob.l = start; - } - var url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,""); - if(extra) blob.l += 24; - return url; -} - -/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */ -function parse_FileMoniker(blob/*::, length*/) { - var cAnti = blob.read_shift(2); - var preamble = ""; while(cAnti-- > 0) preamble += "../"; - var ansiPath = blob.read_shift(0, 'lpstr-ansi'); - blob.l += 2; //var endServer = blob.read_shift(2); - if(blob.read_shift(2) != 0xDEAD) throw new Error("Bad FileMoniker"); - var sz = blob.read_shift(4); - if(sz === 0) return preamble + ansiPath.replace(/\\/g,"/"); - var bytes = blob.read_shift(4); - if(blob.read_shift(2) != 3) throw new Error("Bad FileMoniker"); - var unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,""); - return preamble + unicodePath; -} - -/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */ -function parse_HyperlinkMoniker(blob, length) { - var clsid = blob.read_shift(16); length -= 16; - switch(clsid) { - case "e0c9ea79f9bace118c8200aa004ba90b": return parse_URLMoniker(blob, length); - case "0303000000000000c000000000000046": return parse_FileMoniker(blob, length); - default: throw new Error("Unsupported Moniker " + clsid); - } -} - -/* [MS-OSHARED] 2.3.7.9 HyperlinkString */ -function parse_HyperlinkString(blob/*::, length*/) { - var len = blob.read_shift(4); - var o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, "") : ""; - return o; -} -function write_HyperlinkString(str/*:string*/, o) { - if(!o) o = new_buf(6 + str.length * 2); - o.write_shift(4, 1 + str.length); - for(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i)); - o.write_shift(2, 0); - return o; -} - -/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */ -function parse_Hyperlink(blob, length)/*:Hyperlink*/ { - var end = blob.l + length; - var sVer = blob.read_shift(4); - if(sVer !== 2) throw new Error("Unrecognized streamVersion: " + sVer); - var flags = blob.read_shift(2); - blob.l += 2; - var displayName, targetFrameName, moniker, oleMoniker, Loc="", guid, fileTime; - if(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l); - if(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l); - if((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l); - if((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l); - if(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l); - if(flags & 0x0020) guid = blob.read_shift(16); - if(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/); - blob.l = end; - var target = targetFrameName||moniker||oleMoniker||""; - if(target && Loc) target+="#"+Loc; - if(!target) target = "#" + Loc; - if((flags & 0x0002) && target.charAt(0) == "/" && target.charAt(1) != "/") target = "file://" + target; - var out = ({Target:target}/*:any*/); - if(guid) out.guid = guid; - if(fileTime) out.time = fileTime; - if(displayName) out.Tooltip = displayName; - return out; -} -function write_Hyperlink(hl) { - var out = new_buf(512), i = 0; - var Target = hl.Target; - if(Target.slice(0,7) == "file://") Target = Target.slice(7); - var hashidx = Target.indexOf("#"); - var F = hashidx > -1 ? 0x1f : 0x17; - switch(Target.charAt(0)) { case "#": F=0x1c; break; case ".": F&=~2; break; } - out.write_shift(4,2); out.write_shift(4, F); - var data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]); - if(F == 0x1C) { - Target = Target.slice(1); - write_HyperlinkString(Target, out); - } else if(F & 0x02) { - data = "e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "); - for(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16)); - var Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target; - out.write_shift(4, 2*(Pretarget.length + 1)); - for(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i)); - out.write_shift(2, 0); - if(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): "", out); - } else { - data = "03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "); - for(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16)); - var P = 0; - while(Target.slice(P*3,P*3+3)=="../"||Target.slice(P*3,P*3+3)=="..\\") ++P; - out.write_shift(2, P); - out.write_shift(4, Target.length - 3 * P + 1); - for(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF); - out.write_shift(1, 0); - out.write_shift(2, 0xFFFF); - out.write_shift(2, 0xDEAD); - for(i = 0; i < 6; ++i) out.write_shift(4, 0); - } - return out.slice(0, out.l); -} - -/* 2.5.178 LongRGBA */ -function parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; } - -/* 2.5.177 LongRGB */ -function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; } - - -/* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { - var rw = blob.read_shift(2); // 0-indexed - var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}/*:any*/); -} -function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { - if(!o) o = new_buf(6); - o.write_shift(2, R); - o.write_shift(2, C); - o.write_shift(2, ixfe||0); - return o; -} - -/* [MS-XLS] 2.5.134 */ -function parse_frtHeader(blob) { - var rt = blob.read_shift(2); - var flags = blob.read_shift(2); // TODO: parse these flags - blob.l += 8; - return {type: rt, flags: flags}; -} - - - -function parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeString2(blob, length, opts); } - -/* [MS-XLS] 2.5.344 */ -function parse_XTI(blob, length, opts) { - var w = opts.biff > 8 ? 4 : 2; - var iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i'); - return [iSupBook, itabFirst, itabLast]; -} - -/* [MS-XLS] 2.5.218 */ -function parse_RkRec(blob) { - var ixfe = blob.read_shift(2); - var RK = parse_RkNumber(blob); - return [ixfe, RK]; -} - -/* [MS-XLS] 2.5.1 */ -function parse_AddinUdf(blob, length, opts) { - blob.l += 4; length -= 4; - var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length, opts); - var cb = blob.read_shift(2); - l -= blob.l; - if(cb !== l) throw new Error("Malformed AddinUdf: padding = " + l + " != " + cb); - blob.l += cb; - return udfName; -} - -/* [MS-XLS] 2.5.209 TODO: Check sizes */ -function parse_Ref8U(blob/*::, length*/) { - var rwFirst = blob.read_shift(2); - var rwLast = blob.read_shift(2); - var colFirst = blob.read_shift(2); - var colLast = blob.read_shift(2); - return {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}}; -} -function write_Ref8U(r/*:Range*/, o) { - if(!o) o = new_buf(8); - o.write_shift(2, r.s.r); - o.write_shift(2, r.e.r); - o.write_shift(2, r.s.c); - o.write_shift(2, r.e.c); - return o; -} - -/* [MS-XLS] 2.5.211 */ -function parse_RefU(blob/*::, length*/) { - var rwFirst = blob.read_shift(2); - var rwLast = blob.read_shift(2); - var colFirst = blob.read_shift(1); - var colLast = blob.read_shift(1); - return {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}}; -} - -/* [MS-XLS] 2.5.207 */ -var parse_Ref = parse_RefU; - -/* [MS-XLS] 2.5.143 */ -function parse_FtCmo(blob/*::, length*/) { - blob.l += 4; - var ot = blob.read_shift(2); - var id = blob.read_shift(2); - var flags = blob.read_shift(2); - blob.l+=12; - return [id, ot, flags]; -} - -/* [MS-XLS] 2.5.149 */ -function parse_FtNts(blob) { - var out = {}; - blob.l += 4; - blob.l += 16; // GUID TODO - out.fSharedNote = blob.read_shift(2); - blob.l += 4; - return out; -} - -/* [MS-XLS] 2.5.142 */ -function parse_FtCf(blob) { - var out = {}; - blob.l += 4; - blob.cf = blob.read_shift(2); - return out; -} - -/* [MS-XLS] 2.5.140 - 2.5.154 and friends */ -function parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); } -var FtTab = { - /*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */ - /*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */ - /*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */ - /*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */ - /*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */ - /*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */ - /*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */ - /*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */ - /*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */ - /*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */ - /*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */ - /*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */ - /*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */ - /*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */ - /*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */ - /*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */ - /*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */ - /*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */ - /*::[*/0x15/*::]*/: parse_FtCmo -}; -function parse_FtArray(blob, length/*::, ot*/) { - var tgt = blob.l + length; - var fts = []; - while(blob.l < tgt) { - var ft = blob.read_shift(2); - blob.l-=2; - try { - fts.push(FtTab[ft](blob, tgt - blob.l)); - } catch(e) { blob.l = tgt; return fts; } - } - if(blob.l != tgt) blob.l = tgt; //throw new Error("bad Object Ft-sequence"); - return fts; -} - -/* --- 2.4 Records --- */ - -/* [MS-XLS] 2.4.21 */ -function parse_BOF(blob, length) { - var o = {BIFFVer:0, dt:0}; - o.BIFFVer = blob.read_shift(2); length -= 2; - if(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; } - switch(o.BIFFVer) { - case 0x0600: /* BIFF8 */ - case 0x0500: /* BIFF5 */ - case 0x0400: /* BIFF4 */ - case 0x0300: /* BIFF3 */ - case 0x0200: /* BIFF2 */ - case 0x0002: case 0x0007: /* BIFF2 */ - break; - default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); - } - - blob.read_shift(length); - return o; -} -function write_BOF(wb/*:Workbook*/, t/*:number*/, o) { - var h = 0x0600, w = 16; - switch(o.bookType) { - case 'biff8': break; - case 'biff5': h = 0x0500; w = 8; break; - case 'biff4': h = 0x0004; w = 6; break; - case 'biff3': h = 0x0003; w = 6; break; - case 'biff2': h = 0x0002; w = 4; break; - case 'xla': break; - default: throw new Error("unsupported BIFF version"); - } - var out = new_buf(w); - out.write_shift(2, h); - out.write_shift(2, t); - if(w > 4) out.write_shift(2, 0x7262); - if(w > 6) out.write_shift(2, 0x07CD); - if(w > 8) { - out.write_shift(2, 0xC009); - out.write_shift(2, 0x0001); - out.write_shift(2, 0x0706); - out.write_shift(2, 0x0000); - } - return out; -} - - -/* [MS-XLS] 2.4.146 */ -function parse_InterfaceHdr(blob, length) { - if(length === 0) return 0x04b0; - if((blob.read_shift(2))!==0x04b0){/* empty */} - return 0x04b0; -} - - -/* [MS-XLS] 2.4.349 */ -function parse_WriteAccess(blob, length, opts) { - if(opts.enc) { blob.l += length; return ""; } - var l = blob.l; - // TODO: make sure XLUnicodeString doesnt overrun - var UserName = parse_XLUnicodeString2(blob, 0, opts); - blob.read_shift(length + l - blob.l); - return UserName; -} -function write_WriteAccess(s/*:string*/, opts) { - var b8 = !opts || opts.biff == 8; - var o = new_buf(b8 ? 112 : 54); - o.write_shift(opts.biff == 8 ? 2 : 1, 7); - if(b8) o.write_shift(1, 0); - o.write_shift(4, 0x33336853); - o.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000))); - while(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32)); - return o; -} - -/* [MS-XLS] 2.4.351 */ -function parse_WsBool(blob, length, opts) { - var flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0); - return { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 }; -} - -/* [MS-XLS] 2.4.28 */ -function parse_BoundSheet8(blob, length, opts) { - var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) & 0x03; - var dt = blob.read_shift(1); - switch(dt) { - case 0: dt = 'Worksheet'; break; - case 1: dt = 'Macrosheet'; break; - case 2: dt = 'Chartsheet'; break; - case 6: dt = 'VBAModule'; break; - } - var name = parse_ShortXLUnicodeString(blob, 0, opts); - if(name.length === 0) name = "Sheet1"; - return { pos:pos, hs:hidden, dt:dt, name:name }; -} -function write_BoundSheet8(data, opts) { - var w = (!opts || opts.biff >= 8 ? 2 : 1); - var o = new_buf(8 + w * data.name.length); - o.write_shift(4, data.pos); - o.write_shift(1, data.hs || 0); - o.write_shift(1, data.dt); - o.write_shift(1, data.name.length); - if(opts.biff >= 8) o.write_shift(1, 1); - o.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le'); - var out = o.slice(0, o.l); - out.l = o.l; return out; -} - -/* [MS-XLS] 2.4.265 TODO */ -function parse_SST(blob, length)/*:SST*/ { - var end = blob.l + length; - var cnt = blob.read_shift(4); - var ucnt = blob.read_shift(4); - var strs/*:SST*/ = ([]/*:any*/); - for(var i = 0; i != ucnt && blob.l < end; ++i) { - strs.push(parse_XLUnicodeRichExtendedString(blob)); - } - strs.Count = cnt; strs.Unique = ucnt; - return strs; -} -function write_SST(sst, opts) { - var header = new_buf(8); - header.write_shift(4, sst.Count); - header.write_shift(4, sst.Unique); - var strs = []; - for(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts); - var o = bconcat([header].concat(strs)); - /*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; })); - return o; -} - -/* [MS-XLS] 2.4.107 */ -function parse_ExtSST(blob, length) { - var extsst = {}; - extsst.dsst = blob.read_shift(2); - blob.l += length-2; - return extsst; -} - - -/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */ -function parse_Row(blob) { - var z = ({}/*:any*/); - z.r = blob.read_shift(2); - z.c = blob.read_shift(2); - z.cnt = blob.read_shift(2) - z.c; - var miyRw = blob.read_shift(2); - blob.l += 4; // reserved(2), unused(2) - var flags = blob.read_shift(1); // various flags - blob.l += 3; // reserved(8), ixfe(12), flags(4) - if(flags & 0x07) z.level = flags & 0x07; - // collapsed: flags & 0x10 - if(flags & 0x20) z.hidden = true; - if(flags & 0x40) z.hpt = miyRw / 20; - return z; -} - - -/* [MS-XLS] 2.4.125 */ -function parse_ForceFullCalculation(blob) { - var header = parse_frtHeader(blob); - if(header.type != 0x08A3) throw new Error("Invalid Future Record " + header.type); - var fullcalc = blob.read_shift(4); - return fullcalc !== 0x0; -} - - - - - -/* [MS-XLS] 2.4.215 rt */ -function parse_RecalcId(blob) { - blob.read_shift(2); - return blob.read_shift(4); -} - -/* [MS-XLS] 2.4.87 */ -function parse_DefaultRowHeight(blob, length, opts) { - var f = 0; - if(!(opts && opts.biff == 2)) { - f = blob.read_shift(2); - } - var miyRw = blob.read_shift(2); - if((opts && opts.biff == 2)) { - f = 1 - (miyRw >> 15); miyRw &= 0x7fff; - } - var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; - return [fl, miyRw]; -} - -/* [MS-XLS] 2.4.345 TODO */ -function parse_Window1(blob) { - var xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2); - var flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2); - var ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2); - return { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur, - FirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio }; -} -function write_Window1(/*::opts*/) { - var o = new_buf(18); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 0x7260); - o.write_shift(2, 0x44c0); - o.write_shift(2, 0x38); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 1); - o.write_shift(2, 0x01f4); - return o; -} -/* [MS-XLS] 2.4.346 TODO */ -function parse_Window2(blob, length, opts) { - if(opts && opts.biff >= 2 && opts.biff < 5) return {}; - var f = blob.read_shift(2); - return { RTL: f & 0x40 }; -} -function write_Window2(view) { - var o = new_buf(18), f = 0x6b6; - if(view && view.RTL) f |= 0x40; - o.write_shift(2, f); - o.write_shift(4, 0); - o.write_shift(4, 64); - o.write_shift(4, 0); - o.write_shift(4, 0); - return o; -} - -/* [MS-XLS] 2.4.189 TODO */ -function parse_Pane(/*blob, length, opts*/) { -} - -/* [MS-XLS] 2.4.122 TODO */ -function parse_Font(blob, length, opts) { - var o/*:any*/ = { - dyHeight: blob.read_shift(2), - fl: blob.read_shift(2) - }; - switch((opts && opts.biff) || 8) { - case 2: break; - case 3: case 4: blob.l += 2; break; - default: blob.l += 10; break; - } - o.name = parse_ShortXLUnicodeString(blob, 0, opts); - return o; -} -function write_Font(data, opts) { - var name = data.name || "Arial"; - var b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length)); - var o = new_buf(w); - o.write_shift(2, (data.sz || 12) * 20); - o.write_shift(4, 0); - o.write_shift(2, 400); - o.write_shift(4, 0); - o.write_shift(2, 0); - o.write_shift(1, name.length); - if(!b5) o.write_shift(1, 1); - o.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? "sbcs" : "utf16le")); - return o; -} - -/* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); - cell.isst = blob.read_shift(4); - return cell; -} -function write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) { - var o = new_buf(10); - write_XLSCell(R, C, os, o); - o.write_shift(4, v); - return o; -} - -/* [MS-XLS] 2.4.148 */ -function parse_Label(blob, length, opts) { - if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; - var str = parse_XLUnicodeString(blob, target - blob.l, opts); - cell.val = str; - return cell; -} -function write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) { - var b8 = !opts || opts.biff == 8; - var o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length); - write_XLSCell(R, C, os, o); - o.write_shift(2, v.length); - if(b8) o.write_shift(1, 1); - o.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs'); - return o; -} - - -/* [MS-XLS] 2.4.126 Number Formats */ -function parse_Format(blob, length, opts) { - var numFmtId = blob.read_shift(2); - var fmtstr = parse_XLUnicodeString2(blob, 0, opts); - return [numFmtId, fmtstr]; -} -function write_Format(i/*:number*/, f/*:string*/, opts, o) { - var b5 = (opts && (opts.biff == 5)); - if(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length)); - o.write_shift(2, i); - o.write_shift((b5 ? 1 : 2), f.length); - if(!b5) o.write_shift(1, 1); - o.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le')); - var out = (o.length > o.l) ? o.slice(0, o.l) : o; - if(out.l == null) out.l = out.length; - return out; -} -var parse_BIFF2Format = parse_XLUnicodeString2; - -/* [MS-XLS] 2.4.90 */ -function parse_Dimensions(blob, length, opts) { - var end = blob.l + length; - var w = opts.biff == 8 || !opts.biff ? 4 : 2; - var r = blob.read_shift(w), R = blob.read_shift(w); - var c = blob.read_shift(2), C = blob.read_shift(2); - blob.l = end; - return {s: {r:r, c:c}, e: {r:R, c:C}}; -} -function write_Dimensions(range, opts) { - var w = opts.biff == 8 || !opts.biff ? 4 : 2; - var o = new_buf(2*w + 6); - o.write_shift(w, range.s.r); - o.write_shift(w, range.e.r + 1); - o.write_shift(2, range.s.c); - o.write_shift(2, range.e.c + 1); - o.write_shift(2, 0); - return o; -} - -/* [MS-XLS] 2.4.220 */ -function parse_RK(blob) { - var rw = blob.read_shift(2), col = blob.read_shift(2); - var rkrec = parse_RkRec(blob); - return {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]}; -} - -/* [MS-XLS] 2.4.175 */ -function parse_MulRk(blob, length) { - var target = blob.l + length - 2; - var rw = blob.read_shift(2), col = blob.read_shift(2); - var rkrecs = []; - while(blob.l < target) rkrecs.push(parse_RkRec(blob)); - if(blob.l !== target) throw new Error("MulRK read error"); - var lastcol = blob.read_shift(2); - if(rkrecs.length != lastcol - col + 1) throw new Error("MulRK length mismatch"); - return {r:rw, c:col, C:lastcol, rkrec:rkrecs}; -} -/* [MS-XLS] 2.4.174 */ -function parse_MulBlank(blob, length) { - var target = blob.l + length - 2; - var rw = blob.read_shift(2), col = blob.read_shift(2); - var ixfes = []; - while(blob.l < target) ixfes.push(blob.read_shift(2)); - if(blob.l !== target) throw new Error("MulBlank read error"); - var lastcol = blob.read_shift(2); - if(ixfes.length != lastcol - col + 1) throw new Error("MulBlank length mismatch"); - return {r:rw, c:col, C:lastcol, ixfe:ixfes}; -} - -/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */ -function parse_CellStyleXF(blob, length, style, opts) { - var o = {}; - var a = blob.read_shift(4), b = blob.read_shift(4); - var c = blob.read_shift(4), d = blob.read_shift(2); - o.patternType = XLSFillPattern[c >> 26]; - - if(!opts.cellStyles) return o; - o.alc = a & 0x07; - o.fWrap = (a >> 3) & 0x01; - o.alcV = (a >> 4) & 0x07; - o.fJustLast = (a >> 7) & 0x01; - o.trot = (a >> 8) & 0xFF; - o.cIndent = (a >> 16) & 0x0F; - o.fShrinkToFit = (a >> 20) & 0x01; - o.iReadOrder = (a >> 22) & 0x02; - o.fAtrNum = (a >> 26) & 0x01; - o.fAtrFnt = (a >> 27) & 0x01; - o.fAtrAlc = (a >> 28) & 0x01; - o.fAtrBdr = (a >> 29) & 0x01; - o.fAtrPat = (a >> 30) & 0x01; - o.fAtrProt = (a >> 31) & 0x01; - - o.dgLeft = b & 0x0F; - o.dgRight = (b >> 4) & 0x0F; - o.dgTop = (b >> 8) & 0x0F; - o.dgBottom = (b >> 12) & 0x0F; - o.icvLeft = (b >> 16) & 0x7F; - o.icvRight = (b >> 23) & 0x7F; - o.grbitDiag = (b >> 30) & 0x03; - - o.icvTop = c & 0x7F; - o.icvBottom = (c >> 7) & 0x7F; - o.icvDiag = (c >> 14) & 0x7F; - o.dgDiag = (c >> 21) & 0x0F; - - o.icvFore = d & 0x7F; - o.icvBack = (d >> 7) & 0x7F; - o.fsxButton = (d >> 14) & 0x01; - return o; -} -//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);} -//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);} - -/* [MS-XLS] 2.4.353 TODO: actually do this right */ -function parse_XF(blob, length, opts) { - var o = {}; - o.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2); - o.fStyle = (o.flags >> 2) & 0x01; - length -= 6; - o.data = parse_CellStyleXF(blob, length, o.fStyle, opts); - return o; -} -function write_XF(data, ixfeP, opts, o) { - var b5 = (opts && (opts.biff == 5)); - if(!o) o = new_buf(b5 ? 16 : 20); - o.write_shift(2, 0); - if(data.style) { - o.write_shift(2, (data.numFmtId||0)); - o.write_shift(2, 0xFFF4); - } else { - o.write_shift(2, (data.numFmtId||0)); - o.write_shift(2, (ixfeP<<4)); - } - var f = 0; - if(data.numFmtId > 0 && b5) f |= 0x0400; - o.write_shift(4, f); - o.write_shift(4, 0); - if(!b5) o.write_shift(4, 0); - o.write_shift(2, 0); - return o; -} - -/* [MS-XLS] 2.4.134 */ -function parse_Guts(blob) { - blob.l += 4; - var out = [blob.read_shift(2), blob.read_shift(2)]; - if(out[0] !== 0) out[0]--; - if(out[1] !== 0) out[1]--; - if(out[0] > 7 || out[1] > 7) throw new Error("Bad Gutters: " + out.join("|")); - return out; -} -function write_Guts(guts/*:Array*/) { - var o = new_buf(8); - o.write_shift(4, 0); - o.write_shift(2, guts[0] ? guts[0] + 1 : 0); - o.write_shift(2, guts[1] ? guts[1] + 1 : 0); - return o; -} - -/* [MS-XLS] 2.4.24 */ -function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; - var val = parse_Bes(blob, 2); - cell.val = val; - cell.t = (val === true || val === false) ? 'b' : 'e'; - return cell; -} -function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) { - var o = new_buf(8); - write_XLSCell(R, C, os, o); - write_Bes(v, t, o); - return o; -} - -/* [MS-XLS] 2.4.180 Number */ -function parse_Number(blob, length, opts) { - if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); - var xnum = parse_Xnum(blob, 8); - cell.val = xnum; - return cell; -} -function write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) { - var o = new_buf(14); - write_XLSCell(R, C, os, o); - write_Xnum(v, o); - return o; -} - -var parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136 - -/* [MS-XLS] 2.4.271 */ -function parse_SupBook(blob, length, opts) { - var end = blob.l + length; - var ctab = blob.read_shift(2); - var cch = blob.read_shift(2); - opts.sbcch = cch; - if(cch == 0x0401 || cch == 0x3A01) return [cch, ctab]; - if(cch < 0x01 || cch >0xff) throw new Error("Unexpected SupBook type: "+cch); - var virtPath = parse_XLUnicodeStringNoCch(blob, cch); - /* TODO: 2.5.277 Virtual Path */ - var rgst = []; - while(end > blob.l) rgst.push(parse_XLUnicodeString(blob)); - return [cch, ctab, virtPath, rgst]; -} - -/* [MS-XLS] 2.4.105 TODO */ -function parse_ExternName(blob, length, opts) { - var flags = blob.read_shift(2); - var body; - var o = ({ - fBuiltIn: flags & 0x01, - fWantAdvise: (flags >>> 1) & 0x01, - fWantPict: (flags >>> 2) & 0x01, - fOle: (flags >>> 3) & 0x01, - fOleLink: (flags >>> 4) & 0x01, - cf: (flags >>> 5) & 0x3FF, - fIcon: flags >>> 15 & 0x01 - }/*:any*/); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); - //else throw new Error("unsupported SupBook cch: " + opts.sbcch); - o.body = body || blob.read_shift(length-2); - if(typeof body === "string") o.Name = body; - return o; -} - -/* [MS-XLS] 2.4.150 TODO */ -var XLSLblBuiltIn = [ - "_xlnm.Consolidate_Area", - "_xlnm.Auto_Open", - "_xlnm.Auto_Close", - "_xlnm.Extract", - "_xlnm.Database", - "_xlnm.Criteria", - "_xlnm.Print_Area", - "_xlnm.Print_Titles", - "_xlnm.Recorder", - "_xlnm.Data_Form", - "_xlnm.Auto_Activate", - "_xlnm.Auto_Deactivate", - "_xlnm.Sheet_Title", - "_xlnm._FilterDatabase" -]; -function parse_Lbl(blob, length, opts) { - var target = blob.l + length; - var flags = blob.read_shift(2); - var chKey = blob.read_shift(1); - var cch = blob.read_shift(1); - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - var itab = 0; - if(!opts || opts.biff >= 5) { - if(opts.biff != 5) blob.l += 2; - itab = blob.read_shift(2); - if(opts.biff == 5) blob.l += 2; - blob.l += 4; - } - var name = parse_XLUnicodeStringNoCch(blob, cch, opts); - if(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)]; - var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; - /*jshint -W018 */ - var rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); - /*jshint +W018 */ - return { - chKey: chKey, - Name: name, - itab: itab, - rgce: rgce - }; -} - -/* [MS-XLS] 2.4.106 TODO: verify filename encoding */ -function parse_ExternSheet(blob, length, opts) { - if(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts); - var o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2); - while(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts)); - // [iSupBook, itabFirst, itabLast]; - if(blob.l != target) throw new Error("Bad ExternSheet: " + blob.l + " != " + target); - return o; -} -function parse_BIFF5ExternSheet(blob, length, opts) { - if(blob[blob.l + 1] == 0x03) blob[blob.l]++; - var o = parse_ShortXLUnicodeString(blob, length, opts); - return o.charCodeAt(0) == 0x03 ? o.slice(1) : o; -} - -/* [MS-XLS] 2.4.176 TODO: check older biff */ -function parse_NameCmt(blob, length, opts) { - if(opts.biff < 8) { blob.l += length; return; } - var cchName = blob.read_shift(2); - var cchComment = blob.read_shift(2); - var name = parse_XLUnicodeStringNoCch(blob, cchName, opts); - var comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts); - return [name, comment]; -} - -/* [MS-XLS] 2.4.260 */ -function parse_ShrFmla(blob, length, opts) { - var ref = parse_RefU(blob, 6); - blob.l++; - var cUse = blob.read_shift(1); - length -= 8; - return [parse_SharedParsedFormula(blob, length, opts), cUse, ref]; -} - -/* [MS-XLS] 2.4.4 TODO */ -function parse_Array(blob, length, opts) { - var ref = parse_Ref(blob, 6); - /* TODO: fAlwaysCalc */ - switch(opts.biff) { - case 2: blob.l ++; length -= 7; break; - case 3: case 4: blob.l += 2; length -= 8; break; - default: blob.l += 6; length -= 12; - } - return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; -} - -/* [MS-XLS] 2.4.173 */ -function parse_MTRSettings(blob) { - var fMTREnabled = blob.read_shift(4) !== 0x00; - var fUserSetThreadCount = blob.read_shift(4) !== 0x00; - var cUserThreadCount = blob.read_shift(4); - return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; -} - -/* [MS-XLS] 2.5.186 TODO: BIFF5 */ -function parse_NoteSh(blob, length, opts) { - if(opts.biff < 8) return; - var row = blob.read_shift(2), col = blob.read_shift(2); - var flags = blob.read_shift(2), idObj = blob.read_shift(2); - var stAuthor = parse_XLUnicodeString2(blob, 0, opts); - if(opts.biff < 8) blob.read_shift(1); - return [{r:row,c:col}, stAuthor, idObj, flags]; -} - -/* [MS-XLS] 2.4.179 */ -function parse_Note(blob, length, opts) { - /* TODO: Support revisions */ - return parse_NoteSh(blob, length, opts); -} - -/* [MS-XLS] 2.4.168 */ -function parse_MergeCells(blob, length)/*:Array*/ { - var merges/*:Array*/ = []; - var cmcs = blob.read_shift(2); - while (cmcs--) merges.push(parse_Ref8U(blob,length)); - return merges; -} -function write_MergeCells(merges/*:Array*/) { - var o = new_buf(2 + merges.length * 8); - o.write_shift(2, merges.length); - for(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o); - return o; -} - -/* [MS-XLS] 2.4.181 TODO: parse all the things! */ -function parse_Obj(blob, length, opts) { - if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts); - var cmo = parse_FtCmo(blob, 22); // id, ot, flags - var fts = parse_FtArray(blob, length-22, cmo[1]); - return { cmo: cmo, ft:fts }; -} -/* from older spec */ -var parse_BIFF5OT = { -0x08: function(blob, length) { - var tgt = blob.l + length; - blob.l += 10; // todo - var cf = blob.read_shift(2); - blob.l += 4; - blob.l += 2; //var cbPictFmla = blob.read_shift(2); - blob.l += 2; - blob.l += 2; //var grbit = blob.read_shift(2); - blob.l += 4; - var cchName = blob.read_shift(1); - blob.l += cchName; // TODO: stName - blob.l = tgt; // TODO: fmla - return { fmt:cf }; -} -}; - -function parse_BIFF5Obj(blob, length, opts) { - blob.l += 4; //var cnt = blob.read_shift(4); - var ot = blob.read_shift(2); - var id = blob.read_shift(2); - var grbit = blob.read_shift(2); - blob.l += 2; //var colL = blob.read_shift(2); - blob.l += 2; //var dxL = blob.read_shift(2); - blob.l += 2; //var rwT = blob.read_shift(2); - blob.l += 2; //var dyT = blob.read_shift(2); - blob.l += 2; //var colR = blob.read_shift(2); - blob.l += 2; //var dxR = blob.read_shift(2); - blob.l += 2; //var rwB = blob.read_shift(2); - blob.l += 2; //var dyB = blob.read_shift(2); - blob.l += 2; //var cbMacro = blob.read_shift(2); - blob.l += 6; - length -= 36; - var fts = []; - fts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts)); - return { cmo: [id, ot, grbit], ft:fts }; -} - -/* [MS-XLS] 2.4.329 TODO: parse properly */ -function parse_TxO(blob, length, opts) { - var s = blob.l; - var texts = ""; -try { - blob.l += 4; - var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; - var controlInfo; // eslint-disable-line no-unused-vars - if([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6; - else controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars - var cchText = blob.read_shift(2); - /*var cbRuns = */blob.read_shift(2); - /*var ifntEmpty = */parseuint16(blob, 2); - var len = blob.read_shift(2); - blob.l += len; - //var fmla = parse_ObjFmla(blob, s + length - blob.l); - - for(var i = 1; i < blob.lens.length-1; ++i) { - if(blob.l-s != blob.lens[i]) throw new Error("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 new Error("cchText: " + cchText + " != " + texts.length); - } - - blob.l = s + length; - /* [MS-XLS] 2.5.272 TxORuns */ -// var rgTxoRuns = []; -// for(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8; -// var cchText2 = blob.read_shift(2); -// if(cchText2 !== cchText) throw new Error("TxOLastRun mismatch: " + cchText2 + " " + cchText); -// blob.l += 6; -// if(s + length != blob.l) throw new Error("TxO " + (s + length) + ", at " + blob.l); - return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts }; } -} - -/* [MS-XLS] 2.4.140 */ -function parse_HLink(blob, length) { - var ref = parse_Ref8U(blob, 8); - blob.l += 16; /* CLSID */ - var hlink = parse_Hyperlink(blob, length-24); - return [ref, hlink]; -} -function write_HLink(hl) { - var O = new_buf(24); - var ref = decode_cell(hl[0]); - O.write_shift(2, ref.r); O.write_shift(2, ref.r); - O.write_shift(2, ref.c); O.write_shift(2, ref.c); - var clsid = "d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "); - for(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16)); - return bconcat([O, write_Hyperlink(hl[1])]); -} - - -/* [MS-XLS] 2.4.141 */ -function parse_HLinkTooltip(blob, 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 write_HLinkTooltip(hl) { - var TT = hl[1].Tooltip; - var O = new_buf(10 + 2 * (TT.length + 1)); - O.write_shift(2, 0x0800); - var ref = decode_cell(hl[0]); - O.write_shift(2, ref.r); O.write_shift(2, ref.r); - O.write_shift(2, ref.c); O.write_shift(2, ref.c); - for(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i)); - O.write_shift(2, 0); - return O; -} - -/* [MS-XLS] 2.4.63 */ -function parse_Country(blob)/*:[string|number, string|number]*/ { - var o = [0,0], d; - d = blob.read_shift(2); o[0] = CountryEnum[d] || d; - d = blob.read_shift(2); o[1] = CountryEnum[d] || d; - return o; -} -function write_Country(o) { - if(!o) o = new_buf(4); - o.write_shift(2, 0x01); - o.write_shift(2, 0x01); - return o; -} - -/* [MS-XLS] 2.4.50 ClrtClient */ -function parse_ClrtClient(blob) { - var ccv = blob.read_shift(2); - var o = []; - while(ccv-->0) o.push(parse_LongRGB(blob, 8)); - return o; -} - -/* [MS-XLS] 2.4.188 */ -function parse_Palette(blob) { - var ccv = blob.read_shift(2); - var o = []; - while(ccv-->0) o.push(parse_LongRGB(blob, 8)); - return o; -} - -/* [MS-XLS] 2.4.354 */ -function parse_XFCRC(blob) { - blob.l += 2; - var o = {cxfs:0, crc:0}; - o.cxfs = blob.read_shift(2); - o.crc = blob.read_shift(4); - return o; -} - -/* [MS-XLS] 2.4.53 TODO: parse flags */ -/* [MS-XLSB] 2.4.323 TODO: parse flags */ -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; - var o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/); - if(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7; - return o; -} -function write_ColInfo(col, idx) { - var o = new_buf(12); - o.write_shift(2, idx); - o.write_shift(2, idx); - o.write_shift(2, col.width * 256); - o.write_shift(2, 0); - var f = 0; - if(col.hidden) f |= 1; - o.write_shift(1, f); - f = col.level || 0; - o.write_shift(1, f); - o.write_shift(2, 0); - return o; -} - -/* [MS-XLS] 2.4.257 */ -function parse_Setup(blob, length) { - var o = {}; - if(length < 32) return o; - blob.l += 16; - o.header = parse_Xnum(blob, 8); - o.footer = parse_Xnum(blob, 8); - blob.l += 2; - return o; -} - -/* [MS-XLS] 2.4.261 */ -function parse_ShtProps(blob, length, opts) { - var def = {area:false}; - if(opts.biff != 5) { blob.l += length; return def; } - var d = blob.read_shift(1); blob.l += 3; - if((d & 0x10)) def.area = true; - return def; -} - -/* [MS-XLS] 2.4.241 */ -function write_RRTabId(n/*:number*/) { - var out = new_buf(2 * n); - for(var i = 0; i < n; ++i) out.write_shift(2, i+1); - return out; -} - -var parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */ -var parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */ -var parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */ - -/* --- Specific to versions before BIFF8 --- */ -function parse_ImData(blob) { - var cf = blob.read_shift(2); - var env = blob.read_shift(2); - var lcb = blob.read_shift(4); - var o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)}; - blob.l += lcb; - return o; -} - -/* BIFF2_??? where ??? is the name from [XLS] */ -function parse_BIFF2STR(blob, length, opts) { - if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; - var str = parse_XLUnicodeString2(blob, length-7, opts); - cell.t = 'str'; - cell.val = str; - return cell; -} - -function parse_BIFF2NUM(blob/*::, length*/) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; - var num = parse_Xnum(blob, 8); - cell.t = 'n'; - cell.val = num; - return cell; -} -function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) { - var out = new_buf(15); - write_BIFF2Cell(out, r, c); - out.write_shift(8, val, 'f'); - return out; -} - -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; - var num = blob.read_shift(2); - cell.t = 'n'; - cell.val = num; - return cell; -} -function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) { - var out = new_buf(9); - write_BIFF2Cell(out, r, c); - out.write_shift(2, val); - return out; -} - -function parse_BIFF2STRING(blob) { - var cch = blob.read_shift(1); - if(cch === 0) { blob.l++; return ""; } - return blob.read_shift(cch, 'sbcs-cont'); -} - -/* TODO: convert to BIFF8 font struct */ -function parse_BIFF2FONTXTRA(blob, length) { - blob.l += 6; // unknown - blob.l += 2; // font weight "bls" - blob.l += 1; // charset - blob.l += 3; // unknown - blob.l += 1; // font family - blob.l += length - 13; -} - -/* TODO: parse rich text runs */ -function parse_RString(blob, length, opts) { - var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - var cch = blob.read_shift(2); - var str = parse_XLUnicodeStringNoCch(blob, cch, opts); - blob.l = end; - cell.t = 'str'; - cell.val = str; - return cell; -} -/* from js-harb (C) 2014-present SheetJS */ -var DBF_SUPPORTED_VERSIONS = (/* unused pure expression or super */ null && ([0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5])); -var DBF = /*#__PURE__*/(function() { -var dbf_codepage_map = { - /* Code Pages Supported by Visual FoxPro */ - /*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850, - /*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000, - /*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866, - /*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861, - /*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620, - /*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857, - /*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949, - /*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932, - /*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255, - /*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007, - /*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006, - /*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251, - /*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253, - - /* shapefile DBF extension */ - /*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865, - /*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850, - /*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437, - /*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437, - /*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437, - /*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932, - /*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437, - /*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865, - /*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437, - /*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437, - /*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850, - /*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852, - /*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860, - /*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866, - /*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852, - /*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949, - /*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874, - /*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252, - /*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863, - /*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852, - /*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257, - - /*::[*/0xFF/*::]*/: 16969 -}; -var dbf_reverse_map = evert({ - /*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850, - /*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000, - /*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866, - /*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861, - /*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620, - /*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857, - /*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949, - /*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932, - /*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255, - /*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007, - /*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006, - /*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251, - /*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253, - /*::[*/0x00/*::]*/: 20127 -}); -/* TODO: find an actual specification */ -function dbf_to_aoa(buf, opts)/*:AOA*/ { - var out/*:AOA*/ = []; - var d/*:Block*/ = (new_raw_buf(1)/*:any*/); - switch(opts.type) { - case 'base64': d = s2a(Base64_decode(buf)); break; - case 'binary': d = s2a(buf); break; - case 'buffer': - case 'array': d = buf; break; - } - prep_blob(d, 0); - - /* header */ - var ft = d.read_shift(1); - var memo = !!(ft & 0x88); - var vfp = false, l7 = false; - switch(ft) { - case 0x02: break; // dBASE II - case 0x03: break; // dBASE III - case 0x30: vfp = true; memo = true; break; // VFP - case 0x31: vfp = true; memo = true; break; // VFP with autoincrement - // 0x43 dBASE IV SQL table files - // 0x63 dBASE IV SQL system files - case 0x83: break; // dBASE III with memo - case 0x8B: break; // dBASE IV with memo - case 0x8C: l7 = true; break; // dBASE Level 7 with memo - // case 0xCB dBASE IV SQL table files with memo - case 0xF5: break; // FoxPro 2.x with memo - // case 0xFB FoxBASE - default: throw new Error("DBF Unsupported Version: " + ft.toString(16)); - } - - var nrow = 0, fpos = 0x0209; - if(ft == 0x02) nrow = d.read_shift(2); - d.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD - if(ft != 0x02) nrow = d.read_shift(4); - if(nrow > 1048576) nrow = 1e6; - - if(ft != 0x02) fpos = d.read_shift(2); // header length - var rlen = d.read_shift(2); // record length - - var /*flags = 0,*/ current_cp = opts.codepage || 1252; - if(ft != 0x02) { // 20 reserved bytes - d.l+=16; - /*flags = */d.read_shift(1); - //if(memo && ((flags & 0x02) === 0)) throw new Error("DBF Flags " + flags.toString(16) + " ft " + ft.toString(16)); - - /* codepage present in FoxPro and dBASE Level 7 */ - if(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]]; - d.l+=1; - - d.l+=2; - } - if(l7) d.l += 36; // Level 7: 32 byte "Language driver name", 4 byte reserved - -/*:: type DBFField = { name:string; len:number; type:string; } */ - var fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/); - var hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0)))); - var ww = l7 ? 32 : 11; - while(d.l < hend && d[d.l] != 0x0d) { - field = ({}/*:any*/); - field.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); - d.l += ww; - field.type = String.fromCharCode(d.read_shift(1)); - if(ft != 0x02 && !l7) field.offset = d.read_shift(4); - field.len = d.read_shift(1); - if(ft == 0x02) field.offset = d.read_shift(2); - field.dec = d.read_shift(1); - if(field.name.length) fields.push(field); - if(ft != 0x02) d.l += l7 ? 13 : 14; - switch(field.type) { - case 'B': // Double (VFP) / Binary (dBASE L7) - if((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type); - break; - case 'G': // General (FoxPro and dBASE L7) - case 'P': // Picture (FoxPro and dBASE L7) - if(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type); - break; - case '+': // Autoincrement (dBASE L7 only) - case '0': // _NullFlags (VFP only) - case '@': // Timestamp (dBASE L7 only) - case 'C': // Character (dBASE II) - case 'D': // Date (dBASE III) - case 'F': // Float (dBASE IV) - case 'I': // Long (VFP and dBASE L7) - case 'L': // Logical (dBASE II) - case 'M': // Memo (dBASE III) - case 'N': // Number (dBASE II) - case 'O': // Double (dBASE L7 only) - case 'T': // Datetime (VFP only) - case 'Y': // Currency (VFP only) - break; - default: throw new Error('Unknown Field Type: ' + field.type); - } - } - - if(d[d.l] !== 0x0D) d.l = fpos-1; - if(d.read_shift(1) !== 0x0D) throw new Error("DBF Terminator not found " + d.l + " " + d[d.l]); - d.l = fpos; - - /* data */ - var R = 0, C = 0; - out[0] = []; - for(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name; - while(nrow-- > 0) { - if(d[d.l] === 0x2A) { - // TODO: record marked as deleted -- create a hidden row? - d.l+=rlen; - continue; - } - ++d.l; - out[++R] = []; C = 0; - for(C = 0; C != fields.length; ++C) { - var dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len; - prep_blob(dd, 0); - var s = $cptable.utils.decode(current_cp, dd); - switch(fields[C].type) { - case 'C': - // NOTE: it is conventional to write ' / / ' for empty dates - if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); - break; - case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); - else out[R][C] = s; - break; - case 'F': out[R][C] = parseFloat(s.trim()); break; - case '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break; - case 'L': switch(s.trim().toUpperCase()) { - case 'Y': case 'T': out[R][C] = true; break; - case 'N': case 'F': out[R][C] = false; break; - case '': case '?': break; - default: throw new Error("DBF Unrecognized L:|" + s + "|"); - } break; - case 'M': /* TODO: handle memo files */ - if(!memo) throw new Error("DBF Unexpected MEMO for type " + ft.toString(16)); - out[R][C] = "##MEMO##" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4)); - break; - case 'N': - s = s.replace(/\u0000/g,"").trim(); - // NOTE: dBASE II interprets " . " as 0 - if(s && s != ".") out[R][C] = +s || 0; break; - case '@': - // NOTE: dBASE specs appear to be incorrect - out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); - break; - case 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break; - case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break; - case 'O': out[R][C] = -dd.read_shift(-8, 'f'); break; - case 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; } - /* falls through */ - case 'G': case 'P': dd.l += fields[C].len; break; - case '0': - if(fields[C].name === '_NullFlags') break; - /* falls through */ - default: throw new Error("DBF Unsupported data type " + fields[C].type); - } - } - } - if(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error("DBF EOF Marker missing " + (d.l-1) + " of " + d.length + " " + d[d.l-1].toString(16)); - if(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows); - opts.DBF = fields; - return out; -} - -function dbf_to_sheet(buf, opts)/*:Worksheet*/ { - var o = opts || {}; - if(!o.dateNF) o.dateNF = "yyyymmdd"; - var ws = aoa_to_sheet(dbf_to_aoa(buf, o), o); - ws["!cols"] = o.DBF.map(function(field) { return { - wch: field.len, - DBF: field - };}); - delete o.DBF; - return ws; -} - -function dbf_to_workbook(buf, opts)/*:Workbook*/ { - try { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); } - catch(e) { if(opts && opts.WTF) throw e; } - return ({SheetNames:[],Sheets:{}}); -} - -var _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 }; -function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { - var o = opts || {}; - if(+o.codepage >= 0) set_cp(+o.codepage); - if(o.type == "string") throw new Error("Cannot write DBF to JS string"); - var ba = buf_array(); - var aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true}); - var headers = aoa[0], data = aoa.slice(1), cols = ws["!cols"] || []; - var i = 0, j = 0, hcnt = 0, rlen = 1; - for(i = 0; i < headers.length; ++i) { - if(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; } - if(headers[i] == null) continue; - ++hcnt; - if(typeof headers[i] === 'number') headers[i] = headers[i].toString(10); - if(typeof headers[i] !== 'string') throw new Error("DBF Invalid column name " + headers[i] + " |" + (typeof headers[i]) + "|"); - if(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j) - if(headers.indexOf(headers[i] + "_" + j) == -1) { headers[i] += "_" + j; break; } - } - var range = safe_decode_range(ws['!ref']); - var coltypes/*:Array*/ = []; - var colwidths/*:Array*/ = []; - var coldecimals/*:Array*/ = []; - for(i = 0; i <= range.e.c - range.s.c; ++i) { - var guess = '', _guess = '', maxlen = 0; - var col/*:Array*/ = []; - for(j=0; j < data.length; ++j) { - if(data[j][i] != null) col.push(data[j][i]); - } - if(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; } - for(j = 0; j < col.length; ++j) { - switch(typeof col[j]) { - /* TODO: check if L2 compat is desired */ - case 'number': _guess = 'B'; break; - case 'string': _guess = 'C'; break; - case 'boolean': _guess = 'L'; break; - case 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break; - default: _guess = 'C'; - } - maxlen = Math.max(maxlen, String(col[j]).length); - guess = guess && guess != _guess ? 'C' : _guess; - //if(guess == 'C') break; - } - if(maxlen > 250) maxlen = 250; - _guess = ((cols[i]||{}).DBF||{}).type; - /* TODO: more fine grained control over DBF type resolution */ - if(_guess == 'C') { - if(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len; - } - if(guess == 'B' && _guess == 'N') { - guess = 'N'; - coldecimals[i] = cols[i].DBF.dec; - maxlen = cols[i].DBF.len; - } - colwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0); - rlen += colwidths[i]; - coltypes[i] = guess; - } - - var h = ba.next(32); - h.write_shift(4, 0x13021130); - h.write_shift(4, data.length); - h.write_shift(2, 296 + 32 * hcnt); - h.write_shift(2, rlen); - for(i=0; i < 4; ++i) h.write_shift(4, 0); - h.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8)); - - for(i = 0, j = 0; i < headers.length; ++i) { - if(headers[i] == null) continue; - var hf = ba.next(32); - var _f = (headers[i].slice(-10) + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00").slice(0, 11); - hf.write_shift(1, _f, "sbcs"); - hf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], "sbcs"); - hf.write_shift(4, j); - hf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0); - hf.write_shift(1, coldecimals[i] || 0); - hf.write_shift(1, 0x02); - hf.write_shift(4, 0); - hf.write_shift(1, 0); - hf.write_shift(4, 0); - hf.write_shift(4, 0); - j += (colwidths[i] || _RLEN[coltypes[i]] || 0); - } - - var hb = ba.next(264); - hb.write_shift(4, 0x0000000D); - for(i=0; i < 65;++i) hb.write_shift(4, 0x00000000); - for(i=0; i < data.length; ++i) { - var rout = ba.next(rlen); - rout.write_shift(1, 0); - for(j=0; j":190, "?":191, "{":223 - }/*:any*/); - var sylk_char_regex = new RegExp("\u001BN(" + keys(sylk_escapes).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g,"\\$1") + "|\\|)", "gm"); - var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; - var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; - sylk_escapes["|"] = 254; - /* TODO: find an actual specification */ - function sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ { - switch(opts.type) { - case 'base64': return sylk_to_aoa_str(Base64_decode(d), opts); - case 'binary': return sylk_to_aoa_str(d, opts); - case 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts); - case 'array': return sylk_to_aoa_str(cc2str(d), opts); - } - throw new Error("Unrecognized type " + opts.type); - } - function sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ { - var records = str.split(/[\n\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = []; - var formats/*:Array*/ = []; - var next_cell_format/*:string|null*/ = null; - var sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = []; - var Mval = 0, j; - if(+opts.codepage >= 0) set_cp(+opts.codepage); - for (; ri !== records.length; ++ri) { - Mval = 0; - var rstr=records[ri].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn); - var record=rstr.replace(/;;/g, "\u0000").split(";").map(function(x) { return x.replace(/\u0000/g, ";"); }); - var RT=record[0], val; - if(rstr.length > 0) switch(RT) { - case 'ID': break; /* header */ - case 'E': break; /* EOF */ - case 'B': break; /* dimensions */ - case 'O': break; /* options? */ - case 'W': break; /* window? */ - case 'P': - if(record[1].charAt(0) == 'P') - formats.push(rstr.slice(3).replace(/;;/g, ";")); - break; - case 'C': - var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1; - for(rj=1; rj -1 && arr[_R][_C]; - if(!shrbase || !shrbase[1]) throw new Error("SYLK shared formula cannot find base"); - arr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C}); - } - break; - case 'F': - var F_seen = 0; - for(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); } - else if(Mval === 0) rowinfo[R].hidden = true; - break; - default: if(opts && opts.WTF) throw new Error("SYLK bad record " + rstr); - } - if(F_seen < 1) next_cell_format = null; break; - default: if(opts && opts.WTF) throw new Error("SYLK bad record " + rstr); - } - } - if(rowinfo.length > 0) sht['!rows'] = rowinfo; - if(colinfo.length > 0) sht['!cols'] = colinfo; - if(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows); - return [arr, sht]; - } - - function sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ { - var aoasht = sylk_to_aoa(d, opts); - var aoa = aoasht[0], ws = aoasht[1]; - var o = aoa_to_sheet(aoa, opts); - keys(ws).forEach(function(k) { o[k] = ws[k]; }); - return o; - } - - function sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); } - - function write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ { - var o = "C;Y" + (R+1) + ";X" + (C+1) + ";K"; - switch(cell.t) { - case 'n': - o += (cell.v||0); - if(cell.f && !cell.F) o += ";E" + a1_to_rc(cell.f, {r:R, c:C}); break; - case 'b': o += cell.v ? "TRUE" : "FALSE"; break; - case 'e': o += cell.w || cell.v; break; - case 'd': o += '"' + (cell.w || cell.v) + '"'; break; - case 's': o += '"' + cell.v.replace(/"/g,"").replace(/;/g, ";;") + '"'; break; - } - return o; - } - - function write_ws_cols_sylk(out, cols) { - cols.forEach(function(col, i) { - var rec = "F;W" + (i+1) + " " + (i+1) + " "; - if(col.hidden) rec += "0"; - else { - if(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width); - if(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx); - if(typeof col.wch == 'number') rec += Math.round(col.wch); - } - if(rec.charAt(rec.length - 1) != " ") out.push(rec); - }); - } - - function write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) { - rows.forEach(function(row, i) { - var rec = "F;"; - if(row.hidden) rec += "M0;"; - else if(row.hpt) rec += "M" + 20 * row.hpt + ";"; - else if(row.hpx) rec += "M" + 20 * px2pt(row.hpx) + ";"; - if(rec.length > 2) out.push(rec + "R" + (i+1)); - }); - } - - function sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ { - var preamble/*:Array*/ = ["ID;PWXL;N;E"], o/*:Array*/ = []; - var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; - var dense = Array.isArray(ws); - var RS = "\r\n"; - - preamble.push("P;PGeneral"); - preamble.push("F;P0;DG0G8;M255"); - if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']); - if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']); - - preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" ")); - for(var R = r.s.r; R <= r.e.r; ++R) { - for(var C = r.s.c; C <= r.e.c; ++C) { - var coord = encode_cell({r:R,c:C}); - cell = dense ? (ws[R]||[])[C]: ws[coord]; - if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; - o.push(write_ws_cell_sylk(cell, ws, R, C, opts)); - } - } - return preamble.join(RS) + RS + o.join(RS) + RS + "E" + RS; - } - - return { - to_workbook: sylk_to_workbook, - to_sheet: sylk_to_sheet, - from_sheet: sheet_to_sylk - }; -})(); - -var DIF = /*#__PURE__*/(function() { - function dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ { - switch(opts.type) { - case 'base64': return dif_to_aoa_str(Base64_decode(d), opts); - case 'binary': return dif_to_aoa_str(d, opts); - case 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts); - case 'array': return dif_to_aoa_str(cc2str(d), opts); - } - throw new Error("Unrecognized type " + opts.type); - } - function dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ { - var records = str.split('\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = []; - for (; ri !== records.length; ++ri) { - if (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; } - if (R < 0) continue; - var metadata = records[ri].trim().split(","); - var type = metadata[0], value = metadata[1]; - ++ri; - var data = records[ri] || ""; - while(((data.match(/["]/g)||[]).length & 1) && ri < records.length - 1) data += "\n" + records[++ri]; - data = data.trim(); - switch (+type) { - case -1: - if (data === 'BOT') { arr[++R] = []; C = 0; continue; } - else if (data !== 'EOD') throw new Error("Unrecognized DIF special command " + data); - break; - case 0: - if(data === 'TRUE') arr[R][C] = true; - else if(data === 'FALSE') arr[R][C] = false; - else if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value); - else if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value); - else arr[R][C] = value; - ++C; break; - case 1: - data = data.slice(1,data.length-1); - data = data.replace(/""/g, '"'); - if(DIF_XL && data && data.match(/^=".*"$/)) data = data.slice(2, -1); - arr[R][C++] = data !== '' ? data : null; - break; - } - if (data === 'EOD') break; - } - if(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows); - return arr; - } - - function dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); } - function dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); } - - var sheet_to_dif = /*#__PURE__*/(function() { - var push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) { - o.push(topic); - o.push(v + "," + n); - o.push('"' + s.replace(/"/g,'""') + '"'); - }; - var push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) { - o.push(type + "," + v); - o.push(type == 1 ? '"' + s.replace(/"/g,'""') + '"' : s); - }; - return function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ { - var o/*:Array*/ = []; - var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; - var dense = Array.isArray(ws); - push_field(o, "TABLE", 0, 1, "sheetjs"); - push_field(o, "VECTORS", 0, r.e.r - r.s.r + 1,""); - push_field(o, "TUPLES", 0, r.e.c - r.s.c + 1,""); - push_field(o, "DATA", 0, 0,""); - for(var R = r.s.r; R <= r.e.r; ++R) { - push_value(o, -1, 0, "BOT"); - for(var C = r.s.c; C <= r.e.c; ++C) { - var coord = encode_cell({r:R,c:C}); - cell = dense ? (ws[R]||[])[C] : ws[coord]; - if(!cell) { push_value(o, 1, 0, ""); continue;} - switch(cell.t) { - case 'n': - var val = DIF_XL ? cell.w : cell.v; - if(!val && cell.v != null) val = cell.v; - if(val == null) { - if(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, "=" + cell.f); - else push_value(o, 1, 0, ""); - } - else push_value(o, 0, val, "V"); - break; - case 'b': - push_value(o, 0, cell.v ? 1 : 0, cell.v ? "TRUE" : "FALSE"); - break; - case 's': - push_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '="' + cell.v + '"'); - break; - case 'd': - if(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v))); - if(DIF_XL) push_value(o, 0, cell.w, "V"); - else push_value(o, 1, 0, cell.w); - break; - default: push_value(o, 1, 0, ""); - } - } - } - push_value(o, -1, 0, "EOD"); - var RS = "\r\n"; - var oo = o.join(RS); - //while((oo.length & 0x7F) != 0) oo += "\0"; - return oo; - }; - })(); - return { - to_workbook: dif_to_workbook, - to_sheet: dif_to_sheet, - from_sheet: sheet_to_dif - }; -})(); - -var ETH = /*#__PURE__*/(function() { - function decode(s/*:string*/)/*:string*/ { return s.replace(/\\b/g,"\\").replace(/\\c/g,":").replace(/\\n/g,"\n"); } - function encode(s/*:string*/)/*:string*/ { return s.replace(/\\/g, "\\b").replace(/:/g, "\\c").replace(/\n/g,"\\n"); } - - function eth_to_aoa(str/*:string*/, opts)/*:AOA*/ { - var records = str.split('\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = []; - for (; ri !== records.length; ++ri) { - var record = records[ri].trim().split(":"); - if(record[0] !== 'cell') continue; - var addr = decode_cell(record[1]); - if(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = []; - R = addr.r; C = addr.c; - switch(record[2]) { - case 't': arr[R][C] = decode(record[3]); break; - case 'v': arr[R][C] = +record[3]; break; - case 'vtf': var _f = record[record.length - 1]; - /* falls through */ - case 'vtc': - switch(record[3]) { - case 'nl': arr[R][C] = +record[4] ? true : false; break; - default: arr[R][C] = +record[4]; break; - } - if(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f]; - } - } - if(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows); - return arr; - } - - function eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); } - function eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); } - - var header = [ - "socialcalc:version:1.5", - "MIME-Version: 1.0", - "Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave" - ].join("\n"); - - var sep = [ - "--SocialCalcSpreadsheetControlSave", - "Content-type: text/plain; charset=UTF-8" - ].join("\n") + "\n"; - - /* TODO: the other parts */ - var meta = [ - "# SocialCalc Spreadsheet Control Save", - "part:sheet" - ].join("\n"); - - var end = "--SocialCalcSpreadsheetControlSave--"; - - function sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ { - if(!ws || !ws['!ref']) return ""; - var o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = ""; - var r = decode_range(ws['!ref']); - var dense = Array.isArray(ws); - for(var R = r.s.r; R <= r.e.r; ++R) { - for(var C = r.s.c; C <= r.e.c; ++C) { - coord = encode_cell({r:R,c:C}); - cell = dense ? (ws[R]||[])[C] : ws[coord]; - if(!cell || cell.v == null || cell.t === 'z') continue; - oo = ["cell", coord, 't']; - switch(cell.t) { - case 's': case 'str': oo.push(encode(cell.v)); break; - case 'n': - if(!cell.f) { oo[2]='v'; oo[3]=cell.v; } - else { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); } - break; - case 'b': - oo[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?"1":"0"; - oo[5] = encode(cell.f||(cell.v?'TRUE':'FALSE')); - break; - case 'd': - var t = datenum(parseDate(cell.v)); - oo[2] = 'vtc'; oo[3] = 'nd'; oo[4] = ""+t; - oo[5] = cell.w || SSF_format(cell.z || table_fmt[14], t); - break; - case 'e': continue; - } - o.push(oo.join(":")); - } - } - o.push("sheet:c:" + (r.e.c-r.s.c+1) + ":r:" + (r.e.r-r.s.r+1) + ":tvf:1"); - o.push("valueformat:1:text-wiki"); - //o.push("copiedfrom:" + ws['!ref']); // clipboard only - return o.join("\n"); - } - - function sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ { - return [header, sep, meta, sep, sheet_to_eth_data(ws), end].join("\n"); - // return ["version:1.5", sheet_to_eth_data(ws)].join("\n"); // clipboard form - } - - return { - to_workbook: eth_to_workbook, - to_sheet: eth_to_sheet, - from_sheet: sheet_to_eth - }; -})(); - -var PRN = /*#__PURE__*/(function() { - function set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) { - if(o.raw) arr[R][C] = data; - else if(data === ""){/* empty */} - else if(data === 'TRUE') arr[R][C] = true; - else if(data === 'FALSE') arr[R][C] = false; - else if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data); - else if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data); - else arr[R][C] = data; - } - - function prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ { - var o = opts || {}; - var arr/*:AOA*/ = ([]/*:any*/); - if(!f || f.length === 0) return arr; - var lines = f.split(/[\r\n]/); - var L = lines.length - 1; - while(L >= 0 && lines[L].length === 0) --L; - var start = 10, idx = 0; - var R = 0; - for(; R <= L; ++R) { - idx = lines[R].indexOf(" "); - if(idx == -1) idx = lines[R].length; else idx++; - start = Math.max(start, idx); - } - for(R = 0; R <= L; ++R) { - arr[R] = []; - /* TODO: confirm that widths are always 10 */ - var C = 0; - set_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o); - for(C = 1; C <= (lines[R].length - start)/10 + 1; ++C) - set_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o); - } - if(o.sheetRows) arr = arr.slice(0, o.sheetRows); - return arr; - } - - // List of accepted CSV separators - var guess_seps = { - /*::[*/0x2C/*::]*/: ',', - /*::[*/0x09/*::]*/: "\t", - /*::[*/0x3B/*::]*/: ';', - /*::[*/0x7C/*::]*/: '|' - }; - - // CSV separator weights to be used in case of equal numbers - var guess_sep_weights = { - /*::[*/0x2C/*::]*/: 3, - /*::[*/0x09/*::]*/: 2, - /*::[*/0x3B/*::]*/: 1, - /*::[*/0x7C/*::]*/: 0 - }; - - function guess_sep(str) { - var cnt = {}, instr = false, end = 0, cc = 0; - for(;end < str.length;++end) { - if((cc=str.charCodeAt(end)) == 0x22) instr = !instr; - else if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1; - } - - cc = []; - for(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) { - cc.push([ cnt[end], end ]); - } - - if ( !cc.length ) { - cnt = guess_sep_weights; - for(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) { - cc.push([ cnt[end], end ]); - } - } - - cc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; }); - - return guess_seps[cc.pop()[1]] || 0x2C; - } - - function dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ { - var o = opts || {}; - var sep = ""; - if(DENSE != null && o.dense == null) o.dense = DENSE; - var ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/); - var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/); - - if(str.slice(0,4) == "sep=") { - // If the line ends in \r\n - if(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) { - sep = str.charAt(4); str = str.slice(7); - } - // If line ends in \r OR \n - else if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) { - sep = str.charAt(4); str = str.slice(6); - } - else sep = guess_sep(str.slice(0,1024)); - } - else if(o && o.FS) sep = o.FS; - else sep = guess_sep(str.slice(0,1024)); - var R = 0, C = 0, v = 0; - var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0); - str = str.replace(/\r\n/mg, "\n"); - var _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null; - function finish_cell() { - var s = str.slice(start, end); - var cell = ({}/*:any*/); - if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"'); - if(s.length === 0) cell.t = 'z'; - else if(o.raw) { cell.t = 's'; cell.v = s; } - else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; } - else if(s.charCodeAt(0) == 0x3D) { - if(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/""/g,'"'); } - else if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); } - else { cell.t = 's'; cell.v = s; } } - else if(s == "TRUE") { cell.t = 'b'; cell.v = true; } - else if(s == "FALSE") { cell.t = 'b'; cell.v = false; } - else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; } - else if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) { - cell.z = o.dateNF || table_fmt[14]; - var k = 0; - if(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; } - if(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); } - else { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); } - if(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v); - if(!o.cellNF) delete cell.z; - } else { - cell.t = 's'; - cell.v = s; - } - if(cell.t == 'z'){} - else if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; } - else ws[encode_cell({c:C,r:R})] = cell; - start = end+1; startcc = str.charCodeAt(start); - if(range.e.c < C) range.e.c = C; - if(range.e.r < R) range.e.r = R; - if(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; } - } - outer: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) { - case 0x22: if(startcc === 0x22) instr = !instr; break; - case sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break; - default: break; - } - if(end - start > 0) finish_cell(); - - ws['!ref'] = encode_range(range); - return ws; - } - - function prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ { - if(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts); - if(opts.FS) return dsv_to_sheet_str(str, opts); - if(str.slice(0,4) == "sep=") return dsv_to_sheet_str(str, opts); - if(str.indexOf("\t") >= 0 || str.indexOf(",") >= 0 || str.indexOf(";") >= 0) return dsv_to_sheet_str(str, opts); - return aoa_to_sheet(prn_to_aoa_str(str, opts), opts); - } - - function prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ { - var str = "", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts); - switch(opts.type) { - case 'base64': str = Base64_decode(d); break; - case 'binary': str = d; break; - case 'buffer': - if(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf - else if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d); - else str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d); - break; - case 'array': str = cc2str(d); break; - case 'string': str = d; break; - default: throw new Error("Unrecognized type " + opts.type); - } - if(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3)); - else if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str); - else if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str)); - if(str.slice(0,19) == "socialcalc:version:") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts); - return prn_to_sheet_str(str, opts); - } - - function prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); } - - function sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ { - var o/*:Array*/ = []; - var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; - var dense = Array.isArray(ws); - for(var R = r.s.r; R <= r.e.r; ++R) { - var oo/*:Array*/ = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - var coord = encode_cell({r:R,c:C}); - cell = dense ? (ws[R]||[])[C] : ws[coord]; - if(!cell || cell.v == null) { oo.push(" "); continue; } - var w = (cell.w || (format_cell(cell), cell.w) || "").slice(0,10); - while(w.length < 10) w += " "; - oo.push(w + (C === 0 ? " " : "")); - } - o.push(oo.join("")); - } - return o.join("\n"); - } - - return { - to_workbook: prn_to_workbook, - to_sheet: prn_to_sheet, - from_sheet: sheet_to_prn - }; -})(); - -/* Excel defaults to SYLK but warns if data is not valid */ -function read_wb_ID(d, opts) { - var o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true; - try { - var out = SYLK.to_workbook(d, o); - o.WTF = OLD_WTF; - return out; - } catch(e) { - o.WTF = OLD_WTF; - if(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e; - return PRN.to_workbook(d, opts); - } -} - -var WK_ = /*#__PURE__*/(function() { - function lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) { - if(!data) return; - prep_blob(data, data.l || 0); - var Enum = opts.Enum || WK1Enum; - while(data.l < data.length) { - var RT = data.read_shift(2); - var R = Enum[RT] || Enum[0xFFFF]; - var length = data.read_shift(2); - var tgt = data.l + length; - var d = R.f && R.f(data, length, opts); - data.l = tgt; - if(cb(d, R, RT)) return; - } - } - - function lotus_to_workbook(d/*:RawData*/, opts) { - switch(opts.type) { - case 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts); - case 'binary': return lotus_to_workbook_buf(s2a(d), opts); - case 'buffer': - case 'array': return lotus_to_workbook_buf(d, opts); - } - throw "Unsupported type " + opts.type; - } - - function lotus_to_workbook_buf(d, opts)/*:Workbook*/ { - if(!d) return d; - var o = opts || {}; - if(DENSE != null && o.dense == null) o.dense = DENSE; - var s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = "Sheet1", next_n = "", sidx = 0; - var sheets = {}, snames = [], realnames = []; - - var refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; - var sheetRows = o.sheetRows || 0; - - if(d[2] == 0x00) { - if(d[3] == 0x08 || d[3] == 0x09) { - if(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error("Unsupported Works 3 for Mac file"); - } - } - - if(d[2] == 0x02) { - o.Enum = WK1Enum; - lotushopper(d, function(val, R, RT) { switch(RT) { - case 0x00: /* BOF */ - o.vers = val; - if(val >= 0x1000) o.qpro = true; - break; - case 0x06: refguess = val; break; /* RANGE */ - case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */ - case 0xDE: next_n = val; break; /* SHEETNAMELP */ - case 0x0F: /* LABEL */ - case 0x33: /* STRING */ - if(!o.qpro) val[1].v = val[1].v.slice(1); - /* falls through */ - case 0x0D: /* INTEGER */ - case 0x0E: /* NUMBER */ - case 0x10: /* FORMULA */ - /* TODO: actual translation of the format code */ - if(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } - } - - if(o.qpro) { - if(val[3] > sidx) { - s["!ref"] = encode_range(refguess); - sheets[n] = s; - snames.push(n); - s = (o.dense ? [] : {}); - refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; - sidx = val[3]; n = next_n || "Sheet" + (sidx + 1); next_n = ""; - } - } - - var tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])]; - if(tmpcell) { - tmpcell.t = val[1].t; tmpcell.v = val[1].v; - if(val[1].z != null) tmpcell.z = val[1].z; - if(val[1].f != null) tmpcell.f = val[1].f; - break; - } - if(o.dense) { - if(!s[val[0].r]) s[val[0].r] = []; - s[val[0].r][val[0].c] = val[1]; - } else s[encode_cell(val[0])] = val[1]; - break; - default: - }}, o); - } else if(d[2] == 0x1A || d[2] == 0x0E) { - o.Enum = WK3Enum; - if(d[2] == 0x0E) { o.qpro = true; d.l = 0; } - lotushopper(d, function(val, R, RT) { switch(RT) { - case 0xCC: n = val; break; /* SHEETNAMECS */ - case 0x16: /* LABEL16 */ - val[1].v = val[1].v.slice(1); - /* falls through */ - case 0x17: /* NUMBER17 */ - case 0x18: /* NUMBER18 */ - case 0x19: /* FORMULA19 */ - case 0x25: /* NUMBER25 */ - case 0x27: /* NUMBER27 */ - case 0x28: /* FORMULA28 */ - if(val[3] > sidx) { - s["!ref"] = encode_range(refguess); - sheets[n] = s; - snames.push(n); - s = (o.dense ? [] : {}); - refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; - sidx = val[3]; n = "Sheet" + (sidx + 1); - } - if(sheetRows > 0 && val[0].r >= sheetRows) break; - if(o.dense) { - if(!s[val[0].r]) s[val[0].r] = []; - s[val[0].r][val[0].c] = val[1]; - } else s[encode_cell(val[0])] = val[1]; - if(refguess.e.c < val[0].c) refguess.e.c = val[0].c; - if(refguess.e.r < val[0].r) refguess.e.r = val[0].r; - break; - case 0x1B: /* XFORMAT */ - if(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1]; - break; - case 0x0601: /* SHEETINFOQP */ - realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break; - default: break; - }}, o); - } else throw new Error("Unrecognized LOTUS BOF " + d[2]); - s["!ref"] = encode_range(refguess); - sheets[next_n || n] = s; - snames.push(next_n || n); - if(!realnames.length) return { SheetNames: snames, Sheets: sheets }; - var osheets = {}, rnames = []; - /* TODO: verify no collisions */ - for(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) { - rnames.push(realnames[i] || snames[i]); - osheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]]; - } else { - rnames.push(realnames[i]); - osheets[realnames[i]] = ({ "!ref": "A1" }); - } - return { SheetNames: rnames, Sheets: osheets }; - } - - function sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) { - var o = opts || {}; - if(+o.codepage >= 0) set_cp(+o.codepage); - if(o.type == "string") throw new Error("Cannot write WK1 to JS string"); - var ba = buf_array(); - var range = safe_decode_range(ws["!ref"]); - var dense = Array.isArray(ws); - var cols = []; - - write_biff_rec(ba, 0x00, write_BOF_WK1(0x0406)); - write_biff_rec(ba, 0x06, write_RANGE(range)); - var max_R = Math.min(range.e.r, 8191); - for(var R = range.s.r; R <= max_R; ++R) { - var rr = encode_row(R); - for(var C = range.s.c; C <= range.e.c; ++C) { - if(R === range.s.r) cols[C] = encode_col(C); - var ref = cols[C] + rr; - var cell = dense ? (ws[R]||[])[C] : ws[ref]; - if(!cell || cell.t == "z") continue; - /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { - var str = format_cell(cell); - write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); - } - } - } - - write_biff_rec(ba, 0x01); - return ba.end(); - } - - function book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) { - var o = opts || {}; - if(+o.codepage >= 0) set_cp(+o.codepage); - if(o.type == "string") throw new Error("Cannot write WK3 to JS string"); - var ba = buf_array(); - - write_biff_rec(ba, 0x00, write_BOF_WK3(wb)); - - for(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})["!ref"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++)); - - var wsidx = 0; - for(i = 0; i < wb.SheetNames.length; ++i) { - var ws = wb.Sheets[wb.SheetNames[i]]; - if(!ws || !ws["!ref"]) continue; - var range = safe_decode_range(ws["!ref"]); - var dense = Array.isArray(ws); - var cols = []; - var max_R = Math.min(range.e.r, 8191); - for(var R = range.s.r; R <= max_R; ++R) { - var rr = encode_row(R); - for(var C = range.s.c; C <= range.e.c; ++C) { - if(R === range.s.r) cols[C] = encode_col(C); - var ref = cols[C] + rr; - var cell = dense ? (ws[R]||[])[C] : ws[ref]; - if(!cell || cell.t == "z") continue; - /* TODO: FORMULA19 NUMBER18 records */ - if(cell.t == "n") { - write_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v)); - } else { - var str = format_cell(cell); - /* TODO: max len? */ - write_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239))); - } - } - } - ++wsidx; - } - - write_biff_rec(ba, 0x01); - return ba.end(); - } - - - function write_BOF_WK1(v/*:number*/) { - var out = new_buf(2); - out.write_shift(2, v); - return out; - } - - function write_BOF_WK3(wb/*:Workbook*/) { - var out = new_buf(26); - out.write_shift(2, 0x1000); - out.write_shift(2, 0x0004); - out.write_shift(4, 0x0000); - var rows = 0, cols = 0, wscnt = 0; - for(var i = 0; i < wb.SheetNames.length; ++i) { - var name = wb.SheetNames[i]; - var ws = wb.Sheets[name]; - if(!ws || !ws["!ref"]) continue; - ++wscnt; - var range = decode_range(ws["!ref"]); - if(rows < range.e.r) rows = range.e.r; - if(cols < range.e.c) cols = range.e.c; - } - if(rows > 8191) rows = 8191; - out.write_shift(2, rows); - out.write_shift(1, wscnt); - out.write_shift(1, cols); - out.write_shift(2, 0x00); - out.write_shift(2, 0x00); - out.write_shift(1, 0x01); - out.write_shift(1, 0x02); - out.write_shift(4, 0); - out.write_shift(4, 0); - return out; - } - - function parse_RANGE(blob, length, opts) { - var o = {s:{c:0,r:0},e:{c:0,r:0}}; - if(length == 8 && opts.qpro) { - o.s.c = blob.read_shift(1); - blob.l++; - o.s.r = blob.read_shift(2); - o.e.c = blob.read_shift(1); - blob.l++; - o.e.r = blob.read_shift(2); - return o; - } - o.s.c = blob.read_shift(2); - o.s.r = blob.read_shift(2); - if(length == 12 && opts.qpro) blob.l += 2; - o.e.c = blob.read_shift(2); - o.e.r = blob.read_shift(2); - if(length == 12 && opts.qpro) blob.l += 2; - if(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0; - return o; - } - function write_RANGE(range) { - var out = new_buf(8); - out.write_shift(2, range.s.c); - out.write_shift(2, range.s.r); - out.write_shift(2, range.e.c); - out.write_shift(2, range.e.r); - return out; - } - - function parse_cell(blob, length, opts) { - var o = [{c:0,r:0}, {t:'n',v:0}, 0, 0]; - if(opts.qpro && opts.vers != 0x5120) { - o[0].c = blob.read_shift(1); - o[3] = blob.read_shift(1); - o[0].r = blob.read_shift(2); - blob.l+=2; - } else { - o[2] = blob.read_shift(1); - o[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2); - } - return o; - } - - function parse_LABEL(blob, length, opts) { - var tgt = blob.l + length; - var o = parse_cell(blob, length, opts); - o[1].t = 's'; - if(opts.vers == 0x5120) { - blob.l++; - var len = blob.read_shift(1); - o[1].v = blob.read_shift(len, 'utf8'); - return o; - } - if(opts.qpro) blob.l++; - o[1].v = blob.read_shift(tgt - blob.l, 'cstr'); - return o; - } - function write_LABEL(R, C, s) { - /* TODO: encoding */ - var o = new_buf(7 + s.length); - o.write_shift(1, 0xFF); - o.write_shift(2, C); - o.write_shift(2, R); - o.write_shift(1, 0x27); // ?? - for(var i = 0; i < o.length; ++i) { - var cc = s.charCodeAt(i); - o.write_shift(1, cc >= 0x80 ? 0x5F : cc); - } - o.write_shift(1, 0); - return o; - } - - function parse_INTEGER(blob, length, opts) { - var o = parse_cell(blob, length, opts); - o[1].v = blob.read_shift(2, 'i'); - return o; - } - function write_INTEGER(R, C, v) { - var o = new_buf(7); - o.write_shift(1, 0xFF); - o.write_shift(2, C); - o.write_shift(2, R); - o.write_shift(2, v, 'i'); - return o; - } - - function parse_NUMBER(blob, length, opts) { - var o = parse_cell(blob, length, opts); - o[1].v = blob.read_shift(8, 'f'); - return o; - } - function write_NUMBER(R, C, v) { - var o = new_buf(13); - o.write_shift(1, 0xFF); - o.write_shift(2, C); - o.write_shift(2, R); - o.write_shift(8, v, 'f'); - return o; - } - - function parse_FORMULA(blob, length, opts) { - var tgt = blob.l + length; - var o = parse_cell(blob, length, opts); - /* TODO: formula */ - o[1].v = blob.read_shift(8, 'f'); - if(opts.qpro) blob.l = tgt; - else { - var flen = blob.read_shift(2); - wk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o); - blob.l += flen; - } - return o; - } - - function wk1_parse_rc(B, V, col) { - var rel = V & 0x8000; - V &= ~0x8000; - V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); - return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); - } - /* var oprec = [ - 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, - 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; */ - /* TODO: flesh out */ - var FuncTab = { - 0x33: ["FALSE", 0], - 0x34: ["TRUE", 0], - 0x46: ["LEN", 1], - 0x50: ["SUM", 69], - 0x51: ["AVERAGEA", 69], - 0x52: ["COUNTA", 69], - 0x53: ["MINA", 69], - 0x54: ["MAXA", 69], - 0x6F: ["T", 1] - }; - var BinOpTab = [ - "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs - "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs - "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs - "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs - ]; - - function wk1_fmla_to_csf(blob, o) { - prep_blob(blob, 0); - var out = [], argc = 0, R = "", C = "", argL = "", argR = ""; - while(blob.l < blob.length) { - var cc = blob[blob.l++]; - switch(cc) { - case 0x00: out.push(blob.read_shift(8, 'f')); break; - case 0x01: { - C = wk1_parse_rc(o[0].c, blob.read_shift(2), true); - R = wk1_parse_rc(o[0].r, blob.read_shift(2), false); - out.push(C + R); - } break; - case 0x02: { - var c = wk1_parse_rc(o[0].c, blob.read_shift(2), true); - var r = wk1_parse_rc(o[0].r, blob.read_shift(2), false); - C = wk1_parse_rc(o[0].c, blob.read_shift(2), true); - R = wk1_parse_rc(o[0].r, blob.read_shift(2), false); - out.push(c + r + ":" + C + R); - } break; - case 0x03: - if(blob.l < blob.length) { console.error("WK1 premature formula end"); return; } - break; - case 0x04: out.push("(" + out.pop() + ")"); break; - case 0x05: out.push(blob.read_shift(2)); break; - case 0x06: { - /* TODO: text encoding */ - var Z = ""; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc); - out.push('"' + Z.replace(/"/g, '""') + '"'); - } break; - - case 0x08: out.push("-" + out.pop()); break; - case 0x17: out.push("+" + out.pop()); break; - case 0x16: out.push("NOT(" + out.pop() + ")"); break; - - case 0x14: case 0x15: { - argR = out.pop(); argL = out.pop(); - out.push(["AND", "OR"][cc - 0x14] + "(" + argL + "," + argR + ")"); - } break; - - default: - if(cc < 0x20 && BinOpTab[cc]) { - argR = out.pop(); argL = out.pop(); - out.push(argL + BinOpTab[cc] + argR); - } else if(FuncTab[cc]) { - argc = FuncTab[cc][1]; - if(argc == 69) argc = blob[blob.l++]; - if(argc > out.length) { console.error("WK1 bad formula parse 0x" + cc.toString(16) + ":|" + out.join("|") + "|"); return; } - var args = out.slice(-argc); - out.length -= argc; - out.push(FuncTab[cc][0] + "(" + args.join(",") + ")"); - } - else if(cc <= 0x07) return console.error("WK1 invalid opcode " + cc.toString(16)); - else if(cc <= 0x18) return console.error("WK1 unsupported op " + cc.toString(16)); - else if(cc <= 0x1E) return console.error("WK1 invalid opcode " + cc.toString(16)); - else if(cc <= 0x73) return console.error("WK1 unsupported function opcode " + cc.toString(16)); - // possible future functions ?? - else return console.error("WK1 unrecognized opcode " + cc.toString(16)); - } - } - if(out.length == 1) o[1].f = "" + out[0]; - else console.error("WK1 bad formula parse |" + out.join("|") + "|"); - } - - - function parse_cell_3(blob/*::, length*/) { - var o = [{c:0,r:0}, {t:'n',v:0}, 0]; - o[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++]; - return o; - } - - function parse_LABEL_16(blob, length) { - var o = parse_cell_3(blob, length); - o[1].t = 's'; - o[1].v = blob.read_shift(length - 4, 'cstr'); - return o; - } - function write_LABEL_16(R, C, wsidx, s) { - /* TODO: encoding */ - var o = new_buf(6 + s.length); - o.write_shift(2, R); - o.write_shift(1, wsidx); - o.write_shift(1, C); - o.write_shift(1, 0x27); - for(var i = 0; i < s.length; ++i) { - var cc = s.charCodeAt(i); - o.write_shift(1, cc >= 0x80 ? 0x5F : cc); - } - o.write_shift(1, 0); - return o; - } - - function parse_NUMBER_18(blob, length) { - var o = parse_cell_3(blob, length); - o[1].v = blob.read_shift(2); - var v = o[1].v >> 1; - if(o[1].v & 0x1) { - switch(v & 0x07) { - case 0: v = (v >> 3) * 5000; break; - case 1: v = (v >> 3) * 500; break; - case 2: v = (v >> 3) / 20; break; - case 3: v = (v >> 3) / 200; break; - case 4: v = (v >> 3) / 2000; break; - case 5: v = (v >> 3) / 20000; break; - case 6: v = (v >> 3) / 16; break; - case 7: v = (v >> 3) / 64; break; - } - } - o[1].v = v; - return o; - } - - function parse_NUMBER_17(blob, length) { - var o = parse_cell_3(blob, length); - var v1 = blob.read_shift(4); - var v2 = blob.read_shift(4); - var e = blob.read_shift(2); - if(e == 0xFFFF) { - if(v1 === 0 && v2 === 0xC0000000) { o[1].t = "e"; o[1].v = 0x0F; } // ERR -> #VALUE! - else if(v1 === 0 && v2 === 0xD0000000) { o[1].t = "e"; o[1].v = 0x2A; } // NA -> #N/A - else o[1].v = 0; - return o; - } - var s = e & 0x8000; e = (e&0x7FFF) - 16446; - o[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e)); - return o; - } - function write_NUMBER_17(R, C, wsidx, v) { - var o = new_buf(14); - o.write_shift(2, R); - o.write_shift(1, wsidx); - o.write_shift(1, C); - if(v == 0) { - o.write_shift(4, 0); - o.write_shift(4, 0); - o.write_shift(2, 0xFFFF); - return o; - } - var s = 0, e = 0, v1 = 0, v2 = 0; - if(v < 0) { s = 1; v = -v; } - e = Math.log2(v) | 0; - v /= Math.pow(2, e-31); - v2 = (v)>>>0; - if((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; } - v -= v2; - v2 |= 0x80000000; - v2 >>>= 0; - v *= Math.pow(2, 32); - v1 = v>>>0; - o.write_shift(4, v1); - o.write_shift(4, v2); - e += 0x3FFF + (s ? 0x8000 : 0); - o.write_shift(2, e); - return o; - } - - function parse_FORMULA_19(blob, length) { - var o = parse_NUMBER_17(blob, 14); - blob.l += length - 14; /* TODO: WK3 formula */ - return o; - } - - function parse_NUMBER_25(blob, length) { - var o = parse_cell_3(blob, length); - var v1 = blob.read_shift(4); - o[1].v = v1 >> 6; - return o; - } - - function parse_NUMBER_27(blob, length) { - var o = parse_cell_3(blob, length); - var v1 = blob.read_shift(8,'f'); - o[1].v = v1; - return o; - } - - function parse_FORMULA_28(blob, length) { - var o = parse_NUMBER_27(blob, 14); - blob.l += length - 10; /* TODO: formula */ - return o; - } - - function parse_SHEETNAMECS(blob, length) { - return blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : ""; - } - - function parse_SHEETNAMELP(blob, length) { - var len = blob[blob.l++]; - if(len > length - 1) len = length - 1; - var o = ""; while(o.length < len) o += String.fromCharCode(blob[blob.l++]); - return o; - } - - function parse_SHEETINFOQP(blob, length, opts) { - if(!opts.qpro || length < 21) return; - var id = blob.read_shift(1); - blob.l += 17; - blob.l += 1; //var len = blob.read_shift(1); - blob.l += 2; - var nm = blob.read_shift(length - 21, 'cstr'); - return [id, nm]; - } - - function parse_XFORMAT(blob, length) { - var o = {}, tgt = blob.l + length; - while(blob.l < tgt) { - var dt = blob.read_shift(2); - if(dt == 0x36b0) { - o[dt] = [0, ""]; - o[dt][0] = blob.read_shift(2); - while(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++; - } - // TODO: 0x3a99 ?? - } - return o; - } - function write_XFORMAT_SHEETNAME(name, wsidx) { - var out = new_buf(5 + name.length); - out.write_shift(2, 0x36b0); - out.write_shift(2, wsidx); - for(var i = 0; i < name.length; ++i) { - var cc = name.charCodeAt(i); - out[out.l++] = cc > 0x7F ? 0x5F : cc; - } - out[out.l++] = 0; - return out; - } - - var WK1Enum = { - /*::[*/0x0000/*::]*/: { n:"BOF", f:parseuint16 }, - /*::[*/0x0001/*::]*/: { n:"EOF" }, - /*::[*/0x0002/*::]*/: { n:"CALCMODE" }, - /*::[*/0x0003/*::]*/: { n:"CALCORDER" }, - /*::[*/0x0004/*::]*/: { n:"SPLIT" }, - /*::[*/0x0005/*::]*/: { n:"SYNC" }, - /*::[*/0x0006/*::]*/: { n:"RANGE", f:parse_RANGE }, - /*::[*/0x0007/*::]*/: { n:"WINDOW1" }, - /*::[*/0x0008/*::]*/: { n:"COLW1" }, - /*::[*/0x0009/*::]*/: { n:"WINTWO" }, - /*::[*/0x000A/*::]*/: { n:"COLW2" }, - /*::[*/0x000B/*::]*/: { n:"NAME" }, - /*::[*/0x000C/*::]*/: { n:"BLANK" }, - /*::[*/0x000D/*::]*/: { n:"INTEGER", f:parse_INTEGER }, - /*::[*/0x000E/*::]*/: { n:"NUMBER", f:parse_NUMBER }, - /*::[*/0x000F/*::]*/: { n:"LABEL", f:parse_LABEL }, - /*::[*/0x0010/*::]*/: { n:"FORMULA", f:parse_FORMULA }, - /*::[*/0x0018/*::]*/: { n:"TABLE" }, - /*::[*/0x0019/*::]*/: { n:"ORANGE" }, - /*::[*/0x001A/*::]*/: { n:"PRANGE" }, - /*::[*/0x001B/*::]*/: { n:"SRANGE" }, - /*::[*/0x001C/*::]*/: { n:"FRANGE" }, - /*::[*/0x001D/*::]*/: { n:"KRANGE1" }, - /*::[*/0x0020/*::]*/: { n:"HRANGE" }, - /*::[*/0x0023/*::]*/: { n:"KRANGE2" }, - /*::[*/0x0024/*::]*/: { n:"PROTEC" }, - /*::[*/0x0025/*::]*/: { n:"FOOTER" }, - /*::[*/0x0026/*::]*/: { n:"HEADER" }, - /*::[*/0x0027/*::]*/: { n:"SETUP" }, - /*::[*/0x0028/*::]*/: { n:"MARGINS" }, - /*::[*/0x0029/*::]*/: { n:"LABELFMT" }, - /*::[*/0x002A/*::]*/: { n:"TITLES" }, - /*::[*/0x002B/*::]*/: { n:"SHEETJS" }, - /*::[*/0x002D/*::]*/: { n:"GRAPH" }, - /*::[*/0x002E/*::]*/: { n:"NGRAPH" }, - /*::[*/0x002F/*::]*/: { n:"CALCCOUNT" }, - /*::[*/0x0030/*::]*/: { n:"UNFORMATTED" }, - /*::[*/0x0031/*::]*/: { n:"CURSORW12" }, - /*::[*/0x0032/*::]*/: { n:"WINDOW" }, - /*::[*/0x0033/*::]*/: { n:"STRING", f:parse_LABEL }, - /*::[*/0x0037/*::]*/: { n:"PASSWORD" }, - /*::[*/0x0038/*::]*/: { n:"LOCKED" }, - /*::[*/0x003C/*::]*/: { n:"QUERY" }, - /*::[*/0x003D/*::]*/: { n:"QUERYNAME" }, - /*::[*/0x003E/*::]*/: { n:"PRINT" }, - /*::[*/0x003F/*::]*/: { n:"PRINTNAME" }, - /*::[*/0x0040/*::]*/: { n:"GRAPH2" }, - /*::[*/0x0041/*::]*/: { n:"GRAPHNAME" }, - /*::[*/0x0042/*::]*/: { n:"ZOOM" }, - /*::[*/0x0043/*::]*/: { n:"SYMSPLIT" }, - /*::[*/0x0044/*::]*/: { n:"NSROWS" }, - /*::[*/0x0045/*::]*/: { n:"NSCOLS" }, - /*::[*/0x0046/*::]*/: { n:"RULER" }, - /*::[*/0x0047/*::]*/: { n:"NNAME" }, - /*::[*/0x0048/*::]*/: { n:"ACOMM" }, - /*::[*/0x0049/*::]*/: { n:"AMACRO" }, - /*::[*/0x004A/*::]*/: { n:"PARSE" }, - /*::[*/0x0066/*::]*/: { n:"PRANGES??" }, - /*::[*/0x0067/*::]*/: { n:"RRANGES??" }, - /*::[*/0x0068/*::]*/: { n:"FNAME??" }, - /*::[*/0x0069/*::]*/: { n:"MRANGES??" }, - /*::[*/0x00CC/*::]*/: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, - /*::[*/0x00DE/*::]*/: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, - /*::[*/0xFFFF/*::]*/: { n:"" } - }; - - var WK3Enum = { - /*::[*/0x0000/*::]*/: { n:"BOF" }, - /*::[*/0x0001/*::]*/: { n:"EOF" }, - /*::[*/0x0002/*::]*/: { n:"PASSWORD" }, - /*::[*/0x0003/*::]*/: { n:"CALCSET" }, - /*::[*/0x0004/*::]*/: { n:"WINDOWSET" }, - /*::[*/0x0005/*::]*/: { n:"SHEETCELLPTR" }, - /*::[*/0x0006/*::]*/: { n:"SHEETLAYOUT" }, - /*::[*/0x0007/*::]*/: { n:"COLUMNWIDTH" }, - /*::[*/0x0008/*::]*/: { n:"HIDDENCOLUMN" }, - /*::[*/0x0009/*::]*/: { n:"USERRANGE" }, - /*::[*/0x000A/*::]*/: { n:"SYSTEMRANGE" }, - /*::[*/0x000B/*::]*/: { n:"ZEROFORCE" }, - /*::[*/0x000C/*::]*/: { n:"SORTKEYDIR" }, - /*::[*/0x000D/*::]*/: { n:"FILESEAL" }, - /*::[*/0x000E/*::]*/: { n:"DATAFILLNUMS" }, - /*::[*/0x000F/*::]*/: { n:"PRINTMAIN" }, - /*::[*/0x0010/*::]*/: { n:"PRINTSTRING" }, - /*::[*/0x0011/*::]*/: { n:"GRAPHMAIN" }, - /*::[*/0x0012/*::]*/: { n:"GRAPHSTRING" }, - /*::[*/0x0013/*::]*/: { n:"??" }, - /*::[*/0x0014/*::]*/: { n:"ERRCELL" }, - /*::[*/0x0015/*::]*/: { n:"NACELL" }, - /*::[*/0x0016/*::]*/: { n:"LABEL16", f:parse_LABEL_16}, - /*::[*/0x0017/*::]*/: { n:"NUMBER17", f:parse_NUMBER_17 }, - /*::[*/0x0018/*::]*/: { n:"NUMBER18", f:parse_NUMBER_18 }, - /*::[*/0x0019/*::]*/: { n:"FORMULA19", f:parse_FORMULA_19}, - /*::[*/0x001A/*::]*/: { n:"FORMULA1A" }, - /*::[*/0x001B/*::]*/: { n:"XFORMAT", f:parse_XFORMAT }, - /*::[*/0x001C/*::]*/: { n:"DTLABELMISC" }, - /*::[*/0x001D/*::]*/: { n:"DTLABELCELL" }, - /*::[*/0x001E/*::]*/: { n:"GRAPHWINDOW" }, - /*::[*/0x001F/*::]*/: { n:"CPA" }, - /*::[*/0x0020/*::]*/: { n:"LPLAUTO" }, - /*::[*/0x0021/*::]*/: { n:"QUERY" }, - /*::[*/0x0022/*::]*/: { n:"HIDDENSHEET" }, - /*::[*/0x0023/*::]*/: { n:"??" }, - /*::[*/0x0025/*::]*/: { n:"NUMBER25", f:parse_NUMBER_25 }, - /*::[*/0x0026/*::]*/: { n:"??" }, - /*::[*/0x0027/*::]*/: { n:"NUMBER27", f:parse_NUMBER_27 }, - /*::[*/0x0028/*::]*/: { n:"FORMULA28", f:parse_FORMULA_28 }, - /*::[*/0x008E/*::]*/: { n:"??" }, - /*::[*/0x0093/*::]*/: { n:"??" }, - /*::[*/0x0096/*::]*/: { n:"??" }, - /*::[*/0x0097/*::]*/: { n:"??" }, - /*::[*/0x0098/*::]*/: { n:"??" }, - /*::[*/0x0099/*::]*/: { n:"??" }, - /*::[*/0x009A/*::]*/: { n:"??" }, - /*::[*/0x009B/*::]*/: { n:"??" }, - /*::[*/0x009C/*::]*/: { n:"??" }, - /*::[*/0x00A3/*::]*/: { n:"??" }, - /*::[*/0x00AE/*::]*/: { n:"??" }, - /*::[*/0x00AF/*::]*/: { n:"??" }, - /*::[*/0x00B0/*::]*/: { n:"??" }, - /*::[*/0x00B1/*::]*/: { n:"??" }, - /*::[*/0x00B8/*::]*/: { n:"??" }, - /*::[*/0x00B9/*::]*/: { n:"??" }, - /*::[*/0x00BA/*::]*/: { n:"??" }, - /*::[*/0x00BB/*::]*/: { n:"??" }, - /*::[*/0x00BC/*::]*/: { n:"??" }, - /*::[*/0x00C3/*::]*/: { n:"??" }, - /*::[*/0x00C9/*::]*/: { n:"??" }, - /*::[*/0x00CC/*::]*/: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, - /*::[*/0x00CD/*::]*/: { n:"??" }, - /*::[*/0x00CE/*::]*/: { n:"??" }, - /*::[*/0x00CF/*::]*/: { n:"??" }, - /*::[*/0x00D0/*::]*/: { n:"??" }, - /*::[*/0x0100/*::]*/: { n:"??" }, - /*::[*/0x0103/*::]*/: { n:"??" }, - /*::[*/0x0104/*::]*/: { n:"??" }, - /*::[*/0x0105/*::]*/: { n:"??" }, - /*::[*/0x0106/*::]*/: { n:"??" }, - /*::[*/0x0107/*::]*/: { n:"??" }, - /*::[*/0x0109/*::]*/: { n:"??" }, - /*::[*/0x010A/*::]*/: { n:"??" }, - /*::[*/0x010B/*::]*/: { n:"??" }, - /*::[*/0x010C/*::]*/: { n:"??" }, - /*::[*/0x010E/*::]*/: { n:"??" }, - /*::[*/0x010F/*::]*/: { n:"??" }, - /*::[*/0x0180/*::]*/: { n:"??" }, - /*::[*/0x0185/*::]*/: { n:"??" }, - /*::[*/0x0186/*::]*/: { n:"??" }, - /*::[*/0x0189/*::]*/: { n:"??" }, - /*::[*/0x018C/*::]*/: { n:"??" }, - /*::[*/0x0200/*::]*/: { n:"??" }, - /*::[*/0x0202/*::]*/: { n:"??" }, - /*::[*/0x0201/*::]*/: { n:"??" }, - /*::[*/0x0204/*::]*/: { n:"??" }, - /*::[*/0x0205/*::]*/: { n:"??" }, - /*::[*/0x0280/*::]*/: { n:"??" }, - /*::[*/0x0281/*::]*/: { n:"??" }, - /*::[*/0x0282/*::]*/: { n:"??" }, - /*::[*/0x0283/*::]*/: { n:"??" }, - /*::[*/0x0284/*::]*/: { n:"??" }, - /*::[*/0x0285/*::]*/: { n:"??" }, - /*::[*/0x0286/*::]*/: { n:"??" }, - /*::[*/0x0287/*::]*/: { n:"??" }, - /*::[*/0x0288/*::]*/: { n:"??" }, - /*::[*/0x0292/*::]*/: { n:"??" }, - /*::[*/0x0293/*::]*/: { n:"??" }, - /*::[*/0x0294/*::]*/: { n:"??" }, - /*::[*/0x0295/*::]*/: { n:"??" }, - /*::[*/0x0296/*::]*/: { n:"??" }, - /*::[*/0x0299/*::]*/: { n:"??" }, - /*::[*/0x029A/*::]*/: { n:"??" }, - /*::[*/0x0300/*::]*/: { n:"??" }, - /*::[*/0x0304/*::]*/: { n:"??" }, - /*::[*/0x0601/*::]*/: { n:"SHEETINFOQP", f:parse_SHEETINFOQP }, - /*::[*/0x0640/*::]*/: { n:"??" }, - /*::[*/0x0642/*::]*/: { n:"??" }, - /*::[*/0x0701/*::]*/: { n:"??" }, - /*::[*/0x0702/*::]*/: { n:"??" }, - /*::[*/0x0703/*::]*/: { n:"??" }, - /*::[*/0x0704/*::]*/: { n:"??" }, - /*::[*/0x0780/*::]*/: { n:"??" }, - /*::[*/0x0800/*::]*/: { n:"??" }, - /*::[*/0x0801/*::]*/: { n:"??" }, - /*::[*/0x0804/*::]*/: { n:"??" }, - /*::[*/0x0A80/*::]*/: { n:"??" }, - /*::[*/0x2AF6/*::]*/: { n:"??" }, - /*::[*/0x3231/*::]*/: { n:"??" }, - /*::[*/0x6E49/*::]*/: { n:"??" }, - /*::[*/0x6F44/*::]*/: { n:"??" }, - /*::[*/0xFFFF/*::]*/: { n:"" } - }; - return { - sheet_to_wk1: sheet_to_wk1, - book_to_wk3: book_to_wk3, - to_workbook: lotus_to_workbook - }; -})(); -/* 18.4.7 rPr CT_RPrElt */ -function parse_rpr(rpr) { - var font = {}, m = rpr.match(tagregex), i = 0; - var pass = false; - if(m) for(;i!=m.length; ++i) { - var y = parsexmltag(m[i]); - switch(y[0].replace(/\w*:/g,"")) { - /* 18.8.12 condense CT_BooleanProperty */ - /* ** not required . */ - case '': - case '': font.shadow = 1; break; - case '': break; - - /* 18.4.1 charset CT_IntProperty TODO */ - case '': - case '': font.outline = 1; break; - case '': break; - - /* 18.4.5 rFont CT_FontName */ - case '': - case '': font.strike = 1; break; - case '': break; - - /* 18.4.13 u CT_UnderlineProperty */ - case '': - case '': font.u = 1; break; - case '': break; - - /* 18.8.2 b */ - case '': - case '': font.b = 1; break; - case '': break; - - /* 18.8.26 i */ - case '': - case '': font.i = 1; break; - case '': break; - - /* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */ - case '': case '': case '': break; - - /* 18.8.18 family ST_FontFamily */ - case '': case '': case '': break; - - /* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */ - case '': case '': case '': break; - - /* 18.8.35 scheme CT_FontScheme TODO */ - case '': case '': case '': break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': break; - case '': pass = false; break; - default: - if(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]); - } - } - return font; -} - -var parse_rs = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - var tregex = matchtag("t"), rpregex = matchtag("rPr"); - /* 18.4.4 r CT_RElt */ - function parse_r(r) { - /* 18.4.12 t ST_Xstring */ - var t = r.match(tregex)/*, cp = 65001*/; - if(!t) return {t:"s", v:""}; - - var o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/); - var rpr = r.match(rpregex); - if(rpr) o.s = parse_rpr(rpr[1]); - return o; - } - var rregex = /<(?:\w+:)?r>/g, rend = /<\/(?:\w+:)?r>/; - return function parse_rs(rs) { - return rs.replace(rregex,"").split(rend).map(parse_r).filter(function(r) { return r.v; }); - }; -})())); - - -/* Parse a list of tags */ -var rs_to_html = /*#__PURE__*/(/* unused pure expression or super */ null && ((function parse_rs_factory() { - var nlregex = /(\r\n|\n)/g; - function parse_rpr2(font, intro, outro) { - var style/*:Array*/ = []; - - if(font.u) style.push("text-decoration: underline;"); - if(font.uval) style.push("text-underline-style:" + font.uval + ";"); - if(font.sz) style.push("font-size:" + font.sz + "pt;"); - if(font.outline) style.push("text-effect: outline;"); - if(font.shadow) style.push("text-shadow: auto;"); - intro.push(''); - - if(font.b) { intro.push(""); outro.push(""); } - if(font.i) { intro.push(""); outro.push(""); } - if(font.strike) { intro.push(""); outro.push(""); } - - var align = font.valign || ""; - if(align == "superscript" || align == "super") align = "sup"; - else if(align == "subscript") align = "sub"; - if(align != "") { intro.push("<" + align + ">"); outro.push(""); } - - outro.push(""); - return font; - } - - /* 18.4.4 r CT_RElt */ - function r_to_html(r) { - var terms/*:[Array, string, Array]*/ = [[],r.v,[]]; - if(!r.v) return ""; - - if(r.s) parse_rpr2(r.s, terms[0], terms[2]); - - return terms[0].join("") + terms[1].replace(nlregex,'
') + terms[2].join(""); - } - - return function parse_rs(rs) { - return rs.map(r_to_html).join(""); - }; -})())); - -/* 18.4.8 si CT_Rst */ -var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; -var sirphregex = /<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g; -function parse_si(x, opts) { - var html = opts ? opts.cellHTML : true; - var z = {}; - if(!x) return { t: "" }; - //var y; - /* 18.4.12 t ST_Xstring (Plaintext String) */ - // TODO: is whitespace actually valid here? - if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)) { - z.t = unescapexml(utf8read(x.slice(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")); - z.r = utf8read(x); - if(html) z.h = escapehtml(z.t); - } - /* 18.4.4 r CT_RElt (Rich Text Run) */ - else if((/*y = */x.match(sirregex))) { - z.r = utf8read(x); - z.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = rs_to_html(parse_rs(z.r)); - } - /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ - /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ - return z; -} - -/* 18.4 Shared String Table */ -var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; -var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; -var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; -function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { - var s/*:SST*/ = ([]/*:any*/), ss = ""; - if(!data) return s; - /* 18.4.9 sst CT_Sst */ - var sst = data.match(sstr0); - if(sst) { - ss = sst[2].replace(sstr1,"").split(sstr2); - for(var i = 0; i != ss.length; ++i) { - var o = parse_si(ss[i].trim(), opts); - if(o != null) s[s.length] = o; - } - sst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount; - } - return s; -} - -var straywsregex = /^\s|\s$|[\t\n\r]/; -function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { - if(!opts.bookSST) return ""; - var o = [XML_HEADER]; - o[o.length] = (writextag('sst', null, { - xmlns: XMLNS_main[0], - count: sst.Count, - uniqueCount: sst.Unique - })); - for(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue; - var s/*:XLString*/ = sst[i]; - var sitag = ""; - if(s.r) sitag += s.r; - else { - sitag += ""; - } - sitag += ""; - o[o.length] = (sitag); - } - if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* [MS-XLSB] 2.4.221 BrtBeginSst */ -function parse_BrtBeginSst(data) { - return [data.read_shift(4), data.read_shift(4)]; -} - -/* [MS-XLSB] 2.1.7.45 Shared Strings */ -function parse_sst_bin(data, opts)/*:SST*/ { - var s/*:SST*/ = ([]/*:any*/); - var pass = false; - recordhopper(data, function hopper_sst(val, R, RT) { - switch(RT) { - case 0x009F: /* BrtBeginSst */ - s.Count = val[0]; s.Unique = val[1]; break; - case 0x0013: /* BrtSSTItem */ - s.push(val); break; - case 0x00A0: /* BrtEndSst */ - return true; - - case 0x0023: /* BrtFRTBegin */ - pass = true; break; - case 0x0024: /* BrtFRTEnd */ - pass = false; break; - - default: - if(R.T){} - if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }); - return s; -} - -function write_BrtBeginSst(sst, o) { - if(!o) o = new_buf(8); - o.write_shift(4, sst.Count); - o.write_shift(4, sst.Unique); - return o; -} - -var write_BrtSSTItem = write_RichStr; - -function write_sst_bin(sst/*::, opts*/) { - var ba = buf_array(); - write_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst)); - for(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i])); - /* FRTSST */ - write_record(ba, 0x00A0 /* BrtEndSst */); - return ba.end(); -} -function _JS2ANSI(str/*:string*/)/*:Array*/ { - if(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str); - var o/*:Array*/ = [], oo = str.split(""); - for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); - return o; -} - -/* [MS-OFFCRYPTO] 2.1.4 Version */ -function parse_CRYPTOVersion(blob, length/*:?number*/) { - var o/*:any*/ = {}; - o.Major = blob.read_shift(2); - o.Minor = blob.read_shift(2); - /*:: if(length == null) return o; */ - if(length >= 4) blob.l += length - 4; - return o; -} - -/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */ -function parse_DataSpaceVersionInfo(blob) { - var o = {}; - o.id = blob.read_shift(0, 'lpp4'); - o.R = parse_CRYPTOVersion(blob, 4); - o.U = parse_CRYPTOVersion(blob, 4); - o.W = parse_CRYPTOVersion(blob, 4); - return o; -} - -/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */ -function parse_DataSpaceMapEntry(blob) { - var len = blob.read_shift(4); - var end = blob.l + len - 4; - var o = {}; - var cnt = blob.read_shift(4); - var comps/*:Array<{t:number, v:string}>*/ = []; - /* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */ - while(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') }); - o.name = blob.read_shift(0, 'lpp4'); - o.comps = comps; - if(blob.l != end) throw new Error("Bad DataSpaceMapEntry: " + blob.l + " != " + end); - return o; -} - -/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */ -function parse_DataSpaceMap(blob) { - var o = []; - blob.l += 4; // must be 0x8 - var cnt = blob.read_shift(4); - while(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob)); - return o; -} - -/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */ -function parse_DataSpaceDefinition(blob)/*:Array*/ { - var o/*:Array*/ = []; - blob.l += 4; // must be 0x8 - var cnt = blob.read_shift(4); - while(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4')); - return o; -} - -/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */ -function parse_TransformInfoHeader(blob) { - var o = {}; - /*var len = */blob.read_shift(4); - blob.l += 4; // must be 0x1 - o.id = blob.read_shift(0, 'lpp4'); - o.name = blob.read_shift(0, 'lpp4'); - o.R = parse_CRYPTOVersion(blob, 4); - o.U = parse_CRYPTOVersion(blob, 4); - o.W = parse_CRYPTOVersion(blob, 4); - return o; -} - -function parse_Primary(blob) { - /* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */ - var hdr = parse_TransformInfoHeader(blob); - /* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */ - hdr.ename = blob.read_shift(0, '8lpp4'); - hdr.blksz = blob.read_shift(4); - hdr.cmode = blob.read_shift(4); - if(blob.read_shift(4) != 0x04) throw new Error("Bad !Primary record"); - return hdr; -} - -/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */ -function parse_EncryptionHeader(blob, length/*:number*/) { - var tgt = blob.l + length; - var o = {}; - o.Flags = (blob.read_shift(4) & 0x3F); - blob.l += 4; - o.AlgID = blob.read_shift(4); - var valid = false; - switch(o.AlgID) { - case 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break; - case 0x6801: valid = (o.Flags == 0x04); break; - case 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break; - default: throw 'Unrecognized encryption algorithm: ' + o.AlgID; - } - if(!valid) throw new Error("Encryption Flags/AlgID mismatch"); - o.AlgIDHash = blob.read_shift(4); - o.KeySize = blob.read_shift(4); - o.ProviderType = blob.read_shift(4); - blob.l += 8; - o.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le'); - blob.l = tgt; - return o; -} - -/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */ -function parse_EncryptionVerifier(blob, length/*:number*/) { - var o = {}, tgt = blob.l + length; - blob.l += 4; // SaltSize must be 0x10 - o.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16; - o.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16; - /*var sz = */blob.read_shift(4); - o.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt; - return o; -} - -/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */ -function parse_EncryptionInfo(blob) { - var vers = parse_CRYPTOVersion(blob); - switch(vers.Minor) { - case 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)]; - case 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)]; - case 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)]; - } - throw new Error("ECMA-376 Encrypted file unrecognized Version: " + vers.Minor); -} - -/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */ -function parse_EncInfoStd(blob/*::, vers*/) { - var flags = blob.read_shift(4); - if((flags & 0x3F) != 0x24) throw new Error("EncryptionInfo mismatch"); - var sz = blob.read_shift(4); - //var tgt = blob.l + sz; - var hdr = parse_EncryptionHeader(blob, sz); - var verifier = parse_EncryptionVerifier(blob, blob.length - blob.l); - return { t:"Std", h:hdr, v:verifier }; -} -/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */ -function parse_EncInfoExt(/*::blob, vers*/) { throw new Error("File is password-protected: ECMA-376 Extensible"); } -/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */ -function parse_EncInfoAgl(blob/*::, vers*/) { - var KeyData = ["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"]; - blob.l+=4; - var xml = blob.read_shift(blob.length - blob.l, 'utf8'); - var o = {}; - xml.replace(tagregex, function xml_agile(x) { - var y/*:any*/ = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': break; - case '': case '': break; - - case '': break; - case ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major); - o.Flags = blob.read_shift(4); length -= 4; - var sz = blob.read_shift(4); length -= 4; - o.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz; - o.EncryptionVerifier = parse_EncryptionVerifier(blob, length); - return o; -} -/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */ -function parse_RC4Header(blob/*::, length*/) { - var o = {}; - var vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4); - if(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor; - o.Salt = blob.read_shift(16); - o.EncryptedVerifier = blob.read_shift(16); - o.EncryptedVerifierHash = blob.read_shift(16); - return o; -} - -/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */ -function crypto_CreatePasswordVerifier_Method1(Password/*:string*/) { - var Verifier = 0x0000, PasswordArray; - var PasswordDecoded = _JS2ANSI(Password); - var len = PasswordDecoded.length + 1, i, PasswordByte; - var Intermediate1, Intermediate2, Intermediate3; - PasswordArray = new_raw_buf(len); - PasswordArray[0] = PasswordDecoded.length; - for(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1]; - for(i = len-1; i >= 0; --i) { - PasswordByte = PasswordArray[i]; - Intermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1; - Intermediate2 = (Verifier << 1) & 0x7FFF; - Intermediate3 = Intermediate1 | Intermediate2; - Verifier = Intermediate3 ^ PasswordByte; - } - return Verifier ^ 0xCE4B; -} - -/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */ -var crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() { - var PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00]; - var InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3]; - var XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4]; - var Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; }; - var XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); }; - var CreateXorKey_Method1 = function(Password) { - var XorKey = InitialCode[Password.length - 1]; - var CurrentElement = 0x68; - for(var i = Password.length-1; i >= 0; --i) { - var Char = Password[i]; - for(var j = 0; j != 7; ++j) { - if(Char & 0x40) XorKey ^= XorMatrix[CurrentElement]; - Char *= 2; --CurrentElement; - } - } - return XorKey; - }; - return function(password/*:string*/) { - var Password = _JS2ANSI(password); - var XorKey = CreateXorKey_Method1(Password); - var Index = Password.length; - var ObfuscationArray = new_raw_buf(16); - for(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00; - var Temp, PasswordLastChar, PadIndex; - if((Index & 1) === 1) { - Temp = XorKey >> 8; - ObfuscationArray[Index] = XorRor(PadArray[0], Temp); - --Index; - Temp = XorKey & 0xFF; - PasswordLastChar = Password[Password.length - 1]; - ObfuscationArray[Index] = XorRor(PasswordLastChar, Temp); - } - while(Index > 0) { - --Index; - Temp = XorKey >> 8; - ObfuscationArray[Index] = XorRor(Password[Index], Temp); - --Index; - Temp = XorKey & 0xFF; - ObfuscationArray[Index] = XorRor(Password[Index], Temp); - } - Index = 15; - PadIndex = 15 - Password.length; - while(PadIndex > 0) { - Temp = XorKey >> 8; - ObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp); - --Index; - --PadIndex; - Temp = XorKey & 0xFF; - ObfuscationArray[Index] = XorRor(Password[Index], Temp); - --Index; - --PadIndex; - } - return ObfuscationArray; - }; -})(); - -/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */ -var crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) { - /* If XorArray is set, use it; if O is not set, make changes in-place */ - if(!O) O = Data; - if(!XorArray) XorArray = crypto_CreateXorArray_Method1(password); - var Index, Value; - for(Index = 0; Index != Data.length; ++Index) { - Value = Data[Index]; - Value ^= XorArray[XorArrayIndex]; - Value = ((Value>>5) | (Value<<3)) & 0xFF; - O[Index] = Value; - ++XorArrayIndex; - } - return [O, XorArrayIndex, XorArray]; -}; - -var crypto_MakeXorDecryptor = function(password/*:string*/) { - var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); - return function(Data) { - var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); - XorArrayIndex = O[1]; - return O[0]; - }; -}; - -/* 2.5.343 */ -function parse_XORObfuscation(blob, length, opts, out) { - var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/); - if(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password); - out.valid = o.verificationBytes === o.verifier; - if(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password); - return o; -} - -/* 2.4.117 */ -function parse_FilePassHeader(blob, length/*:number*/, oo) { - var o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2; - if(o.Info === 1) o.Data = parse_RC4Header(blob, length); - else o.Data = parse_RC4CryptoHeader(blob, length); - return o; -} -function parse_FilePass(blob, length/*:number*/, opts) { - var o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */ - if(o.Type) parse_FilePassHeader(blob, length-2, o); - else parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o); - return o; -} - - -var RTF = /*#__PURE__*/(function() { - function rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ { - switch(opts.type) { - case 'base64': return rtf_to_sheet_str(Base64_decode(d), opts); - case 'binary': return rtf_to_sheet_str(d, opts); - case 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts); - case 'array': return rtf_to_sheet_str(cc2str(d), opts); - } - throw new Error("Unrecognized type " + opts.type); - } - - /* TODO: this is a stub */ - function rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ { - var o = opts || {}; - var ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/); - - var rows = str.match(/\\trowd.*?\\row\b/g); - if(!rows.length) throw new Error("RTF missing table"); - var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/); - rows.forEach(function(rowtf, R) { - if(Array.isArray(ws)) ws[R] = []; - var rtfre = /\\\w+\b/g; - var last_index = 0; - var res; - var C = -1; - while((res = rtfre.exec(rowtf))) { - switch(res[0]) { - case "\\cell": - var data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length); - if(data[0] == " ") data = data.slice(1); - ++C; - if(data.length) { - // TODO: value parsing, including codepage adjustments - var cell = {v: data, t:"s"}; - if(Array.isArray(ws)) ws[R][C] = cell; - else ws[encode_cell({r:R, c:C})] = cell; - } - break; - } - last_index = rtfre.lastIndex; - } - if(C > range.e.c) range.e.c = C; - }); - ws['!ref'] = encode_range(range); - return ws; - } - - function rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); } - - /* TODO: this is a stub */ - function sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ { - var o = ["{\\rtf1\\ansi"]; - var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; - var dense = Array.isArray(ws); - for(var R = r.s.r; R <= r.e.r; ++R) { - o.push("\\trowd\\trautofit1"); - for(var C = r.s.c; C <= r.e.c; ++C) o.push("\\cellx" + (C+1)); - o.push("\\pard\\intbl"); - for(C = r.s.c; C <= r.e.c; ++C) { - var coord = encode_cell({r:R,c:C}); - cell = dense ? (ws[R]||[])[C]: ws[coord]; - if(!cell || cell.v == null && (!cell.f || cell.F)) continue; - o.push(" " + (cell.w || (format_cell(cell), cell.w))); - o.push("\\cell"); - } - o.push("\\pard\\intbl\\row"); - } - return o.join("") + "}"; - } - - return { - to_workbook: rtf_to_workbook, - to_sheet: rtf_to_sheet, - from_sheet: sheet_to_rtf - }; -})(); -function hex2RGB(h) { - var o = h.slice(h[0]==="#"?1:0).slice(0,6); - return [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)]; -} -function rgb2Hex(rgb) { - for(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]); - return o.toString(16).toUpperCase().slice(1); -} - -function rgb2HSL(rgb) { - var R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255; - var M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m; - if(C === 0) return [0, 0, R]; - - var H6 = 0, S = 0, L2 = (M + m); - S = C / (L2 > 1 ? 2 - L2 : L2); - switch(M){ - case R: H6 = ((G - B) / C + 6)%6; break; - case G: H6 = ((B - R) / C + 2); break; - case B: H6 = ((R - G) / C + 4); break; - } - return [H6 / 6, S, L2 / 2]; -} - -function hsl2RGB(hsl){ - var H = hsl[0], S = hsl[1], L = hsl[2]; - var C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2; - var rgb = [m,m,m], h6 = 6*H; - - var X; - if(S !== 0) switch(h6|0) { - case 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break; - case 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break; - case 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break; - case 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break; - case 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break; - case 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break; - } - for(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255); - return rgb; -} - -/* 18.8.3 bgColor tint algorithm */ -function rgb_tint(hex, tint) { - if(tint === 0) return hex; - var hsl = rgb2HSL(hex2RGB(hex)); - if (tint < 0) hsl[2] = hsl[2] * (1 + tint); - else hsl[2] = 1 - (1 - hsl[2]) * (1 - tint); - return rgb2Hex(hsl2RGB(hsl)); -} - -/* 18.3.1.13 width calculations */ -/* [MS-OI29500] 2.1.595 Column Width & Formatting */ -var DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW; -function width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); } -function px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; } -function char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; } -//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; } -//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; } -function cycle_width(collw) { return char2width(px2char(width2px(collw))); } -/* XLSX/XLSB/XLS specify width in units of MDW */ -function find_mdw_colw(collw) { - var delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW; - if(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--; - if(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; } - } - MDW = _MDW; -}*/ - -function process_col(coll/*:ColInfo*/) { - if(coll.width) { - coll.wpx = width2px(coll.width); - coll.wch = px2char(coll.wpx); - coll.MDW = MDW; - } else if(coll.wpx) { - coll.wch = px2char(coll.wpx); - coll.width = char2width(coll.wch); - coll.MDW = MDW; - } else if(typeof coll.wch == 'number') { - coll.width = char2width(coll.wch); - coll.wpx = width2px(coll.width); - coll.MDW = MDW; - } - if(coll.customWidth) delete coll.customWidth; -} - -var DEF_PPI = 96, PPI = DEF_PPI; -function px2pt(px) { return px * 96 / PPI; } -function pt2px(pt) { return pt * PPI / 96; } - -/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */ -var XLMLPatternTypeMap = { - "None": "none", - "Solid": "solid", - "Gray50": "mediumGray", - "Gray75": "darkGray", - "Gray25": "lightGray", - "HorzStripe": "darkHorizontal", - "VertStripe": "darkVertical", - "ReverseDiagStripe": "darkDown", - "DiagStripe": "darkUp", - "DiagCross": "darkGrid", - "ThickDiagCross": "darkTrellis", - "ThinHorzStripe": "lightHorizontal", - "ThinVertStripe": "lightVertical", - "ThinReverseDiagStripe": "lightDown", - "ThinHorzCross": "lightGrid" -}; - -/* 18.8.5 borders CT_Borders */ -function parse_borders(t, styles, themes, opts) { - styles.Borders = []; - var border = {}; - var pass = false; - (t[0].match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': case '': break; - - /* 18.8.4 border CT_Border */ - case '': case '': - border = /*::(*/{}/*:: :any)*/; - if(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp); - if(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown); - styles.Borders.push(border); - break; - case '': break; - - /* note: not in spec, appears to be CT_BorderPr */ - case '': break; - case '': break; - case '': break; - - /* note: not in spec, appears to be CT_BorderPr */ - case '': break; - case '': break; - case '': break; - - /* 18.8.43 top CT_BorderPr */ - case '': break; - case '': break; - case '': break; - - /* 18.8.6 bottom CT_BorderPr */ - case '': break; - case '': break; - case '': break; - - /* 18.8.13 diagonal CT_BorderPr */ - case '': case '': break; - case '': break; - - /* 18.8.25 horizontal CT_BorderPr */ - case '': case '': break; - case '': break; - - /* 18.8.44 vertical CT_BorderPr */ - case '': case '': break; - case '': break; - - /* 18.8.37 start CT_BorderPr */ - case '': case '': break; - case '': break; - - /* 18.8.16 end CT_BorderPr */ - case '': case '': break; - case '': break; - - /* 18.8.? color CT_Color */ - case '': - break; - case '': case '': break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': break; - case '': pass = false; break; - default: if(opts && opts.WTF) { - if(!pass) throw new Error('unrecognized ' + y[0] + ' in borders'); - } - } - }); -} - -/* 18.8.21 fills CT_Fills */ -function parse_fills(t, styles, themes, opts) { - styles.Fills = []; - var fill = {}; - var pass = false; - (t[0].match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': case '': break; - - /* 18.8.20 fill CT_Fill */ - case '': case '': - fill = {}; styles.Fills.push(fill); break; - case '': break; - - /* 18.8.24 gradientFill CT_GradientFill */ - case '': break; - case '': styles.Fills.push(fill); fill = {}; break; - - /* 18.8.32 patternFill CT_PatternFill */ - case '': - if(y.patternType) fill.patternType = y.patternType; - break; - case '': case '': break; - - /* 18.8.3 bgColor CT_Color */ - case '': case '': break; - - /* 18.8.19 fgColor CT_Color */ - case '': case '': break; - - /* 18.8.38 stop CT_GradientStop */ - case '': break; - case '': break; - - /* 18.8.? color CT_Color */ - case '': break; - case '': break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': break; - case '': pass = false; break; - default: if(opts && opts.WTF) { - if(!pass) throw new Error('unrecognized ' + y[0] + ' in fills'); - } - } - }); -} - -/* 18.8.23 fonts CT_Fonts */ -function parse_fonts(t, styles, themes, opts) { - styles.Fonts = []; - var font = {}; - var pass = false; - (t[0].match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': case '': break; - - /* 18.8.22 font CT_Font */ - case '': break; - case '': case '': - styles.Fonts.push(font); - font = {}; - break; - - /* 18.8.29 name CT_FontName */ - case '': case '': break; - - /* 18.8.2 b CT_BooleanProperty */ - case '': font.bold = 1; break; - - /* 18.8.26 i CT_BooleanProperty */ - case '': font.italic = 1; break; - - /* 18.4.13 u CT_UnderlineProperty */ - case '': font.underline = 1; break; - - /* 18.4.10 strike CT_BooleanProperty */ - case '': font.strike = 1; break; - - /* 18.4.2 outline CT_BooleanProperty */ - case '': font.outline = 1; break; - - /* 18.8.36 shadow CT_BooleanProperty */ - case '': font.shadow = 1; break; - - /* 18.8.12 condense CT_BooleanProperty */ - case '': font.condense = 1; break; - - /* 18.8.17 extend CT_BooleanProperty */ - case '': font.extend = 1; break; - - /* 18.4.11 sz CT_FontSize */ - case '': case '': break; - - /* 18.4.14 vertAlign CT_VerticalAlignFontProperty */ - case '': case '': break; - - /* 18.8.18 family CT_FontFamily */ - case '': case '': break; - - /* 18.8.35 scheme CT_FontScheme */ - case '': case '': break; - - /* 18.4.1 charset CT_IntProperty */ - case '': case '': break; - - /* note: sometimes mc:AlternateContent appears bare */ - case '': pass = false; break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': break; - case '': pass = false; break; - default: if(opts && opts.WTF) { - if(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts'); - } - } - }); -} - -/* 18.8.31 numFmts CT_NumFmts */ -function parse_numFmts(t, styles, opts) { - styles.NumberFmt = []; - var k/*Array*/ = (keys(table_fmt)/*:any*/); - for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]]; - var m = t[0].match(tagregex); - if(!m) return; - for(i=0; i < m.length; ++i) { - var y = parsexmltag(m[i]); - switch(strip_ns(y[0])) { - case '': case '': case '': break; - case '0) { - if(j > 0x188) { - for(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break; - styles.NumberFmt[j] = f; - } - SSF_load(f,j); - } - } break; - case '': break; - default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); - } - } -} - -function write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) { - var o = [""]; - [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { - for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])})); - }); - if(o.length === 1) return ""; - o[o.length] = (""); - o[0] = writextag('numFmts', null, { count:o.length-2 }).replace("/>", ">"); - return o.join(""); -} - -/* 18.8.10 cellXfs CT_CellXfs */ -var cellXF_uint = (/* unused pure expression or super */ null && ([ "numFmtId", "fillId", "fontId", "borderId", "xfId" ])); -var cellXF_bool = (/* unused pure expression or super */ null && ([ "applyAlignment", "applyBorder", "applyFill", "applyFont", "applyNumberFormat", "applyProtection", "pivotButton", "quotePrefix" ])); -function parse_cellXfs(t, styles, opts) { - styles.CellXf = []; - var xf; - var pass = false; - (t[0].match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x), i = 0; - switch(strip_ns(y[0])) { - case '': case '': case '': break; - - /* 18.8.45 xf CT_Xf */ - case '': - xf = y; - delete xf[0]; - for(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]]) - xf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10); - for(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]]) - xf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]); - if(styles.NumberFmt && xf.numFmtId > 0x188) { - for(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; } - } - styles.CellXf.push(xf); break; - case '': break; - - /* 18.8.1 alignment CT_CellAlignment */ - case '': - var alignment = {}; - if(y.vertical) alignment.vertical = y.vertical; - if(y.horizontal) alignment.horizontal = y.horizontal; - if(y.textRotation != null) alignment.textRotation = y.textRotation; - if(y.indent) alignment.indent = y.indent; - if(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText); - xf.alignment = alignment; - break; - case '': break; - - /* 18.8.33 protection CT_CellProtection */ - case '': case '': break; - - /* note: sometimes mc:AlternateContent appears bare */ - case '': pass = false; break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': break; - case '': pass = false; break; - default: if(opts && opts.WTF) { - if(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs'); - } - } - }); -} - -function write_cellXfs(cellXfs)/*:string*/ { - var o/*:Array*/ = []; - o[o.length] = (writextag('cellXfs',null)); - cellXfs.forEach(function(c) { - o[o.length] = (writextag('xf', null, c)); - }); - o[o.length] = (""); - if(o.length === 2) return ""; - o[0] = writextag('cellXfs',null, {count:o.length-2}).replace("/>",">"); - return o.join(""); -} - -/* 18.8 Styles CT_Stylesheet*/ -var parse_sty_xml= /*#__PURE__*/(/* unused pure expression or super */ null && ((function make_pstyx() { -var numFmtRegex = /<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/; -var cellXfRegex = /<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/; -var fillsRegex = /<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/; -var fontsRegex = /<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/; -var bordersRegex = /<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/; - -return function parse_sty_xml(data, themes, opts) { - var styles = {}; - if(!data) return styles; - data = data.replace(//mg,"").replace(//gm,""); - /* 18.8.39 styleSheet CT_Stylesheet */ - var t; - - /* 18.8.31 numFmts CT_NumFmts ? */ - if((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts); - - /* 18.8.23 fonts CT_Fonts ? */ - if((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts); - - /* 18.8.21 fills CT_Fills ? */ - if((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts); - - /* 18.8.5 borders CT_Borders ? */ - if((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts); - - /* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */ - /* 18.8.8 cellStyles CT_CellStyles ? */ - - /* 18.8.10 cellXfs CT_CellXfs ? */ - if((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts); - - /* 18.8.15 dxfs CT_Dxfs ? */ - /* 18.8.42 tableStyles CT_TableStyles ? */ - /* 18.8.11 colors CT_Colors ? */ - /* 18.2.10 extLst CT_ExtensionList ? */ - - return styles; -}; -})())); - -function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { - var o = [XML_HEADER, writextag('styleSheet', null, { - 'xmlns': XMLNS_main[0], - 'xmlns:vt': XMLNS.vt - })], w; - if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; - o[o.length] = (''); - o[o.length] = (''); - o[o.length] = (''); - o[o.length] = (''); - if((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w); - o[o.length] = (''); - o[o.length] = (''); - o[o.length] = (''); - - if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* [MS-XLSB] 2.4.657 BrtFmt */ -function parse_BrtFmt(data, length/*:number*/) { - var numFmtId = data.read_shift(2); - var stFmtCode = parse_XLWideString(data,length-2); - return [numFmtId, stFmtCode]; -} -function write_BrtFmt(i/*:number*/, f/*:string*/, o) { - if(!o) o = new_buf(6 + 4 * f.length); - o.write_shift(2, i); - write_XLWideString(f, o); - var out = (o.length > o.l) ? o.slice(0, o.l) : o; - if(o.l == null) o.l = o.length; - return out; -} - -/* [MS-XLSB] 2.4.659 BrtFont TODO */ -function parse_BrtFont(data, length/*:number*/, opts) { - var out = ({}/*:any*/); - - out.sz = data.read_shift(2) / 20; - - var grbit = parse_FontFlags(data, 2, opts); - if(grbit.fItalic) out.italic = 1; - if(grbit.fCondense) out.condense = 1; - if(grbit.fExtend) out.extend = 1; - if(grbit.fShadow) out.shadow = 1; - if(grbit.fOutline) out.outline = 1; - if(grbit.fStrikeout) out.strike = 1; - - var bls = data.read_shift(2); - if(bls === 0x02BC) out.bold = 1; - - switch(data.read_shift(2)) { - /* case 0: out.vertAlign = "baseline"; break; */ - case 1: out.vertAlign = "superscript"; break; - case 2: out.vertAlign = "subscript"; break; - } - - var underline = data.read_shift(1); - if(underline != 0) out.underline = underline; - - var family = data.read_shift(1); - if(family > 0) out.family = family; - - var bCharSet = data.read_shift(1); - if(bCharSet > 0) out.charset = bCharSet; - - data.l++; - out.color = parse_BrtColor(data, 8); - - switch(data.read_shift(1)) { - /* case 0: out.scheme = "none": break; */ - case 1: out.scheme = "major"; break; - case 2: out.scheme = "minor"; break; - } - - out.name = parse_XLWideString(data, length - 21); - - return out; -} -function write_BrtFont(font/*:any*/, o) { - if(!o) o = new_buf(25+4*32); - o.write_shift(2, font.sz * 20); - write_FontFlags(font, o); - o.write_shift(2, font.bold ? 0x02BC : 0x0190); - var sss = 0; - if(font.vertAlign == "superscript") sss = 1; - else if(font.vertAlign == "subscript") sss = 2; - o.write_shift(2, sss); - o.write_shift(1, font.underline || 0); - o.write_shift(1, font.family || 0); - o.write_shift(1, font.charset || 0); - o.write_shift(1, 0); - write_BrtColor(font.color, o); - var scheme = 0; - if(font.scheme == "major") scheme = 1; - if(font.scheme == "minor") scheme = 2; - o.write_shift(1, scheme); - write_XLWideString(font.name, o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.650 BrtFill */ -var XLSBFillPTNames = [ - "none", - "solid", - "mediumGray", - "darkGray", - "lightGray", - "darkHorizontal", - "darkVertical", - "darkDown", - "darkUp", - "darkGrid", - "darkTrellis", - "lightHorizontal", - "lightVertical", - "lightDown", - "lightUp", - "lightGrid", - "lightTrellis", - "gray125", - "gray0625" -]; -var rev_XLSBFillPTNames/*:EvertNumType*/; -/* TODO: gradient fill representation */ -var parse_BrtFill = parsenoop; -function write_BrtFill(fill, o) { - if(!o) o = new_buf(4*3 + 8*7 + 16*1); - if(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/); - var fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType]; - if(fls == null) fls = 0x28; - o.write_shift(4, fls); - var j = 0; - if(fls != 0x28) { - /* TODO: custom FG Color */ - write_BrtColor({auto:1}, o); - /* TODO: custom BG Color */ - write_BrtColor({auto:1}, o); - - for(; j < 12; ++j) o.write_shift(4, 0); - } else { - for(; j < 4; ++j) o.write_shift(4, 0); - - for(; j < 12; ++j) o.write_shift(4, 0); /* TODO */ - /* iGradientType */ - /* xnumDegree */ - /* xnumFillToLeft */ - /* xnumFillToRight */ - /* xnumFillToTop */ - /* xnumFillToBottom */ - /* cNumStop */ - /* xfillGradientStop */ - } - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.824 BrtXF */ -function parse_BrtXF(data, length/*:number*/) { - var tgt = data.l + length; - var ixfeParent = data.read_shift(2); - var ifmt = data.read_shift(2); - data.l = tgt; - return {ixfe:ixfeParent, numFmtId:ifmt }; -} -function write_BrtXF(data, ixfeP, o) { - if(!o) o = new_buf(16); - o.write_shift(2, ixfeP||0); - o.write_shift(2, data.numFmtId||0); - o.write_shift(2, 0); /* iFont */ - o.write_shift(2, 0); /* iFill */ - o.write_shift(2, 0); /* ixBorder */ - o.write_shift(1, 0); /* trot */ - o.write_shift(1, 0); /* indent */ - var flow = 0; - o.write_shift(1, flow); /* flags */ - o.write_shift(1, 0); /* flags */ - o.write_shift(1, 0); /* xfGrbitAtr */ - o.write_shift(1, 0); - return o; -} - -/* [MS-XLSB] 2.5.4 Blxf TODO */ -function write_Blxf(data, o) { - if(!o) o = new_buf(10); - o.write_shift(1, 0); /* dg */ - o.write_shift(1, 0); - o.write_shift(4, 0); /* color */ - o.write_shift(4, 0); /* color */ - return o; -} -/* [MS-XLSB] 2.4.302 BrtBorder TODO */ -var parse_BrtBorder = parsenoop; -function write_BrtBorder(border, o) { - if(!o) o = new_buf(51); - o.write_shift(1, 0); /* diagonal */ - write_Blxf(null, o); /* top */ - write_Blxf(null, o); /* bottom */ - write_Blxf(null, o); /* left */ - write_Blxf(null, o); /* right */ - write_Blxf(null, o); /* diag */ - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.763 BrtStyle TODO */ -function write_BrtStyle(style, o) { - if(!o) o = new_buf(12+4*10); - o.write_shift(4, style.xfId); - o.write_shift(2, 1); - o.write_shift(1, +style.builtinId); - o.write_shift(1, 0); /* iLevel */ - write_XLNullableWideString(style.name || "", o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */ -function write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) { - var o = new_buf(4+256*2*4); - o.write_shift(4, cnt); - write_XLNullableWideString(defTableStyle, o); - write_XLNullableWideString(defPivotStyle, o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.1.7.50 Styles */ -function parse_sty_bin(data, themes, opts) { - var styles = {}; - styles.NumberFmt = ([]/*:any*/); - for(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y]; - - styles.CellXf = []; - styles.Fonts = []; - var state/*:Array*/ = []; - var pass = false; - recordhopper(data, function hopper_sty(val, R, RT) { - switch(RT) { - case 0x002C: /* BrtFmt */ - styles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]); - break; - case 0x002B: /* BrtFont */ - styles.Fonts.push(val); - if(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) { - val.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0); - } - break; - case 0x0401: /* BrtKnownFonts */ break; - case 0x002D: /* BrtFill */ - break; - case 0x002E: /* BrtBorder */ - break; - case 0x002F: /* BrtXF */ - if(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) { - styles.CellXf.push(val); - } - break; - case 0x0030: /* BrtStyle */ - case 0x01FB: /* BrtDXF */ - case 0x023C: /* BrtMRUColor */ - case 0x01DB: /* BrtIndexedColor */ - break; - - case 0x0493: /* BrtDXF14 */ - case 0x0836: /* BrtDXF15 */ - case 0x046A: /* BrtSlicerStyleElement */ - case 0x0200: /* BrtTableStyleElement */ - case 0x082F: /* BrtTimelineStyleElement */ - case 0x0C00: /* BrtUid */ - break; - - case 0x0023: /* BrtFRTBegin */ - pass = true; break; - case 0x0024: /* BrtFRTEnd */ - pass = false; break; - case 0x0025: /* BrtACBegin */ - state.push(RT); pass = true; break; - case 0x0026: /* BrtACEnd */ - state.pop(); pass = false; break; - - default: - if(R.T > 0) state.push(RT); - else if(R.T < 0) state.pop(); - else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }); - return styles; -} - -function write_FMTS_bin(ba, NF/*:?SSFTable*/) { - if(!NF) return; - var cnt = 0; - [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { - /*:: if(!NF) return; */ - for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt; - }); - - if(cnt == 0) return; - write_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt)); - [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { - /*:: if(!NF) return; */ - for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i])); - }); - write_record(ba, 0x0268 /* BrtEndFmts */); -} - -function write_FONTS_bin(ba/*::, data*/) { - var cnt = 1; - - if(cnt == 0) return; - write_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt)); - write_record(ba, 0x002B /* BrtFont */, write_BrtFont({ - sz:12, - color: {theme:1}, - name: "Calibri", - family: 2, - scheme: "minor" - })); - /* 1*65491BrtFont [ACFONTS] */ - write_record(ba, 0x0264 /* BrtEndFonts */); -} - -function write_FILLS_bin(ba/*::, data*/) { - var cnt = 2; - - if(cnt == 0) return; - write_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt)); - write_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:"none"})); - write_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:"gray125"})); - /* 1*65431BrtFill */ - write_record(ba, 0x025C /* BrtEndFills */); -} - -function write_BORDERS_bin(ba/*::, data*/) { - var cnt = 1; - - if(cnt == 0) return; - write_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt)); - write_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({})); - /* 1*65430BrtBorder */ - write_record(ba, 0x0266 /* BrtEndBorders */); -} - -function write_CELLSTYLEXFS_bin(ba/*::, data*/) { - var cnt = 1; - write_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt)); - write_record(ba, 0x002F /* BrtXF */, write_BrtXF({ - numFmtId: 0, - fontId: 0, - fillId: 0, - borderId: 0 - }, 0xFFFF)); - /* 1*65430(BrtXF *FRT) */ - write_record(ba, 0x0273 /* BrtEndCellStyleXFs */); -} - -function write_CELLXFS_bin(ba, data) { - write_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length)); - data.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); }); - /* 1*65430(BrtXF *FRT) */ - write_record(ba, 0x026A /* BrtEndCellXFs */); -} - -function write_STYLES_bin(ba/*::, data*/) { - var cnt = 1; - - write_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt)); - write_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({ - xfId:0, - builtinId:0, - name:"Normal" - })); - /* 1*65430(BrtStyle *FRT) */ - write_record(ba, 0x026C /* BrtEndStyles */); -} - -function write_DXFS_bin(ba/*::, data*/) { - var cnt = 0; - - write_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt)); - /* *2147483647(BrtDXF *FRT) */ - write_record(ba, 0x01FA /* BrtEndDXFs */); -} - -function write_TABLESTYLES_bin(ba/*::, data*/) { - var cnt = 0; - - write_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, "TableStyleMedium9", "PivotStyleMedium4")); - /* *TABLESTYLE */ - write_record(ba, 0x01FD /* BrtEndTableStyles */); -} - -function write_COLORPALETTE_bin(/*::ba, data*/) { - return; - /* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */ -} - -/* [MS-XLSB] 2.1.7.50 Styles */ -function write_sty_bin(wb, opts) { - var ba = buf_array(); - write_record(ba, 0x0116 /* BrtBeginStyleSheet */); - write_FMTS_bin(ba, wb.SSF); - write_FONTS_bin(ba, wb); - write_FILLS_bin(ba, wb); - write_BORDERS_bin(ba, wb); - write_CELLSTYLEXFS_bin(ba, wb); - write_CELLXFS_bin(ba, opts.cellXfs); - write_STYLES_bin(ba, wb); - write_DXFS_bin(ba, wb); - write_TABLESTYLES_bin(ba, wb); - write_COLORPALETTE_bin(ba, wb); - /* FRTSTYLESHEET*/ - write_record(ba, 0x0117 /* BrtEndStyleSheet */); - return ba.end(); -} -/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ -var XLSXThemeClrScheme = [ - '', '', '', '', - '', '', '', - '', '', '', - '', '' -]; -/* 20.1.6.2 clrScheme CT_ColorScheme */ -function parse_clrScheme(t, themes, opts) { - themes.themeElements.clrScheme = []; - var color = {}; - (t[0].match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(y[0]) { - /* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */ - case '': break; - - /* 20.1.2.3.32 srgbClr CT_SRgbColor */ - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - case '': case '': - if (y[0].charAt(1) === '/') { - themes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color; - color = {}; - } else { - color.name = y[0].slice(3, y[0].length - 1); - } - break; - - default: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme'); - } - }); -} - -/* 20.1.4.1.18 fontScheme CT_FontScheme */ -function parse_fontScheme(/*::t, themes, opts*/) { } - -/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */ -function parse_fmtScheme(/*::t, themes, opts*/) { } - -var clrsregex = /]*)>[\s\S]*<\/a:clrScheme>/; -var fntsregex = /]*)>[\s\S]*<\/a:fontScheme>/; -var fmtsregex = /]*)>[\s\S]*<\/a:fmtScheme>/; - -/* 20.1.6.10 themeElements CT_BaseStyles */ -function parse_themeElements(data, themes, opts) { - themes.themeElements = {}; - - var t; - - [ - /* clrScheme CT_ColorScheme */ - ['clrScheme', clrsregex, parse_clrScheme], - /* fontScheme CT_FontScheme */ - ['fontScheme', fntsregex, parse_fontScheme], - /* fmtScheme CT_StyleMatrix */ - ['fmtScheme', fmtsregex, parse_fmtScheme] - ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); - m[2](t, themes, opts); - }); -} - -var themeltregex = /]*)>[\s\S]*<\/a:themeElements>/; - -/* 14.2.7 Theme Part */ -function parse_theme_xml(data/*:string*/, opts) { - /* 20.1.6.9 theme CT_OfficeStyleSheet */ - if(!data || data.length === 0) data = write_theme(); - - var t; - var themes = {}; - - /* themeElements CT_BaseStyles */ - if(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme'); - parse_themeElements(t[0], themes, opts); - themes.raw = data; - return themes; -} - -function write_theme(Themes, opts)/*:string*/ { - if(opts && opts.themeXLSX) return opts.themeXLSX; - if(Themes && typeof Themes.raw == "string") return Themes.raw; - var o = [XML_HEADER]; - o[o.length] = ''; - o[o.length] = ''; - - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - o[o.length] = ''; - return o.join(""); -} -/* [MS-XLS] 2.4.326 TODO: payload is a zip file */ -function parse_Theme(blob, length, opts) { - var end = blob.l + length; - var dwThemeVersion = blob.read_shift(4); - if(dwThemeVersion === 124226) return; - if(!opts.cellStyles) { blob.l = end; return; } - var data = blob.slice(blob.l); - blob.l = end; - var zip; try { zip = zip_read(data, {type: "array"}); } catch(e) { return; } - var themeXML = getzipstr(zip, "theme/theme/theme1.xml", true); - if(!themeXML) return; - return parse_theme_xml(themeXML, opts); -} - -/* 2.5.49 */ -function parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); } - -/* 2.5.155 */ -function parse_FullColorExt(blob/*::, length*/) { - var o = {}; - o.xclrType = blob.read_shift(2); - o.nTintShade = blob.read_shift(2); - switch(o.xclrType) { - case 0: blob.l += 4; break; - case 1: o.xclrValue = parse_IcvXF(blob, 4); break; - case 2: o.xclrValue = parse_LongRGBA(blob, 4); break; - case 3: o.xclrValue = parse_ColorTheme(blob, 4); break; - case 4: blob.l += 4; break; - } - blob.l += 8; - return o; -} - -/* 2.5.164 TODO: read 7 bits*/ -function parse_IcvXF(blob, length) { - return parsenoop(blob, length); -} - -/* 2.5.280 */ -function parse_XFExtGradient(blob, length) { - return parsenoop(blob, length); -} - -/* [MS-XLS] 2.5.108 */ -function parse_ExtProp(blob/*::, length*/)/*:Array*/ { - var extType = blob.read_shift(2); - var cb = blob.read_shift(2) - 4; - var o = [extType]; - switch(extType) { - case 0x04: case 0x05: case 0x07: case 0x08: - case 0x09: case 0x0A: case 0x0B: case 0x0D: - o[1] = parse_FullColorExt(blob, cb); break; - case 0x06: o[1] = parse_XFExtGradient(blob, cb); break; - case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break; - default: throw new Error("Unrecognized ExtProp type: " + extType + " " + cb); - } - return o; -} - -/* 2.4.355 */ -function parse_XFExt(blob, length) { - var end = blob.l + length; - blob.l += 2; - var ixfe = blob.read_shift(2); - blob.l += 2; - var cexts = blob.read_shift(2); - var ext/*:AOA*/ = []; - while(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l)); - return {ixfe:ixfe, ext:ext}; -} - -/* xf is an XF, see parse_XFExt for xfext */ -function update_xfext(xf, xfext) { - xfext.forEach(function(xfe) { - switch(xfe[0]) { /* 2.5.108 extPropData */ - case 0x04: break; /* foreground color */ - case 0x05: break; /* background color */ - case 0x06: break; /* gradient fill */ - case 0x07: break; /* top cell border color */ - case 0x08: break; /* bottom cell border color */ - case 0x09: break; /* left cell border color */ - case 0x0a: break; /* right cell border color */ - case 0x0b: break; /* diagonal cell border color */ - case 0x0d: /* text color */ - break; - case 0x0e: break; /* font scheme */ - case 0x0f: break; /* indentation level */ - } - }); -} - -function parse_BrtMdtinfo(data, length) { - return { - flags: data.read_shift(4), - version: data.read_shift(4), - name: parse_XLWideString(data, length - 8) - }; -} -function write_BrtMdtinfo(data) { - var o = new_buf(12 + 2 * data.name.length); - o.write_shift(4, data.flags); - o.write_shift(4, data.version); - write_XLWideString(data.name, o); - return o.slice(0, o.l); -} -function parse_BrtMdb(data) { - var out = []; - var cnt = data.read_shift(4); - while (cnt-- > 0) - out.push([data.read_shift(4), data.read_shift(4)]); - return out; -} -function write_BrtMdb(mdb) { - var o = new_buf(4 + 8 * mdb.length); - o.write_shift(4, mdb.length); - for (var i = 0; i < mdb.length; ++i) { - o.write_shift(4, mdb[i][0]); - o.write_shift(4, mdb[i][1]); - } - return o; -} -function write_BrtBeginEsfmd(cnt, name) { - var o = new_buf(8 + 2 * name.length); - o.write_shift(4, cnt); - write_XLWideString(name, o); - return o.slice(0, o.l); -} -function parse_BrtBeginEsmdb(data) { - data.l += 4; - return data.read_shift(4) != 0; -} -function write_BrtBeginEsmdb(cnt, cm) { - var o = new_buf(8); - o.write_shift(4, cnt); - o.write_shift(4, cm ? 1 : 0); - return o; -} -function parse_xlmeta_bin(data, name, _opts) { - var out = { Types: [], Cell: [], Value: [] }; - var opts = _opts || {}; - var state = []; - var pass = false; - var metatype = 2; - recordhopper(data, function(val, R, RT) { - switch (RT) { - case 335: - out.Types.push({ name: val.name }); - break; - case 51: - val.forEach(function(r) { - if (metatype == 1) - out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); - else if (metatype == 0) - out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); - }); - break; - case 337: - metatype = val ? 1 : 0; - break; - case 338: - metatype = 2; - break; - case 35: - state.push(RT); - pass = true; - break; - case 36: - state.pop(); - pass = false; - break; - default: - if (R.T) { - } else if (!pass || opts.WTF && state[state.length - 1] != 35) - throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }); - return out; -} -function write_xlmeta_bin() { - var ba = buf_array(); - write_record(ba, 332); - write_record(ba, 334, write_UInt32LE(1)); - write_record(ba, 335, write_BrtMdtinfo({ - name: "XLDAPR", - version: 12e4, - flags: 3496657072 - })); - write_record(ba, 336); - write_record(ba, 339, write_BrtBeginEsfmd(1, "XLDAPR")); - write_record(ba, 52); - write_record(ba, 35, write_UInt32LE(514)); - write_record(ba, 4096, write_UInt32LE(0)); - write_record(ba, 4097, writeuint16(1)); - write_record(ba, 36); - write_record(ba, 53); - write_record(ba, 340); - write_record(ba, 337, write_BrtBeginEsmdb(1, true)); - write_record(ba, 51, write_BrtMdb([[1, 0]])); - write_record(ba, 338); - write_record(ba, 333); - return ba.end(); -} -function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [], Cell: [], Value: [] }; - if (!data) - return out; - var pass = false; - var metatype = 2; - var lastmeta; - data.replace(tagregex, function(x) { - var y = parsexmltag(x); - switch (strip_ns(y[0])) { - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - metatype = 2; - break; - case "": - metatype = 2; - break; - case "": - case "": - case "": - break; - case "": - pass = false; - break; - case "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); - return o.join(""); -} -/* 18.6 Calculation Chain */ -function parse_cc_xml(data/*::, name, opts*/)/*:Array*/ { - var d = []; - if(!data) return d; - var i = 1; - (data.match(tagregex)||[]).forEach(function(x) { - var y = parsexmltag(x); - switch(y[0]) { - case '': case '': break; - /* 18.6.1 c CT_CalcCell 1 */ - case ']*r:id="([^"]*)"/)||["",""])[1]; - - return rels['!id'][id].Target; -} - -/* L.5.5.2 SpreadsheetML Comments + VML Schema */ -var _shapeid = 1024; -function write_comments_vml(rId/*:number*/, comments) { - var csize = [21600, 21600]; - /* L.5.2.1.2 Path Attribute */ - var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); - var o = [ - writextag("xml", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\/>/,">"), - writextag("o:shapelayout", writextag("o:idmap", null, {'v:ext':"edit", 'data':rId}), {'v:ext':"edit"}), - writextag("v:shapetype", [ - writextag("v:stroke", null, {joinstyle:"miter"}), - writextag("v:path", null, {gradientshapeok:"t", 'o:connecttype':"rect"}) - ].join(""), {id:"_x0000_t202", 'o:spt':202, coordsize:csize.join(","),path:bbox}) - ]; - while(_shapeid < rId * 1000) _shapeid += 1000; - - comments.forEach(function(x) { - var c = decode_cell(x[0]); - var fillopts = /*::(*/{'color2':"#BEFF82", 'type':"gradient"}/*:: :any)*/; - if(fillopts.type == "gradient") fillopts.angle = "-180"; - var fillparm = fillopts.type == "gradient" ? writextag("o:fill", null, {type:"gradientUnscaled", 'v:ext':"view"}) : null; - var fillxml = writextag('v:fill', fillparm, fillopts); - - var shadata = ({on:"t", 'obscured':"t"}/*:any*/); - ++_shapeid; - - o = o.concat([ - '', - fillxml, - writextag("v:shadow", null, shadata), - writextag("v:path", null, {'o:connecttype':"none"}), - '
', - '', - '', - '', - /* Part 4 19.4.2.3 Anchor (Anchor) */ - writetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(",")), - writetag('x:AutoFill', "False"), - writetag('x:Row', String(c.r)), - writetag('x:Column', String(c.c)), - x[1].hidden ? '' : '', - '', - '' - ]); }); - o.push(''); - return o.join(""); -} -function sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) { - var dense = Array.isArray(sheet); - var cell/*:Cell*/; - comments.forEach(function(comment) { - var r = decode_cell(comment.ref); - if(dense) { - if(!sheet[r.r]) sheet[r.r] = []; - cell = sheet[r.r][r.c]; - } else cell = sheet[comment.ref]; - if (!cell) { - cell = ({t:"z"}/*:any*/); - if(dense) sheet[r.r][r.c] = cell; - else sheet[comment.ref] = cell; - var range = safe_decode_range(sheet["!ref"]||"BDWGO1000001:A1"); - if(range.s.r > r.r) range.s.r = r.r; - if(range.e.r < r.r) range.e.r = r.r; - if(range.s.c > r.c) range.s.c = r.c; - if(range.e.c < r.c) range.e.c = r.c; - var encoded = encode_range(range); - if (encoded !== sheet["!ref"]) sheet["!ref"] = encoded; - } - - if (!cell.c) cell.c = []; - var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); - if(comment.h) o.h = comment.h; - - /* threaded comments always override */ - for(var i = cell.c.length - 1; i >= 0; --i) { - if(!threaded && cell.c[i].T) return; - if(threaded && !cell.c[i].T) cell.c.splice(i, 1); - } - if(threaded && people) for(i = 0; i < people.length; ++i) { - if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } - } - cell.c.push(o); - }); -} - -/* 18.7 Comments */ -function parse_comments_xml(data/*:string*/, opts)/*:Array*/ { - /* 18.7.6 CT_Comments */ - if(data.match(/<(?:\w+:)?comments *\/>/)) return []; - var authors/*:Array*/ = []; - var commentList/*:Array*/ = []; - var authtag = data.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/); - if(authtag && authtag[1]) authtag[1].split(/<\/\w*:?author>/).forEach(function(x) { - if(x === "" || x.trim() === "") return; - var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); - if(a) authors.push(a[1]); - }); - var cmnttag = data.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/); - if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x) { - if(x === "" || x.trim() === "") return; - var cm = x.match(/<(?:\w+:)?comment[^>]*>/); - if(!cm) return; - var y = parsexmltag(cm[0]); - var comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || "sheetjsghost", ref: y.ref, guid: y.guid }/*:any*/); - var cell = decode_cell(y.ref); - if(opts.sheetRows && opts.sheetRows <= cell.r) return; - var textMatch = x.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/); - var rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:"",t:"",h:""}; - comment.r = rt.r; - if(rt.r == "") rt.t = rt.h = ""; - comment.t = (rt.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"); - if(opts.cellHTML) comment.h = rt.h; - commentList.push(comment); - }); - return commentList; -} - -function write_comments_xml(data/*::, opts*/) { - var o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })]; - - var iauthor/*:Array*/ = []; - o.push(""); - data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) == -1) { - iauthor.push(a); - o.push("" + a + ""); - } - if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { - iauthor.push("tc=" + w.ID); - o.push("" + "tc=" + w.ID + ""); - } - }); }); - if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } - o.push(""); - o.push(""); - data.forEach(function(d) { - /* 18.7.3 CT_Comment */ - var lastauthor = 0, ts = []; - if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); - else d[1].forEach(function(c) { - if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); - ts.push(c.t||""); - }); - o.push(''); - if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); - else { - /* based on Threaded Comments -> Comments projection */ - var t = "Comment:\n " + (ts[0]) + "\n"; - for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; - o.push(writetag("t", escapexml(t))); - } - o.push(''); - }); - o.push(""); - if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} - -/* [MS-XLSX] 2.1.17 */ -function parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ { - var out = []; - var pass = false, comment = {}, tidx = 0; - data.replace(tagregex, function xml_tcmnt(x, idx) { - var y/*:any*/ = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': break; - - /* 2.6.205 threadedComment CT_ThreadedComment */ - case '': if(comment.t != null) out.push(comment); break; - - case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; - - /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ - case '': pass = true; break; - case '': pass = false; break; - - /* 2.6.202 mention CT_Mention TODO */ - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '
': case '': break; - /* 18.2.7 ext CT_Extension + */ - case '': pass=false; break; - - default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); - } - return x; - }); - return out; -} - -function write_tcmnt_xml(comments, people, opts) { - var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; - comments.forEach(function(carr) { - var rootid = ""; - (carr[1] || []).forEach(function(c, idx) { - if(!c.T) { delete c.ID; return; } - if(c.a && people.indexOf(c.a) == -1) people.push(c.a); - var tcopts = { - ref: carr[0], - id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" - }; - if(idx == 0) rootid = tcopts.id; - else tcopts.parentId = rootid; - c.ID = tcopts.id; - if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; - o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); - }); - }); - o.push(''); - return o.join(""); -} - -/* [MS-XLSX] 2.1.18 */ -function parse_people_xml(data/*:string*/, opts) { - var out = []; - var pass = false; - data.replace(tagregex, function xml_tcmnt(x) { - var y/*:any*/ = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': break; - - /* 2.6.203 person CT_Person TODO: providers */ - case '': break; - - /* 18.2.10 extLst CT_ExtensionList ? */ - case '': case '': case '': break; - /* 18.2.7 ext CT_Extension + */ - case '': pass=false; break; - - default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); - } - return x; - }); - return out; -} -function write_people_xml(people/*, opts*/) { - var o = [XML_HEADER, writextag('personList', null, { - 'xmlns': XMLNS.TCMNT, - 'xmlns:x': XMLNS_main[0] - }).replace(/[\/]>/, ">")]; - people.forEach(function(person, idx) { - o.push(writextag('person', null, { - displayName: person, - id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", - userId: person, - providerId: "None" - })); - }); - o.push(""); - return o.join(""); -} -/* [MS-XLSB] 2.4.28 BrtBeginComment */ -function parse_BrtBeginComment(data) { - var out = {}; - out.iauthor = data.read_shift(4); - var rfx = parse_UncheckedRfX(data, 16); - out.rfx = rfx.s; - out.ref = encode_cell(rfx.s); - data.l += 16; /*var guid = parse_GUID(data); */ - return out; -} -function write_BrtBeginComment(data, o) { - if(o == null) o = new_buf(36); - o.write_shift(4, data[1].iauthor); - write_UncheckedRfX((data[0]/*:any*/), o); - o.write_shift(4, 0); - o.write_shift(4, 0); - o.write_shift(4, 0); - o.write_shift(4, 0); - return o; -} - -/* [MS-XLSB] 2.4.327 BrtCommentAuthor */ -var parse_BrtCommentAuthor = parse_XLWideString; -function write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); } - -/* [MS-XLSB] 2.1.7.8 Comments */ -function parse_comments_bin(data, opts)/*:Array*/ { - var out/*:Array*/ = []; - var authors/*:Array*/ = []; - var c = {}; - var pass = false; - recordhopper(data, function hopper_cmnt(val, R, RT) { - switch(RT) { - case 0x0278: /* 'BrtCommentAuthor' */ - authors.push(val); break; - case 0x027B: /* 'BrtBeginComment' */ - c = val; break; - case 0x027D: /* 'BrtCommentText' */ - c.t = val.t; c.h = val.h; c.r = val.r; break; - case 0x027C: /* 'BrtEndComment' */ - c.author = authors[c.iauthor]; - delete (c/*:any*/).iauthor; - if(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break; - if(!c.t) c.t = ""; - delete c.rfx; out.push(c); break; - - case 0x0C00: /* 'BrtUid' */ - break; - - case 0x0023: /* 'BrtFRTBegin' */ - pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ - pass = false; break; - case 0x0025: /* 'BrtACBegin' */ break; - case 0x0026: /* 'BrtACEnd' */ break; - - - default: - if(R.T){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }); - return out; -} - -function write_comments_bin(data/*::, opts*/) { - var ba = buf_array(); - var iauthor/*:Array*/ = []; - write_record(ba, 0x0274 /* BrtBeginComments */); - - write_record(ba, 0x0276 /* BrtBeginCommentAuthors */); - data.forEach(function(comment) { - comment[1].forEach(function(c) { - if(iauthor.indexOf(c.a) > -1) return; - iauthor.push(c.a.slice(0,54)); - write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a)); - }); - }); - write_record(ba, 0x0277 /* BrtEndCommentAuthors */); - - write_record(ba, 0x0279 /* BrtBeginCommentList */); - data.forEach(function(comment) { - comment[1].forEach(function(c) { - c.iauthor = iauthor.indexOf(c.a); - var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])}; - write_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c])); - if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c)); - write_record(ba, 0x027C /* BrtEndComment */); - delete c.iauthor; - }); - }); - write_record(ba, 0x027A /* BrtEndCommentList */); - - write_record(ba, 0x0275 /* BrtEndComments */); - return ba.end(); -} -var CT_VBA = "application/vnd.ms-office.vbaProject"; -function make_vba_xls(cfb) { - var newcfb = CFB.utils.cfb_new({ root: "R" }); - cfb.FullPaths.forEach(function(p, i) { - if (p.slice(-1) === "/" || !p.match(/_VBA_PROJECT_CUR/)) - return; - var newpath = p.replace(/^[^\/]*/, "R").replace(/\/_VBA_PROJECT_CUR\u0000*/, ""); - CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content); - }); - return CFB.write(newcfb); -} -function fill_vba_xls(cfb, vba) { - vba.FullPaths.forEach(function(p, i) { - if (i == 0) - return; - var newpath = p.replace(/[^\/]*[\/]/, "/_VBA_PROJECT_CUR/"); - if (newpath.slice(-1) !== "/") - CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content); - }); -} -var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -/* macro and dialog sheet stubs */ -function parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } -function parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } -function parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; } -function parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; } -/* TODO: it will be useful to parse the function str */ -var rc_to_a1 = /*#__PURE__*/(function(){ - var rcregex = /(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g; - var rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/); - function rcfunc($$,$1,$2,$3) { - var cRel = false, rRel = false; - - if($2.length == 0) rRel = true; - else if($2.charAt(0) == "[") { rRel = true; $2 = $2.slice(1, -1); } - - if($3.length == 0) cRel = true; - else if($3.charAt(0) == "[") { cRel = true; $3 = $3.slice(1, -1); } - - var R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0; - - if(cRel) C += rcbase.c; else --C; - if(rRel) R += rcbase.r; else --R; - return $1 + (cRel ? "" : "$") + encode_col(C) + (rRel ? "" : "$") + encode_row(R); - } - return function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ { - rcbase = base; - return fstr.replace(rcregex, rcfunc); - }; -})(); - -var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g; -var a1_to_rc = /*#__PURE__*/(function(){ - return function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) { - return fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) { - var c = decode_col($3) - ($2 ? 0 : base.c); - var r = decode_row($5) - ($4 ? 0 : base.r); - var R = (r == 0 ? "" : !$4 ? "[" + r + "]" : (r+1)); - var C = (c == 0 ? "" : !$2 ? "[" + c + "]" : (c+1)); - return $1 + "R" + R + "C" + C; - }); - }; -})(); - -/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */ -function shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ { - return f.replace(crefregex, function($0, $1, $2, $3, $4, $5) { - return $1+($2=="$" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4=="$" ? $4+$5 : encode_row(decode_row($5) + delta.r)); - }); -} - -function shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ { - var r = decode_range(range), s = r.s, c = decode_cell(cell); - var delta = {r:c.r - s.r, c:c.c - s.c}; - return shift_formula_str(f, delta); -} - -/* TODO: parse formula */ -function fuzzyfmla(f/*:string*/)/*:boolean*/ { - if(f.length == 1) return false; - return true; -} - -function _xlfn(f/*:string*/)/*:string*/ { - return f.replace(/_xlfn\./g,""); -} -function parseread1(blob) { blob.l+=1; return; } - -/* [MS-XLS] 2.5.51 */ -function parse_ColRelU(blob, length) { - var c = blob.read_shift(length == 1 ? 1 : 2); - return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; -} - -/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */ -function parse_RgceArea(blob, length, opts) { - var w = 2; - if(opts) { - if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts); - else if(opts.biff == 12) w = 4; - } - var r=blob.read_shift(w), R=blob.read_shift(w); - var c=parse_ColRelU(blob, 2); - var C=parse_ColRelU(blob, 2); - return { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} }; -} -/* BIFF 2-5 encodes flags in the row field */ -function parse_RgceArea_BIFF2(blob/*::, length, opts*/) { - var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2); - var c=blob.read_shift(1); - var C=blob.read_shift(1); - return { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} }; -} - -/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */ -function parse_RgceAreaRel(blob, length, opts) { - if(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts); - var r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2); - var c=parse_ColRelU(blob, 2); - var C=parse_ColRelU(blob, 2); - return { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} }; -} - -/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */ -function parse_RgceLoc(blob, length, opts) { - if(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts); - var r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2); - var c = parse_ColRelU(blob, 2); - return {r:r, c:c[0], cRel:c[1], rRel:c[2]}; -} -function parse_RgceLoc_BIFF2(blob/*::, length, opts*/) { - var r = parse_ColRelU(blob, 2); - var c = blob.read_shift(1); - return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; -} - -/* [MS-XLS] 2.5.198.107, 2.5.47 */ -function parse_RgceElfLoc(blob/*::, length, opts*/) { - var r = blob.read_shift(2); - var c = blob.read_shift(2); - return {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 }; -} - -/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */ -function parse_RgceLocRel(blob, length, opts) { - var biff = opts && opts.biff ? opts.biff : 8; - if(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts); - var r = blob.read_shift(biff >= 12 ? 4 : 2); - var cl = blob.read_shift(2); - var cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15; - cl &= 0x3FFF; - if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; - if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; - return {r:r,c:cl,cRel:cRel,rRel:rRel}; -} -function parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) { - var rl = blob.read_shift(2); - var c = blob.read_shift(1); - var rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14; - rl &= 0x3FFF; - if(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000; - if(cRel == 1 && c >= 0x80) c = c - 0x100; - return {r:rl,c:c,cRel:cRel,rRel:rRel}; -} - -/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */ -function parse_PtgArea(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); - return [type, area]; -} - -/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */ -function parse_PtgArea3d(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var ixti = blob.read_shift(2, 'i'); - var w = 8; - if(opts) switch(opts.biff) { - case 5: blob.l += 12; w = 6; break; - case 12: w = 12; break; - } - var area = parse_RgceArea(blob, w, opts); - return [type, ixti, area]; -} - -/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */ -function parse_PtgAreaErr(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8); - return [type]; -} -/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */ -function parse_PtgAreaErr3d(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var ixti = blob.read_shift(2); - var w = 8; - if(opts) switch(opts.biff) { - case 5: blob.l += 12; w = 6; break; - case 12: w = 12; break; - } - blob.l += w; - return [type, ixti]; -} - -/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */ -function parse_PtgAreaN(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceAreaRel(blob, length - 1, opts); - return [type, area]; -} - -/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */ -function parse_PtgArray(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; - return [type]; -} - -/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */ -function parse_PtgAttrBaxcel(blob) { - var bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */ - var bitBaxcel = 1; - blob.l += 4; - return [bitSemi, bitBaxcel]; -} - -/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */ -function parse_PtgAttrChoose(blob, length, opts)/*:Array*/ { - blob.l +=2; - var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - var o/*:Array*/ = []; - /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); - return o; -} - -/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */ -function parse_PtgAttrGoto(blob, length, opts) { - var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 2; - return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; -} - -/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */ -function parse_PtgAttrIf(blob, length, opts) { - var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 2; - return [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; -} - -/* [MS-XLSB] 2.5.97.28 */ -function parse_PtgAttrIfError(blob) { - var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 2; - return [bitIf, blob.read_shift(2)]; -} - -/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */ -function parse_PtgAttrSemi(blob, length, opts) { - var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += opts && opts.biff == 2 ? 3 : 4; - return [bitSemi]; -} - -/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */ -function parse_PtgAttrSpaceType(blob/*::, length*/) { - var type = blob.read_shift(1), cch = blob.read_shift(1); - return [type, cch]; -} - -/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */ -function parse_PtgAttrSpace(blob) { - blob.read_shift(2); - return parse_PtgAttrSpaceType(blob, 2); -} - -/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */ -function parse_PtgAttrSpaceSemi(blob) { - blob.read_shift(2); - return parse_PtgAttrSpaceType(blob, 2); -} - -/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */ -function parse_PtgRef(blob, length, opts) { - //var ptg = blob[blob.l] & 0x1F; - var type = (blob[blob.l] & 0x60)>>5; - blob.l += 1; - var loc = parse_RgceLoc(blob, 0, opts); - return [type, loc]; -} - -/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */ -function parse_PtgRefN(blob, length, opts) { - var type = (blob[blob.l] & 0x60)>>5; - blob.l += 1; - var loc = parse_RgceLocRel(blob, 0, opts); - return [type, loc]; -} - -/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */ -function parse_PtgRef3d(blob, length, opts) { - var type = (blob[blob.l] & 0x60)>>5; - blob.l += 1; - var ixti = blob.read_shift(2); // XtiIndex - if(opts && opts.biff == 5) blob.l += 12; - var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel - return [type, ixti, loc]; -} - - -/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */ -function parse_PtgFunc(blob, length, opts) { - //var ptg = blob[blob.l] & 0x1F; - var type = (blob[blob.l] & 0x60)>>5; - blob.l += 1; - var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); - return [FtabArgc[iftab], Ftab[iftab], type]; -} -/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */ -function parse_PtgFuncVar(blob, length, opts) { - var type = blob[blob.l++]; - var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob); - return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; -} - -function parsetab(blob) { - return [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF]; -} - -/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */ -function parse_PtgAttrSum(blob, length, opts) { - blob.l += opts && opts.biff == 2 ? 3 : 4; return; -} - -/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */ -function parse_PtgExp(blob, length, opts) { - blob.l++; - if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; - var row = blob.read_shift(2); - var col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - return [row, col]; -} - -/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */ -function parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; } - -/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */ -function parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); } - -/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */ -function parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;} - -/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */ -function parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); } - -/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */ -function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } - -/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ -/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */ -function parse_SerAr(blob, biff/*:number*/) { - var val = [blob.read_shift(1)]; - if(biff == 12) switch(val[0]) { - case 0x02: val[0] = 0x04; break; /* SerBool */ - case 0x04: val[0] = 0x10; break; /* SerErr */ - case 0x00: val[0] = 0x01; break; /* SerNum */ - case 0x01: val[0] = 0x02; break; /* SerStr */ - } - switch(val[0]) { - case 0x04: /* SerBool -- boolean */ - val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; - if(biff != 12) blob.l += 7; break; - case 0x25: /* appears to be an alias */ - case 0x10: /* SerErr -- error */ - val[1] = BErr[blob[blob.l]]; - blob.l += ((biff == 12) ? 4 : 8); break; - case 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */ - blob.l += 8; break; - case 0x01: /* SerNum -- Xnum */ - val[1] = parse_Xnum(blob, 8); break; - case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; - default: throw new Error("Bad SerAr: " + val[0]); /* Unreachable */ - } - return val; -} - -/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */ -function parse_PtgExtraMem(blob, cce, opts) { - var count = blob.read_shift((opts.biff == 12) ? 4 : 2); - var out/*:Array*/ = []; - for(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8)); - return out; -} - -/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */ -function parse_PtgExtraArray(blob, length, opts) { - var rows = 0, cols = 0; - if(opts.biff == 12) { - rows = blob.read_shift(4); // DRw - cols = blob.read_shift(4); // DCol - } else { - cols = 1 + blob.read_shift(1); //DColByteU - rows = 1 + blob.read_shift(2); //DRw - } - if(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; } - // $FlowIgnore - for(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); - return o; -} - -/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */ -function parse_PtgName(blob, length, opts) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - var w = (!opts || (opts.biff >= 8)) ? 4 : 2; - var nameindex = blob.read_shift(w); - switch(opts.biff) { - case 2: blob.l += 5; break; - case 3: case 4: blob.l += 8; break; - case 5: blob.l += 12; break; - } - return [type, 0, nameindex]; -} - -/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */ -function parse_PtgNameX(blob, length, opts) { - if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); - var type = (blob.read_shift(1) >>> 5) & 0x03; - var ixti = blob.read_shift(2); // XtiIndex - var nameindex = blob.read_shift(4); - return [type, ixti, nameindex]; -} -function parse_PtgNameX_BIFF5(blob/*::, length, opts*/) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - var ixti = blob.read_shift(2, 'i'); // XtiIndex - blob.l += 8; - var nameindex = blob.read_shift(2); - blob.l += 12; - return [type, ixti, nameindex]; -} - -/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */ -function parse_PtgMemArea(blob, length, opts) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += (opts && opts.biff == 2 ? 3 : 4); - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - return [type, cce]; -} - -/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */ -function parse_PtgMemFunc(blob, length, opts) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); - return [type, cce]; -} - - -/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */ -function parse_PtgRefErr(blob, length, opts) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += 4; - if(opts.biff < 8) blob.l--; - if(opts.biff == 12) blob.l += 2; - return [type]; -} - -/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */ -function parse_PtgRefErr3d(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var ixti = blob.read_shift(2); - var w = 4; - if(opts) switch(opts.biff) { - case 5: w = 15; break; - case 12: w = 6; break; - } - blob.l += w; - return [type, ixti]; -} - -/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */ -var parse_PtgMemErr = parsenoop; -/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */ -var parse_PtgMemNoMem = parsenoop; -/* [MS-XLS] 2.5.198.92 */ -var parse_PtgTbl = parsenoop; - -function parse_PtgElfLoc(blob, length, opts) { - blob.l += 2; - return [parse_RgceElfLoc(blob, 4, opts)]; -} -function parse_PtgElfNoop(blob/*::, length, opts*/) { - blob.l += 6; - return []; -} -/* [MS-XLS] 2.5.198.46 */ -var parse_PtgElfCol = parse_PtgElfLoc; -/* [MS-XLS] 2.5.198.47 */ -var parse_PtgElfColS = parse_PtgElfNoop; -/* [MS-XLS] 2.5.198.48 */ -var parse_PtgElfColSV = parse_PtgElfNoop; -/* [MS-XLS] 2.5.198.49 */ -var parse_PtgElfColV = parse_PtgElfLoc; -/* [MS-XLS] 2.5.198.50 */ -function parse_PtgElfLel(blob/*::, length, opts*/) { - blob.l += 2; - return [parseuint16(blob), blob.read_shift(2) & 0x01]; -} -/* [MS-XLS] 2.5.198.51 */ -var parse_PtgElfRadical = parse_PtgElfLoc; -/* [MS-XLS] 2.5.198.52 */ -var parse_PtgElfRadicalLel = parse_PtgElfLel; -/* [MS-XLS] 2.5.198.53 */ -var parse_PtgElfRadicalS = parse_PtgElfNoop; -/* [MS-XLS] 2.5.198.54 */ -var parse_PtgElfRw = parse_PtgElfLoc; -/* [MS-XLS] 2.5.198.55 */ -var parse_PtgElfRwV = parse_PtgElfLoc; - -/* [MS-XLSB] 2.5.97.52 TODO */ -var PtgListRT = [ - "Data", - "All", - "Headers", - "??", - "?Data2", - "??", - "?DataHeaders", - "??", - "Totals", - "??", - "??", - "??", - "?DataTotals", - "??", - "??", - "??", - "?Current" -]; -function parse_PtgList(blob/*::, length, opts*/) { - blob.l += 2; - var ixti = blob.read_shift(2); - var flags = blob.read_shift(2); - var idx = blob.read_shift(4); - var c = blob.read_shift(2); - var C = blob.read_shift(2); - var rt = PtgListRT[(flags >> 2) & 0x1F]; - return {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C}; -} -/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */ -function parse_PtgSxName(blob/*::, length, opts*/) { - blob.l += 2; - return [blob.read_shift(4)]; -} - -/* [XLS] old spec */ -function parse_PtgSheet(blob, length, opts) { - blob.l += 5; - blob.l += 2; - blob.l += (opts.biff == 2 ? 1 : 4); - return ["PTGSHEET"]; -} -function parse_PtgEndSheet(blob, length, opts) { - blob.l += (opts.biff == 2 ? 4 : 5); - return ["PTGENDSHEET"]; -} -function parse_PtgMemAreaN(blob/*::, length, opts*/) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); - return [type, cce]; -} -function parse_PtgMemNoMemN(blob/*::, length, opts*/) { - var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); - return [type, cce]; -} -function parse_PtgAttrNoop(blob/*::, length, opts*/) { - blob.l += 4; - return [0, 0]; -} - -/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */ -var PtgTypes = { - /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, - /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, - /*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 }, - /*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 }, - /*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 }, - /*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 }, - /*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 }, - /*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 }, - /*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 }, - /*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 }, - /*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 }, - /*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 }, - /*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 }, - /*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 }, - /*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 }, - /*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 }, - /*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 }, - /*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 }, - /*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 }, - /*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 }, - /*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 }, - /*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 }, - /*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr }, - /*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet }, - /*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet }, - /*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr }, - /*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool }, - /*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt }, - /*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum }, - /*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray }, - /*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc }, - /*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - /*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName }, - /*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef }, - /*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea }, - /*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea }, - /*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr }, - /*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - /*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - /*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr }, - /*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - /*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN }, - /*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN }, - /*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN }, - /*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN }, - /*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX }, - /*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d }, - /*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d }, - /*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - /*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - /*::[*/0xFF/*::]*/: {} -}; -/* These are duplicated in the PtgTypes table */ -var PtgDupes = { - /*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20, - /*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21, - /*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22, - /*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23, - /*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24, - /*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25, - /*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26, - /*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27, - /*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28, - /*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29, - /*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A, - /*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B, - /*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C, - /*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D, - /*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E, - /*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F, - /*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22, - /*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39, - /*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A, - /*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B, - /*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C, - /*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D -}; - -var Ptg18 = { - /*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel }, - /*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw }, - /*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol }, - /*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV }, - /*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV }, - /*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical }, - /*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS }, - /*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS }, - /*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV }, - /*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel }, - /*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList }, - /*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName }, - /*::[*/0xFF/*::]*/: {} -}; -var Ptg19 = { - /*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop }, - /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - /*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - /*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, - /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, - /*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, - /*::[*/0xFF/*::]*/: {} -}; - -/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ -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': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); - o.push(rgce[i][1]); - break; - case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ - rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts); - o.push(rgce[i][2]); - break; - case 'PtgExp': /* PtgExp -> PtgExtraCol */ - if(opts && opts.biff == 12) { - rgce[i][1][1] = blob.read_shift(4); - o.push(rgce[i][1]); - } break; - case 'PtgList': /* TODO: PtgList -> PtgExtraList */ - case 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */ - case 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */ - case 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */ - throw "Unsupported " + rgce[i][0]; - default: break; - } - } - length = target - blob.l; - /* note: this is technically an error but Excel disregards */ - //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l); - if(length !== 0) o.push(parsenoop(blob, length)); - return o; -} - -/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */ -function parse_Rgce(blob, length, opts) { - var target = blob.l + length; - var R, id, ptgs = []; - while(target != blob.l) { - length = target - blob.l; - id = blob[blob.l]; - R = PtgTypes[id] || PtgTypes[PtgDupes[id]]; - if(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]]; - if(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); } - else { ptgs.push([R.n, R.f(blob, length, opts)]); } - } - return ptgs; -} - -function stringify_array(f/*:Array>*/)/*:string*/ { - var o/*:Array*/ = []; - for(var i = 0; i < f.length; ++i) { - var x = f[i], r/*:Array*/ = []; - for(var j = 0; j < x.length; ++j) { - var y = x[j]; - if(y) switch(y[0]) { - // TODO: handle embedded quotes - case 0x02: - /*:: if(typeof y[1] != 'string') throw "unreachable"; */ - r.push('"' + y[1].replace(/"/g,'""') + '"'); break; - default: r.push(y[1]); - } else r.push(""); - } - o.push(r.join(",")); - } - return o.join(";"); -} - -/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */ -var PtgBinOp = { - PtgAdd: "+", - PtgConcat: "&", - PtgDiv: "/", - PtgEq: "=", - PtgGe: ">=", - PtgGt: ">", - PtgLe: "<=", - PtgLt: "<", - PtgMul: "*", - PtgNe: "<>", - PtgPower: "^", - PtgSub: "-" -}; - -// List of invalid characters needs to be tested further -function formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ { - if(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error("empty sheet name"); - if (/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(sname)) return "'" + sname + "'"; - return sname; -} -function get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ { - if(!supbooks) return "SH33TJSERR0"; - if(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti]; - if(!supbooks.XTI) return "SH33TJSERR6"; - var XTI = supbooks.XTI[ixti]; - if(opts.biff < 8) { - if(ixti > 10000) ixti-= 65536; - if(ixti < 0) ixti = -ixti; - return ixti == 0 ? "" : supbooks.XTI[ixti - 1]; - } - if(!XTI) return "SH33TJSERR1"; - var o = ""; - if(opts.biff > 8) switch(supbooks[XTI[0]][0]) { - case 0x0165: /* 'BrtSupSelf' */ - o = XTI[1] == -1 ? "#REF" : supbooks.SheetNames[XTI[1]]; - return XTI[1] == XTI[2] ? o : o + ":" + supbooks.SheetNames[XTI[2]]; - case 0x0166: /* 'BrtSupSame' */ - if(opts.SID != null) return supbooks.SheetNames[opts.SID]; - return "SH33TJSSAME" + supbooks[XTI[0]][0]; - case 0x0163: /* 'BrtSupBookSrc' */ - /* falls through */ - default: return "SH33TJSSRC" + supbooks[XTI[0]][0]; - } - switch(supbooks[XTI[0]][0][0]) { - case 0x0401: - o = XTI[1] == -1 ? "#REF" : (supbooks.SheetNames[XTI[1]] || "SH33TJSERR3"); - return XTI[1] == XTI[2] ? o : o + ":" + supbooks.SheetNames[XTI[2]]; - case 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(";;"); //return "SH33TJSERR8"; - default: - if(!supbooks[XTI[0]][0][3]) return "SH33TJSERR2"; - o = XTI[1] == -1 ? "#REF" : (supbooks[XTI[0]][0][3][XTI[1]] || "SH33TJSERR4"); - return XTI[1] == XTI[2] ? o : o + ":" + supbooks[XTI[0]][0][3][XTI[2]]; - } -} -function get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ { - var ixtiraw = get_ixti_raw(supbooks, ixti, opts); - return ixtiraw == "#REF" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts); -} -function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ { - var biff = (opts && opts.biff) || 8; - var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; - var stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=""; - if(!formula[0] || !formula[0][0]) return ""; - var last_sp = -1, sp = ""; - for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { - var f = formula[0][ff]; - switch(f[0]) { - case 'PtgUminus': /* [MS-XLS] 2.5.198.93 */ - stack.push("-" + stack.pop()); break; - case 'PtgUplus': /* [MS-XLS] 2.5.198.95 */ - stack.push("+" + stack.pop()); break; - case 'PtgPercent': /* [MS-XLS] 2.5.198.81 */ - stack.push(stack.pop() + "%"); break; - - case 'PtgAdd': /* [MS-XLS] 2.5.198.26 */ - case 'PtgConcat': /* [MS-XLS] 2.5.198.43 */ - case 'PtgDiv': /* [MS-XLS] 2.5.198.45 */ - case 'PtgEq': /* [MS-XLS] 2.5.198.56 */ - case 'PtgGe': /* [MS-XLS] 2.5.198.64 */ - case 'PtgGt': /* [MS-XLS] 2.5.198.65 */ - case 'PtgLe': /* [MS-XLS] 2.5.198.68 */ - case 'PtgLt': /* [MS-XLS] 2.5.198.69 */ - case 'PtgMul': /* [MS-XLS] 2.5.198.75 */ - case 'PtgNe': /* [MS-XLS] 2.5.198.78 */ - case 'PtgPower': /* [MS-XLS] 2.5.198.82 */ - case 'PtgSub': /* [MS-XLS] 2.5.198.90 */ - e1 = stack.pop(); e2 = stack.pop(); - if(last_sp >= 0) { - switch(formula[0][last_sp][1][0]) { - case 0: - // $FlowIgnore - sp = fill(" ", formula[0][last_sp][1][1]); break; - case 1: - // $FlowIgnore - sp = fill("\r", formula[0][last_sp][1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - e2 = e2 + sp; - last_sp = -1; - } - stack.push(e2+PtgBinOp[f[0]]+e1); - break; - - case 'PtgIsect': /* [MS-XLS] 2.5.198.67 */ - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+" "+e1); - break; - case 'PtgUnion': /* [MS-XLS] 2.5.198.94 */ - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+","+e1); - break; - case 'PtgRange': /* [MS-XLS] 2.5.198.83 */ - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+":"+e1); - break; - - case 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */ - break; - case 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */ - break; - case 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */ - break; - case 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */ - break; - - - case 'PtgRef': /* [MS-XLS] 2.5.198.84 */ - /*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts); - stack.push(encode_cell_xls(c, biff)); - break; - case 'PtgRefN': /* [MS-XLS] 2.5.198.88 */ - /*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/); - stack.push(encode_cell_xls(c, biff)); - break; - case 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */ - /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts); - sname = get_ixti(supbooks, ixti, opts); - var w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars - stack.push(sname + "!" + encode_cell_xls(c, biff)); - break; - - case 'PtgFunc': /* [MS-XLS] 2.5.198.62 */ - case 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */ - /* f[1] = [argc, func, type] */ - var argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/); - if(!argc) argc = 0; - argc &= 0x7F; - var args = argc == 0 ? [] : stack.slice(-argc); - stack.length -= argc; - if(func === 'User') func = args.shift(); - stack.push(func + "(" + args.join(",") + ")"); - break; - - case 'PtgBool': /* [MS-XLS] 2.5.198.42 */ - stack.push(f[1] ? "TRUE" : "FALSE"); break; - case 'PtgInt': /* [MS-XLS] 2.5.198.66 */ - stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */ - stack.push(String(f[1])); break; - case 'PtgStr': /* [MS-XLS] 2.5.198.89 */ - // $FlowIgnore - stack.push('"' + f[1].replace(/"/g, '""') + '"'); break; - case 'PtgErr': /* [MS-XLS] 2.5.198.57 */ - stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */ - /*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts); - stack.push(encode_range_xls((r/*:any*/), opts)); - break; - case 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */ - /*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts); - stack.push(encode_range_xls((r/*:any*/), opts)); - break; - case 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */ - /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2]; - sname = get_ixti(supbooks, ixti, opts); - stack.push(sname + "!" + encode_range_xls((r/*:any*/), opts)); - break; - case 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */ - stack.push("SUM(" + stack.pop() + ")"); - break; - - case 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */ - case 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */ - break; - - case 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */ - /* f[1] = type, 0, nameindex */ - nameidx = (f[1][2]/*:any*/); - var lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx]; - var name = lbl ? lbl.Name : "SH33TJSNAME" + String(nameidx); - /* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */ - if(name && name.slice(0,6) == "_xlfn." && !opts.xlfn) name = name.slice(6); - stack.push(name); - break; - - case 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */ - /* f[1] = type, ixti, nameindex */ - var bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook; - /* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */ - if(opts.biff <= 5) { - if(bookidx < 0) bookidx = -bookidx; - if(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx]; - } else { - var o = ""; - if(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */} - else if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){ - if(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) { - o = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + "!"; - } - } - else o = supbooks.SheetNames[nameidx-1]+ "!"; - if(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name; - else if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name; - else { - var ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||"").split(";;"); - if(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct - else o += "SH33TJSERRX"; - } - stack.push(o); - break; - } - if(!externbook) externbook = {Name: "SH33TJSERRY"}; - stack.push(externbook.Name); - break; - - case 'PtgParen': /* [MS-XLS] 2.5.198.80 */ - var lp = '(', rp = ')'; - if(last_sp >= 0) { - sp = ""; - switch(formula[0][last_sp][1][0]) { - // $FlowIgnore - case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 4: rp = fill(" ", formula[0][last_sp][1][1]) + rp; break; - // $FlowIgnore - case 5: rp = fill("\r", formula[0][last_sp][1][1]) + rp; break; - default: - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - last_sp = -1; - } - stack.push(lp + stack.pop() + rp); break; - - case 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */ - stack.push('#REF!'); break; - - case 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */ - stack.push('#REF!'); break; - - case 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */ - c = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)}; - var q = ({c: cell.c, r:cell.r}/*:any*/); - if(supbooks.sharedf[encode_cell(c)]) { - var parsedf = (supbooks.sharedf[encode_cell(c)]); - stack.push(stringify_formula(parsedf, _range, q, supbooks, opts)); - } else { - var fnd = false; - for(e1=0;e1!=supbooks.arrayf.length; ++e1) { - /* TODO: should be something like range_has */ - e2 = supbooks.arrayf[e1]; - if(c.c < e2[0].s.c || c.c > e2[0].e.c) continue; - if(c.r < e2[0].s.r || c.r > e2[0].e.r) continue; - stack.push(stringify_formula(e2[1], _range, q, supbooks, opts)); - fnd = true; - break; - } - if(!fnd) stack.push(/*::String(*/f[1]/*::)*/); - } - break; - - case 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */ - stack.push("{" + stringify_array(/*::(*/f[1]/*:: :any)*/) + "}"); - break; - - case 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */ - //stack.push("(" + f[2].map(encode_range).join(",") + ")"); - break; - - case 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */ - case 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */ - last_sp = ff; - break; - - case 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */ - break; - - case 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */ - break; - - case 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */ - stack.push(""); - break; - - case 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */ - stack.push("#REF!"); break; - - case 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */ - stack.push("#REF!"); break; - - case 'PtgList': /* [MS-XLSB] 2.5.97.52 */ - // $FlowIgnore - stack.push("Table" + f[1].idx + "[#" + f[1].rt + "]"); - break; - - case 'PtgMemAreaN': - case 'PtgMemNoMemN': - case 'PtgAttrNoop': - case 'PtgSheet': - case 'PtgEndSheet': - break; - - case 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */ - break; - case 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */ - break; - - case 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */ - case 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */ - case 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */ - case 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */ - case 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */ - case 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */ - case 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */ - case 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */ - case 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */ - case 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */ - throw new Error("Unsupported ELFs"); - - case 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */ - throw new Error('Unrecognized Formula Token: ' + String(f)); - default: throw new Error('Unrecognized Formula Token: ' + String(f)); - } - var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; - if(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { - f = formula[0][last_sp]; - var _left = true; - switch(f[1][0]) { - /* note: some bad XLSB files omit the PtgParen */ - case 4: _left = false; - /* falls through */ - case 0: - // $FlowIgnore - sp = fill(" ", f[1][1]); break; - case 5: _left = false; - /* falls through */ - case 1: - // $FlowIgnore - sp = fill("\r", f[1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + f[1][0]); - } - stack.push((_left ? sp : "") + stack.pop() + (_left ? "" : sp)); - last_sp = -1; - } - } - if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); - return stack[0]; -} - -/* [MS-XLS] 2.5.198.1 TODO */ -function parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) { - var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; - var rgcb, cce = blob.read_shift(len); // length of rgce - if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce, opts); - if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); - blob.l = target; - return [rgce, rgcb]; -} - -/* [MS-XLS] 2.5.198.3 TODO */ -function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; - var rgcb, cce = blob.read_shift(len); // length of rgce - if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce, opts); - if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); - blob.l = target; - return [rgce, rgcb]; -} - -/* [MS-XLS] 2.5.198.21 */ -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]; -} - -/* [MS-XLS] 2.5.198.118 TODO */ -function parse_SharedParsedFormula(blob, length, opts) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce - var rgce = parse_Rgce(blob, cce, opts); - if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); - return [rgce, rgcb]; -} - -/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */ -function parse_FormulaValue(blob/*::, length*/) { - var b; - if(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n']; - switch(blob[blob.l]) { - case 0x00: blob.l += 8; return ["String", 's']; - case 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b']; - case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; - case 0x03: blob.l += 8; return ["",'s']; - } - return []; -} -function write_FormulaValue(value) { - if(value == null) { - // Blank String Value - var o = new_buf(8); - o.write_shift(1, 0x03); - o.write_shift(1, 0); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 0xFFFF); - return o; - } else if(typeof value == "number") return write_Xnum(value); - return write_Xnum(0); -} - -/* [MS-XLS] 2.4.127 TODO */ -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 write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) { - // Cell - var o1 = write_XLSCell(R, C, os); - - // FormulaValue - var o2 = write_FormulaValue(cell.v); - - // flags + cache - var o3 = new_buf(6); - var flags = 0x01 | 0x20; - o3.write_shift(2, flags); - o3.write_shift(4, 0); - - // CellParsedFormula - var bf = new_buf(cell.bf.length); - for(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i]; - - var out = bconcat([o1, o2, o3, bf]); - return out; -} - - -/* XLSB Parsed Formula records have the same shape */ -function parse_XLSBParsedFormula(data, length, opts) { - var cce = data.read_shift(4); - var rgce = parse_Rgce(data, cce, opts); - var cb = data.read_shift(4); - var rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null; - return [rgce, rgcb]; -} - -/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */ -var parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula; -/* [MS-XLSB] 2.5.97.4 CellParsedFormula */ -var parse_XLSBCellParsedFormula = parse_XLSBParsedFormula; -/* [MS-XLSB] 2.5.97.8 DVParsedFormula */ -//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula; -/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */ -//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2; -/* [MS-XLSB] 2.5.97.12 NameParsedFormula */ -var parse_XLSBNameParsedFormula = parse_XLSBParsedFormula; -/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */ -var parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula; -var Cetab = { - 0: "BEEP", - 1: "OPEN", - 2: "OPEN.LINKS", - 3: "CLOSE.ALL", - 4: "SAVE", - 5: "SAVE.AS", - 6: "FILE.DELETE", - 7: "PAGE.SETUP", - 8: "PRINT", - 9: "PRINTER.SETUP", - 10: "QUIT", - 11: "NEW.WINDOW", - 12: "ARRANGE.ALL", - 13: "WINDOW.SIZE", - 14: "WINDOW.MOVE", - 15: "FULL", - 16: "CLOSE", - 17: "RUN", - 22: "SET.PRINT.AREA", - 23: "SET.PRINT.TITLES", - 24: "SET.PAGE.BREAK", - 25: "REMOVE.PAGE.BREAK", - 26: "FONT", - 27: "DISPLAY", - 28: "PROTECT.DOCUMENT", - 29: "PRECISION", - 30: "A1.R1C1", - 31: "CALCULATE.NOW", - 32: "CALCULATION", - 34: "DATA.FIND", - 35: "EXTRACT", - 36: "DATA.DELETE", - 37: "SET.DATABASE", - 38: "SET.CRITERIA", - 39: "SORT", - 40: "DATA.SERIES", - 41: "TABLE", - 42: "FORMAT.NUMBER", - 43: "ALIGNMENT", - 44: "STYLE", - 45: "BORDER", - 46: "CELL.PROTECTION", - 47: "COLUMN.WIDTH", - 48: "UNDO", - 49: "CUT", - 50: "COPY", - 51: "PASTE", - 52: "CLEAR", - 53: "PASTE.SPECIAL", - 54: "EDIT.DELETE", - 55: "INSERT", - 56: "FILL.RIGHT", - 57: "FILL.DOWN", - 61: "DEFINE.NAME", - 62: "CREATE.NAMES", - 63: "FORMULA.GOTO", - 64: "FORMULA.FIND", - 65: "SELECT.LAST.CELL", - 66: "SHOW.ACTIVE.CELL", - 67: "GALLERY.AREA", - 68: "GALLERY.BAR", - 69: "GALLERY.COLUMN", - 70: "GALLERY.LINE", - 71: "GALLERY.PIE", - 72: "GALLERY.SCATTER", - 73: "COMBINATION", - 74: "PREFERRED", - 75: "ADD.OVERLAY", - 76: "GRIDLINES", - 77: "SET.PREFERRED", - 78: "AXES", - 79: "LEGEND", - 80: "ATTACH.TEXT", - 81: "ADD.ARROW", - 82: "SELECT.CHART", - 83: "SELECT.PLOT.AREA", - 84: "PATTERNS", - 85: "MAIN.CHART", - 86: "OVERLAY", - 87: "SCALE", - 88: "FORMAT.LEGEND", - 89: "FORMAT.TEXT", - 90: "EDIT.REPEAT", - 91: "PARSE", - 92: "JUSTIFY", - 93: "HIDE", - 94: "UNHIDE", - 95: "WORKSPACE", - 96: "FORMULA", - 97: "FORMULA.FILL", - 98: "FORMULA.ARRAY", - 99: "DATA.FIND.NEXT", - 100: "DATA.FIND.PREV", - 101: "FORMULA.FIND.NEXT", - 102: "FORMULA.FIND.PREV", - 103: "ACTIVATE", - 104: "ACTIVATE.NEXT", - 105: "ACTIVATE.PREV", - 106: "UNLOCKED.NEXT", - 107: "UNLOCKED.PREV", - 108: "COPY.PICTURE", - 109: "SELECT", - 110: "DELETE.NAME", - 111: "DELETE.FORMAT", - 112: "VLINE", - 113: "HLINE", - 114: "VPAGE", - 115: "HPAGE", - 116: "VSCROLL", - 117: "HSCROLL", - 118: "ALERT", - 119: "NEW", - 120: "CANCEL.COPY", - 121: "SHOW.CLIPBOARD", - 122: "MESSAGE", - 124: "PASTE.LINK", - 125: "APP.ACTIVATE", - 126: "DELETE.ARROW", - 127: "ROW.HEIGHT", - 128: "FORMAT.MOVE", - 129: "FORMAT.SIZE", - 130: "FORMULA.REPLACE", - 131: "SEND.KEYS", - 132: "SELECT.SPECIAL", - 133: "APPLY.NAMES", - 134: "REPLACE.FONT", - 135: "FREEZE.PANES", - 136: "SHOW.INFO", - 137: "SPLIT", - 138: "ON.WINDOW", - 139: "ON.DATA", - 140: "DISABLE.INPUT", - 142: "OUTLINE", - 143: "LIST.NAMES", - 144: "FILE.CLOSE", - 145: "SAVE.WORKBOOK", - 146: "DATA.FORM", - 147: "COPY.CHART", - 148: "ON.TIME", - 149: "WAIT", - 150: "FORMAT.FONT", - 151: "FILL.UP", - 152: "FILL.LEFT", - 153: "DELETE.OVERLAY", - 155: "SHORT.MENUS", - 159: "SET.UPDATE.STATUS", - 161: "COLOR.PALETTE", - 162: "DELETE.STYLE", - 163: "WINDOW.RESTORE", - 164: "WINDOW.MAXIMIZE", - 166: "CHANGE.LINK", - 167: "CALCULATE.DOCUMENT", - 168: "ON.KEY", - 169: "APP.RESTORE", - 170: "APP.MOVE", - 171: "APP.SIZE", - 172: "APP.MINIMIZE", - 173: "APP.MAXIMIZE", - 174: "BRING.TO.FRONT", - 175: "SEND.TO.BACK", - 185: "MAIN.CHART.TYPE", - 186: "OVERLAY.CHART.TYPE", - 187: "SELECT.END", - 188: "OPEN.MAIL", - 189: "SEND.MAIL", - 190: "STANDARD.FONT", - 191: "CONSOLIDATE", - 192: "SORT.SPECIAL", - 193: "GALLERY.3D.AREA", - 194: "GALLERY.3D.COLUMN", - 195: "GALLERY.3D.LINE", - 196: "GALLERY.3D.PIE", - 197: "VIEW.3D", - 198: "GOAL.SEEK", - 199: "WORKGROUP", - 200: "FILL.GROUP", - 201: "UPDATE.LINK", - 202: "PROMOTE", - 203: "DEMOTE", - 204: "SHOW.DETAIL", - 206: "UNGROUP", - 207: "OBJECT.PROPERTIES", - 208: "SAVE.NEW.OBJECT", - 209: "SHARE", - 210: "SHARE.NAME", - 211: "DUPLICATE", - 212: "APPLY.STYLE", - 213: "ASSIGN.TO.OBJECT", - 214: "OBJECT.PROTECTION", - 215: "HIDE.OBJECT", - 216: "SET.EXTRACT", - 217: "CREATE.PUBLISHER", - 218: "SUBSCRIBE.TO", - 219: "ATTRIBUTES", - 220: "SHOW.TOOLBAR", - 222: "PRINT.PREVIEW", - 223: "EDIT.COLOR", - 224: "SHOW.LEVELS", - 225: "FORMAT.MAIN", - 226: "FORMAT.OVERLAY", - 227: "ON.RECALC", - 228: "EDIT.SERIES", - 229: "DEFINE.STYLE", - 240: "LINE.PRINT", - 243: "ENTER.DATA", - 249: "GALLERY.RADAR", - 250: "MERGE.STYLES", - 251: "EDITION.OPTIONS", - 252: "PASTE.PICTURE", - 253: "PASTE.PICTURE.LINK", - 254: "SPELLING", - 256: "ZOOM", - 259: "INSERT.OBJECT", - 260: "WINDOW.MINIMIZE", - 265: "SOUND.NOTE", - 266: "SOUND.PLAY", - 267: "FORMAT.SHAPE", - 268: "EXTEND.POLYGON", - 269: "FORMAT.AUTO", - 272: "GALLERY.3D.BAR", - 273: "GALLERY.3D.SURFACE", - 274: "FILL.AUTO", - 276: "CUSTOMIZE.TOOLBAR", - 277: "ADD.TOOL", - 278: "EDIT.OBJECT", - 279: "ON.DOUBLECLICK", - 280: "ON.ENTRY", - 281: "WORKBOOK.ADD", - 282: "WORKBOOK.MOVE", - 283: "WORKBOOK.COPY", - 284: "WORKBOOK.OPTIONS", - 285: "SAVE.WORKSPACE", - 288: "CHART.WIZARD", - 289: "DELETE.TOOL", - 290: "MOVE.TOOL", - 291: "WORKBOOK.SELECT", - 292: "WORKBOOK.ACTIVATE", - 293: "ASSIGN.TO.TOOL", - 295: "COPY.TOOL", - 296: "RESET.TOOL", - 297: "CONSTRAIN.NUMERIC", - 298: "PASTE.TOOL", - 302: "WORKBOOK.NEW", - 305: "SCENARIO.CELLS", - 306: "SCENARIO.DELETE", - 307: "SCENARIO.ADD", - 308: "SCENARIO.EDIT", - 309: "SCENARIO.SHOW", - 310: "SCENARIO.SHOW.NEXT", - 311: "SCENARIO.SUMMARY", - 312: "PIVOT.TABLE.WIZARD", - 313: "PIVOT.FIELD.PROPERTIES", - 314: "PIVOT.FIELD", - 315: "PIVOT.ITEM", - 316: "PIVOT.ADD.FIELDS", - 318: "OPTIONS.CALCULATION", - 319: "OPTIONS.EDIT", - 320: "OPTIONS.VIEW", - 321: "ADDIN.MANAGER", - 322: "MENU.EDITOR", - 323: "ATTACH.TOOLBARS", - 324: "VBAActivate", - 325: "OPTIONS.CHART", - 328: "VBA.INSERT.FILE", - 330: "VBA.PROCEDURE.DEFINITION", - 336: "ROUTING.SLIP", - 338: "ROUTE.DOCUMENT", - 339: "MAIL.LOGON", - 342: "INSERT.PICTURE", - 343: "EDIT.TOOL", - 344: "GALLERY.DOUGHNUT", - 350: "CHART.TREND", - 352: "PIVOT.ITEM.PROPERTIES", - 354: "WORKBOOK.INSERT", - 355: "OPTIONS.TRANSITION", - 356: "OPTIONS.GENERAL", - 370: "FILTER.ADVANCED", - 373: "MAIL.ADD.MAILER", - 374: "MAIL.DELETE.MAILER", - 375: "MAIL.REPLY", - 376: "MAIL.REPLY.ALL", - 377: "MAIL.FORWARD", - 378: "MAIL.NEXT.LETTER", - 379: "DATA.LABEL", - 380: "INSERT.TITLE", - 381: "FONT.PROPERTIES", - 382: "MACRO.OPTIONS", - 383: "WORKBOOK.HIDE", - 384: "WORKBOOK.UNHIDE", - 385: "WORKBOOK.DELETE", - 386: "WORKBOOK.NAME", - 388: "GALLERY.CUSTOM", - 390: "ADD.CHART.AUTOFORMAT", - 391: "DELETE.CHART.AUTOFORMAT", - 392: "CHART.ADD.DATA", - 393: "AUTO.OUTLINE", - 394: "TAB.ORDER", - 395: "SHOW.DIALOG", - 396: "SELECT.ALL", - 397: "UNGROUP.SHEETS", - 398: "SUBTOTAL.CREATE", - 399: "SUBTOTAL.REMOVE", - 400: "RENAME.OBJECT", - 412: "WORKBOOK.SCROLL", - 413: "WORKBOOK.NEXT", - 414: "WORKBOOK.PREV", - 415: "WORKBOOK.TAB.SPLIT", - 416: "FULL.SCREEN", - 417: "WORKBOOK.PROTECT", - 420: "SCROLLBAR.PROPERTIES", - 421: "PIVOT.SHOW.PAGES", - 422: "TEXT.TO.COLUMNS", - 423: "FORMAT.CHARTTYPE", - 424: "LINK.FORMAT", - 425: "TRACER.DISPLAY", - 430: "TRACER.NAVIGATE", - 431: "TRACER.CLEAR", - 432: "TRACER.ERROR", - 433: "PIVOT.FIELD.GROUP", - 434: "PIVOT.FIELD.UNGROUP", - 435: "CHECKBOX.PROPERTIES", - 436: "LABEL.PROPERTIES", - 437: "LISTBOX.PROPERTIES", - 438: "EDITBOX.PROPERTIES", - 439: "PIVOT.REFRESH", - 440: "LINK.COMBO", - 441: "OPEN.TEXT", - 442: "HIDE.DIALOG", - 443: "SET.DIALOG.FOCUS", - 444: "ENABLE.OBJECT", - 445: "PUSHBUTTON.PROPERTIES", - 446: "SET.DIALOG.DEFAULT", - 447: "FILTER", - 448: "FILTER.SHOW.ALL", - 449: "CLEAR.OUTLINE", - 450: "FUNCTION.WIZARD", - 451: "ADD.LIST.ITEM", - 452: "SET.LIST.ITEM", - 453: "REMOVE.LIST.ITEM", - 454: "SELECT.LIST.ITEM", - 455: "SET.CONTROL.VALUE", - 456: "SAVE.COPY.AS", - 458: "OPTIONS.LISTS.ADD", - 459: "OPTIONS.LISTS.DELETE", - 460: "SERIES.AXES", - 461: "SERIES.X", - 462: "SERIES.Y", - 463: "ERRORBAR.X", - 464: "ERRORBAR.Y", - 465: "FORMAT.CHART", - 466: "SERIES.ORDER", - 467: "MAIL.LOGOFF", - 468: "CLEAR.ROUTING.SLIP", - 469: "APP.ACTIVATE.MICROSOFT", - 470: "MAIL.EDIT.MAILER", - 471: "ON.SHEET", - 472: "STANDARD.WIDTH", - 473: "SCENARIO.MERGE", - 474: "SUMMARY.INFO", - 475: "FIND.FILE", - 476: "ACTIVE.CELL.FONT", - 477: "ENABLE.TIPWIZARD", - 478: "VBA.MAKE.ADDIN", - 480: "INSERTDATATABLE", - 481: "WORKGROUP.OPTIONS", - 482: "MAIL.SEND.MAILER", - 485: "AUTOCORRECT", - 489: "POST.DOCUMENT", - 491: "PICKLIST", - 493: "VIEW.SHOW", - 494: "VIEW.DEFINE", - 495: "VIEW.DELETE", - 509: "SHEET.BACKGROUND", - 510: "INSERT.MAP.OBJECT", - 511: "OPTIONS.MENONO", - 517: "MSOCHECKS", - 518: "NORMAL", - 519: "LAYOUT", - 520: "RM.PRINT.AREA", - 521: "CLEAR.PRINT.AREA", - 522: "ADD.PRINT.AREA", - 523: "MOVE.BRK", - 545: "HIDECURR.NOTE", - 546: "HIDEALL.NOTES", - 547: "DELETE.NOTE", - 548: "TRAVERSE.NOTES", - 549: "ACTIVATE.NOTES", - 620: "PROTECT.REVISIONS", - 621: "UNPROTECT.REVISIONS", - 647: "OPTIONS.ME", - 653: "WEB.PUBLISH", - 667: "NEWWEBQUERY", - 673: "PIVOT.TABLE.CHART", - 753: "OPTIONS.SAVE", - 755: "OPTIONS.SPELL", - 808: "HIDEALL.INKANNOTS" -}; -var Ftab = { - 0: "COUNT", - 1: "IF", - 2: "ISNA", - 3: "ISERROR", - 4: "SUM", - 5: "AVERAGE", - 6: "MIN", - 7: "MAX", - 8: "ROW", - 9: "COLUMN", - 10: "NA", - 11: "NPV", - 12: "STDEV", - 13: "DOLLAR", - 14: "FIXED", - 15: "SIN", - 16: "COS", - 17: "TAN", - 18: "ATAN", - 19: "PI", - 20: "SQRT", - 21: "EXP", - 22: "LN", - 23: "LOG10", - 24: "ABS", - 25: "INT", - 26: "SIGN", - 27: "ROUND", - 28: "LOOKUP", - 29: "INDEX", - 30: "REPT", - 31: "MID", - 32: "LEN", - 33: "VALUE", - 34: "TRUE", - 35: "FALSE", - 36: "AND", - 37: "OR", - 38: "NOT", - 39: "MOD", - 40: "DCOUNT", - 41: "DSUM", - 42: "DAVERAGE", - 43: "DMIN", - 44: "DMAX", - 45: "DSTDEV", - 46: "VAR", - 47: "DVAR", - 48: "TEXT", - 49: "LINEST", - 50: "TREND", - 51: "LOGEST", - 52: "GROWTH", - 53: "GOTO", - 54: "HALT", - 55: "RETURN", - 56: "PV", - 57: "FV", - 58: "NPER", - 59: "PMT", - 60: "RATE", - 61: "MIRR", - 62: "IRR", - 63: "RAND", - 64: "MATCH", - 65: "DATE", - 66: "TIME", - 67: "DAY", - 68: "MONTH", - 69: "YEAR", - 70: "WEEKDAY", - 71: "HOUR", - 72: "MINUTE", - 73: "SECOND", - 74: "NOW", - 75: "AREAS", - 76: "ROWS", - 77: "COLUMNS", - 78: "OFFSET", - 79: "ABSREF", - 80: "RELREF", - 81: "ARGUMENT", - 82: "SEARCH", - 83: "TRANSPOSE", - 84: "ERROR", - 85: "STEP", - 86: "TYPE", - 87: "ECHO", - 88: "SET.NAME", - 89: "CALLER", - 90: "DEREF", - 91: "WINDOWS", - 92: "SERIES", - 93: "DOCUMENTS", - 94: "ACTIVE.CELL", - 95: "SELECTION", - 96: "RESULT", - 97: "ATAN2", - 98: "ASIN", - 99: "ACOS", - 100: "CHOOSE", - 101: "HLOOKUP", - 102: "VLOOKUP", - 103: "LINKS", - 104: "INPUT", - 105: "ISREF", - 106: "GET.FORMULA", - 107: "GET.NAME", - 108: "SET.VALUE", - 109: "LOG", - 110: "EXEC", - 111: "CHAR", - 112: "LOWER", - 113: "UPPER", - 114: "PROPER", - 115: "LEFT", - 116: "RIGHT", - 117: "EXACT", - 118: "TRIM", - 119: "REPLACE", - 120: "SUBSTITUTE", - 121: "CODE", - 122: "NAMES", - 123: "DIRECTORY", - 124: "FIND", - 125: "CELL", - 126: "ISERR", - 127: "ISTEXT", - 128: "ISNUMBER", - 129: "ISBLANK", - 130: "T", - 131: "N", - 132: "FOPEN", - 133: "FCLOSE", - 134: "FSIZE", - 135: "FREADLN", - 136: "FREAD", - 137: "FWRITELN", - 138: "FWRITE", - 139: "FPOS", - 140: "DATEVALUE", - 141: "TIMEVALUE", - 142: "SLN", - 143: "SYD", - 144: "DDB", - 145: "GET.DEF", - 146: "REFTEXT", - 147: "TEXTREF", - 148: "INDIRECT", - 149: "REGISTER", - 150: "CALL", - 151: "ADD.BAR", - 152: "ADD.MENU", - 153: "ADD.COMMAND", - 154: "ENABLE.COMMAND", - 155: "CHECK.COMMAND", - 156: "RENAME.COMMAND", - 157: "SHOW.BAR", - 158: "DELETE.MENU", - 159: "DELETE.COMMAND", - 160: "GET.CHART.ITEM", - 161: "DIALOG.BOX", - 162: "CLEAN", - 163: "MDETERM", - 164: "MINVERSE", - 165: "MMULT", - 166: "FILES", - 167: "IPMT", - 168: "PPMT", - 169: "COUNTA", - 170: "CANCEL.KEY", - 171: "FOR", - 172: "WHILE", - 173: "BREAK", - 174: "NEXT", - 175: "INITIATE", - 176: "REQUEST", - 177: "POKE", - 178: "EXECUTE", - 179: "TERMINATE", - 180: "RESTART", - 181: "HELP", - 182: "GET.BAR", - 183: "PRODUCT", - 184: "FACT", - 185: "GET.CELL", - 186: "GET.WORKSPACE", - 187: "GET.WINDOW", - 188: "GET.DOCUMENT", - 189: "DPRODUCT", - 190: "ISNONTEXT", - 191: "GET.NOTE", - 192: "NOTE", - 193: "STDEVP", - 194: "VARP", - 195: "DSTDEVP", - 196: "DVARP", - 197: "TRUNC", - 198: "ISLOGICAL", - 199: "DCOUNTA", - 200: "DELETE.BAR", - 201: "UNREGISTER", - 204: "USDOLLAR", - 205: "FINDB", - 206: "SEARCHB", - 207: "REPLACEB", - 208: "LEFTB", - 209: "RIGHTB", - 210: "MIDB", - 211: "LENB", - 212: "ROUNDUP", - 213: "ROUNDDOWN", - 214: "ASC", - 215: "DBCS", - 216: "RANK", - 219: "ADDRESS", - 220: "DAYS360", - 221: "TODAY", - 222: "VDB", - 223: "ELSE", - 224: "ELSE.IF", - 225: "END.IF", - 226: "FOR.CELL", - 227: "MEDIAN", - 228: "SUMPRODUCT", - 229: "SINH", - 230: "COSH", - 231: "TANH", - 232: "ASINH", - 233: "ACOSH", - 234: "ATANH", - 235: "DGET", - 236: "CREATE.OBJECT", - 237: "VOLATILE", - 238: "LAST.ERROR", - 239: "CUSTOM.UNDO", - 240: "CUSTOM.REPEAT", - 241: "FORMULA.CONVERT", - 242: "GET.LINK.INFO", - 243: "TEXT.BOX", - 244: "INFO", - 245: "GROUP", - 246: "GET.OBJECT", - 247: "DB", - 248: "PAUSE", - 251: "RESUME", - 252: "FREQUENCY", - 253: "ADD.TOOLBAR", - 254: "DELETE.TOOLBAR", - 255: "User", - 256: "RESET.TOOLBAR", - 257: "EVALUATE", - 258: "GET.TOOLBAR", - 259: "GET.TOOL", - 260: "SPELLING.CHECK", - 261: "ERROR.TYPE", - 262: "APP.TITLE", - 263: "WINDOW.TITLE", - 264: "SAVE.TOOLBAR", - 265: "ENABLE.TOOL", - 266: "PRESS.TOOL", - 267: "REGISTER.ID", - 268: "GET.WORKBOOK", - 269: "AVEDEV", - 270: "BETADIST", - 271: "GAMMALN", - 272: "BETAINV", - 273: "BINOMDIST", - 274: "CHIDIST", - 275: "CHIINV", - 276: "COMBIN", - 277: "CONFIDENCE", - 278: "CRITBINOM", - 279: "EVEN", - 280: "EXPONDIST", - 281: "FDIST", - 282: "FINV", - 283: "FISHER", - 284: "FISHERINV", - 285: "FLOOR", - 286: "GAMMADIST", - 287: "GAMMAINV", - 288: "CEILING", - 289: "HYPGEOMDIST", - 290: "LOGNORMDIST", - 291: "LOGINV", - 292: "NEGBINOMDIST", - 293: "NORMDIST", - 294: "NORMSDIST", - 295: "NORMINV", - 296: "NORMSINV", - 297: "STANDARDIZE", - 298: "ODD", - 299: "PERMUT", - 300: "POISSON", - 301: "TDIST", - 302: "WEIBULL", - 303: "SUMXMY2", - 304: "SUMX2MY2", - 305: "SUMX2PY2", - 306: "CHITEST", - 307: "CORREL", - 308: "COVAR", - 309: "FORECAST", - 310: "FTEST", - 311: "INTERCEPT", - 312: "PEARSON", - 313: "RSQ", - 314: "STEYX", - 315: "SLOPE", - 316: "TTEST", - 317: "PROB", - 318: "DEVSQ", - 319: "GEOMEAN", - 320: "HARMEAN", - 321: "SUMSQ", - 322: "KURT", - 323: "SKEW", - 324: "ZTEST", - 325: "LARGE", - 326: "SMALL", - 327: "QUARTILE", - 328: "PERCENTILE", - 329: "PERCENTRANK", - 330: "MODE", - 331: "TRIMMEAN", - 332: "TINV", - 334: "MOVIE.COMMAND", - 335: "GET.MOVIE", - 336: "CONCATENATE", - 337: "POWER", - 338: "PIVOT.ADD.DATA", - 339: "GET.PIVOT.TABLE", - 340: "GET.PIVOT.FIELD", - 341: "GET.PIVOT.ITEM", - 342: "RADIANS", - 343: "DEGREES", - 344: "SUBTOTAL", - 345: "SUMIF", - 346: "COUNTIF", - 347: "COUNTBLANK", - 348: "SCENARIO.GET", - 349: "OPTIONS.LISTS.GET", - 350: "ISPMT", - 351: "DATEDIF", - 352: "DATESTRING", - 353: "NUMBERSTRING", - 354: "ROMAN", - 355: "OPEN.DIALOG", - 356: "SAVE.DIALOG", - 357: "VIEW.GET", - 358: "GETPIVOTDATA", - 359: "HYPERLINK", - 360: "PHONETIC", - 361: "AVERAGEA", - 362: "MAXA", - 363: "MINA", - 364: "STDEVPA", - 365: "VARPA", - 366: "STDEVA", - 367: "VARA", - 368: "BAHTTEXT", - 369: "THAIDAYOFWEEK", - 370: "THAIDIGIT", - 371: "THAIMONTHOFYEAR", - 372: "THAINUMSOUND", - 373: "THAINUMSTRING", - 374: "THAISTRINGLENGTH", - 375: "ISTHAIDIGIT", - 376: "ROUNDBAHTDOWN", - 377: "ROUNDBAHTUP", - 378: "THAIYEAR", - 379: "RTD", - 380: "CUBEVALUE", - 381: "CUBEMEMBER", - 382: "CUBEMEMBERPROPERTY", - 383: "CUBERANKEDMEMBER", - 384: "HEX2BIN", - 385: "HEX2DEC", - 386: "HEX2OCT", - 387: "DEC2BIN", - 388: "DEC2HEX", - 389: "DEC2OCT", - 390: "OCT2BIN", - 391: "OCT2HEX", - 392: "OCT2DEC", - 393: "BIN2DEC", - 394: "BIN2OCT", - 395: "BIN2HEX", - 396: "IMSUB", - 397: "IMDIV", - 398: "IMPOWER", - 399: "IMABS", - 400: "IMSQRT", - 401: "IMLN", - 402: "IMLOG2", - 403: "IMLOG10", - 404: "IMSIN", - 405: "IMCOS", - 406: "IMEXP", - 407: "IMARGUMENT", - 408: "IMCONJUGATE", - 409: "IMAGINARY", - 410: "IMREAL", - 411: "COMPLEX", - 412: "IMSUM", - 413: "IMPRODUCT", - 414: "SERIESSUM", - 415: "FACTDOUBLE", - 416: "SQRTPI", - 417: "QUOTIENT", - 418: "DELTA", - 419: "GESTEP", - 420: "ISEVEN", - 421: "ISODD", - 422: "MROUND", - 423: "ERF", - 424: "ERFC", - 425: "BESSELJ", - 426: "BESSELK", - 427: "BESSELY", - 428: "BESSELI", - 429: "XIRR", - 430: "XNPV", - 431: "PRICEMAT", - 432: "YIELDMAT", - 433: "INTRATE", - 434: "RECEIVED", - 435: "DISC", - 436: "PRICEDISC", - 437: "YIELDDISC", - 438: "TBILLEQ", - 439: "TBILLPRICE", - 440: "TBILLYIELD", - 441: "PRICE", - 442: "YIELD", - 443: "DOLLARDE", - 444: "DOLLARFR", - 445: "NOMINAL", - 446: "EFFECT", - 447: "CUMPRINC", - 448: "CUMIPMT", - 449: "EDATE", - 450: "EOMONTH", - 451: "YEARFRAC", - 452: "COUPDAYBS", - 453: "COUPDAYS", - 454: "COUPDAYSNC", - 455: "COUPNCD", - 456: "COUPNUM", - 457: "COUPPCD", - 458: "DURATION", - 459: "MDURATION", - 460: "ODDLPRICE", - 461: "ODDLYIELD", - 462: "ODDFPRICE", - 463: "ODDFYIELD", - 464: "RANDBETWEEN", - 465: "WEEKNUM", - 466: "AMORDEGRC", - 467: "AMORLINC", - 468: "CONVERT", - 724: "SHEETJS", - 469: "ACCRINT", - 470: "ACCRINTM", - 471: "WORKDAY", - 472: "NETWORKDAYS", - 473: "GCD", - 474: "MULTINOMIAL", - 475: "LCM", - 476: "FVSCHEDULE", - 477: "CUBEKPIMEMBER", - 478: "CUBESET", - 479: "CUBESETCOUNT", - 480: "IFERROR", - 481: "COUNTIFS", - 482: "SUMIFS", - 483: "AVERAGEIF", - 484: "AVERAGEIFS" -}; -var FtabArgc = { - 2: 1, - 3: 1, - 10: 0, - 15: 1, - 16: 1, - 17: 1, - 18: 1, - 19: 0, - 20: 1, - 21: 1, - 22: 1, - 23: 1, - 24: 1, - 25: 1, - 26: 1, - 27: 2, - 30: 2, - 31: 3, - 32: 1, - 33: 1, - 34: 0, - 35: 0, - 38: 1, - 39: 2, - 40: 3, - 41: 3, - 42: 3, - 43: 3, - 44: 3, - 45: 3, - 47: 3, - 48: 2, - 53: 1, - 61: 3, - 63: 0, - 65: 3, - 66: 3, - 67: 1, - 68: 1, - 69: 1, - 70: 1, - 71: 1, - 72: 1, - 73: 1, - 74: 0, - 75: 1, - 76: 1, - 77: 1, - 79: 2, - 80: 2, - 83: 1, - 85: 0, - 86: 1, - 89: 0, - 90: 1, - 94: 0, - 95: 0, - 97: 2, - 98: 1, - 99: 1, - 101: 3, - 102: 3, - 105: 1, - 106: 1, - 108: 2, - 111: 1, - 112: 1, - 113: 1, - 114: 1, - 117: 2, - 118: 1, - 119: 4, - 121: 1, - 126: 1, - 127: 1, - 128: 1, - 129: 1, - 130: 1, - 131: 1, - 133: 1, - 134: 1, - 135: 1, - 136: 2, - 137: 2, - 138: 2, - 140: 1, - 141: 1, - 142: 3, - 143: 4, - 144: 4, - 161: 1, - 162: 1, - 163: 1, - 164: 1, - 165: 2, - 172: 1, - 175: 2, - 176: 2, - 177: 3, - 178: 2, - 179: 1, - 184: 1, - 186: 1, - 189: 3, - 190: 1, - 195: 3, - 196: 3, - 197: 1, - 198: 1, - 199: 3, - 201: 1, - 207: 4, - 210: 3, - 211: 1, - 212: 2, - 213: 2, - 214: 1, - 215: 1, - 225: 0, - 229: 1, - 230: 1, - 231: 1, - 232: 1, - 233: 1, - 234: 1, - 235: 3, - 244: 1, - 247: 4, - 252: 2, - 257: 1, - 261: 1, - 271: 1, - 273: 4, - 274: 2, - 275: 2, - 276: 2, - 277: 3, - 278: 3, - 279: 1, - 280: 3, - 281: 3, - 282: 3, - 283: 1, - 284: 1, - 285: 2, - 286: 4, - 287: 3, - 288: 2, - 289: 4, - 290: 3, - 291: 3, - 292: 3, - 293: 4, - 294: 1, - 295: 3, - 296: 1, - 297: 3, - 298: 1, - 299: 2, - 300: 3, - 301: 3, - 302: 4, - 303: 2, - 304: 2, - 305: 2, - 306: 2, - 307: 2, - 308: 2, - 309: 3, - 310: 2, - 311: 2, - 312: 2, - 313: 2, - 314: 2, - 315: 2, - 316: 4, - 325: 2, - 326: 2, - 327: 2, - 328: 2, - 331: 2, - 332: 2, - 337: 2, - 342: 1, - 343: 1, - 346: 2, - 347: 1, - 350: 4, - 351: 3, - 352: 1, - 353: 2, - 360: 1, - 368: 1, - 369: 1, - 370: 1, - 371: 1, - 372: 1, - 373: 1, - 374: 1, - 375: 1, - 376: 1, - 377: 1, - 378: 1, - 382: 3, - 385: 1, - 392: 1, - 393: 1, - 396: 2, - 397: 2, - 398: 2, - 399: 1, - 400: 1, - 401: 1, - 402: 1, - 403: 1, - 404: 1, - 405: 1, - 406: 1, - 407: 1, - 408: 1, - 409: 1, - 410: 1, - 414: 4, - 415: 1, - 416: 1, - 417: 2, - 420: 1, - 421: 1, - 422: 2, - 424: 1, - 425: 2, - 426: 2, - 427: 2, - 428: 2, - 430: 3, - 438: 3, - 439: 3, - 440: 3, - 443: 2, - 444: 2, - 445: 2, - 446: 2, - 447: 6, - 448: 6, - 449: 2, - 450: 2, - 464: 2, - 468: 3, - 476: 2, - 479: 1, - 480: 2, - 65535: 0 -}; -/* Part 3 TODO: actually parse formulae */ -function ods_to_csf_formula(f/*:string*/)/*:string*/ { - if(f.slice(0,3) == "of:") f = f.slice(3); - /* 5.2 Basic Expressions */ - if(f.charCodeAt(0) == 61) { - f = f.slice(1); - if(f.charCodeAt(0) == 61) f = f.slice(1); - } - f = f.replace(/COM\.MICROSOFT\./g, ""); - /* Part 3 Section 5.8 References */ - f = f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, function($$, $1) { return $1.replace(/\./g,""); }); - /* TODO: something other than this */ - f = f.replace(/\[.(#[A-Z]*[?!])\]/g, "$1"); - return f.replace(/[;~]/g,",").replace(/\|/g,";"); -} - -function csf_to_ods_formula(f/*:string*/)/*:string*/ { - var o = "of:=" + f.replace(crefregex, "$1[.$2$3$4$5]").replace(/\]:\[/g,":"); - /* TODO: something other than this */ - return o.replace(/;/g, "|").replace(/,/g,";"); -} - -function ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ { - var a = r.split(":"); - var s = a[0].split(".")[0]; - return [s, a[0].split(".")[1] + (a.length > 1 ? (":" + (a[1].split(".")[1] || a[1].split(".")[0])) : "")]; -} - -function csf_to_ods_3D(r/*:string*/)/*:string*/ { - return r.replace(/\./,"!"); -} - -var strs = {}; // shared strings -var _ssfopts = {}; // spreadsheet formatting options - - -/*global Map */ -var browser_has_Map = typeof Map !== 'undefined'; - -function get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ { - var i = 0, len = sst.length; - if(rev) { - if(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) { - var revarr = browser_has_Map ? rev.get(str) : rev[str]; - for(; i < revarr.length; ++i) { - if(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; } - } - } - } else for(; i < len; ++i) { - if(sst[i].t === str) { sst.Count ++; return i; } - } - sst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++; - if(rev) { - if(browser_has_Map) { - if(!rev.has(str)) rev.set(str, []); - rev.get(str).push(len); - } else { - if(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = []; - rev[str].push(len); - } - } - return len; -} - -function col_obj_w(C/*:number*/, col) { - var p = ({min:C+1,max:C+1}/*:any*/); - /* wch (chars), wpx (pixels) */ - var wch = -1; - if(col.MDW) MDW = col.MDW; - if(col.width != null) p.customWidth = 1; - else if(col.wpx != null) wch = px2char(col.wpx); - else if(col.wch != null) wch = col.wch; - if(wch > -1) { p.width = char2width(wch); p.customWidth = 1; } - else if(col.width != null) p.width = col.width; - if(col.hidden) p.hidden = true; - if(col.level != null) { p.outlineLevel = p.level = col.level; } - return p; -} - -function default_margins(margins/*:Margins*/, mode/*:?string*/) { - if(!margins) return; - var defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3]; - if(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5]; - if(margins.left == null) margins.left = defs[0]; - if(margins.right == null) margins.right = defs[1]; - if(margins.top == null) margins.top = defs[2]; - if(margins.bottom == null) margins.bottom = defs[3]; - if(margins.header == null) margins.header = defs[4]; - if(margins.footer == null) margins.footer = defs[5]; -} - -function get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) { - var z = opts.revssf[cell.z != null ? cell.z : "General"]; - var i = 0x3c, len = styles.length; - if(z == null && opts.ssf) { - for(; i < 0x188; ++i) if(opts.ssf[i] == null) { - SSF_load(cell.z, i); - // $FlowIgnore - opts.ssf[i] = cell.z; - opts.revssf[cell.z] = z = i; - break; - } - } - for(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i; - styles[len] = { - numFmtId:z, - fontId:0, - fillId:0, - borderId:0, - xfId:0, - applyNumberFormat:1 - }; - return len; -} - -function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) { - try { - if(opts.cellNF) p.z = table_fmt[fmtid]; - } catch(e) { if(opts.WTF) throw e; } - if(p.t === 'z' && !opts.cellStyles) return; - if(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v); - if((!opts || opts.cellText !== false) && p.t !== 'z') try { - if(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || "General", fmtid); - if(p.t === 'e') p.w = p.w || BErr[p.v]; - else if(fmtid === 0) { - if(p.t === 'n') { - if((p.v|0) === p.v) p.w = p.v.toString(10); - else p.w = SSF_general_num(p.v); - } - else if(p.t === 'd') { - var dd = datenum(p.v); - if((dd|0) === dd) p.w = dd.toString(10); - else p.w = SSF_general_num(dd); - } - else if(p.v === undefined) return ""; - else p.w = SSF_general(p.v,_ssfopts); - } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); - else p.w = SSF_format(fmtid,p.v,_ssfopts); - } catch(e) { if(opts.WTF) throw e; } - if(!opts.cellStyles) return; - if(fillid != null) try { - p.s = styles.Fills[fillid]; - if (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) { - p.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0); - if(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb; - } - if (p.s.bgColor && p.s.bgColor.theme) { - p.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0); - if(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb; - } - } catch(e) { if(opts.WTF && styles.Fills) throw e; } -} - -function check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) { - if(ws && ws['!ref']) { - var range = safe_decode_range(ws['!ref']); - if(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error("Bad range (" + i + "): " + ws['!ref']); - } -} -function parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) { - 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[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /<(?:\w:)?hyperlink [^>]*>/mg; -var dimregex = /"(\w*:\w*)"/; -var colregex = /<(?:\w:)?col\b[^>]*[\/]?>/g; -var afregex = /<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g; -var marginregex= /<(?:\w:)?pageMargins[^>]*\/>/g; -var sheetprregex = /<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/; -var sheetprregex2= /<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/; -var svsregex = /<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/; - -/* 18.3 Worksheets */ -function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ { - if(!data) return data; - if(!rels) rels = {'!id':{}}; - if(DENSE != null && opts.dense == null) opts.dense = DENSE; - - /* 18.3.1.99 worksheet CT_Worksheet */ - var s = opts.dense ? ([]/*:any*/) : ({}/*:any*/); - var refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/); - - var data1 = "", data2 = ""; - var mtch/*:?any*/ = data.match(sheetdataregex); - if(mtch) { - data1 = data.slice(0, mtch.index); - data2 = data.slice(mtch.index + mtch[0].length); - } else data1 = data2 = data; - - /* 18.3.1.82 sheetPr CT_SheetPr */ - var sheetPr = data1.match(sheetprregex); - if(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx); - else if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||"", s, wb, idx, styles, themes); - - /* 18.3.1.35 dimension CT_SheetDimension */ - var ridx = (data1.match(/<(?:\w*:)?dimension/)||{index:-1}).index; - if(ridx > 0) { - var ref = data1.slice(ridx,ridx+50).match(dimregex); - if(ref) parse_ws_xml_dim(s, ref[1]); - } - - /* 18.3.1.88 sheetViews CT_SheetViews */ - var svs = data1.match(svsregex); - if(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb); - - /* 18.3.1.17 cols CT_Cols */ - var columns/*:Array*/ = []; - if(opts.cellStyles) { - /* 18.3.1.13 col CT_Col */ - var cols = data1.match(colregex); - if(cols) parse_ws_xml_cols(columns, cols); - } - - /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); - - /* 18.3.1.2 autoFilter CT_AutoFilter */ - var afilter = data2.match(afregex); - if(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]); - - /* 18.3.1.55 mergeCells CT_MergeCells */ - var merges/*:Array*/ = []; - var _merge = data2.match(mergecregex); - if(_merge) for(ridx = 0; ridx != _merge.length; ++ridx) - merges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf("\"")+1)); - - /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - var hlink = data2.match(hlinkregex); - if(hlink) parse_ws_xml_hlinks(s, hlink, rels); - - /* 18.3.1.62 pageMargins CT_PageMargins */ - var margins = data2.match(marginregex); - if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); - - if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); - if(opts.sheetRows > 0 && s["!ref"]) { - var tmpref = safe_decode_range(s["!ref"]); - if(opts.sheetRows <= +tmpref.e.r) { - tmpref.e.r = opts.sheetRows - 1; - if(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r; - if(tmpref.e.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(columns.length > 0) s["!cols"] = columns; - if(merges.length > 0) s["!merges"] = merges; - return s; -} - -function write_ws_xml_merges(merges/*:Array*/)/*:string*/ { - if(merges.length === 0) return ""; - var o = ''; - for(var i = 0; i != merges.length; ++i) o += ''; - return o + ''; -} - -/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */ -function parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) { - var data = parsexmltag(sheetPr); - if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; - if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); -} -function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) { - parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); -} -function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { - var needed = false; - var props = {}, payload = null; - if(opts.bookType !== 'xlsx' && wb.vbaraw) { - var cname = wb.SheetNames[idx]; - try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} - needed = true; - props.codeName = utf8write(escapexml(cname)); - } - - if(ws && ws["!outline"]) { - var outlineprops = {summaryBelow:1, summaryRight:1}; - if(ws["!outline"].above) outlineprops.summaryBelow = 0; - if(ws["!outline"].left) outlineprops.summaryRight = 0; - payload = (payload||"") + writextag('outlinePr', null, outlineprops); - } - - if(!needed && !payload) return; - o[o.length] = (writextag('sheetPr', payload, props)); -} - -/* 18.3.1.85 sheetProtection CT_SheetProtection */ -var sheetprot_deffalse = ["objects", "scenarios", "selectLockedCells", "selectUnlockedCells"]; -var sheetprot_deftrue = [ - "formatColumns", "formatRows", "formatCells", - "insertColumns", "insertRows", "insertHyperlinks", - "deleteColumns", "deleteRows", - "sort", "autoFilter", "pivotTables" -]; -function write_ws_xml_protection(sp)/*:string*/ { - // algorithmName, hashValue, saltValue, spinCount - var o = ({sheet:1}/*:any*/); - sheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = "1"; }); - sheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = "0"; }); - /* TODO: algorithm */ - if(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase(); - return writextag('sheetProtection', null, o); -} - -function parse_ws_xml_hlinks(s, data/*:Array*/, rels) { - var dense = Array.isArray(s); - for(var i = 0; i != data.length; ++i) { - var val = parsexmltag(utf8read(data[i]), true); - if(!val.ref) return; - var rel = ((rels || {})['!id']||[])[val.id]; - if(rel) { - val.Target = rel.Target; - if(val.location) val.Target += "#"+unescapexml(val.location); - } else { - val.Target = "#" + unescapexml(val.location); - rel = {Target: val.Target, TargetMode: 'Internal'}; - } - val.Rel = rel; - if(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; } - var rng = safe_decode_range(val.ref); - for(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) { - var addr = encode_cell({c:C,r:R}); - if(dense) { - if(!s[R]) s[R] = []; - if(!s[R][C]) s[R][C] = {t:"z",v:undefined}; - s[R][C].l = val; - } else { - if(!s[addr]) s[addr] = {t:"z",v:undefined}; - s[addr].l = val; - } - } - } -} - -function parse_ws_xml_margins(margin) { - var o = {}; - ["left", "right", "top", "bottom", "header", "footer"].forEach(function(k) { - if(margin[k]) o[k] = parseFloat(margin[k]); - }); - return o; -} -function write_ws_xml_margins(margin)/*:string*/ { - default_margins(margin); - return writextag('pageMargins', null, margin); -} - -function parse_ws_xml_cols(columns, cols) { - var seencol = false; - for(var coli = 0; coli != cols.length; ++coli) { - var coll = parsexmltag(cols[coli], true); - if(coll.hidden) coll.hidden = parsexmlbool(coll.hidden); - var colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1; - if(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0); - 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)/*:string*/ { - var o = [""], col; - for(var i = 0; i != cols.length; ++i) { - if(!(col = cols[i])) continue; - o[o.length] = (writextag('col', null, col_obj_w(i, col))); - } - o[o.length] = ""; - return o.join(""); -} - -function parse_ws_xml_autofilter(data/*:string*/) { - var o = { ref: (data.match(/ref="([^"]*)"/)||[])[1]}; - return o; -} -function write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ { - var ref = typeof data.ref == "string" ? data.ref : encode_range(data.ref); - if(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/); - if(!wb.Workbook.Names) wb.Workbook.Names = []; - var names/*: Array */ = wb.Workbook.Names; - var range = decode_range(ref); - if(range.s.r == range.e.r) { range.e.r = decode_range(ws["!ref"]).e.r; ref = encode_range(range); } - for(var i = 0; i < names.length; ++i) { - var name = names[i]; - if(name.Name != '_xlnm._FilterDatabase') continue; - if(name.Sheet != idx) continue; - name.Ref = "'" + wb.SheetNames[idx] + "'!" + ref; break; - } - if(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: "'" + wb.SheetNames[idx] + "'!" + ref }); - return writextag("autoFilter", null, {ref:ref}); -} - -/* 18.3.1.88 sheetViews CT_SheetViews */ -/* 18.3.1.87 sheetView CT_SheetView */ -var sviewregex = /<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/; -function parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) { - if(!wb.Views) wb.Views = [{}]; - (data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) { - var tag = parsexmltag(r); - // $FlowIgnore - if(!wb.Views[i]) wb.Views[i] = {}; - // $FlowIgnore - if(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale; - // $FlowIgnore - if(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true; - }); -} -function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { - var sview = ({workbookViewId:"0"}/*:any*/); - // $FlowIgnore - if((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? "1" : "0"; - return writextag("sheetViews", writextag("sheetView", null, sview), {}); -} - -function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { - if(cell.c) ws['!comments'].push([ref, cell.c]); - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; - var vv = ""; - var oldt = cell.t, oldv = cell.v; - if(cell.t !== "z") 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 && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { - cell = dup(cell); - cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); - } - if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; - break; - default: vv = cell.v; break; - } - var v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/); - /* TODO: cell style */ - var os = get_cell_style(opts.cellXfs, cell, opts); - if(os !== 0) o.s = os; - switch(cell.t) { - case 'n': break; - case 'd': o.t = "d"; break; - case 'b': o.t = "b"; break; - case 'e': o.t = "e"; break; - case 'z': break; - default: if(cell.v == null) { delete cell.t; break; } - if(cell.v.length > 32767) throw new Error("Text length must not exceed 32767 characters"); - if(opts && opts.bookSST) { - v = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings)); - o.t = "s"; break; - } - o.t = "str"; break; - } - if(cell.t != oldt) { cell.t = oldt; cell.v = oldv; } - if(typeof cell.f == "string" && cell.f) { - var ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:"array", ref:cell.F} : null; - v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); - } - if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.D) o.cm = 1; - return writextag('c', v, o); -} - -var parse_ws_xml_data = /*#__PURE__*/(/* unused pure expression or super */ null && ((function() { - var cellregex = /<(?:\w+:)?c[ \/>]/, rowregex = /<\/(?:\w+:)?row>/; - var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; - var refregex = /ref=["']([^"']*)["']/; - var match_v = matchtag("v"), match_f = matchtag("f"); - -return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) { - var ri = 0, x = "", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d="", p/*:any*/; - var tag, tagr = 0, tagc = 0; - var sstr, ftag; - var fmtid = 0, fillid = 0; - var do_format = Array.isArray(styles.CellXf), cf; - var arrayf/*:Array<[Range, string]>*/ = []; - var sharedf = []; - var dense = Array.isArray(s); - var rows/*:Array*/ = [], rowobj = {}, rowrite = false; - var sheetStubs = !!opts.sheetStubs; - for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { - x = marr[mt].trim(); - var xlen = x.length; - if(xlen === 0) continue; - - /* 18.3.1.73 row CT_Row */ - var rstarti = 0; - outa: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) { - case ">" /*62*/: - if(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != "/") { ++ri; break outa; } - if(opts && opts.cellStyles) { - // TODO: avoid duplication - tag = parsexmltag(x.slice(rstarti,ri), true); - tagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1; - if(opts.sheetRows && opts.sheetRows < tagr) continue; - rowobj = {}; rowrite = false; - if(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); } - if(tag.hidden == "1") { rowrite = true; rowobj.hidden = true; } - if(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; } - if(rowrite) rows[tagr-1] = rowobj; - } - break; - case "<" /*60*/: rstarti = ri; break; - } - if(rstarti >= ri) break; - tag = parsexmltag(x.slice(rstarti,ri), true); - tagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1; - if(opts.sheetRows && opts.sheetRows < tagr) continue; - if(guess.s.r > tagr - 1) guess.s.r = tagr - 1; - if(guess.e.r < tagr - 1) guess.e.r = tagr - 1; - - if(opts && opts.cellStyles) { - rowobj = {}; rowrite = false; - if(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); } - if(tag.hidden == "1") { rowrite = true; rowobj.hidden = true; } - if(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; } - if(rowrite) rows[tagr-1] = rowobj; - } - - /* 18.3.1.4 c CT_Cell */ - cells = x.slice(ri).split(cellregex); - for(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != "<") break; - cells = cells.slice(rslice); - for(ri = 0; ri != cells.length; ++ri) { - x = cells[ri].trim(); - if(x.length === 0) continue; - cref = x.match(rregex); idx = ri; i=0; cc=0; - x = "":"") + x; - if(cref != null && cref.length === 2) { - idx = 0; d=cref[1]; - for(i=0; i != d.length; ++i) { - if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break; - idx = 26*idx + cc; - } - --idx; - tagc = idx; - } else ++tagc; - for(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i; - tag = parsexmltag(x.slice(0,i), true); - if(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc}); - d = x.slice(i); - p = ({t:""}/*:any*/); - - if((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]); - if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1])).replace(/\r\n/g, "\n"); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; - } - } else if((cref=d.match(/]*\/>/))) { - ftag = parsexmltag(cref[0]); - if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); - } - /* TODO: factor out contains logic */ - var _tag = decode_cell(tag.r); - for(i = 0; i < arrayf.length; ++i) - if(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r) - if(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c) - p.F = arrayf[i][1]; - } - - if(tag.t == null && p.v === undefined) { - if(p.f || p.F) { - p.v = 0; p.t = "n"; - } else if(!sheetStubs) continue; - else p.t = "z"; - } - else p.t = tag.t || "n"; - if(guess.s.c > tagc) guess.s.c = tagc; - if(guess.e.c < tagc) guess.e.c = tagc; - /* 18.18.11 t ST_CellType */ - switch(p.t) { - case 'n': - if(p.v == "" || p.v == null) { - if(!sheetStubs) continue; - p.t = 'z'; - } else p.v = parseFloat(p.v); - break; - case 's': - if(typeof p.v == 'undefined') { - if(!sheetStubs) continue; - p.t = 'z'; - } else { - sstr = strs[parseInt(p.v, 10)]; - p.v = sstr.t; - p.r = sstr.r; - if(opts.cellHTML) p.h = sstr.h; - } - break; - case 'str': - p.t = "s"; - p.v = (p.v!=null) ? utf8read(p.v) : ''; - if(opts.cellHTML) p.h = escapehtml(p.v); - break; - case 'inlineStr': - cref = d.match(isregex); - p.t = 's'; - if(cref != null && (sstr = parse_si(cref[1]))) { - p.v = sstr.t; - if(opts.cellHTML) p.h = sstr.h; - } else p.v = ""; - break; - case 'b': p.v = parsexmlbool(p.v); break; - case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } - break; - /* error string in .w, number in .v */ - case 'e': - if(!opts || opts.cellText !== false) p.w = p.v; - p.v = RBErr[p.v]; break; - } - /* formatting */ - fmtid = fillid = 0; - cf = null; - if(do_format && tag.s !== undefined) { - cf = styles.CellXf[tag.s]; - if(cf != null) { - if(cf.numFmtId != null) fmtid = cf.numFmtId; - if(opts.cellStyles) { - if(cf.fillId != null) fillid = cf.fillId; - } - } - } - safe_format(p, fmtid, fillid, opts, themes, styles); - if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } - if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; - if(cm && cm.type == 'XLDAPR') p.D = true; - } - if(dense) { - var _r = decode_cell(tag.r); - if(!s[_r.r]) s[_r.r] = []; - s[_r.r][_r.c] = p; - } else s[tag.r] = p; - } - } - if(rows.length > 0) s['!rows'] = rows; -}; })())); - -function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ { - var o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows']; - var dense = Array.isArray(ws); - var params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1; - for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); - for(R = range.s.r; R <= range.e.r; ++R) { - r = []; - rr = encode_row(R); - for(C = range.s.c; C <= range.e.c; ++C) { - ref = cols[C] + rr; - var _cell = dense ? (ws[R]||[])[C]: ws[ref]; - if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); - } - if(r.length > 0 || (rows && rows[R])) { - params = ({r:rr}/*:any*/); - if(rows && rows[R]) { - row = rows[R]; - if(row.hidden) params.hidden = 1; - height = -1; - if(row.hpx) height = px2pt(row.hpx); - else if(row.hpt) height = row.hpt; - if(height > -1) { params.ht = height; params.customHeight = 1; } - if(row.level) { params.outlineLevel = row.level; } - } - o[o.length] = (writextag('row', r.join(""), params)); - } - } - if(rows) for(; R < rows.length; ++R) { - if(rows && rows[R]) { - params = ({r:R+1}/*:any*/); - row = rows[R]; - if(row.hidden) params.hidden = 1; - height = -1; - if (row.hpx) height = px2pt(row.hpx); - else if (row.hpt) height = row.hpt; - if (height > -1) { params.ht = height; params.customHeight = 1; } - if (row.level) { params.outlineLevel = row.level; } - o[o.length] = (writextag('row', "", params)); - } - } - return o.join(""); -} - -function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { - var o = [XML_HEADER, writextag('worksheet', null, { - 'xmlns': XMLNS_main[0], - 'xmlns:r': XMLNS.r - })]; - var s = wb.SheetNames[idx], sidx = 0, rdata = ""; - var ws = wb.Sheets[s]; - if(ws == null) ws = {}; - var ref = ws['!ref'] || 'A1'; - var range = safe_decode_range(ref); - if(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) { - if(opts.WTF) throw new Error("Range " + ref + " exceeds format limit A1:XFD1048576"); - range.e.c = Math.min(range.e.c, 0x3FFF); - range.e.r = Math.min(range.e.c, 0xFFFFF); - ref = encode_range(range); - } - if(!rels) rels = {}; - ws['!comments'] = []; - var _drawing = []; - - write_ws_xml_sheetpr(ws, wb, idx, opts, o); - - o[o.length] = (writextag('dimension', null, {'ref': ref})); - - o[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb); - - /* TODO: store in WB, process styles */ - if(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, { - defaultRowHeight:opts.sheetFormat.defaultRowHeight||'16', - baseColWidth:opts.sheetFormat.baseColWidth||'10', - outlineLevelRow:opts.sheetFormat.outlineLevelRow||'7' - })); - - if(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols'])); - - o[sidx = o.length] = ''; - ws['!links'] = []; - if(ws['!ref'] != null) { - rdata = write_ws_xml_data(ws, opts, idx, wb, rels); - if(rdata.length > 0) o[o.length] = (rdata); - } - if(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace("/>",">"); } - - /* sheetCalcPr */ - - if(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']); - - /* protectedRanges */ - /* scenarios */ - - if(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx); - - /* sortState */ - /* dataConsolidate */ - /* customSheetViews */ - - if(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges'])); - - /* phoneticPr */ - /* conditionalFormatting */ - /* dataValidations */ - - var relc = -1, rel, rId = -1; - if(/*::(*/ws['!links']/*::||[])*/.length > 0) { - o[o.length] = ""; - /*::(*/ws['!links']/*::||[])*/.forEach(function(l) { - if(!l[1].Target) return; - rel = ({"ref":l[0]}/*:any*/); - if(l[1].Target.charAt(0) != "#") { - rId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, ""), RELS.HLINK); - rel["r:id"] = "rId"+rId; - } - if((relc = l[1].Target.indexOf("#")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1)); - if(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip); - o[o.length] = writextag("hyperlink",null,rel); - }); - o[o.length] = ""; - } - delete ws['!links']; - - /* printOptions */ - - if(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']); - - /* pageSetup */ - /* headerFooter */ - /* rowBreaks */ - /* colBreaks */ - /* customProperties */ - /* cellWatches */ - - if(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag("ignoredErrors", writextag("ignoredError", null, {numberStoredAsText:1, sqref:ref})); - - /* smartTags */ - - if(_drawing.length > 0) { - rId = add_rels(rels, -1, "../drawings/drawing" + (idx+1) + ".xml", RELS.DRAW); - o[o.length] = writextag("drawing", null, {"r:id":"rId" + rId}); - ws['!drawing'] = _drawing; - } - - if(ws['!comments'].length > 0) { - rId = add_rels(rels, -1, "../drawings/vmlDrawing" + (idx+1) + ".vml", RELS.VML); - o[o.length] = writextag("legacyDrawing", null, {"r:id":"rId" + rId}); - ws['!legacy'] = rId; - } - - /* legacyDrawingHF */ - /* picture */ - /* oleObjects */ - /* controls */ - /* webPublishItems */ - /* tableParts */ - /* extLst */ - - if(o.length>1) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} - -/* [MS-XLSB] 2.4.726 BrtRowHdr */ -function parse_BrtRowHdr(data, length) { - var z = ({}/*:any*/); - var tgt = data.l + length; - z.r = data.read_shift(4); - data.l += 4; // TODO: ixfe - var miyRw = data.read_shift(2); - data.l += 1; // TODO: top/bot padding - var flags = data.read_shift(1); - data.l = tgt; - if(flags & 0x07) z.level = flags & 0x07; - if(flags & 0x10) z.hidden = true; - if(flags & 0x20) z.hpt = miyRw / 20; - return z; -} -function write_BrtRowHdr(R/*:number*/, range, ws) { - var o = new_buf(17+8*16); - var row = (ws['!rows']||[])[R]||{}; - o.write_shift(4, R); - - o.write_shift(4, 0); /* TODO: ixfe */ - - var miyRw = 0x0140; - if(row.hpx) miyRw = px2pt(row.hpx) * 20; - else if(row.hpt) miyRw = row.hpt * 20; - o.write_shift(2, miyRw); - - o.write_shift(1, 0); /* top/bot padding */ - - var flags = 0x0; - if(row.level) flags |= row.level; - if(row.hidden) flags |= 0x10; - if(row.hpx || row.hpt) flags |= 0x20; - o.write_shift(1, flags); - - o.write_shift(1, 0); /* phonetic guide */ - - /* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */ - var ncolspan = 0, lcs = o.l; - o.l += 4; - - var caddr = {r:R, c:0}; - for(var i = 0; i < 16; ++i) { - if((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue; - var first = -1, last = -1; - for(var j = (i<<10); j < ((i+1)<<10); ++j) { - caddr.c = j; - var cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)]; - if(cell) { if(first < 0) first = j; last = j; } - } - if(first < 0) continue; - ++ncolspan; - o.write_shift(4, first); - o.write_shift(4, last); - } - - var l = o.l; - o.l = lcs; - o.write_shift(4, ncolspan); - o.l = l; - - return o.length > o.l ? o.slice(0, o.l) : o; -} -function write_row_header(ba, ws, range, R) { - var o = write_BrtRowHdr(R, range, ws); - if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o); -} - -/* [MS-XLSB] 2.4.820 BrtWsDim */ -var parse_BrtWsDim = parse_UncheckedRfX; -var write_BrtWsDim = write_UncheckedRfX; - -/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */ -function parse_BrtWsFmtInfo(/*::data, length*/) { -} -//function write_BrtWsFmtInfo(ws, o) { } - -/* [MS-XLSB] 2.4.823 BrtWsProp */ -function parse_BrtWsProp(data, length) { - var z = {}; - var f = data[data.l]; ++data.l; - z.above = !(f & 0x40); - z.left = !(f & 0x80); - /* TODO: pull flags */ - data.l += 18; - z.name = parse_XLSBCodeName(data, length - 19); - return z; -} -function write_BrtWsProp(str, outl, o) { - if(o == null) o = new_buf(84+4*str.length); - var f = 0xC0; - if(outl) { - if(outl.above) f &= ~0x40; - if(outl.left) f &= ~0x80; - } - o.write_shift(1, f); - for(var i = 1; i < 3; ++i) o.write_shift(1,0); - write_BrtColor({auto:1}, o); - o.write_shift(-4,-1); - o.write_shift(-4,-1); - write_XLSBCodeName(str, o); - return o.slice(0, o.l); -} - -/* [MS-XLSB] 2.4.306 BrtCellBlank */ -function parse_BrtCellBlank(data) { - var cell = parse_XLSBCell(data); - return [cell]; -} -function write_BrtCellBlank(cell, ncell, o) { - if(o == null) o = new_buf(8); - return write_XLSBCell(ncell, o); -} -function parse_BrtShortBlank(data) { - var cell = parse_XLSBShortCell(data); - return [cell]; -} -function write_BrtShortBlank(cell, ncell, o) { - if(o == null) o = new_buf(4); - return write_XLSBShortCell(ncell, o); -} - -/* [MS-XLSB] 2.4.307 BrtCellBool */ -function parse_BrtCellBool(data) { - var cell = parse_XLSBCell(data); - var fBool = data.read_shift(1); - return [cell, fBool, 'b']; -} -function write_BrtCellBool(cell, ncell, o) { - if(o == null) o = new_buf(9); - write_XLSBCell(ncell, o); - o.write_shift(1, cell.v ? 1 : 0); - return o; -} -function parse_BrtShortBool(data) { - var cell = parse_XLSBShortCell(data); - var fBool = data.read_shift(1); - return [cell, fBool, 'b']; -} -function write_BrtShortBool(cell, ncell, o) { - if(o == null) o = new_buf(5); - write_XLSBShortCell(ncell, o); - o.write_shift(1, cell.v ? 1 : 0); - return o; -} - -/* [MS-XLSB] 2.4.308 BrtCellError */ -function parse_BrtCellError(data) { - var cell = parse_XLSBCell(data); - var bError = data.read_shift(1); - return [cell, bError, 'e']; -} -function write_BrtCellError(cell, ncell, o) { - if(o == null) o = new_buf(9); - write_XLSBCell(ncell, o); - o.write_shift(1, cell.v); - return o; -} -function parse_BrtShortError(data) { - var cell = parse_XLSBShortCell(data); - var bError = data.read_shift(1); - return [cell, bError, 'e']; -} -function write_BrtShortError(cell, ncell, o) { - if(o == null) o = new_buf(8); - write_XLSBShortCell(ncell, o); - o.write_shift(1, cell.v); - o.write_shift(2, 0); - o.write_shift(1, 0); - return o; -} - - -/* [MS-XLSB] 2.4.311 BrtCellIsst */ -function parse_BrtCellIsst(data) { - var cell = parse_XLSBCell(data); - var isst = data.read_shift(4); - return [cell, isst, 's']; -} -function write_BrtCellIsst(cell, ncell, o) { - if(o == null) o = new_buf(12); - write_XLSBCell(ncell, o); - o.write_shift(4, ncell.v); - return o; -} -function parse_BrtShortIsst(data) { - var cell = parse_XLSBShortCell(data); - var isst = data.read_shift(4); - return [cell, isst, 's']; -} -function write_BrtShortIsst(cell, ncell, o) { - if(o == null) o = new_buf(8); - write_XLSBShortCell(ncell, o); - o.write_shift(4, ncell.v); - return o; -} - -/* [MS-XLSB] 2.4.313 BrtCellReal */ -function parse_BrtCellReal(data) { - var cell = parse_XLSBCell(data); - var value = parse_Xnum(data); - return [cell, value, 'n']; -} -function write_BrtCellReal(cell, ncell, o) { - if(o == null) o = new_buf(16); - write_XLSBCell(ncell, o); - write_Xnum(cell.v, o); - return o; -} -function parse_BrtShortReal(data) { - var cell = parse_XLSBShortCell(data); - var value = parse_Xnum(data); - return [cell, value, 'n']; -} -function write_BrtShortReal(cell, ncell, o) { - if(o == null) o = new_buf(12); - write_XLSBShortCell(ncell, o); - write_Xnum(cell.v, o); - return o; -} - -/* [MS-XLSB] 2.4.314 BrtCellRk */ -function parse_BrtCellRk(data) { - var cell = parse_XLSBCell(data); - var value = parse_RkNumber(data); - return [cell, value, 'n']; -} -function write_BrtCellRk(cell, ncell, o) { - if(o == null) o = new_buf(12); - write_XLSBCell(ncell, o); - write_RkNumber(cell.v, o); - return o; -} -function parse_BrtShortRk(data) { - var cell = parse_XLSBShortCell(data); - var value = parse_RkNumber(data); - return [cell, value, 'n']; -} -function write_BrtShortRk(cell, ncell, o) { - if(o == null) o = new_buf(8); - write_XLSBShortCell(ncell, o); - write_RkNumber(cell.v, o); - return o; -} - -/* [MS-XLSB] 2.4.323 BrtCellRString */ -function parse_BrtCellRString(data) { - var cell = parse_XLSBCell(data); - var value = parse_RichStr(data); - return [cell, value, 'is']; -} - -/* [MS-XLSB] 2.4.317 BrtCellSt */ -function parse_BrtCellSt(data) { - var cell = parse_XLSBCell(data); - var value = parse_XLWideString(data); - return [cell, value, 'str']; -} -function write_BrtCellSt(cell, ncell, o) { - if(o == null) o = new_buf(12 + 4 * cell.v.length); - write_XLSBCell(ncell, o); - write_XLWideString(cell.v, o); - return o.length > o.l ? o.slice(0, o.l) : o; -} -function parse_BrtShortSt(data) { - var cell = parse_XLSBShortCell(data); - var value = parse_XLWideString(data); - return [cell, value, 'str']; -} -function write_BrtShortSt(cell, ncell, o) { - if(o == null) o = new_buf(8 + 4 * cell.v.length); - write_XLSBShortCell(ncell, o); - write_XLWideString(cell.v, o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.653 BrtFmlaBool */ -function parse_BrtFmlaBool(data, length, opts) { - var end = data.l + length; - var cell = parse_XLSBCell(data); - cell.r = opts['!row']; - var value = data.read_shift(1); - var o = [cell, value, 'b']; - if(opts.cellFormula) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ - } - else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.654 BrtFmlaError */ -function parse_BrtFmlaError(data, length, opts) { - var end = data.l + length; - var cell = parse_XLSBCell(data); - cell.r = opts['!row']; - var value = data.read_shift(1); - var o = [cell, value, 'e']; - if(opts.cellFormula) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ - } - else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.655 BrtFmlaNum */ -function parse_BrtFmlaNum(data, length, opts) { - var end = data.l + length; - var cell = parse_XLSBCell(data); - cell.r = opts['!row']; - var value = parse_Xnum(data); - var o = [cell, value, 'n']; - if(opts.cellFormula) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ - } - else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.656 BrtFmlaString */ -function parse_BrtFmlaString(data, length, opts) { - var end = data.l + length; - var cell = parse_XLSBCell(data); - cell.r = opts['!row']; - var value = parse_XLWideString(data); - var o = [cell, value, 'str']; - if(opts.cellFormula) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ - } - else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.682 BrtMergeCell */ -var parse_BrtMergeCell = parse_UncheckedRfX; -var write_BrtMergeCell = write_UncheckedRfX; -/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */ -function write_BrtBeginMergeCells(cnt, o) { - if(o == null) o = new_buf(4); - o.write_shift(4, cnt); - return o; -} - -/* [MS-XLSB] 2.4.662 BrtHLink */ -function parse_BrtHLink(data, length/*::, opts*/) { - var end = data.l + length; - var rfx = parse_UncheckedRfX(data, 16); - var relId = parse_XLNullableWideString(data); - var loc = parse_XLWideString(data); - var tooltip = parse_XLWideString(data); - var display = parse_XLWideString(data); - data.l = end; - var o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/); - if(tooltip) o.Tooltip = tooltip; - return o; -} -function write_BrtHLink(l, rId) { - var o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || "").length)); - write_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o); - write_RelID("rId" + rId, o); - var locidx = l[1].Target.indexOf("#"); - var loc = locidx == -1 ? "" : l[1].Target.slice(locidx+1); - write_XLWideString(loc || "", o); - write_XLWideString(l[1].Tooltip || "", o); - write_XLWideString("", o); - return o.slice(0, o.l); -} - -/* [MS-XLSB] 2.4.692 BrtPane */ -function parse_BrtPane(/*data, length, opts*/) { -} - -/* [MS-XLSB] 2.4.6 BrtArrFmla */ -function parse_BrtArrFmla(data, length, opts) { - var end = data.l + length; - var rfx = parse_RfX(data, 16); - var fAlwaysCalc = data.read_shift(1); - var o = [rfx]; o[2] = fAlwaysCalc; - if(opts.cellFormula) { - var formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts); - o[1] = formula; - } else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.750 BrtShrFmla */ -function parse_BrtShrFmla(data, length, opts) { - var end = data.l + length; - var rfx = parse_UncheckedRfX(data, 16); - var o = [rfx]; - if(opts.cellFormula) { - var formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts); - o[1] = formula; - data.l = end; - } else data.l = end; - return o; -} - -/* [MS-XLSB] 2.4.323 BrtColInfo */ -/* TODO: once XLS ColInfo is set, combine the functions */ -function write_BrtColInfo(C/*:number*/, col, o) { - if(o == null) o = new_buf(18); - var p = col_obj_w(C, col); - o.write_shift(-4, C); - o.write_shift(-4, C); - o.write_shift(4, (p.width || 10) * 256); - o.write_shift(4, 0/*ixfe*/); // style - var flags = 0; - if(col.hidden) flags |= 0x01; - if(typeof p.width == 'number') flags |= 0x02; - if(col.level) flags |= (col.level << 8); - o.write_shift(2, flags); // bit flag - return o; -} - -/* [MS-XLSB] 2.4.678 BrtMargins */ -var BrtMarginKeys = ["left","right","top","bottom","header","footer"]; -function parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ { - var margins = ({}/*:any*/); - BrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); }); - return margins; -} -function write_BrtMargins(margins/*:Margins*/, o) { - if(o == null) o = new_buf(6*8); - default_margins(margins); - BrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); }); - return o; -} - -/* [MS-XLSB] 2.4.299 BrtBeginWsView */ -function parse_BrtBeginWsView(data/*::, length, opts*/) { - var f = data.read_shift(2); - data.l += 28; - return { RTL: f & 0x20 }; -} -function write_BrtBeginWsView(ws, Workbook, o) { - if(o == null) o = new_buf(30); - var f = 0x39c; - if((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20; - o.write_shift(2, f); // bit flag - o.write_shift(4, 0); - o.write_shift(4, 0); // view first row - o.write_shift(4, 0); // view first col - o.write_shift(1, 0); // gridline color ICV - o.write_shift(1, 0); - o.write_shift(2, 0); - o.write_shift(2, 100); // zoom scale - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(2, 0); - o.write_shift(4, 0); // workbook view id - return o; -} - -/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */ -function write_BrtCellIgnoreEC(ref) { - var o = new_buf(24); - o.write_shift(4, 4); - o.write_shift(4, 1); - write_UncheckedRfX(ref, o); - return o; -} - -/* [MS-XLSB] 2.4.748 BrtSheetProtection */ -function write_BrtSheetProtection(sp, o) { - if(o == null) o = new_buf(16*4+2); - o.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0); - o.write_shift(4, 1); // this record should not be written if no protection - [ - ["objects", false], // fObjects - ["scenarios", false], // fScenarios - ["formatCells", true], // fFormatCells - ["formatColumns", true], // fFormatColumns - ["formatRows", true], // fFormatRows - ["insertColumns", true], // fInsertColumns - ["insertRows", true], // fInsertRows - ["insertHyperlinks", true], // fInsertHyperlinks - ["deleteColumns", true], // fDeleteColumns - ["deleteRows", true], // fDeleteRows - ["selectLockedCells", false], // fSelLockedCells - ["sort", true], // fSort - ["autoFilter", true], // fAutoFilter - ["pivotTables", true], // fPivotTables - ["selectUnlockedCells", false] // fSelUnlockedCells - ].forEach(function(n) { - /*:: if(o == null) throw "unreachable"; */ - if(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0); - else o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1); - }); - return o; -} - -function parse_BrtDVal(/*data, length, opts*/) { -} -function parse_BrtDVal14(/*data, length, opts*/) { -} -/* [MS-XLSB] 2.1.7.61 Worksheet */ -function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ { - if(!data) return data; - var opts = _opts || {}; - if(!rels) rels = {'!id':{}}; - if(DENSE != null && opts.dense == null) opts.dense = DENSE; - var s/*:Worksheet*/ = (opts.dense ? [] : {}); - - var ref; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; - - var state/*:Array*/ = []; - var pass = false, end = false; - var row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/; - var merges/*:Array*/ = []; - opts.biff = 12; - opts['!row'] = 0; - - var ai = 0, af = false; - - var arrayf/*:Array<[Range, string]>*/ = []; - var sharedf = {}; - var supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/); - supbooks.sharedf = sharedf; - supbooks.arrayf = arrayf; - supbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; }); - if(!opts.supbooks) { - opts.supbooks = supbooks; - if(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i]; - } - - var colinfo/*:Array*/ = [], rowinfo/*:Array*/ = []; - var seencol = false; - - XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; - - var cm, vm; - - recordhopper(data, function ws_parse(val, RR, RT) { - if(end) return; - switch(RT) { - case 0x0094: /* 'BrtWsDim' */ - ref = val; break; - case 0x0000: /* 'BrtRowHdr' */ - row = val; - if(opts.sheetRows && opts.sheetRows <= row.r) end=true; - rr = encode_row(R = row.r); - opts['!row'] = row.r; - if(val.hidden || val.hpt || val.level != null) { - if(val.hpt) val.hpx = pt2px(val.hpt); - rowinfo[val.r] = val; - } - break; - - case 0x0002: /* 'BrtCellRk' */ - case 0x0003: /* 'BrtCellError' */ - case 0x0004: /* 'BrtCellBool' */ - case 0x0005: /* 'BrtCellReal' */ - case 0x0006: /* 'BrtCellSt' */ - case 0x0007: /* 'BrtCellIsst' */ - case 0x0008: /* 'BrtFmlaString' */ - case 0x0009: /* 'BrtFmlaNum' */ - case 0x000A: /* 'BrtFmlaBool' */ - case 0x000B: /* 'BrtFmlaError' */ - case 0x000D: /* 'BrtShortRk' */ - case 0x000E: /* 'BrtShortError' */ - case 0x000F: /* 'BrtShortBool' */ - case 0x0010: /* 'BrtShortReal' */ - case 0x0011: /* 'BrtShortSt' */ - case 0x0012: /* 'BrtShortIsst' */ - case 0x003E: /* 'BrtCellRString' */ - p = ({t:val[2]}/*:any*/); - switch(val[2]) { - case 'n': p.v = val[1]; break; - case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break; - case 'b': p.v = val[1] ? true : false; break; - case 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break; - case 'str': p.t = 's'; p.v = val[1]; break; - case 'is': p.t = 's'; p.v = val[1].t; break; - } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); - C = val[0].c == -1 ? C + 1 : val[0].c; - if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; } - else s[encode_col(C) + rr] = p; - if(opts.cellFormula) { - af = false; - for(ai = 0; ai < arrayf.length; ++ai) { - var aii = arrayf[ai]; - if(row.r >= aii[0].s.r && row.r <= aii[0].e.r) - if(C >= aii[0].s.c && C <= aii[0].e.c) { - p.F = encode_range(aii[0]); af = true; - } - } - if(!af && val.length > 3) p.f = val[3]; - } - - if(refguess.s.r > row.r) refguess.s.r = row.r; - if(refguess.s.c > C) refguess.s.c = C; - if(refguess.e.r < row.r) refguess.e.r = row.r; - if(refguess.e.c < C) refguess.e.c = C; - if(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - var _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } - } - if(cm) { - if(cm.type == 'XLDAPR') p.D = true; - cm = void 0; - } - if(vm) vm = void 0; - break; - - case 0x0001: /* 'BrtCellBlank' */ - case 0x000C: /* 'BrtShortBlank' */ - if(!opts.sheetStubs || pass) break; - p = ({t:'z',v:void 0}/*:any*/); - C = val[0].c == -1 ? C + 1 : val[0].c; - if(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; } - else s[encode_col(C) + rr] = p; - if(refguess.s.r > row.r) refguess.s.r = row.r; - if(refguess.s.c > C) refguess.s.c = C; - if(refguess.e.r < row.r) refguess.e.r = row.r; - if(refguess.e.c < C) refguess.e.c = C; - if(cm) { - if(cm.type == 'XLDAPR') p.D = true; - cm = void 0; - } - if(vm) vm = void 0; - break; - - case 0x00B0: /* 'BrtMergeCell' */ - merges.push(val); break; - - case 0x0031: { /* 'BrtCellMeta' */ - cm = ((opts.xlmeta||{}).Cell||[])[val-1]; - } break; - - case 0x01EE: /* 'BrtHLink' */ - var rel = rels['!id'][val.relId]; - if(rel) { - val.Target = rel.Target; - if(val.loc) val.Target += "#"+val.loc; - val.Rel = rel; - } else if(val.relId == '') { - val.Target = "#" + val.loc; - } - for(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) { - if(opts.dense) { - if(!s[R]) s[R] = []; - if(!s[R][C]) s[R][C] = {t:'z',v:undefined}; - s[R][C].l = val; - } else { - addr = encode_cell({c:C,r:R}); - if(!s[addr]) s[addr] = {t:'z',v:undefined}; - s[addr].l = val; - } - } - break; - - case 0x01AA: /* 'BrtArrFmla' */ - if(!opts.cellFormula) break; - arrayf.push(val); - cell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/); - cell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); - cell.F = encode_range(val[0]); - break; - case 0x01AB: /* 'BrtShrFmla' */ - if(!opts.cellFormula) break; - sharedf[encode_cell(val[0].s)] = val[1]; - cell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]); - cell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); - break; - - /* identical to 'ColInfo' in XLS */ - case 0x003C: /* 'BrtColInfo' */ - if(!opts.cellStyles) break; - while(val.e >= val.s) { - colinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level }; - if(!seencol) { seencol = true; find_mdw_colw(val.w/256); } - process_col(colinfo[val.e+1]); - } - break; - - case 0x00A1: /* 'BrtBeginAFilter' */ - s['!autofilter'] = { ref:encode_range(val) }; - break; - - case 0x01DC: /* 'BrtMargins' */ - s['!margins'] = val; - break; - - case 0x0093: /* 'BrtWsProp' */ - if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; - if(val.name) wb.Sheets[idx].CodeName = val.name; - if(val.above || val.left) s['!outline'] = { above: val.above, left: val.left }; - break; - - case 0x0089: /* 'BrtBeginWsView' */ - if(!wb.Views) wb.Views = [{}]; - if(!wb.Views[0]) wb.Views[0] = {}; - if(val.RTL) wb.Views[0].RTL = true; - break; - - case 0x01E5: /* 'BrtWsFmtInfo' */ - break; - - case 0x0040: /* 'BrtDVal' */ - case 0x041D: /* 'BrtDVal14' */ - break; - - case 0x0097: /* 'BrtPane' */ - break; - case 0x0098: /* 'BrtSel' */ - case 0x00AF: /* 'BrtAFilterDateGroupItem' */ - case 0x0284: /* 'BrtActiveX' */ - case 0x0271: /* 'BrtBigName' */ - case 0x0232: /* 'BrtBkHim' */ - case 0x018C: /* 'BrtBrk' */ - case 0x0458: /* 'BrtCFIcon' */ - case 0x047A: /* 'BrtCFRuleExt' */ - case 0x01D7: /* 'BrtCFVO' */ - case 0x041A: /* 'BrtCFVO14' */ - case 0x0289: /* 'BrtCellIgnoreEC' */ - case 0x0451: /* 'BrtCellIgnoreEC14' */ - case 0x024D: /* 'BrtCellSmartTagProperty' */ - case 0x025F: /* 'BrtCellWatch' */ - case 0x0234: /* 'BrtColor' */ - case 0x041F: /* 'BrtColor14' */ - case 0x00A8: /* 'BrtColorFilter' */ - case 0x00AE: /* 'BrtCustomFilter' */ - case 0x049C: /* 'BrtCustomFilter14' */ - case 0x01F3: /* 'BrtDRef' */ - case 0x01FB: /* 'BrtDXF' */ - case 0x0226: /* 'BrtDrawing' */ - case 0x00AB: /* 'BrtDynamicFilter' */ - case 0x00A7: /* 'BrtFilter' */ - case 0x0499: /* 'BrtFilter14' */ - case 0x00A9: /* 'BrtIconFilter' */ - case 0x049D: /* 'BrtIconFilter14' */ - case 0x0227: /* 'BrtLegacyDrawing' */ - case 0x0228: /* 'BrtLegacyDrawingHF' */ - case 0x0295: /* 'BrtListPart' */ - case 0x027F: /* 'BrtOleObject' */ - case 0x01DE: /* 'BrtPageSetup' */ - case 0x0219: /* 'BrtPhoneticInfo' */ - case 0x01DD: /* 'BrtPrintOptions' */ - case 0x0218: /* 'BrtRangeProtection' */ - case 0x044F: /* 'BrtRangeProtection14' */ - case 0x02A8: /* 'BrtRangeProtectionIso' */ - case 0x0450: /* 'BrtRangeProtectionIso14' */ - case 0x0400: /* 'BrtRwDescent' */ - case 0x0297: /* 'BrtSheetCalcProp' */ - case 0x0217: /* 'BrtSheetProtection' */ - case 0x02A6: /* 'BrtSheetProtectionIso' */ - case 0x01F8: /* 'BrtSlc' */ - case 0x0413: /* 'BrtSparkline' */ - case 0x01AC: /* 'BrtTable' */ - case 0x00AA: /* 'BrtTop10Filter' */ - case 0x0C00: /* 'BrtUid' */ - case 0x0032: /* 'BrtValueMeta' */ - case 0x0816: /* 'BrtWebExtension' */ - case 0x0415: /* 'BrtWsFmtInfoEx14' */ - break; - - case 0x0023: /* 'BrtFRTBegin' */ - pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ - pass = false; break; - case 0x0025: /* 'BrtACBegin' */ - state.push(RT); pass = true; break; - case 0x0026: /* 'BrtACEnd' */ - state.pop(); pass = false; break; - - default: - if(RR.T){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }, opts); - - delete opts.supbooks; - delete opts['!row']; - - if(!s["!ref"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s["!ref"] = encode_range(ref || refguess); - if(opts.sheetRows && s["!ref"]) { - var tmpref = safe_decode_range(s["!ref"]); - if(opts.sheetRows <= +tmpref.e.r) { - 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(merges.length > 0) s["!merges"] = merges; - if(colinfo.length > 0) s["!cols"] = colinfo; - if(rowinfo.length > 0) s["!rows"] = rowinfo; - return s; -} - -/* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ { - if(cell.v === undefined) return false; - var vv = ""; - switch(cell.t) { - case 'b': vv = cell.v ? "1" : "0"; break; - case 'd': // no BrtCellDate :( - cell = dup(cell); - cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; - break; - /* falls through */ - case 'n': case 'e': vv = ''+cell.v; break; - default: vv = cell.v; break; - } - var o/*:any*/ = ({r:R, c:C}/*:any*/); - /* TODO: cell style */ - o.s = get_cell_style(opts.cellXfs, cell, opts); - if(cell.l) ws['!links'].push([encode_cell(o), cell.l]); - if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); - switch(cell.t) { - case 's': case 'str': - if(opts.bookSST) { - vv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings); - o.t = "s"; o.v = vv; - if(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o)); - else write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o)); - } else { - o.t = "str"; - if(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o)); - else write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o)); - } - return true; - case 'n': - /* TODO: determine threshold for Real vs RK */ - if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) { - if(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o)); - else write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o)); - } else { - if(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o)); - else write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o)); - } return true; - case 'b': - o.t = "b"; - if(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o)); - else write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o)); - return true; - case 'e': - o.t = "e"; - if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o)); - else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o)); - return true; - } - if(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o)); - else write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o)); - return true; -} - -function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { - var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols/*:Array*/ = []; - write_record(ba, 0x0091 /* BrtBeginSheetData */); - var dense = Array.isArray(ws); - var cap = range.e.r; - if(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1); - for(var R = range.s.r; R <= cap; ++R) { - rr = encode_row(R); - /* [ACCELLTABLE] */ - /* BrtRowHdr */ - write_row_header(ba, ws, range, R); - var last_seen = false; - if(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) { - /* *16384CELL */ - if(R === range.s.r) cols[C] = encode_col(C); - ref = cols[C] + rr; - var cell = dense ? (ws[R]||[])[C] : ws[ref]; - if(!cell) { last_seen = false; continue; } - /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); - } - } - write_record(ba, 0x0092 /* BrtEndSheetData */); -} - -function write_MERGECELLS(ba, ws/*:Worksheet*/) { - if(!ws || !ws['!merges']) return; - write_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length)); - ws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); }); - write_record(ba, 0x00B2 /* BrtEndMergeCells */); -} - -function write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) { - if(!ws || !ws['!cols']) return; - write_record(ba, 0x0186 /* BrtBeginColInfos */); - ws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); }); - write_record(ba, 0x0187 /* BrtEndColInfos */); -} - -function write_IGNOREECS(ba, ws/*:Worksheet*/) { - if(!ws || !ws['!ref']) return; - write_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */); - write_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); - write_record(ba, 0x028A /* BrtEndCellIgnoreECs */); -} - -function write_HLINKS(ba, ws/*:Worksheet*/, rels) { - /* *BrtHLink */ - ws['!links'].forEach(function(l) { - if(!l[1].Target) return; - var rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, ""), RELS.HLINK); - write_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId)); - }); - delete ws['!links']; -} -function write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) { - /* [BrtLegacyDrawing] */ - if(ws['!comments'].length > 0) { - var rId = add_rels(rels, -1, "../drawings/vmlDrawing" + (idx+1) + ".vml", RELS.VML); - write_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID("rId" + rId)); - ws['!legacy'] = rId; - } -} - -function write_AUTOFILTER(ba, ws, wb, idx) { - if(!ws['!autofilter']) return; - var data = ws['!autofilter']; - var ref = typeof data.ref === "string" ? data.ref : encode_range(data.ref); - - /* Update FilterDatabase defined name for the worksheet */ - if(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/); - if(!wb.Workbook.Names) wb.Workbook.Names = []; - var names/*: Array */ = wb.Workbook.Names; - var range = decode_range(ref); - if(range.s.r == range.e.r) { range.e.r = decode_range(ws["!ref"]).e.r; ref = encode_range(range); } - for(var i = 0; i < names.length; ++i) { - var name = names[i]; - if(name.Name != '_xlnm._FilterDatabase') continue; - if(name.Sheet != idx) continue; - name.Ref = "'" + wb.SheetNames[idx] + "'!" + ref; break; - } - if(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: "'" + wb.SheetNames[idx] + "'!" + ref }); - - write_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref))); - /* *FILTERCOLUMN */ - /* [SORTSTATE] */ - /* BrtEndAFilter */ - write_record(ba, 0x00A2 /* BrtEndAFilter */); -} - -function write_WSVIEWS2(ba, ws, Workbook) { - write_record(ba, 0x0085 /* BrtBeginWsViews */); - { /* 1*WSVIEW2 */ - /* [ACUID] */ - write_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook)); - /* [BrtPane] */ - /* *4BrtSel */ - /* *4SXSELECT */ - /* *FRT */ - write_record(ba, 0x008A /* BrtEndWsView */); - } - /* *FRT */ - write_record(ba, 0x0086 /* BrtEndWsViews */); -} - -function write_WSFMTINFO(/*::ba, ws*/) { - /* [ACWSFMTINFO] */ - // write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws)); -} - -function write_SHEETPROTECT(ba, ws) { - if(!ws['!protect']) return; - /* [BrtSheetProtectionIso] */ - write_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect'])); -} - -function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { - var ba = buf_array(); - var s = wb.SheetNames[idx], ws = wb.Sheets[s] || {}; - var c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {} - var r = safe_decode_range(ws['!ref'] || "A1"); - if(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) { - if(opts.WTF) throw new Error("Range " + (ws['!ref'] || "A1") + " exceeds format limit A1:XFD1048576"); - r.e.c = Math.min(r.e.c, 0x3FFF); - r.e.r = Math.min(r.e.c, 0xFFFFF); - } - ws['!links'] = []; - /* passed back to write_zip and removed there */ - ws['!comments'] = []; - write_record(ba, 0x0081 /* BrtBeginSheet */); - if(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline'])); - write_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r)); - write_WSVIEWS2(ba, ws, wb.Workbook); - write_WSFMTINFO(ba, ws); - write_COLINFOS(ba, ws, idx, opts, wb); - write_CELLTABLE(ba, ws, idx, opts, wb); - /* [BrtSheetCalcProp] */ - write_SHEETPROTECT(ba, ws); - /* *([BrtRangeProtectionIso] BrtRangeProtection) */ - /* [SCENMAN] */ - write_AUTOFILTER(ba, ws, wb, idx); - /* [SORTSTATE] */ - /* [DCON] */ - /* [USERSHVIEWS] */ - write_MERGECELLS(ba, ws); - /* [BrtPhoneticInfo] */ - /* *CONDITIONALFORMATTING */ - /* [DVALS] */ - write_HLINKS(ba, ws, rels); - /* [BrtPrintOptions] */ - if(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins'])); - /* [BrtPageSetup] */ - /* [HEADERFOOTER] */ - /* [RWBRK] */ - /* [COLBRK] */ - /* *BrtBigName */ - /* [CELLWATCHES] */ - if(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws); - /* [SMARTTAGS] */ - /* [BrtDrawing] */ - write_LEGACYDRAWING(ba, ws, idx, rels); - /* [BrtLegacyDrawingHF] */ - /* [BrtBkHim] */ - /* [OLEOBJECTS] */ - /* [ACTIVEXCONTROLS] */ - /* [WEBPUBITEMS] */ - /* [LISTPARTS] */ - /* FRTWORKSHEET */ - write_record(ba, 0x0082 /* BrtEndSheet */); - return ba.end(); -} -function parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ { - var col/*:Array*/ = []; - var num = data.match(/^/); - var f; - - /* 21.2.2.150 pt CT_NumVal */ - (data.match(/(.*?)<\/c:pt>/mg)||[]).forEach(function(pt) { - var q = pt.match(/(.*)<\/c:v><\/c:pt>/); - if(!q) return; - col[+q[1]] = num ? +q[2] : q[2]; - }); - - /* 21.2.2.71 formatCode CT_Xstring */ - var nf = unescapexml((data.match(/([\s\S]*?)<\/c:formatCode>/) || ["","General"])[1]); - - (data.match(/(.*?)<\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,""); }); - - return [col, nf, f]; -} - -/* 21.2 DrawingML - Charts */ -function parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) { - var cs/*:Worksheet*/ = ((csheet || {"!type":"chart"})/*:any*/); - if(!data) return csheet; - /* 21.2.2.27 chart CT_Chart */ - - var C = 0, R = 0, col = "A"; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; - - /* 21.2.2.120 numCache CT_NumData */ - (data.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(nc) { - var cache = parse_Cache(nc); - refguess.s.r = refguess.s.c = 0; - refguess.e.c = C; - col = encode_col(C); - cache[0].forEach(function(n,i) { - cs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] }; - R = i; - }); - if(refguess.e.r < R) refguess.e.r = R; - ++C; - }); - if(C > 0) cs["!ref"] = encode_range(refguess); - return cs; -} -/* 18.3 Worksheets also covers Chartsheets */ -function parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ { - if(!data) return data; - /* 18.3.1.12 chartsheet CT_ChartSheet */ - if(!rels) rels = {'!id':{}}; - var s = ({'!type':"chart", '!drawel':null, '!rel':""}/*:any*/); - var m; - - /* 18.3.1.83 sheetPr CT_ChartsheetPr */ - var sheetPr = data.match(sheetprregex); - if(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx); - - /* 18.3.1.36 drawing CT_Drawing */ - if((m = data.match(/drawing r:id="(.*?)"/))) s['!rel'] = m[1]; - - if(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']]; - return s; -} -function write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { - var o = [XML_HEADER, writextag('chartsheet', null, { - 'xmlns': XMLNS_main[0], - 'xmlns:r': XMLNS.r - })]; - o[o.length] = writextag("drawing", null, {"r:id": "rId1"}); - add_rels(rels, -1, "../drawings/drawing" + (idx+1) + ".xml", RELS.DRAW); - if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } - return o.join(""); -} - -/* [MS-XLSB] 2.4.331 BrtCsProp */ -function parse_BrtCsProp(data, length/*:number*/) { - data.l += 10; - var name = parse_XLWideString(data, length - 10); - return { name: name }; -} - -/* [MS-XLSB] 2.1.7.7 Chart Sheet */ -function parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ { - if(!data) return data; - if(!rels) rels = {'!id':{}}; - var s = {'!type':"chart", '!drawel':null, '!rel':""}; - var state/*:Array*/ = []; - var pass = false; - recordhopper(data, function cs_parse(val, R, RT) { - switch(RT) { - - case 0x0226: /* 'BrtDrawing' */ - s['!rel'] = val; break; - - case 0x028B: /* 'BrtCsProp' */ - if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; - if(val.name) wb.Sheets[idx].CodeName = val.name; - break; - - case 0x0232: /* 'BrtBkHim' */ - case 0x028C: /* 'BrtCsPageSetup' */ - case 0x029D: /* 'BrtCsProtection' */ - case 0x02A7: /* 'BrtCsProtectionIso' */ - case 0x0227: /* 'BrtLegacyDrawing' */ - case 0x0228: /* 'BrtLegacyDrawingHF' */ - case 0x01DC: /* 'BrtMargins' */ - case 0x0C00: /* 'BrtUid' */ - break; - - case 0x0023: /* 'BrtFRTBegin' */ - pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ - pass = false; break; - case 0x0025: /* 'BrtACBegin' */ - state.push(RT); break; - case 0x0026: /* 'BrtACEnd' */ - state.pop(); break; - - default: - if(R.T > 0) state.push(RT); - else if(R.T < 0) state.pop(); - else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }, opts); - - if(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']]; - return s; -} -function write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) { - var ba = buf_array(); - write_record(ba, 0x0081 /* BrtBeginSheet */); - /* [BrtCsProp] */ - /* CSVIEWS */ - /* [[BrtCsProtectionIso] BrtCsProtection] */ - /* [USERCSVIEWS] */ - /* [BrtMargins] */ - /* [BrtCsPageSetup] */ - /* [HEADERFOOTER] */ - /* BrtDrawing */ - /* [BrtLegacyDrawing] */ - /* [BrtLegacyDrawingHF] */ - /* [BrtBkHim] */ - /* [WEBPUBITEMS] */ - /* FRTCHARTSHEET */ - write_record(ba, 0x0082 /* BrtEndSheet */); - return ba.end(); -} -/* 18.2.28 (CT_WorkbookProtection) Defaults */ -var WBPropsDef = [ - ['allowRefreshQuery', false, "bool"], - ['autoCompressPictures', true, "bool"], - ['backupFile', false, "bool"], - ['checkCompatibility', false, "bool"], - ['CodeName', ''], - ['date1904', false, "bool"], - ['defaultThemeVersion', 0, "int"], - ['filterPrivacy', false, "bool"], - ['hidePivotFieldList', false, "bool"], - ['promptedSolutions', false, "bool"], - ['publishItems', false, "bool"], - ['refreshAllConnections', false, "bool"], - ['saveExternalLinkValues', true, "bool"], - ['showBorderUnselectedTables', true, "bool"], - ['showInkAnnotation', true, "bool"], - ['showObjects', 'all'], - ['showPivotChartFilter', false, "bool"], - ['updateLinks', 'userSet'] -]; - -/* 18.2.30 (CT_BookView) Defaults */ -var WBViewDef = (/* unused pure expression or super */ null && ([ - ['activeTab', 0, "int"], - ['autoFilterDateGrouping', true, "bool"], - ['firstSheet', 0, "int"], - ['minimized', false, "bool"], - ['showHorizontalScroll', true, "bool"], - ['showSheetTabs', true, "bool"], - ['showVerticalScroll', true, "bool"], - ['tabRatio', 600, "int"], - ['visibility', 'visible'] - //window{Height,Width}, {x,y}Window -])); - -/* 18.2.19 (CT_Sheet) Defaults */ -var SheetDef = (/* unused pure expression or super */ null && ([ - //['state', 'visible'] -])); - -/* 18.2.2 (CT_CalcPr) Defaults */ -var CalcPrDef = (/* unused pure expression or super */ null && ([ - ['calcCompleted', 'true'], - ['calcMode', 'auto'], - ['calcOnSave', 'true'], - ['concurrentCalc', 'true'], - ['fullCalcOnLoad', 'false'], - ['fullPrecision', 'true'], - ['iterate', 'false'], - ['iterateCount', '100'], - ['iterateDelta', '0.001'], - ['refMode', 'A1'] -])); - -/* 18.2.3 (CT_CustomWorkbookView) Defaults */ -/*var CustomWBViewDef = [ - ['autoUpdate', 'false'], - ['changesSavedWin', 'false'], - ['includeHiddenRowCol', 'true'], - ['includePrintSettings', 'true'], - ['maximized', 'false'], - ['minimized', 'false'], - ['onlySync', 'false'], - ['personalView', 'false'], - ['showComments', 'commIndicator'], - ['showFormulaBar', 'true'], - ['showHorizontalScroll', 'true'], - ['showObjects', 'all'], - ['showSheetTabs', 'true'], - ['showStatusbar', 'true'], - ['showVerticalScroll', 'true'], - ['tabRatio', '600'], - ['xWindow', '0'], - ['yWindow', '0'] -];*/ - -function push_defaults_array(target, defaults) { - for(var j = 0; j != target.length; ++j) { var w = target[j]; - for(var i=0; i != defaults.length; ++i) { var z = defaults[i]; - if(w[z[0]] == null) w[z[0]] = z[1]; - else switch(z[2]) { - case "bool": if(typeof w[z[0]] == "string") w[z[0]] = parsexmlbool(w[z[0]]); break; - case "int": if(typeof w[z[0]] == "string") w[z[0]] = parseInt(w[z[0]], 10); break; - } - } - } -} -function push_defaults(target, defaults) { - for(var i = 0; i != defaults.length; ++i) { var z = defaults[i]; - if(target[z[0]] == null) target[z[0]] = z[1]; - else switch(z[2]) { - case "bool": if(typeof target[z[0]] == "string") target[z[0]] = parsexmlbool(target[z[0]]); break; - case "int": if(typeof target[z[0]] == "string") target[z[0]] = parseInt(target[z[0]], 10); break; - } - } -} - -function parse_wb_defaults(wb) { - push_defaults(wb.WBProps, WBPropsDef); - push_defaults(wb.CalcPr, CalcPrDef); - - push_defaults_array(wb.WBView, WBViewDef); - push_defaults_array(wb.Sheets, SheetDef); - - _ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904); -} - -function safe1904(wb/*:Workbook*/)/*:string*/ { - /* TODO: store date1904 somewhere else */ - if(!wb.Workbook) return "false"; - if(!wb.Workbook.WBProps) return "false"; - return parsexmlbool(wb.Workbook.WBProps.date1904) ? "true" : "false"; -} - -var badchars = /*#__PURE__*/"][*?\/\\".split(""); -function check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ { - if(n.length > 31) { if(safe) return false; throw new Error("Sheet names cannot exceed 31 chars"); } - var _good = true; - badchars.forEach(function(c) { - if(n.indexOf(c) == -1) return; - if(!safe) throw new Error("Sheet name cannot contain : \\ / ? * [ ]"); - _good = false; - }); - return _good; -} -function check_wb_names(N, S, codes) { - N.forEach(function(n,i) { - check_ws_name(n); - for(var j = 0; j < i; ++j) if(n == N[j]) throw new Error("Duplicate Sheet Name: " + n); - if(codes) { - var cn = (S && S[i] && S[i].CodeName) || n; - if(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error("Bad Code Name: Worksheet" + cn); - } - }); -} -function check_wb(wb) { - if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); - if(!wb.SheetNames.length) throw new Error("Workbook is empty"); - var Sheets = (wb.Workbook && wb.Workbook.Sheets) || []; - check_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw); - for(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i); - /* TODO: validate workbook */ -} -/* 18.2 Workbook */ -var wbnsregex = /<\w+:workbook/; -function parse_wb_xml(data, opts)/*:WorkbookFile*/ { - if(!data) throw new Error("Could not find file"); - var wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: "" }/*::)*/; - var pass = false, xmlns = "xmlns"; - var dname = {}, dnstart = 0; - data.replace(tagregex, function xml_wb(x, idx) { - var y/*:any*/ = parsexmltag(x); - switch(strip_ns(y[0])) { - case '': break; - - /* 18.2.13 fileVersion CT_FileVersion ? */ - case '': case '': break; - - /* 18.2.12 fileSharing CT_FileSharing ? */ - case '': break; - - /* 18.2.28 workbookPr CT_WorkbookPr ? */ - case '': - WBPropsDef.forEach(function(w) { - if(y[w[0]] == null) return; - switch(w[2]) { - case "bool": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break; - case "int": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break; - default: wb.WBProps[w[0]] = y[w[0]]; - } - }); - if(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName); - break; - case '': break; - - /* 18.2.29 workbookProtection CT_WorkbookProtection ? */ - case '': break; - - /* 18.2.1 bookViews CT_BookViews ? */ - case '': case '': break; - /* 18.2.30 workbookView CT_BookView + */ - case '': delete y[0]; wb.WBView.push(y); break; - case '': break; - - /* 18.2.20 sheets CT_Sheets 1 */ - case '': case '': break; // aggregate sheet - /* 18.2.19 sheet CT_Sheet + */ - case '': break; - - /* 18.2.15 functionGroups CT_FunctionGroups ? */ - case '': break; - /* 18.2.14 functionGroup CT_FunctionGroup + */ - case '': case '': break; - /* 18.2.8 externalReference CT_ExternalReference + */ - case '': break; - case '': case '': pass=false; break; - /* 18.2.5 definedName CT_DefinedName + */ - case '': { - dname.Ref = unescapexml(utf8read(data.slice(dnstart, idx))); - wb.Names.push(dname); - } break; - case '': break; - - /* 18.2.2 calcPr CT_CalcPr ? */ - case '': delete y[0]; wb.CalcPr = y; break; - case '': break; - - /* 18.2.16 oleSize CT_OleSize ? (ref required) */ - case '': case '': case '': break; - - /* 18.2.18 pivotCaches CT_PivotCaches ? */ - case '': case '': case '': break; - - /* 18.2.23 smartTagTypes CT_SmartTagTypes ? */ - case '': case '': break; - /* 18.2.22 smartTagType CT_SmartTagType ? */ - case '': break; - - /* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */ - case '': break; - - /* 18.2.26 webPublishObjects CT_WebPublishObjects ? */ - case '': case '': break; - /* 18.2.25 webPublishObject CT_WebPublishObject ? */ - case '': case '': case '': break; - /* 18.2.7 ext CT_Extension + */ - case '': pass=false; break; - - /* Others */ - case '': pass=true; break; - case '': pass=false; break; - - /* TODO */ - case ' 0); - - /* fileVersion */ - /* fileSharing */ - - var workbookPr/*:any*/ = ({codeName:"ThisWorkbook"}/*:any*/); - if(wb.Workbook && wb.Workbook.WBProps) { - WBPropsDef.forEach(function(x) { - /*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw "unreachable"; */ - if((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return; - if((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return; - workbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/); - }); - /*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw "unreachable"; */ - if(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; } - } - o[o.length] = (writextag('workbookPr', null, workbookPr)); - - /* workbookProtection */ - - var sheets = wb.Workbook && wb.Workbook.Sheets || []; - var i = 0; - - /* bookViews only written if first worksheet is hidden */ - if(sheets && sheets[0] && !!sheets[0].Hidden) { - o[o.length] = ""; - for(i = 0; i != wb.SheetNames.length; ++i) { - if(!sheets[i]) break; - if(!sheets[i].Hidden) break; - } - if(i == wb.SheetNames.length) i = 0; - o[o.length] = ''; - o[o.length] = ""; - } - - o[o.length] = ""; - for(i = 0; i != wb.SheetNames.length; ++i) { - var sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/); - sht.sheetId = ""+(i+1); - sht["r:id"] = "rId"+(i+1); - if(sheets[i]) switch(sheets[i].Hidden) { - case 1: sht.state = "hidden"; break; - case 2: sht.state = "veryHidden"; break; - } - o[o.length] = (writextag('sheet',null,sht)); - } - o[o.length] = ""; - - /* functionGroups */ - /* externalReferences */ - - if(write_names) { - o[o.length] = ""; - if(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) { - var d/*:any*/ = {name:n.Name}; - if(n.Comment) d.comment = n.Comment; - if(n.Sheet != null) d.localSheetId = ""+n.Sheet; - if(n.Hidden) d.hidden = "1"; - if(!n.Ref) return; - o[o.length] = writextag('definedName', escapexml(n.Ref), d); - }); - o[o.length] = ""; - } - - /* calcPr */ - /* oleSize */ - /* customWorkbookViews */ - /* pivotCaches */ - /* smartTagPr */ - /* smartTagTypes */ - /* webPublishing */ - /* fileRecoveryPr */ - /* webPublishObjects */ - /* extLst */ - - if(o.length>2){ o[o.length] = ''; o[1]=o[1].replace("/>",">"); } - return o.join(""); -} -/* [MS-XLSB] 2.4.304 BrtBundleSh */ -function parse_BrtBundleSh(data, length/*:number*/) { - var z = {}; - z.Hidden = data.read_shift(4); //hsState ST_SheetState - z.iTabID = data.read_shift(4); - z.strRelID = parse_RelID(data,length-8); - z.name = parse_XLWideString(data); - return z; -} -function write_BrtBundleSh(data, o) { - if(!o) o = new_buf(127); - o.write_shift(4, data.Hidden); - o.write_shift(4, data.iTabID); - write_RelID(data.strRelID, o); - write_XLWideString(data.name.slice(0,31), o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.815 BrtWbProp */ -function parse_BrtWbProp(data, length)/*:WBProps*/ { - var o/*:WBProps*/ = ({}/*:any*/); - var flags = data.read_shift(4); - o.defaultThemeVersion = data.read_shift(4); - var strName = (length > 8) ? parse_XLWideString(data) : ""; - if(strName.length > 0) o.CodeName = strName; - o.autoCompressPictures = !!(flags & 0x10000); - o.backupFile = !!(flags & 0x40); - o.checkCompatibility = !!(flags & 0x1000); - o.date1904 = !!(flags & 0x01); - o.filterPrivacy = !!(flags & 0x08); - o.hidePivotFieldList = !!(flags & 0x400); - o.promptedSolutions = !!(flags & 0x10); - o.publishItems = !!(flags & 0x800); - o.refreshAllConnections = !!(flags & 0x40000); - o.saveExternalLinkValues = !!(flags & 0x80); - o.showBorderUnselectedTables = !!(flags & 0x04); - o.showInkAnnotation = !!(flags & 0x20); - o.showObjects = ["all", "placeholders", "none"][(flags >> 13) & 0x03]; - o.showPivotChartFilter = !!(flags & 0x8000); - o.updateLinks = ["userSet", "never", "always"][(flags >> 8) & 0x03]; - return o; -} -function write_BrtWbProp(data/*:?WBProps*/, o) { - if(!o) o = new_buf(72); - var flags = 0; - if(data) { - /* TODO: mirror parse_BrtWbProp fields */ - if(data.filterPrivacy) flags |= 0x08; - } - o.write_shift(4, flags); - o.write_shift(4, 0); - write_XLSBCodeName(data && data.CodeName || "ThisWorkbook", o); - return o.slice(0, o.l); -} - -function parse_BrtFRTArchID$(data, length) { - var o = {}; - data.read_shift(4); - o.ArchID = data.read_shift(4); - data.l += length - 8; - return o; -} - -/* [MS-XLSB] 2.4.687 BrtName */ -function parse_BrtName(data, length, opts) { - var end = data.l + length; - data.l += 4; //var flags = data.read_shift(4); - data.l += 1; //var chKey = data.read_shift(1); - var itab = data.read_shift(4); - var name = parse_XLNameWideString(data); - var formula = parse_XLSBNameParsedFormula(data, 0, opts); - var comment = parse_XLNullableWideString(data); - //if(0 /* fProc */) { - // unusedstring1: XLNullableWideString - // description: XLNullableWideString - // helpTopic: XLNullableWideString - // unusedstring2: XLNullableWideString - //} - data.l = end; - var out = ({Name:name, Ptg:formula}/*:any*/); - if(itab < 0xFFFFFFF) out.Sheet = itab; - if(comment) out.Comment = comment; - return out; -} - -/* [MS-XLSB] 2.1.7.61 Workbook */ -function parse_wb_bin(data, opts)/*:WorkbookFile*/ { - var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; - var state/*:Array*/ = []; - var pass = false; - - if(!opts) opts = {}; - opts.biff = 12; - - var Names = []; - var supbooks = ([[]]/*:any*/); - supbooks.SheetNames = []; - supbooks.XTI = []; - - XLSBRecordEnum[0x0010] = { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }; - - recordhopper(data, function hopper_wb(val, R, RT) { - switch(RT) { - case 0x009C: /* 'BrtBundleSh' */ - supbooks.SheetNames.push(val.name); - wb.Sheets.push(val); break; - - case 0x0099: /* 'BrtWbProp' */ - wb.WBProps = val; break; - - case 0x0027: /* 'BrtName' */ - if(val.Sheet != null) opts.SID = val.Sheet; - val.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts); - delete opts.SID; - delete val.Ptg; - Names.push(val); - break; - case 0x040C: /* 'BrtNameExt' */ break; - - case 0x0165: /* 'BrtSupSelf' */ - case 0x0166: /* 'BrtSupSame' */ - case 0x0163: /* 'BrtSupBookSrc' */ - case 0x029B: /* 'BrtSupAddin' */ - if(!supbooks[0].length) supbooks[0] = [RT, val]; - else supbooks.push([RT, val]); - supbooks[supbooks.length - 1].XTI = []; - break; - case 0x016A: /* 'BrtExternSheet' */ - if(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; } - supbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); - supbooks.XTI = supbooks.XTI.concat(val); - break; - case 0x0169: /* 'BrtPlaceholderName' */ - break; - - case 0x0817: /* 'BrtAbsPath15' */ - case 0x009E: /* 'BrtBookView' */ - case 0x008F: /* 'BrtBeginBundleShs' */ - case 0x0298: /* 'BrtBeginFnGroup' */ - case 0x0161: /* 'BrtBeginExternals' */ - break; - - /* case 'BrtModelTimeGroupingCalcCol' */ - case 0x0C00: /* 'BrtUid' */ - case 0x0C01: /* 'BrtRevisionPtr' */ - case 0x0216: /* 'BrtBookProtection' */ - case 0x02A5: /* 'BrtBookProtectionIso' */ - case 0x009D: /* 'BrtCalcProp' */ - case 0x0262: /* 'BrtCrashRecErr' */ - case 0x0802: /* 'BrtDecoupledPivotCacheID' */ - case 0x009B: /* 'BrtFileRecover' */ - case 0x0224: /* 'BrtFileSharing' */ - case 0x02A4: /* 'BrtFileSharingIso' */ - case 0x0080: /* 'BrtFileVersion' */ - case 0x0299: /* 'BrtFnGroup' */ - case 0x0850: /* 'BrtModelRelationship' */ - case 0x084D: /* 'BrtModelTable' */ - case 0x0225: /* 'BrtOleSize' */ - case 0x0805: /* 'BrtPivotTableRef' */ - case 0x0254: /* 'BrtSmartTagType' */ - case 0x081C: /* 'BrtTableSlicerCacheID' */ - case 0x081B: /* 'BrtTableSlicerCacheIDs' */ - case 0x0822: /* 'BrtTimelineCachePivotCacheID' */ - case 0x018D: /* 'BrtUserBookView' */ - case 0x009A: /* 'BrtWbFactoid' */ - case 0x045D: /* 'BrtWbProp14' */ - case 0x0229: /* 'BrtWebOpt' */ - case 0x082B: /* 'BrtWorkBookPr15' */ - break; - - case 0x0023: /* 'BrtFRTBegin' */ - state.push(RT); pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ - state.pop(); pass = false; break; - case 0x0025: /* 'BrtACBegin' */ - state.push(RT); pass = true; break; - case 0x0026: /* 'BrtACEnd' */ - state.pop(); pass = false; break; - - case 0x0010: /* 'BrtFRTArchID$' */ break; - - default: - if(R.T){/* empty */} - else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error("Unexpected record 0x" + RT.toString(16)); - } - }, opts); - - parse_wb_defaults(wb); - - // $FlowIgnore - wb.Names = Names; - - (wb/*:any*/).supbooks = supbooks; - return wb; -} - -function write_BUNDLESHS(ba, wb/*::, opts*/) { - write_record(ba, 0x008F /* BrtBeginBundleShs */); - for(var idx = 0; idx != wb.SheetNames.length; ++idx) { - var viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0; - var d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] }; - write_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d)); - } - write_record(ba, 0x0090 /* BrtEndBundleShs */); -} - -/* [MS-XLSB] 2.4.649 BrtFileVersion */ -function write_BrtFileVersion(data, o) { - if(!o) o = new_buf(127); - for(var i = 0; i != 4; ++i) o.write_shift(4, 0); - write_XLWideString("SheetJS", o); - write_XLWideString(XLSX.version, o); - write_XLWideString(XLSX.version, o); - write_XLWideString("7262", o); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -/* [MS-XLSB] 2.4.301 BrtBookView */ -function write_BrtBookView(idx, o) { - if(!o) o = new_buf(29); - o.write_shift(-4, 0); - o.write_shift(-4, 460); - o.write_shift(4, 28800); - o.write_shift(4, 17600); - o.write_shift(4, 500); - o.write_shift(4, idx); - o.write_shift(4, idx); - var flags = 0x78; - o.write_shift(1, flags); - return o.length > o.l ? o.slice(0, o.l) : o; -} - -function write_BOOKVIEWS(ba, wb/*::, opts*/) { - /* required if hidden tab appears before visible tab */ - if(!wb.Workbook || !wb.Workbook.Sheets) return; - var sheets = wb.Workbook.Sheets; - var i = 0, vistab = -1, hidden = -1; - for(; i < sheets.length; ++i) { - if(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i; - else if(sheets[i].Hidden == 1 && hidden == -1) hidden = i; - } - if(hidden > vistab) return; - write_record(ba, 0x0087 /* BrtBeginBookViews */); - write_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab)); - /* 1*(BrtBookView *FRT) */ - write_record(ba, 0x0088 /* BrtEndBookViews */); -} - -/* [MS-XLSB] 2.4.305 BrtCalcProp */ -/*function write_BrtCalcProp(data, o) { - if(!o) o = new_buf(26); - o.write_shift(4,0); // force recalc - o.write_shift(4,1); - o.write_shift(4,0); - write_Xnum(0, o); - o.write_shift(-4, 1023); - o.write_shift(1, 0x33); - o.write_shift(1, 0x00); - return o; -}*/ - -/* [MS-XLSB] 2.4.646 BrtFileRecover */ -/*function write_BrtFileRecover(data, o) { - if(!o) o = new_buf(1); - o.write_shift(1,0); - return o; -}*/ - -/* [MS-XLSB] 2.1.7.61 Workbook */ -function write_wb_bin(wb, opts) { - var ba = buf_array(); - write_record(ba, 0x0083 /* BrtBeginBook */); - write_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion()); - /* [[BrtFileSharingIso] BrtFileSharing] */ - write_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null)); - /* [ACABSPATH] */ - /* [[BrtBookProtectionIso] BrtBookProtection] */ - write_BOOKVIEWS(ba, wb, opts); - write_BUNDLESHS(ba, wb, opts); - /* [FNGROUP] */ - /* [EXTERNALS] */ - /* *BrtName */ - /* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */ - /* [BrtOleSize] */ - /* *(BrtUserBookView *FRT) */ - /* [PIVOTCACHEIDS] */ - /* [BrtWbFactoid] */ - /* [SMARTTAGTYPES] */ - /* [BrtWebOpt] */ - /* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */ - /* [WEBPUBITEMS] */ - /* [CRERRS] */ - /* FRTWORKBOOK */ - write_record(ba, 0x0084 /* BrtEndBook */); - - return ba.end(); -} -function parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ { - if(name.slice(-4)===".bin") return parse_wb_bin((data/*:any*/), opts); - return parse_wb_xml((data/*:any*/), opts); -} - -function parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ { - if(name.slice(-4)===".bin") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles); - return parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles); -} - -function parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ { - if(name.slice(-4)===".bin") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles); - return parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles); -} - -function parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ { - if(name.slice(-4)===".bin") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles); - return parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles); -} - -function parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ { - if(name.slice(-4)===".bin") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles); - return parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles); -} - -function parse_sty(data, name/*:string*/, themes, opts) { - if(name.slice(-4)===".bin") return parse_sty_bin((data/*:any*/), themes, opts); - return parse_sty_xml((data/*:any*/), themes, opts); -} - -function parse_theme(data/*:string*/, name/*:string*/, opts) { - return parse_theme_xml(data, opts); -} - -function parse_sst(data, name/*:string*/, opts)/*:SST*/ { - if(name.slice(-4)===".bin") return parse_sst_bin((data/*:any*/), opts); - return parse_sst_xml((data/*:any*/), opts); -} - -function parse_cmnt(data, name/*:string*/, opts)/*:Array*/ { - if(name.slice(-4)===".bin") return parse_comments_bin((data/*:any*/), opts); - return parse_comments_xml((data/*:any*/), opts); -} - -function parse_cc(data, name/*:string*/, opts) { - if(name.slice(-4)===".bin") return parse_cc_bin((data/*:any*/), name, opts); - return parse_cc_xml((data/*:any*/), name, opts); -} - -function parse_xlink(data, rel, name/*:string*/, opts) { - if(name.slice(-4)===".bin") return parse_xlink_bin((data/*:any*/), rel, name, opts); - return parse_xlink_xml((data/*:any*/), rel, name, opts); -} - -function parse_xlmeta(data, name/*:string*/, opts) { - if(name.slice(-4)===".bin") return parse_xlmeta_bin((data/*:any*/), name, opts); - return parse_xlmeta_xml((data/*:any*/), name, opts); -} - -function write_wb(wb, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_wb_bin : write_wb_xml)(wb, opts); -} - -function write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) { - return (name.slice(-4)===".bin" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels); -} - -// eslint-disable-next-line no-unused-vars -function write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) { - return (name.slice(-4)===".bin" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels); -} - -function write_sty(data, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_sty_bin : write_sty_xml)(data, opts); -} - -function write_sst(data/*:SST*/, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_sst_bin : write_sst_xml)(data, opts); -} - -function write_cmnt(data/*:Array*/, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_comments_bin : write_comments_xml)(data, opts); -} -/* -function write_cc(data, name:string, opts) { - return (name.slice(-4)===".bin" ? write_cc_bin : write_cc_xml)(data, opts); -} -*/ - -function write_xlmeta(name/*:string*/) { - return (name.slice(-4)===".bin" ? write_xlmeta_bin : write_xlmeta_xml)(); -} -var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; -var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; -function xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) { - var words = tag.split(/\s+/); - var z/*:any*/ = ([]/*:any*/); 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(!y || !y[2]) continue; */ - if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1); - else { - if(y[1].slice(0,6) === "xmlns:") w = "xmlns"+y[1].slice(6); - else w = y[1].slice(j+1); - z[w] = y[2].slice(1,y[2].length-1); - } - } - return z; -} -function xlml_parsexmltagobj(tag/*:string*/) { - 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(!y || !y[2]) continue; */ - if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1); - else { - if(y[1].slice(0,6) === "xmlns:") w = "xmlns"+y[1].slice(6); - else w = y[1].slice(j+1); - z[w] = y[2].slice(1,y[2].length-1); - } - } - return z; -} - -// ---- - -/* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap/*: {[string]:string}*/; - -function xlml_format(format, value)/*:string*/ { - var fmt = XLMLFormatMap[format] || unescapexml(format); - if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); -} - -function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { - var oval/*:any*/ = 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(key)] = oval; -} - -function safe_format_xlml(cell/*:Cell*/, nf, o) { - if(cell.t === 'z') return; - if(!o || o.cellText !== false) try { - if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } - else if(nf === "General") { - if(cell.t === 'n') { - if((cell.v|0) === cell.v) cell.w = cell.v.toString(10); - else cell.w = SSF_general_num(cell.v); - } - else cell.w = SSF_general(cell.v); - } - else cell.w = xlml_format(nf||"General", cell.v); - } catch(e) { if(o.WTF) throw e; } - try { - var z = XLMLFormatMap[nf]||nf||"General"; - if(o.cellNF) cell.z = z; - if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } - } - } 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; -} - -/* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) { - var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; - var interiors = []; - var i = 0; - if(sid === undefined && row) sid = row.StyleID; - if(sid === undefined && csty) sid = csty.StyleID; - while(styles[sid] !== undefined) { - if(styles[sid].nf) nf = styles[sid].nf; - if(styles[sid].Interior) interiors.push(styles[sid].Interior); - if(!styles[sid].Parent) break; - sid = styles[sid].Parent; - } - switch(data.Type) { - case 'Boolean': - cell.t = 'b'; - cell.v = parsexmlbool(xml); - break; - case 'String': - cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = (xml.indexOf("<") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, "") : cell.r); // todo: BR etc - break; - case 'DateTime': - if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); - if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; - if(!nf || nf == "General") nf = "yyyy-mm-dd"; - /* falls through */ - case 'Number': - if(cell.v === undefined) cell.v=+xml; - if(!cell.t) cell.t = 'n'; - break; - case 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break; - default: - if(xml == "" && ss == "") { cell.t = 'z'; } - else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } - break; - } - safe_format_xlml(cell, nf, o); - if(o.cellFormula !== false) { - if(cell.Formula) { - var fstr = unescapexml(cell.Formula); - /* strictly speaking, the leading = is required but some writers omit */ - if(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1); - cell.f = rc_to_a1(fstr, base); - delete cell.Formula; - if(cell.ArrayRange == "RC") cell.F = rc_to_a1("RC:RC", base); - else if(cell.ArrayRange) { - cell.F = rc_to_a1(cell.ArrayRange, base); - arrayf.push([safe_decode_range(cell.F), cell.F]); - } - } else { - for(i = 0; i < arrayf.length; ++i) - if(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r) - if(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c) - cell.F = arrayf[i][1]; - } - } - if(o.cellStyles) { - interiors.forEach(function(x) { - if(!S.patternType && x.patternType) S.patternType = x.patternType; - }); - cell.s = S; - } - if(cell.StyleID !== undefined) cell.ixfe = cell.StyleID; -} - -function xlml_clean_comment(comment/*:any*/) { - comment.t = comment.v || ""; - comment.t = comment.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"); - comment.v = comment.w = comment.ixfe = undefined; -} - -/* TODO: Everything */ -function parse_xlml_xml(d, _opts)/*:Workbook*/ { - var opts = _opts || {}; - make_ssf(); - var str = debom(xlml_normalize(d)); - if(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') { - if(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str)); - else str = utf8read(str); - } - var opening = str.slice(0, 1024).toLowerCase(), ishtml = false; - opening = opening.replace(/".*?"/g, ""); - if((opening.indexOf(">") & 1023) > Math.min((opening.indexOf(",") & 1023), (opening.indexOf(";")&1023))) { var _o = dup(opts); _o.type = "string"; return PRN.to_workbook(str, _o); } - if(opening.indexOf("= 0) ishtml = true; }); - if(ishtml) return html_to_workbook(str, opts); - - XLMLFormatMap = ({ - "General Number": "General", - "General Date": table_fmt[22], - "Long Date": "dddd, mmmm dd, yyyy", - "Medium Date": table_fmt[15], - "Short Date": table_fmt[14], - "Long Time": table_fmt[19], - "Medium Time": table_fmt[18], - "Short Time": table_fmt[20], - "Currency": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', - "Fixed": table_fmt[2], - "Standard": table_fmt[4], - "Percent": table_fmt[10], - "Scientific": table_fmt[11], - "Yes/No": '"Yes";"Yes";"No";@', - "True/False": '"True";"True";"False";@', - "On/Off": '"Yes";"Yes";"No";@' - }/*:any*/); - - - var Rn; - var state = [], tmp; - if(DENSE != null && opts.dense == null) opts.dense = DENSE; - var sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = ""; - var cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars - var dtag = xlml_parsexmltag(''), didx = 0; - var c = 0, r = 0; - var refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; - var styles = {}, stag = {}; - var ss = "", fidx = 0; - var merges/*:Array*/ = []; - var Props = {}, Custprops = {}, pidx = 0, cp = []; - var comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/); - var cstys = [], csty, seencol = false; - var arrayf/*:Array<[Range, string]>*/ = []; - var rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0; - var Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {}; - xlmlregex.lastIndex = 0; - str = str.replace(//mg,""); - var raw_Rn3 = ""; - while((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) { - case 'data' /*case 'Data'*/: - if(raw_Rn3 == "data") { - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} - else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]); - break; - } - if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); - else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } - break; - case 'cell' /*case 'Cell'*/: - if(Rn[1]==='/'){ - if(comments.length > 0) cell.c = comments; - if((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) { - if(opts.dense) { - if(!cursheet[r]) cursheet[r] = []; - cursheet[r][c] = cell; - } else cursheet[encode_col(c) + encode_row(r)] = cell; - } - if(cell.HRef) { - cell.l = ({Target:unescapexml(cell.HRef)}/*:any*/); - if(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip; - delete cell.HRef; delete cell.HRefScreenTip; - } - if(cell.MergeAcross || cell.MergeDown) { - cc = c + (parseInt(cell.MergeAcross,10)|0); - rr = r + (parseInt(cell.MergeDown,10)|0); - merges.push({s:{c:c,r:r},e:{c:cc,r:rr}}); - } - if(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; } - else if(cell.MergeAcross || cell.MergeDown) { - /*:: if(!cc) cc = 0; if(!rr) rr = 0; */ - for(var cma = c; cma <= cc; ++cma) { - for(var cmd = r; cmd <= rr; ++cmd) { - if(cma > c || cmd > r) { - if(opts.dense) { - if(!cursheet[cmd]) cursheet[cmd] = []; - cursheet[cmd][cma] = {t:'z'}; - } else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'}; - } - } - } - c = cc + 1; - } - else ++c; - } else { - cell = xlml_parsexmltagobj(Rn[0]); - if(cell.Index) c = +cell.Index - 1; - if(c < refguess.s.c) refguess.s.c = c; - if(c > refguess.e.c) refguess.e.c = c; - if(Rn[0].slice(-2) === "/>") ++c; - comments = []; - } - break; - case 'row' /*case 'Row'*/: - if(Rn[1]==='/' || Rn[0].slice(-2) === "/>") { - if(r < refguess.s.r) refguess.s.r = r; - if(r > refguess.e.r) refguess.e.r = r; - if(Rn[0].slice(-2) === "/>") { - row = xlml_parsexmltag(Rn[0]); - if(row.Index) r = +row.Index - 1; - } - c = 0; ++r; - } else { - row = xlml_parsexmltag(Rn[0]); - if(row.Index) r = +row.Index - 1; - rowobj = {}; - if(row.AutoFitHeight == "0" || row.Height) { - rowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx); - rowinfo[r] = rowobj; - } - if(row.Hidden == "1") { rowobj.hidden = true; rowinfo[r] = rowobj; } - } - break; - case 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */ - if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|")); - sheetnames.push(sheetname); - if(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) { - cursheet["!ref"] = encode_range(refguess); - if(opts.sheetRows && opts.sheetRows <= refguess.e.r) { - cursheet["!fullref"] = cursheet["!ref"]; - refguess.e.r = opts.sheetRows - 1; - cursheet["!ref"] = encode_range(refguess); - } - } - if(merges.length) cursheet["!merges"] = merges; - if(cstys.length > 0) cursheet["!cols"] = cstys; - if(rowinfo.length > 0) cursheet["!rows"] = rowinfo; - sheets[sheetname] = cursheet; - } else { - refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; - r = c = 0; - state.push([Rn[3], false]); - tmp = xlml_parsexmltag(Rn[0]); - sheetname = unescapexml(tmp.Name); - cursheet = (opts.dense ? [] : {}); - merges = []; - arrayf = []; - rowinfo = []; - wsprops = {name:sheetname, Hidden:0}; - Workbook.Sheets.push(wsprops); - } - break; - case 'table' /*case 'Table'*/: - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} - else if(Rn[0].slice(-2) == "/>") break; - else { - state.push([Rn[3], false]); - cstys = []; seencol = false; - } - break; - - case 'style' /*case 'Style'*/: - if(Rn[1]==='/') process_style_xlml(styles, stag, opts); - else stag = xlml_parsexmltag(Rn[0]); - break; - - case 'numberformat' /*case 'NumberFormat'*/: - stag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || "General"); - if(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf]; - for(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break; - if(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; } - break; - - case 'column' /*case 'Column'*/: - if(state[state.length-1][0] !== /*'Table'*/'table') break; - csty = xlml_parsexmltag(Rn[0]); - if(csty.Hidden) { csty.hidden = true; delete csty.Hidden; } - if(csty.Width) csty.wpx = parseInt(csty.Width, 10); - if(!seencol && csty.wpx > 10) { - seencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx); - for(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]); - } - if(seencol) process_col(csty); - cstys[(csty.Index-1||cstys.length)] = csty; - for(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty); - break; - - case 'namedrange' /*case 'NamedRange'*/: - if(Rn[1]==='/') break; - if(!Workbook.Names) Workbook.Names = []; - var _NamedRange = parsexmltag(Rn[0]); - var _DefinedName/*:DefinedName*/ = ({ - Name: _NamedRange.Name, - Ref: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0}) - }/*:any*/); - if(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1; - /*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName); - break; - - case 'namedcell' /*case 'NamedCell'*/: break; - case 'b' /*case 'B'*/: break; - case 'i' /*case 'I'*/: break; - case 'u' /*case 'U'*/: break; - case 's' /*case 'S'*/: break; - case 'em' /*case 'EM'*/: break; - case 'h2' /*case 'H2'*/: break; - case 'h3' /*case 'H3'*/: break; - case 'sub' /*case 'Sub'*/: break; - case 'sup' /*case 'Sup'*/: break; - case 'span' /*case 'Span'*/: break; - case 'alignment' /*case 'Alignment'*/: - break; - case 'borders' /*case 'Borders'*/: break; - case 'border' /*case 'Border'*/: break; - case 'font' /*case 'Font'*/: - if(Rn[0].slice(-2) === "/>") break; - else if(Rn[1]==="/") ss += str.slice(fidx, Rn.index); - else fidx = Rn.index + Rn[0].length; - break; - case 'interior' /*case 'Interior'*/: - if(!opts.cellStyles) break; - stag.Interior = xlml_parsexmltag(Rn[0]); - break; - case 'protection' /*case 'Protection'*/: break; - - case 'author' /*case 'Author'*/: - case 'title' /*case 'Title'*/: - case 'description' /*case 'Description'*/: - case 'created' /*case 'Created'*/: - case 'keywords' /*case 'Keywords'*/: - case 'subject' /*case 'Subject'*/: - case 'category' /*case 'Category'*/: - case 'company' /*case 'Company'*/: - case 'lastauthor' /*case 'LastAuthor'*/: - case 'lastsaved' /*case 'LastSaved'*/: - case 'lastprinted' /*case 'LastPrinted'*/: - case 'version' /*case 'Version'*/: - case 'revision' /*case 'Revision'*/: - case 'totaltime' /*case 'TotalTime'*/: - case 'hyperlinkbase' /*case 'HyperlinkBase'*/: - case 'manager' /*case 'Manager'*/: - case 'contentstatus' /*case 'ContentStatus'*/: - case 'identifier' /*case 'Identifier'*/: - case 'language' /*case 'Language'*/: - case 'appname' /*case 'AppName'*/: - if(Rn[0].slice(-2) === "/>") break; - else if(Rn[1]==="/") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index)); - else pidx = Rn.index + Rn[0].length; - break; - case 'paragraphs' /*case 'Paragraphs'*/: break; - - case 'styles' /*case 'Styles'*/: - case 'workbook' /*case 'Workbook'*/: - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} - else state.push([Rn[3], false]); - break; - - case 'comment' /*case 'Comment'*/: - if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|")); - xlml_clean_comment(comment); - comments.push(comment); - } else { - state.push([Rn[3], false]); - tmp = xlml_parsexmltag(Rn[0]); - comment = ({a:tmp.Author}/*:any*/); - } - break; - - case 'autofilter' /*case 'AutoFilter'*/: - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} - else if(Rn[0].charAt(Rn[0].length-2) !== '/') { - var AutoFilter = xlml_parsexmltag(Rn[0]); - cursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\$/g,"") }; - state.push([Rn[3], true]); - } - break; - - case 'name' /*case 'Name'*/: break; - - case 'datavalidation' /*case 'DataValidation'*/: - if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|")); - } else { - if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]); - } - break; - - case 'pixelsperinch' /*case 'PixelsPerInch'*/: - break; - case 'componentoptions' /*case 'ComponentOptions'*/: - case 'documentproperties' /*case 'DocumentProperties'*/: - case 'customdocumentproperties' /*case 'CustomDocumentProperties'*/: - case 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: - case 'pivottable' /*case 'PivotTable'*/: - case 'pivotcache' /*case 'PivotCache'*/: - case 'names' /*case 'Names'*/: - case 'mapinfo' /*case 'MapInfo'*/: - case 'pagebreaks' /*case 'PageBreaks'*/: - case 'querytable' /*case 'QueryTable'*/: - case 'sorting' /*case 'Sorting'*/: - case 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/: - case 'conditionalformatting' /*case 'ConditionalFormatting'*/: - case 'smarttagtype' /*case 'SmartTagType'*/: - case 'smarttags' /*case 'SmartTags'*/: - case 'excelworkbook' /*case 'ExcelWorkbook'*/: - case 'workbookoptions' /*case 'WorkbookOptions'*/: - case 'worksheetoptions' /*case 'WorksheetOptions'*/: - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} - else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]); - break; - - case 'null' /*case 'Null'*/: break; - - default: - /* FODS file root is */ - if(state.length == 0 && Rn[3] == "document") return parse_fods(str, opts); - /* UOS file root is */ - if(state.length == 0 && Rn[3] == "uof"/*"UOF"*/) return parse_fods(str, opts); - - var seen = true; - switch(state[state.length-1][0]) { - /* OfficeDocumentSettings */ - case 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) { - case 'allowpng' /*case 'AllowPNG'*/: break; - case 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break; - case 'downloadcomponents' /*case 'DownloadComponents'*/: break; - case 'locationofcomponents' /*case 'LocationOfComponents'*/: break; - case 'colors' /*case 'Colors'*/: break; - case 'color' /*case 'Color'*/: break; - case 'index' /*case 'Index'*/: break; - case 'rgb' /*case 'RGB'*/: break; - case 'targetscreensize' /*case 'TargetScreenSize'*/: break; - case 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break; - default: seen = false; - } break; - - /* ComponentOptions */ - case 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) { - case 'toolbar' /*case 'Toolbar'*/: break; - case 'hideofficelogo' /*case 'HideOfficeLogo'*/: break; - case 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break; - case 'label' /*case 'Label'*/: break; - case 'caption' /*case 'Caption'*/: break; - case 'maxheight' /*case 'MaxHeight'*/: break; - case 'maxwidth' /*case 'MaxWidth'*/: break; - case 'nextsheetnumber' /*case 'NextSheetNumber'*/: break; - default: seen = false; - } break; - - /* ExcelWorkbook */ - case 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) { - case 'date1904' /*case 'Date1904'*/: - /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ - Workbook.WBProps.date1904 = true; - break; - case 'windowheight' /*case 'WindowHeight'*/: break; - case 'windowwidth' /*case 'WindowWidth'*/: break; - case 'windowtopx' /*case 'WindowTopX'*/: break; - case 'windowtopy' /*case 'WindowTopY'*/: break; - case 'tabratio' /*case 'TabRatio'*/: break; - case 'protectstructure' /*case 'ProtectStructure'*/: break; - case 'protectwindow' /*case 'ProtectWindow'*/: break; - case 'protectwindows' /*case 'ProtectWindows'*/: break; - case 'activesheet' /*case 'ActiveSheet'*/: break; - case 'displayinknotes' /*case 'DisplayInkNotes'*/: break; - case 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break; - case 'supbook' /*case 'SupBook'*/: break; - case 'sheetname' /*case 'SheetName'*/: break; - case 'sheetindex' /*case 'SheetIndex'*/: break; - case 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break; - case 'sheetindexlast' /*case 'SheetIndexLast'*/: break; - case 'dll' /*case 'Dll'*/: break; - case 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break; - case 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break; - case 'iteration' /*case 'Iteration'*/: break; - case 'maxiterations' /*case 'MaxIterations'*/: break; - case 'maxchange' /*case 'MaxChange'*/: break; - case 'path' /*case 'Path'*/: break; - case 'xct' /*case 'Xct'*/: break; - case 'count' /*case 'Count'*/: break; - case 'selectedsheets' /*case 'SelectedSheets'*/: break; - case 'calculation' /*case 'Calculation'*/: break; - case 'uncalced' /*case 'Uncalced'*/: break; - case 'startupprompt' /*case 'StartupPrompt'*/: break; - case 'crn' /*case 'Crn'*/: break; - case 'externname' /*case 'ExternName'*/: break; - case 'formula' /*case 'Formula'*/: break; - case 'colfirst' /*case 'ColFirst'*/: break; - case 'collast' /*case 'ColLast'*/: break; - case 'wantadvise' /*case 'WantAdvise'*/: break; - case 'boolean' /*case 'Boolean'*/: break; - case 'error' /*case 'Error'*/: break; - case 'text' /*case 'Text'*/: break; - case 'ole' /*case 'OLE'*/: break; - case 'noautorecover' /*case 'NoAutoRecover'*/: break; - case 'publishobjects' /*case 'PublishObjects'*/: break; - case 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break; - case 'number' /*case 'Number'*/: break; - case 'refmoder1c1' /*case 'RefModeR1C1'*/: break; - case 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break; - default: seen = false; - } break; - - /* WorkbookOptions */ - case 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) { - case 'owcversion' /*case 'OWCVersion'*/: break; - case 'height' /*case 'Height'*/: break; - case 'width' /*case 'Width'*/: break; - default: seen = false; - } break; - - /* WorksheetOptions */ - case 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) { - case 'visible' /*case 'Visible'*/: - if(Rn[0].slice(-2) === "/>"){/* empty */} - else if(Rn[1]==="/") switch(str.slice(pidx, Rn.index)) { - case "SheetHidden": wsprops.Hidden = 1; break; - case "SheetVeryHidden": wsprops.Hidden = 2; break; - } - else pidx = Rn.index + Rn[0].length; - break; - case 'header' /*case 'Header'*/: - if(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml'); - if(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin; - break; - case 'footer' /*case 'Footer'*/: - if(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml'); - if(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin; - break; - case 'pagemargins' /*case 'PageMargins'*/: - var pagemargins = parsexmltag(Rn[0]); - if(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml'); - if(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top; - if(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left; - if(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right; - if(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom; - break; - case 'displayrighttoleft' /*case 'DisplayRightToLeft'*/: - if(!Workbook.Views) Workbook.Views = []; - if(!Workbook.Views[0]) Workbook.Views[0] = {}; - Workbook.Views[0].RTL = true; - break; - - case 'freezepanes' /*case 'FreezePanes'*/: break; - case 'frozennosplit' /*case 'FrozenNoSplit'*/: break; - - case 'splithorizontal' /*case 'SplitHorizontal'*/: - case 'splitvertical' /*case 'SplitVertical'*/: - break; - - case 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/: - break; - - case 'activerow' /*case 'ActiveRow'*/: break; - case 'activecol' /*case 'ActiveCol'*/: break; - case 'toprowbottompane' /*case 'TopRowBottomPane'*/: break; - case 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break; - - case 'unsynced' /*case 'Unsynced'*/: break; - case 'print' /*case 'Print'*/: break; - case 'printerrors' /*case 'PrintErrors'*/: break; - case 'panes' /*case 'Panes'*/: break; - case 'scale' /*case 'Scale'*/: break; - case 'pane' /*case 'Pane'*/: break; - case 'number' /*case 'Number'*/: break; - case 'layout' /*case 'Layout'*/: break; - case 'pagesetup' /*case 'PageSetup'*/: break; - case 'selected' /*case 'Selected'*/: break; - case 'protectobjects' /*case 'ProtectObjects'*/: break; - case 'enableselection' /*case 'EnableSelection'*/: break; - case 'protectscenarios' /*case 'ProtectScenarios'*/: break; - case 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break; - case 'horizontalresolution' /*case 'HorizontalResolution'*/: break; - case 'verticalresolution' /*case 'VerticalResolution'*/: break; - case 'numberofcopies' /*case 'NumberofCopies'*/: break; - case 'activepane' /*case 'ActivePane'*/: break; - case 'toprowvisible' /*case 'TopRowVisible'*/: break; - case 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break; - case 'fittopage' /*case 'FitToPage'*/: break; - case 'rangeselection' /*case 'RangeSelection'*/: break; - case 'papersizeindex' /*case 'PaperSizeIndex'*/: break; - case 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break; - case 'pagebreakzoom' /*case 'PageBreakZoom'*/: break; - case 'filteron' /*case 'FilterOn'*/: break; - case 'fitwidth' /*case 'FitWidth'*/: break; - case 'fitheight' /*case 'FitHeight'*/: break; - case 'commentslayout' /*case 'CommentsLayout'*/: break; - case 'zoom' /*case 'Zoom'*/: break; - case 'lefttoright' /*case 'LeftToRight'*/: break; - case 'gridlines' /*case 'Gridlines'*/: break; - case 'allowsort' /*case 'AllowSort'*/: break; - case 'allowfilter' /*case 'AllowFilter'*/: break; - case 'allowinsertrows' /*case 'AllowInsertRows'*/: break; - case 'allowdeleterows' /*case 'AllowDeleteRows'*/: break; - case 'allowinsertcols' /*case 'AllowInsertCols'*/: break; - case 'allowdeletecols' /*case 'AllowDeleteCols'*/: break; - case 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break; - case 'allowformatcells' /*case 'AllowFormatCells'*/: break; - case 'allowsizecols' /*case 'AllowSizeCols'*/: break; - case 'allowsizerows' /*case 'AllowSizeRows'*/: break; - case 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/: - if(!cursheet["!outline"]) cursheet["!outline"] = {}; - cursheet["!outline"].above = true; - break; - case 'tabcolorindex' /*case 'TabColorIndex'*/: break; - case 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break; - case 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break; - case 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/: - if(!cursheet["!outline"]) cursheet["!outline"] = {}; - cursheet["!outline"].left = true; - break; - case 'blackandwhite' /*case 'BlackAndWhite'*/: break; - case 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break; - case 'displaypagebreak' /*case 'DisplayPageBreak'*/: break; - case 'rowcolheadings' /*case 'RowColHeadings'*/: break; - case 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break; - case 'noorientation' /*case 'NoOrientation'*/: break; - case 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break; - case 'zeroheight' /*case 'ZeroHeight'*/: break; - case 'viewablerange' /*case 'ViewableRange'*/: break; - case 'selection' /*case 'Selection'*/: break; - case 'protectcontents' /*case 'ProtectContents'*/: break; - default: seen = false; - } break; - - /* PivotTable */ - case 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) { - case 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break; - case 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break; - case 'compactrowindent' /*case 'CompactRowIndent'*/: break; - case 'location' /*case 'Location'*/: break; - case 'pivotfield' /*case 'PivotField'*/: break; - case 'orientation' /*case 'Orientation'*/: break; - case 'layoutform' /*case 'LayoutForm'*/: break; - case 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break; - case 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break; - case 'position' /*case 'Position'*/: break; - case 'pivotitem' /*case 'PivotItem'*/: break; - case 'datatype' /*case 'DataType'*/: break; - case 'datafield' /*case 'DataField'*/: break; - case 'sourcename' /*case 'SourceName'*/: break; - case 'parentfield' /*case 'ParentField'*/: break; - case 'ptlineitems' /*case 'PTLineItems'*/: break; - case 'ptlineitem' /*case 'PTLineItem'*/: break; - case 'countofsameitems' /*case 'CountOfSameItems'*/: break; - case 'item' /*case 'Item'*/: break; - case 'itemtype' /*case 'ItemType'*/: break; - case 'ptsource' /*case 'PTSource'*/: break; - case 'cacheindex' /*case 'CacheIndex'*/: break; - case 'consolidationreference' /*case 'ConsolidationReference'*/: break; - case 'filename' /*case 'FileName'*/: break; - case 'reference' /*case 'Reference'*/: break; - case 'nocolumngrand' /*case 'NoColumnGrand'*/: break; - case 'norowgrand' /*case 'NoRowGrand'*/: break; - case 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break; - case 'hidden' /*case 'Hidden'*/: break; - case 'subtotal' /*case 'Subtotal'*/: break; - case 'basefield' /*case 'BaseField'*/: break; - case 'mapchilditems' /*case 'MapChildItems'*/: break; - case 'function' /*case 'Function'*/: break; - case 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break; - case 'printsettitles' /*case 'PrintSetTitles'*/: break; - case 'mergelabels' /*case 'MergeLabels'*/: break; - case 'defaultversion' /*case 'DefaultVersion'*/: break; - case 'refreshname' /*case 'RefreshName'*/: break; - case 'refreshdate' /*case 'RefreshDate'*/: break; - case 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break; - case 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break; - case 'versionlastupdate' /*case 'VersionLastUpdate'*/: break; - case 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break; - case 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break; - case 'calculation' /*case 'Calculation'*/: break; - default: seen = false; - } break; - - /* PageBreaks */ - case 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) { - case 'colbreaks' /*case 'ColBreaks'*/: break; - case 'colbreak' /*case 'ColBreak'*/: break; - case 'rowbreaks' /*case 'RowBreaks'*/: break; - case 'rowbreak' /*case 'RowBreak'*/: break; - case 'colstart' /*case 'ColStart'*/: break; - case 'colend' /*case 'ColEnd'*/: break; - case 'rowend' /*case 'RowEnd'*/: break; - default: seen = false; - } break; - - /* AutoFilter */ - case 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) { - case 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break; - case 'autofiltercondition' /*case 'AutoFilterCondition'*/: break; - case 'autofilterand' /*case 'AutoFilterAnd'*/: break; - case 'autofilteror' /*case 'AutoFilterOr'*/: break; - default: seen = false; - } break; - - /* QueryTable */ - case 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) { - case 'id' /*case 'Id'*/: break; - case 'autoformatfont' /*case 'AutoFormatFont'*/: break; - case 'autoformatpattern' /*case 'AutoFormatPattern'*/: break; - case 'querysource' /*case 'QuerySource'*/: break; - case 'querytype' /*case 'QueryType'*/: break; - case 'enableredirections' /*case 'EnableRedirections'*/: break; - case 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break; - case 'urlstring' /*case 'URLString'*/: break; - case 'htmltables' /*case 'HTMLTables'*/: break; - case 'connection' /*case 'Connection'*/: break; - case 'commandtext' /*case 'CommandText'*/: break; - case 'refreshinfo' /*case 'RefreshInfo'*/: break; - case 'notitles' /*case 'NoTitles'*/: break; - case 'nextid' /*case 'NextId'*/: break; - case 'columninfo' /*case 'ColumnInfo'*/: break; - case 'overwritecells' /*case 'OverwriteCells'*/: break; - case 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break; - case 'textwizardsettings' /*case 'TextWizardSettings'*/: break; - case 'source' /*case 'Source'*/: break; - case 'number' /*case 'Number'*/: break; - case 'decimal' /*case 'Decimal'*/: break; - case 'thousandseparator' /*case 'ThousandSeparator'*/: break; - case 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break; - case 'formatsettings' /*case 'FormatSettings'*/: break; - case 'fieldtype' /*case 'FieldType'*/: break; - case 'delimiters' /*case 'Delimiters'*/: break; - case 'tab' /*case 'Tab'*/: break; - case 'comma' /*case 'Comma'*/: break; - case 'autoformatname' /*case 'AutoFormatName'*/: break; - case 'versionlastedit' /*case 'VersionLastEdit'*/: break; - case 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break; - default: seen = false; - } break; - - case 'datavalidation' /*case 'DataValidation'*/: - switch(Rn[3]) { - case 'range' /*case 'Range'*/: break; - - case 'type' /*case 'Type'*/: break; - case 'min' /*case 'Min'*/: break; - case 'max' /*case 'Max'*/: break; - case 'sort' /*case 'Sort'*/: break; - case 'descending' /*case 'Descending'*/: break; - case 'order' /*case 'Order'*/: break; - case 'casesensitive' /*case 'CaseSensitive'*/: break; - case 'value' /*case 'Value'*/: break; - case 'errorstyle' /*case 'ErrorStyle'*/: break; - case 'errormessage' /*case 'ErrorMessage'*/: break; - case 'errortitle' /*case 'ErrorTitle'*/: break; - case 'inputmessage' /*case 'InputMessage'*/: break; - case 'inputtitle' /*case 'InputTitle'*/: break; - case 'combohide' /*case 'ComboHide'*/: break; - case 'inputhide' /*case 'InputHide'*/: break; - case 'condition' /*case 'Condition'*/: break; - case 'qualifier' /*case 'Qualifier'*/: break; - case 'useblank' /*case 'UseBlank'*/: break; - case 'value1' /*case 'Value1'*/: break; - case 'value2' /*case 'Value2'*/: break; - case 'format' /*case 'Format'*/: break; - - case 'cellrangelist' /*case 'CellRangeList'*/: break; - default: seen = false; - } break; - - case 'sorting' /*case 'Sorting'*/: - case 'conditionalformatting' /*case 'ConditionalFormatting'*/: - switch(Rn[3]) { - case 'range' /*case 'Range'*/: break; - case 'type' /*case 'Type'*/: break; - case 'min' /*case 'Min'*/: break; - case 'max' /*case 'Max'*/: break; - case 'sort' /*case 'Sort'*/: break; - case 'descending' /*case 'Descending'*/: break; - case 'order' /*case 'Order'*/: break; - case 'casesensitive' /*case 'CaseSensitive'*/: break; - case 'value' /*case 'Value'*/: break; - case 'errorstyle' /*case 'ErrorStyle'*/: break; - case 'errormessage' /*case 'ErrorMessage'*/: break; - case 'errortitle' /*case 'ErrorTitle'*/: break; - case 'cellrangelist' /*case 'CellRangeList'*/: break; - case 'inputmessage' /*case 'InputMessage'*/: break; - case 'inputtitle' /*case 'InputTitle'*/: break; - case 'combohide' /*case 'ComboHide'*/: break; - case 'inputhide' /*case 'InputHide'*/: break; - case 'condition' /*case 'Condition'*/: break; - case 'qualifier' /*case 'Qualifier'*/: break; - case 'useblank' /*case 'UseBlank'*/: break; - case 'value1' /*case 'Value1'*/: break; - case 'value2' /*case 'Value2'*/: break; - case 'format' /*case 'Format'*/: break; - default: seen = false; - } break; - - /* MapInfo (schema) */ - case 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) { - case 'map' /*case 'Map'*/: break; - case 'entry' /*case 'Entry'*/: break; - case 'range' /*case 'Range'*/: break; - case 'xpath' /*case 'XPath'*/: break; - case 'field' /*case 'Field'*/: break; - case 'xsdtype' /*case 'XSDType'*/: break; - case 'filteron' /*case 'FilterOn'*/: break; - case 'aggregate' /*case 'Aggregate'*/: break; - case 'elementtype' /*case 'ElementType'*/: break; - case 'attributetype' /*case 'AttributeType'*/: break; - /* These are from xsd (XML Schema Definition) */ - case 'schema' /*case 'schema'*/: - case 'element' /*case 'element'*/: - case 'complextype' /*case 'complexType'*/: - case 'datatype' /*case 'datatype'*/: - case 'all' /*case 'all'*/: - case 'attribute' /*case 'attribute'*/: - case 'extends' /*case 'extends'*/: break; - - case 'row' /*case 'row'*/: break; - default: seen = false; - } break; - - /* SmartTags (can be anything) */ - case 'smarttags' /*case 'SmartTags'*/: break; - - default: seen = false; break; - } - if(seen) break; - /* CustomDocumentProperties */ - if(Rn[3].match(/!\[CDATA/)) break; - if(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); - if(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') { - if(Rn[0].slice(-2) === "/>") break; - else if(Rn[1]==="/") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index)); - else { cp = Rn; pidx = Rn.index + Rn[0].length; } - break; - } - if(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); - } - var out = ({}/*:any*/); - if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; - out.SheetNames = sheetnames; - out.Workbook = Workbook; - out.SSF = dup(table_fmt); - out.Props = Props; - out.Custprops = Custprops; - return out; -} - -function parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ { - fix_read_opts(opts=opts||{}); - switch(opts.type||"base64") { - case "base64": return parse_xlml_xml(Base64_decode(data), opts); - case "binary": case "buffer": case "file": return parse_xlml_xml(data, opts); - case "array": return parse_xlml_xml(a2s(data), opts); - } - /*:: throw new Error("unsupported type " + opts.type); */ -} - -/* TODO */ -function write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ { - var o/*:Array*/ = []; - /* DocumentProperties */ - if(wb.Props) o.push(xlml_write_docprops(wb.Props, opts)); - /* CustomDocumentProperties */ - if(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts)); - return o.join(""); -} -/* TODO */ -function write_wb_xlml(/*::wb, opts*/)/*:string*/ { - /* OfficeDocumentSettings */ - /* ExcelWorkbook */ - return ""; -} -/* TODO */ -function write_sty_xlml(wb, opts)/*:string*/ { - /* Styles */ - var styles/*:Array*/ = ['']; - opts.cellXfs.forEach(function(xf, id) { - var payload/*:Array*/ = []; - payload.push(writextag('NumberFormat', null, {"ss:Format": escapexml(table_fmt[xf.numFmtId])})); - - var o = /*::(*/{"ss:ID": "s" + (21+id)}/*:: :any)*/; - styles.push(writextag('Style', payload.join(""), o)); - }); - return writextag("Styles", styles.join("")); -} -function write_name_xlml(n) { return writextag("NamedRange", null, {"ss:Name": n.Name, "ss:RefersTo":"=" + a1_to_rc(n.Ref, {r:0,c:0})}); } -function write_names_xlml(wb/*::, opts*/)/*:string*/ { - if(!((wb||{}).Workbook||{}).Names) return ""; - /*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error("unreachable"); */ - var names/*:Array*/ = wb.Workbook.Names; - var out/*:Array*/ = []; - for(var i = 0; i < names.length; ++i) { - var n = names[i]; - if(n.Sheet != null) continue; - if(n.Name.match(/^_xlfn\./)) continue; - out.push(write_name_xlml(n)); - } - return writextag("Names", out.join("")); -} -function write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { - if(!ws) return ""; - if(!((wb||{}).Workbook||{}).Names) return ""; - /*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error("unreachable"); */ - var names/*:Array*/ = wb.Workbook.Names; - var out/*:Array*/ = []; - for(var i = 0; i < names.length; ++i) { - var n = names[i]; - if(n.Sheet != idx) continue; - /*switch(n.Name) { - case "_": continue; - }*/ - if(n.Name.match(/^_xlfn\./)) continue; - out.push(write_name_xlml(n)); - } - return out.join(""); -} -/* WorksheetOptions */ -function write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { - if(!ws) return ""; - var o/*:Array*/ = []; - /* NOTE: spec technically allows any order, but stick with implied order */ - - /* FitToPage */ - /* DoNotDisplayColHeaders */ - /* DoNotDisplayRowHeaders */ - /* ViewableRange */ - /* Selection */ - /* GridlineColor */ - /* Name */ - /* ExcelWorksheetType */ - /* IntlMacro */ - /* Unsynced */ - /* Selected */ - /* CodeName */ - - if(ws['!margins']) { - o.push(""); - if(ws['!margins'].header) o.push(writextag("Header", null, {'x:Margin':ws['!margins'].header})); - if(ws['!margins'].footer) o.push(writextag("Footer", null, {'x:Margin':ws['!margins'].footer})); - o.push(writextag("PageMargins", null, { - 'x:Bottom': ws['!margins'].bottom || "0.75", - 'x:Left': ws['!margins'].left || "0.7", - 'x:Right': ws['!margins'].right || "0.7", - 'x:Top': ws['!margins'].top || "0.75" - })); - o.push(""); - } - - /* PageSetup */ - /* DisplayPageBreak */ - /* TransitionExpressionEvaluation */ - /* TransitionFormulaEntry */ - /* Print */ - /* Zoom */ - /* PageLayoutZoom */ - /* PageBreakZoom */ - /* ShowPageBreakZoom */ - /* DefaultRowHeight */ - /* DefaultColumnWidth */ - /* StandardWidth */ - - if(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) { - /* Visible */ - if(wb.Workbook.Sheets[idx].Hidden) o.push(writextag("Visible", (wb.Workbook.Sheets[idx].Hidden == 1 ? "SheetHidden" : "SheetVeryHidden"), {})); - else { - /* Selected */ - for(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break; - if(i == idx) o.push(""); - } - } - - /* LeftColumnVisible */ - - if(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(""); - - /* GridlineColorIndex */ - /* DisplayFormulas */ - /* DoNotDisplayGridlines */ - /* DoNotDisplayHeadings */ - /* DoNotDisplayOutline */ - /* ApplyAutomaticOutlineStyles */ - /* NoSummaryRowsBelowDetail */ - /* NoSummaryColumnsRightDetail */ - /* DoNotDisplayZeros */ - /* ActiveRow */ - /* ActiveColumn */ - /* FilterOn */ - /* RangeSelection */ - /* TopRowVisible */ - /* TopRowBottomPane */ - /* LeftColumnRightPane */ - /* ActivePane */ - /* SplitHorizontal */ - /* SplitVertical */ - /* FreezePanes */ - /* FrozenNoSplit */ - /* TabColorIndex */ - /* Panes */ - - /* NOTE: Password not supported in XLML Format */ - if(ws['!protect']) { - o.push(writetag("ProtectContents", "True")); - if(ws['!protect'].objects) o.push(writetag("ProtectObjects", "True")); - if(ws['!protect'].scenarios) o.push(writetag("ProtectScenarios", "True")); - if(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag("EnableSelection", "NoSelection")); - else if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag("EnableSelection", "UnlockedCells")); - [ - [ "formatCells", "AllowFormatCells" ], - [ "formatColumns", "AllowSizeCols" ], - [ "formatRows", "AllowSizeRows" ], - [ "insertColumns", "AllowInsertCols" ], - [ "insertRows", "AllowInsertRows" ], - [ "insertHyperlinks", "AllowInsertHyperlinks" ], - [ "deleteColumns", "AllowDeleteCols" ], - [ "deleteRows", "AllowDeleteRows" ], - [ "sort", "AllowSort" ], - [ "autoFilter", "AllowFilter" ], - [ "pivotTables", "AllowUsePivotTables" ] - ].forEach(function(x) { if(ws['!protect'][x[0]]) o.push("<"+x[1]+"/>"); }); - } - - if(o.length == 0) return ""; - return writextag("WorksheetOptions", o.join(""), {xmlns:XLMLNS.x}); -} -function write_ws_xlml_comment(comments/*:Array*/)/*:string*/ { - return comments.map(function(c) { - // TODO: formatted text - var t = xlml_unfixstr(c.t||""); - var d =writextag("ss:Data", t, {"xmlns":"http://www.w3.org/TR/REC-html40"}); - return writextag("Comment", d, {"ss:Author":c.a}); - }).join(""); -} -function write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{ - if(!cell || (cell.v == undefined && cell.f == undefined)) return ""; - - var attr = {}; - if(cell.f) attr["ss:Formula"] = "=" + escapexml(a1_to_rc(cell.f, addr)); - if(cell.F && cell.F.slice(0, ref.length) == ref) { - var end = decode_cell(cell.F.slice(ref.length + 1)); - attr["ss:ArrayRange"] = "RC:R" + (end.r == addr.r ? "" : "[" + (end.r - addr.r) + "]") + "C" + (end.c == addr.c ? "" : "[" + (end.c - addr.c) + "]"); - } - - if(cell.l && cell.l.Target) { - attr["ss:HRef"] = escapexml(cell.l.Target); - if(cell.l.Tooltip) attr["x:HRefScreenTip"] = escapexml(cell.l.Tooltip); - } - - if(ws['!merges']) { - var marr = ws['!merges']; - for(var mi = 0; mi != marr.length; ++mi) { - if(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue; - if(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c; - if(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r; - } - } - - var t = "", p = ""; - switch(cell.t) { - case 'z': if(!opts.sheetStubs) return ""; break; - case 'n': t = 'Number'; p = String(cell.v); break; - case 'b': t = 'Boolean'; p = (cell.v ? "1" : "0"); break; - case 'e': t = 'Error'; p = BErr[cell.v]; break; - case 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break; - case 's': t = 'String'; p = escapexlml(cell.v||""); break; - } - /* TODO: cell style */ - var os = get_cell_style(opts.cellXfs, cell, opts); - attr["ss:StyleID"] = "s" + (21+os); - attr["ss:Index"] = addr.c + 1; - var _v = (cell.v != null ? p : ""); - var m = cell.t == 'z' ? "" : ('' + _v + ''); - - if((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c); - - return writextag("Cell", m, attr); -} -function write_ws_xlml_row(R/*:number*/, row)/*:string*/ { - var o = ''; -} -/* TODO */ -function write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { - if(!ws['!ref']) return ""; - var range/*:Range*/ = safe_decode_range(ws['!ref']); - var marr/*:Array*/ = ws['!merges'] || [], mi = 0; - var o/*:Array*/ = []; - if(ws['!cols']) ws['!cols'].forEach(function(n, i) { - process_col(n); - var w = !!n.width; - var p = col_obj_w(i, n); - var k/*:any*/ = {"ss:Index":i+1}; - if(w) k['ss:Width'] = width2px(p.width); - if(n.hidden) k['ss:Hidden']="1"; - o.push(writextag("Column",null,k)); - }); - var dense = Array.isArray(ws); - for(var R = range.s.r; R <= range.e.r; ++R) { - var row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])]; - for(var C = range.s.c; C <= range.e.c; ++C) { - var skip = false; - for(mi = 0; mi != marr.length; ++mi) { - if(marr[mi].s.c > C) continue; - if(marr[mi].s.r > R) continue; - if(marr[mi].e.c < C) continue; - if(marr[mi].e.r < R) continue; - if(marr[mi].s.c != C || marr[mi].s.r != R) skip = true; - break; - } - if(skip) continue; - var addr = {r:R,c:C}; - var ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref]; - row.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr)); - } - row.push(""); - if(row.length > 2) o.push(row.join("")); - } - return o.join(""); -} -function write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ { - var o/*:Array*/ = []; - var s = wb.SheetNames[idx]; - var ws = wb.Sheets[s]; - - var t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : ""; - if(t.length > 0) o.push("" + t + ""); - - /* Table */ - t = ws ? write_ws_xlml_table(ws, opts, idx, wb) : ""; - if(t.length > 0) o.push("
" + t + "
"); - - /* WorksheetOptions */ - o.push(write_ws_xlml_wsopts(ws, opts, idx, wb)); - - return o.join(""); -} -function write_xlml(wb, opts)/*:string*/ { - if(!opts) opts = {}; - if(!wb.SSF) wb.SSF = dup(table_fmt); - if(wb.SSF) { - make_ssf(); SSF_load_table(wb.SSF); - // $FlowIgnore - opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0; - opts.ssf = wb.SSF; - opts.cellXfs = []; - get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); - } - var d/*:Array*/ = []; - d.push(write_props_xlml(wb, opts)); - d.push(write_wb_xlml(wb, opts)); - d.push(""); - d.push(""); - for(var i = 0; i < wb.SheetNames.length; ++i) - d.push(writextag("Worksheet", write_ws_xlml(i, opts, wb), {"ss:Name":escapexml(wb.SheetNames[i])})); - d[2] = write_sty_xlml(wb, opts); - d[3] = write_names_xlml(wb, opts); - return XML_HEADER + writextag("Workbook", d.join(""), { - 'xmlns': XLMLNS.ss, - 'xmlns:o': XLMLNS.o, - 'xmlns:x': XLMLNS.x, - 'xmlns:ss': XLMLNS.ss, - 'xmlns:dt': XLMLNS.dt, - 'xmlns:html': XLMLNS.html - }); -} -/* [MS-OLEDS] 2.3.8 CompObjStream */ -function parse_compobj(obj/*:CFBEntry*/) { - var v = {}; - var o = obj.content; - /*:: if(o == null) return; */ - - /* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */ - o.l = 28; - - v.AnsiUserType = o.read_shift(0, "lpstr-ansi"); - v.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o); - - if(o.length - o.l <= 4) return v; - - var m/*:number*/ = o.read_shift(4); - if(m == 0 || m > 40) return v; - o.l-=4; v.Reserved1 = o.read_shift(0, "lpstr-ansi"); - - if(o.length - o.l <= 4) return v; - m = o.read_shift(4); - if(m !== 0x71b239f4) return v; - v.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o); - - m = o.read_shift(4); - if(m == 0 || m > 40) return v; - o.l-=4; v.Reserved2 = o.read_shift(0, "lpwstr"); -} - -/* - Continue logic for: - - 2.4.58 Continue 0x003c - - 2.4.59 ContinueBigName 0x043c - - 2.4.60 ContinueFrt 0x0812 - - 2.4.61 ContinueFrt11 0x0875 - - 2.4.62 ContinueFrt12 0x087f -*/ -var CONTINUE_RT = (/* unused pure expression or super */ null && ([ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ])); -function slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ { - var l = length; - var bufs = []; - var d = blob.slice(blob.l,blob.l+l); - if(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) { - case 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */: - break; - case 0x0085 /* BoundSheet8 */: - break; - default: - opts.enc.insitu(d); - } - bufs.push(d); - blob.l += l; - var nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt]; - var start = 0; - while(next != null && CONTINUE_RT.indexOf(nextrt) > -1) { - l = __readUInt16LE(blob,blob.l+2); - start = blob.l + 4; - if(nextrt == 0x0812 /* ContinueFrt */) start += 4; - else if(nextrt == 0x0875 || nextrt == 0x087f) { - start += 12; - } - d = blob.slice(start,blob.l+4+l); - bufs.push(d); - blob.l += 4+l; - next = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]); - } - var b = (bconcat(bufs)/*:any*/); - prep_blob(b, 0); - var ll = 0; b.lens = []; - for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } - if(b.length < length) throw "XLS Record 0x" + RecordType.toString(16) + " Truncated: " + b.length + " < " + length; - return R.f(b, b.length, opts); -} - -function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { - if(p.t === 'z') return; - if(!p.XF) return; - var fmtid = 0; - try { - fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; - } catch(e) { if(opts.WTF) throw e; } - if(!opts || opts.cellText !== false) try { - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } - else if(fmtid === 0 || fmtid == "General") { - if(p.t === 'n') { - if((p.v|0) === p.v) p.w = p.v.toString(10); - else p.w = SSF_general_num(p.v); - } - else p.w = SSF_general(p.v); - } - else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); - } catch(e) { if(opts.WTF) throw e; } - if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - var _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } - } -} - -function make_cell(val, ixfe, t)/*:Cell*/ { - return ({v:val, ixfe:ixfe, t:t}/*:any*/); -} - -// 2.3.2 -function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { - var wb = ({opts:{}}/*:any*/); - var Sheets = {}; - if(DENSE != null && options.dense == null) options.dense = DENSE; - var out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/); - var Directory = {}; - var range/*:Range*/ = ({}/*:any*/); - var last_formula = null; - var sst/*:SST*/ = ([]/*:any*/); - var cur_sheet = ""; - var Preamble = {}; - var lastcell, last_cell = "", cc/*:Cell*/, cmnt, rngC, rngR; - var sharedf = {}; - var arrayf/*:Array<[Range, string]>*/ = []; - var temp_val/*:Cell*/; - var country; - var XFs = []; /* XF records */ - var palette/*:Array<[number, number, number]>*/ = []; - var Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {}; - var get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ { - if(icv < 8) return XLSIcv[icv]; - if(icv < 64) return palette[icv-8] || XLSIcv[icv]; - return XLSIcv[icv]; - }; - var process_cell_style = function pcs(cell, line/*:any*/, options) { - var xfd = line.XF.data; - if(!xfd || !xfd.patternType || !options || !options.cellStyles) return; - line.s = ({}/*:any*/); - line.s.patternType = xfd.patternType; - var t; - if((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; } - if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } - }; - var addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) { - if(file_depth > 1) return; - if(options.sheetRows && cell.r >= options.sheetRows) return; - if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); - delete line.ixfe; delete line.XF; - lastcell = cell; - last_cell = encode_cell(cell); - if(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}}; - if(cell.r < range.s.r) range.s.r = cell.r; - if(cell.c < range.s.c) range.s.c = cell.c; - if(cell.r + 1 > range.e.r) range.e.r = cell.r + 1; - if(cell.c + 1 > range.e.c) range.e.c = cell.c + 1; - if(options.cellFormula && line.f) { - for(var afi = 0; afi < arrayf.length; ++afi) { - if(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue; - if(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue; - line.F = encode_range(arrayf[afi][0]); - if(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f; - if(line.f) line.f = "" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts); - break; - } - } - { - if(options.dense) { - if(!out[cell.r]) out[cell.r] = []; - out[cell.r][cell.c] = line; - } else out[last_cell] = line; - } - }; - var opts = ({ - enc: false, // encrypted - sbcch: 0, // cch in the preceding SupBook - snames: [], // sheetnames - sharedf: sharedf, // shared formulae by address - arrayf: arrayf, // array formulae array - rrtabid: [], // RRTabId - lastuser: "", // Last User from WriteAccess - biff: 8, // BIFF version - codepage: 0, // CP from CodePage record - winlocked: 0, // fLockWn from WinProtect - cellStyles: !!options && !!options.cellStyles, - WTF: !!options && !!options.wtf - }/*:any*/); - if(options.password) opts.password = options.password; - var themes; - var merges/*:Array*/ = []; - var objects = []; - var colinfo/*:Array*/ = [], rowinfo/*:Array*/ = []; - var seencol = false; - var supbooks = ([]/*:any*/); // 1-indexed, will hold extern names - supbooks.SheetNames = opts.snames; - supbooks.sharedf = opts.sharedf; - supbooks.arrayf = opts.arrayf; - supbooks.names = []; - supbooks.XTI = []; - var last_RT = 0; - var file_depth = 0; /* TODO: make a real stack */ - var BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = []; - var FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */ - var last_lbl/*:?DefinedName*/; - - /* explicit override for some broken writers */ - opts.codepage = 1200; - set_cp(1200); - var seen_codepage = false; - while(blob.l < blob.length - 1) { - var s = blob.l; - var RecordType = blob.read_shift(2); - if(RecordType === 0 && last_RT === 0x000a /* EOF */) break; - var length = (blob.l === blob.length ? 0 : blob.read_shift(2)); - var R = XLSRecordEnum[RecordType]; - //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); - //if(!R) console.log(blob.slice(blob.l, blob.l + length)); - if(R && R.f) { - if(options.bookSheets) { - if(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break; - } - last_RT = RecordType; - if(R.r === 2 || R.r == 12) { - var rt = blob.read_shift(2); length -= 2; - if(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error("rt mismatch: " + rt + "!=" + RecordType); - if(R.r == 12){ - blob.l += 10; length -= 10; - } // skip FRT - } - //console.error(R,blob.l,length,blob.length); - var val/*:any*/ = ({}/*:any*/); - if(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/; - else val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/; - /*:: val = (val:any); */ - if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; - switch(RecordType) { - case 0x0022 /* Date1904 */: - /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ - wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; - case 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break; - case 0x002f /* FilePass */: - if(!opts.enc) blob.l = 0; - opts.enc = val; - if(!options.password) throw new Error("File is password-protected"); - if(val.valid == null) throw new Error("Encryption scheme unsupported"); - if(!val.valid) throw new Error("Password is incorrect"); - break; - case 0x005c /* WriteAccess */: opts.lastuser = val; break; - case 0x0042 /* CodePage */: - var cpval = Number(val); - /* overrides based on test cases */ - switch(cpval) { - case 0x5212: cpval = 1200; break; - case 0x8000: cpval = 10000; break; - case 0x8001: cpval = 1252; break; - } - set_cp(opts.codepage = cpval); - seen_codepage = true; - break; - case 0x013d /* RRTabId */: opts.rrtabid = val; break; - case 0x0019 /* WinProtect */: opts.winlocked = val; break; - case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; - case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; - case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; - case 0x0011 /* CalcIter */: wb.opts["CalcIter"] = val; break; - case 0x000d /* CalcMode */: wb.opts["CalcMode"] = val; break; - case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; - case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; - case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; - case 0x0081 /* WsBool */: - if(val.fDialog) out["!type"] = "dialog"; - if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; - if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; - break; // TODO - case 0x00e0 /* XF */: - XFs.push(val); break; - case 0x01ae /* SupBook */: - supbooks.push([val]); - supbooks[supbooks.length-1].XTI = []; - break; - case 0x0023: case 0x0223 /* ExternName */: - supbooks[supbooks.length-1].push(val); - break; - case 0x0018: case 0x0218 /* Lbl */: - last_lbl = ({ - Name: val.Name, - Ref: stringify_formula(val.rgce,range,null,supbooks,opts) - }/*:DefinedName*/); - if(val.itab > 0) last_lbl.Sheet = val.itab - 1; - supbooks.names.push(last_lbl); - if(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; } - supbooks[supbooks.length-1].push(val); - if(val.Name == "_xlnm._FilterDatabase" && val.itab > 0) - if(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d') - FilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) }; - break; - case 0x0016 /* ExternCount */: opts.ExternCount = val; break; - case 0x0017 /* ExternSheet */: - if(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; } - supbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break; - case 0x0894 /* NameCmt */: - /* TODO: search for correct name */ - if(opts.biff < 8) break; - if(last_lbl != null) last_lbl.Comment = val[1]; - break; - case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ - case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 0x0085 /* BoundSheet8 */: { - Directory[val.pos] = val; - opts.snames.push(val.name); - } break; - case 0x000a /* EOF */: { - if(--file_depth) break; - if(range.e) { - if(range.e.r > 0 && range.e.c > 0) { - range.e.r--; range.e.c--; - out["!ref"] = encode_range(range); - if(options.sheetRows && options.sheetRows <= range.e.r) { - var tmpri = range.e.r; - range.e.r = options.sheetRows - 1; - out["!fullref"] = out["!ref"]; - out["!ref"] = encode_range(range); - range.e.r = tmpri; - } - range.e.r++; range.e.c++; - } - if(merges.length > 0) out["!merges"] = merges; - if(objects.length > 0) out["!objects"] = objects; - if(colinfo.length > 0) out["!cols"] = colinfo; - if(rowinfo.length > 0) out["!rows"] = rowinfo; - Workbook.Sheets.push(wsprops); - } - if(cur_sheet === "") Preamble = out; else Sheets[cur_sheet] = out; - out = ((options.dense ? [] : {})/*:any*/); - } break; - case 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: { - if(opts.biff === 8) opts.biff = { - /*::[*/0x0009/*::]*/:2, - /*::[*/0x0209/*::]*/:3, - /*::[*/0x0409/*::]*/:4 - }[RecordType] || { - /*::[*/0x0200/*::]*/:2, - /*::[*/0x0300/*::]*/:3, - /*::[*/0x0400/*::]*/:4, - /*::[*/0x0500/*::]*/:5, - /*::[*/0x0600/*::]*/:8, - /*::[*/0x0002/*::]*/:2, - /*::[*/0x0007/*::]*/:2 - }[val.BIFFVer] || 8; - opts.biffguess = val.BIFFVer == 0; - if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } - if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; - out = ((options.dense ? [] : {})/*:any*/); - - if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { - if(cur_sheet === "") cur_sheet = "Sheet1"; - range = {s:{r:0,c:0},e:{r:0,c:0}}; - /* fake BoundSheet8 */ - var fakebs8 = {pos: blob.l - length, name:cur_sheet}; - Directory[fakebs8.pos] = fakebs8; - opts.snames.push(cur_sheet); - } - else cur_sheet = (Directory[s] || {name:""}).name; - if(val.dt == 0x20) out["!type"] = "chart"; - if(val.dt == 0x40) out["!type"] = "macro"; - merges = []; - objects = []; - opts.arrayf = arrayf = []; - colinfo = []; rowinfo = []; - seencol = false; - wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; - } break; - case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { - if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; - temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - } break; - case 0x0005: case 0x0205 /* BoolErr */: { - temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - } break; - case 0x027e /* RK */: { - temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - } break; - case 0x00bd /* MulRk */: { - for(var j = val.c; j <= val.C; ++j) { - var ixfe = val.rkrec[j-val.c][0]; - temp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:j, r:val.r}, temp_val, options); - } - } break; - case 0x0006: case 0x0206: case 0x0406 /* Formula */: { - if(val.val == 'String') { last_formula = val; break; } - temp_val = make_cell(val.val, val.cell.ixfe, val.tt); - temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) { - var _f = val.formula; - if(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') { - var _fr = _f[0][0][1][0], _fc = _f[0][0][1][1]; - var _fe = encode_cell({r:_fr, c:_fc}); - if(sharedf[_fe]) temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); - else temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F; - } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); - } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell(val.cell, temp_val, options); - last_formula = val; - } break; - case 0x0007: case 0x0207 /* String */: { - if(last_formula) { /* technically always true */ - last_formula.val = val; - temp_val = make_cell(val, last_formula.cell.ixfe, 's'); - temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) { - temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); - } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell(last_formula.cell, temp_val, options); - last_formula = null; - } else throw new Error("String record expects Formula"); - } break; - case 0x0021: case 0x0221 /* Array */: { - arrayf.push(val); - var _arraystart = encode_cell(val[0].s); - cc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart]; - if(options.cellFormula && cc) { - if(!last_formula) break; /* technically unreachable */ - if(!_arraystart || !cc) break; - cc.f = ""+stringify_formula(val[1], range, val[0], supbooks, opts); - cc.F = encode_range(val[0]); - } - } break; - case 0x04bc /* ShrFmla */: { - if(!options.cellFormula) break; - if(last_cell) { - /* TODO: capture range */ - if(!last_formula) break; /* technically unreachable */ - sharedf[encode_cell(last_formula.cell)]= val[0]; - cc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)]; - (cc||{}).f = ""+stringify_formula(val[0], range, lastcell, supbooks, opts); - } - } break; - case 0x00fd /* LabelSst */: - temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); - if(sst[val.isst].h) temp_val.h = sst[val.isst].h; - temp_val.XF = XFs[temp_val.ixfe]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - break; - case 0x0201 /* Blank */: if(options.sheetStubs) { - temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - } break; - case 0x00be /* 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:_j, r:val.r}, temp_val, options); - } - } break; - case 0x00d6 /* RString */: - case 0x0204 /* Label */: case 0x0004 /* BIFF2STR */: - temp_val=make_cell(val.val, val.ixfe, 's'); - temp_val.XF = XFs[temp_val.ixfe]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; - safe_format_xf(temp_val, options, wb.opts.Date1904); - addcell({c:val.c, r:val.r}, temp_val, options); - break; - - case 0x0000: case 0x0200 /* Dimensions */: { - if(file_depth === 1) range = val; /* TODO: stack */ - } break; - case 0x00fc /* SST */: { - sst = val; - } break; - case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { - BIFF2FmtTable[BIFF2Fmt++] = val[1]; - for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; - if(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163); - } - else SSF_load(val[1], val[0]); - } break; - case 0x001e /* BIFF2FORMAT */: { - BIFF2FmtTable[BIFF2Fmt++] = val; - for(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break; - if(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163); - } break; - - case 0x00e5 /* MergeCells */: merges = merges.concat(val); break; - - case 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break; - case 0x01b6 /* TxO */: opts.lastobj.TxO = val; break; - case 0x007f /* ImData */: opts.lastobj.ImData = val; break; - - case 0x01b8 /* HLink */: { - for(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR) - for(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) { - cc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})]; - if(cc) cc.l = val[1]; - } - } break; - case 0x0800 /* HLinkTooltip */: { - for(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR) - for(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) { - cc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})]; - if(cc && cc.l) cc.l.Tooltip = val[1]; - } - } break; - case 0x001c /* Note */: { - if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ - cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; - var noteobj = objects[val[2]]; - if(!cc) { - if(options.dense) { - if(!out[val[0].r]) out[val[0].r] = []; - cc = out[val[0].r][val[0].c] = ({t:"z"}/*:any*/); - } else { - cc = out[encode_cell(val[0])] = ({t:"z"}/*:any*/); - } - range.e.r = Math.max(range.e.r, val[0].r); - range.s.r = Math.min(range.s.r, val[0].r); - range.e.c = Math.max(range.e.c, val[0].c); - range.s.c = Math.min(range.s.c, val[0].c); - } - if(!cc.c) cc.c = []; - cmnt = {a:val[1],t:noteobj.TxO.t}; - cc.c.push(cmnt); - } break; - case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; - case 0x007d /* ColInfo */: { - if(!opts.cellStyles) break; - while(val.e >= val.s) { - colinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) }; - if(!seencol) { seencol = true; find_mdw_colw(val.w/256); } - process_col(colinfo[val.e+1]); - } - } break; - case 0x0208 /* Row */: { - var rowobj = {}; - if(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; } - if(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; } - if(val.hpt) { - rowinfo[val.r] = rowobj; - rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); - } - } break; - case 0x0026 /* LeftMargin */: - case 0x0027 /* RightMargin */: - case 0x0028 /* TopMargin */: - case 0x0029 /* BottomMargin */: - if(!out['!margins']) default_margins(out['!margins'] = {}); - out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; - break; - case 0x00a1 /* Setup */: // TODO - if(!out['!margins']) default_margins(out['!margins'] = {}); - out['!margins'].header = val.header; - out['!margins'].footer = val.footer; - break; - case 0x023e /* Window2 */: // TODO - // $FlowIgnore - if(val.RTL) Workbook.Views[0].RTL = true; - break; - case 0x0092 /* Palette */: palette = val; break; - case 0x0896 /* Theme */: themes = val; break; - case 0x008c /* Country */: country = val; break; - case 0x01ba /* CodeName */: { - /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ - if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; - else wsprops.CodeName = val || wsprops.name; - } break; - } - } else { - if(!R) console.error("Missing Info for XLS Record 0x" + RecordType.toString(16)); - blob.l += length; - } - } - wb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); - if(!options.bookSheets) wb.Sheets=Sheets; - if(!wb.SheetNames.length && Preamble["!ref"]) { - wb.SheetNames.push("Sheet1"); - /*jshint -W069 */ - if(wb.Sheets) wb.Sheets["Sheet1"] = Preamble; - /*jshint +W069 */ - } else wb.Preamble=Preamble; - if(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; }); - wb.Strings = sst; - wb.SSF = dup(table_fmt); - if(opts.enc) wb.Encryption = opts.enc; - if(themes) wb.Themes = themes; - wb.Metadata = {}; - if(country !== undefined) wb.Metadata.Country = country; - if(supbooks.names.length > 0) Workbook.Names = supbooks.names; - wb.Workbook = Workbook; - return wb; -} - -/* TODO: split props*/ -var PSCLSID = { - SI: "e0859ff2f94f6810ab9108002b27b3d9", - DSI: "02d5cdd59c2e1b10939708002b2cf9ae", - UDI: "05d5cdd59c2e1b10939708002b2cf9ae" -}; -function parse_xls_props(cfb/*:CFBContainer*/, props, o) { - /* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */ - var DSI = CFB.find(cfb, '/!DocumentSummaryInformation'); - if(DSI && DSI.size > 0) try { - var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI); - for(var d in DocSummary) props[d] = DocSummary[d]; - } catch(e) {if(o.WTF) throw e;/* empty */} - - /* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/ - var SI = CFB.find(cfb, '/!SummaryInformation'); - if(SI && SI.size > 0) try { - var Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI); - for(var s in Summary) if(props[s] == null) props[s] = Summary[s]; - } catch(e) {if(o.WTF) throw e;/* empty */} - - if(props.HeadingPairs && props.TitlesOfParts) { - load_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o); - delete props.HeadingPairs; delete props.TitlesOfParts; - } -} -function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { - var DSEntries = [], SEntries = [], CEntries = []; - var i = 0, Keys; - var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); - var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); - if(wb.Props) { - Keys = keys(wb.Props); - // $FlowIgnore - for(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]); - } - if(wb.Custprops) { - Keys = keys(wb.Custprops); - // $FlowIgnore - for(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]); - } - var CEntries2 = []; - for(i = 0; i < CEntries.length; ++i) { - if(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue; - if(CEntries[i][1] == null) continue; - CEntries2.push(CEntries[i]); - } - if(SEntries.length) CFB.utils.cfb_add(cfb, "/\u0005SummaryInformation", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI)); - if(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, "/\u0005DocumentSummaryInformation", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI)); -} - -function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ { -if(!options) options = {}; -fix_read_opts(options); -reset_cp(); -if(options.codepage) set_ansi(options.codepage); -var CompObj/*:?CFBEntry*/, WB/*:?any*/; -if(cfb.FullPaths) { - if(CFB.find(cfb, '/encryption')) throw new Error("File is password-protected"); - CompObj = CFB.find(cfb, '!CompObj'); - WB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book'); -} else { - switch(options.type) { - case 'base64': cfb = s2a(Base64_decode(cfb)); break; - case 'binary': cfb = s2a(cfb); break; - case 'buffer': break; - case 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break; - } - prep_blob(cfb, 0); - WB = ({content: cfb}/*:any*/); -} -var /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */; - -var _data/*:?any*/; -if(CompObj) /*::CompObjP = */parse_compobj(CompObj); -if(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/); -else/*:: if(cfb instanceof CFBContainer) */ { - var T = has_buf ? 'buffer' : 'array'; - if(WB && WB.content) WorkbookP = parse_workbook(WB.content, options); - /* Quattro Pro 7-8 */ - else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options)); - /* Quattro Pro 9 */ - else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options)); - /* Works 4 for Mac */ - else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Mac file"); - else throw new Error("Cannot find Workbook stream"); - if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb); -} - -var props = {}; -if(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options); - -WorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */ -if(options.bookFiles) WorkbookP.cfb = cfb; -/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */ -return WorkbookP; -} - - -function write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ { - var o = opts || {}; - var cfb = CFB.utils.cfb_new({root:"R"}); - var wbpath = "/Workbook"; - switch(o.bookType || "xls") { - case "xls": o.bookType = "biff8"; - /* falls through */ - case "xla": if(!o.bookType) o.bookType = "xla"; - /* falls through */ - case "biff8": wbpath = "/Workbook"; o.biff = 8; break; - case "biff5": wbpath = "/Book"; o.biff = 5; break; - default: throw new Error("invalid type " + o.bookType + " for XLS CFB"); - } - CFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o)); - if(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb); - // TODO: SI, DSI, CO - if(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == "string" ? "binary" : "buffer"})); - return cfb; -} -/* [MS-XLSB] 2.3 Record Enumeration */ -var XLSBRecordEnum = { - /*::[*/0x0000/*::]*/: { /* n:"BrtRowHdr", */ f:parse_BrtRowHdr }, - /*::[*/0x0001/*::]*/: { /* n:"BrtCellBlank", */ f:parse_BrtCellBlank }, - /*::[*/0x0002/*::]*/: { /* n:"BrtCellRk", */ f:parse_BrtCellRk }, - /*::[*/0x0003/*::]*/: { /* n:"BrtCellError", */ f:parse_BrtCellError }, - /*::[*/0x0004/*::]*/: { /* n:"BrtCellBool", */ f:parse_BrtCellBool }, - /*::[*/0x0005/*::]*/: { /* n:"BrtCellReal", */ f:parse_BrtCellReal }, - /*::[*/0x0006/*::]*/: { /* n:"BrtCellSt", */ f:parse_BrtCellSt }, - /*::[*/0x0007/*::]*/: { /* n:"BrtCellIsst", */ f:parse_BrtCellIsst }, - /*::[*/0x0008/*::]*/: { /* n:"BrtFmlaString", */ f:parse_BrtFmlaString }, - /*::[*/0x0009/*::]*/: { /* n:"BrtFmlaNum", */ f:parse_BrtFmlaNum }, - /*::[*/0x000A/*::]*/: { /* n:"BrtFmlaBool", */ f:parse_BrtFmlaBool }, - /*::[*/0x000B/*::]*/: { /* n:"BrtFmlaError", */ f:parse_BrtFmlaError }, - /*::[*/0x000C/*::]*/: { /* n:"BrtShortBlank", */ f:parse_BrtShortBlank }, - /*::[*/0x000D/*::]*/: { /* n:"BrtShortRk", */ f:parse_BrtShortRk }, - /*::[*/0x000E/*::]*/: { /* n:"BrtShortError", */ f:parse_BrtShortError }, - /*::[*/0x000F/*::]*/: { /* n:"BrtShortBool", */ f:parse_BrtShortBool }, - /*::[*/0x0010/*::]*/: { /* n:"BrtShortReal", */ f:parse_BrtShortReal }, - /*::[*/0x0011/*::]*/: { /* n:"BrtShortSt", */ f:parse_BrtShortSt }, - /*::[*/0x0012/*::]*/: { /* n:"BrtShortIsst", */ f:parse_BrtShortIsst }, - /*::[*/0x0013/*::]*/: { /* n:"BrtSSTItem", */ f:parse_RichStr }, - /*::[*/0x0014/*::]*/: { /* n:"BrtPCDIMissing" */ }, - /*::[*/0x0015/*::]*/: { /* n:"BrtPCDINumber" */ }, - /*::[*/0x0016/*::]*/: { /* n:"BrtPCDIBoolean" */ }, - /*::[*/0x0017/*::]*/: { /* n:"BrtPCDIError" */ }, - /*::[*/0x0018/*::]*/: { /* n:"BrtPCDIString" */ }, - /*::[*/0x0019/*::]*/: { /* n:"BrtPCDIDatetime" */ }, - /*::[*/0x001A/*::]*/: { /* n:"BrtPCDIIndex" */ }, - /*::[*/0x001B/*::]*/: { /* n:"BrtPCDIAMissing" */ }, - /*::[*/0x001C/*::]*/: { /* n:"BrtPCDIANumber" */ }, - /*::[*/0x001D/*::]*/: { /* n:"BrtPCDIABoolean" */ }, - /*::[*/0x001E/*::]*/: { /* n:"BrtPCDIAError" */ }, - /*::[*/0x001F/*::]*/: { /* n:"BrtPCDIAString" */ }, - /*::[*/0x0020/*::]*/: { /* n:"BrtPCDIADatetime" */ }, - /*::[*/0x0021/*::]*/: { /* n:"BrtPCRRecord" */ }, - /*::[*/0x0022/*::]*/: { /* n:"BrtPCRRecordDt" */ }, - /*::[*/0x0023/*::]*/: { /* n:"BrtFRTBegin", */ T:1 }, - /*::[*/0x0024/*::]*/: { /* n:"BrtFRTEnd", */ T:-1 }, - /*::[*/0x0025/*::]*/: { /* n:"BrtACBegin", */ T:1 }, - /*::[*/0x0026/*::]*/: { /* n:"BrtACEnd", */ T:-1 }, - /*::[*/0x0027/*::]*/: { /* n:"BrtName", */ f:parse_BrtName }, - /*::[*/0x0028/*::]*/: { /* n:"BrtIndexRowBlock" */ }, - /*::[*/0x002A/*::]*/: { /* n:"BrtIndexBlock" */ }, - /*::[*/0x002B/*::]*/: { /* n:"BrtFont", */ f:parse_BrtFont }, - /*::[*/0x002C/*::]*/: { /* n:"BrtFmt", */ f:parse_BrtFmt }, - /*::[*/0x002D/*::]*/: { /* n:"BrtFill", */ f:parse_BrtFill }, - /*::[*/0x002E/*::]*/: { /* n:"BrtBorder", */ f:parse_BrtBorder }, - /*::[*/0x002F/*::]*/: { /* n:"BrtXF", */ f:parse_BrtXF }, - /*::[*/0x0030/*::]*/: { /* n:"BrtStyle" */ }, - /*::[*/0x0031/*::]*/: { /* n:"BrtCellMeta", */ f:parse_Int32LE }, - /*::[*/0x0032/*::]*/: { /* n:"BrtValueMeta" */ }, - /*::[*/0x0033/*::]*/: { /* n:"BrtMdb" */ f:parse_BrtMdb }, - /*::[*/0x0034/*::]*/: { /* n:"BrtBeginFmd", */ T:1 }, - /*::[*/0x0035/*::]*/: { /* n:"BrtEndFmd", */ T:-1 }, - /*::[*/0x0036/*::]*/: { /* n:"BrtBeginMdx", */ T:1 }, - /*::[*/0x0037/*::]*/: { /* n:"BrtEndMdx", */ T:-1 }, - /*::[*/0x0038/*::]*/: { /* n:"BrtBeginMdxTuple", */ T:1 }, - /*::[*/0x0039/*::]*/: { /* n:"BrtEndMdxTuple", */ T:-1 }, - /*::[*/0x003A/*::]*/: { /* n:"BrtMdxMbrIstr" */ }, - /*::[*/0x003B/*::]*/: { /* n:"BrtStr" */ }, - /*::[*/0x003C/*::]*/: { /* n:"BrtColInfo", */ f:parse_ColInfo }, - /*::[*/0x003E/*::]*/: { /* n:"BrtCellRString", */ f:parse_BrtCellRString }, - /*::[*/0x003F/*::]*/: { /* n:"BrtCalcChainItem$", */ f:parse_BrtCalcChainItem$ }, - /*::[*/0x0040/*::]*/: { /* n:"BrtDVal", */ f:parse_BrtDVal }, - /*::[*/0x0041/*::]*/: { /* n:"BrtSxvcellNum" */ }, - /*::[*/0x0042/*::]*/: { /* n:"BrtSxvcellStr" */ }, - /*::[*/0x0043/*::]*/: { /* n:"BrtSxvcellBool" */ }, - /*::[*/0x0044/*::]*/: { /* n:"BrtSxvcellErr" */ }, - /*::[*/0x0045/*::]*/: { /* n:"BrtSxvcellDate" */ }, - /*::[*/0x0046/*::]*/: { /* n:"BrtSxvcellNil" */ }, - /*::[*/0x0080/*::]*/: { /* n:"BrtFileVersion" */ }, - /*::[*/0x0081/*::]*/: { /* n:"BrtBeginSheet", */ T:1 }, - /*::[*/0x0082/*::]*/: { /* n:"BrtEndSheet", */ T:-1 }, - /*::[*/0x0083/*::]*/: { /* n:"BrtBeginBook", */ T:1, f:parsenoop, p:0 }, - /*::[*/0x0084/*::]*/: { /* n:"BrtEndBook", */ T:-1 }, - /*::[*/0x0085/*::]*/: { /* n:"BrtBeginWsViews", */ T:1 }, - /*::[*/0x0086/*::]*/: { /* n:"BrtEndWsViews", */ T:-1 }, - /*::[*/0x0087/*::]*/: { /* n:"BrtBeginBookViews", */ T:1 }, - /*::[*/0x0088/*::]*/: { /* n:"BrtEndBookViews", */ T:-1 }, - /*::[*/0x0089/*::]*/: { /* n:"BrtBeginWsView", */ T:1, f:parse_BrtBeginWsView }, - /*::[*/0x008A/*::]*/: { /* n:"BrtEndWsView", */ T:-1 }, - /*::[*/0x008B/*::]*/: { /* n:"BrtBeginCsViews", */ T:1 }, - /*::[*/0x008C/*::]*/: { /* n:"BrtEndCsViews", */ T:-1 }, - /*::[*/0x008D/*::]*/: { /* n:"BrtBeginCsView", */ T:1 }, - /*::[*/0x008E/*::]*/: { /* n:"BrtEndCsView", */ T:-1 }, - /*::[*/0x008F/*::]*/: { /* n:"BrtBeginBundleShs", */ T:1 }, - /*::[*/0x0090/*::]*/: { /* n:"BrtEndBundleShs", */ T:-1 }, - /*::[*/0x0091/*::]*/: { /* n:"BrtBeginSheetData", */ T:1 }, - /*::[*/0x0092/*::]*/: { /* n:"BrtEndSheetData", */ T:-1 }, - /*::[*/0x0093/*::]*/: { /* n:"BrtWsProp", */ f:parse_BrtWsProp }, - /*::[*/0x0094/*::]*/: { /* n:"BrtWsDim", */ f:parse_BrtWsDim, p:16 }, - /*::[*/0x0097/*::]*/: { /* n:"BrtPane", */ f:parse_BrtPane }, - /*::[*/0x0098/*::]*/: { /* n:"BrtSel" */ }, - /*::[*/0x0099/*::]*/: { /* n:"BrtWbProp", */ f:parse_BrtWbProp }, - /*::[*/0x009A/*::]*/: { /* n:"BrtWbFactoid" */ }, - /*::[*/0x009B/*::]*/: { /* n:"BrtFileRecover" */ }, - /*::[*/0x009C/*::]*/: { /* n:"BrtBundleSh", */ f:parse_BrtBundleSh }, - /*::[*/0x009D/*::]*/: { /* n:"BrtCalcProp" */ }, - /*::[*/0x009E/*::]*/: { /* n:"BrtBookView" */ }, - /*::[*/0x009F/*::]*/: { /* n:"BrtBeginSst", */ T:1, f:parse_BrtBeginSst }, - /*::[*/0x00A0/*::]*/: { /* n:"BrtEndSst", */ T:-1 }, - /*::[*/0x00A1/*::]*/: { /* n:"BrtBeginAFilter", */ T:1, f:parse_UncheckedRfX }, - /*::[*/0x00A2/*::]*/: { /* n:"BrtEndAFilter", */ T:-1 }, - /*::[*/0x00A3/*::]*/: { /* n:"BrtBeginFilterColumn", */ T:1 }, - /*::[*/0x00A4/*::]*/: { /* n:"BrtEndFilterColumn", */ T:-1 }, - /*::[*/0x00A5/*::]*/: { /* n:"BrtBeginFilters", */ T:1 }, - /*::[*/0x00A6/*::]*/: { /* n:"BrtEndFilters", */ T:-1 }, - /*::[*/0x00A7/*::]*/: { /* n:"BrtFilter" */ }, - /*::[*/0x00A8/*::]*/: { /* n:"BrtColorFilter" */ }, - /*::[*/0x00A9/*::]*/: { /* n:"BrtIconFilter" */ }, - /*::[*/0x00AA/*::]*/: { /* n:"BrtTop10Filter" */ }, - /*::[*/0x00AB/*::]*/: { /* n:"BrtDynamicFilter" */ }, - /*::[*/0x00AC/*::]*/: { /* n:"BrtBeginCustomFilters", */ T:1 }, - /*::[*/0x00AD/*::]*/: { /* n:"BrtEndCustomFilters", */ T:-1 }, - /*::[*/0x00AE/*::]*/: { /* n:"BrtCustomFilter" */ }, - /*::[*/0x00AF/*::]*/: { /* n:"BrtAFilterDateGroupItem" */ }, - /*::[*/0x00B0/*::]*/: { /* n:"BrtMergeCell", */ f:parse_BrtMergeCell }, - /*::[*/0x00B1/*::]*/: { /* n:"BrtBeginMergeCells", */ T:1 }, - /*::[*/0x00B2/*::]*/: { /* n:"BrtEndMergeCells", */ T:-1 }, - /*::[*/0x00B3/*::]*/: { /* n:"BrtBeginPivotCacheDef", */ T:1 }, - /*::[*/0x00B4/*::]*/: { /* n:"BrtEndPivotCacheDef", */ T:-1 }, - /*::[*/0x00B5/*::]*/: { /* n:"BrtBeginPCDFields", */ T:1 }, - /*::[*/0x00B6/*::]*/: { /* n:"BrtEndPCDFields", */ T:-1 }, - /*::[*/0x00B7/*::]*/: { /* n:"BrtBeginPCDField", */ T:1 }, - /*::[*/0x00B8/*::]*/: { /* n:"BrtEndPCDField", */ T:-1 }, - /*::[*/0x00B9/*::]*/: { /* n:"BrtBeginPCDSource", */ T:1 }, - /*::[*/0x00BA/*::]*/: { /* n:"BrtEndPCDSource", */ T:-1 }, - /*::[*/0x00BB/*::]*/: { /* n:"BrtBeginPCDSRange", */ T:1 }, - /*::[*/0x00BC/*::]*/: { /* n:"BrtEndPCDSRange", */ T:-1 }, - /*::[*/0x00BD/*::]*/: { /* n:"BrtBeginPCDFAtbl", */ T:1 }, - /*::[*/0x00BE/*::]*/: { /* n:"BrtEndPCDFAtbl", */ T:-1 }, - /*::[*/0x00BF/*::]*/: { /* n:"BrtBeginPCDIRun", */ T:1 }, - /*::[*/0x00C0/*::]*/: { /* n:"BrtEndPCDIRun", */ T:-1 }, - /*::[*/0x00C1/*::]*/: { /* n:"BrtBeginPivotCacheRecords", */ T:1 }, - /*::[*/0x00C2/*::]*/: { /* n:"BrtEndPivotCacheRecords", */ T:-1 }, - /*::[*/0x00C3/*::]*/: { /* n:"BrtBeginPCDHierarchies", */ T:1 }, - /*::[*/0x00C4/*::]*/: { /* n:"BrtEndPCDHierarchies", */ T:-1 }, - /*::[*/0x00C5/*::]*/: { /* n:"BrtBeginPCDHierarchy", */ T:1 }, - /*::[*/0x00C6/*::]*/: { /* n:"BrtEndPCDHierarchy", */ T:-1 }, - /*::[*/0x00C7/*::]*/: { /* n:"BrtBeginPCDHFieldsUsage", */ T:1 }, - /*::[*/0x00C8/*::]*/: { /* n:"BrtEndPCDHFieldsUsage", */ T:-1 }, - /*::[*/0x00C9/*::]*/: { /* n:"BrtBeginExtConnection", */ T:1 }, - /*::[*/0x00CA/*::]*/: { /* n:"BrtEndExtConnection", */ T:-1 }, - /*::[*/0x00CB/*::]*/: { /* n:"BrtBeginECDbProps", */ T:1 }, - /*::[*/0x00CC/*::]*/: { /* n:"BrtEndECDbProps", */ T:-1 }, - /*::[*/0x00CD/*::]*/: { /* n:"BrtBeginECOlapProps", */ T:1 }, - /*::[*/0x00CE/*::]*/: { /* n:"BrtEndECOlapProps", */ T:-1 }, - /*::[*/0x00CF/*::]*/: { /* n:"BrtBeginPCDSConsol", */ T:1 }, - /*::[*/0x00D0/*::]*/: { /* n:"BrtEndPCDSConsol", */ T:-1 }, - /*::[*/0x00D1/*::]*/: { /* n:"BrtBeginPCDSCPages", */ T:1 }, - /*::[*/0x00D2/*::]*/: { /* n:"BrtEndPCDSCPages", */ T:-1 }, - /*::[*/0x00D3/*::]*/: { /* n:"BrtBeginPCDSCPage", */ T:1 }, - /*::[*/0x00D4/*::]*/: { /* n:"BrtEndPCDSCPage", */ T:-1 }, - /*::[*/0x00D5/*::]*/: { /* n:"BrtBeginPCDSCPItem", */ T:1 }, - /*::[*/0x00D6/*::]*/: { /* n:"BrtEndPCDSCPItem", */ T:-1 }, - /*::[*/0x00D7/*::]*/: { /* n:"BrtBeginPCDSCSets", */ T:1 }, - /*::[*/0x00D8/*::]*/: { /* n:"BrtEndPCDSCSets", */ T:-1 }, - /*::[*/0x00D9/*::]*/: { /* n:"BrtBeginPCDSCSet", */ T:1 }, - /*::[*/0x00DA/*::]*/: { /* n:"BrtEndPCDSCSet", */ T:-1 }, - /*::[*/0x00DB/*::]*/: { /* n:"BrtBeginPCDFGroup", */ T:1 }, - /*::[*/0x00DC/*::]*/: { /* n:"BrtEndPCDFGroup", */ T:-1 }, - /*::[*/0x00DD/*::]*/: { /* n:"BrtBeginPCDFGItems", */ T:1 }, - /*::[*/0x00DE/*::]*/: { /* n:"BrtEndPCDFGItems", */ T:-1 }, - /*::[*/0x00DF/*::]*/: { /* n:"BrtBeginPCDFGRange", */ T:1 }, - /*::[*/0x00E0/*::]*/: { /* n:"BrtEndPCDFGRange", */ T:-1 }, - /*::[*/0x00E1/*::]*/: { /* n:"BrtBeginPCDFGDiscrete", */ T:1 }, - /*::[*/0x00E2/*::]*/: { /* n:"BrtEndPCDFGDiscrete", */ T:-1 }, - /*::[*/0x00E3/*::]*/: { /* n:"BrtBeginPCDSDTupleCache", */ T:1 }, - /*::[*/0x00E4/*::]*/: { /* n:"BrtEndPCDSDTupleCache", */ T:-1 }, - /*::[*/0x00E5/*::]*/: { /* n:"BrtBeginPCDSDTCEntries", */ T:1 }, - /*::[*/0x00E6/*::]*/: { /* n:"BrtEndPCDSDTCEntries", */ T:-1 }, - /*::[*/0x00E7/*::]*/: { /* n:"BrtBeginPCDSDTCEMembers", */ T:1 }, - /*::[*/0x00E8/*::]*/: { /* n:"BrtEndPCDSDTCEMembers", */ T:-1 }, - /*::[*/0x00E9/*::]*/: { /* n:"BrtBeginPCDSDTCEMember", */ T:1 }, - /*::[*/0x00EA/*::]*/: { /* n:"BrtEndPCDSDTCEMember", */ T:-1 }, - /*::[*/0x00EB/*::]*/: { /* n:"BrtBeginPCDSDTCQueries", */ T:1 }, - /*::[*/0x00EC/*::]*/: { /* n:"BrtEndPCDSDTCQueries", */ T:-1 }, - /*::[*/0x00ED/*::]*/: { /* n:"BrtBeginPCDSDTCQuery", */ T:1 }, - /*::[*/0x00EE/*::]*/: { /* n:"BrtEndPCDSDTCQuery", */ T:-1 }, - /*::[*/0x00EF/*::]*/: { /* n:"BrtBeginPCDSDTCSets", */ T:1 }, - /*::[*/0x00F0/*::]*/: { /* n:"BrtEndPCDSDTCSets", */ T:-1 }, - /*::[*/0x00F1/*::]*/: { /* n:"BrtBeginPCDSDTCSet", */ T:1 }, - /*::[*/0x00F2/*::]*/: { /* n:"BrtEndPCDSDTCSet", */ T:-1 }, - /*::[*/0x00F3/*::]*/: { /* n:"BrtBeginPCDCalcItems", */ T:1 }, - /*::[*/0x00F4/*::]*/: { /* n:"BrtEndPCDCalcItems", */ T:-1 }, - /*::[*/0x00F5/*::]*/: { /* n:"BrtBeginPCDCalcItem", */ T:1 }, - /*::[*/0x00F6/*::]*/: { /* n:"BrtEndPCDCalcItem", */ T:-1 }, - /*::[*/0x00F7/*::]*/: { /* n:"BrtBeginPRule", */ T:1 }, - /*::[*/0x00F8/*::]*/: { /* n:"BrtEndPRule", */ T:-1 }, - /*::[*/0x00F9/*::]*/: { /* n:"BrtBeginPRFilters", */ T:1 }, - /*::[*/0x00FA/*::]*/: { /* n:"BrtEndPRFilters", */ T:-1 }, - /*::[*/0x00FB/*::]*/: { /* n:"BrtBeginPRFilter", */ T:1 }, - /*::[*/0x00FC/*::]*/: { /* n:"BrtEndPRFilter", */ T:-1 }, - /*::[*/0x00FD/*::]*/: { /* n:"BrtBeginPNames", */ T:1 }, - /*::[*/0x00FE/*::]*/: { /* n:"BrtEndPNames", */ T:-1 }, - /*::[*/0x00FF/*::]*/: { /* n:"BrtBeginPName", */ T:1 }, - /*::[*/0x0100/*::]*/: { /* n:"BrtEndPName", */ T:-1 }, - /*::[*/0x0101/*::]*/: { /* n:"BrtBeginPNPairs", */ T:1 }, - /*::[*/0x0102/*::]*/: { /* n:"BrtEndPNPairs", */ T:-1 }, - /*::[*/0x0103/*::]*/: { /* n:"BrtBeginPNPair", */ T:1 }, - /*::[*/0x0104/*::]*/: { /* n:"BrtEndPNPair", */ T:-1 }, - /*::[*/0x0105/*::]*/: { /* n:"BrtBeginECWebProps", */ T:1 }, - /*::[*/0x0106/*::]*/: { /* n:"BrtEndECWebProps", */ T:-1 }, - /*::[*/0x0107/*::]*/: { /* n:"BrtBeginEcWpTables", */ T:1 }, - /*::[*/0x0108/*::]*/: { /* n:"BrtEndECWPTables", */ T:-1 }, - /*::[*/0x0109/*::]*/: { /* n:"BrtBeginECParams", */ T:1 }, - /*::[*/0x010A/*::]*/: { /* n:"BrtEndECParams", */ T:-1 }, - /*::[*/0x010B/*::]*/: { /* n:"BrtBeginECParam", */ T:1 }, - /*::[*/0x010C/*::]*/: { /* n:"BrtEndECParam", */ T:-1 }, - /*::[*/0x010D/*::]*/: { /* n:"BrtBeginPCDKPIs", */ T:1 }, - /*::[*/0x010E/*::]*/: { /* n:"BrtEndPCDKPIs", */ T:-1 }, - /*::[*/0x010F/*::]*/: { /* n:"BrtBeginPCDKPI", */ T:1 }, - /*::[*/0x0110/*::]*/: { /* n:"BrtEndPCDKPI", */ T:-1 }, - /*::[*/0x0111/*::]*/: { /* n:"BrtBeginDims", */ T:1 }, - /*::[*/0x0112/*::]*/: { /* n:"BrtEndDims", */ T:-1 }, - /*::[*/0x0113/*::]*/: { /* n:"BrtBeginDim", */ T:1 }, - /*::[*/0x0114/*::]*/: { /* n:"BrtEndDim", */ T:-1 }, - /*::[*/0x0115/*::]*/: { /* n:"BrtIndexPartEnd" */ }, - /*::[*/0x0116/*::]*/: { /* n:"BrtBeginStyleSheet", */ T:1 }, - /*::[*/0x0117/*::]*/: { /* n:"BrtEndStyleSheet", */ T:-1 }, - /*::[*/0x0118/*::]*/: { /* n:"BrtBeginSXView", */ T:1 }, - /*::[*/0x0119/*::]*/: { /* n:"BrtEndSXVI", */ T:-1 }, - /*::[*/0x011A/*::]*/: { /* n:"BrtBeginSXVI", */ T:1 }, - /*::[*/0x011B/*::]*/: { /* n:"BrtBeginSXVIs", */ T:1 }, - /*::[*/0x011C/*::]*/: { /* n:"BrtEndSXVIs", */ T:-1 }, - /*::[*/0x011D/*::]*/: { /* n:"BrtBeginSXVD", */ T:1 }, - /*::[*/0x011E/*::]*/: { /* n:"BrtEndSXVD", */ T:-1 }, - /*::[*/0x011F/*::]*/: { /* n:"BrtBeginSXVDs", */ T:1 }, - /*::[*/0x0120/*::]*/: { /* n:"BrtEndSXVDs", */ T:-1 }, - /*::[*/0x0121/*::]*/: { /* n:"BrtBeginSXPI", */ T:1 }, - /*::[*/0x0122/*::]*/: { /* n:"BrtEndSXPI", */ T:-1 }, - /*::[*/0x0123/*::]*/: { /* n:"BrtBeginSXPIs", */ T:1 }, - /*::[*/0x0124/*::]*/: { /* n:"BrtEndSXPIs", */ T:-1 }, - /*::[*/0x0125/*::]*/: { /* n:"BrtBeginSXDI", */ T:1 }, - /*::[*/0x0126/*::]*/: { /* n:"BrtEndSXDI", */ T:-1 }, - /*::[*/0x0127/*::]*/: { /* n:"BrtBeginSXDIs", */ T:1 }, - /*::[*/0x0128/*::]*/: { /* n:"BrtEndSXDIs", */ T:-1 }, - /*::[*/0x0129/*::]*/: { /* n:"BrtBeginSXLI", */ T:1 }, - /*::[*/0x012A/*::]*/: { /* n:"BrtEndSXLI", */ T:-1 }, - /*::[*/0x012B/*::]*/: { /* n:"BrtBeginSXLIRws", */ T:1 }, - /*::[*/0x012C/*::]*/: { /* n:"BrtEndSXLIRws", */ T:-1 }, - /*::[*/0x012D/*::]*/: { /* n:"BrtBeginSXLICols", */ T:1 }, - /*::[*/0x012E/*::]*/: { /* n:"BrtEndSXLICols", */ T:-1 }, - /*::[*/0x012F/*::]*/: { /* n:"BrtBeginSXFormat", */ T:1 }, - /*::[*/0x0130/*::]*/: { /* n:"BrtEndSXFormat", */ T:-1 }, - /*::[*/0x0131/*::]*/: { /* n:"BrtBeginSXFormats", */ T:1 }, - /*::[*/0x0132/*::]*/: { /* n:"BrtEndSxFormats", */ T:-1 }, - /*::[*/0x0133/*::]*/: { /* n:"BrtBeginSxSelect", */ T:1 }, - /*::[*/0x0134/*::]*/: { /* n:"BrtEndSxSelect", */ T:-1 }, - /*::[*/0x0135/*::]*/: { /* n:"BrtBeginISXVDRws", */ T:1 }, - /*::[*/0x0136/*::]*/: { /* n:"BrtEndISXVDRws", */ T:-1 }, - /*::[*/0x0137/*::]*/: { /* n:"BrtBeginISXVDCols", */ T:1 }, - /*::[*/0x0138/*::]*/: { /* n:"BrtEndISXVDCols", */ T:-1 }, - /*::[*/0x0139/*::]*/: { /* n:"BrtEndSXLocation", */ T:-1 }, - /*::[*/0x013A/*::]*/: { /* n:"BrtBeginSXLocation", */ T:1 }, - /*::[*/0x013B/*::]*/: { /* n:"BrtEndSXView", */ T:-1 }, - /*::[*/0x013C/*::]*/: { /* n:"BrtBeginSXTHs", */ T:1 }, - /*::[*/0x013D/*::]*/: { /* n:"BrtEndSXTHs", */ T:-1 }, - /*::[*/0x013E/*::]*/: { /* n:"BrtBeginSXTH", */ T:1 }, - /*::[*/0x013F/*::]*/: { /* n:"BrtEndSXTH", */ T:-1 }, - /*::[*/0x0140/*::]*/: { /* n:"BrtBeginISXTHRws", */ T:1 }, - /*::[*/0x0141/*::]*/: { /* n:"BrtEndISXTHRws", */ T:-1 }, - /*::[*/0x0142/*::]*/: { /* n:"BrtBeginISXTHCols", */ T:1 }, - /*::[*/0x0143/*::]*/: { /* n:"BrtEndISXTHCols", */ T:-1 }, - /*::[*/0x0144/*::]*/: { /* n:"BrtBeginSXTDMPS", */ T:1 }, - /*::[*/0x0145/*::]*/: { /* n:"BrtEndSXTDMPs", */ T:-1 }, - /*::[*/0x0146/*::]*/: { /* n:"BrtBeginSXTDMP", */ T:1 }, - /*::[*/0x0147/*::]*/: { /* n:"BrtEndSXTDMP", */ T:-1 }, - /*::[*/0x0148/*::]*/: { /* n:"BrtBeginSXTHItems", */ T:1 }, - /*::[*/0x0149/*::]*/: { /* n:"BrtEndSXTHItems", */ T:-1 }, - /*::[*/0x014A/*::]*/: { /* n:"BrtBeginSXTHItem", */ T:1 }, - /*::[*/0x014B/*::]*/: { /* n:"BrtEndSXTHItem", */ T:-1 }, - /*::[*/0x014C/*::]*/: { /* n:"BrtBeginMetadata", */ T:1 }, - /*::[*/0x014D/*::]*/: { /* n:"BrtEndMetadata", */ T:-1 }, - /*::[*/0x014E/*::]*/: { /* n:"BrtBeginEsmdtinfo", */ T:1 }, - /*::[*/0x014F/*::]*/: { /* n:"BrtMdtinfo", */ f:parse_BrtMdtinfo }, - /*::[*/0x0150/*::]*/: { /* n:"BrtEndEsmdtinfo", */ T:-1 }, - /*::[*/0x0151/*::]*/: { /* n:"BrtBeginEsmdb", */ f:parse_BrtBeginEsmdb, T:1 }, - /*::[*/0x0152/*::]*/: { /* n:"BrtEndEsmdb", */ T:-1 }, - /*::[*/0x0153/*::]*/: { /* n:"BrtBeginEsfmd", */ T:1 }, - /*::[*/0x0154/*::]*/: { /* n:"BrtEndEsfmd", */ T:-1 }, - /*::[*/0x0155/*::]*/: { /* n:"BrtBeginSingleCells", */ T:1 }, - /*::[*/0x0156/*::]*/: { /* n:"BrtEndSingleCells", */ T:-1 }, - /*::[*/0x0157/*::]*/: { /* n:"BrtBeginList", */ T:1 }, - /*::[*/0x0158/*::]*/: { /* n:"BrtEndList", */ T:-1 }, - /*::[*/0x0159/*::]*/: { /* n:"BrtBeginListCols", */ T:1 }, - /*::[*/0x015A/*::]*/: { /* n:"BrtEndListCols", */ T:-1 }, - /*::[*/0x015B/*::]*/: { /* n:"BrtBeginListCol", */ T:1 }, - /*::[*/0x015C/*::]*/: { /* n:"BrtEndListCol", */ T:-1 }, - /*::[*/0x015D/*::]*/: { /* n:"BrtBeginListXmlCPr", */ T:1 }, - /*::[*/0x015E/*::]*/: { /* n:"BrtEndListXmlCPr", */ T:-1 }, - /*::[*/0x015F/*::]*/: { /* n:"BrtListCCFmla" */ }, - /*::[*/0x0160/*::]*/: { /* n:"BrtListTrFmla" */ }, - /*::[*/0x0161/*::]*/: { /* n:"BrtBeginExternals", */ T:1 }, - /*::[*/0x0162/*::]*/: { /* n:"BrtEndExternals", */ T:-1 }, - /*::[*/0x0163/*::]*/: { /* n:"BrtSupBookSrc", */ f:parse_RelID}, - /*::[*/0x0165/*::]*/: { /* n:"BrtSupSelf" */ }, - /*::[*/0x0166/*::]*/: { /* n:"BrtSupSame" */ }, - /*::[*/0x0167/*::]*/: { /* n:"BrtSupTabs" */ }, - /*::[*/0x0168/*::]*/: { /* n:"BrtBeginSupBook", */ T:1 }, - /*::[*/0x0169/*::]*/: { /* n:"BrtPlaceholderName" */ }, - /*::[*/0x016A/*::]*/: { /* n:"BrtExternSheet", */ f:parse_ExternSheet }, - /*::[*/0x016B/*::]*/: { /* n:"BrtExternTableStart" */ }, - /*::[*/0x016C/*::]*/: { /* n:"BrtExternTableEnd" */ }, - /*::[*/0x016E/*::]*/: { /* n:"BrtExternRowHdr" */ }, - /*::[*/0x016F/*::]*/: { /* n:"BrtExternCellBlank" */ }, - /*::[*/0x0170/*::]*/: { /* n:"BrtExternCellReal" */ }, - /*::[*/0x0171/*::]*/: { /* n:"BrtExternCellBool" */ }, - /*::[*/0x0172/*::]*/: { /* n:"BrtExternCellError" */ }, - /*::[*/0x0173/*::]*/: { /* n:"BrtExternCellString" */ }, - /*::[*/0x0174/*::]*/: { /* n:"BrtBeginEsmdx", */ T:1 }, - /*::[*/0x0175/*::]*/: { /* n:"BrtEndEsmdx", */ T:-1 }, - /*::[*/0x0176/*::]*/: { /* n:"BrtBeginMdxSet", */ T:1 }, - /*::[*/0x0177/*::]*/: { /* n:"BrtEndMdxSet", */ T:-1 }, - /*::[*/0x0178/*::]*/: { /* n:"BrtBeginMdxMbrProp", */ T:1 }, - /*::[*/0x0179/*::]*/: { /* n:"BrtEndMdxMbrProp", */ T:-1 }, - /*::[*/0x017A/*::]*/: { /* n:"BrtBeginMdxKPI", */ T:1 }, - /*::[*/0x017B/*::]*/: { /* n:"BrtEndMdxKPI", */ T:-1 }, - /*::[*/0x017C/*::]*/: { /* n:"BrtBeginEsstr", */ T:1 }, - /*::[*/0x017D/*::]*/: { /* n:"BrtEndEsstr", */ T:-1 }, - /*::[*/0x017E/*::]*/: { /* n:"BrtBeginPRFItem", */ T:1 }, - /*::[*/0x017F/*::]*/: { /* n:"BrtEndPRFItem", */ T:-1 }, - /*::[*/0x0180/*::]*/: { /* n:"BrtBeginPivotCacheIDs", */ T:1 }, - /*::[*/0x0181/*::]*/: { /* n:"BrtEndPivotCacheIDs", */ T:-1 }, - /*::[*/0x0182/*::]*/: { /* n:"BrtBeginPivotCacheID", */ T:1 }, - /*::[*/0x0183/*::]*/: { /* n:"BrtEndPivotCacheID", */ T:-1 }, - /*::[*/0x0184/*::]*/: { /* n:"BrtBeginISXVIs", */ T:1 }, - /*::[*/0x0185/*::]*/: { /* n:"BrtEndISXVIs", */ T:-1 }, - /*::[*/0x0186/*::]*/: { /* n:"BrtBeginColInfos", */ T:1 }, - /*::[*/0x0187/*::]*/: { /* n:"BrtEndColInfos", */ T:-1 }, - /*::[*/0x0188/*::]*/: { /* n:"BrtBeginRwBrk", */ T:1 }, - /*::[*/0x0189/*::]*/: { /* n:"BrtEndRwBrk", */ T:-1 }, - /*::[*/0x018A/*::]*/: { /* n:"BrtBeginColBrk", */ T:1 }, - /*::[*/0x018B/*::]*/: { /* n:"BrtEndColBrk", */ T:-1 }, - /*::[*/0x018C/*::]*/: { /* n:"BrtBrk" */ }, - /*::[*/0x018D/*::]*/: { /* n:"BrtUserBookView" */ }, - /*::[*/0x018E/*::]*/: { /* n:"BrtInfo" */ }, - /*::[*/0x018F/*::]*/: { /* n:"BrtCUsr" */ }, - /*::[*/0x0190/*::]*/: { /* n:"BrtUsr" */ }, - /*::[*/0x0191/*::]*/: { /* n:"BrtBeginUsers", */ T:1 }, - /*::[*/0x0193/*::]*/: { /* n:"BrtEOF" */ }, - /*::[*/0x0194/*::]*/: { /* n:"BrtUCR" */ }, - /*::[*/0x0195/*::]*/: { /* n:"BrtRRInsDel" */ }, - /*::[*/0x0196/*::]*/: { /* n:"BrtRREndInsDel" */ }, - /*::[*/0x0197/*::]*/: { /* n:"BrtRRMove" */ }, - /*::[*/0x0198/*::]*/: { /* n:"BrtRREndMove" */ }, - /*::[*/0x0199/*::]*/: { /* n:"BrtRRChgCell" */ }, - /*::[*/0x019A/*::]*/: { /* n:"BrtRREndChgCell" */ }, - /*::[*/0x019B/*::]*/: { /* n:"BrtRRHeader" */ }, - /*::[*/0x019C/*::]*/: { /* n:"BrtRRUserView" */ }, - /*::[*/0x019D/*::]*/: { /* n:"BrtRRRenSheet" */ }, - /*::[*/0x019E/*::]*/: { /* n:"BrtRRInsertSh" */ }, - /*::[*/0x019F/*::]*/: { /* n:"BrtRRDefName" */ }, - /*::[*/0x01A0/*::]*/: { /* n:"BrtRRNote" */ }, - /*::[*/0x01A1/*::]*/: { /* n:"BrtRRConflict" */ }, - /*::[*/0x01A2/*::]*/: { /* n:"BrtRRTQSIF" */ }, - /*::[*/0x01A3/*::]*/: { /* n:"BrtRRFormat" */ }, - /*::[*/0x01A4/*::]*/: { /* n:"BrtRREndFormat" */ }, - /*::[*/0x01A5/*::]*/: { /* n:"BrtRRAutoFmt" */ }, - /*::[*/0x01A6/*::]*/: { /* n:"BrtBeginUserShViews", */ T:1 }, - /*::[*/0x01A7/*::]*/: { /* n:"BrtBeginUserShView", */ T:1 }, - /*::[*/0x01A8/*::]*/: { /* n:"BrtEndUserShView", */ T:-1 }, - /*::[*/0x01A9/*::]*/: { /* n:"BrtEndUserShViews", */ T:-1 }, - /*::[*/0x01AA/*::]*/: { /* n:"BrtArrFmla", */ f:parse_BrtArrFmla }, - /*::[*/0x01AB/*::]*/: { /* n:"BrtShrFmla", */ f:parse_BrtShrFmla }, - /*::[*/0x01AC/*::]*/: { /* n:"BrtTable" */ }, - /*::[*/0x01AD/*::]*/: { /* n:"BrtBeginExtConnections", */ T:1 }, - /*::[*/0x01AE/*::]*/: { /* n:"BrtEndExtConnections", */ T:-1 }, - /*::[*/0x01AF/*::]*/: { /* n:"BrtBeginPCDCalcMems", */ T:1 }, - /*::[*/0x01B0/*::]*/: { /* n:"BrtEndPCDCalcMems", */ T:-1 }, - /*::[*/0x01B1/*::]*/: { /* n:"BrtBeginPCDCalcMem", */ T:1 }, - /*::[*/0x01B2/*::]*/: { /* n:"BrtEndPCDCalcMem", */ T:-1 }, - /*::[*/0x01B3/*::]*/: { /* n:"BrtBeginPCDHGLevels", */ T:1 }, - /*::[*/0x01B4/*::]*/: { /* n:"BrtEndPCDHGLevels", */ T:-1 }, - /*::[*/0x01B5/*::]*/: { /* n:"BrtBeginPCDHGLevel", */ T:1 }, - /*::[*/0x01B6/*::]*/: { /* n:"BrtEndPCDHGLevel", */ T:-1 }, - /*::[*/0x01B7/*::]*/: { /* n:"BrtBeginPCDHGLGroups", */ T:1 }, - /*::[*/0x01B8/*::]*/: { /* n:"BrtEndPCDHGLGroups", */ T:-1 }, - /*::[*/0x01B9/*::]*/: { /* n:"BrtBeginPCDHGLGroup", */ T:1 }, - /*::[*/0x01BA/*::]*/: { /* n:"BrtEndPCDHGLGroup", */ T:-1 }, - /*::[*/0x01BB/*::]*/: { /* n:"BrtBeginPCDHGLGMembers", */ T:1 }, - /*::[*/0x01BC/*::]*/: { /* n:"BrtEndPCDHGLGMembers", */ T:-1 }, - /*::[*/0x01BD/*::]*/: { /* n:"BrtBeginPCDHGLGMember", */ T:1 }, - /*::[*/0x01BE/*::]*/: { /* n:"BrtEndPCDHGLGMember", */ T:-1 }, - /*::[*/0x01BF/*::]*/: { /* n:"BrtBeginQSI", */ T:1 }, - /*::[*/0x01C0/*::]*/: { /* n:"BrtEndQSI", */ T:-1 }, - /*::[*/0x01C1/*::]*/: { /* n:"BrtBeginQSIR", */ T:1 }, - /*::[*/0x01C2/*::]*/: { /* n:"BrtEndQSIR", */ T:-1 }, - /*::[*/0x01C3/*::]*/: { /* n:"BrtBeginDeletedNames", */ T:1 }, - /*::[*/0x01C4/*::]*/: { /* n:"BrtEndDeletedNames", */ T:-1 }, - /*::[*/0x01C5/*::]*/: { /* n:"BrtBeginDeletedName", */ T:1 }, - /*::[*/0x01C6/*::]*/: { /* n:"BrtEndDeletedName", */ T:-1 }, - /*::[*/0x01C7/*::]*/: { /* n:"BrtBeginQSIFs", */ T:1 }, - /*::[*/0x01C8/*::]*/: { /* n:"BrtEndQSIFs", */ T:-1 }, - /*::[*/0x01C9/*::]*/: { /* n:"BrtBeginQSIF", */ T:1 }, - /*::[*/0x01CA/*::]*/: { /* n:"BrtEndQSIF", */ T:-1 }, - /*::[*/0x01CB/*::]*/: { /* n:"BrtBeginAutoSortScope", */ T:1 }, - /*::[*/0x01CC/*::]*/: { /* n:"BrtEndAutoSortScope", */ T:-1 }, - /*::[*/0x01CD/*::]*/: { /* n:"BrtBeginConditionalFormatting", */ T:1 }, - /*::[*/0x01CE/*::]*/: { /* n:"BrtEndConditionalFormatting", */ T:-1 }, - /*::[*/0x01CF/*::]*/: { /* n:"BrtBeginCFRule", */ T:1 }, - /*::[*/0x01D0/*::]*/: { /* n:"BrtEndCFRule", */ T:-1 }, - /*::[*/0x01D1/*::]*/: { /* n:"BrtBeginIconSet", */ T:1 }, - /*::[*/0x01D2/*::]*/: { /* n:"BrtEndIconSet", */ T:-1 }, - /*::[*/0x01D3/*::]*/: { /* n:"BrtBeginDatabar", */ T:1 }, - /*::[*/0x01D4/*::]*/: { /* n:"BrtEndDatabar", */ T:-1 }, - /*::[*/0x01D5/*::]*/: { /* n:"BrtBeginColorScale", */ T:1 }, - /*::[*/0x01D6/*::]*/: { /* n:"BrtEndColorScale", */ T:-1 }, - /*::[*/0x01D7/*::]*/: { /* n:"BrtCFVO" */ }, - /*::[*/0x01D8/*::]*/: { /* n:"BrtExternValueMeta" */ }, - /*::[*/0x01D9/*::]*/: { /* n:"BrtBeginColorPalette", */ T:1 }, - /*::[*/0x01DA/*::]*/: { /* n:"BrtEndColorPalette", */ T:-1 }, - /*::[*/0x01DB/*::]*/: { /* n:"BrtIndexedColor" */ }, - /*::[*/0x01DC/*::]*/: { /* n:"BrtMargins", */ f:parse_BrtMargins }, - /*::[*/0x01DD/*::]*/: { /* n:"BrtPrintOptions" */ }, - /*::[*/0x01DE/*::]*/: { /* n:"BrtPageSetup" */ }, - /*::[*/0x01DF/*::]*/: { /* n:"BrtBeginHeaderFooter", */ T:1 }, - /*::[*/0x01E0/*::]*/: { /* n:"BrtEndHeaderFooter", */ T:-1 }, - /*::[*/0x01E1/*::]*/: { /* n:"BrtBeginSXCrtFormat", */ T:1 }, - /*::[*/0x01E2/*::]*/: { /* n:"BrtEndSXCrtFormat", */ T:-1 }, - /*::[*/0x01E3/*::]*/: { /* n:"BrtBeginSXCrtFormats", */ T:1 }, - /*::[*/0x01E4/*::]*/: { /* n:"BrtEndSXCrtFormats", */ T:-1 }, - /*::[*/0x01E5/*::]*/: { /* n:"BrtWsFmtInfo", */ f:parse_BrtWsFmtInfo }, - /*::[*/0x01E6/*::]*/: { /* n:"BrtBeginMgs", */ T:1 }, - /*::[*/0x01E7/*::]*/: { /* n:"BrtEndMGs", */ T:-1 }, - /*::[*/0x01E8/*::]*/: { /* n:"BrtBeginMGMaps", */ T:1 }, - /*::[*/0x01E9/*::]*/: { /* n:"BrtEndMGMaps", */ T:-1 }, - /*::[*/0x01EA/*::]*/: { /* n:"BrtBeginMG", */ T:1 }, - /*::[*/0x01EB/*::]*/: { /* n:"BrtEndMG", */ T:-1 }, - /*::[*/0x01EC/*::]*/: { /* n:"BrtBeginMap", */ T:1 }, - /*::[*/0x01ED/*::]*/: { /* n:"BrtEndMap", */ T:-1 }, - /*::[*/0x01EE/*::]*/: { /* n:"BrtHLink", */ f:parse_BrtHLink }, - /*::[*/0x01EF/*::]*/: { /* n:"BrtBeginDCon", */ T:1 }, - /*::[*/0x01F0/*::]*/: { /* n:"BrtEndDCon", */ T:-1 }, - /*::[*/0x01F1/*::]*/: { /* n:"BrtBeginDRefs", */ T:1 }, - /*::[*/0x01F2/*::]*/: { /* n:"BrtEndDRefs", */ T:-1 }, - /*::[*/0x01F3/*::]*/: { /* n:"BrtDRef" */ }, - /*::[*/0x01F4/*::]*/: { /* n:"BrtBeginScenMan", */ T:1 }, - /*::[*/0x01F5/*::]*/: { /* n:"BrtEndScenMan", */ T:-1 }, - /*::[*/0x01F6/*::]*/: { /* n:"BrtBeginSct", */ T:1 }, - /*::[*/0x01F7/*::]*/: { /* n:"BrtEndSct", */ T:-1 }, - /*::[*/0x01F8/*::]*/: { /* n:"BrtSlc" */ }, - /*::[*/0x01F9/*::]*/: { /* n:"BrtBeginDXFs", */ T:1 }, - /*::[*/0x01FA/*::]*/: { /* n:"BrtEndDXFs", */ T:-1 }, - /*::[*/0x01FB/*::]*/: { /* n:"BrtDXF" */ }, - /*::[*/0x01FC/*::]*/: { /* n:"BrtBeginTableStyles", */ T:1 }, - /*::[*/0x01FD/*::]*/: { /* n:"BrtEndTableStyles", */ T:-1 }, - /*::[*/0x01FE/*::]*/: { /* n:"BrtBeginTableStyle", */ T:1 }, - /*::[*/0x01FF/*::]*/: { /* n:"BrtEndTableStyle", */ T:-1 }, - /*::[*/0x0200/*::]*/: { /* n:"BrtTableStyleElement" */ }, - /*::[*/0x0201/*::]*/: { /* n:"BrtTableStyleClient" */ }, - /*::[*/0x0202/*::]*/: { /* n:"BrtBeginVolDeps", */ T:1 }, - /*::[*/0x0203/*::]*/: { /* n:"BrtEndVolDeps", */ T:-1 }, - /*::[*/0x0204/*::]*/: { /* n:"BrtBeginVolType", */ T:1 }, - /*::[*/0x0205/*::]*/: { /* n:"BrtEndVolType", */ T:-1 }, - /*::[*/0x0206/*::]*/: { /* n:"BrtBeginVolMain", */ T:1 }, - /*::[*/0x0207/*::]*/: { /* n:"BrtEndVolMain", */ T:-1 }, - /*::[*/0x0208/*::]*/: { /* n:"BrtBeginVolTopic", */ T:1 }, - /*::[*/0x0209/*::]*/: { /* n:"BrtEndVolTopic", */ T:-1 }, - /*::[*/0x020A/*::]*/: { /* n:"BrtVolSubtopic" */ }, - /*::[*/0x020B/*::]*/: { /* n:"BrtVolRef" */ }, - /*::[*/0x020C/*::]*/: { /* n:"BrtVolNum" */ }, - /*::[*/0x020D/*::]*/: { /* n:"BrtVolErr" */ }, - /*::[*/0x020E/*::]*/: { /* n:"BrtVolStr" */ }, - /*::[*/0x020F/*::]*/: { /* n:"BrtVolBool" */ }, - /*::[*/0x0210/*::]*/: { /* n:"BrtBeginCalcChain$", */ T:1 }, - /*::[*/0x0211/*::]*/: { /* n:"BrtEndCalcChain$", */ T:-1 }, - /*::[*/0x0212/*::]*/: { /* n:"BrtBeginSortState", */ T:1 }, - /*::[*/0x0213/*::]*/: { /* n:"BrtEndSortState", */ T:-1 }, - /*::[*/0x0214/*::]*/: { /* n:"BrtBeginSortCond", */ T:1 }, - /*::[*/0x0215/*::]*/: { /* n:"BrtEndSortCond", */ T:-1 }, - /*::[*/0x0216/*::]*/: { /* n:"BrtBookProtection" */ }, - /*::[*/0x0217/*::]*/: { /* n:"BrtSheetProtection" */ }, - /*::[*/0x0218/*::]*/: { /* n:"BrtRangeProtection" */ }, - /*::[*/0x0219/*::]*/: { /* n:"BrtPhoneticInfo" */ }, - /*::[*/0x021A/*::]*/: { /* n:"BrtBeginECTxtWiz", */ T:1 }, - /*::[*/0x021B/*::]*/: { /* n:"BrtEndECTxtWiz", */ T:-1 }, - /*::[*/0x021C/*::]*/: { /* n:"BrtBeginECTWFldInfoLst", */ T:1 }, - /*::[*/0x021D/*::]*/: { /* n:"BrtEndECTWFldInfoLst", */ T:-1 }, - /*::[*/0x021E/*::]*/: { /* n:"BrtBeginECTwFldInfo", */ T:1 }, - /*::[*/0x0224/*::]*/: { /* n:"BrtFileSharing" */ }, - /*::[*/0x0225/*::]*/: { /* n:"BrtOleSize" */ }, - /*::[*/0x0226/*::]*/: { /* n:"BrtDrawing", */ f:parse_RelID }, - /*::[*/0x0227/*::]*/: { /* n:"BrtLegacyDrawing" */ }, - /*::[*/0x0228/*::]*/: { /* n:"BrtLegacyDrawingHF" */ }, - /*::[*/0x0229/*::]*/: { /* n:"BrtWebOpt" */ }, - /*::[*/0x022A/*::]*/: { /* n:"BrtBeginWebPubItems", */ T:1 }, - /*::[*/0x022B/*::]*/: { /* n:"BrtEndWebPubItems", */ T:-1 }, - /*::[*/0x022C/*::]*/: { /* n:"BrtBeginWebPubItem", */ T:1 }, - /*::[*/0x022D/*::]*/: { /* n:"BrtEndWebPubItem", */ T:-1 }, - /*::[*/0x022E/*::]*/: { /* n:"BrtBeginSXCondFmt", */ T:1 }, - /*::[*/0x022F/*::]*/: { /* n:"BrtEndSXCondFmt", */ T:-1 }, - /*::[*/0x0230/*::]*/: { /* n:"BrtBeginSXCondFmts", */ T:1 }, - /*::[*/0x0231/*::]*/: { /* n:"BrtEndSXCondFmts", */ T:-1 }, - /*::[*/0x0232/*::]*/: { /* n:"BrtBkHim" */ }, - /*::[*/0x0234/*::]*/: { /* n:"BrtColor" */ }, - /*::[*/0x0235/*::]*/: { /* n:"BrtBeginIndexedColors", */ T:1 }, - /*::[*/0x0236/*::]*/: { /* n:"BrtEndIndexedColors", */ T:-1 }, - /*::[*/0x0239/*::]*/: { /* n:"BrtBeginMRUColors", */ T:1 }, - /*::[*/0x023A/*::]*/: { /* n:"BrtEndMRUColors", */ T:-1 }, - /*::[*/0x023C/*::]*/: { /* n:"BrtMRUColor" */ }, - /*::[*/0x023D/*::]*/: { /* n:"BrtBeginDVals", */ T:1 }, - /*::[*/0x023E/*::]*/: { /* n:"BrtEndDVals", */ T:-1 }, - /*::[*/0x0241/*::]*/: { /* n:"BrtSupNameStart" */ }, - /*::[*/0x0242/*::]*/: { /* n:"BrtSupNameValueStart" */ }, - /*::[*/0x0243/*::]*/: { /* n:"BrtSupNameValueEnd" */ }, - /*::[*/0x0244/*::]*/: { /* n:"BrtSupNameNum" */ }, - /*::[*/0x0245/*::]*/: { /* n:"BrtSupNameErr" */ }, - /*::[*/0x0246/*::]*/: { /* n:"BrtSupNameSt" */ }, - /*::[*/0x0247/*::]*/: { /* n:"BrtSupNameNil" */ }, - /*::[*/0x0248/*::]*/: { /* n:"BrtSupNameBool" */ }, - /*::[*/0x0249/*::]*/: { /* n:"BrtSupNameFmla" */ }, - /*::[*/0x024A/*::]*/: { /* n:"BrtSupNameBits" */ }, - /*::[*/0x024B/*::]*/: { /* n:"BrtSupNameEnd" */ }, - /*::[*/0x024C/*::]*/: { /* n:"BrtEndSupBook", */ T:-1 }, - /*::[*/0x024D/*::]*/: { /* n:"BrtCellSmartTagProperty" */ }, - /*::[*/0x024E/*::]*/: { /* n:"BrtBeginCellSmartTag", */ T:1 }, - /*::[*/0x024F/*::]*/: { /* n:"BrtEndCellSmartTag", */ T:-1 }, - /*::[*/0x0250/*::]*/: { /* n:"BrtBeginCellSmartTags", */ T:1 }, - /*::[*/0x0251/*::]*/: { /* n:"BrtEndCellSmartTags", */ T:-1 }, - /*::[*/0x0252/*::]*/: { /* n:"BrtBeginSmartTags", */ T:1 }, - /*::[*/0x0253/*::]*/: { /* n:"BrtEndSmartTags", */ T:-1 }, - /*::[*/0x0254/*::]*/: { /* n:"BrtSmartTagType" */ }, - /*::[*/0x0255/*::]*/: { /* n:"BrtBeginSmartTagTypes", */ T:1 }, - /*::[*/0x0256/*::]*/: { /* n:"BrtEndSmartTagTypes", */ T:-1 }, - /*::[*/0x0257/*::]*/: { /* n:"BrtBeginSXFilters", */ T:1 }, - /*::[*/0x0258/*::]*/: { /* n:"BrtEndSXFilters", */ T:-1 }, - /*::[*/0x0259/*::]*/: { /* n:"BrtBeginSXFILTER", */ T:1 }, - /*::[*/0x025A/*::]*/: { /* n:"BrtEndSXFilter", */ T:-1 }, - /*::[*/0x025B/*::]*/: { /* n:"BrtBeginFills", */ T:1 }, - /*::[*/0x025C/*::]*/: { /* n:"BrtEndFills", */ T:-1 }, - /*::[*/0x025D/*::]*/: { /* n:"BrtBeginCellWatches", */ T:1 }, - /*::[*/0x025E/*::]*/: { /* n:"BrtEndCellWatches", */ T:-1 }, - /*::[*/0x025F/*::]*/: { /* n:"BrtCellWatch" */ }, - /*::[*/0x0260/*::]*/: { /* n:"BrtBeginCRErrs", */ T:1 }, - /*::[*/0x0261/*::]*/: { /* n:"BrtEndCRErrs", */ T:-1 }, - /*::[*/0x0262/*::]*/: { /* n:"BrtCrashRecErr" */ }, - /*::[*/0x0263/*::]*/: { /* n:"BrtBeginFonts", */ T:1 }, - /*::[*/0x0264/*::]*/: { /* n:"BrtEndFonts", */ T:-1 }, - /*::[*/0x0265/*::]*/: { /* n:"BrtBeginBorders", */ T:1 }, - /*::[*/0x0266/*::]*/: { /* n:"BrtEndBorders", */ T:-1 }, - /*::[*/0x0267/*::]*/: { /* n:"BrtBeginFmts", */ T:1 }, - /*::[*/0x0268/*::]*/: { /* n:"BrtEndFmts", */ T:-1 }, - /*::[*/0x0269/*::]*/: { /* n:"BrtBeginCellXFs", */ T:1 }, - /*::[*/0x026A/*::]*/: { /* n:"BrtEndCellXFs", */ T:-1 }, - /*::[*/0x026B/*::]*/: { /* n:"BrtBeginStyles", */ T:1 }, - /*::[*/0x026C/*::]*/: { /* n:"BrtEndStyles", */ T:-1 }, - /*::[*/0x0271/*::]*/: { /* n:"BrtBigName" */ }, - /*::[*/0x0272/*::]*/: { /* n:"BrtBeginCellStyleXFs", */ T:1 }, - /*::[*/0x0273/*::]*/: { /* n:"BrtEndCellStyleXFs", */ T:-1 }, - /*::[*/0x0274/*::]*/: { /* n:"BrtBeginComments", */ T:1 }, - /*::[*/0x0275/*::]*/: { /* n:"BrtEndComments", */ T:-1 }, - /*::[*/0x0276/*::]*/: { /* n:"BrtBeginCommentAuthors", */ T:1 }, - /*::[*/0x0277/*::]*/: { /* n:"BrtEndCommentAuthors", */ T:-1 }, - /*::[*/0x0278/*::]*/: { /* n:"BrtCommentAuthor", */ f:parse_BrtCommentAuthor }, - /*::[*/0x0279/*::]*/: { /* n:"BrtBeginCommentList", */ T:1 }, - /*::[*/0x027A/*::]*/: { /* n:"BrtEndCommentList", */ T:-1 }, - /*::[*/0x027B/*::]*/: { /* n:"BrtBeginComment", */ T:1, f:parse_BrtBeginComment}, - /*::[*/0x027C/*::]*/: { /* n:"BrtEndComment", */ T:-1 }, - /*::[*/0x027D/*::]*/: { /* n:"BrtCommentText", */ f:parse_BrtCommentText }, - /*::[*/0x027E/*::]*/: { /* n:"BrtBeginOleObjects", */ T:1 }, - /*::[*/0x027F/*::]*/: { /* n:"BrtOleObject" */ }, - /*::[*/0x0280/*::]*/: { /* n:"BrtEndOleObjects", */ T:-1 }, - /*::[*/0x0281/*::]*/: { /* n:"BrtBeginSxrules", */ T:1 }, - /*::[*/0x0282/*::]*/: { /* n:"BrtEndSxRules", */ T:-1 }, - /*::[*/0x0283/*::]*/: { /* n:"BrtBeginActiveXControls", */ T:1 }, - /*::[*/0x0284/*::]*/: { /* n:"BrtActiveX" */ }, - /*::[*/0x0285/*::]*/: { /* n:"BrtEndActiveXControls", */ T:-1 }, - /*::[*/0x0286/*::]*/: { /* n:"BrtBeginPCDSDTCEMembersSortBy", */ T:1 }, - /*::[*/0x0288/*::]*/: { /* n:"BrtBeginCellIgnoreECs", */ T:1 }, - /*::[*/0x0289/*::]*/: { /* n:"BrtCellIgnoreEC" */ }, - /*::[*/0x028A/*::]*/: { /* n:"BrtEndCellIgnoreECs", */ T:-1 }, - /*::[*/0x028B/*::]*/: { /* n:"BrtCsProp", */ f:parse_BrtCsProp }, - /*::[*/0x028C/*::]*/: { /* n:"BrtCsPageSetup" */ }, - /*::[*/0x028D/*::]*/: { /* n:"BrtBeginUserCsViews", */ T:1 }, - /*::[*/0x028E/*::]*/: { /* n:"BrtEndUserCsViews", */ T:-1 }, - /*::[*/0x028F/*::]*/: { /* n:"BrtBeginUserCsView", */ T:1 }, - /*::[*/0x0290/*::]*/: { /* n:"BrtEndUserCsView", */ T:-1 }, - /*::[*/0x0291/*::]*/: { /* n:"BrtBeginPcdSFCIEntries", */ T:1 }, - /*::[*/0x0292/*::]*/: { /* n:"BrtEndPCDSFCIEntries", */ T:-1 }, - /*::[*/0x0293/*::]*/: { /* n:"BrtPCDSFCIEntry" */ }, - /*::[*/0x0294/*::]*/: { /* n:"BrtBeginListParts", */ T:1 }, - /*::[*/0x0295/*::]*/: { /* n:"BrtListPart" */ }, - /*::[*/0x0296/*::]*/: { /* n:"BrtEndListParts", */ T:-1 }, - /*::[*/0x0297/*::]*/: { /* n:"BrtSheetCalcProp" */ }, - /*::[*/0x0298/*::]*/: { /* n:"BrtBeginFnGroup", */ T:1 }, - /*::[*/0x0299/*::]*/: { /* n:"BrtFnGroup" */ }, - /*::[*/0x029A/*::]*/: { /* n:"BrtEndFnGroup", */ T:-1 }, - /*::[*/0x029B/*::]*/: { /* n:"BrtSupAddin" */ }, - /*::[*/0x029C/*::]*/: { /* n:"BrtSXTDMPOrder" */ }, - /*::[*/0x029D/*::]*/: { /* n:"BrtCsProtection" */ }, - /*::[*/0x029F/*::]*/: { /* n:"BrtBeginWsSortMap", */ T:1 }, - /*::[*/0x02A0/*::]*/: { /* n:"BrtEndWsSortMap", */ T:-1 }, - /*::[*/0x02A1/*::]*/: { /* n:"BrtBeginRRSort", */ T:1 }, - /*::[*/0x02A2/*::]*/: { /* n:"BrtEndRRSort", */ T:-1 }, - /*::[*/0x02A3/*::]*/: { /* n:"BrtRRSortItem" */ }, - /*::[*/0x02A4/*::]*/: { /* n:"BrtFileSharingIso" */ }, - /*::[*/0x02A5/*::]*/: { /* n:"BrtBookProtectionIso" */ }, - /*::[*/0x02A6/*::]*/: { /* n:"BrtSheetProtectionIso" */ }, - /*::[*/0x02A7/*::]*/: { /* n:"BrtCsProtectionIso" */ }, - /*::[*/0x02A8/*::]*/: { /* n:"BrtRangeProtectionIso" */ }, - /*::[*/0x02A9/*::]*/: { /* n:"BrtDValList" */ }, - /*::[*/0x0400/*::]*/: { /* n:"BrtRwDescent" */ }, - /*::[*/0x0401/*::]*/: { /* n:"BrtKnownFonts" */ }, - /*::[*/0x0402/*::]*/: { /* n:"BrtBeginSXTupleSet", */ T:1 }, - /*::[*/0x0403/*::]*/: { /* n:"BrtEndSXTupleSet", */ T:-1 }, - /*::[*/0x0404/*::]*/: { /* n:"BrtBeginSXTupleSetHeader", */ T:1 }, - /*::[*/0x0405/*::]*/: { /* n:"BrtEndSXTupleSetHeader", */ T:-1 }, - /*::[*/0x0406/*::]*/: { /* n:"BrtSXTupleSetHeaderItem" */ }, - /*::[*/0x0407/*::]*/: { /* n:"BrtBeginSXTupleSetData", */ T:1 }, - /*::[*/0x0408/*::]*/: { /* n:"BrtEndSXTupleSetData", */ T:-1 }, - /*::[*/0x0409/*::]*/: { /* n:"BrtBeginSXTupleSetRow", */ T:1 }, - /*::[*/0x040A/*::]*/: { /* n:"BrtEndSXTupleSetRow", */ T:-1 }, - /*::[*/0x040B/*::]*/: { /* n:"BrtSXTupleSetRowItem" */ }, - /*::[*/0x040C/*::]*/: { /* n:"BrtNameExt" */ }, - /*::[*/0x040D/*::]*/: { /* n:"BrtPCDH14" */ }, - /*::[*/0x040E/*::]*/: { /* n:"BrtBeginPCDCalcMem14", */ T:1 }, - /*::[*/0x040F/*::]*/: { /* n:"BrtEndPCDCalcMem14", */ T:-1 }, - /*::[*/0x0410/*::]*/: { /* n:"BrtSXTH14" */ }, - /*::[*/0x0411/*::]*/: { /* n:"BrtBeginSparklineGroup", */ T:1 }, - /*::[*/0x0412/*::]*/: { /* n:"BrtEndSparklineGroup", */ T:-1 }, - /*::[*/0x0413/*::]*/: { /* n:"BrtSparkline" */ }, - /*::[*/0x0414/*::]*/: { /* n:"BrtSXDI14" */ }, - /*::[*/0x0415/*::]*/: { /* n:"BrtWsFmtInfoEx14" */ }, - /*::[*/0x0416/*::]*/: { /* n:"BrtBeginConditionalFormatting14", */ T:1 }, - /*::[*/0x0417/*::]*/: { /* n:"BrtEndConditionalFormatting14", */ T:-1 }, - /*::[*/0x0418/*::]*/: { /* n:"BrtBeginCFRule14", */ T:1 }, - /*::[*/0x0419/*::]*/: { /* n:"BrtEndCFRule14", */ T:-1 }, - /*::[*/0x041A/*::]*/: { /* n:"BrtCFVO14" */ }, - /*::[*/0x041B/*::]*/: { /* n:"BrtBeginDatabar14", */ T:1 }, - /*::[*/0x041C/*::]*/: { /* n:"BrtBeginIconSet14", */ T:1 }, - /*::[*/0x041D/*::]*/: { /* n:"BrtDVal14", */ f: parse_BrtDVal14 }, - /*::[*/0x041E/*::]*/: { /* n:"BrtBeginDVals14", */ T:1 }, - /*::[*/0x041F/*::]*/: { /* n:"BrtColor14" */ }, - /*::[*/0x0420/*::]*/: { /* n:"BrtBeginSparklines", */ T:1 }, - /*::[*/0x0421/*::]*/: { /* n:"BrtEndSparklines", */ T:-1 }, - /*::[*/0x0422/*::]*/: { /* n:"BrtBeginSparklineGroups", */ T:1 }, - /*::[*/0x0423/*::]*/: { /* n:"BrtEndSparklineGroups", */ T:-1 }, - /*::[*/0x0425/*::]*/: { /* n:"BrtSXVD14" */ }, - /*::[*/0x0426/*::]*/: { /* n:"BrtBeginSXView14", */ T:1 }, - /*::[*/0x0427/*::]*/: { /* n:"BrtEndSXView14", */ T:-1 }, - /*::[*/0x0428/*::]*/: { /* n:"BrtBeginSXView16", */ T:1 }, - /*::[*/0x0429/*::]*/: { /* n:"BrtEndSXView16", */ T:-1 }, - /*::[*/0x042A/*::]*/: { /* n:"BrtBeginPCD14", */ T:1 }, - /*::[*/0x042B/*::]*/: { /* n:"BrtEndPCD14", */ T:-1 }, - /*::[*/0x042C/*::]*/: { /* n:"BrtBeginExtConn14", */ T:1 }, - /*::[*/0x042D/*::]*/: { /* n:"BrtEndExtConn14", */ T:-1 }, - /*::[*/0x042E/*::]*/: { /* n:"BrtBeginSlicerCacheIDs", */ T:1 }, - /*::[*/0x042F/*::]*/: { /* n:"BrtEndSlicerCacheIDs", */ T:-1 }, - /*::[*/0x0430/*::]*/: { /* n:"BrtBeginSlicerCacheID", */ T:1 }, - /*::[*/0x0431/*::]*/: { /* n:"BrtEndSlicerCacheID", */ T:-1 }, - /*::[*/0x0433/*::]*/: { /* n:"BrtBeginSlicerCache", */ T:1 }, - /*::[*/0x0434/*::]*/: { /* n:"BrtEndSlicerCache", */ T:-1 }, - /*::[*/0x0435/*::]*/: { /* n:"BrtBeginSlicerCacheDef", */ T:1 }, - /*::[*/0x0436/*::]*/: { /* n:"BrtEndSlicerCacheDef", */ T:-1 }, - /*::[*/0x0437/*::]*/: { /* n:"BrtBeginSlicersEx", */ T:1 }, - /*::[*/0x0438/*::]*/: { /* n:"BrtEndSlicersEx", */ T:-1 }, - /*::[*/0x0439/*::]*/: { /* n:"BrtBeginSlicerEx", */ T:1 }, - /*::[*/0x043A/*::]*/: { /* n:"BrtEndSlicerEx", */ T:-1 }, - /*::[*/0x043B/*::]*/: { /* n:"BrtBeginSlicer", */ T:1 }, - /*::[*/0x043C/*::]*/: { /* n:"BrtEndSlicer", */ T:-1 }, - /*::[*/0x043D/*::]*/: { /* n:"BrtSlicerCachePivotTables" */ }, - /*::[*/0x043E/*::]*/: { /* n:"BrtBeginSlicerCacheOlapImpl", */ T:1 }, - /*::[*/0x043F/*::]*/: { /* n:"BrtEndSlicerCacheOlapImpl", */ T:-1 }, - /*::[*/0x0440/*::]*/: { /* n:"BrtBeginSlicerCacheLevelsData", */ T:1 }, - /*::[*/0x0441/*::]*/: { /* n:"BrtEndSlicerCacheLevelsData", */ T:-1 }, - /*::[*/0x0442/*::]*/: { /* n:"BrtBeginSlicerCacheLevelData", */ T:1 }, - /*::[*/0x0443/*::]*/: { /* n:"BrtEndSlicerCacheLevelData", */ T:-1 }, - /*::[*/0x0444/*::]*/: { /* n:"BrtBeginSlicerCacheSiRanges", */ T:1 }, - /*::[*/0x0445/*::]*/: { /* n:"BrtEndSlicerCacheSiRanges", */ T:-1 }, - /*::[*/0x0446/*::]*/: { /* n:"BrtBeginSlicerCacheSiRange", */ T:1 }, - /*::[*/0x0447/*::]*/: { /* n:"BrtEndSlicerCacheSiRange", */ T:-1 }, - /*::[*/0x0448/*::]*/: { /* n:"BrtSlicerCacheOlapItem" */ }, - /*::[*/0x0449/*::]*/: { /* n:"BrtBeginSlicerCacheSelections", */ T:1 }, - /*::[*/0x044A/*::]*/: { /* n:"BrtSlicerCacheSelection" */ }, - /*::[*/0x044B/*::]*/: { /* n:"BrtEndSlicerCacheSelections", */ T:-1 }, - /*::[*/0x044C/*::]*/: { /* n:"BrtBeginSlicerCacheNative", */ T:1 }, - /*::[*/0x044D/*::]*/: { /* n:"BrtEndSlicerCacheNative", */ T:-1 }, - /*::[*/0x044E/*::]*/: { /* n:"BrtSlicerCacheNativeItem" */ }, - /*::[*/0x044F/*::]*/: { /* n:"BrtRangeProtection14" */ }, - /*::[*/0x0450/*::]*/: { /* n:"BrtRangeProtectionIso14" */ }, - /*::[*/0x0451/*::]*/: { /* n:"BrtCellIgnoreEC14" */ }, - /*::[*/0x0457/*::]*/: { /* n:"BrtList14" */ }, - /*::[*/0x0458/*::]*/: { /* n:"BrtCFIcon" */ }, - /*::[*/0x0459/*::]*/: { /* n:"BrtBeginSlicerCachesPivotCacheIDs", */ T:1 }, - /*::[*/0x045A/*::]*/: { /* n:"BrtEndSlicerCachesPivotCacheIDs", */ T:-1 }, - /*::[*/0x045B/*::]*/: { /* n:"BrtBeginSlicers", */ T:1 }, - /*::[*/0x045C/*::]*/: { /* n:"BrtEndSlicers", */ T:-1 }, - /*::[*/0x045D/*::]*/: { /* n:"BrtWbProp14" */ }, - /*::[*/0x045E/*::]*/: { /* n:"BrtBeginSXEdit", */ T:1 }, - /*::[*/0x045F/*::]*/: { /* n:"BrtEndSXEdit", */ T:-1 }, - /*::[*/0x0460/*::]*/: { /* n:"BrtBeginSXEdits", */ T:1 }, - /*::[*/0x0461/*::]*/: { /* n:"BrtEndSXEdits", */ T:-1 }, - /*::[*/0x0462/*::]*/: { /* n:"BrtBeginSXChange", */ T:1 }, - /*::[*/0x0463/*::]*/: { /* n:"BrtEndSXChange", */ T:-1 }, - /*::[*/0x0464/*::]*/: { /* n:"BrtBeginSXChanges", */ T:1 }, - /*::[*/0x0465/*::]*/: { /* n:"BrtEndSXChanges", */ T:-1 }, - /*::[*/0x0466/*::]*/: { /* n:"BrtSXTupleItems" */ }, - /*::[*/0x0468/*::]*/: { /* n:"BrtBeginSlicerStyle", */ T:1 }, - /*::[*/0x0469/*::]*/: { /* n:"BrtEndSlicerStyle", */ T:-1 }, - /*::[*/0x046A/*::]*/: { /* n:"BrtSlicerStyleElement" */ }, - /*::[*/0x046B/*::]*/: { /* n:"BrtBeginStyleSheetExt14", */ T:1 }, - /*::[*/0x046C/*::]*/: { /* n:"BrtEndStyleSheetExt14", */ T:-1 }, - /*::[*/0x046D/*::]*/: { /* n:"BrtBeginSlicerCachesPivotCacheID", */ T:1 }, - /*::[*/0x046E/*::]*/: { /* n:"BrtEndSlicerCachesPivotCacheID", */ T:-1 }, - /*::[*/0x046F/*::]*/: { /* n:"BrtBeginConditionalFormattings", */ T:1 }, - /*::[*/0x0470/*::]*/: { /* n:"BrtEndConditionalFormattings", */ T:-1 }, - /*::[*/0x0471/*::]*/: { /* n:"BrtBeginPCDCalcMemExt", */ T:1 }, - /*::[*/0x0472/*::]*/: { /* n:"BrtEndPCDCalcMemExt", */ T:-1 }, - /*::[*/0x0473/*::]*/: { /* n:"BrtBeginPCDCalcMemsExt", */ T:1 }, - /*::[*/0x0474/*::]*/: { /* n:"BrtEndPCDCalcMemsExt", */ T:-1 }, - /*::[*/0x0475/*::]*/: { /* n:"BrtPCDField14" */ }, - /*::[*/0x0476/*::]*/: { /* n:"BrtBeginSlicerStyles", */ T:1 }, - /*::[*/0x0477/*::]*/: { /* n:"BrtEndSlicerStyles", */ T:-1 }, - /*::[*/0x0478/*::]*/: { /* n:"BrtBeginSlicerStyleElements", */ T:1 }, - /*::[*/0x0479/*::]*/: { /* n:"BrtEndSlicerStyleElements", */ T:-1 }, - /*::[*/0x047A/*::]*/: { /* n:"BrtCFRuleExt" */ }, - /*::[*/0x047B/*::]*/: { /* n:"BrtBeginSXCondFmt14", */ T:1 }, - /*::[*/0x047C/*::]*/: { /* n:"BrtEndSXCondFmt14", */ T:-1 }, - /*::[*/0x047D/*::]*/: { /* n:"BrtBeginSXCondFmts14", */ T:1 }, - /*::[*/0x047E/*::]*/: { /* n:"BrtEndSXCondFmts14", */ T:-1 }, - /*::[*/0x0480/*::]*/: { /* n:"BrtBeginSortCond14", */ T:1 }, - /*::[*/0x0481/*::]*/: { /* n:"BrtEndSortCond14", */ T:-1 }, - /*::[*/0x0482/*::]*/: { /* n:"BrtEndDVals14", */ T:-1 }, - /*::[*/0x0483/*::]*/: { /* n:"BrtEndIconSet14", */ T:-1 }, - /*::[*/0x0484/*::]*/: { /* n:"BrtEndDatabar14", */ T:-1 }, - /*::[*/0x0485/*::]*/: { /* n:"BrtBeginColorScale14", */ T:1 }, - /*::[*/0x0486/*::]*/: { /* n:"BrtEndColorScale14", */ T:-1 }, - /*::[*/0x0487/*::]*/: { /* n:"BrtBeginSxrules14", */ T:1 }, - /*::[*/0x0488/*::]*/: { /* n:"BrtEndSxrules14", */ T:-1 }, - /*::[*/0x0489/*::]*/: { /* n:"BrtBeginPRule14", */ T:1 }, - /*::[*/0x048A/*::]*/: { /* n:"BrtEndPRule14", */ T:-1 }, - /*::[*/0x048B/*::]*/: { /* n:"BrtBeginPRFilters14", */ T:1 }, - /*::[*/0x048C/*::]*/: { /* n:"BrtEndPRFilters14", */ T:-1 }, - /*::[*/0x048D/*::]*/: { /* n:"BrtBeginPRFilter14", */ T:1 }, - /*::[*/0x048E/*::]*/: { /* n:"BrtEndPRFilter14", */ T:-1 }, - /*::[*/0x048F/*::]*/: { /* n:"BrtBeginPRFItem14", */ T:1 }, - /*::[*/0x0490/*::]*/: { /* n:"BrtEndPRFItem14", */ T:-1 }, - /*::[*/0x0491/*::]*/: { /* n:"BrtBeginCellIgnoreECs14", */ T:1 }, - /*::[*/0x0492/*::]*/: { /* n:"BrtEndCellIgnoreECs14", */ T:-1 }, - /*::[*/0x0493/*::]*/: { /* n:"BrtDxf14" */ }, - /*::[*/0x0494/*::]*/: { /* n:"BrtBeginDxF14s", */ T:1 }, - /*::[*/0x0495/*::]*/: { /* n:"BrtEndDxf14s", */ T:-1 }, - /*::[*/0x0499/*::]*/: { /* n:"BrtFilter14" */ }, - /*::[*/0x049A/*::]*/: { /* n:"BrtBeginCustomFilters14", */ T:1 }, - /*::[*/0x049C/*::]*/: { /* n:"BrtCustomFilter14" */ }, - /*::[*/0x049D/*::]*/: { /* n:"BrtIconFilter14" */ }, - /*::[*/0x049E/*::]*/: { /* n:"BrtPivotCacheConnectionName" */ }, - /*::[*/0x0800/*::]*/: { /* n:"BrtBeginDecoupledPivotCacheIDs", */ T:1 }, - /*::[*/0x0801/*::]*/: { /* n:"BrtEndDecoupledPivotCacheIDs", */ T:-1 }, - /*::[*/0x0802/*::]*/: { /* n:"BrtDecoupledPivotCacheID" */ }, - /*::[*/0x0803/*::]*/: { /* n:"BrtBeginPivotTableRefs", */ T:1 }, - /*::[*/0x0804/*::]*/: { /* n:"BrtEndPivotTableRefs", */ T:-1 }, - /*::[*/0x0805/*::]*/: { /* n:"BrtPivotTableRef" */ }, - /*::[*/0x0806/*::]*/: { /* n:"BrtSlicerCacheBookPivotTables" */ }, - /*::[*/0x0807/*::]*/: { /* n:"BrtBeginSxvcells", */ T:1 }, - /*::[*/0x0808/*::]*/: { /* n:"BrtEndSxvcells", */ T:-1 }, - /*::[*/0x0809/*::]*/: { /* n:"BrtBeginSxRow", */ T:1 }, - /*::[*/0x080A/*::]*/: { /* n:"BrtEndSxRow", */ T:-1 }, - /*::[*/0x080C/*::]*/: { /* n:"BrtPcdCalcMem15" */ }, - /*::[*/0x0813/*::]*/: { /* n:"BrtQsi15" */ }, - /*::[*/0x0814/*::]*/: { /* n:"BrtBeginWebExtensions", */ T:1 }, - /*::[*/0x0815/*::]*/: { /* n:"BrtEndWebExtensions", */ T:-1 }, - /*::[*/0x0816/*::]*/: { /* n:"BrtWebExtension" */ }, - /*::[*/0x0817/*::]*/: { /* n:"BrtAbsPath15" */ }, - /*::[*/0x0818/*::]*/: { /* n:"BrtBeginPivotTableUISettings", */ T:1 }, - /*::[*/0x0819/*::]*/: { /* n:"BrtEndPivotTableUISettings", */ T:-1 }, - /*::[*/0x081B/*::]*/: { /* n:"BrtTableSlicerCacheIDs" */ }, - /*::[*/0x081C/*::]*/: { /* n:"BrtTableSlicerCacheID" */ }, - /*::[*/0x081D/*::]*/: { /* n:"BrtBeginTableSlicerCache", */ T:1 }, - /*::[*/0x081E/*::]*/: { /* n:"BrtEndTableSlicerCache", */ T:-1 }, - /*::[*/0x081F/*::]*/: { /* n:"BrtSxFilter15" */ }, - /*::[*/0x0820/*::]*/: { /* n:"BrtBeginTimelineCachePivotCacheIDs", */ T:1 }, - /*::[*/0x0821/*::]*/: { /* n:"BrtEndTimelineCachePivotCacheIDs", */ T:-1 }, - /*::[*/0x0822/*::]*/: { /* n:"BrtTimelineCachePivotCacheID" */ }, - /*::[*/0x0823/*::]*/: { /* n:"BrtBeginTimelineCacheIDs", */ T:1 }, - /*::[*/0x0824/*::]*/: { /* n:"BrtEndTimelineCacheIDs", */ T:-1 }, - /*::[*/0x0825/*::]*/: { /* n:"BrtBeginTimelineCacheID", */ T:1 }, - /*::[*/0x0826/*::]*/: { /* n:"BrtEndTimelineCacheID", */ T:-1 }, - /*::[*/0x0827/*::]*/: { /* n:"BrtBeginTimelinesEx", */ T:1 }, - /*::[*/0x0828/*::]*/: { /* n:"BrtEndTimelinesEx", */ T:-1 }, - /*::[*/0x0829/*::]*/: { /* n:"BrtBeginTimelineEx", */ T:1 }, - /*::[*/0x082A/*::]*/: { /* n:"BrtEndTimelineEx", */ T:-1 }, - /*::[*/0x082B/*::]*/: { /* n:"BrtWorkBookPr15" */ }, - /*::[*/0x082C/*::]*/: { /* n:"BrtPCDH15" */ }, - /*::[*/0x082D/*::]*/: { /* n:"BrtBeginTimelineStyle", */ T:1 }, - /*::[*/0x082E/*::]*/: { /* n:"BrtEndTimelineStyle", */ T:-1 }, - /*::[*/0x082F/*::]*/: { /* n:"BrtTimelineStyleElement" */ }, - /*::[*/0x0830/*::]*/: { /* n:"BrtBeginTimelineStylesheetExt15", */ T:1 }, - /*::[*/0x0831/*::]*/: { /* n:"BrtEndTimelineStylesheetExt15", */ T:-1 }, - /*::[*/0x0832/*::]*/: { /* n:"BrtBeginTimelineStyles", */ T:1 }, - /*::[*/0x0833/*::]*/: { /* n:"BrtEndTimelineStyles", */ T:-1 }, - /*::[*/0x0834/*::]*/: { /* n:"BrtBeginTimelineStyleElements", */ T:1 }, - /*::[*/0x0835/*::]*/: { /* n:"BrtEndTimelineStyleElements", */ T:-1 }, - /*::[*/0x0836/*::]*/: { /* n:"BrtDxf15" */ }, - /*::[*/0x0837/*::]*/: { /* n:"BrtBeginDxfs15", */ T:1 }, - /*::[*/0x0838/*::]*/: { /* n:"BrtEndDxfs15", */ T:-1 }, - /*::[*/0x0839/*::]*/: { /* n:"BrtSlicerCacheHideItemsWithNoData" */ }, - /*::[*/0x083A/*::]*/: { /* n:"BrtBeginItemUniqueNames", */ T:1 }, - /*::[*/0x083B/*::]*/: { /* n:"BrtEndItemUniqueNames", */ T:-1 }, - /*::[*/0x083C/*::]*/: { /* n:"BrtItemUniqueName" */ }, - /*::[*/0x083D/*::]*/: { /* n:"BrtBeginExtConn15", */ T:1 }, - /*::[*/0x083E/*::]*/: { /* n:"BrtEndExtConn15", */ T:-1 }, - /*::[*/0x083F/*::]*/: { /* n:"BrtBeginOledbPr15", */ T:1 }, - /*::[*/0x0840/*::]*/: { /* n:"BrtEndOledbPr15", */ T:-1 }, - /*::[*/0x0841/*::]*/: { /* n:"BrtBeginDataFeedPr15", */ T:1 }, - /*::[*/0x0842/*::]*/: { /* n:"BrtEndDataFeedPr15", */ T:-1 }, - /*::[*/0x0843/*::]*/: { /* n:"BrtTextPr15" */ }, - /*::[*/0x0844/*::]*/: { /* n:"BrtRangePr15" */ }, - /*::[*/0x0845/*::]*/: { /* n:"BrtDbCommand15" */ }, - /*::[*/0x0846/*::]*/: { /* n:"BrtBeginDbTables15", */ T:1 }, - /*::[*/0x0847/*::]*/: { /* n:"BrtEndDbTables15", */ T:-1 }, - /*::[*/0x0848/*::]*/: { /* n:"BrtDbTable15" */ }, - /*::[*/0x0849/*::]*/: { /* n:"BrtBeginDataModel", */ T:1 }, - /*::[*/0x084A/*::]*/: { /* n:"BrtEndDataModel", */ T:-1 }, - /*::[*/0x084B/*::]*/: { /* n:"BrtBeginModelTables", */ T:1 }, - /*::[*/0x084C/*::]*/: { /* n:"BrtEndModelTables", */ T:-1 }, - /*::[*/0x084D/*::]*/: { /* n:"BrtModelTable" */ }, - /*::[*/0x084E/*::]*/: { /* n:"BrtBeginModelRelationships", */ T:1 }, - /*::[*/0x084F/*::]*/: { /* n:"BrtEndModelRelationships", */ T:-1 }, - /*::[*/0x0850/*::]*/: { /* n:"BrtModelRelationship" */ }, - /*::[*/0x0851/*::]*/: { /* n:"BrtBeginECTxtWiz15", */ T:1 }, - /*::[*/0x0852/*::]*/: { /* n:"BrtEndECTxtWiz15", */ T:-1 }, - /*::[*/0x0853/*::]*/: { /* n:"BrtBeginECTWFldInfoLst15", */ T:1 }, - /*::[*/0x0854/*::]*/: { /* n:"BrtEndECTWFldInfoLst15", */ T:-1 }, - /*::[*/0x0855/*::]*/: { /* n:"BrtBeginECTWFldInfo15", */ T:1 }, - /*::[*/0x0856/*::]*/: { /* n:"BrtFieldListActiveItem" */ }, - /*::[*/0x0857/*::]*/: { /* n:"BrtPivotCacheIdVersion" */ }, - /*::[*/0x0858/*::]*/: { /* n:"BrtSXDI15" */ }, - /*::[*/0x0859/*::]*/: { /* n:"BrtBeginModelTimeGroupings", */ T:1 }, - /*::[*/0x085A/*::]*/: { /* n:"BrtEndModelTimeGroupings", */ T:-1 }, - /*::[*/0x085B/*::]*/: { /* n:"BrtBeginModelTimeGrouping", */ T:1 }, - /*::[*/0x085C/*::]*/: { /* n:"BrtEndModelTimeGrouping", */ T:-1 }, - /*::[*/0x085D/*::]*/: { /* n:"BrtModelTimeGroupingCalcCol" */ }, - /*::[*/0x0C00/*::]*/: { /* n:"BrtUid" */ }, - /*::[*/0x0C01/*::]*/: { /* n:"BrtRevisionPtr" */ }, - /*::[*/0x1000/*::]*/: { /* n:"BrtBeginDynamicArrayPr", */ T:1 }, - /*::[*/0x1001/*::]*/: { /* n:"BrtEndDynamicArrayPr", */ T:-1 }, - /*::[*/0x138A/*::]*/: { /* n:"BrtBeginRichValueBlock", */ T:1 }, - /*::[*/0x138B/*::]*/: { /* n:"BrtEndRichValueBlock", */ T:-1 }, - /*::[*/0x13D9/*::]*/: { /* n:"BrtBeginRichFilters", */ T:1 }, - /*::[*/0x13DA/*::]*/: { /* n:"BrtEndRichFilters", */ T:-1 }, - /*::[*/0x13DB/*::]*/: { /* n:"BrtRichFilter" */ }, - /*::[*/0x13DC/*::]*/: { /* n:"BrtBeginRichFilterColumn", */ T:1 }, - /*::[*/0x13DD/*::]*/: { /* n:"BrtEndRichFilterColumn", */ T:-1 }, - /*::[*/0x13DE/*::]*/: { /* n:"BrtBeginCustomRichFilters", */ T:1 }, - /*::[*/0x13DF/*::]*/: { /* n:"BrtEndCustomRichFilters", */ T:-1 }, - /*::[*/0x13E0/*::]*/: { /* n:"BrtCustomRichFilter" */ }, - /*::[*/0x13E1/*::]*/: { /* n:"BrtTop10RichFilter" */ }, - /*::[*/0x13E2/*::]*/: { /* n:"BrtDynamicRichFilter" */ }, - /*::[*/0x13E4/*::]*/: { /* n:"BrtBeginRichSortCondition", */ T:1 }, - /*::[*/0x13E5/*::]*/: { /* n:"BrtEndRichSortCondition", */ T:-1 }, - /*::[*/0x13E6/*::]*/: { /* n:"BrtRichFilterDateGroupItem" */ }, - /*::[*/0x13E7/*::]*/: { /* n:"BrtBeginCalcFeatures", */ T:1 }, - /*::[*/0x13E8/*::]*/: { /* n:"BrtEndCalcFeatures", */ T:-1 }, - /*::[*/0x13E9/*::]*/: { /* n:"BrtCalcFeature" */ }, - /*::[*/0x13EB/*::]*/: { /* n:"BrtExternalLinksPr" */ }, - /*::[*/0xFFFF/*::]*/: { n:"" } -}; - -/* [MS-XLS] 2.3 Record Enumeration (and other sources) */ -var XLSRecordEnum = { - /* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */ - /*::[*/0x0006/*::]*/: { /* n:"Formula", */ f:parse_Formula }, - /*::[*/0x000a/*::]*/: { /* n:"EOF", */ f:parsenoop2 }, - /*::[*/0x000c/*::]*/: { /* n:"CalcCount", */ f:parseuint16 }, // - /*::[*/0x000d/*::]*/: { /* n:"CalcMode", */ f:parseuint16 }, // - /*::[*/0x000e/*::]*/: { /* n:"CalcPrecision", */ f:parsebool }, // - /*::[*/0x000f/*::]*/: { /* n:"CalcRefMode", */ f:parsebool }, // - /*::[*/0x0010/*::]*/: { /* n:"CalcDelta", */ f:parse_Xnum }, // - /*::[*/0x0011/*::]*/: { /* n:"CalcIter", */ f:parsebool }, // - /*::[*/0x0012/*::]*/: { /* n:"Protect", */ f:parsebool }, - /*::[*/0x0013/*::]*/: { /* n:"Password", */ f:parseuint16 }, - /*::[*/0x0014/*::]*/: { /* n:"Header", */ f:parse_XLHeaderFooter }, - /*::[*/0x0015/*::]*/: { /* n:"Footer", */ f:parse_XLHeaderFooter }, - /*::[*/0x0017/*::]*/: { /* n:"ExternSheet", */ f:parse_ExternSheet }, - /*::[*/0x0018/*::]*/: { /* n:"Lbl", */ f:parse_Lbl }, - /*::[*/0x0019/*::]*/: { /* n:"WinProtect", */ f:parsebool }, - /*::[*/0x001a/*::]*/: { /* n:"VerticalPageBreaks", */ }, - /*::[*/0x001b/*::]*/: { /* n:"HorizontalPageBreaks", */ }, - /*::[*/0x001c/*::]*/: { /* n:"Note", */ f:parse_Note }, - /*::[*/0x001d/*::]*/: { /* n:"Selection", */ }, - /*::[*/0x0022/*::]*/: { /* n:"Date1904", */ f:parsebool }, - /*::[*/0x0023/*::]*/: { /* n:"ExternName", */ f:parse_ExternName }, - /*::[*/0x0026/*::]*/: { /* n:"LeftMargin", */ f:parse_Xnum }, // * - /*::[*/0x0027/*::]*/: { /* n:"RightMargin", */ f:parse_Xnum }, // * - /*::[*/0x0028/*::]*/: { /* n:"TopMargin", */ f:parse_Xnum }, // * - /*::[*/0x0029/*::]*/: { /* n:"BottomMargin", */ f:parse_Xnum }, // * - /*::[*/0x002a/*::]*/: { /* n:"PrintRowCol", */ f:parsebool }, - /*::[*/0x002b/*::]*/: { /* n:"PrintGrid", */ f:parsebool }, - /*::[*/0x002f/*::]*/: { /* n:"FilePass", */ f:parse_FilePass }, - /*::[*/0x0031/*::]*/: { /* n:"Font", */ f:parse_Font }, - /*::[*/0x0033/*::]*/: { /* n:"PrintSize", */ f:parseuint16 }, - /*::[*/0x003c/*::]*/: { /* n:"Continue", */ }, - /*::[*/0x003d/*::]*/: { /* n:"Window1", */ f:parse_Window1 }, - /*::[*/0x0040/*::]*/: { /* n:"Backup", */ f:parsebool }, - /*::[*/0x0041/*::]*/: { /* n:"Pane", */ f:parse_Pane }, - /*::[*/0x0042/*::]*/: { /* n:"CodePage", */ f:parseuint16 }, - /*::[*/0x004d/*::]*/: { /* n:"Pls", */ }, - /*::[*/0x0050/*::]*/: { /* n:"DCon", */ }, - /*::[*/0x0051/*::]*/: { /* n:"DConRef", */ }, - /*::[*/0x0052/*::]*/: { /* n:"DConName", */ }, - /*::[*/0x0055/*::]*/: { /* n:"DefColWidth", */ f:parseuint16 }, - /*::[*/0x0059/*::]*/: { /* n:"XCT", */ }, - /*::[*/0x005a/*::]*/: { /* n:"CRN", */ }, - /*::[*/0x005b/*::]*/: { /* n:"FileSharing", */ }, - /*::[*/0x005c/*::]*/: { /* n:"WriteAccess", */ f:parse_WriteAccess }, - /*::[*/0x005d/*::]*/: { /* n:"Obj", */ f:parse_Obj }, - /*::[*/0x005e/*::]*/: { /* n:"Uncalced", */ }, - /*::[*/0x005f/*::]*/: { /* n:"CalcSaveRecalc", */ f:parsebool }, // - /*::[*/0x0060/*::]*/: { /* n:"Template", */ }, - /*::[*/0x0061/*::]*/: { /* n:"Intl", */ }, - /*::[*/0x0063/*::]*/: { /* n:"ObjProtect", */ f:parsebool }, - /*::[*/0x007d/*::]*/: { /* n:"ColInfo", */ f:parse_ColInfo }, - /*::[*/0x0080/*::]*/: { /* n:"Guts", */ f:parse_Guts }, - /*::[*/0x0081/*::]*/: { /* n:"WsBool", */ f:parse_WsBool }, - /*::[*/0x0082/*::]*/: { /* n:"GridSet", */ f:parseuint16 }, - /*::[*/0x0083/*::]*/: { /* n:"HCenter", */ f:parsebool }, - /*::[*/0x0084/*::]*/: { /* n:"VCenter", */ f:parsebool }, - /*::[*/0x0085/*::]*/: { /* n:"BoundSheet8", */ f:parse_BoundSheet8 }, - /*::[*/0x0086/*::]*/: { /* n:"WriteProtect", */ }, - /*::[*/0x008c/*::]*/: { /* n:"Country", */ f:parse_Country }, - /*::[*/0x008d/*::]*/: { /* n:"HideObj", */ f:parseuint16 }, - /*::[*/0x0090/*::]*/: { /* n:"Sort", */ }, - /*::[*/0x0092/*::]*/: { /* n:"Palette", */ f:parse_Palette }, - /*::[*/0x0097/*::]*/: { /* n:"Sync", */ }, - /*::[*/0x0098/*::]*/: { /* n:"LPr", */ }, - /*::[*/0x0099/*::]*/: { /* n:"DxGCol", */ }, - /*::[*/0x009a/*::]*/: { /* n:"FnGroupName", */ }, - /*::[*/0x009b/*::]*/: { /* n:"FilterMode", */ }, - /*::[*/0x009c/*::]*/: { /* n:"BuiltInFnGroupCount", */ f:parseuint16 }, - /*::[*/0x009d/*::]*/: { /* n:"AutoFilterInfo", */ }, - /*::[*/0x009e/*::]*/: { /* n:"AutoFilter", */ }, - /*::[*/0x00a0/*::]*/: { /* n:"Scl", */ f:parse_Scl }, - /*::[*/0x00a1/*::]*/: { /* n:"Setup", */ f:parse_Setup }, - /*::[*/0x00ae/*::]*/: { /* n:"ScenMan", */ }, - /*::[*/0x00af/*::]*/: { /* n:"SCENARIO", */ }, - /*::[*/0x00b0/*::]*/: { /* n:"SxView", */ }, - /*::[*/0x00b1/*::]*/: { /* n:"Sxvd", */ }, - /*::[*/0x00b2/*::]*/: { /* n:"SXVI", */ }, - /*::[*/0x00b4/*::]*/: { /* n:"SxIvd", */ }, - /*::[*/0x00b5/*::]*/: { /* n:"SXLI", */ }, - /*::[*/0x00b6/*::]*/: { /* n:"SXPI", */ }, - /*::[*/0x00b8/*::]*/: { /* n:"DocRoute", */ }, - /*::[*/0x00b9/*::]*/: { /* n:"RecipName", */ }, - /*::[*/0x00bd/*::]*/: { /* n:"MulRk", */ f:parse_MulRk }, - /*::[*/0x00be/*::]*/: { /* n:"MulBlank", */ f:parse_MulBlank }, - /*::[*/0x00c1/*::]*/: { /* n:"Mms", */ f:parsenoop2 }, - /*::[*/0x00c5/*::]*/: { /* n:"SXDI", */ }, - /*::[*/0x00c6/*::]*/: { /* n:"SXDB", */ }, - /*::[*/0x00c7/*::]*/: { /* n:"SXFDB", */ }, - /*::[*/0x00c8/*::]*/: { /* n:"SXDBB", */ }, - /*::[*/0x00c9/*::]*/: { /* n:"SXNum", */ }, - /*::[*/0x00ca/*::]*/: { /* n:"SxBool", */ f:parsebool }, - /*::[*/0x00cb/*::]*/: { /* n:"SxErr", */ }, - /*::[*/0x00cc/*::]*/: { /* n:"SXInt", */ }, - /*::[*/0x00cd/*::]*/: { /* n:"SXString", */ }, - /*::[*/0x00ce/*::]*/: { /* n:"SXDtr", */ }, - /*::[*/0x00cf/*::]*/: { /* n:"SxNil", */ }, - /*::[*/0x00d0/*::]*/: { /* n:"SXTbl", */ }, - /*::[*/0x00d1/*::]*/: { /* n:"SXTBRGIITM", */ }, - /*::[*/0x00d2/*::]*/: { /* n:"SxTbpg", */ }, - /*::[*/0x00d3/*::]*/: { /* n:"ObProj", */ }, - /*::[*/0x00d5/*::]*/: { /* n:"SXStreamID", */ }, - /*::[*/0x00d7/*::]*/: { /* n:"DBCell", */ }, - /*::[*/0x00d8/*::]*/: { /* n:"SXRng", */ }, - /*::[*/0x00d9/*::]*/: { /* n:"SxIsxoper", */ }, - /*::[*/0x00da/*::]*/: { /* n:"BookBool", */ f:parseuint16 }, - /*::[*/0x00dc/*::]*/: { /* n:"DbOrParamQry", */ }, - /*::[*/0x00dd/*::]*/: { /* n:"ScenarioProtect", */ f:parsebool }, - /*::[*/0x00de/*::]*/: { /* n:"OleObjectSize", */ }, - /*::[*/0x00e0/*::]*/: { /* n:"XF", */ f:parse_XF }, - /*::[*/0x00e1/*::]*/: { /* n:"InterfaceHdr", */ f:parse_InterfaceHdr }, - /*::[*/0x00e2/*::]*/: { /* n:"InterfaceEnd", */ f:parsenoop2 }, - /*::[*/0x00e3/*::]*/: { /* n:"SXVS", */ }, - /*::[*/0x00e5/*::]*/: { /* n:"MergeCells", */ f:parse_MergeCells }, - /*::[*/0x00e9/*::]*/: { /* n:"BkHim", */ }, - /*::[*/0x00eb/*::]*/: { /* n:"MsoDrawingGroup", */ }, - /*::[*/0x00ec/*::]*/: { /* n:"MsoDrawing", */ }, - /*::[*/0x00ed/*::]*/: { /* n:"MsoDrawingSelection", */ }, - /*::[*/0x00ef/*::]*/: { /* n:"PhoneticInfo", */ }, - /*::[*/0x00f0/*::]*/: { /* n:"SxRule", */ }, - /*::[*/0x00f1/*::]*/: { /* n:"SXEx", */ }, - /*::[*/0x00f2/*::]*/: { /* n:"SxFilt", */ }, - /*::[*/0x00f4/*::]*/: { /* n:"SxDXF", */ }, - /*::[*/0x00f5/*::]*/: { /* n:"SxItm", */ }, - /*::[*/0x00f6/*::]*/: { /* n:"SxName", */ }, - /*::[*/0x00f7/*::]*/: { /* n:"SxSelect", */ }, - /*::[*/0x00f8/*::]*/: { /* n:"SXPair", */ }, - /*::[*/0x00f9/*::]*/: { /* n:"SxFmla", */ }, - /*::[*/0x00fb/*::]*/: { /* n:"SxFormat", */ }, - /*::[*/0x00fc/*::]*/: { /* n:"SST", */ f:parse_SST }, - /*::[*/0x00fd/*::]*/: { /* n:"LabelSst", */ f:parse_LabelSst }, - /*::[*/0x00ff/*::]*/: { /* n:"ExtSST", */ f:parse_ExtSST }, - /*::[*/0x0100/*::]*/: { /* n:"SXVDEx", */ }, - /*::[*/0x0103/*::]*/: { /* n:"SXFormula", */ }, - /*::[*/0x0122/*::]*/: { /* n:"SXDBEx", */ }, - /*::[*/0x0137/*::]*/: { /* n:"RRDInsDel", */ }, - /*::[*/0x0138/*::]*/: { /* n:"RRDHead", */ }, - /*::[*/0x013b/*::]*/: { /* n:"RRDChgCell", */ }, - /*::[*/0x013d/*::]*/: { /* n:"RRTabId", */ f:parseuint16a }, - /*::[*/0x013e/*::]*/: { /* n:"RRDRenSheet", */ }, - /*::[*/0x013f/*::]*/: { /* n:"RRSort", */ }, - /*::[*/0x0140/*::]*/: { /* n:"RRDMove", */ }, - /*::[*/0x014a/*::]*/: { /* n:"RRFormat", */ }, - /*::[*/0x014b/*::]*/: { /* n:"RRAutoFmt", */ }, - /*::[*/0x014d/*::]*/: { /* n:"RRInsertSh", */ }, - /*::[*/0x014e/*::]*/: { /* n:"RRDMoveBegin", */ }, - /*::[*/0x014f/*::]*/: { /* n:"RRDMoveEnd", */ }, - /*::[*/0x0150/*::]*/: { /* n:"RRDInsDelBegin", */ }, - /*::[*/0x0151/*::]*/: { /* n:"RRDInsDelEnd", */ }, - /*::[*/0x0152/*::]*/: { /* n:"RRDConflict", */ }, - /*::[*/0x0153/*::]*/: { /* n:"RRDDefName", */ }, - /*::[*/0x0154/*::]*/: { /* n:"RRDRstEtxp", */ }, - /*::[*/0x015f/*::]*/: { /* n:"LRng", */ }, - /*::[*/0x0160/*::]*/: { /* n:"UsesELFs", */ f:parsebool }, - /*::[*/0x0161/*::]*/: { /* n:"DSF", */ f:parsenoop2 }, - /*::[*/0x0191/*::]*/: { /* n:"CUsr", */ }, - /*::[*/0x0192/*::]*/: { /* n:"CbUsr", */ }, - /*::[*/0x0193/*::]*/: { /* n:"UsrInfo", */ }, - /*::[*/0x0194/*::]*/: { /* n:"UsrExcl", */ }, - /*::[*/0x0195/*::]*/: { /* n:"FileLock", */ }, - /*::[*/0x0196/*::]*/: { /* n:"RRDInfo", */ }, - /*::[*/0x0197/*::]*/: { /* n:"BCUsrs", */ }, - /*::[*/0x0198/*::]*/: { /* n:"UsrChk", */ }, - /*::[*/0x01a9/*::]*/: { /* n:"UserBView", */ }, - /*::[*/0x01aa/*::]*/: { /* n:"UserSViewBegin", */ }, - /*::[*/0x01ab/*::]*/: { /* n:"UserSViewEnd", */ }, - /*::[*/0x01ac/*::]*/: { /* n:"RRDUserView", */ }, - /*::[*/0x01ad/*::]*/: { /* n:"Qsi", */ }, - /*::[*/0x01ae/*::]*/: { /* n:"SupBook", */ f:parse_SupBook }, - /*::[*/0x01af/*::]*/: { /* n:"Prot4Rev", */ f:parsebool }, - /*::[*/0x01b0/*::]*/: { /* n:"CondFmt", */ }, - /*::[*/0x01b1/*::]*/: { /* n:"CF", */ }, - /*::[*/0x01b2/*::]*/: { /* n:"DVal", */ }, - /*::[*/0x01b5/*::]*/: { /* n:"DConBin", */ }, - /*::[*/0x01b6/*::]*/: { /* n:"TxO", */ f:parse_TxO }, - /*::[*/0x01b7/*::]*/: { /* n:"RefreshAll", */ f:parsebool }, // - /*::[*/0x01b8/*::]*/: { /* n:"HLink", */ f:parse_HLink }, - /*::[*/0x01b9/*::]*/: { /* n:"Lel", */ }, - /*::[*/0x01ba/*::]*/: { /* n:"CodeName", */ f:parse_XLUnicodeString }, - /*::[*/0x01bb/*::]*/: { /* n:"SXFDBType", */ }, - /*::[*/0x01bc/*::]*/: { /* n:"Prot4RevPass", */ f:parseuint16 }, - /*::[*/0x01bd/*::]*/: { /* n:"ObNoMacros", */ }, - /*::[*/0x01be/*::]*/: { /* n:"Dv", */ }, - /*::[*/0x01c0/*::]*/: { /* n:"Excel9File", */ f:parsenoop2 }, - /*::[*/0x01c1/*::]*/: { /* n:"RecalcId", */ f:parse_RecalcId, r:2}, - /*::[*/0x01c2/*::]*/: { /* n:"EntExU2", */ f:parsenoop2 }, - /*::[*/0x0200/*::]*/: { /* n:"Dimensions", */ f:parse_Dimensions }, - /*::[*/0x0201/*::]*/: { /* n:"Blank", */ f:parse_Blank }, - /*::[*/0x0203/*::]*/: { /* n:"Number", */ f:parse_Number }, - /*::[*/0x0204/*::]*/: { /* n:"Label", */ f:parse_Label }, - /*::[*/0x0205/*::]*/: { /* n:"BoolErr", */ f:parse_BoolErr }, - /*::[*/0x0207/*::]*/: { /* n:"String", */ f:parse_String }, - /*::[*/0x0208/*::]*/: { /* n:"Row", */ f:parse_Row }, - /*::[*/0x020b/*::]*/: { /* n:"Index", */ }, - /*::[*/0x0221/*::]*/: { /* n:"Array", */ f:parse_Array }, - /*::[*/0x0225/*::]*/: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, - /*::[*/0x0236/*::]*/: { /* n:"Table", */ }, - /*::[*/0x023e/*::]*/: { /* n:"Window2", */ f:parse_Window2 }, - /*::[*/0x027e/*::]*/: { /* n:"RK", */ f:parse_RK }, - /*::[*/0x0293/*::]*/: { /* n:"Style", */ }, - /*::[*/0x0418/*::]*/: { /* n:"BigName", */ }, - /*::[*/0x041e/*::]*/: { /* n:"Format", */ f:parse_Format }, - /*::[*/0x043c/*::]*/: { /* n:"ContinueBigName", */ }, - /*::[*/0x04bc/*::]*/: { /* n:"ShrFmla", */ f:parse_ShrFmla }, - /*::[*/0x0800/*::]*/: { /* n:"HLinkTooltip", */ f:parse_HLinkTooltip }, - /*::[*/0x0801/*::]*/: { /* n:"WebPub", */ }, - /*::[*/0x0802/*::]*/: { /* n:"QsiSXTag", */ }, - /*::[*/0x0803/*::]*/: { /* n:"DBQueryExt", */ }, - /*::[*/0x0804/*::]*/: { /* n:"ExtString", */ }, - /*::[*/0x0805/*::]*/: { /* n:"TxtQry", */ }, - /*::[*/0x0806/*::]*/: { /* n:"Qsir", */ }, - /*::[*/0x0807/*::]*/: { /* n:"Qsif", */ }, - /*::[*/0x0808/*::]*/: { /* n:"RRDTQSIF", */ }, - /*::[*/0x0809/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x080a/*::]*/: { /* n:"OleDbConn", */ }, - /*::[*/0x080b/*::]*/: { /* n:"WOpt", */ }, - /*::[*/0x080c/*::]*/: { /* n:"SXViewEx", */ }, - /*::[*/0x080d/*::]*/: { /* n:"SXTH", */ }, - /*::[*/0x080e/*::]*/: { /* n:"SXPIEx", */ }, - /*::[*/0x080f/*::]*/: { /* n:"SXVDTEx", */ }, - /*::[*/0x0810/*::]*/: { /* n:"SXViewEx9", */ }, - /*::[*/0x0812/*::]*/: { /* n:"ContinueFrt", */ }, - /*::[*/0x0813/*::]*/: { /* n:"RealTimeData", */ }, - /*::[*/0x0850/*::]*/: { /* n:"ChartFrtInfo", */ }, - /*::[*/0x0851/*::]*/: { /* n:"FrtWrapper", */ }, - /*::[*/0x0852/*::]*/: { /* n:"StartBlock", */ }, - /*::[*/0x0853/*::]*/: { /* n:"EndBlock", */ }, - /*::[*/0x0854/*::]*/: { /* n:"StartObject", */ }, - /*::[*/0x0855/*::]*/: { /* n:"EndObject", */ }, - /*::[*/0x0856/*::]*/: { /* n:"CatLab", */ }, - /*::[*/0x0857/*::]*/: { /* n:"YMult", */ }, - /*::[*/0x0858/*::]*/: { /* n:"SXViewLink", */ }, - /*::[*/0x0859/*::]*/: { /* n:"PivotChartBits", */ }, - /*::[*/0x085a/*::]*/: { /* n:"FrtFontList", */ }, - /*::[*/0x0862/*::]*/: { /* n:"SheetExt", */ }, - /*::[*/0x0863/*::]*/: { /* n:"BookExt", */ r:12}, - /*::[*/0x0864/*::]*/: { /* n:"SXAddl", */ }, - /*::[*/0x0865/*::]*/: { /* n:"CrErr", */ }, - /*::[*/0x0866/*::]*/: { /* n:"HFPicture", */ }, - /*::[*/0x0867/*::]*/: { /* n:"FeatHdr", */ f:parsenoop2 }, - /*::[*/0x0868/*::]*/: { /* n:"Feat", */ }, - /*::[*/0x086a/*::]*/: { /* n:"DataLabExt", */ }, - /*::[*/0x086b/*::]*/: { /* n:"DataLabExtContents", */ }, - /*::[*/0x086c/*::]*/: { /* n:"CellWatch", */ }, - /*::[*/0x0871/*::]*/: { /* n:"FeatHdr11", */ }, - /*::[*/0x0872/*::]*/: { /* n:"Feature11", */ }, - /*::[*/0x0874/*::]*/: { /* n:"DropDownObjIds", */ }, - /*::[*/0x0875/*::]*/: { /* n:"ContinueFrt11", */ }, - /*::[*/0x0876/*::]*/: { /* n:"DConn", */ }, - /*::[*/0x0877/*::]*/: { /* n:"List12", */ }, - /*::[*/0x0878/*::]*/: { /* n:"Feature12", */ }, - /*::[*/0x0879/*::]*/: { /* n:"CondFmt12", */ }, - /*::[*/0x087a/*::]*/: { /* n:"CF12", */ }, - /*::[*/0x087b/*::]*/: { /* n:"CFEx", */ }, - /*::[*/0x087c/*::]*/: { /* n:"XFCRC", */ f:parse_XFCRC, r:12 }, - /*::[*/0x087d/*::]*/: { /* n:"XFExt", */ f:parse_XFExt, r:12 }, - /*::[*/0x087e/*::]*/: { /* n:"AutoFilter12", */ }, - /*::[*/0x087f/*::]*/: { /* n:"ContinueFrt12", */ }, - /*::[*/0x0884/*::]*/: { /* n:"MDTInfo", */ }, - /*::[*/0x0885/*::]*/: { /* n:"MDXStr", */ }, - /*::[*/0x0886/*::]*/: { /* n:"MDXTuple", */ }, - /*::[*/0x0887/*::]*/: { /* n:"MDXSet", */ }, - /*::[*/0x0888/*::]*/: { /* n:"MDXProp", */ }, - /*::[*/0x0889/*::]*/: { /* n:"MDXKPI", */ }, - /*::[*/0x088a/*::]*/: { /* n:"MDB", */ }, - /*::[*/0x088b/*::]*/: { /* n:"PLV", */ }, - /*::[*/0x088c/*::]*/: { /* n:"Compat12", */ f:parsebool, r:12 }, - /*::[*/0x088d/*::]*/: { /* n:"DXF", */ }, - /*::[*/0x088e/*::]*/: { /* n:"TableStyles", */ r:12 }, - /*::[*/0x088f/*::]*/: { /* n:"TableStyle", */ }, - /*::[*/0x0890/*::]*/: { /* n:"TableStyleElement", */ }, - /*::[*/0x0892/*::]*/: { /* n:"StyleExt", */ }, - /*::[*/0x0893/*::]*/: { /* n:"NamePublish", */ }, - /*::[*/0x0894/*::]*/: { /* n:"NameCmt", */ f:parse_NameCmt, r:12 }, - /*::[*/0x0895/*::]*/: { /* n:"SortData", */ }, - /*::[*/0x0896/*::]*/: { /* n:"Theme", */ f:parse_Theme, r:12 }, - /*::[*/0x0897/*::]*/: { /* n:"GUIDTypeLib", */ }, - /*::[*/0x0898/*::]*/: { /* n:"FnGrp12", */ }, - /*::[*/0x0899/*::]*/: { /* n:"NameFnGrp12", */ }, - /*::[*/0x089a/*::]*/: { /* n:"MTRSettings", */ f:parse_MTRSettings, r:12 }, - /*::[*/0x089b/*::]*/: { /* n:"CompressPictures", */ f:parsenoop2 }, - /*::[*/0x089c/*::]*/: { /* n:"HeaderFooter", */ }, - /*::[*/0x089d/*::]*/: { /* n:"CrtLayout12", */ }, - /*::[*/0x089e/*::]*/: { /* n:"CrtMlFrt", */ }, - /*::[*/0x089f/*::]*/: { /* n:"CrtMlFrtContinue", */ }, - /*::[*/0x08a3/*::]*/: { /* n:"ForceFullCalculation", */ f:parse_ForceFullCalculation }, - /*::[*/0x08a4/*::]*/: { /* n:"ShapePropsStream", */ }, - /*::[*/0x08a5/*::]*/: { /* n:"TextPropsStream", */ }, - /*::[*/0x08a6/*::]*/: { /* n:"RichTextStream", */ }, - /*::[*/0x08a7/*::]*/: { /* n:"CrtLayout12A", */ }, - /*::[*/0x1001/*::]*/: { /* n:"Units", */ }, - /*::[*/0x1002/*::]*/: { /* n:"Chart", */ }, - /*::[*/0x1003/*::]*/: { /* n:"Series", */ }, - /*::[*/0x1006/*::]*/: { /* n:"DataFormat", */ }, - /*::[*/0x1007/*::]*/: { /* n:"LineFormat", */ }, - /*::[*/0x1009/*::]*/: { /* n:"MarkerFormat", */ }, - /*::[*/0x100a/*::]*/: { /* n:"AreaFormat", */ }, - /*::[*/0x100b/*::]*/: { /* n:"PieFormat", */ }, - /*::[*/0x100c/*::]*/: { /* n:"AttachedLabel", */ }, - /*::[*/0x100d/*::]*/: { /* n:"SeriesText", */ }, - /*::[*/0x1014/*::]*/: { /* n:"ChartFormat", */ }, - /*::[*/0x1015/*::]*/: { /* n:"Legend", */ }, - /*::[*/0x1016/*::]*/: { /* n:"SeriesList", */ }, - /*::[*/0x1017/*::]*/: { /* n:"Bar", */ }, - /*::[*/0x1018/*::]*/: { /* n:"Line", */ }, - /*::[*/0x1019/*::]*/: { /* n:"Pie", */ }, - /*::[*/0x101a/*::]*/: { /* n:"Area", */ }, - /*::[*/0x101b/*::]*/: { /* n:"Scatter", */ }, - /*::[*/0x101c/*::]*/: { /* n:"CrtLine", */ }, - /*::[*/0x101d/*::]*/: { /* n:"Axis", */ }, - /*::[*/0x101e/*::]*/: { /* n:"Tick", */ }, - /*::[*/0x101f/*::]*/: { /* n:"ValueRange", */ }, - /*::[*/0x1020/*::]*/: { /* n:"CatSerRange", */ }, - /*::[*/0x1021/*::]*/: { /* n:"AxisLine", */ }, - /*::[*/0x1022/*::]*/: { /* n:"CrtLink", */ }, - /*::[*/0x1024/*::]*/: { /* n:"DefaultText", */ }, - /*::[*/0x1025/*::]*/: { /* n:"Text", */ }, - /*::[*/0x1026/*::]*/: { /* n:"FontX", */ f:parseuint16 }, - /*::[*/0x1027/*::]*/: { /* n:"ObjectLink", */ }, - /*::[*/0x1032/*::]*/: { /* n:"Frame", */ }, - /*::[*/0x1033/*::]*/: { /* n:"Begin", */ }, - /*::[*/0x1034/*::]*/: { /* n:"End", */ }, - /*::[*/0x1035/*::]*/: { /* n:"PlotArea", */ }, - /*::[*/0x103a/*::]*/: { /* n:"Chart3d", */ }, - /*::[*/0x103c/*::]*/: { /* n:"PicF", */ }, - /*::[*/0x103d/*::]*/: { /* n:"DropBar", */ }, - /*::[*/0x103e/*::]*/: { /* n:"Radar", */ }, - /*::[*/0x103f/*::]*/: { /* n:"Surf", */ }, - /*::[*/0x1040/*::]*/: { /* n:"RadarArea", */ }, - /*::[*/0x1041/*::]*/: { /* n:"AxisParent", */ }, - /*::[*/0x1043/*::]*/: { /* n:"LegendException", */ }, - /*::[*/0x1044/*::]*/: { /* n:"ShtProps", */ f:parse_ShtProps }, - /*::[*/0x1045/*::]*/: { /* n:"SerToCrt", */ }, - /*::[*/0x1046/*::]*/: { /* n:"AxesUsed", */ }, - /*::[*/0x1048/*::]*/: { /* n:"SBaseRef", */ }, - /*::[*/0x104a/*::]*/: { /* n:"SerParent", */ }, - /*::[*/0x104b/*::]*/: { /* n:"SerAuxTrend", */ }, - /*::[*/0x104e/*::]*/: { /* n:"IFmtRecord", */ }, - /*::[*/0x104f/*::]*/: { /* n:"Pos", */ }, - /*::[*/0x1050/*::]*/: { /* n:"AlRuns", */ }, - /*::[*/0x1051/*::]*/: { /* n:"BRAI", */ }, - /*::[*/0x105b/*::]*/: { /* n:"SerAuxErrBar", */ }, - /*::[*/0x105c/*::]*/: { /* n:"ClrtClient", */ f:parse_ClrtClient }, - /*::[*/0x105d/*::]*/: { /* n:"SerFmt", */ }, - /*::[*/0x105f/*::]*/: { /* n:"Chart3DBarShape", */ }, - /*::[*/0x1060/*::]*/: { /* n:"Fbi", */ }, - /*::[*/0x1061/*::]*/: { /* n:"BopPop", */ }, - /*::[*/0x1062/*::]*/: { /* n:"AxcExt", */ }, - /*::[*/0x1063/*::]*/: { /* n:"Dat", */ }, - /*::[*/0x1064/*::]*/: { /* n:"PlotGrowth", */ }, - /*::[*/0x1065/*::]*/: { /* n:"SIIndex", */ }, - /*::[*/0x1066/*::]*/: { /* n:"GelFrame", */ }, - /*::[*/0x1067/*::]*/: { /* n:"BopPopCustom", */ }, - /*::[*/0x1068/*::]*/: { /* n:"Fbi2", */ }, - - /*::[*/0x0000/*::]*/: { /* n:"Dimensions", */ f:parse_Dimensions }, - /*::[*/0x0001/*::]*/: { /* n:"BIFF2BLANK", */ }, - /*::[*/0x0002/*::]*/: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, - /*::[*/0x0003/*::]*/: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, - /*::[*/0x0004/*::]*/: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, - /*::[*/0x0005/*::]*/: { /* n:"BoolErr", */ f:parse_BoolErr }, - /*::[*/0x0007/*::]*/: { /* n:"String", */ f:parse_BIFF2STRING }, - /*::[*/0x0008/*::]*/: { /* n:"BIFF2ROW", */ }, - /*::[*/0x0009/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x000b/*::]*/: { /* n:"Index", */ }, - /*::[*/0x0016/*::]*/: { /* n:"ExternCount", */ f:parseuint16 }, - /*::[*/0x001e/*::]*/: { /* n:"BIFF2FORMAT", */ f:parse_BIFF2Format }, - /*::[*/0x001f/*::]*/: { /* n:"BIFF2FMTCNT", */ }, /* 16-bit cnt of BIFF2FORMAT records */ - /*::[*/0x0020/*::]*/: { /* n:"BIFF2COLINFO", */ }, - /*::[*/0x0021/*::]*/: { /* n:"Array", */ f:parse_Array }, - /*::[*/0x0024/*::]*/: { /* n:"COLWIDTH", */ }, - /*::[*/0x0025/*::]*/: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, - // 0x2c ?? - // 0x2d ?? - // 0x2e ?? - // 0x30 FONTCOUNT: number of fonts - /*::[*/0x0032/*::]*/: { /* n:"BIFF2FONTXTRA", */ f:parse_BIFF2FONTXTRA }, - // 0x35: INFOOPTS - // 0x36: TABLE (BIFF2 only) - // 0x37: TABLE2 (BIFF2 only) - // 0x38: WNDESK - // 0x39 ?? - // 0x3a: BEGINPREF - // 0x3b: ENDPREF - /*::[*/0x003e/*::]*/: { /* n:"BIFF2WINDOW2", */ }, - // 0x3f ?? - // 0x46: SHOWSCROLL - // 0x47: SHOWFORMULA - // 0x48: STATUSBAR - // 0x49: SHORTMENUS - // 0x4A: - // 0x4B: - // 0x4C: - // 0x4E: - // 0x4F: - // 0x58: TOOLBAR (BIFF3) - - /* - - - */ - /*::[*/0x0034/*::]*/: { /* n:"DDEObjName", */ }, - /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ }, - /*::[*/0x0044/*::]*/: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, - /*::[*/0x0045/*::]*/: { /* n:"BIFF2FONTCLR", */ }, - /*::[*/0x0056/*::]*/: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ - /*::[*/0x007e/*::]*/: { /* n:"RK", */ }, /* Not necessarily same as 0x027e */ - /*::[*/0x007f/*::]*/: { /* n:"ImData", */ f:parse_ImData }, - /*::[*/0x0087/*::]*/: { /* n:"Addin", */ }, - /*::[*/0x0088/*::]*/: { /* n:"Edg", */ }, - /*::[*/0x0089/*::]*/: { /* n:"Pub", */ }, - // 0x8A - // 0x8B LH: alternate menu key flag (BIFF3/4) - // 0x8E - // 0x8F - /*::[*/0x0091/*::]*/: { /* n:"Sub", */ }, - // 0x93 STYLE - /*::[*/0x0094/*::]*/: { /* n:"LHRecord", */ }, - /*::[*/0x0095/*::]*/: { /* n:"LHNGraph", */ }, - /*::[*/0x0096/*::]*/: { /* n:"Sound", */ }, - // 0xA2 FNPROTO: function prototypes (BIFF4) - // 0xA3 - // 0xA8 - /*::[*/0x00a9/*::]*/: { /* n:"CoordList", */ }, - /*::[*/0x00ab/*::]*/: { /* n:"GCW", */ }, - /*::[*/0x00bc/*::]*/: { /* n:"ShrFmla", */ }, /* Not necessarily same as 0x04bc */ - /*::[*/0x00bf/*::]*/: { /* n:"ToolbarHdr", */ }, - /*::[*/0x00c0/*::]*/: { /* n:"ToolbarEnd", */ }, - /*::[*/0x00c2/*::]*/: { /* n:"AddMenu", */ }, - /*::[*/0x00c3/*::]*/: { /* n:"DelMenu", */ }, - /*::[*/0x00d6/*::]*/: { /* n:"RString", */ f:parse_RString }, - /*::[*/0x00df/*::]*/: { /* n:"UDDesc", */ }, - /*::[*/0x00ea/*::]*/: { /* n:"TabIdConf", */ }, - /*::[*/0x0162/*::]*/: { /* n:"XL5Modify", */ }, - /*::[*/0x01a5/*::]*/: { /* n:"FileSharing2", */ }, - /*::[*/0x0206/*::]*/: { /* n:"Formula", */ f:parse_Formula }, - /*::[*/0x0209/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x0218/*::]*/: { /* n:"Lbl", */ f:parse_Lbl }, - /*::[*/0x0223/*::]*/: { /* n:"ExternName", */ f:parse_ExternName }, - /*::[*/0x0231/*::]*/: { /* n:"Font", */ }, - /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ }, - /*::[*/0x0406/*::]*/: { /* n:"Formula", */ f:parse_Formula }, - /*::[*/0x0409/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ }, - /*::[*/0x086d/*::]*/: { /* n:"FeatInfo", */ }, - /*::[*/0x0873/*::]*/: { /* n:"FeatInfo11", */ }, - /*::[*/0x0881/*::]*/: { /* n:"SXAddl12", */ }, - /*::[*/0x08c0/*::]*/: { /* n:"AutoWebPub", */ }, - /*::[*/0x08c1/*::]*/: { /* n:"ListObj", */ }, - /*::[*/0x08c2/*::]*/: { /* n:"ListField", */ }, - /*::[*/0x08c3/*::]*/: { /* n:"ListDV", */ }, - /*::[*/0x08c4/*::]*/: { /* n:"ListCondFmt", */ }, - /*::[*/0x08c5/*::]*/: { /* n:"ListCF", */ }, - /*::[*/0x08c6/*::]*/: { /* n:"FMQry", */ }, - /*::[*/0x08c7/*::]*/: { /* n:"FMSQry", */ }, - /*::[*/0x08c8/*::]*/: { /* n:"PLV", */ }, - /*::[*/0x08c9/*::]*/: { /* n:"LnExt", */ }, - /*::[*/0x08ca/*::]*/: { /* n:"MkrExt", */ }, - /*::[*/0x08cb/*::]*/: { /* n:"CrtCoopt", */ }, - /*::[*/0x08d6/*::]*/: { /* n:"FRTArchId$", */ r:12 }, - - /*::[*/0x7262/*::]*/: {} -}; - -function write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ { - var t/*:number*/ = type; - if(isNaN(t)) return; - var len = length || (payload||[]).length || 0; - var o = ba.next(4); - o.write_shift(2, t); - o.write_shift(2, len); - if(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload); -} - -function write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ { - var len = length || (payload||[]).length || 0; - if(len <= 8224) return write_biff_rec(ba, type, payload, len); - var t = type; - if(isNaN(t)) return; - var parts = payload.parts || [], sidx = 0; - var i = 0, w = 0; - while(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; } - var o = ba.next(4); - o.write_shift(2, t); - o.write_shift(2, w); - ba.push(payload.slice(i, i + w)); - i += w; - while(i < len) { - o = ba.next(4); - o.write_shift(2, 0x3c); // TODO: figure out correct continue type - w = 0; - while(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; } - o.write_shift(2, w); - ba.push(payload.slice(i, i+w)); i+= w; - } -} - -function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - -function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) { - var out = new_buf(9); - write_BIFF2Cell(out, r, c); - write_Bes(val, t || 'b', out); - return out; -} - -/* TODO: codepage, large strings */ -function write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) { - var out = new_buf(8 + 2*val.length); - write_BIFF2Cell(out, r, c); - out.write_shift(1, val.length); - out.write_shift(val.length, val, 'sbcs'); - return out.l < out.length ? out.slice(0, out.l) : out; -} - -function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) { - if(cell.v != null) switch(cell.t) { - case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); - else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); - return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; - /* TODO: codepage, sst */ - case 's': case 'str': - write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||"").slice(0,255))); - return; - } - write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); -} - -function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { - var dense = Array.isArray(ws); - var range = safe_decode_range(ws['!ref'] || "A1"), ref/*:string*/, rr = "", cols/*:Array*/ = []; - if(range.e.c > 0xFF || range.e.r > 0x3FFF) { - if(opts.WTF) throw new Error("Range " + (ws['!ref'] || "A1") + " exceeds format limit A1:IV16384"); - range.e.c = Math.min(range.e.c, 0xFF); - range.e.r = Math.min(range.e.c, 0x3FFF); - ref = encode_range(range); - } - for(var R = range.s.r; R <= range.e.r; ++R) { - rr = encode_row(R); - for(var C = range.s.c; C <= range.e.c; ++C) { - if(R === range.s.r) cols[C] = encode_col(C); - ref = cols[C] + rr; - var cell = dense ? (ws[R]||[])[C] : ws[ref]; - if(!cell) continue; - /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); - } - } -} - -/* Based on test files */ -function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { - var o = opts || {}; - if(DENSE != null && o.dense == null) o.dense = DENSE; - var ba = buf_array(); - var idx = 0; - for(var i=0;i*/ = []; - var range = safe_decode_range(ws['!ref'] || "A1"); - var MAX_ROWS = b8 ? 65536 : 16384; - if(range.e.c > 0xFF || range.e.r >= MAX_ROWS) { - if(opts.WTF) throw new Error("Range " + (ws['!ref'] || "A1") + " exceeds format limit A1:IV16384"); - range.e.c = Math.min(range.e.c, 0xFF); - range.e.r = Math.min(range.e.c, MAX_ROWS-1); - } - - write_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts)); - /* [Uncalced] Index */ - write_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1)); - write_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100)); - write_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true)); - write_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false)); - write_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001)); - write_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true)); - write_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false)); - write_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false)); - write_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1)); - write_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0])); - /* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */ - /* Header (string) */ - /* Footer (string) */ - write_biff_rec(ba, 0x0083 /* HCenter */, writebool(false)); - write_biff_rec(ba, 0x0084 /* VCenter */, writebool(false)); - /* ... */ - if(b8) write_ws_cols_biff8(ba, ws["!cols"]); - /* ... */ - write_biff_rec(ba, 0x200, write_Dimensions(range, opts)); - /* ... */ - - if(b8) ws['!links'] = []; - for(var R = range.s.r; R <= range.e.r; ++R) { - rr = encode_row(R); - for(var C = range.s.c; C <= range.e.c; ++C) { - if(R === range.s.r) cols[C] = encode_col(C); - ref = cols[C] + rr; - var cell = dense ? (ws[R]||[])[C] : ws[ref]; - if(!cell) continue; - /* write cell */ - write_ws_biff8_cell(ba, cell, R, C, opts); - if(b8 && cell.l) ws['!links'].push([ref, cell.l]); - } - } - var cname/*:string*/ = _sheet.CodeName || _sheet.name || s; - /* ... */ - if(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0])); - /* ... */ - if(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges'])); - /* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */ - if(b8) write_ws_biff8_hlinks(ba, ws); - /* [DVAL] */ - write_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts)); - /* *WebPub *CellWatch [SheetExt] */ - if(b8) write_FEAT(ba, ws); - /* *FEAT11 *RECORD12 */ - write_biff_rec(ba, 0x000a /* EOF */); - return ba.end(); -} - -/* [MS-XLS] 2.1.7.20.3 */ -function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { - var A = buf_array(); - var _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/); - var _sheets/*:Array*/ = (_WB.Sheets||[]); - var _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:"ThisWorkbook"*/}/*:: ):any)*/; - var b8 = opts.biff == 8, b5 = opts.biff == 5; - write_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts)); - if(opts.bookType == "xla") write_biff_rec(A, 0x0087 /* Addin */); - write_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null); - write_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2)); - if(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */); - if(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */); - write_biff_rec(A, 0x00e2 /* InterfaceEnd */); - write_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess("SheetJS", opts)); - /* [FileSharing] */ - write_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4)); - /* *2047 Lel */ - if(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0)); - if(b8) write_biff_rec(A, 0x01c0 /* Excel9File */); - write_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length)); - if(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */); - /* [ObNoMacros] */ - if(b8 && wb.vbaraw) { - var cname/*:string*/ = _wb.CodeName || "ThisWorkbook"; - write_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts)); - } - write_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11)); - /* *FnGroupName *FnGrp12 */ - /* *Lbl */ - /* [OleObjectSize] */ - write_biff_rec(A, 0x0019 /* WinProtect */, writebool(false)); - write_biff_rec(A, 0x0012 /* Protect */, writebool(false)); - write_biff_rec(A, 0x0013 /* Password */, writeuint16(0)); - if(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false)); - if(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0)); - write_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts)); - write_biff_rec(A, 0x0040 /* Backup */, writebool(false)); - write_biff_rec(A, 0x008d /* HideObj */, writeuint16(0)); - write_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)=="true")); - write_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true)); - if(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false)); - write_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0)); - /* ... */ - write_FONTS_biff8(A, wb, opts); - write_FMTS_biff8(A, wb.SSF, opts); - write_CELLXFS_biff8(A, opts); - /* ... */ - if(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false)); - var a = A.end(); - - var C = buf_array(); - /* METADATA [MTRSettings] [ForceFullCalculation] */ - if(b8) write_biff_rec(C, 0x008C, write_Country()); - /* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */ - - /* BIFF8: [SST *Continue] ExtSST */ - if(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts)); - - /* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */ - write_biff_rec(C, 0x000A /* EOF */); - var c = C.end(); - - var B = buf_array(); - var blen = 0, j = 0; - for(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length; - var start = a.length + blen + c.length; - for(j = 0; j < wb.SheetNames.length; ++j) { - var _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/); - write_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts)); - start += bufs[j].length; - } - /* 1*BoundSheet8 */ - var b = B.end(); - if(blen != b.length) throw new Error("BS8 " + blen + " != " + b.length); - - var out = []; - if(a.length) out.push(a); - if(b.length) out.push(b); - if(c.length) out.push(c); - return bconcat(out); -} - -/* [MS-XLS] 2.1.7.20 Workbook Stream */ -function write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { - var o = opts || {}; - var bufs = []; - - if(wb && !wb.SSF) { - wb.SSF = dup(table_fmt); - } - if(wb && wb.SSF) { - make_ssf(); SSF_load_table(wb.SSF); - // $FlowIgnore - o.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0; - o.ssf = wb.SSF; - } - - o.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0; - fix_write_opts(o); - - o.cellXfs = []; - get_cell_style(o.cellXfs, {}, {revssf:{"General":0}}); - - if(!wb.Props) wb.Props = {}; - - for(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb); - bufs.unshift(write_biff8_global(wb, bufs, o)); - return bconcat(bufs); -} - -function write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { - for(var i = 0; i <= wb.SheetNames.length; ++i) { - var ws = wb.Sheets[wb.SheetNames[i]]; - if(!ws || !ws["!ref"]) continue; - var range = decode_range(ws["!ref"]); - if(range.e.c > 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); - } - } - - var o = opts || {}; - switch(o.biff || 2) { - case 8: case 5: return write_biff8_buf(wb, opts); - case 4: case 3: case 2: return write_biff2_buf(wb, opts); - } - throw new Error("invalid type " + o.bookType + " for BIFF"); -} -/* note: browser DOM element cannot see mso- style attrs, must parse */ -function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { - var opts = _opts || {}; - if(DENSE != null && opts.dense == null) opts.dense = DENSE; - var ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/); - str = str.replace(//g, ""); - var mtch/*:any*/ = str.match(/"); - var mtch2/*:any*/ = str.match(/<\/table/i); - var i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length; - var rows = split_regex(str.slice(i, j), /(:?]*>)/i, ""); - var R = -1, C = 0, RS = 0, CS = 0; - var range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}}; - var merges/*:Array*/ = []; - for(i = 0; i < rows.length; ++i) { - var row = rows[i].trim(); - var hd = row.slice(0,3).toLowerCase(); - if(hd == "/i); - for(j = 0; j < cells.length; ++j) { - var cell = cells[j].trim(); - if(!cell.match(/")) > -1) m = m.slice(cc+1); - for(var midx = 0; midx < merges.length; ++midx) { - var _merge/*:Range*/ = merges[midx]; - if(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; } - } - var tag = parsexmltag(cell.slice(0, cell.indexOf(">"))); - CS = tag.colspan ? +tag.colspan : 1; - if((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}}); - var _t/*:string*/ = tag.t || tag["data-t"] || ""; - /* TODO: generate stub cells */ - if(!m.length) { C += CS; continue; } - m = htmldecode(m); - if(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R; - if(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C; - if(!m.length) { C += CS; continue; } - var o/*:Cell*/ = {t:'s', v:m}; - if(opts.raw || !m.trim().length || _t == 's'){} - else if(m === 'TRUE') o = {t:'b', v:true}; - else if(m === 'FALSE') o = {t:'b', v:false}; - else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; - else if(!isNaN(fuzzydate(m).getDate())) { - o = ({t:'d', v:parseDate(m)}/*:any*/); - if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); - o.z = opts.dateNF || table_fmt[14]; - } - if(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; } - else ws[encode_cell({r:R, c:C})] = o; - C += CS; - } - } - ws['!ref'] = encode_range(range); - if(merges.length) ws["!merges"] = merges; - return ws; -} -function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ { - var M/*:Array*/ = (ws['!merges'] ||[]); - var oo/*:Array*/ = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - var RS = 0, CS = 0; - for(var j = 0; j < M.length; ++j) { - if(M[j].s.r > R || M[j].s.c > C) continue; - if(M[j].e.r < R || M[j].e.c < C) continue; - if(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; } - RS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break; - } - if(RS < 0) continue; - var coord = encode_cell({r:R,c:C}); - var cell = o.dense ? (ws[R]||[])[C] : ws[coord]; - /* TODO: html entities */ - var w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || "")) || ""; - var sp = ({}/*:any*/); - if(RS > 1) sp.rowspan = RS; - if(CS > 1) sp.colspan = CS; - if(o.editable) w = '' + w + ''; - else if(cell) { - sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; - if(cell.z != null) sp["data-z"] = cell.z; - if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; - } - sp.id = (o.id || "sjs") + "-" + coord; - oo.push(writextag('td', w, sp)); - } - var preamble = ""; - return preamble + oo.join("") + ""; -} - -var HTML_BEGIN = 'SheetJS Table Export'; -var HTML_END = ''; - -function html_to_workbook(str/*:string*/, opts)/*:Workbook*/ { - var mtch = str.match(/[\s\S]*?<\/table>/gi); - if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find
"); - if(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts); - var wb = book_new(); - mtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); - return wb; -} - -function make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ { - var out/*:Array*/ = []; - return out.join("") + ''; -} - -function sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ { - var o = opts || {}; - var header = o.header != null ? o.header : HTML_BEGIN; - var footer = o.footer != null ? o.footer : HTML_END; - var out/*:Array*/ = [header]; - var r = decode_range(ws['!ref']); - o.dense = Array.isArray(ws); - out.push(make_html_preamble(ws, r, o)); - for(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o)); - out.push("
" + footer); - return out.join(""); -} - -function sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ { - var opts = _opts || {}; - if(DENSE != null) opts.dense = DENSE; - var or_R = 0, or_C = 0; - if(opts.origin != null) { - if(typeof opts.origin == 'number') or_R = opts.origin; - else { - var _origin/*:CellAddress*/ = typeof opts.origin == "string" ? decode_cell(opts.origin) : opts.origin; - or_R = _origin.r; or_C = _origin.c; - } - } - - var rows/*:HTMLCollection*/ = table.getElementsByTagName('tr'); - var sheetRows = Math.min(opts.sheetRows||10000000, rows.length); - var range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}}; - if(ws["!ref"]) { - var _range/*:Range*/ = decode_range(ws["!ref"]); - range.s.r = Math.min(range.s.r, _range.s.r); - range.s.c = Math.min(range.s.c, _range.s.c); - range.e.r = Math.max(range.e.r, _range.e.r); - range.e.c = Math.max(range.e.c, _range.e.c); - if(or_R == -1) range.e.r = or_R = _range.e.r + 1; - } - var merges/*:Array*/ = [], midx = 0; - var rowinfo/*:Array*/ = ws["!rows"] || (ws["!rows"] = []); - var _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0; - if(!ws["!cols"]) ws['!cols'] = []; - for(; _R < rows.length && R < sheetRows; ++_R) { - var row/*:HTMLTableRowElement*/ = rows[_R]; - if (is_dom_element_hidden(row)) { - if (opts.display) continue; - rowinfo[R] = {hidden: true}; - } - var elts/*:HTMLCollection*/ = (row.children/*:any*/); - for(_C = C = 0; _C < elts.length; ++_C) { - var elt/*:HTMLTableCellElement*/ = elts[_C]; - if (opts.display && is_dom_element_hidden(elt)) continue; - var v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML); - var z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z'); - for(midx = 0; midx < merges.length; ++midx) { - var m/*:Range*/ = merges[midx]; - if(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; } - } - /* TODO: figure out how to extract nonstandard mso- style */ - CS = +elt.getAttribute("colspan") || 1; - if( ((RS = (+elt.getAttribute("rowspan") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}}); - var o/*:Cell*/ = {t:'s', v:v}; - var _t/*:string*/ = elt.getAttribute("data-t") || elt.getAttribute("t") || ""; - if(v != null) { - if(v.length == 0) o.t = _t || 'z'; - else if(opts.raw || v.trim().length == 0 || _t == "s"){} - else if(v === 'TRUE') o = {t:'b', v:true}; - else if(v === 'FALSE') o = {t:'b', v:false}; - else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; - else if(!isNaN(fuzzydate(v).getDate())) { - o = ({t:'d', v:parseDate(v)}/*:any*/); - if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); - o.z = opts.dateNF || table_fmt[14]; - } - } - if(o.z === undefined && z != null) o.z = z; - /* The first link is used. Links are assumed to be fully specified. - * TODO: The right way to process relative links is to make a new */ - var l = "", Aelts = elt.getElementsByTagName("A"); - if(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti) if(Aelts[Aelti].hasAttribute("href")) { - l = Aelts[Aelti].getAttribute("href"); if(l.charAt(0) != "#") break; - } - if(l && l.charAt(0) != "#") o.l = ({ Target: l }); - if(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; } - else ws[encode_cell({c:C + or_C, r:R + or_R})] = o; - if(range.e.c < C + or_C) range.e.c = C + or_C; - C += CS; - } - ++R; - } - if(merges.length) ws['!merges'] = (ws["!merges"] || []).concat(merges); - range.e.r = Math.max(range.e.r, R - 1 + or_R); - ws['!ref'] = encode_range(range); - if(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance - return ws; -} - -function parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ { - var opts = _opts || {}; - var ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/); - return sheet_add_dom(ws, table, _opts); -} - -function table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ { - return sheet_to_workbook(parse_dom_table(table, opts), opts); -} - -function is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ { - var display/*:string*/ = ''; - var get_computed_style/*:?function*/ = get_get_computed_style_function(element); - if(get_computed_style) display = get_computed_style(element).getPropertyValue('display'); - if(!display) display = element.style && element.style.display; - return display === 'none'; -} - -/* global getComputedStyle */ -function get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ { - // The proper getComputedStyle implementation is the one defined in the element window - if(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle; - // If it is not available, try to get one from the global namespace - if(typeof getComputedStyle === 'function') return getComputedStyle; - return null; -} -/* OpenDocument */ -function parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ { - /* 6.1.2 White Space Characters */ - var fixed = text - .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") - .replace(//g," ") - .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) - .replace(/]*\/>/g,"\t") - .replace(//g,"\n"); - var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); - - return [v]; -} - -var number_formats_ods = { - /* ods name: [short ssf fmt, long ssf fmt] */ - day: ["d", "dd"], - month: ["m", "mm"], - year: ["y", "yy"], - hours: ["h", "hh"], - minutes: ["m", "mm"], - seconds: ["s", "ss"], - "am-pm": ["A/P", "AM/PM"], - "day-of-week": ["ddd", "dddd"], - era: ["e", "ee"], - /* there is no native representation of LO "Q" format */ - quarter: ["\\Qm", "m\\\"th quarter\""] -}; - - -function parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ { - var opts = _opts || {}; - if(DENSE != null && opts.dense == null) opts.dense = DENSE; - var str = xlml_normalize(d); - var state/*:Array*/ = [], tmp; - var tag/*:: = {}*/; - var NFtag = {name:""}, NF = "", pidx = 0; - var sheetag/*:: = {name:"", '名称':""}*/; - var rowtag/*:: = {'行号':""}*/; - var Sheets = {}, SheetNames/*:Array*/ = []; - var ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); - var Rn, q/*:: :any = ({t:"", v:null, z:null, w:"",c:[],}:any)*/; - var ctag = ({value:""}/*:any*/); - var textp = "", textpidx = 0, textptag/*:: = {}*/; - var textR = []; - var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; - var row_ol = 0; - var number_format_map = {}; - var merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0; - var rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1; - var arrayf/*:Array<[Range, string]>*/ = []; - var WB = {Names:[]}; - var atag = ({}/*:any*/); - var _Ref/*:[string, string]*/ = ["", ""]; - var comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/); - var creator = "", creatoridx = 0; - var isstub = false, intable = false; - var i = 0; - xlmlregex.lastIndex = 0; - str = str.replace(//mg,"").replace(//gm,""); - while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { - - case 'table': case '工作表': // 9.1.2 - if(Rn[1]==='/') { - if(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range); - else ws['!ref'] = "A1:A1"; - if(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) { - ws['!fullref'] = ws['!ref']; - range.e.r = opts.sheetRows - 1; - ws['!ref'] = encode_range(range); - } - if(merges.length) ws['!merges'] = merges; - if(rowinfo.length) ws["!rows"] = rowinfo; - sheetag.name = sheetag['名称'] || sheetag.name; - if(typeof JSON !== 'undefined') JSON.stringify(sheetag); - SheetNames.push(sheetag.name); - Sheets[sheetag.name] = ws; - intable = false; - } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') { - sheetag = parsexmltag(Rn[0], false); - R = C = -1; - range.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0; - ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = []; - rowinfo = []; - intable = true; - } - break; - - case 'table-row-group': // 9.1.9 - if(Rn[1] === "/") --row_ol; else ++row_ol; - break; - case 'table-row': case '行': // 9.1.3 - if(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; } - rowtag = parsexmltag(Rn[0], false); - if(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0; - rowpeat = +rowtag['number-rows-repeated'] || 1; - /* TODO: remove magic */ - if(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol}; - C = -1; break; - case 'covered-table-cell': // 9.1.5 - if(Rn[1] !== '/') ++C; - if(opts.sheetStubs) { - if(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; } - else ws[encode_cell({r:R,c:C})] = {t:'z'}; - } - textp = ""; textR = []; - break; /* stub */ - case 'table-cell': case '数据': - if(Rn[0].charAt(Rn[0].length-2) === '/') { - ++C; - ctag = parsexmltag(Rn[0], false); - colpeat = parseInt(ctag['number-columns-repeated']||"1", 10); - q = ({t:'z', v:null/*:: , z:null, w:"",c:[]*/}/*:any*/); - if(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula)); - if((ctag['数据类型'] || ctag['value-type']) == "string") { - q.t = "s"; q.v = unescapexml(ctag['string-value'] || ""); - if(opts.dense) { - if(!ws[R]) ws[R] = []; - ws[R][C] = q; - } else { - ws[encode_cell({r:R,c:C})] = q; - } - } - C+= colpeat-1; - } else if(Rn[1]!=='/') { - ++C; - textp = ""; textpidx = 0; textR = []; - colpeat = 1; - var rptR = rowpeat ? R + rowpeat - 1 : R; - if(C > range.e.c) range.e.c = C; - if(C < range.s.c) range.s.c = C; - if(R < range.s.r) range.s.r = R; - if(rptR > range.e.r) range.e.r = rptR; - ctag = parsexmltag(Rn[0], false); - comments = []; comment = ({}/*:any*/); - q = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:"",c:[]*/}/*:any*/); - if(opts.cellFormula) { - if(ctag.formula) ctag.formula = unescapexml(ctag.formula); - if(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) { - mR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0; - mC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0; - mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; - q.F = encode_range(mrange); - arrayf.push([mrange, q.F]); - } - if(ctag.formula) q.f = ods_to_csf_formula(ctag.formula); - else for(i = 0; i < arrayf.length; ++i) - if(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r) - if(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c) - q.F = arrayf[i][1]; - } - if(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) { - mR = parseInt(ctag['number-rows-spanned'],10) || 0; - mC = parseInt(ctag['number-columns-spanned'],10) || 0; - mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; - merges.push(mrange); - } - - /* 19.675.2 table:number-columns-repeated */ - if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - - /* 19.385 office:value-type */ - switch(q.t) { - case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); } - q.z = 'm/d/yy'; break; - case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } - q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; - default: - if(q.t === 'string' || q.t === 'text' || !q.t) { - q.t = 's'; - if(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; } - } else throw new Error('Unsupported value type ' + q.t); - } - } else { - isstub = false; - if(q.t === 's') { - q.v = textp || ''; - if(textR.length) q.R = textR; - isstub = textpidx == 0; - } - if(atag.Target) q.l = atag; - if(comments.length > 0) { q.c = comments; comments = []; } - if(textp && opts.cellText !== false) q.w = textp; - if(isstub) { q.t = "z"; delete q.v; } - if(!isstub || opts.sheetStubs) { - if(!(opts.sheetRows && opts.sheetRows <= R)) { - for(var rpt = 0; rpt < rowpeat; ++rpt) { - colpeat = parseInt(ctag['number-columns-repeated']||"1", 10); - if(opts.dense) { - if(!ws[R + rpt]) ws[R + rpt] = []; - ws[R + rpt][C] = rpt == 0 ? q : dup(q); - while(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q); - } else { - ws[encode_cell({r:R + rpt,c:C})] = q; - while(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q); - } - if(range.e.c <= C) range.e.c = C; - } - } - } - colpeat = parseInt(ctag['number-columns-repeated']||"1", 10); - C += colpeat-1; colpeat = 0; - q = {/*:: t:"", v:null, z:null, w:"",c:[]*/}; - textp = ""; textR = []; - } - atag = ({}/*:any*/); - break; // 9.1.4 - - /* pure state */ - case 'document': // TODO: is the root for FODS - case 'document-content': case '电子表格文档': // 3.1.3.2 - case 'spreadsheet': case '主体': // 3.7 - case 'scripts': // 3.12 - case 'styles': // TODO - case 'font-face-decls': // 3.14 - case 'master-styles': // 3.15.4 -- relevant for FODS - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} - else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]); - break; - - case 'annotation': // 14.1 - if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp; - comment.t = textp; - if(textR.length) /*::(*/comment/*:: :any)*/.R = textR; - comment.a = creator; - comments.push(comment); - } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} - creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; - break; - - case 'creator': // 4.3.2.7 - if(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); } - else creatoridx = Rn.index + Rn[0].length; - break; - - /* ignore state */ - case 'meta': case '元数据': // TODO: FODS/UOF - case 'settings': // TODO: - case 'config-item-set': // TODO: - case 'config-item-map-indexed': // TODO: - case 'config-item-map-entry': // TODO: - case 'config-item-map-named': // TODO: - case 'shapes': // 9.2.8 - case 'frame': // 10.4.2 - case 'text-box': // 10.4.3 - case 'image': // 10.4.4 - case 'data-pilot-tables': // 9.6.2 - case 'list-style': // 16.30 - case 'form': // 13.13 - case 'dde-links': // 9.8 - case 'event-listeners': // TODO - case 'chart': // TODO - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} - else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]); - textp = ""; textpidx = 0; textR = []; - break; - - case 'scientific-number': // TODO: - break; - case 'currency-symbol': // TODO: - break; - case 'currency-style': // TODO: - break; - case 'number-style': // 16.27.2 - case 'percentage-style': // 16.27.9 - case 'date-style': // 16.27.10 - case 'time-style': // 16.27.18 - if(Rn[1]==='/'){ - number_format_map[NFtag.name] = NF; - if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp; - } else if(Rn[0].charAt(Rn[0].length-2) !== '/') { - NF = ""; - NFtag = parsexmltag(Rn[0], false); - state.push([Rn[3], true]); - } break; - - case 'script': break; // 3.13 - case 'libraries': break; // TODO: - case 'automatic-styles': break; // 3.15.3 - - case 'default-style': // TODO: - case 'page-layout': break; // TODO: - case 'style': // 16.2 - break; - case 'map': break; // 16.3 - case 'font-face': break; // 16.21 - - case 'paragraph-properties': break; // 17.6 - case 'table-properties': break; // 17.15 - case 'table-column-properties': break; // 17.16 - case 'table-row-properties': break; // 17.17 - case 'table-cell-properties': break; // 17.18 - - case 'number': // 16.27.3 - switch(state[state.length-1][0]) { - case 'time-style': - case 'date-style': - tag = parsexmltag(Rn[0], false); - NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; - } break; - - case 'fraction': break; // TODO 16.27.6 - - case 'day': // 16.27.11 - case 'month': // 16.27.12 - case 'year': // 16.27.13 - case 'era': // 16.27.14 - case 'day-of-week': // 16.27.15 - case 'week-of-year': // 16.27.16 - case 'quarter': // 16.27.17 - case 'hours': // 16.27.19 - case 'minutes': // 16.27.20 - case 'seconds': // 16.27.21 - case 'am-pm': // 16.27.22 - switch(state[state.length-1][0]) { - case 'time-style': - case 'date-style': - tag = parsexmltag(Rn[0], false); - NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; - } break; - - case 'boolean-style': break; // 16.27.23 - case 'boolean': break; // 16.27.24 - case 'text-style': break; // 16.27.25 - case 'text': // 16.27.26 - 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 'named-range': // 9.4.12 - tag = parsexmltag(Rn[0], false); - _Ref = ods_to_csf_3D(tag['cell-range-address']); - var nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/); - if(intable) nrange.Sheet = SheetNames.length; - WB.Names.push(nrange); - break; - - case 'text-content': break; // 16.27.27 - case 'text-properties': break; // 16.27.27 - case 'embedded-text': break; // 16.27.4 - - case 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3 - - case 'forms': break; // 12.25.2 13.2 - case 'table-column': break; // 9.1.6 - case 'table-header-rows': break; // 9.1.7 - case 'table-rows': break; // 9.1.12 - /* TODO: outline levels */ - case 'table-column-group': break; // 9.1.10 - case 'table-header-columns': break; // 9.1.11 - case 'table-columns': break; // 9.1.12 - - case 'null-date': break; // 9.4.2 TODO: date1904 - - case 'graphic-properties': break; // 17.21 - case 'calculation-settings': break; // 9.4.1 - case 'named-expressions': break; // 9.4.11 - case 'label-range': break; // 9.4.9 - case 'label-ranges': break; // 9.4.10 - case 'named-expression': break; // 9.4.13 - case 'sort': break; // 9.4.19 - case 'sort-by': break; // 9.4.20 - case 'sort-groups': break; // 9.4.22 - - case 'tab': break; // 6.1.4 - case 'line-break': break; // 6.1.5 - case 'span': break; // 6.1.7 - case 'p': case '文本串': // 5.1.3 - if(['master-styles'].indexOf(state[state.length-1][0]) > -1) break; - if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { - var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); - textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; - } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } - break; // - case 's': break; // - - case 'database-range': // 9.4.15 - if(Rn[1]==='/') break; - try { - _Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']); - Sheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] }; - } catch(e) {/* empty */} - break; - - case 'date': break; // <*:date> - - case 'object': break; // 10.4.6.2 - case 'title': case '标题': break; // <*:title> OR - case 'desc': break; // <*:desc> - case 'binary-data': break; // 10.4.5 TODO: b64 blob - - /* 9.2 Advanced Tables */ - case 'table-source': break; // 9.2.6 - case 'scenario': break; // 9.2.6 - - case 'iteration': break; // 9.4.3 - case 'content-validations': break; // 9.4.4 - case 'filter': break; // 9.5.2 - case 'filter-and': break; // 9.5.3 - case 'filter-or': break; // 9.5.4 - case 'filter-condition': break; // 9.5.5 - - case 'list-level-style-bullet': break; // 16.31 - case 'page-count': break; // TODO - case 'time': break; // TODO - - /* 9.3 Advanced Table Cells */ - case 'cell-range-source': break; // 9.3.1 - case 'property': break; // 13.8 - - case 'a': // 6.1.8 hyperlink - if(Rn[1]!== '/') { - atag = parsexmltag(Rn[0], false); - if(!atag.href) break; - atag.Target = unescapexml(atag.href); delete atag.href; - if(atag.Target.charAt(0) == "#" && atag.Target.indexOf(".") > -1) { - _Ref = ods_to_csf_3D(atag.Target.slice(1)); - atag.Target = "#" + _Ref[0] + "!" + _Ref[1]; - } else if(atag.Target.match(/^\.\.[\\\/]/)) atag.Target = atag.Target.slice(3); - } - break; - - /* non-standard */ - case 'table-protection': break; - case 'data-pilot-grand-total': break; // ', - '', - '', - '', - '', - '', - '', - '' - ].join(""); - - var payload = '' + master_styles + ''; - - return function wso(/*::wb, opts*/) { - return XML_HEADER + payload; - }; -})(); -var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() { - /* 6.1.2 White Space Characters */ - var write_text_p = function(text/*:string*/)/*:string*/ { - return escapexml(text) - .replace(/ +/g, function($$){return '';}) - .replace(/\t/g, "") - .replace(/\n/g, "") - .replace(/^ /, "").replace(/ $/, ""); - }; - - var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ { - /* Section 9 Tables */ - var o/*:Array*/ = []; - o.push(' \n'); - var R=0,C=0, range = decode_range(ws['!ref']||"A1"); - var marr/*:Array*/ = ws['!merges'] || [], mi = 0; - var dense = Array.isArray(ws); - if(ws["!cols"]) { - for(C = 0; C <= range.e.c; ++C) o.push(' \n'); - } - var H = "", ROWS = ws["!rows"]||[]; - for(R = 0; R < range.s.r; ++R) { - H = ROWS[R] ? ' table:style-name="ro' + ROWS[R].ods + '"' : ""; - o.push(' \n'); - } - for(; R <= range.e.r; ++R) { - H = ROWS[R] ? ' table:style-name="ro' + ROWS[R].ods + '"' : ""; - o.push(' \n'); - for(C=0; C < range.s.c; ++C) o.push(null_cell_xml); - for(; C <= range.e.c; ++C) { - var skip = false, ct = {}, textp = ""; - for(mi = 0; mi != marr.length; ++mi) { - if(marr[mi].s.c > C) continue; - if(marr[mi].s.r > R) continue; - if(marr[mi].e.c < C) continue; - if(marr[mi].e.r < R) continue; - if(marr[mi].s.c != C || marr[mi].s.r != R) skip = true; - ct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1); - ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); - break; - } - if(skip) { o.push(covered_cell_xml); continue; } - var ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref]; - if(cell && cell.f) { - ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); - if(cell.F) { - if(cell.F.slice(0, ref.length) == ref) { - var _Fref = decode_range(cell.F); - ct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1); - ct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1); - } - } - } - if(!cell) { o.push(null_cell_xml); continue; } - switch(cell.t) { - case 'b': - textp = (cell.v ? 'TRUE' : 'FALSE'); - ct['office:value-type'] = "boolean"; - ct['office:boolean-value'] = (cell.v ? 'true' : 'false'); - break; - case 'n': - textp = (cell.w||String(cell.v||0)); - ct['office:value-type'] = "float"; - ct['office:value'] = (cell.v||0); - break; - case 's': case 'str': - textp = cell.v == null ? "" : cell.v; - ct['office:value-type'] = "string"; - break; - case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); - ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); - ct['table:style-name'] = "ce1"; - break; - //case 'e': - default: o.push(null_cell_xml); continue; - } - var text_p = write_text_p(textp); - if(cell.l && cell.l.Target) { - var _tgt = cell.l.Target; - _tgt = _tgt.charAt(0) == "#" ? "#" + csf_to_ods_3D(_tgt.slice(1)) : _tgt; - // TODO: choose correct parent path format based on link delimiters - if(_tgt.charAt(0) != "#" && !_tgt.match(/^\w+:/)) _tgt = '../' + _tgt; - text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); - } - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); - } - o.push(' \n'); - } - o.push(' \n'); - return o.join(""); - }; - - var write_automatic_styles_ods = function(o/*:Array*/, wb) { - o.push(' \n'); - - o.push(' \n'); - o.push(' \n'); - o.push(' /\n'); - o.push(' \n'); - o.push(' /\n'); - o.push(' \n'); - o.push(' \n'); - - /* column styles */ - var cidx = 0; - wb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) { - if(!ws) return; - if(ws["!cols"]) { - for(var C = 0; C < ws["!cols"].length; ++C) if(ws["!cols"][C]) { - var colobj = ws["!cols"][C]; - if(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue; - process_col(colobj); - colobj.ods = cidx; - var w = ws["!cols"][C].wpx + "px"; - o.push(' \n'); - o.push(' \n'); - o.push(' \n'); - ++cidx; - } - } - }); - - /* row styles */ - var ridx = 0; - wb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) { - if(!ws) return; - if(ws["!rows"]) { - for(var R = 0; R < ws["!rows"].length; ++R) if(ws["!rows"][R]) { - ws["!rows"][R].ods = ridx; - var h = ws["!rows"][R].hpx + "px"; - o.push(' \n'); - o.push(' \n'); - o.push(' \n'); - ++ridx; - } - } - }); - - /* table */ - o.push(' \n'); - o.push(' \n'); - o.push(' \n'); - - /* table cells, text */ - o.push(' \n'); - - /* page-layout */ - - o.push(' \n'); - }; - - return function wcx(wb, opts) { - var o = [XML_HEADER]; - /* 3.1.3.2 */ - var attr = wxt_helper({ - 'xmlns:office': "urn:oasis:names:tc:opendocument:xmlns:office:1.0", - 'xmlns:table': "urn:oasis:names:tc:opendocument:xmlns:table:1.0", - 'xmlns:style': "urn:oasis:names:tc:opendocument:xmlns:style:1.0", - 'xmlns:text': "urn:oasis:names:tc:opendocument:xmlns:text:1.0", - 'xmlns:draw': "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", - 'xmlns:fo': "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", - 'xmlns:xlink': "http://www.w3.org/1999/xlink", - 'xmlns:dc': "http://purl.org/dc/elements/1.1/", - 'xmlns:meta': "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", - 'xmlns:number': "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", - 'xmlns:presentation': "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0", - 'xmlns:svg': "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", - 'xmlns:chart': "urn:oasis:names:tc:opendocument:xmlns:chart:1.0", - 'xmlns:dr3d': "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", - 'xmlns:math': "http://www.w3.org/1998/Math/MathML", - 'xmlns:form': "urn:oasis:names:tc:opendocument:xmlns:form:1.0", - 'xmlns:script': "urn:oasis:names:tc:opendocument:xmlns:script:1.0", - 'xmlns:ooo': "http://openoffice.org/2004/office", - 'xmlns:ooow': "http://openoffice.org/2004/writer", - 'xmlns:oooc': "http://openoffice.org/2004/calc", - 'xmlns:dom': "http://www.w3.org/2001/xml-events", - 'xmlns:xforms': "http://www.w3.org/2002/xforms", - 'xmlns:xsd': "http://www.w3.org/2001/XMLSchema", - 'xmlns:xsi': "http://www.w3.org/2001/XMLSchema-instance", - 'xmlns:sheet': "urn:oasis:names:tc:opendocument:sh33tjs:1.0", - 'xmlns:rpt': "http://openoffice.org/2005/report", - 'xmlns:of': "urn:oasis:names:tc:opendocument:xmlns:of:1.2", - 'xmlns:xhtml': "http://www.w3.org/1999/xhtml", - 'xmlns:grddl': "http://www.w3.org/2003/g/data-view#", - 'xmlns:tableooo': "http://openoffice.org/2009/table", - 'xmlns:drawooo': "http://openoffice.org/2010/draw", - 'xmlns:calcext': "urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0", - 'xmlns:loext': "urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0", - 'xmlns:field': "urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0", - 'xmlns:formx': "urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0", - 'xmlns:css3t': "http://www.w3.org/TR/css3-text/", - 'office:version': "1.2" - }); - - var fods = wxt_helper({ - 'xmlns:config': "urn:oasis:names:tc:opendocument:xmlns:config:1.0", - 'office:mimetype': "application/vnd.oasis.opendocument.spreadsheet" - }); - - if(opts.bookType == "fods") { - o.push('\n'); - o.push(write_meta_ods().replace(/office:document-meta/g, "office:meta")); - // TODO: settings (equiv of settings.xml for ODS) - } else o.push('\n'); - // o.push(' \n'); - write_automatic_styles_ods(o, wb); - o.push(' \n'); - o.push(' \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts)); - o.push(' \n'); - o.push(' \n'); - if(opts.bookType == "fods") o.push(''); - else o.push(''); - return o.join(""); - }; -})(); - -function write_ods(wb/*:any*/, opts/*:any*/) { - if(opts.bookType == "fods") return write_content_ods(wb, opts); - - var zip = zip_new(); - var f = ""; - - var manifest/*:Array >*/ = []; - var rdf/*:Array<[string, string]>*/ = []; - - /* Part 3 Section 3.3 MIME Media Type */ - f = "mimetype"; - zip_add_file(zip, f, "application/vnd.oasis.opendocument.spreadsheet"); - - /* Part 1 Section 2.2 Documents */ - f = "content.xml"; - zip_add_file(zip, f, write_content_ods(wb, opts)); - manifest.push([f, "text/xml"]); - rdf.push([f, "ContentFile"]); - - /* TODO: these are hard-coded styles to satiate excel */ - f = "styles.xml"; - zip_add_file(zip, f, write_styles_ods(wb, opts)); - manifest.push([f, "text/xml"]); - rdf.push([f, "StylesFile"]); - - /* TODO: this is hard-coded to satiate excel */ - f = "meta.xml"; - zip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/)); - manifest.push([f, "text/xml"]); - rdf.push([f, "MetadataFile"]); - - /* Part 3 Section 6 Metadata Manifest File */ - f = "manifest.rdf"; - zip_add_file(zip, f, write_rdf(rdf/*, opts*/)); - manifest.push([f, "application/rdf+xml"]); - - /* Part 3 Section 4 Manifest File */ - f = "META-INF/manifest.xml"; - zip_add_file(zip, f, write_manifest(manifest/*, opts*/)); - - return zip; -} - -/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ -function u8_to_dataview(array) { - return new DataView(array.buffer, array.byteOffset, array.byteLength); -} -function u8str(u8) { - return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); -} -function stru8(str) { - return typeof TextEncoder != "undefined" ? new TextEncoder().encode(str) : s2a(utf8write(str)); -} -function u8contains(body, search) { - outer: - for (var L = 0; L <= body.length - search.length; ++L) { - for (var j = 0; j < search.length; ++j) - if (body[L + j] != search[j]) - continue outer; - return true; - } - return false; -} -function u8concat(u8a) { - var len = u8a.reduce(function(acc, x) { - return acc + x.length; - }, 0); - var out = new Uint8Array(len); - var off = 0; - u8a.forEach(function(u8) { - out.set(u8, off); - off += u8.length; - }); - return out; -} -function popcnt(x) { - x -= x >> 1 & 1431655765; - x = (x & 858993459) + (x >> 2 & 858993459); - return (x + (x >> 4) & 252645135) * 16843009 >>> 24; -} -function readDecimal128LE(buf, offset) { - var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; - var mantissa = buf[offset + 14] & 1; - for (var j = offset + 13; j >= offset; --j) - mantissa = mantissa * 256 + buf[j]; - return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); -} -function writeDecimal128LE(buf, offset, value) { - var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20; - var mantissa = value / Math.pow(10, exp - 6176); - buf[offset + 15] |= exp >> 7; - buf[offset + 14] |= (exp & 127) << 1; - for (var i = 0; mantissa >= 1; ++i, mantissa /= 256) - buf[offset + i] = mantissa & 255; - buf[offset + 15] |= value >= 0 ? 0 : 128; -} -function parse_varint49(buf, ptr) { - var l = ptr ? ptr[0] : 0; - var usz = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - usz |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 28); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 35); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 42); - ++l; - if (buf[l++] < 128) - break varint; - } - if (ptr) - ptr[0] = l; - return usz; -} -function write_varint49(v) { - var usz = new Uint8Array(7); - usz[0] = v & 127; - var L = 1; - sz: - if (v > 127) { - usz[L - 1] |= 128; - usz[L] = v >> 7 & 127; - ++L; - if (v <= 16383) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 14 & 127; - ++L; - if (v <= 2097151) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 21 & 127; - ++L; - if (v <= 268435455) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 256 >>> 21 & 127; - ++L; - if (v <= 34359738367) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 65536 >>> 21 & 127; - ++L; - if (v <= 4398046511103) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 16777216 >>> 21 & 127; - ++L; - } - return usz.slice(0, L); -} -function varint_to_i32(buf) { - var l = 0, i32 = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - i32 |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 28; - } - return i32; -} -function parse_shallow(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var off = ptr[0]; - var num = parse_varint49(buf, ptr); - var type = num & 7; - num = Math.floor(num / 8); - var len = 0; - var res; - if (num == 0) - break; - switch (type) { - case 0: - { - var l = ptr[0]; - while (buf[ptr[0]++] >= 128) - ; - res = buf.slice(l, ptr[0]); - } - break; - case 5: - len = 4; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 1: - len = 8; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 2: - len = parse_varint49(buf, ptr); - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 3: - case 4: - default: - throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); - } - var v = { data: res, type: type }; - if (out[num] == null) - out[num] = [v]; - else - out[num].push(v); - } - return out; -} -function write_shallow(proto) { - var out = []; - proto.forEach(function(field, idx) { - field.forEach(function(item) { - if (!item.data) - return; - out.push(write_varint49(idx * 8 + item.type)); - if (item.type == 2) - out.push(write_varint49(item.data.length)); - out.push(item.data); - }); - }); - return u8concat(out); -} -function mappa(data, cb) { - return (data == null ? void 0 : data.map(function(d) { - return cb(d.data); - })) || []; -} -function parse_iwa_file(buf) { - var _a; - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var len = parse_varint49(buf, ptr); - var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - var res = { - id: varint_to_i32(ai[1][0].data), - messages: [] - }; - ai[2].forEach(function(b) { - var mi = parse_shallow(b.data); - var fl = varint_to_i32(mi[3][0].data); - res.messages.push({ - meta: mi, - data: buf.slice(ptr[0], ptr[0] + fl) - }); - ptr[0] += fl; - }); - if ((_a = ai[3]) == null ? void 0 : _a[0]) - res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0; - out.push(res); - } - return out; -} -function write_iwa_file(ias) { - var bufs = []; - ias.forEach(function(ia) { - var ai = []; - ai[1] = [{ data: write_varint49(ia.id), type: 0 }]; - ai[2] = []; - if (ia.merge != null) - ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }]; - var midata = []; - ia.messages.forEach(function(mi) { - midata.push(mi.data); - mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }]; - ai[2].push({ data: write_shallow(mi.meta), type: 2 }); - }); - var aipayload = write_shallow(ai); - bufs.push(write_varint49(aipayload.length)); - bufs.push(aipayload); - midata.forEach(function(mid) { - return bufs.push(mid); - }); - }); - return u8concat(bufs); -} -function parse_snappy_chunk(type, buf) { - if (type != 0) - throw new Error("Unexpected Snappy chunk type ".concat(type)); - var ptr = [0]; - var usz = parse_varint49(buf, ptr); - var chunks = []; - while (ptr[0] < buf.length) { - var tag = buf[ptr[0]] & 3; - if (tag == 0) { - var len = buf[ptr[0]++] >> 2; - if (len < 60) - ++len; - else { - var c = len - 59; - len = buf[ptr[0]]; - if (c > 1) - len |= buf[ptr[0] + 1] << 8; - if (c > 2) - len |= buf[ptr[0] + 2] << 16; - if (c > 3) - len |= buf[ptr[0] + 3] << 24; - len >>>= 0; - len++; - ptr[0] += c; - } - chunks.push(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - continue; - } else { - var offset = 0, length = 0; - if (tag == 1) { - length = (buf[ptr[0]] >> 2 & 7) + 4; - offset = (buf[ptr[0]++] & 224) << 3; - offset |= buf[ptr[0]++]; - } else { - length = (buf[ptr[0]++] >> 2) + 1; - if (tag == 2) { - offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; - ptr[0] += 2; - } else { - offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; - ptr[0] += 4; - } - } - chunks = [u8concat(chunks)]; - if (offset == 0) - throw new Error("Invalid offset 0"); - if (offset > chunks[0].length) - throw new Error("Invalid offset beyond length"); - if (length >= offset) { - chunks.push(chunks[0].slice(-offset)); - length -= offset; - while (length >= chunks[chunks.length - 1].length) { - chunks.push(chunks[chunks.length - 1]); - length -= chunks[chunks.length - 1].length; - } - } - chunks.push(chunks[0].slice(-offset, -offset + length)); - } - } - var o = u8concat(chunks); - if (o.length != usz) - throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); - return o; -} -function decompress_iwa_file(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var t = buf[l++]; - var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; - l += 3; - out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); - l += len; - } - if (l !== buf.length) - throw new Error("data is not a valid framed stream!"); - return u8concat(out); -} -function compress_iwa_file(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var c = Math.min(buf.length - l, 268435455); - var frame = new Uint8Array(4); - out.push(frame); - var usz = write_varint49(c); - var L = usz.length; - out.push(usz); - if (c <= 60) { - L++; - out.push(new Uint8Array([c - 1 << 2])); - } else if (c <= 256) { - L += 2; - out.push(new Uint8Array([240, c - 1 & 255])); - } else if (c <= 65536) { - L += 3; - out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255])); - } else if (c <= 16777216) { - L += 4; - out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255])); - } else if (c <= 4294967296) { - L += 5; - out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255])); - } - out.push(buf.slice(l, l + c)); - L += c; - frame[0] = 0; - frame[1] = L & 255; - frame[2] = L >> 8 & 255; - frame[3] = L >> 16 & 255; - l += c; - } - return u8concat(out); -} -function parse_old_storage(buf, sst, rsst, v) { - var dv = u8_to_dataview(buf); - var flags = dv.getUint32(4, true); - var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4; - var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 512) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4; - if (flags & 16) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 32) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - var ret; - switch (buf[2]) { - case 0: - break; - case 2: - ret = { t: "n", v: ieee }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee / 86400 }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else if (sidx > -1) - ret = { t: "s", v: sst[sidx] }; - else if (!isNaN(ieee)) - ret = { t: "n", v: ieee }; - else - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - break; - default: - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - return ret; -} -function parse_new_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var flags = dv.getUint32(8, true); - var data_offset = 12; - var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 1) { - d128 = readDecimal128LE(buf, data_offset); - data_offset += 16; - } - if (flags & 2) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - if (flags & 8) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 16) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - var ret; - switch (buf[1]) { - case 0: - break; - case 2: - ret = { t: "n", v: d128 }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee / 86400 }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else - throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - break; - case 10: - ret = { t: "n", v: d128 }; - break; - default: - throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - return ret; -} -function write_new_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; - out[0] = 5; - switch (cell.t) { - case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - flags |= 1; - l += 16; - break; - case "b": - out[1] = 6; - dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 2; - l += 8; - break; - case "s": - if (sst.indexOf(cell.v) == -1) - throw new Error("Value ".concat(cell.v, " missing from SST!")); - out[1] = 3; - dv.setUint32(l, sst.indexOf(cell.v), true); - flags |= 8; - l += 4; - break; - default: - throw "unsupported cell type " + cell.t; - } - dv.setUint32(8, flags, true); - return out.slice(0, l); -} -function write_old_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; - out[0] = 3; - switch (cell.t) { - case "n": - out[2] = 2; - dv.setFloat64(l, cell.v, true); - flags |= 32; - l += 8; - break; - case "b": - out[2] = 6; - dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 32; - l += 8; - break; - case "s": - if (sst.indexOf(cell.v) == -1) - throw new Error("Value ".concat(cell.v, " missing from SST!")); - out[2] = 3; - dv.setUint32(l, sst.indexOf(cell.v), true); - flags |= 16; - l += 4; - break; - default: - throw "unsupported cell type " + cell.t; - } - dv.setUint32(4, flags, true); - return out.slice(0, l); -} -function parse_cell_storage(buf, sst, rsst) { - switch (buf[0]) { - case 0: - case 1: - case 2: - case 3: - return parse_old_storage(buf, sst, rsst, buf[0]); - case 5: - return parse_new_storage(buf, sst, rsst); - default: - throw new Error("Unsupported payload version ".concat(buf[0])); - } -} -function parse_TSP_Reference(buf) { - var pb = parse_shallow(buf); - return parse_varint49(pb[1][0].data); -} -function write_TSP_Reference(idx) { - var out = []; - out[1] = [{ type: 0, data: write_varint49(idx) }]; - return write_shallow(out); -} -function parse_TST_TableDataList(M, root) { - var pb = parse_shallow(root.data); - var type = varint_to_i32(pb[1][0].data); - var entries = pb[3]; - var data = []; - (entries || []).forEach(function(entry) { - var le = parse_shallow(entry.data); - var key = varint_to_i32(le[1][0].data) >>> 0; - switch (type) { - case 1: - data[key] = u8str(le[3][0].data); - break; - case 8: - { - var rt = M[parse_TSP_Reference(le[9][0].data)][0]; - var rtp = parse_shallow(rt.data); - var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0]; - var mtype = varint_to_i32(rtpref.meta[1][0].data); - if (mtype != 2001) - throw new Error("2000 unexpected reference to ".concat(mtype)); - var tswpsa = parse_shallow(rtpref.data); - data[key] = tswpsa[3].map(function(x) { - return u8str(x.data); - }).join(""); - } - break; - } - }); - return data; -} -function parse_TST_TileRowInfo(u8, type) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n; - var pb = parse_shallow(u8); - var R = varint_to_i32(pb[1][0].data) >>> 0; - var cnt = varint_to_i32(pb[2][0].data) >>> 0; - var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false; - var used_storage_u8, used_storage; - if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) { - used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; - used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data; - } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) { - used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data; - used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data; - } else - throw "NUMBERS Tile missing ".concat(type, " cell storage"); - var width = wide_offsets ? 4 : 1; - var used_storage_offsets = u8_to_dataview(used_storage_u8); - var offsets = []; - for (var C = 0; C < used_storage_u8.length / 2; ++C) { - var off = used_storage_offsets.getUint16(C * 2, true); - if (off < 65535) - offsets.push([C, off]); - } - if (offsets.length != cnt) - throw "Expected ".concat(cnt, " cells, found ").concat(offsets.length); - var cells = []; - for (C = 0; C < offsets.length - 1; ++C) - cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width); - if (offsets.length >= 1) - cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width); - return { R: R, cells: cells }; -} -function parse_TST_Tile(M, root) { - var _a; - var pb = parse_shallow(root.data); - var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1; - var ri = mappa(pb[5], function(u8) { - return parse_TST_TileRowInfo(u8, storage); - }); - return { - nrows: varint_to_i32(pb[4][0].data) >>> 0, - data: ri.reduce(function(acc, x) { - if (!acc[x.R]) - acc[x.R] = []; - x.cells.forEach(function(cell, C) { - if (acc[x.R][C]) - throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); - acc[x.R][C] = cell; - }); - return acc; - }, []) - }; -} -function parse_TST_TableModelArchive(M, root, ws) { - var _a; - var pb = parse_shallow(root.data); - var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; - range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; - if (range.e.r < 0) - throw new Error("Invalid row varint ".concat(pb[6][0].data)); - range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; - if (range.e.c < 0) - throw new Error("Invalid col varint ".concat(pb[7][0].data)); - ws["!ref"] = encode_range(range); - var store = parse_shallow(pb[4][0].data); - var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); - var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : []; - var tile = parse_shallow(store[3][0].data); - var _R = 0; - tile[1].forEach(function(t) { - var tl = parse_shallow(t.data); - var ref = M[parse_TSP_Reference(tl[2][0].data)][0]; - var mtype = varint_to_i32(ref.meta[1][0].data); - if (mtype != 6002) - throw new Error("6001 unexpected reference to ".concat(mtype)); - var _tile = parse_TST_Tile(M, ref); - _tile.data.forEach(function(row, R) { - row.forEach(function(buf, C) { - var addr = encode_cell({ r: _R + R, c: C }); - var res = parse_cell_storage(buf, sst, rsst); - if (res) - ws[addr] = res; - }); - }); - _R += _tile.nrows; - }); -} -function parse_TST_TableInfoArchive(M, root) { - var pb = parse_shallow(root.data); - var out = { "!ref": "A1" }; - var tableref = M[parse_TSP_Reference(pb[2][0].data)]; - var mtype = varint_to_i32(tableref[0].meta[1][0].data); - if (mtype != 6001) - throw new Error("6000 unexpected reference to ".concat(mtype)); - parse_TST_TableModelArchive(M, tableref[0], out); - return out; -} -function parse_TN_SheetArchive(M, root) { - var _a; - var pb = parse_shallow(root.data); - var out = { - name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", - sheets: [] - }; - var shapeoffs = mappa(pb[2], parse_TSP_Reference); - shapeoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 6e3) - out.sheets.push(parse_TST_TableInfoArchive(M, m)); - }); - }); - return out; -} -function parse_TN_DocumentArchive(M, root) { - var out = book_new(); - var pb = parse_shallow(root.data); - var sheetoffs = mappa(pb[1], parse_TSP_Reference); - sheetoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 2) { - var root2 = parse_TN_SheetArchive(M, m); - root2.sheets.forEach(function(sheet, idx) { - book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + "_" + idx, true); - }); - } - }); - }); - if (out.SheetNames.length == 0) - throw new Error("Empty NUMBERS file"); - return out; -} -function parse_numbers_iwa(cfb) { - var _a, _b, _c, _d; - var M = {}, indices = []; - cfb.FullPaths.forEach(function(p) { - if (p.match(/\.iwpv2/)) - throw new Error("Unsupported password protection"); - }); - cfb.FileIndex.forEach(function(s) { - if (!s.name.match(/\.iwa$/)) - return; - var o; - try { - o = decompress_iwa_file(s.content); - } catch (e) { - return console.log("?? " + s.content.length + " " + (e.message || e)); - } - var packets; - try { - packets = parse_iwa_file(o); - } catch (e) { - return console.log("## " + (e.message || e)); - } - packets.forEach(function(packet) { - M[packet.id] = packet.messages; - indices.push(packet.id); - }); - }); - if (!indices.length) - throw new Error("File has no messages"); - var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0]; - if (!docroot) - indices.forEach(function(idx) { - M[idx].forEach(function(iwam) { - var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; - if (mtype == 1) { - if (!docroot) - docroot = iwam; - else - throw new Error("Document has multiple roots"); - } - }); - }); - if (!docroot) - throw new Error("Cannot find Document root"); - return parse_TN_DocumentArchive(M, docroot); -} -function write_tile_row(tri, data, SST) { - var _a, _b, _c, _d; - if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0])) - throw "Mutation only works on post-BNC storages!"; - var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false; - if (wide_offsets) - throw "Math only works with normal offsets"; - var cnt = 0; - var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = []; - var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = []; - for (var C = 0; C < data.length; ++C) { - if (data[C] == null) { - dv.setUint16(C * 2, 65535, true); - _dv.setUint16(C * 2, 65535); - continue; - } - dv.setUint16(C * 2, last_offset, true); - _dv.setUint16(C * 2, _last_offset, true); - var celload, _celload; - switch (typeof data[C]) { - case "string": - celload = write_new_storage({ t: "s", v: data[C] }, SST); - _celload = write_old_storage({ t: "s", v: data[C] }, SST); - break; - case "number": - celload = write_new_storage({ t: "n", v: data[C] }, SST); - _celload = write_old_storage({ t: "n", v: data[C] }, SST); - break; - case "boolean": - celload = write_new_storage({ t: "b", v: data[C] }, SST); - _celload = write_old_storage({ t: "b", v: data[C] }, SST); - break; - default: - throw new Error("Unsupported value " + data[C]); - } - cell_storage.push(celload); - last_offset += celload.length; - _cell_storage.push(_celload); - _last_offset += _celload.length; - ++cnt; - } - tri[2][0].data = write_varint49(cnt); - for (; C < tri[7][0].data.length / 2; ++C) { - dv.setUint16(C * 2, 65535, true); - _dv.setUint16(C * 2, 65535, true); - } - tri[6][0].data = u8concat(cell_storage); - tri[3][0].data = u8concat(_cell_storage); - return cnt; -} -function write_numbers_iwa(wb, opts) { - if (!opts || !opts.numbers) - throw new Error("Must pass a `numbers` option -- check the README"); - var ws = wb.Sheets[wb.SheetNames[0]]; - if (wb.SheetNames.length > 1) - console.error("The Numbers writer currently writes only the first table"); - var range = decode_range(ws["!ref"]); - range.s.r = range.s.c = 0; - var trunc = false; - if (range.e.c > 9) { - trunc = true; - range.e.c = 9; - } - if (range.e.r > 49) { - trunc = true; - range.e.r = 49; - } - if (trunc) - console.error("The Numbers writer is currently limited to ".concat(encode_range(range))); - var data = sheet_to_json(ws, { range: range, header: 1 }); - var SST = ["~Sh33tJ5~"]; - data.forEach(function(row) { - return row.forEach(function(cell) { - if (typeof cell == "string") - SST.push(cell); - }); - }); - var dependents = {}; - var indices = []; - var cfb = CFB.read(opts.numbers, { type: "base64" }); - cfb.FileIndex.map(function(fi, idx) { - return [fi, cfb.FullPaths[idx]]; - }).forEach(function(row) { - var fi = row[0], fp = row[1]; - if (fi.type != 2) - return; - if (!fi.name.match(/\.iwa/)) - return; - var old_content = fi.content; - var raw1 = decompress_iwa_file(old_content); - var x2 = parse_iwa_file(raw1); - x2.forEach(function(packet2) { - indices.push(packet2.id); - dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) }; - }); - }); - indices.sort(function(x2, y2) { - return x2 - y2; - }); - var indices_varint = indices.filter(function(x2) { - return x2 > 1; - }).map(function(x2) { - return [x2, write_varint49(x2)]; - }); - cfb.FileIndex.map(function(fi, idx) { - return [fi, cfb.FullPaths[idx]]; - }).forEach(function(row) { - var fi = row[0], fp = row[1]; - if (!fi.name.match(/\.iwa/)) - return; - var x2 = parse_iwa_file(decompress_iwa_file(fi.content)); - x2.forEach(function(ia) { - ia.messages.forEach(function(m) { - indices_varint.forEach(function(ivi) { - if (ia.messages.some(function(mess) { - return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]); - })) { - dependents[ivi[0]].deps.push(ia.id); - } - }); - }); - }); - }); - function get_unique_msgid() { - for (var i = 927262; i < 2e6; ++i) - if (!dependents[i]) - return i; - throw new Error("Too many messages"); - } - var entry = CFB.find(cfb, dependents[1].location); - var x = parse_iwa_file(decompress_iwa_file(entry.content)); - var docroot; - for (var xi = 0; xi < x.length; ++xi) { - var packet = x[xi]; - if (packet.id == 1) - docroot = packet; - } - var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data); - entry = CFB.find(cfb, dependents[sheetrootref].location); - x = parse_iwa_file(decompress_iwa_file(entry.content)); - for (xi = 0; xi < x.length; ++xi) { - packet = x[xi]; - if (packet.id == sheetrootref) - docroot = packet; - } - sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data); - entry = CFB.find(cfb, dependents[sheetrootref].location); - x = parse_iwa_file(decompress_iwa_file(entry.content)); - for (xi = 0; xi < x.length; ++xi) { - packet = x[xi]; - if (packet.id == sheetrootref) - docroot = packet; - } - sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data); - entry = CFB.find(cfb, dependents[sheetrootref].location); - x = parse_iwa_file(decompress_iwa_file(entry.content)); - for (xi = 0; xi < x.length; ++xi) { - packet = x[xi]; - if (packet.id == sheetrootref) - docroot = packet; - } - var pb = parse_shallow(docroot.messages[0].data); - { - pb[6][0].data = write_varint49(range.e.r + 1); - pb[7][0].data = write_varint49(range.e.c + 1); - var cruidsref = parse_TSP_Reference(pb[46][0].data); - var oldbucket = CFB.find(cfb, dependents[cruidsref].location); - var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content)); - { - for (var j = 0; j < _x.length; ++j) { - if (_x[j].id == cruidsref) - break; - } - if (_x[j].id != cruidsref) - throw "Bad ColumnRowUIDMapArchive"; - var cruids = parse_shallow(_x[j].messages[0].data); - cruids[1] = []; - cruids[2] = [], cruids[3] = []; - for (var C = 0; C <= range.e.c; ++C) { - var uuid = []; - uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }]; - cruids[1].push({ type: 2, data: write_shallow(uuid) }); - cruids[2].push({ type: 0, data: write_varint49(C) }); - cruids[3].push({ type: 0, data: write_varint49(C) }); - } - cruids[4] = []; - cruids[5] = [], cruids[6] = []; - for (var R = 0; R <= range.e.r; ++R) { - uuid = []; - uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }]; - cruids[4].push({ type: 2, data: write_shallow(uuid) }); - cruids[5].push({ type: 0, data: write_varint49(R) }); - cruids[6].push({ type: 0, data: write_varint49(R) }); - } - _x[j].messages[0].data = write_shallow(cruids); - } - oldbucket.content = compress_iwa_file(write_iwa_file(_x)); - oldbucket.size = oldbucket.content.length; - delete pb[46]; - var store = parse_shallow(pb[4][0].data); - { - store[7][0].data = write_varint49(range.e.r + 1); - var row_headers = parse_shallow(store[1][0].data); - var row_header_ref = parse_TSP_Reference(row_headers[2][0].data); - oldbucket = CFB.find(cfb, dependents[row_header_ref].location); - _x = parse_iwa_file(decompress_iwa_file(oldbucket.content)); - { - if (_x[0].id != row_header_ref) - throw "Bad HeaderStorageBucket"; - var base_bucket = parse_shallow(_x[0].messages[0].data); - for (R = 0; R < data.length; ++R) { - var _bucket = parse_shallow(base_bucket[2][0].data); - _bucket[1][0].data = write_varint49(R); - _bucket[4][0].data = write_varint49(data[R].length); - base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) }; - } - _x[0].messages[0].data = write_shallow(base_bucket); - } - oldbucket.content = compress_iwa_file(write_iwa_file(_x)); - oldbucket.size = oldbucket.content.length; - var col_header_ref = parse_TSP_Reference(store[2][0].data); - oldbucket = CFB.find(cfb, dependents[col_header_ref].location); - _x = parse_iwa_file(decompress_iwa_file(oldbucket.content)); - { - if (_x[0].id != col_header_ref) - throw "Bad HeaderStorageBucket"; - base_bucket = parse_shallow(_x[0].messages[0].data); - for (C = 0; C <= range.e.c; ++C) { - _bucket = parse_shallow(base_bucket[2][0].data); - _bucket[1][0].data = write_varint49(C); - _bucket[4][0].data = write_varint49(range.e.r + 1); - base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) }; - } - _x[0].messages[0].data = write_shallow(base_bucket); - } - oldbucket.content = compress_iwa_file(write_iwa_file(_x)); - oldbucket.size = oldbucket.content.length; - var sstref = parse_TSP_Reference(store[4][0].data); - (function() { - var sentry = CFB.find(cfb, dependents[sstref].location); - var sx = parse_iwa_file(decompress_iwa_file(sentry.content)); - var sstroot; - for (var sxi = 0; sxi < sx.length; ++sxi) { - var packet2 = sx[sxi]; - if (packet2.id == sstref) - sstroot = packet2; - } - var sstdata = parse_shallow(sstroot.messages[0].data); - { - sstdata[3] = []; - var newsst = []; - SST.forEach(function(str, i) { - newsst[1] = [{ type: 0, data: write_varint49(i) }]; - newsst[2] = [{ type: 0, data: write_varint49(1) }]; - newsst[3] = [{ type: 2, data: stru8(str) }]; - sstdata[3].push({ type: 2, data: write_shallow(newsst) }); - }); - } - sstroot.messages[0].data = write_shallow(sstdata); - var sy = write_iwa_file(sx); - var raw32 = compress_iwa_file(sy); - sentry.content = raw32; - sentry.size = sentry.content.length; - })(); - var tile = parse_shallow(store[3][0].data); - { - var t = tile[1][0]; - delete tile[2]; - var tl = parse_shallow(t.data); - { - var tileref = parse_TSP_Reference(tl[2][0].data); - (function() { - var tentry = CFB.find(cfb, dependents[tileref].location); - var tx = parse_iwa_file(decompress_iwa_file(tentry.content)); - var tileroot; - for (var sxi = 0; sxi < tx.length; ++sxi) { - var packet2 = tx[sxi]; - if (packet2.id == tileref) - tileroot = packet2; - } - var tiledata = parse_shallow(tileroot.messages[0].data); - { - delete tiledata[6]; - delete tile[7]; - var rowload = new Uint8Array(tiledata[5][0].data); - tiledata[5] = []; - var cnt = 0; - for (var R2 = 0; R2 <= range.e.r; ++R2) { - var tilerow = parse_shallow(rowload); - cnt += write_tile_row(tilerow, data[R2], SST); - tilerow[1][0].data = write_varint49(R2); - tiledata[5].push({ data: write_shallow(tilerow), type: 2 }); - } - tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }]; - tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }]; - tiledata[3] = [{ type: 0, data: write_varint49(cnt) }]; - tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }]; - } - tileroot.messages[0].data = write_shallow(tiledata); - var ty = write_iwa_file(tx); - var raw32 = compress_iwa_file(ty); - tentry.content = raw32; - tentry.size = tentry.content.length; - })(); - } - t.data = write_shallow(tl); - } - store[3][0].data = write_shallow(tile); - } - pb[4][0].data = write_shallow(store); - } - docroot.messages[0].data = write_shallow(pb); - var y = write_iwa_file(x); - var raw3 = compress_iwa_file(y); - entry.content = raw3; - entry.size = entry.content.length; - return cfb; -} -function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { - return function fix_opts(opts) { - for(var i = 0; i != defaults.length; ++i) { - var d = defaults[i]; - if(opts[d[0]] === undefined) opts[d[0]] = d[1]; - if(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]); - } - }; -} - -function fix_read_opts(opts) { -fix_opts_func([ - ['cellNF', false], /* emit cell number format string as .z */ - ['cellHTML', true], /* emit html string as .h */ - ['cellFormula', true], /* emit formulae as .f */ - ['cellStyles', false], /* emits style/theme as .s */ - ['cellText', true], /* emit formatted text as .w */ - ['cellDates', false], /* emit date cells with type `d` */ - - ['sheetStubs', false], /* emit empty cells */ - ['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */ - - ['bookDeps', false], /* parse calculation chains */ - ['bookSheets', false], /* only try to get sheet names (no Sheets) */ - ['bookProps', false], /* only try to get properties (no Sheets) */ - ['bookFiles', false], /* include raw file structure (keys, files, cfb) */ - ['bookVBA', false], /* include vba raw data (vbaraw) */ - - ['password',''], /* password */ - ['WTF', false] /* WTF mode (throws errors) */ -])(opts); -} - -function fix_write_opts(opts) { -fix_opts_func([ - ['cellDates', false], /* write date cells with type `d` */ - - ['bookSST', false], /* Generate Shared String Table */ - - ['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */ - - ['compression', false], /* Use file compression */ - - ['WTF', false] /* WTF mode (throws errors) */ -])(opts); -} -function get_sheet_type(n/*:string*/)/*:string*/ { - if(RELS.WS.indexOf(n) > -1) return "sheet"; - if(RELS.CS && n == RELS.CS) return "chart"; - if(RELS.DS && n == RELS.DS) return "dialog"; - if(RELS.MS && n == RELS.MS) return "macro"; - return (n && n.length) ? n : "sheet"; -} -function safe_parse_wbrels(wbrels, sheets) { - if(!wbrels) return 0; - try { - wbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; }); - } catch(e) { return null; } - return !wbrels || wbrels.length === 0 ? null : wbrels; -} - -function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) { - try { - sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - var data = getzipdata(zip, path); - var _ws; - switch(stype) { - case 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break; - case 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); - if(!_ws || !_ws['!drawel']) break; - var dfile = resolve_path(_ws['!drawel'].Target, path); - var drelsp = get_rels_path(dfile); - var draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile)); - var chartp = resolve_path(draw, dfile); - var crelsp = get_rels_path(chartp); - _ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws); - break; - case 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break; - case 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break; - default: throw new Error("Unrecognized sheet type " + stype); - } - sheets[sheet] = _ws; - - /* scan rels for comments and threaded comments */ - var tcomments = []; - if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { - var dfile = ""; - if(sheetRels[sheet][n].Type == RELS.CMNT) { - dfile = resolve_path(sheetRels[sheet][n].Target, path); - var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); - if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments, false); - } - if(sheetRels[sheet][n].Type == RELS.TCMNT) { - dfile = resolve_path(sheetRels[sheet][n].Target, path); - tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); - } - }); - if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); - } catch(e) { if(opts.WTF) throw e; } -} - -function strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; } - -function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - make_ssf(); - opts = opts || {}; - fix_read_opts(opts); - - /* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */ - if(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts); - /* UOC */ - if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts); - /* Numbers */ - if(safegetzipfile(zip, 'Index/Document.iwa')) { - if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof parse_numbers_iwa != "undefined") { - if(zip.FileIndex) return parse_numbers_iwa(zip); - var _zip = CFB.utils.cfb_new(); - zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return parse_numbers_iwa(_zip); - } - throw new Error('Unsupported NUMBERS file'); - } - if(!safegetzipfile(zip, '[Content_Types].xml')) { - if(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file'); - if(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file'); - throw new Error('Unsupported ZIP file'); - } - - var entries = zipentries(zip); - var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/)); - var xlsb = false; - var sheets, binname; - if(dir.workbooks.length === 0) { - binname = "xl/workbook.xml"; - if(getzipdata(zip,binname, true)) dir.workbooks.push(binname); - } - if(dir.workbooks.length === 0) { - binname = "xl/workbook.bin"; - if(!getzipdata(zip,binname,true)) throw new Error("Could not find workbook"); - dir.workbooks.push(binname); - xlsb = true; - } - if(dir.workbooks[0].slice(-3) == "bin") xlsb = true; - - var themes = ({}/*:any*/); - var styles = ({}/*:any*/); - if(!opts.bookSheets && !opts.bookProps) { - strs = []; - if(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; } - - if(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\//,''), true)||"",dir.themes[0], opts); - - if(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts); - } - - /*var externbooks = */dir.links.map(function(link) { - try { - var rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link); - return parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts); - } catch(e) {} - }); - - var wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts); - - var props = {}, propdata = ""; - - if(dir.coreprops.length) { - propdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true); - if(propdata) props = parse_core_props(propdata); - if(dir.extprops.length !== 0) { - propdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true); - if(propdata) parse_ext_props(propdata, props, opts); - } - } - - var custprops = {}; - if(!opts.bookSheets || opts.bookProps) { - if (dir.custprops.length !== 0) { - propdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true); - if(propdata) custprops = parse_cust_props(propdata, opts); - } - } - - var out = ({}/*:any*/); - if(opts.bookSheets || opts.bookProps) { - if(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; }); - else if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames; - if(opts.bookProps) { out.Props = props; out.Custprops = custprops; } - if(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets; - if(opts.bookSheets ? out.SheetNames : opts.bookProps) return out; - } - sheets = {}; - - var deps = {}; - if(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts); - - var i=0; - var sheetRels = ({}/*:any*/); - var path, relsPath; - - { - var wbsheets = wb.Sheets; - props.Worksheets = wbsheets.length; - props.SheetNames = []; - for(var j = 0; j != wbsheets.length; ++j) { - props.SheetNames[j] = wbsheets[j].name; - } - } - - var wbext = xlsb ? "bin" : "xml"; - var wbrelsi = dir.workbooks[0].lastIndexOf("/"); - var wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + "_rels/" + dir.workbooks[0].slice(wbrelsi+1) + ".rels").replace(/^\//,""); - if(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels'; - var wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, "s5s")); - - if((dir.metadata || []).length >= 1) { - /* TODO: MDX and other types of metadata */ - opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); - } - - if((dir.people || []).length >= 1) { - opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); - } - - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); - - /* Numbers iOS hack */ - var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; - wsloop: for(i = 0; i != props.Worksheets; ++i) { - var stype = "sheet"; - if(wbrels && wbrels[i]) { - path = 'xl/' + (wbrels[i][1]).replace(/[\/]?xl\//, ""); - if(!safegetzipfile(zip, path)) path = wbrels[i][1]; - if(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\/.*$/,"") + wbrels[i][1]; - stype = wbrels[i][2]; - } else { - path = 'xl/worksheets/sheet'+(i+1-nmode)+"." + wbext; - path = path.replace(/sheet0\./,"sheet."); - } - relsPath = path.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"); - if(opts && opts.sheets != null) switch(typeof opts.sheets) { - case "number": if(i != opts.sheets) continue wsloop; break; - case "string": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break; - default: if(Array.isArray && Array.isArray(opts.sheets)) { - var snjseen = false; - for(var snj = 0; snj != opts.sheets.length; ++snj) { - if(typeof opts.sheets[snj] == "number" && opts.sheets[snj] == i) snjseen=1; - if(typeof opts.sheets[snj] == "string" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1; - } - if(!snjseen) continue wsloop; - } - } - safe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles); - } - - out = ({ - Directory: dir, - Workbook: wb, - Props: props, - Custprops: custprops, - Deps: deps, - Sheets: sheets, - SheetNames: props.SheetNames, - Strings: strs, - Styles: styles, - Themes: themes, - SSF: dup(table_fmt) - }/*:any*/); - if(opts && opts.bookFiles) { - if(zip.files) { - out.keys = entries; - out.files = zip.files; - } else { - out.keys = []; - out.files = {}; - zip.FullPaths.forEach(function(p, idx) { - p = p.replace(/^Root Entry[\/]/, ""); - out.keys.push(p); - out.files[p] = zip.FileIndex[idx]; - }); - } - } - if(opts && opts.bookVBA) { - if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true); - else if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true); - } - return out; -} - -/* [MS-OFFCRYPTO] 2.1.1 */ -function parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ { - var opts = _opts || {}; - var f = 'Workbook', data = CFB.find(cfb, f); - try { - f = '/!DataSpaces/Version'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - /*var version = */parse_DataSpaceVersionInfo(data.content); - - /* 2.3.4.1 */ - f = '/!DataSpaces/DataSpaceMap'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - var dsm = parse_DataSpaceMap(data.content); - if(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== "StrongEncryptionDataSpace" || dsm[0].comps[0].v !== "EncryptedPackage") - throw new Error("ECMA-376 Encrypted file bad " + f); - - /* 2.3.4.2 */ - f = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - var seds = parse_DataSpaceDefinition(data.content); - if(seds.length != 1 || seds[0] != "StrongEncryptionTransform") - throw new Error("ECMA-376 Encrypted file bad " + f); - - /* 2.3.4.3 */ - f = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - /*var hdr = */parse_Primary(data.content); - } catch(e) {} - - f = '/EncryptionInfo'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - var einfo = parse_EncryptionInfo(data.content); - - /* 2.3.4.4 */ - f = '/EncryptedPackage'; - data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missing " + f); - -/*global decrypt_agile */ -/*:: declare var decrypt_agile:any; */ - if(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || "", opts); -/*global decrypt_std76 */ -/*:: declare var decrypt_std76:any; */ - if(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || "", opts); - throw new Error("File is password-protected"); -} - -function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { - if(opts.bookType == "ods") return write_ods(wb, opts); - if(opts.bookType == "numbers") return write_numbers_iwa(wb, opts); - if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); - return write_zip_xlsx(wb, opts); -} - -/* XLSX and XLSB writing are very similar. Originally they were unified in one - export function. This is horrible for tree shaking in the common case (most - applications need to export files in one format) so this function supports - both formats while write_zip_xlsx only handles XLSX */ -function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { - _shapeid = 1024; - if(wb && !wb.SSF) { - wb.SSF = dup(table_fmt); - } - if(wb && wb.SSF) { - make_ssf(); SSF_load_table(wb.SSF); - // $FlowIgnore - opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0; - opts.ssf = wb.SSF; - } - opts.rels = {}; opts.wbrels = {}; - opts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0; - if(browser_has_Map) opts.revStrings = new Map(); - else { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; } - var wbext = opts.bookType == "xlsb" ? "bin" : "xml"; - var vbafmt = VBAFMTS.indexOf(opts.bookType) > -1; - var ct = new_ct(); - fix_write_opts(opts = opts || {}); - var zip = zip_new(); - var f = "", rId = 0; - - opts.cellXfs = []; - get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); - - if(!wb.Props) wb.Props = {}; - - f = "docProps/core.xml"; - zip_add_file(zip, f, write_core_props(wb.Props, opts)); - ct.coreprops.push(f); - add_rels(opts.rels, 2, f, RELS.CORE_PROPS); - - /*::if(!wb.Props) throw "unreachable"; */ - f = "docProps/app.xml"; - if(wb.Props && wb.Props.SheetNames){/* empty */} - else if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames; - else { - var _sn = []; - for(var _i = 0; _i < wb.SheetNames.length; ++_i) - if((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]); - wb.Props.SheetNames = _sn; - } - wb.Props.Worksheets = wb.Props.SheetNames.length; - zip_add_file(zip, f, write_ext_props(wb.Props, opts)); - ct.extprops.push(f); - add_rels(opts.rels, 3, f, RELS.EXT_PROPS); - - if(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) { - f = "docProps/custom.xml"; - zip_add_file(zip, f, write_cust_props(wb.Custprops, opts)); - ct.custprops.push(f); - add_rels(opts.rels, 4, f, RELS.CUST_PROPS); - } - - for(rId=1;rId <= wb.SheetNames.length; ++rId) { - var wsrels = {'!id':{}}; - var ws = wb.Sheets[wb.SheetNames[rId-1]]; - var _type = (ws || {})["!type"] || "sheet"; - switch(_type) { - case "chart": - /* falls through */ - default: - f = "xl/worksheets/sheet" + rId + "." + wbext; - zip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels)); - ct.sheets.push(f); - add_rels(opts.wbrels, -1, "worksheets/sheet" + rId + "." + wbext, RELS.WS[0]); - } - - if(ws) { - var comments = ws['!comments']; - var need_vml = false; - var cf = ""; - if(comments && comments.length > 0) { - cf = "xl/comments" + rId + "." + wbext; - zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); - ct.comments.push(cf); - add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); - need_vml = true; - } - if(ws['!legacy']) { - if(need_vml) zip_add_file(zip, "xl/drawings/vmlDrawing" + (rId) + ".vml", write_comments_vml(rId, ws['!comments'])); - } - delete ws['!comments']; - delete ws['!legacy']; - } - - if(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels)); - } - - if(opts.Strings != null && opts.Strings.length > 0) { - f = "xl/sharedStrings." + wbext; - zip_add_file(zip, f, write_sst(opts.Strings, f, opts)); - ct.strs.push(f); - add_rels(opts.wbrels, -1, "sharedStrings." + wbext, RELS.SST); - } - - f = "xl/workbook." + wbext; - zip_add_file(zip, f, write_wb(wb, f, opts)); - ct.workbooks.push(f); - add_rels(opts.rels, 1, f, RELS.WB); - - /* TODO: something more intelligent with themes */ - - f = "xl/theme/theme1.xml"; - zip_add_file(zip, f, write_theme(wb.Themes, opts)); - ct.themes.push(f); - add_rels(opts.wbrels, -1, "theme/theme1.xml", RELS.THEME); - - /* TODO: something more intelligent with styles */ - - f = "xl/styles." + wbext; - zip_add_file(zip, f, write_sty(wb, f, opts)); - ct.styles.push(f); - add_rels(opts.wbrels, -1, "styles." + wbext, RELS.STY); - - if(wb.vbaraw && vbafmt) { - f = "xl/vbaProject.bin"; - zip_add_file(zip, f, wb.vbaraw); - ct.vba.push(f); - add_rels(opts.wbrels, -1, "vbaProject.bin", RELS.VBA); - } - - f = "xl/metadata." + wbext; - zip_add_file(zip, f, write_xlmeta(f)); - ct.metadata.push(f); - add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); - - zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); - zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); - zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); - - delete opts.revssf; delete opts.ssf; - return zip; -} - -function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { - _shapeid = 1024; - if(wb && !wb.SSF) { - wb.SSF = dup(table_fmt); - } - if(wb && wb.SSF) { - make_ssf(); SSF_load_table(wb.SSF); - // $FlowIgnore - opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0; - opts.ssf = wb.SSF; - } - opts.rels = {}; opts.wbrels = {}; - opts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0; - if(browser_has_Map) opts.revStrings = new Map(); - else { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; } - var wbext = "xml"; - var vbafmt = VBAFMTS.indexOf(opts.bookType) > -1; - var ct = new_ct(); - fix_write_opts(opts = opts || {}); - var zip = zip_new(); - var f = "", rId = 0; - - opts.cellXfs = []; - get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); - - if(!wb.Props) wb.Props = {}; - - f = "docProps/core.xml"; - zip_add_file(zip, f, write_core_props(wb.Props, opts)); - ct.coreprops.push(f); - add_rels(opts.rels, 2, f, RELS.CORE_PROPS); - - /*::if(!wb.Props) throw "unreachable"; */ - f = "docProps/app.xml"; - if(wb.Props && wb.Props.SheetNames){/* empty */} - else if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames; - else { - var _sn = []; - for(var _i = 0; _i < wb.SheetNames.length; ++_i) - if((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]); - wb.Props.SheetNames = _sn; - } - wb.Props.Worksheets = wb.Props.SheetNames.length; - zip_add_file(zip, f, write_ext_props(wb.Props, opts)); - ct.extprops.push(f); - add_rels(opts.rels, 3, f, RELS.EXT_PROPS); - - if(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) { - f = "docProps/custom.xml"; - zip_add_file(zip, f, write_cust_props(wb.Custprops, opts)); - ct.custprops.push(f); - add_rels(opts.rels, 4, f, RELS.CUST_PROPS); - } - - var people = ["SheetJ5"]; - opts.tcid = 0; - - for(rId=1;rId <= wb.SheetNames.length; ++rId) { - var wsrels = {'!id':{}}; - var ws = wb.Sheets[wb.SheetNames[rId-1]]; - var _type = (ws || {})["!type"] || "sheet"; - switch(_type) { - case "chart": - /* falls through */ - default: - f = "xl/worksheets/sheet" + rId + "." + wbext; - zip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels)); - ct.sheets.push(f); - add_rels(opts.wbrels, -1, "worksheets/sheet" + rId + "." + wbext, RELS.WS[0]); - } - - if(ws) { - var comments = ws['!comments']; - var need_vml = false; - var cf = ""; - if(comments && comments.length > 0) { - var needtc = false; - comments.forEach(function(carr) { - carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); - }); - if(needtc) { - cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; - zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); - ct.threadedcomments.push(cf); - add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); - } - - cf = "xl/comments" + rId + "." + wbext; - zip_add_file(zip, cf, write_comments_xml(comments, opts)); - ct.comments.push(cf); - add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); - need_vml = true; - } - if(ws['!legacy']) { - if(need_vml) zip_add_file(zip, "xl/drawings/vmlDrawing" + (rId) + ".vml", write_comments_vml(rId, ws['!comments'])); - } - delete ws['!comments']; - delete ws['!legacy']; - } - - if(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels)); - } - - if(opts.Strings != null && opts.Strings.length > 0) { - f = "xl/sharedStrings." + wbext; - zip_add_file(zip, f, write_sst_xml(opts.Strings, opts)); - ct.strs.push(f); - add_rels(opts.wbrels, -1, "sharedStrings." + wbext, RELS.SST); - } - - f = "xl/workbook." + wbext; - zip_add_file(zip, f, write_wb_xml(wb, opts)); - ct.workbooks.push(f); - add_rels(opts.rels, 1, f, RELS.WB); - - /* TODO: something more intelligent with themes */ - - f = "xl/theme/theme1.xml"; - zip_add_file(zip, f, write_theme(wb.Themes, opts)); - ct.themes.push(f); - add_rels(opts.wbrels, -1, "theme/theme1.xml", RELS.THEME); - - /* TODO: something more intelligent with styles */ - - f = "xl/styles." + wbext; - zip_add_file(zip, f, write_sty_xml(wb, opts)); - ct.styles.push(f); - add_rels(opts.wbrels, -1, "styles." + wbext, RELS.STY); - - if(wb.vbaraw && vbafmt) { - f = "xl/vbaProject.bin"; - zip_add_file(zip, f, wb.vbaraw); - ct.vba.push(f); - add_rels(opts.wbrels, -1, "vbaProject.bin", RELS.VBA); - } - - f = "xl/metadata." + wbext; - zip_add_file(zip, f, write_xlmeta_xml()); - ct.metadata.push(f); - add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); - - if(people.length > 1) { - f = "xl/persons/person.xml"; - zip_add_file(zip, f, write_people_xml(people, opts)); - ct.people.push(f); - add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); - } - - zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); - zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); - zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); - - delete opts.revssf; delete opts.ssf; - return zip; -} - -function firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ { - var x = ""; - switch((o||{}).type || "base64") { - case 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]]; - case 'base64': x = Base64_decode(f.slice(0,12)); break; - case 'binary': x = f; break; - case 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]]; - default: throw new Error("Unrecognized type " + (o && o.type || "undefined")); - } - return [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)]; -} - -function read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - if(CFB.find(cfb, "EncryptedPackage")) return parse_xlsxcfb(cfb, opts); - return parse_xlscfb(cfb, opts); -} - -function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - var zip, d = data; - var o = opts||{}; - if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - zip = zip_read(d, o); - return parse_zip(zip, o); -} - -function read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ { - var i = 0; - main: while(i < data.length) switch(data.charCodeAt(i)) { - case 0x0A: case 0x0D: case 0x20: ++i; break; - case 0x3C: return parse_xlml(data.slice(i),o); - default: break main; - } - return PRN.to_workbook(data, o); -} - -function read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ { - var str = "", bytes = firstbyte(data, o); - switch(o.type) { - case 'base64': str = Base64_decode(data); break; - case 'binary': str = data; break; - case 'buffer': str = data.toString('binary'); break; - case 'array': str = cc2str(data); break; - default: throw new Error("Unrecognized type " + o.type); - } - if(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str); - o.type = "binary"; - return read_plaintext(str, o); -} - -function read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ { - var d = data; - if(o.type == 'base64') d = Base64_decode(d); - d = $cptable.utils.decode(1200, d.slice(2), 'str'); - o.type = "binary"; - return read_plaintext(d, o); -} - -function bstrify(data/*:string*/)/*:string*/ { - return !data.match(/[^\x00-\x7F]/) ? data : utf8write(data); -} - -function read_prn(data, d, o, str) { - if(str) { o.type = "string"; return PRN.to_workbook(data, o); } - return PRN.to_workbook(d, o); -} - -function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - reset_cp(); - var o = opts||{}; - if(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = "array", o)); - if(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== "undefined" ? "buffer" : "array"; - var d = data, n = [0,0,0,0], str = false; - if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } - _ssfopts = {}; - if(o.dateNF) _ssfopts.dateNF = o.dateNF; - if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - if(o.type == "file") { o.type = has_buf ? "buffer" : "binary"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = "array"; } - if(o.type == "string") { str = true; o.type = "binary"; o.codepage = 65001; d = bstrify(data); } - if(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') { - // $FlowIgnore - var ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo="bar"; - // $FlowIgnore - if(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);} - } - switch((n = firstbyte(d, o))[0]) { - case 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break; - case 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break; - case 0x3C: return parse_xlml(d, o); - case 0x49: - if(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error("TIFF Image File is not a spreadsheet"); - if(n[1] === 0x44) return read_wb_ID(d, o); - break; - case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break; - case 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str); - case 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str); - case 0xFF: - if(n[1] === 0xFE) { return read_utf16(d, o); } - else if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); - break; - case 0x00: - if(n[1] === 0x00) { - if(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); - if(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o); - } - break; - case 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o); - case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break; - case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o); - case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break; - } - if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); - return read_prn(data, d, o, str); -} - -function readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - var o = opts||{}; o.type = 'file'; - return readSync(filename, o); -} -function write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ { - switch(o.type) { - case "base64": case "binary": break; - case "buffer": case "array": o.type = ""; break; - case "file": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : ""})); - case "string": throw new Error("'string' output type invalid for '" + o.bookType + "' files"); - default: throw new Error("Unrecognized type " + o.type); - } - return CFB.write(cfb, o); -} - -/*:: declare var encrypt_agile:any; */ -function write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ { - var o = dup(opts||{}); - var z = write_zip(wb, o); - return write_zip_denouement(z, o); -} -function write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ { - var o = dup(opts||{}); - var z = write_zip_xlsx(wb, o); - return write_zip_denouement(z, o); -} -function write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ { - var oopts = {}; - var ftype = has_buf ? "nodebuffer" : (typeof Uint8Array !== "undefined" ? "array" : "string"); - if(o.compression) oopts.compression = 'DEFLATE'; - if(o.password) oopts.type = ftype; - else switch(o.type) { - case "base64": oopts.type = "base64"; break; - case "binary": oopts.type = "string"; break; - case "string": throw new Error("'string' output type invalid for '" + o.bookType + "' files"); - case "buffer": - case "file": oopts.type = ftype; break; - default: throw new Error("Unrecognized type " + o.type); - } - var out = z.FullPaths ? CFB.write(z, {fileType:"zip", type: /*::(*/{"nodebuffer": "buffer", "string": "binary"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts); - if(typeof Deno !== "undefined") { - if(typeof out == "string") { - if(o.type == "binary" || o.type == "base64") return out; - out = new Uint8Array(s2ab(out)); - } - } -/*jshint -W083 */ - if(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef -/*jshint +W083 */ - if(o.type === "file") return write_dl(o.file, out); - return o.type == "string" ? utf8read(/*::(*/out/*:: :any)*/) : out; -} - -function write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ { - var o = opts||{}; - var cfb/*:CFBContainer*/ = write_xlscfb(wb, o); - return write_cfb_ctr(cfb, o); -} - -function write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ { - if(!bom) bom = ""; - var o = bom + out; - switch(opts.type) { - case "base64": return Base64_encode(utf8write(o)); - case "binary": return utf8write(o); - case "string": return out; - case "file": return write_dl(opts.file, o, 'utf8'); - case "buffer": { - if(has_buf) return Buffer_from(o, 'utf8'); - else if(typeof TextEncoder !== "undefined") return new TextEncoder().encode(o); - else return write_string_type(o, {type:'binary'}).split("").map(function(c) { return c.charCodeAt(0); }); - } - } - throw new Error("Unrecognized type " + opts.type); -} - -function write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ { - switch(opts.type) { - case "base64": return Base64_encode(out); - case "binary": return out; - case "string": return out; /* override in sheet_to_txt */ - case "file": return write_dl(opts.file, out, 'binary'); - case "buffer": { - if(has_buf) return Buffer_from(out, 'binary'); - else return out.split("").map(function(c) { return c.charCodeAt(0); }); - } - } - throw new Error("Unrecognized type " + opts.type); -} - -/* TODO: test consistency */ -function write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ { - switch(opts.type) { - case "string": - case "base64": - case "binary": - var bstr = ""; - // $FlowIgnore - for(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]); - return opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr; - case "file": return write_dl(opts.file, out); - case "buffer": return out; - default: throw new Error("Unrecognized type " + opts.type); - } -} - -function writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) { - reset_cp(); - check_wb(wb); - var o = dup(opts||{}); - if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } - if(o.type == "array") { o.type = "binary"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = "array"; return s2ab(out); } - return write_zip_typeXLSX(wb, o); -} - -function writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) { - reset_cp(); - check_wb(wb); - var o = dup(opts||{}); - if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } - if(o.type == "array") { o.type = "binary"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = "array"; return s2ab(out); } - var idx = 0; - if(o.sheet) { - if(typeof o.sheet == "number") idx = o.sheet; - else idx = wb.SheetNames.indexOf(o.sheet); - if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); - } - switch(o.bookType || 'xlsb') { - case 'xml': - case 'xlml': return write_string_type(write_xlml(wb, o), o); - case 'slk': - case 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'htm': - case 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, "\ufeff"); - case 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'fods': return write_string_type(write_ods(wb, o), o); - case 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o); - case 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o); - case 'biff2': if(!o.biff) o.biff = 2; /* falls through */ - case 'biff3': if(!o.biff) o.biff = 3; /* falls through */ - case 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o); - case 'biff5': if(!o.biff) o.biff = 5; /* falls through */ - case 'biff8': - case 'xla': - case 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o); - case 'xlsx': - case 'xlsm': - case 'xlam': - case 'xlsb': - case 'numbers': - case 'ods': return write_zip_type(wb, o); - default: throw new Error ("Unrecognized bookType |" + o.bookType + "|"); - } -} - -function resolve_book_type(o/*:WriteFileOpts*/) { - if(o.bookType) return; - var _BT = { - "xls": "biff8", - "htm": "html", - "slk": "sylk", - "socialcalc": "eth", - "Sh33tJS": "WTF" - }; - var ext = o.file.slice(o.file.lastIndexOf(".")).toLowerCase(); - if(ext.match(/^\.[a-z]+$/)) o.bookType = ext.slice(1); - o.bookType = _BT[o.bookType] || o.bookType; -} - -function writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) { - var o = opts||{}; o.type = 'file'; - o.file = filename; - resolve_book_type(o); - return writeSync(wb, o); -} - -function writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) { - var o = opts||{}; o.type = 'file'; - o.file = filename; - resolve_book_type(o); - return writeSyncXLSX(wb, o); -} - - -function writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) { - var o = opts||{}; o.type = 'file'; - o.file = filename; - resolve_book_type(o); - o.type = 'buffer'; - var _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/); - return _fs.writeFile(filename, writeSync(wb, o), _cb); -} -/*:: -type MJRObject = { - row: any; - isempty: boolean; -}; -*/ -function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ { - var rr = encode_row(R); - var defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, "raw"); - var isempty = true; - var row/*:any*/ = (header === 1) ? [] : {}; - if(header !== 1) { - if(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; } - else row.__rowNum__ = R; - } - if(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) { - var val = dense ? sheet[R][C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { - if(defval === undefined) continue; - if(hdr[C] != null) { row[hdr[C]] = defval; } - continue; - } - var v = val.v; - switch(val.t){ - case 'z': if(v == null) break; continue; - case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; - default: throw new Error('unrecognized type ' + val.t); - } - if(hdr[C] != null) { - if(v == null) { - if(val.t == "e" && v === null) row[hdr[C]] = null; - else if(defval !== undefined) row[hdr[C]] = defval; - else if(raw && v === null) row[hdr[C]] = null; - else continue; - } else { - row[hdr[C]] = raw && (val.t !== "n" || (val.t === "n" && o.rawNumbers !== false)) ? v : format_cell(val,v,o); - } - if(v != null) isempty = false; - } - } - return { row: row, isempty: isempty }; -} - - -function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { - if(sheet == null || sheet["!ref"] == null) return []; - var val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=""; - var r = {s:{r:0,c:0},e:{r:0,c:0}}; - var o = opts || {}; - var range = o.range != null ? o.range : sheet["!ref"]; - if(o.header === 1) header = 1; - else if(o.header === "A") header = 2; - else if(Array.isArray(o.header)) header = 3; - else if(o.header == null) header = 0; - switch(typeof range) { - case 'string': r = safe_decode_range(range); break; - case 'number': r = safe_decode_range(sheet["!ref"]); r.s.r = range; break; - default: r = range; - } - if(header > 0) offset = 0; - var rr = encode_row(r.s.r); - var cols/*:Array*/ = []; - var out/*:Array*/ = []; - var outi = 0, counter = 0; - var dense = Array.isArray(sheet); - var R = r.s.r, C = 0; - var header_cnt = {}; - if(dense && !sheet[R]) sheet[R] = []; - var colinfo/*:Array*/ = o.skipHidden && sheet["!cols"] || []; - var rowinfo/*:Array*/ = o.skipHidden && sheet["!rows"] || []; - for(C = r.s.c; C <= r.e.c; ++C) { - if(((colinfo[C]||{}).hidden)) continue; - cols[C] = encode_col(C); - val = dense ? sheet[R][C] : sheet[cols[C] + rr]; - switch(header) { - case 1: hdr[C] = C - r.s.c; break; - case 2: hdr[C] = cols[C]; break; - case 3: hdr[C] = o.header[C - r.s.c]; break; - default: - if(val == null) val = {w: "__EMPTY", t: "s"}; - vv = v = format_cell(val, null, o); - counter = header_cnt[v] || 0; - if(!counter) header_cnt[v] = 1; - else { - do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; - header_cnt[vv] = 1; - } - hdr[C] = vv; - } - } - for (R = r.s.r + offset; R <= r.e.r; ++R) { - if ((rowinfo[R]||{}).hidden) continue; - var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); - if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row; - } - out.length = outi; - return out; -} - -var qreg = /"/g; -function make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ { - var isempty = true; - var row/*:Array*/ = [], txt = "", rr = encode_row(R); - for(var C = r.s.c; C <= r.e.c; ++C) { - if (!cols[C]) continue; - var val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr]; - if(val == null) txt = ""; - else if(val.v != null) { - isempty = false; - txt = ''+(o.rawNumbers && val.t == "n" ? val.v : format_cell(val, null, o)); - for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } - if(txt == "ID") txt = '"ID"'; - } else if(val.f != null && !val.F) { - isempty = false; - txt = '=' + val.f; if(txt.indexOf(",") >= 0) txt = '"' + txt.replace(qreg, '""') + '"'; - } else txt = ""; - /* NOTE: Excel CSV does not support array formulae */ - row.push(txt); - } - if(o.blankrows === false && isempty) return null; - return row.join(FS); -} - -function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ { - var out/*:Array*/ = []; - var o = opts == null ? {} : opts; - if(sheet == null || sheet["!ref"] == null) return ""; - var r = safe_decode_range(sheet["!ref"]); - var FS = o.FS !== undefined ? o.FS : ",", fs = FS.charCodeAt(0); - var RS = o.RS !== undefined ? o.RS : "\n", rs = RS.charCodeAt(0); - var endregex = new RegExp((FS=="|" ? "\\|" : FS)+"+$"); - var row = "", cols/*:Array*/ = []; - o.dense = Array.isArray(sheet); - var colinfo/*:Array*/ = o.skipHidden && sheet["!cols"] || []; - var rowinfo/*:Array*/ = o.skipHidden && sheet["!rows"] || []; - for(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C); - var w = 0; - for(var R = r.s.r; R <= r.e.r; ++R) { - if ((rowinfo[R]||{}).hidden) continue; - row = make_csv_row(sheet, r, R, cols, fs, rs, FS, o); - if(row == null) { continue; } - if(o.strip) row = row.replace(endregex,""); - if(row || (o.blankrows !== false)) out.push((w++ ? RS : "") + row); - } - delete o.dense; - return out.join(""); -} - -function sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { - if(!opts) opts = {}; opts.FS = "\t"; opts.RS = "\n"; - var s = sheet_to_csv(sheet, opts); - if(typeof $cptable == 'undefined' || opts.type == 'string') return s; - var o = $cptable.utils.encode(1200, s, 'str'); - return String.fromCharCode(255) + String.fromCharCode(254) + o; -} - -function sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ { - var y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return []; - var r = safe_decode_range(sheet['!ref']), rr = "", cols/*:Array*/ = [], C; - var cmds/*:Array*/ = []; - var dense = Array.isArray(sheet); - for(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C); - for(var R = r.s.r; R <= r.e.r; ++R) { - rr = encode_row(R); - for(C = r.s.c; C <= r.e.c; ++C) { - y = cols[C] + rr; - x = dense ? (sheet[R]||[])[C] : sheet[y]; - val = ""; - if(x === undefined) continue; - else if(x.F != null) { - y = x.F; - if(!x.f) continue; - val = x.f; - if(y.indexOf(":") == -1) y = y + ":" + y; - } - if(x.f != null) val = x.f; - else if(x.t == 'z') continue; - else if(x.t == 'n' && x.v != null) val = "" + x.v; - else if(x.t == 'b') val = x.v ? "TRUE" : "FALSE"; - else if(x.w !== undefined) val = "'" + x.w; - else if(x.v === undefined) continue; - else if(x.t == 's') val = "'" + x.v; - else val = ""+x.v; - cmds[cmds.length] = y + "=" + val; - } - } - return cmds; -} - -function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ { - var o = opts || {}; - var offset = +!o.skipHeader; - var ws/*:Worksheet*/ = _ws || ({}/*:any*/); - var _R = 0, _C = 0; - if(ws && o.origin != null) { - if(typeof o.origin == 'number') _R = o.origin; - else { - var _origin/*:CellAddress*/ = typeof o.origin == "string" ? decode_cell(o.origin) : o.origin; - _R = _origin.r; _C = _origin.c; - } - } - var cell/*:Cell*/; - var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/); - if(ws['!ref']) { - var _range = safe_decode_range(ws['!ref']); - range.e.c = Math.max(range.e.c, _range.e.c); - range.e.r = Math.max(range.e.r, _range.e.r); - if(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; } - } else { - if(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; } - } - var hdr/*:Array*/ = o.header || [], C = 0; - - js.forEach(function (JS, R/*:number*/) { - keys(JS).forEach(function(k) { - if((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k; - var v = JS[k]; - var t = 'z'; - var z = ""; - var ref = encode_cell({c:_C + C,r:_R + R + offset}); - cell = ws_get_cell_stub(ws, ref); - if(v && typeof v === 'object' && !(v instanceof Date)){ - ws[ref] = v; - } else { - if(typeof v == 'number') t = 'n'; - else if(typeof v == 'boolean') t = 'b'; - else if(typeof v == 'string') t = 's'; - else if(v instanceof Date) { - t = 'd'; - if(!o.cellDates) { t = 'n'; v = datenum(v); } - z = (o.dateNF || table_fmt[14]); - } - else if(v === null && o.nullError) { t = 'e'; v = 0; } - if(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/); - else { - cell.t = t; cell.v = v; - delete cell.w; delete cell.R; - if(z) cell.z = z; - } - if(z) cell.z = z; - } - }); - }); - range.e.c = Math.max(range.e.c, _C + hdr.length - 1); - var __R = encode_row(_R); - if(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]}; - ws['!ref'] = encode_range(range); - return ws; -} -function json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); } - -/* get cell, creating a stub if necessary */ -function ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ { - /* A1 cell address */ - if(typeof R == "string") { - /* dense */ - if(Array.isArray(ws)) { - var RC = decode_cell(R); - if(!ws[RC.r]) ws[RC.r] = []; - return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); - } - return ws[R] || (ws[R] = {t:'z'}); - } - /* cell address object */ - if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); - /* R and C are 0-based indices */ - return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); -} - -/* find sheet index for given name / validate index */ -function wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) { - if(typeof sh == "number") { - if(sh >= 0 && wb.SheetNames.length > sh) return sh; - throw new Error("Cannot find sheet # " + sh); - } else if(typeof sh == "string") { - var idx = wb.SheetNames.indexOf(sh); - if(idx > -1) return idx; - throw new Error("Cannot find sheet name |" + sh + "|"); - } else throw new Error("Cannot find sheet |" + sh + "|"); -} - -/* simple blank workbook object */ -function book_new()/*:Workbook*/ { - return { SheetNames: [], Sheets: {} }; -} - -/* add a worksheet to the end of a given workbook */ -function book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ { - var i = 1; - if(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; - if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); - if(roll && wb.SheetNames.indexOf(name) >= 0) { - var m = name.match(/(^.*?)(\d+)$/); - i = m && +m[2] || 0; - var root = m && m[1] || name; - for(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break; - } - check_ws_name(name); - if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); - - wb.SheetNames.push(name); - wb.Sheets[name] = ws; - return name; -} - -/* set sheet visibility (visible/hidden/very hidden) */ -function book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) { - if(!wb.Workbook) wb.Workbook = {}; - if(!wb.Workbook.Sheets) wb.Workbook.Sheets = []; - - var idx = wb_sheet_idx(wb, sh); - // $FlowIgnore - if(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {}; - - switch(vis) { - case 0: case 1: case 2: break; - default: throw new Error("Bad sheet visibility setting " + vis); - } - // $FlowIgnore - wb.Workbook.Sheets[idx].Hidden = vis; -} - -/* set number format */ -function cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) { - cell.z = fmt; - return cell; -} - -/* set cell hyperlink */ -function cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) { - if(!target) { - delete cell.l; - } else { - cell.l = ({ Target: target }/*:Hyperlink*/); - if(tooltip) cell.l.Tooltip = tooltip; - } - return cell; -} -function cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, "#" + range, tooltip); } - -/* add to cell comments */ -function cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) { - if(!cell.c) cell.c = []; - cell.c.push({t:text, a:author||"SheetJS"}); -} - -/* set array formula and flush related cells */ -function sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) { - var rng = typeof range != "string" ? range : safe_decode_range(range); - var rngstr = typeof range == "string" ? range : encode_range(range); - for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { - var cell = ws_get_cell_stub(ws, R, C); - cell.t = 'n'; - cell.F = rngstr; - delete cell.v; - if(R == rng.s.r && C == rng.s.c) { - cell.f = formula; - if(dynamic) cell.D = true; - } - } - return ws; -} - -var utils/*:any*/ = { - encode_col: encode_col, - encode_row: encode_row, - encode_cell: encode_cell, - encode_range: encode_range, - decode_col: decode_col, - decode_row: decode_row, - split_cell: split_cell, - decode_cell: decode_cell, - decode_range: decode_range, - format_cell: format_cell, - sheet_add_aoa: sheet_add_aoa, - sheet_add_json: sheet_add_json, - sheet_add_dom: sheet_add_dom, - aoa_to_sheet: aoa_to_sheet, - json_to_sheet: json_to_sheet, - table_to_sheet: parse_dom_table, - table_to_book: table_to_book, - sheet_to_csv: sheet_to_csv, - sheet_to_txt: sheet_to_txt, - sheet_to_json: sheet_to_json, - sheet_to_html: sheet_to_html, - sheet_to_formulae: sheet_to_formulae, - sheet_to_row_object_array: sheet_to_json, - sheet_get_cell: ws_get_cell_stub, - book_new: book_new, - book_append_sheet: book_append_sheet, - book_set_sheet_visibility: book_set_sheet_visibility, - cell_set_number_format: cell_set_number_format, - cell_set_hyperlink: cell_set_hyperlink, - cell_set_internal_link: cell_set_internal_link, - cell_add_comment: cell_add_comment, - sheet_set_array_formula: sheet_set_array_formula, - consts: { - SHEET_VISIBLE: 0, - SHEET_HIDDEN: 1, - SHEET_VERY_HIDDEN: 2 - } -}; - -var _Readable; -function set_readable(R) { _Readable = R; } - -function write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { - var stream = _Readable(); - var o = opts == null ? {} : opts; - if(sheet == null || sheet["!ref"] == null) { stream.push(null); return stream; } - var r = safe_decode_range(sheet["!ref"]); - var FS = o.FS !== undefined ? o.FS : ",", fs = FS.charCodeAt(0); - var RS = o.RS !== undefined ? o.RS : "\n", rs = RS.charCodeAt(0); - var endregex = new RegExp((FS=="|" ? "\\|" : FS)+"+$"); - var row/*:?string*/ = "", cols/*:Array*/ = []; - o.dense = Array.isArray(sheet); - var colinfo/*:Array*/ = o.skipHidden && sheet["!cols"] || []; - var rowinfo/*:Array*/ = o.skipHidden && sheet["!rows"] || []; - for(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C); - var R = r.s.r; - var BOM = false, w = 0; - stream._read = function() { - if(!BOM) { BOM = true; return stream.push("\uFEFF"); } - while(R <= r.e.r) { - ++R; - if ((rowinfo[R-1]||{}).hidden) continue; - row = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o); - if(row != null) { - if(o.strip) row = row.replace(endregex,""); - if(row || (o.blankrows !== false)) return stream.push((w++ ? RS : "") + row); - } - } - return stream.push(null); - }; - return stream; -} - -function write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) { - var stream = _Readable(); - - var o = opts || {}; - var header = o.header != null ? o.header : HTML_BEGIN; - var footer = o.footer != null ? o.footer : HTML_END; - stream.push(header); - var r = decode_range(ws['!ref']); - o.dense = Array.isArray(ws); - stream.push(make_html_preamble(ws, r, o)); - var R = r.s.r; - var end = false; - stream._read = function() { - if(R > r.e.r) { - if(!end) { end = true; stream.push("" + footer); } - return stream.push(null); - } - while(R <= r.e.r) { - stream.push(make_html_row(ws, r, R, o)); - ++R; - break; - } - }; - return stream; -} - -function write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { - var stream = _Readable({objectMode:true}); - - if(sheet == null || sheet["!ref"] == null) { stream.push(null); return stream; } - var val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=""; - var r = {s:{r:0,c:0},e:{r:0,c:0}}; - var o = opts || {}; - var range = o.range != null ? o.range : sheet["!ref"]; - if(o.header === 1) header = 1; - else if(o.header === "A") header = 2; - else if(Array.isArray(o.header)) header = 3; - switch(typeof range) { - case 'string': r = safe_decode_range(range); break; - case 'number': r = safe_decode_range(sheet["!ref"]); r.s.r = range; break; - default: r = range; - } - if(header > 0) offset = 0; - var rr = encode_row(r.s.r); - var cols/*:Array*/ = []; - var counter = 0; - var dense = Array.isArray(sheet); - var R = r.s.r, C = 0; - var header_cnt = {}; - if(dense && !sheet[R]) sheet[R] = []; - var colinfo/*:Array*/ = o.skipHidden && sheet["!cols"] || []; - var rowinfo/*:Array*/ = o.skipHidden && sheet["!rows"] || []; - for(C = r.s.c; C <= r.e.c; ++C) { - if(((colinfo[C]||{}).hidden)) continue; - cols[C] = encode_col(C); - val = dense ? sheet[R][C] : sheet[cols[C] + rr]; - switch(header) { - case 1: hdr[C] = C - r.s.c; break; - case 2: hdr[C] = cols[C]; break; - case 3: hdr[C] = o.header[C - r.s.c]; break; - default: - if(val == null) val = {w: "__EMPTY", t: "s"}; - vv = v = format_cell(val, null, o); - counter = header_cnt[v] || 0; - if(!counter) header_cnt[v] = 1; - else { - do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; - header_cnt[vv] = 1; - } - hdr[C] = vv; - } - } - R = r.s.r + offset; - stream._read = function() { - while(R <= r.e.r) { - if ((rowinfo[R-1]||{}).hidden) continue; - var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); - ++R; - if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) { - stream.push(row.row); - return; - } - } - return stream.push(null); - }; - return stream; -} - -var __stream = { - to_json: write_json_stream, - to_html: write_html_stream, - to_csv: write_csv_stream, - set_readable: set_readable -}; -const version = XLSX.version; - - - -/***/ }) - -}]); \ No newline at end of file diff --git a/61895.async.js b/61895.async.js index 106b710b5b..e2f8bdd2b8 100644 --- a/61895.async.js +++ b/61895.async.js @@ -26595,7 +26595,7 @@ input_Input.Password = input_Password; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/63240.async.js b/63240.async.js index 07738e6b68..104da4e63c 100644 --- a/63240.async.js +++ b/63240.async.js @@ -765,8 +765,8 @@ var colors = __webpack_require__(36785); var reactNode = __webpack_require__(92343); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genPresetColor.js diff --git a/63510.async.js b/63510.async.js index 83b3db9702..ea37b74052 100644 --- a/63510.async.js +++ b/63510.async.js @@ -1487,6 +1487,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/6557.async.js b/6557.async.js index 1e2781b660..787caffce3 100644 --- a/6557.async.js +++ b/6557.async.js @@ -1551,8 +1551,8 @@ const genListStyle = token => { }; }; /* harmony default export */ var list = (genListStyle); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/motion/fade.js var fade = __webpack_require__(1950); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/style/motion.js diff --git a/66174.async.js b/66174.async.js index 392df5acda..5a30668852 100644 --- a/66174.async.js +++ b/66174.async.js @@ -1375,7 +1375,7 @@ input_Input.Password = input_Password; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/69304.async.js b/69304.async.js index 850c8536c5..173efb9a5d 100644 --- a/69304.async.js +++ b/69304.async.js @@ -138,7 +138,7 @@ if (false) {} /* harmony export */ Yk: function() { return /* binding */ genTreeStyle; } /* harmony export */ }); /* unused harmony exports genBaseStyle, genDirectoryStyle */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _checkbox_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../checkbox/style */ 98447); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../style */ 17313); /* harmony import */ var _style_motion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../style/motion */ 8378); diff --git a/70130.async.js b/70130.async.js index 071917a608..b9858ce51c 100644 --- a/70130.async.js +++ b/70130.async.js @@ -5074,7 +5074,7 @@ Object.defineProperty(exports, "defaultIconPrefixCls", ({ } })); exports.warnContext = exports.globalConfig = exports.defaultPrefixCls = void 0; -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _Context = _interopRequireDefault(__webpack_require__(/*! @ant-design/icons/lib/components/Context */ 94728)); var _useMemo = _interopRequireDefault(__webpack_require__(/*! rc-util/lib/hooks/useMemo */ 61199)); var _set = __webpack_require__(/*! rc-util/lib/utils/set */ 76906); @@ -8186,7 +8186,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.defaultTheme = exports.defaultConfig = exports.DesignTokenContext = void 0; -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _react = _interopRequireDefault(__webpack_require__(/*! react */ 59301)); var _default = _interopRequireDefault(__webpack_require__(/*! ./themes/default */ 62)); var _seed = _interopRequireDefault(__webpack_require__(/*! ./themes/seed */ 54303)); @@ -8324,7 +8324,7 @@ Object.defineProperty(exports, "useToken", ({ return _useToken.default; } })); -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _interface = __webpack_require__(/*! ./interface */ 32732); var _useToken = _interopRequireDefault(__webpack_require__(/*! ./useToken */ 34313)); var _genComponentStyleHook = _interopRequireWildcard(__webpack_require__(/*! ./util/genComponentStyleHook */ 79081)); @@ -8892,7 +8892,7 @@ Object.defineProperty(exports, "__esModule", ({ })); exports["default"] = useToken; exports.getComputedToken = void 0; -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _react = _interopRequireDefault(__webpack_require__(/*! react */ 59301)); var _version = _interopRequireDefault(__webpack_require__(/*! ../version */ 11025)); var _context = __webpack_require__(/*! ./context */ 81542); @@ -9172,7 +9172,7 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = genComponentStyleHook; exports.genSubStyleComponent = void 0; var _react = __webpack_require__(/*! react */ 59301); -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _rcUtil = __webpack_require__(/*! rc-util */ 33401); var _context = __webpack_require__(/*! ../../config-provider/context */ 11033); var _style = __webpack_require__(/*! ../../style */ 51011); @@ -9467,7 +9467,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; -var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +var _cssinjs = __webpack_require__(/*! @ant-design/cssinjs */ 67937); var _style = __webpack_require__(/*! ../../style */ 51011); var _useToken = _interopRequireDefault(__webpack_require__(/*! ../useToken */ 34313)); const useResetIconStyle = (iconPrefixCls, csp) => { diff --git a/71244.async.js b/71244.async.js index 0244ad9e02..73bcacebb6 100644 --- a/71244.async.js +++ b/71244.async.js @@ -338,6 +338,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/72274.async.js b/72274.async.js index 5a6d8c4ed9..53ca23280f 100644 --- a/72274.async.js +++ b/72274.async.js @@ -1619,7 +1619,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/74237.async.js b/74237.async.js index 829b2b63f4..dc390261d7 100644 --- a/74237.async.js +++ b/74237.async.js @@ -1035,6 +1035,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/76626.async.js b/76626.async.js index 496db46e93..305f6fb263 100644 --- a/76626.async.js +++ b/76626.async.js @@ -469,6 +469,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/79399.async.js b/79399.async.js index 7bf6d68a56..f4fefc822b 100644 --- a/79399.async.js +++ b/79399.async.js @@ -932,7 +932,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/82080.async.js b/82080.async.js index ea109e1eb9..3ef89114a7 100644 --- a/82080.async.js +++ b/82080.async.js @@ -890,7 +890,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/83306.async.js b/83306.async.js index 3e48efe934..9a617849bb 100644 --- a/83306.async.js +++ b/83306.async.js @@ -1670,7 +1670,7 @@ Layout.Sider = _Sider__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/89493.async.js b/89493.async.js index a49a6c2e60..8d450b219f 100644 --- a/89493.async.js +++ b/89493.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/93948.async.js b/93948.async.js index 54c0b8d253..25d18a13be 100644 --- a/93948.async.js +++ b/93948.async.js @@ -777,8 +777,8 @@ const Steps = props => { }, styledSteps, children); }; /* harmony default export */ var progress_Steps = (Steps); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js diff --git a/98040.async.js b/98040.async.js index 3d0a7f1892..234994f209 100644 --- a/98040.async.js +++ b/98040.async.js @@ -1335,7 +1335,7 @@ CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/layouts__ShixunDetail__index.async.js b/layouts__ShixunDetail__index.async.js index 928a19d95a..4acb70c5b5 100644 --- a/layouts__ShixunDetail__index.async.js +++ b/layouts__ShixunDetail__index.async.js @@ -3054,7 +3054,6 @@ var skeleton = __webpack_require__(59981); var react_beautiful_dnd_esm = __webpack_require__(15498); ;// CONCATENATED MODULE: ./src/layouts/ShixunDetail/index.d.ts var SubmenuIcons = { - "course_schedule": "iconfont icon-ketangkebiao", "shixun_homework": 'iconfont icon-shixunzuoye1', "graduation": 'iconfont icon-biyezhuanhuan', "exercise": 'iconfont font17 icon-kaoshishijuan1', @@ -3489,7 +3488,7 @@ var ShixunsListPage = function ShixunsListPage(_ref) { // if(detailTopBanner.excellent && (text == 'board' || text === 'attachment') ){ // return false // } - if (text === "attendance" || text === 'announcement' || text === "poll" || text === 'graduation' || text === 'course_group' || text === 'new_graduation' || text === 'course_schedule') { + if (text === "attendance" || text === 'announcement' || text === "poll" || text === 'graduation' || text === 'course_group' || text === 'new_graduation') { return false; } else { return true; diff --git a/layouts__index.async.js b/layouts__index.async.js index 3a5a271707..30cb424b09 100644 --- a/layouts__index.async.js +++ b/layouts__index.async.js @@ -2569,8 +2569,8 @@ var theme = { /* harmony default export */ var antd_theme = (theme); // EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/locale/zh-cn.js var zh_cn = __webpack_require__(46789); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); ;// CONCATENATED MODULE: ./src/layouts/index.tsx diff --git a/p__Classrooms__Lists__Attachment__index.async.js b/p__Classrooms__Lists__Attachment__index.async.js index 39ee83c4c9..d27f58f651 100644 --- a/p__Classrooms__Lists__Attachment__index.async.js +++ b/p__Classrooms__Lists__Attachment__index.async.js @@ -351,6 +351,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__ClassSchedule__index.async.js b/p__Classrooms__Lists__ClassSchedule__index.async.js deleted file mode 100644 index 2bde5f2ff8..0000000000 --- a/p__Classrooms__Lists__ClassSchedule__index.async.js +++ /dev/null @@ -1,876 +0,0 @@ -(self["webpackChunk"] = self["webpackChunk"] || []).push([[4222],{ - -/***/ 73208: -/*!*****************************************!*\ - !*** ./src/components/NoData/index.tsx ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801); -/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301); -/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 93314); -/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 3113); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ 37712); - - - - - - -var noData = function noData(_ref) { - var img = _ref.img, - _ref$buttonProps = _ref.buttonProps, - buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps, - _ref$styles = _ref.styles, - styles = _ref$styles === void 0 ? {} : _ref$styles, - customText = _ref.customText, - ButtonText = _ref.ButtonText, - ButtonClick = _ref.ButtonClick, - Buttonclass = _ref.Buttonclass, - ButtonTwo = _ref.ButtonTwo, - imgStyles = _ref.imgStyles, - _ref$loading = _ref.loading, - loading = _ref$loading === void 0 ? false : _ref$loading; - return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("section", { - className: "tc animated fadeIn", - style: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, { - color: '#999', - margin: '100px auto', - visibility: loading ? 'hidden' : 'visible' - }), styles), - children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("img", { - src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__, - style: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, imgStyles) - }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", { - className: "mt20 font14", - children: customText || '暂时还没有相关数据哦!' - }), ButtonText && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(antd__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({ - className: Buttonclass, - onClick: ButtonClick - }, buttonProps), {}, { - children: ButtonText - })), ButtonTwo && ButtonTwo] - }); -}; -/* harmony default export */ __webpack_exports__.Z = (noData); - -/***/ }), - -/***/ 25744: -/*!************************************************************************!*\ - !*** ./src/pages/Classrooms/Lists/ClassSchedule/index.tsx + 5 modules ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": function() { return /* binding */ Lists_ClassSchedule; } -}); - -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js -var regeneratorRuntime = __webpack_require__(10574); -var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js -var asyncToGenerator = __webpack_require__(39343); -var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js -var objectSpread2 = __webpack_require__(26801); -var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js -var slicedToArray = __webpack_require__(11006); -var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js -var createForOfIteratorHelper = __webpack_require__(98190); -var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper); -// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js -var _react_17_0_2_react = __webpack_require__(59301); -;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ClassSchedule/index.less?modules -// extracted by mini-css-extract-plugin -/* harmony default export */ var ClassSchedulemodules = ({"classScheduleWrapper":"classScheduleWrapper___zK4GR","header":"header___niMQm","classScheduleIcon":"classScheduleIcon___DyLft","title":"title___XeHJn","weekChanger":"weekChanger___gByUn","weeksWrapper":"weeksWrapper___JqPoK","week":"week___c0ThN","uploadBtn":"uploadBtn___niqVV","tableWrapper":"tableWrapper___zGWB0","blueCell":"blueCell___TK1k_","importTemplate":"importTemplate___U0zq1"}); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js -var row = __webpack_require__(95237); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js -var col = __webpack_require__(43604); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules -var table = __webpack_require__(72315); -;// CONCATENATED MODULE: ./src/assets/images/classrooms/upload.png -var upload_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAAXNSR0IArs4c6QAAAMNQTFRFAAAAVar/JG3/IGD/Gmb/Kmr/IGD/F2j/FmT/HF7/G2T/GV3/GWP/GGD/HGD/F2D/GmH/GF7/F2H/GV//GV3/GF//FmD/Fl7/F2D/GF//F17/Fl3/F1//F17/F13/F1//Fl7/Fl7/F17/F17/Fl7/F17/F13/F17/F17/F13/F17/F17/F17/F17/Fl3/F17/F13/Fl3/Fl3/F13/F17/Fl7/F13/F17/F13/F13/Fl7/F17/Fl7/Fl3/Fl3/Fl7/Fl3/3ZclpQAAAEB0Uk5TAAMHCAoMEBYXGxweHyAlLTpBQkZHS1BRWF5kaG5vcHFyf5KToKOnqbC6u8fJy9DR1djb3eHn6err7vL4+vv8/WpW2McAAACaSURBVCjPzc9HFoJQEETRxpyzGFAxB8wZFaT2vyrBIx+Edu4b1p10E3kNS8Sm4pzm9roFrCLhvXiH3Ti0p06YYL1HN7BHl5hnoRVuZvkbptjGM9CoYup5/z7AJUcOkIJNzNubeNgvvIFGmIld2qFFLkgLyEKSCgmgRCd48QfcGlUOajI9DxwcjX8Bfw5c20y6DWAzSO2z9ehXL7C6I43oPzjHAAAAAElFTkSuQmCC"; -;// CONCATENATED MODULE: ./src/assets/images/classrooms/class-schedule.png -var class_schedule_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAMAAACBKikvAAAAAXNSR0IArs4c6QAAAbBQTFRFAAAA/39//7+//7+f/4lO/8Gb/7+X9ItT/7uX/72Z7ohM/7uZ/7uW/72W/72X8YJR/7yW/7yX/7yW/7yX8oBL8YBL/7uW/7yX/7yW8H1I/7uW8H1I8X1I/7yX/7uX8XtF/7yX/7yX8nlE/baQ83pE/7uX9XlB/rqT/7yW9XhB9XdB/7uW9ndB7nZA9ndA9ndA9ndB6XY/93dB+YpX+o5c93hC+XdC+XhB+5xv/KBz+3hC/HdC/XlD/nlD/npEz1oaz1ob0Fsb0V0f02Ai1GIl1WYp12kt2W0y4GUq4H1F5mov5odT6Gsy6Wsx65Ji7G018Jxv9HQ89aV596l/+HY++a2E+rCI/LSN/3pF/3tG/3xH/3xI/31J/35K/39M/4BN/4FN/4FO/4NQ/4NR/4RR/4RS/4VS/4hV/4hX/4lY/4ta/4tb/41b/41c/41d/45e/45f/49f/49g/5Bg/5hr/5pt/5tv/5xw/51w/6B0/6F1/6F3/6J3/6N4/6R6/6V7/6d9/6h//6uC/6uD/6yD/62E/66G/6+H/7GJ/7GK/7eQ/7eR/7iS/7mT/7mU/7uWXxFHgAAAAD90Uk5TAAQECA0pLC4xMjw8RElRWIGJjZWZo6q2u8DDxs7Y2tvc5OXl5unz8/P2+Pj5+vr7+/z8/Pz9/f39/f7+/v7+uO9PswAAAWVJREFUOMvdlFVTw0AUhbe4u7sWt0Jxd3dJgUKLtbhT3L2U85dpkm23M2xThhdm+F5yz+TbZO7JTAhhBGYkeLHknZTqS/hEAcEshQIRbsRoIISlMCDyt2JsTqlGpA6o1DipAmqloTgrRtKCCgTKGbAhONkHTh2z2p8QVZngWRQKCUkR3Ih7gIWlRKJ1fYZ1nqUFG7ZYKidNLAhLepcg6I0uoYEIP6Pxv4prd0+70jC3SjHyxRfg0yAesMLBJVf8sN8x2a8HTg+vXPEEuNeJbz66plyY+cuYNnV/VM/K7cOOXM8yxcAXnwHbonjg3bn1uWI9h6yeN65oAR7FtWePbyhX6/xlzNvf6hnr75WpUN56qIXSl6coTrZSbwD5iuKIrLUNw4M4KHntoxDFZk9ixzgkscaD2DkBWUxXFrum5OpziY9WSeyept8onpBwjXuxZ4Z6RQH2H6QqWV1dz6UkO1MiLc6PfAEryd/b30M/FgAAAABJRU5ErkJggg=="; -// EXTERNAL MODULE: ./src/utils/authority.ts -var authority = __webpack_require__(13186); -// EXTERNAL MODULE: ./src/components/NoData/index.tsx -var NoData = __webpack_require__(73208); -// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js -var dayjs_min = __webpack_require__(9498); -var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/typography/index.js + 18 modules -var typography = __webpack_require__(53877); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules -var message = __webpack_require__(8591); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules -var modal = __webpack_require__(43418); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules -var upload = __webpack_require__(6557); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js -var es_button = __webpack_require__(3113); -// EXTERNAL MODULE: ./src/utils/fetch.ts -var fetch = __webpack_require__(91506); -// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules -var env = __webpack_require__(78130); -// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js -var jsx_runtime = __webpack_require__(37712); -;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ClassSchedule/UploadSchedule.tsx - - - - - - - - - - - -var Text = typography/* default */.Z.Text; -var UploadSchdule = function UploadSchdule(_ref) { - var modalVisible = _ref.modalVisible, - setModalVisible = _ref.setModalVisible, - getData = _ref.getData, - courseId = _ref.courseId, - setErrorData = _ref.setErrorData, - setResModalVisible = _ref.setResModalVisible; - var _useState = (0,_react_17_0_2_react.useState)([]), - _useState2 = slicedToArray_default()(_useState, 2), - fileList = _useState2[0], - setFileList = _useState2[1]; - var _useState3 = (0,_react_17_0_2_react.useState)(''), - _useState4 = slicedToArray_default()(_useState3, 2), - startTime = _useState4[0], - setStartTime = _useState4[1]; - var _useState5 = (0,_react_17_0_2_react.useState)(false), - _useState6 = slicedToArray_default()(_useState5, 2), - okBtnLoading = _useState6[0], - setOkBtnLoading = _useState6[1]; - var reset = function reset() { - setFileList([]); - setStartTime(''); - }; - var handleOk = /*#__PURE__*/function () { - var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { - var formData, res, downloadDate; - return regeneratorRuntime_default()().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - formData = new FormData(); - formData.append('file', fileList[0]); - // formData.append('start_time', startTime); - // if (!startTime.length) { - // message.warn('请输入本学期开始时间'); - // return; - // } - if (!((fileList === null || fileList === void 0 ? void 0 : fileList.length) === 0)) { - _context.next = 5; - break; - } - message/* default */.ZP.info('请上传文件'); - return _context.abrupt("return"); - case 5: - setOkBtnLoading(true); - _context.next = 8; - return (0,fetch/* default */.ZP)("/api/courses/".concat(courseId, "/course_schedules.json"), { - method: 'post', - params: { - course_id: courseId - }, - body: formData - }, true); - case 8: - res = _context.sent; - // uploadCourseList(formData); - setOkBtnLoading(false); - if (res.status === 0) { - message/* default */.ZP.success("上传成功!"); - downloadDate = { - total: (res === null || res === void 0 ? void 0 : res.count) || 0, - success_count: (res === null || res === void 0 ? void 0 : res.success_count) || 0, - error_count: (res === null || res === void 0 ? void 0 : res.error_count) || 0, - error_list: (res === null || res === void 0 ? void 0 : res.error_list) || [] - }; - setErrorData(downloadDate); - setResModalVisible(true); - getData(); - setModalVisible(false); - reset(); - } - case 11: - case "end": - return _context.stop(); - } - }, _callee); - })); - return function handleOk() { - return _ref2.apply(this, arguments); - }; - }(); - var uploadProps = { - accept: '.xlsx', - fileList: fileList, - beforeUpload: function beforeUpload(file) { - setFileList([file]); - return false; - }, - onRemove: function onRemove(file) { - setFileList([]); - } - }; - return /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, { - centered: true, - title: "\u4E0A\u4F20\u8BFE\u8868", - okText: "\u786E\u8BA4\u4E0A\u4F20", - cancelText: "\u53D6\u6D88", - visible: modalVisible, - onOk: handleOk, - confirmLoading: okBtnLoading, - onCancel: function onCancel() { - reset(); - setModalVisible(false); - }, - children: [/*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, { - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { - style: { - marginBottom: 12 - }, - children: "\u9009\u62E9\u6587\u4EF6" - }) - })), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, { - children: ["1\u3001\u4EC5\u652F\u6301\u6309\u7167\u6307\u5B9A\u683C\u5F0F\u4E0A\u4F20\u8BFE\u8868\u3002", /*#__PURE__*/(0,jsx_runtime.jsx)("a", { - className: ClassSchedulemodules.importTemplate, - href: env/* default */.Z.API_SERVER + "/api/courses/".concat(courseId, "/course_schedules/download_course_schedoule.json"), - children: "\u8BFE\u8868\u6A21\u7248" - })] - }), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, { - children: ["2\u3001\u4E0A\u4F20\u91CD\u590D\u65F6\u95F4\u7684\u8BFE\u8868\u6570\u636E\uFF0C\u5C06\u8986\u76D6\u5F53\u524D\u8BFE\u8868\u4E2D\u7684\u6570\u636E\uFF0C", /*#__PURE__*/(0,jsx_runtime.jsx)(Text, { - type: "danger", - children: "\u8BF7\u52A1\u5FC5\u8C28\u614E\u64CD\u4F5C\u3002" - })] - })] - }); -}; -/* harmony default export */ var UploadSchedule = (UploadSchdule); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js -var defineProperty = __webpack_require__(22060); -var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty); -// EXTERNAL MODULE: ./node_modules/_xlsx@0.18.5@xlsx/xlsx.mjs -var xlsx = __webpack_require__(60015); -;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ClassSchedule/DownloadSchedule.tsx - - - - - - - - - -var DownloadSchedule_Text = typography/* default */.Z.Text; -var transJSONToExcel = { - name: '课程名称', - date: '日期', - section: '节次' -}; -var DownloadSchdule = function DownloadSchdule(_ref) { - var modalVisible = _ref.modalVisible, - setModalVisible = _ref.setModalVisible, - getData = _ref.getData, - downloadCount = _ref.downloadCount; - // const [fileList, setFileList] = useState([]); - // const [startTime, setStartTime] = useState(''); - var _useState = (0,_react_17_0_2_react.useState)(false), - _useState2 = slicedToArray_default()(_useState, 2), - okBtnLoading = _useState2[0], - setOkBtnLoading = _useState2[1]; - var handleOk = /*#__PURE__*/function () { - var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { - var _downloadCount$error_; - var excelData, xlsxObj; - return regeneratorRuntime_default()().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - setModalVisible(false); - excelData = downloadCount === null || downloadCount === void 0 || (_downloadCount$error_ = downloadCount.error_list) === null || _downloadCount$error_ === void 0 ? void 0 : _downloadCount$error_.map(function (item) { - var tempItem = []; - Object.keys(item).forEach(function (jtem) { - tempItem[transJSONToExcel[jtem]] = item[jtem]; - }); - return tempItem; - }); - xlsxObj = { - SheetNames: ['sheet1'], - Sheets: defineProperty_default()({}, 'sheet1', xlsx/* utils */.P6.json_to_sheet(excelData)) - }; - xlsx/* writeFile */.NC(xlsxObj, '失败数据.xlsx'); - // setOkBtnLoading(true); - // const res = await uploadCourseList(formData); - // setOkBtnLoading(false); - // if (res.status === 0) { - // message.success(res.message); - // getData(); - // setModalVisible(false); - // reset(); - // } - case 4: - case "end": - return _context.stop(); - } - }, _callee); - })); - return function handleOk() { - return _ref2.apply(this, arguments); - }; - }(); - return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { - centered: true, - title: "\u4E0A\u4F20\u7ED3\u679C", - okText: "\u4E0B\u8F7D\u5931\u8D25\u6570\u636E", - visible: modalVisible, - onOk: handleOk, - cancelButtonProps: { - style: { - display: "none" - } - }, - okButtonProps: { - style: { - display: (downloadCount === null || downloadCount === void 0 ? void 0 : downloadCount.error_count) > 0 ? "inline-block" : "none" - } - }, - confirmLoading: okBtnLoading, - onCancel: function onCancel() { - setModalVisible(false); - }, - children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: ["\u6587\u4EF6\u4E2D\u5171", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { - style: { - color: "blue" - }, - children: [" ", downloadCount === null || downloadCount === void 0 ? void 0 : downloadCount.total, " "] - }), "\u6761\u6570\u636E\uFF0C\u4E0A\u4F20\u6210\u529F", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { - style: { - color: "green" - }, - children: [" ", downloadCount === null || downloadCount === void 0 ? void 0 : downloadCount.success_count, " "] - }), "\u6761\uFF0C\u5931\u8D25", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { - style: { - color: "red" - }, - children: [" ", downloadCount === null || downloadCount === void 0 ? void 0 : downloadCount.error_count, " "] - }), "\u6761"] - }) - }); -}; -/* harmony default export */ var DownloadSchedule = (DownloadSchdule); -// EXTERNAL MODULE: ./src/.umi-production/exports.ts -var _umi_production_exports = __webpack_require__(45295); -;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ClassSchedule/index.tsx - - - - - - - - - - -// import ENV from '@/utils/env'; - - - - - - - - - -var dataMap = { - 'first_section': '1-2节', - "second_section": '3-4节', - "third_section": '5-6节', - "fourth_section": '7-8节', - "fifth_section": '9-10节', - 1: 'Monday', - 2: 'Tuesday', - 3: 'Wednesday', - 4: 'Thursday', - 5: 'Friday', - 6: 'Saturday', - 7: 'Sunday' -}; -var typeIndexEnum = /*#__PURE__*/function (typeIndexEnum) { - typeIndexEnum[typeIndexEnum["first_section"] = 0] = "first_section"; - typeIndexEnum[typeIndexEnum["second_section"] = 1] = "second_section"; - typeIndexEnum[typeIndexEnum["third_section"] = 2] = "third_section"; - typeIndexEnum[typeIndexEnum["fourth_section"] = 3] = "fourth_section"; - typeIndexEnum[typeIndexEnum["fifth_section"] = 4] = "fifth_section"; - return typeIndexEnum; -}(typeIndexEnum || {}); -var weekEnum = /*#__PURE__*/function (weekEnum) { - weekEnum[weekEnum["Sunday"] = 0] = "Sunday"; - weekEnum[weekEnum["Monday"] = 1] = "Monday"; - weekEnum[weekEnum["Tuesday"] = 2] = "Tuesday"; - weekEnum[weekEnum["Wednesday"] = 3] = "Wednesday"; - weekEnum[weekEnum["Thursday"] = 4] = "Thursday"; - weekEnum[weekEnum["Friday"] = 5] = "Friday"; - weekEnum[weekEnum["Saturday"] = 6] = "Saturday"; - return weekEnum; -}(weekEnum || {}); -//后端给的和antdTable差别太大。。。 -var transformResToTableData = function transformResToTableData(res) { - var base = Array.from({ - length: 5 - }, function (v, i) { - return { - courseIndex: typeIndexEnum[i], - Monday: [], - Tuesday: [], - Wednesday: [], - Thursday: [], - Friday: [], - Saturday: [], - Sunday: [] - }; - }); - var _iterator = createForOfIteratorHelper_default()(res), - _step; - try { - var _loop = function _loop() { - var courseItem = _step.value; - var week = courseItem.week, - sections = courseItem.sections; - sections.map(function (item, index) { - base[typeIndexEnum[item.type]][week] = item.name; - }); - }; - for (_iterator.s(); !(_step = _iterator.n()).done;) { - _loop(); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - return base; -}; -var ClassSchedule = function ClassSchedule() { - var _currentDate$date, _currentDate$date2; - var _useState = (0,_react_17_0_2_react.useState)(false), - _useState2 = slicedToArray_default()(_useState, 2), - upLoadModalVisible = _useState2[0], - setUpLoadModalVisible = _useState2[1]; - var _useState3 = (0,_react_17_0_2_react.useState)(false), - _useState4 = slicedToArray_default()(_useState3, 2), - downLoadModalVisible = _useState4[0], - setDownLoadModalVisible = _useState4[1]; - var _useState5 = (0,_react_17_0_2_react.useState)([]), - _useState6 = slicedToArray_default()(_useState5, 2), - tableData = _useState6[0], - setTableData = _useState6[1]; - var _useState7 = (0,_react_17_0_2_react.useState)(false), - _useState8 = slicedToArray_default()(_useState7, 2), - tableLoading = _useState8[0], - setTableLoading = _useState8[1]; - var _useState9 = (0,_react_17_0_2_react.useState)(false), - _useState10 = slicedToArray_default()(_useState9, 2), - noDataFlag = _useState10[0], - setNoDataFlag = _useState10[1]; - var _useState11 = (0,_react_17_0_2_react.useState)({ - date: { - start_time: "".concat(dayjs_min_default()().subtract(new Date().getDay(), 'days').format('YYYY-MM-DD')), - end_time: "".concat(dayjs_min_default()().weekday(6).format('YYYY-MM-DD')) - } - }), - _useState12 = slicedToArray_default()(_useState11, 2), - currentDate = _useState12[0], - setCurrentDate = _useState12[1]; - var _useState13 = (0,_react_17_0_2_react.useState)(true), - _useState14 = slicedToArray_default()(_useState13, 2), - isOpen = _useState14[0], - setIsOpen = _useState14[1]; - var _useState15 = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())), - _useState16 = slicedToArray_default()(_useState15, 1), - params = _useState16[0]; - params["coursesId"] = params["coursesId"]; - var _useState17 = (0,_react_17_0_2_react.useState)({}), - _useState18 = slicedToArray_default()(_useState17, 2), - errData = _useState18[0], - setErrDate = _useState18[1]; - var _useState19 = (0,_react_17_0_2_react.useState)([]), - _useState20 = slicedToArray_default()(_useState19, 2), - columnTitle = _useState20[0], - setColumnTitle = _useState20[1]; - var columns = [{ - title: '', - dataIndex: 'courseIndex', - className: ClassSchedulemodules.blueCell, - align: 'center', - width: '9%', - render: function render(value) { - return dataMap[value]; - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u65E5" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[0] - })] - }); - }, - dataIndex: 'Sunday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u4E00" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[1] - })] - }); - }, - dataIndex: 'Monday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u4E8C" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[2] - })] - }); - }, - dataIndex: 'Tuesday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u4E09" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[3] - })] - }); - }, - dataIndex: 'Wednesday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u56DB" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[4] - })] - }); - }, - dataIndex: 'Thursday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u4E94" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[5] - })] - }); - }, - dataIndex: 'Friday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }, { - title: function title() { - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: "\u5468\u516D" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - children: columnTitle === null || columnTitle === void 0 ? void 0 : columnTitle[6] - })] - }); - }, - dataIndex: 'Saturday', - align: 'center', - width: '13%', - render: function render(value) { - return value.map(function (courseName, index) { - return /*#__PURE__*/(0,jsx_runtime.jsx)("p", { - children: courseName - }, index); - }); - } - }]; - var getData = /*#__PURE__*/function () { - var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(date) { - var weekData, res, _ref2, list, dateColumn; - return regeneratorRuntime_default()().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - setTableLoading(true); - weekData = date ? date : { - start_time: currentDate.date.start_time, - end_time: currentDate.date.end_time - }; - _context.next = 4; - return (0,fetch/* default */.ZP)("/api/courses/".concat(params.coursesId, "/course_schedules.json"), { - method: 'Get', - params: weekData - }); - case 4: - res = _context.sent; - // getCourseSchedules(params); - setTableLoading(false); - if (res.status == 0) { - _ref2 = res || {}, list = _ref2.list; - dateColumn = []; - list === null || list === void 0 || list.map(function (item) { - dateColumn[weekEnum[item.week]] = item === null || item === void 0 ? void 0 : item.name; - }); - setColumnTitle(dateColumn); - setTableData(transformResToTableData(list || [])); - setNoDataFlag(false); - } - return _context.abrupt("return", res); - case 8: - case "end": - return _context.stop(); - } - }, _callee); - })); - return function getData(_x) { - return _ref.apply(this, arguments); - }; - }(); - (0,_react_17_0_2_react.useEffect)(function () { - getData().then(function (res) { - // if ('status' in res) { - // return; - // } - // if (res?.not_data || !res.week) { - // setNoDataFlag(true); - // } - }); - }, []); - var toNextWeek = /*#__PURE__*/function () { - var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { - var startTime, endTime; - return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - startTime = dayjs_min_default()(currentDate === null || currentDate === void 0 ? void 0 : currentDate.date.start_time, 'YYYY-MM-DD').add(7, 'days').format('YYYY-MM-DD'); - endTime = dayjs_min_default()(currentDate === null || currentDate === void 0 ? void 0 : currentDate.date.end_time, 'YYYY-MM-DD').add(7, 'days').format('YYYY-MM-DD'); - setCurrentDate(function (prevDate) { - return { - date: { - start_time: startTime, - end_time: endTime - } - }; - }); - _context2.next = 5; - return getData({ - start_time: startTime, - end_time: endTime - }); - case 5: - case "end": - return _context2.stop(); - } - }, _callee2); - })); - return function toNextWeek() { - return _ref3.apply(this, arguments); - }; - }(); - var toPrevWeek = /*#__PURE__*/function () { - var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { - var startTime, endTime; - return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - startTime = dayjs_min_default()(currentDate === null || currentDate === void 0 ? void 0 : currentDate.date.start_time, 'YYYY-MM-DD').subtract(7, 'days').format('YYYY-MM-DD'); - endTime = dayjs_min_default()(currentDate === null || currentDate === void 0 ? void 0 : currentDate.date.end_time, 'YYYY-MM-DD').subtract(7, 'days').format('YYYY-MM-DD'); - setCurrentDate(function (prevDate) { - return { - date: { - start_time: startTime, - end_time: endTime - } - }; - }); - _context3.next = 5; - return getData({ - start_time: startTime, - end_time: endTime - }); - case 5: - case "end": - return _context3.stop(); - } - }, _callee3); - })); - return function toPrevWeek() { - return _ref4.apply(this, arguments); - }; - }(); - return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - className: ClassSchedulemodules.classScheduleWrapper, - style: { - paddingBottom: "30px" - }, - children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, { - justify: "space-between", - className: ClassSchedulemodules.header, - align: "middle", - children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, { - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { - src: class_schedule_namespaceObject, - alt: "", - className: ClassSchedulemodules.classScheduleIcon - }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - className: ClassSchedulemodules.title, - children: "\u8BFE\u5802\u65E5\u5386" - })] - }), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, { - children: /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, { - align: "middle", - children: (0,authority/* isAdminOrCreator */.aN)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - className: ClassSchedulemodules.uploadBtn, - onClick: function onClick() { - return setUpLoadModalVisible(true); - }, - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { - src: upload_namespaceObject, - alt: "" - }), "\u4E0A\u4F20\u8BFE\u8868"] - }) - }) - })] - }), !noDataFlag && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { - className: ClassSchedulemodules.weekChanger, - children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { - onClick: toPrevWeek, - children: "\u4E0A\u4E00\u5468" - }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - className: ClassSchedulemodules.weeksWrapper, - children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { - className: ClassSchedulemodules.week, - children: "(".concat(currentDate === null || currentDate === void 0 || (_currentDate$date = currentDate.date) === null || _currentDate$date === void 0 ? void 0 : _currentDate$date.start_time, "\u81F3").concat(currentDate === null || currentDate === void 0 || (_currentDate$date2 = currentDate.date) === null || _currentDate$date2 === void 0 ? void 0 : _currentDate$date2.end_time, ")") - }) - }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - onClick: toNextWeek, - children: "\u4E0B\u4E00\u5468" - })] - }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - style: { - display: isOpen ? 'block' : 'none', - transition: '.3s' - }, - children: noDataFlag ? /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, { - styles: { - height: 100 - } - }) : /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { - columns: columns, - className: ClassSchedulemodules.tableWrapper, - rowKey: "courseIndex", - bordered: true, - dataSource: tableData, - pagination: false, - loading: tableLoading - }) - }), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadSchedule, { - modalVisible: upLoadModalVisible, - setModalVisible: setUpLoadModalVisible, - getData: getData, - courseId: params.coursesId, - setErrorData: setErrDate, - setResModalVisible: setDownLoadModalVisible - }), /*#__PURE__*/(0,jsx_runtime.jsx)(DownloadSchedule, { - modalVisible: downLoadModalVisible, - setModalVisible: setDownLoadModalVisible, - getData: getData, - downloadCount: errData - })] - }); -}; -/* harmony default export */ var Lists_ClassSchedule = (ClassSchedule); - -/***/ }), - -/***/ 18953: -/*!************************!*\ - !*** buffer (ignored) ***! - \************************/ -/***/ (function() { - -/* (ignored) */ - -/***/ }) - -}]); \ No newline at end of file diff --git a/p__Classrooms__Lists__ClassSchedule__index.chunk.css b/p__Classrooms__Lists__ClassSchedule__index.chunk.css deleted file mode 100644 index 39fcf6ae0e..0000000000 --- a/p__Classrooms__Lists__ClassSchedule__index.chunk.css +++ /dev/null @@ -1,88 +0,0 @@ -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/_css-loader@6.7.1@css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[0].use[1]!./node_modules/_@umijs_bundler-webpack@4.0.89@@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[5].oneOf[0].use[2]!./node_modules/_@umijs_bundler-webpack@4.0.89@@umijs/bundler-webpack/compiled/less-loader/index.js??ruleSet[1].rules[5].oneOf[0].use[3]!./src/pages/Classrooms/Lists/ClassSchedule/index.less?modules ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -.classScheduleWrapper___zK4GR { - max-width: 1200px; - margin: 0 auto 20px; - background: #ffffff; - box-shadow: 0px 2px 10px 0px #e8f3ff; - border-radius: 8px; - padding: 20px 20px 35px 20px; -} -.classScheduleWrapper___zK4GR .header___niMQm { - margin-bottom: 20px; -} -.classScheduleWrapper___zK4GR .classScheduleIcon___DyLft { - height: 22px; -} -.classScheduleWrapper___zK4GR .title___XeHJn { - font-size: 18px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - -webkit-background-clip: text; - background-clip: text; - margin-left: 4px; - margin-right: 10px; -} -.classScheduleWrapper___zK4GR .weekChanger___gByUn { - display: flex; - justify-content: space-between; - margin-bottom: 20px; -} -.classScheduleWrapper___zK4GR .weekChanger___gByUn div { - cursor: pointer; - font-size: 14px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - color: #464f66; -} -.classScheduleWrapper___zK4GR .weekChanger___gByUn .weeksWrapper___JqPoK { - margin: 0 10px; -} -.classScheduleWrapper___zK4GR .weekChanger___gByUn .week___c0ThN { - font-weight: 400; - color: #165dff; - cursor: auto; -} -.classScheduleWrapper___zK4GR .uploadBtn___niqVV { - display: flex; - align-items: center; - background: #e3effc; - border: 1px solid #b5d7ff; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #165dff; - padding: 5px 8px; - cursor: pointer; -} -.classScheduleWrapper___zK4GR .uploadBtn___niqVV img { - height: 12px; - margin-right: 4px; -} -.tableWrapper___zGWB0 thead th { - background-color: #e8f3ff; - font-size: 14px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #445d98; -} -.tableWrapper___zGWB0 .blueCell___TK1k_ { - background-color: #e8f3ff; - font-size: 14px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #445d98; - border-bottom: 1px solid #e9e9e9; -} -.tableWrapper___zGWB0 th[class~='ant-table-cell'], -.tableWrapper___zGWB0 td[class~='ant-table-cell'] { - border-right: 1px solid #e9e9e9 !important; -} -.importTemplate___U0zq1 { - display: flex; - align-items: center; - color: #0152d9; - cursor: pointer; -} - diff --git a/p__Classrooms__Lists__CommonHomework__Comment__index.async.js b/p__Classrooms__Lists__CommonHomework__Comment__index.async.js index 722d3b3688..59115a26fc 100644 --- a/p__Classrooms__Lists__CommonHomework__Comment__index.async.js +++ b/p__Classrooms__Lists__CommonHomework__Comment__index.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__CommonHomework__Detail__index.async.js b/p__Classrooms__Lists__CommonHomework__Detail__index.async.js index 0799713b29..96a4f65f6b 100644 --- a/p__Classrooms__Lists__CommonHomework__Detail__index.async.js +++ b/p__Classrooms__Lists__CommonHomework__Detail__index.async.js @@ -1530,6 +1530,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__Exercise__Add__index.async.js b/p__Classrooms__Lists__Exercise__Add__index.async.js index 5aac4b195a..c4d25fdb59 100644 --- a/p__Classrooms__Lists__Exercise__Add__index.async.js +++ b/p__Classrooms__Lists__Exercise__Add__index.async.js @@ -473,6 +473,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__Exercise__Answer__index.async.js b/p__Classrooms__Lists__Exercise__Answer__index.async.js index 6d66cdaf24..9fabce94e5 100644 --- a/p__Classrooms__Lists__Exercise__Answer__index.async.js +++ b/p__Classrooms__Lists__Exercise__Answer__index.async.js @@ -448,6 +448,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__Exercise__CodeDetails__index.async.js b/p__Classrooms__Lists__Exercise__CodeDetails__index.async.js index a6c61cba09..51fe6e80d8 100644 --- a/p__Classrooms__Lists__Exercise__CodeDetails__index.async.js +++ b/p__Classrooms__Lists__Exercise__CodeDetails__index.async.js @@ -821,7 +821,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Classrooms__Lists__Exercise__Detail__index.async.js b/p__Classrooms__Lists__Exercise__Detail__index.async.js index 6f548f9b37..bbfe92a7db 100644 --- a/p__Classrooms__Lists__Exercise__Detail__index.async.js +++ b/p__Classrooms__Lists__Exercise__Detail__index.async.js @@ -585,6 +585,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__Exercise__ImitateAnswer__index.async.js b/p__Classrooms__Lists__Exercise__ImitateAnswer__index.async.js index defe935b62..fcba3729af 100644 --- a/p__Classrooms__Lists__Exercise__ImitateAnswer__index.async.js +++ b/p__Classrooms__Lists__Exercise__ImitateAnswer__index.async.js @@ -338,6 +338,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__GroupHomework__Detail__index.async.js b/p__Classrooms__Lists__GroupHomework__Detail__index.async.js index 944c37d3e9..705bb9bfd0 100644 --- a/p__Classrooms__Lists__GroupHomework__Detail__index.async.js +++ b/p__Classrooms__Lists__GroupHomework__Detail__index.async.js @@ -1495,6 +1495,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__ProgramHomework__Comment__index.async.js b/p__Classrooms__Lists__ProgramHomework__Comment__index.async.js index 4f66e20ee5..4a584e4435 100644 --- a/p__Classrooms__Lists__ProgramHomework__Comment__index.async.js +++ b/p__Classrooms__Lists__ProgramHomework__Comment__index.async.js @@ -310,6 +310,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__ProgramHomework__Detail__index.async.js b/p__Classrooms__Lists__ProgramHomework__Detail__index.async.js index ad281576e5..b2d223facd 100644 --- a/p__Classrooms__Lists__ProgramHomework__Detail__index.async.js +++ b/p__Classrooms__Lists__ProgramHomework__Detail__index.async.js @@ -338,6 +338,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__ShixunHomeworks__Comment__index.async.js b/p__Classrooms__Lists__ShixunHomeworks__Comment__index.async.js index 4a9eb29e0b..65a0b14094 100644 --- a/p__Classrooms__Lists__ShixunHomeworks__Comment__index.async.js +++ b/p__Classrooms__Lists__ShixunHomeworks__Comment__index.async.js @@ -563,6 +563,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Classrooms__Lists__ShixunHomeworks__Detail__index.async.js b/p__Classrooms__Lists__ShixunHomeworks__Detail__index.async.js index edc6a9eb78..e2878416f0 100644 --- a/p__Classrooms__Lists__ShixunHomeworks__Detail__index.async.js +++ b/p__Classrooms__Lists__ShixunHomeworks__Detail__index.async.js @@ -1497,6 +1497,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); @@ -4678,6 +4679,8 @@ var menu = __webpack_require__(20834); var es_checkbox = __webpack_require__(24905); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules var dropdown = __webpack_require__(38854); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules +var es_switch = __webpack_require__(78673); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules var es_radio = __webpack_require__(5112); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules @@ -4892,7 +4895,7 @@ var QuickComment_DelShixun = function DelShixun(_ref) { })(QuickComment_DelShixun)); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/WorkList/index.less?modules // extracted by mini-css-extract-plugin -/* harmony default export */ var WorkListmodules = ({"wrap":"wrap___kCwPu","maxWidth70":"maxWidth70___u0Fnw","maxWidth80":"maxWidth80___B8pkG","maxWidth100":"maxWidth100___jQ_W6","maxWidth110":"maxWidth110___t9GZl","maxWidth120":"maxWidth120___tvrlz","reviewStatusTooltip":"reviewStatusTooltip___nCQT1","color32C":"color32C___KnLuR","MdEditor":"MdEditor___IcZwd","tr1":"tr1___k3Rcs","scroll":"scroll___TVUAz"}); +/* harmony default export */ var WorkListmodules = ({"wrap":"wrap___kCwPu","refresh":"refresh___dkiX_","maxWidth70":"maxWidth70___u0Fnw","maxWidth80":"maxWidth80___B8pkG","maxWidth100":"maxWidth100___jQ_W6","maxWidth110":"maxWidth110___t9GZl","maxWidth120":"maxWidth120___tvrlz","reviewStatusTooltip":"reviewStatusTooltip___nCQT1","color32C":"color32C___KnLuR","MdEditor":"MdEditor___IcZwd","tr1":"tr1___k3Rcs","scroll":"scroll___TVUAz"}); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/WorkList/components/ChangeCommit.tsx @@ -5227,10 +5230,11 @@ var utils_export = __webpack_require__(39384); + var WorkList = function WorkList(_ref) { - var _workList$homework_st2, _workList$homework_st3, _workList$left_time, _workList$left_time2, _ref6, _workList$task_status, _workList$course_grou, _workList$course_grou2, _workList$teacher_com, _workList$homework_st4, _globalSetting$settin, _workList$homework_st5, _workList$homework_st6, _workList$homework_st7, _workList$task_status2, _workList$task_status3; + var _workList$homework_st2, _workList$homework_st3, _workList$left_time, _workList$left_time2, _ref6, _workList$task_status, _workList$course_grou, _workList$course_grou2, _workList$teacher_com, _workList$homework_st4, _globalSetting$settin, _workList$homework_st5, _workList$homework_st6, _workList$homework_st7, _shixunHomeworks$work2, _shixunHomeworks$work3, _shixunHomeworks$work4, _workList$task_status2, _workList$task_status3, _shixunHomeworks$shix; var shixunHomeworks = _ref.shixunHomeworks, loading = _ref.loading, dispatch = _ref.dispatch, @@ -5307,26 +5311,32 @@ var WorkList = function WorkList(_ref) { _useState30 = slicedToArray_default()(_useState29, 2), showopen = _useState30[0], setshowopen = _useState30[1]; - // 获取wokelist数组: - var _useState31 = (0,_react_17_0_2_react.useState)([]), + var _useState31 = (0,_react_17_0_2_react.useState)(false), _useState32 = slicedToArray_default()(_useState31, 2), - newList = _useState32[0], - setnewList = _useState32[1]; - // 一键打回的班级数组: + isSimpleList = _useState32[0], + setIssimpleList = _useState32[1]; + var timeRefershRef = (0,_react_17_0_2_react.useRef)(); + // 获取wokelist数组: var _useState33 = (0,_react_17_0_2_react.useState)([]), _useState34 = slicedToArray_default()(_useState33, 2), - groupList = _useState34[0], - setgroupList = _useState34[1]; - // 选中打回班级的个数: - var _useState35 = (0,_react_17_0_2_react.useState)(0), + newList = _useState34[0], + setnewList = _useState34[1]; + // 一键打回的班级数组: + var _useState35 = (0,_react_17_0_2_react.useState)([]), _useState36 = slicedToArray_default()(_useState35, 2), - backGroupContnet = _useState36[0], - setbackGroupContnet = _useState36[1]; + groupList = _useState36[0], + setgroupList = _useState36[1]; + // 选中打回班级的个数: + var _useState37 = (0,_react_17_0_2_react.useState)(0), + _useState38 = slicedToArray_default()(_useState37, 2), + backGroupContnet = _useState38[0], + setbackGroupContnet = _useState38[1]; (0,_react_17_0_2_react.useEffect)(function () { getData(true); return function () { setWorkList([]); setStudentList([]); + clearInterval(timeRefershRef.current); }; }, [params.coursesId]); (0,_react_17_0_2_react.useEffect)(function () { @@ -5510,7 +5520,7 @@ var WorkList = function WorkList(_ref) { }, [document.getElementById('divhe')]); var onShowSizeChange = function onShowSizeChange(current, pageSize) { params.page = current; - params.limit = 20; + params.limit = pageSize; getData(); }; function setnull() { @@ -5521,6 +5531,20 @@ var WorkList = function WorkList(_ref) { setcomment(''); setcheckvalues([]); } + (0,_react_17_0_2_react.useEffect)(function () { + if (sessionStorage.getItem("classroomsShixunDetailAutoRefersh")) { + autoUpdata(true); + } + }, []); + var autoUpdata = function autoUpdata(checked) { + if (!checked) { + clearInterval(timeRefershRef.current); + return; + } + timeRefershRef.current = setInterval(function () { + getData(); + }, 1000 * 10); + }; var columns = [{ title: '序号', dataIndex: 'number', @@ -5692,7 +5716,7 @@ var WorkList = function WorkList(_ref) { return text ? /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { placement: "bottomLeft", title: text, - children: text + children: text && text != "--" ? dayjs_min_default()(text).format(isSimpleList ? "HH:mm" : "YYYY-MM-DD HH:mm") : text }) : '--'; } }, { @@ -5900,7 +5924,7 @@ var WorkList = function WorkList(_ref) { // ellipsis: true, // render: (text: boolean) => (text ? '已评阅' : '未评阅'), // }, - { + !isSimpleList && { title: '操作', dataInex: 'action', align: 'center', @@ -6382,6 +6406,45 @@ var WorkList = function WorkList(_ref) { children: "*" }), "\u5217\u8868\u4E2D\u4F5C\u4E1A\u8BB0\u5F55\u5B58\u5728\u5DEE\u5F02\uFF0C\u8BF7\u70B9\u51FB\u201C\u66F4\u65B0\u6210\u7EE9\u201D\u6309\u94AE"] }) + }), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, { + align: "middle", + className: WorkListmodules.refresh, + children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, { + flex: "121px", + className: "flex-container", + children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, { + checkedChildren: "\u5F00\u542F", + unCheckedChildren: "\u5173\u95ED", + defaultChecked: isSimpleList, + onChange: function onChange(checked) { + setIssimpleList(checked); + } + }), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", { + className: "ml8", + children: "\u7B80\u6D01\u6A21\u5F0F" + })] + }), ((shixunHomeworks === null || shixunHomeworks === void 0 || (_shixunHomeworks$work2 = shixunHomeworks.workList) === null || _shixunHomeworks$work2 === void 0 || (_shixunHomeworks$work2 = _shixunHomeworks$work2.homework_status) === null || _shixunHomeworks$work2 === void 0 ? void 0 : _shixunHomeworks$work2.includes('提交中')) || (shixunHomeworks === null || shixunHomeworks === void 0 || (_shixunHomeworks$work3 = shixunHomeworks.workList) === null || _shixunHomeworks$work3 === void 0 || (_shixunHomeworks$work3 = _shixunHomeworks$work3.homework_status) === null || _shixunHomeworks$work3 === void 0 ? void 0 : _shixunHomeworks$work3.includes('补交中')) || (shixunHomeworks === null || shixunHomeworks === void 0 || (_shixunHomeworks$work4 = shixunHomeworks.workList) === null || _shixunHomeworks$work4 === void 0 || (_shixunHomeworks$work4 = _shixunHomeworks$work4.homework_status) === null || _shixunHomeworks$work4 === void 0 ? void 0 : _shixunHomeworks$work4.includes('进行中'))) && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, { + children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { + className: "flex-container", + children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, { + className: "ml20", + checkedChildren: "\u5F00\u542F", + unCheckedChildren: "\u5173\u95ED", + defaultChecked: !!sessionStorage.getItem("classroomsShixunDetailAutoRefersh"), + onChange: function onChange(checked) { + if (checked) { + sessionStorage.setItem("classroomsShixunDetailAutoRefersh", "true"); + } else { + sessionStorage.removeItem("classroomsShixunDetailAutoRefersh"); + } + autoUpdata(checked); + } + }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { + className: "ml8", + children: "\u81EA\u52A8\u5237\u65B0\uFF08\u5F00\u542F\u540E\u6BCF10S\u66F4\u65B0\u4E00\u6B21\u6570\u636E\uFF09" + })] + }) + })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { className: "mt30", loading: loading['shixunHomeworks/getWorkList'], @@ -6785,11 +6848,11 @@ var WorkList = function WorkList(_ref) { children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, { showQuickJumper: true, hideOnSinglePage: true, - showSizeChanger: false, + showSizeChanger: true, onChange: onShowSizeChange, current: params.page || 1, - defaultPageSize: 20, - total: workList.work_count + pageSize: params.limit || 20, + total: shixunHomeworks === null || shixunHomeworks === void 0 || (_shixunHomeworks$shix = shixunHomeworks.shixunWorkList) === null || _shixunHomeworks$shix === void 0 ? void 0 : _shixunHomeworks$shix.total_count }) })] }); @@ -12810,6 +12873,505 @@ es_alert_Alert.ErrorBoundary = alert_ErrorBoundary; /***/ }), +/***/ 78673: +/*!**********************************************************************!*\ + !*** ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: function() { return /* binding */ es_switch; } +}); + +// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules +var LoadingOutlined = __webpack_require__(38521); +// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js +var _classnames_2_3_2_classnames = __webpack_require__(12124); +var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__(61796); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/defineProperty.js +var defineProperty = __webpack_require__(35005); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/slicedToArray.js + 1 modules +var slicedToArray = __webpack_require__(61860); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/objectWithoutProperties.js +var objectWithoutProperties = __webpack_require__(20968); +// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js +var _react_17_0_2_react = __webpack_require__(59301); +// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/hooks/useMergedState.js +var useMergedState = __webpack_require__(84381); +// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/KeyCode.js +var KeyCode = __webpack_require__(84821); +;// CONCATENATED MODULE: ./node_modules/_rc-switch@4.1.0@rc-switch/es/index.js + + + + +var _excluded = ["prefixCls", "className", "checked", "defaultChecked", "disabled", "loadingIcon", "checkedChildren", "unCheckedChildren", "onClick", "onChange", "onKeyDown"]; + + + + +var Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (_ref, ref) { + var _classNames; + var _ref$prefixCls = _ref.prefixCls, + prefixCls = _ref$prefixCls === void 0 ? 'rc-switch' : _ref$prefixCls, + className = _ref.className, + checked = _ref.checked, + defaultChecked = _ref.defaultChecked, + disabled = _ref.disabled, + loadingIcon = _ref.loadingIcon, + checkedChildren = _ref.checkedChildren, + unCheckedChildren = _ref.unCheckedChildren, + onClick = _ref.onClick, + onChange = _ref.onChange, + onKeyDown = _ref.onKeyDown, + restProps = (0,objectWithoutProperties/* default */.Z)(_ref, _excluded); + var _useMergedState = (0,useMergedState/* default */.Z)(false, { + value: checked, + defaultValue: defaultChecked + }), + _useMergedState2 = (0,slicedToArray/* default */.Z)(_useMergedState, 2), + innerChecked = _useMergedState2[0], + setInnerChecked = _useMergedState2[1]; + function triggerChange(newChecked, event) { + var mergedChecked = innerChecked; + if (!disabled) { + mergedChecked = newChecked; + setInnerChecked(mergedChecked); + onChange === null || onChange === void 0 ? void 0 : onChange(mergedChecked, event); + } + return mergedChecked; + } + function onInternalKeyDown(e) { + if (e.which === KeyCode/* default */.Z.LEFT) { + triggerChange(false, e); + } else if (e.which === KeyCode/* default */.Z.RIGHT) { + triggerChange(true, e); + } + onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e); + } + function onInternalClick(e) { + var ret = triggerChange(!innerChecked, e); + // [Legacy] trigger onClick with value + onClick === null || onClick === void 0 ? void 0 : onClick(ret, e); + } + var switchClassName = _classnames_2_3_2_classnames_default()(prefixCls, className, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-checked"), innerChecked), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-disabled"), disabled), _classNames)); + return /*#__PURE__*/_react_17_0_2_react.createElement("button", (0,esm_extends/* default */.Z)({}, restProps, { + type: "button", + role: "switch", + "aria-checked": innerChecked, + disabled: disabled, + className: switchClassName, + ref: ref, + onKeyDown: onInternalKeyDown, + onClick: onInternalClick + }), loadingIcon, /*#__PURE__*/_react_17_0_2_react.createElement("span", { + className: "".concat(prefixCls, "-inner") + }, /*#__PURE__*/_react_17_0_2_react.createElement("span", { + className: "".concat(prefixCls, "-inner-checked") + }, checkedChildren), /*#__PURE__*/_react_17_0_2_react.createElement("span", { + className: "".concat(prefixCls, "-inner-unchecked") + }, unCheckedChildren))); +}); +Switch.displayName = 'Switch'; +/* harmony default export */ var es = (Switch); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/wave/index.js + 4 modules +var wave = __webpack_require__(14088); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js +var context = __webpack_require__(36355); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/DisabledContext.js +var DisabledContext = __webpack_require__(1684); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/hooks/useSize.js +var useSize = __webpack_require__(19716); +// EXTERNAL MODULE: ./node_modules/_@ctrl_tinycolor@3.6.1@@ctrl/tinycolor/dist/module/index.js +var dist_module = __webpack_require__(64993); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js +var style = __webpack_require__(17313); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js +var genComponentStyleHook = __webpack_require__(83116); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js +var statistic = __webpack_require__(37613); +;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/style/index.js + + + +const genSwitchSmallStyle = token => { + const { + componentCls, + trackHeightSM, + trackPadding, + trackMinWidthSM, + innerMinMarginSM, + innerMaxMarginSM, + handleSizeSM + } = token; + const switchInnerCls = `${componentCls}-inner`; + return { + [componentCls]: { + [`&${componentCls}-small`]: { + minWidth: trackMinWidthSM, + height: trackHeightSM, + lineHeight: `${trackHeightSM}px`, + [`${componentCls}-inner`]: { + paddingInlineStart: innerMaxMarginSM, + paddingInlineEnd: innerMinMarginSM, + [`${switchInnerCls}-checked`]: { + marginInlineStart: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)`, + marginInlineEnd: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)` + }, + [`${switchInnerCls}-unchecked`]: { + marginTop: -trackHeightSM, + marginInlineStart: 0, + marginInlineEnd: 0 + } + }, + [`${componentCls}-handle`]: { + width: handleSizeSM, + height: handleSizeSM + }, + [`${componentCls}-loading-icon`]: { + top: (handleSizeSM - token.switchLoadingIconSize) / 2, + fontSize: token.switchLoadingIconSize + }, + [`&${componentCls}-checked`]: { + [`${componentCls}-inner`]: { + paddingInlineStart: innerMinMarginSM, + paddingInlineEnd: innerMaxMarginSM, + [`${switchInnerCls}-checked`]: { + marginInlineStart: 0, + marginInlineEnd: 0 + }, + [`${switchInnerCls}-unchecked`]: { + marginInlineStart: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)`, + marginInlineEnd: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)` + } + }, + [`${componentCls}-handle`]: { + insetInlineStart: `calc(100% - ${handleSizeSM + trackPadding}px)` + } + }, + [`&:not(${componentCls}-disabled):active`]: { + [`&:not(${componentCls}-checked) ${switchInnerCls}`]: { + [`${switchInnerCls}-unchecked`]: { + marginInlineStart: token.marginXXS / 2, + marginInlineEnd: -token.marginXXS / 2 + } + }, + [`&${componentCls}-checked ${switchInnerCls}`]: { + [`${switchInnerCls}-checked`]: { + marginInlineStart: -token.marginXXS / 2, + marginInlineEnd: token.marginXXS / 2 + } + } + } + } + } + }; +}; +const genSwitchLoadingStyle = token => { + const { + componentCls, + handleSize + } = token; + return { + [componentCls]: { + [`${componentCls}-loading-icon${token.iconCls}`]: { + position: 'relative', + top: (handleSize - token.fontSize) / 2, + color: token.switchLoadingIconColor, + verticalAlign: 'top' + }, + [`&${componentCls}-checked ${componentCls}-loading-icon`]: { + color: token.switchColor + } + } + }; +}; +const genSwitchHandleStyle = token => { + const { + componentCls, + motion, + trackPadding, + handleBg, + handleShadow, + handleSize + } = token; + const switchHandleCls = `${componentCls}-handle`; + return { + [componentCls]: { + [switchHandleCls]: { + position: 'absolute', + top: trackPadding, + insetInlineStart: trackPadding, + width: handleSize, + height: handleSize, + transition: `all ${token.switchDuration} ease-in-out`, + '&::before': { + position: 'absolute', + top: 0, + insetInlineEnd: 0, + bottom: 0, + insetInlineStart: 0, + backgroundColor: handleBg, + borderRadius: handleSize / 2, + boxShadow: handleShadow, + transition: `all ${token.switchDuration} ease-in-out`, + content: '""' + } + }, + [`&${componentCls}-checked ${switchHandleCls}`]: { + insetInlineStart: `calc(100% - ${handleSize + trackPadding}px)` + }, + [`&:not(${componentCls}-disabled):active`]: motion ? { + [`${switchHandleCls}::before`]: { + insetInlineEnd: token.switchHandleActiveInset, + insetInlineStart: 0 + }, + [`&${componentCls}-checked ${switchHandleCls}::before`]: { + insetInlineEnd: 0, + insetInlineStart: token.switchHandleActiveInset + } + } : /* istanbul ignore next */ + {} + } + }; +}; +const genSwitchInnerStyle = token => { + const { + componentCls, + trackHeight, + trackPadding, + innerMinMargin, + innerMaxMargin, + handleSize + } = token; + const switchInnerCls = `${componentCls}-inner`; + return { + [componentCls]: { + [switchInnerCls]: { + display: 'block', + overflow: 'hidden', + borderRadius: 100, + height: '100%', + paddingInlineStart: innerMaxMargin, + paddingInlineEnd: innerMinMargin, + transition: `padding-inline-start ${token.switchDuration} ease-in-out, padding-inline-end ${token.switchDuration} ease-in-out`, + [`${switchInnerCls}-checked, ${switchInnerCls}-unchecked`]: { + display: 'block', + color: token.colorTextLightSolid, + fontSize: token.fontSizeSM, + transition: `margin-inline-start ${token.switchDuration} ease-in-out, margin-inline-end ${token.switchDuration} ease-in-out`, + pointerEvents: 'none' + }, + [`${switchInnerCls}-checked`]: { + marginInlineStart: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)`, + marginInlineEnd: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)` + }, + [`${switchInnerCls}-unchecked`]: { + marginTop: -trackHeight, + marginInlineStart: 0, + marginInlineEnd: 0 + } + }, + [`&${componentCls}-checked ${switchInnerCls}`]: { + paddingInlineStart: innerMinMargin, + paddingInlineEnd: innerMaxMargin, + [`${switchInnerCls}-checked`]: { + marginInlineStart: 0, + marginInlineEnd: 0 + }, + [`${switchInnerCls}-unchecked`]: { + marginInlineStart: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)`, + marginInlineEnd: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)` + } + }, + [`&:not(${componentCls}-disabled):active`]: { + [`&:not(${componentCls}-checked) ${switchInnerCls}`]: { + [`${switchInnerCls}-unchecked`]: { + marginInlineStart: trackPadding * 2, + marginInlineEnd: -trackPadding * 2 + } + }, + [`&${componentCls}-checked ${switchInnerCls}`]: { + [`${switchInnerCls}-checked`]: { + marginInlineStart: -trackPadding * 2, + marginInlineEnd: trackPadding * 2 + } + } + } + } + }; +}; +const genSwitchStyle = token => { + const { + componentCls, + trackHeight, + trackMinWidth + } = token; + return { + [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), { + position: 'relative', + display: 'inline-block', + boxSizing: 'border-box', + minWidth: trackMinWidth, + height: trackHeight, + lineHeight: `${trackHeight}px`, + verticalAlign: 'middle', + background: token.colorTextQuaternary, + border: '0', + borderRadius: 100, + cursor: 'pointer', + transition: `all ${token.motionDurationMid}`, + userSelect: 'none', + [`&:hover:not(${componentCls}-disabled)`]: { + background: token.colorTextTertiary + } + }), (0,style/* genFocusStyle */.Qy)(token)), { + [`&${componentCls}-checked`]: { + background: token.switchColor, + [`&:hover:not(${componentCls}-disabled)`]: { + background: token.colorPrimaryHover + } + }, + [`&${componentCls}-loading, &${componentCls}-disabled`]: { + cursor: 'not-allowed', + opacity: token.switchDisabledOpacity, + '*': { + boxShadow: 'none', + cursor: 'not-allowed' + } + }, + // rtl style + [`&${componentCls}-rtl`]: { + direction: 'rtl' + } + }) + }; +}; +// ============================== Export ============================== +/* harmony default export */ var switch_style = ((0,genComponentStyleHook/* default */.Z)('Switch', token => { + const switchToken = (0,statistic/* merge */.TS)(token, { + switchDuration: token.motionDurationMid, + switchColor: token.colorPrimary, + switchDisabledOpacity: token.opacityLoading, + switchLoadingIconSize: token.fontSizeIcon * 0.75, + switchLoadingIconColor: `rgba(0, 0, 0, ${token.opacityLoading})`, + switchHandleActiveInset: '-30%' + }); + return [genSwitchStyle(switchToken), + // inner style + genSwitchInnerStyle(switchToken), + // handle style + genSwitchHandleStyle(switchToken), + // loading style + genSwitchLoadingStyle(switchToken), + // small style + genSwitchSmallStyle(switchToken)]; +}, token => { + const { + fontSize, + lineHeight, + controlHeight, + colorWhite + } = token; + const height = fontSize * lineHeight; + const heightSM = controlHeight / 2; + const padding = 2; // Fixed value + const handleSize = height - padding * 2; + const handleSizeSM = heightSM - padding * 2; + return { + trackHeight: height, + trackHeightSM: heightSM, + trackMinWidth: handleSize * 2 + padding * 4, + trackMinWidthSM: handleSizeSM * 2 + padding * 2, + trackPadding: padding, + handleBg: colorWhite, + handleSize, + handleSizeSM, + handleShadow: `0 2px 4px 0 ${new dist_module/* TinyColor */.C('#00230b').setAlpha(0.2).toRgbString()}`, + innerMinMargin: handleSize / 2, + innerMaxMargin: handleSize + padding + padding * 2, + innerMinMarginSM: handleSizeSM / 2, + innerMaxMarginSM: handleSizeSM + padding + padding * 2 + }; +})); +;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js +"use client"; + +var __rest = undefined && undefined.__rest || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; + } + return t; +}; + + + + + + + + + + +const switch_Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => { + const { + prefixCls: customizePrefixCls, + size: customizeSize, + disabled: customDisabled, + loading, + className, + rootClassName, + style + } = props, + restProps = __rest(props, ["prefixCls", "size", "disabled", "loading", "className", "rootClassName", "style"]); + false ? 0 : void 0; + const { + getPrefixCls, + direction, + switch: SWITCH + } = _react_17_0_2_react.useContext(context/* ConfigContext */.E_); + // ===================== Disabled ===================== + const disabled = _react_17_0_2_react.useContext(DisabledContext/* default */.Z); + const mergedDisabled = (customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled) || loading; + const prefixCls = getPrefixCls('switch', customizePrefixCls); + const loadingIcon = /*#__PURE__*/_react_17_0_2_react.createElement("div", { + className: `${prefixCls}-handle` + }, loading && /*#__PURE__*/_react_17_0_2_react.createElement(LoadingOutlined/* default */.Z, { + className: `${prefixCls}-loading-icon` + })); + // Style + const [wrapSSR, hashId] = switch_style(prefixCls); + const mergedSize = (0,useSize/* default */.Z)(customizeSize); + const classes = _classnames_2_3_2_classnames_default()(SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.className, { + [`${prefixCls}-small`]: mergedSize === 'small', + [`${prefixCls}-loading`]: loading, + [`${prefixCls}-rtl`]: direction === 'rtl' + }, className, rootClassName, hashId); + const mergedStyle = Object.assign(Object.assign({}, SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.style), style); + return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(wave/* default */.Z, { + component: "Switch" + }, /*#__PURE__*/_react_17_0_2_react.createElement(es, Object.assign({}, restProps, { + prefixCls: prefixCls, + className: classes, + style: mergedStyle, + disabled: mergedDisabled, + ref: ref, + loadingIcon: loadingIcon + })))); +}); +switch_Switch.__ANT_SWITCH = true; +if (false) {} +/* harmony default export */ var es_switch = (switch_Switch); + +/***/ }), + /***/ 51581: /*!****************************************************************************************************!*\ !*** ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/dist/InfiniteScroll.js ***! diff --git a/p__Classrooms__Lists__ShixunHomeworks__Detail__index.chunk.css b/p__Classrooms__Lists__ShixunHomeworks__Detail__index.chunk.css index 24098ba387..21b3efece4 100644 --- a/p__Classrooms__Lists__ShixunHomeworks__Detail__index.chunk.css +++ b/p__Classrooms__Lists__ShixunHomeworks__Detail__index.chunk.css @@ -1368,6 +1368,12 @@ span.CodeMirror-selectedtext { margin-right: 8px; margin-left: 8px; } +.refresh___dkiX_ { + margin-top: 15px; +} +.refresh___dkiX_ [class~='ant-checkbox-wrapper'] { + margin-left: 0 !important; +} .maxWidth70___u0Fnw { max-width: 70px; overflow: hidden; diff --git a/p__Classrooms__Lists__Template__detail__index.async.js b/p__Classrooms__Lists__Template__detail__index.async.js index 275269feb7..e4b8c2e5d1 100644 --- a/p__Classrooms__Lists__Template__detail__index.async.js +++ b/p__Classrooms__Lists__Template__detail__index.async.js @@ -961,7 +961,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Competitions__Detail__index.async.js b/p__Competitions__Detail__index.async.js index ed33e24596..a664b97903 100644 --- a/p__Competitions__Detail__index.async.js +++ b/p__Competitions__Detail__index.async.js @@ -668,6 +668,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Competitions__Edit__index.async.js b/p__Competitions__Edit__index.async.js index 6fd3fbc6b2..41bcb8e5e5 100644 --- a/p__Competitions__Edit__index.async.js +++ b/p__Competitions__Edit__index.async.js @@ -648,6 +648,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Competitions__Update__index.async.js b/p__Competitions__Update__index.async.js index 7fba16f227..3044c0f990 100644 --- a/p__Competitions__Update__index.async.js +++ b/p__Competitions__Update__index.async.js @@ -1340,7 +1340,7 @@ input_Input.Password = input_Password; /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Demo__index.async.js b/p__Demo__index.async.js index bbcf7c4a65..9f70192560 100644 --- a/p__Demo__index.async.js +++ b/p__Demo__index.async.js @@ -766,6 +766,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Engineering__Lists__CurseSetting__index.async.js b/p__Engineering__Lists__CurseSetting__index.async.js index e3f65deb22..fb48af5a6b 100644 --- a/p__Engineering__Lists__CurseSetting__index.async.js +++ b/p__Engineering__Lists__CurseSetting__index.async.js @@ -393,6 +393,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Engineering__Lists__Document__index.async.js b/p__Engineering__Lists__Document__index.async.js index e3be2af74e..1d57a99e4e 100644 --- a/p__Engineering__Lists__Document__index.async.js +++ b/p__Engineering__Lists__Document__index.async.js @@ -351,6 +351,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Engineering__Lists__TrainingProgram__index.async.js b/p__Engineering__Lists__TrainingProgram__index.async.js index 385d57f0de..927462312f 100644 --- a/p__Engineering__Lists__TrainingProgram__index.async.js +++ b/p__Engineering__Lists__TrainingProgram__index.async.js @@ -393,6 +393,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Graduations__Lists__Topics__index.async.js b/p__Graduations__Lists__Topics__index.async.js index e5d19e76b2..7179c8c20b 100644 --- a/p__Graduations__Lists__Topics__index.async.js +++ b/p__Graduations__Lists__Topics__index.async.js @@ -772,6 +772,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Graduations__Review__index.async.js b/p__Graduations__Review__index.async.js index b8b634dcea..3f73e8d941 100644 --- a/p__Graduations__Review__index.async.js +++ b/p__Graduations__Review__index.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Innovation__Detail__index.async.js b/p__Innovation__Detail__index.async.js index 99a898189f..91c3876faa 100644 --- a/p__Innovation__Detail__index.async.js +++ b/p__Innovation__Detail__index.async.js @@ -393,6 +393,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__MyProblem__index.async.js b/p__MyProblem__index.async.js index ca50c0fff3..d412bd63d6 100644 --- a/p__MyProblem__index.async.js +++ b/p__MyProblem__index.async.js @@ -626,6 +626,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Paperlibrary__Add__index.async.js b/p__Paperlibrary__Add__index.async.js index 8d872a70e5..baf65fd56a 100644 --- a/p__Paperlibrary__Add__index.async.js +++ b/p__Paperlibrary__Add__index.async.js @@ -547,6 +547,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Paperlibrary__Random__Edit__index.async.js b/p__Paperlibrary__Random__Edit__index.async.js index 93b6ef3c54..1ea4651492 100644 --- a/p__Paperlibrary__Random__Edit__index.async.js +++ b/p__Paperlibrary__Random__Edit__index.async.js @@ -764,6 +764,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Problemset__NewItem__index.async.js b/p__Problemset__NewItem__index.async.js index 7e60b35dc6..5e54e707c2 100644 --- a/p__Problemset__NewItem__index.async.js +++ b/p__Problemset__NewItem__index.async.js @@ -860,6 +860,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Problemset__Preview__index.async.js b/p__Problemset__Preview__index.async.js index 8a1650f16e..3ad8ab49db 100644 --- a/p__Problemset__Preview__index.async.js +++ b/p__Problemset__Preview__index.async.js @@ -1069,7 +1069,7 @@ var Preview = function Preview(_ref) { /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Problemset__index.async.js b/p__Problemset__index.async.js index 1e8ef14ebe..b89e6cd2cc 100644 --- a/p__Problemset__index.async.js +++ b/p__Problemset__index.async.js @@ -1212,6 +1212,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Question__OjProblem__index.async.js b/p__Question__OjProblem__index.async.js index ec672ecaaf..9ca52f3b4e 100644 --- a/p__Question__OjProblem__index.async.js +++ b/p__Question__OjProblem__index.async.js @@ -975,6 +975,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Shixuns__Detail__Challenges__index.async.js b/p__Shixuns__Detail__Challenges__index.async.js index 0f8bd8ec95..8abd200d99 100644 --- a/p__Shixuns__Detail__Challenges__index.async.js +++ b/p__Shixuns__Detail__Challenges__index.async.js @@ -1535,7 +1535,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Shixuns__Detail__Discuss__index.async.js b/p__Shixuns__Detail__Discuss__index.async.js index 3ab8b58589..3405a055a7 100644 --- a/p__Shixuns__Detail__Discuss__index.async.js +++ b/p__Shixuns__Detail__Discuss__index.async.js @@ -688,6 +688,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Shixuns__Detail__Repository__index.async.js b/p__Shixuns__Detail__Repository__index.async.js index 8a7cb32f96..e02a2bb431 100644 --- a/p__Shixuns__Detail__Repository__index.async.js +++ b/p__Shixuns__Detail__Repository__index.async.js @@ -389,6 +389,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Shixuns__Edit__body__Warehouse__index.async.js b/p__Shixuns__Edit__body__Warehouse__index.async.js index c93f30c6c8..42b5b00b48 100644 --- a/p__Shixuns__Edit__body__Warehouse__index.async.js +++ b/p__Shixuns__Edit__body__Warehouse__index.async.js @@ -435,6 +435,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__Shixuns__Edit__index.async.js b/p__Shixuns__Edit__index.async.js index a7c41ccd26..84178a477b 100644 --- a/p__Shixuns__Edit__index.async.js +++ b/p__Shixuns__Edit__index.async.js @@ -420,6 +420,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__User__Detail__Videos__Protocol__index.async.js b/p__User__Detail__Videos__Protocol__index.async.js index 34b58f65ae..2b4d4c5e08 100644 --- a/p__User__Detail__Videos__Protocol__index.async.js +++ b/p__User__Detail__Videos__Protocol__index.async.js @@ -751,7 +751,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__User__Detail__Videos__Success__index.async.js b/p__User__Detail__Videos__Success__index.async.js index d9b6dc0ebe..92dffd819b 100644 --- a/p__User__Detail__Videos__Success__index.async.js +++ b/p__User__Detail__Videos__Success__index.async.js @@ -667,7 +667,7 @@ if (false) {} /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__Video__Detail__id.async.js b/p__Video__Detail__id.async.js index c9427e8147..85c61245e8 100644 --- a/p__Video__Detail__id.async.js +++ b/p__Video__Detail__id.async.js @@ -252,6 +252,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__index.async.js b/p__index.async.js index 22e64632d7..de70bc6919 100644 --- a/p__index.async.js +++ b/p__index.async.js @@ -5765,8 +5765,9 @@ var IndexPage = function IndexPage(_ref) { } }), homePage.images_url && /*#__PURE__*/(0,jsx_runtime.jsx)(carousel/* default */.Z, { className: isMainSite ? Indexmodules.mainSite : '', - ref: Carousels, - autoplay: true, + ref: Carousels + // autoplay + , pauseOnDotsHover: true, children: homePage.images_url.length > 0 ? (_homePage$images_url = homePage.images_url) === null || _homePage$images_url === void 0 ? void 0 : _homePage$images_url.map(function (v, k) { return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { @@ -5778,18 +5779,12 @@ var IndexPage = function IndexPage(_ref) { display: 'block', width: '100%', height: '400px', - position: 'relative' + position: 'relative', + background: "url(".concat(env/* default */.Z.IMG_SERVER + v.image_url, ") no-repeat"), + backgroundPosition: "center center", + backgroundSize: "auto 100%" }, - href: v.path, - children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { - style: { - height: '100%', - position: 'absolute', - left: '50%', - transform: 'translateX(-50%)' - }, - src: env/* default */.Z.IMG_SERVER + v.image_url - }) + href: v.path }) }, k); }) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", { @@ -5801,18 +5796,12 @@ var IndexPage = function IndexPage(_ref) { display: 'block', width: '100%', height: '400px', - position: 'relative' + position: 'relative', + background: "url(".concat(banner_namespaceObject, ") no-repeat"), + backgroundPosition: "center center", + backgroundSize: "auto 100%" }, - href: '/', - children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { - style: { - height: '100%', - position: 'absolute', - left: '50%', - transform: 'translateX(-50%)' - }, - src: banner_namespaceObject - }) + href: '/' }) }) })] diff --git a/p__tasks__index.async.js b/p__tasks__index.async.js index a2bf32a7e8..4c97f95ad9 100644 --- a/p__tasks__index.async.js +++ b/p__tasks__index.async.js @@ -15482,6 +15482,7 @@ function tasks_reducer(state, action) { var index_tab = tabActiveParams.index_tab, shixun_environment_id = tabActiveParams.shixun_environment_id, tab_type = tabActiveParams.tab_type; + var prevCurrentPath = (0,_react_17_0_2_react.useRef)(''); var isUpdateScript = (tpm_modified || tpm_script_modified) && st === 0; //是否显示更新公告按钮 @@ -15551,7 +15552,7 @@ function tasks_reducer(state, action) { return function () { window.removeEventListener('beforeunload', onSaveContent); }; - }, [taskData]); + }, [taskData, codeLoading]); //设置浏览器标签名字 (0,_react_17_0_2_react.useEffect)(function () { @@ -15674,6 +15675,21 @@ function tasks_reducer(state, action) { })); return _init.apply(this, arguments); } + var dealError = function dealError(re) { + if (re instanceof TypeError && !!prevCurrentPath.current) { + var saveCurrentPath = prevCurrentPath.current; + prevCurrentPath.current = 'stop'; + dispatch({ + type: constant/* EDIT_REP_CODE */.N$, + payload: { + currentPath: saveCurrentPath + } + }); + setTimeout(function () { + prevCurrentPath.current = ''; + }, 500); + } + }; (0,_react_17_0_2_react.useEffect)(function () { function init() { return _init2.apply(this, arguments); @@ -15718,8 +15734,10 @@ function tasks_reducer(state, action) { //特殊意义 status为0为错误情况 message/* default */.ZP.warning(data === null || data === void 0 ? void 0 : data.message); } + //断网情况下 + dealError(data); setCodeLoading(false); - case 6: + case 7: case "end": return _context.stop(); } @@ -15727,13 +15745,14 @@ function tasks_reducer(state, action) { })); return _init2.apply(this, arguments); } + console.log(prevCurrentPath.current, 2222); if (st === 0 //实训题 && currentPath //有文件 && !(unity_3d_routes && !with_code_file) //不是虚拟仿真 && shixun_environments !== null && shixun_environments !== void 0 && shixun_environments.some(function (e) { return e.tab_type === 1; }) //tab里有ide编辑器 - ) { + && prevCurrentPath.current !== 'stop') { init(); } }, [st, currentPath, lastedGetTaskInfoTime, timestamp]); @@ -15751,7 +15770,7 @@ function tasks_reducer(state, action) { case 0: evaluate = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0; if (!(st === 0 && lastedUpdateTime > 0 && isEditPath || evaluate)) { - _context2.next = 13; + _context2.next = 14; break; } paramsFromExercise = _params.courseId && _params.exerciseId ? { @@ -15802,10 +15821,11 @@ function tasks_reducer(state, action) { lastedUpdateTime: 0 } }); + dealError(response); return _context2.abrupt("return", response); - case 13: - return _context2.abrupt("return", true); case 14: + return _context2.abrupt("return", true); + case 15: case "end": return _context2.stop(); } @@ -15823,27 +15843,33 @@ function tasks_reducer(state, action) { return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: + if (!codeLoading) { + _context3.next = 2; + break; + } + return _context3.abrupt("return"); + case 2: if (game) { if (game.status !== 2) { mediator/* default */.Z.publish('update-cost-time'); } } - _context3.prev = 1; + _context3.prev = 3; paramsFromExercise = _params.courseId && _params.exerciseId ? { exercise_id: _params.exerciseId } : {}; if (!(searchParams.get("ip_limit") === 'inner' || searchParams.get("ip_bind") === "true")) { - _context3.next = 7; + _context3.next = 9; break; } - _context3.next = 6; + _context3.next = 8; return (0,Exercise_ip/* findLocalIp */.y)({ ip_limit: searchParams.get("ip_limit"), ip_bind: searchParams.get("ip_bind") === "true" ? true : false }); - case 6: + case 8: ip = _context3.sent; - case 7: + case 9: if (myshixun !== null && myshixun !== void 0 && myshixun.identifier) { bodys = objectSpread2_default()({ path: stateRef.current.codeRepData.currentPath, @@ -15859,16 +15885,16 @@ function tasks_reducer(state, action) { blob = new Blob([JSON.stringify(bodys)], headers); window.navigator.sendBeacon("".concat(env/* default */.Z.API_SERVER, "/api/myshixuns/").concat(myshixun === null || myshixun === void 0 ? void 0 : myshixun.identifier, "/update_file.json"), blob); } - _context3.next = 12; + _context3.next = 14; break; - case 10: - _context3.prev = 10; - _context3.t0 = _context3["catch"](1); case 12: + _context3.prev = 12; + _context3.t0 = _context3["catch"](3); + case 14: case "end": return _context3.stop(); } - }, _callee3, null, [[1, 10]]); + }, _callee3, null, [[3, 12]]); })); return function onSaveContent() { return _ref3.apply(this, arguments); @@ -16671,10 +16697,11 @@ function tasks_reducer(state, action) { return regeneratorRuntime_default()().wrap(function _callee18$(_context18) { while (1) switch (_context18.prev = _context18.next) { case 0: + prevCurrentPath.current = currentPath; setCodeLoading(true); - _context18.next = 3; + _context18.next = 4; return onUpdateCode(); - case 3: + case 4: res = _context18.sent; if (res !== null && res !== void 0 && res.content || res === true) { dispatch({ @@ -16692,7 +16719,7 @@ function tasks_reducer(state, action) { }); setCodeLoading(false); } - case 5: + case 6: case "end": return _context18.stop(); } diff --git a/p__virtualSpaces__Lists__Knowledge__index.async.js b/p__virtualSpaces__Lists__Knowledge__index.async.js index ab023c4391..cd7b9398ab 100644 --- a/p__virtualSpaces__Lists__Knowledge__index.async.js +++ b/p__virtualSpaces__Lists__Knowledge__index.async.js @@ -395,6 +395,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__virtualSpaces__Lists__Material__index.async.js b/p__virtualSpaces__Lists__Material__index.async.js index ea1cab8ab6..1b0866b943 100644 --- a/p__virtualSpaces__Lists__Material__index.async.js +++ b/p__virtualSpaces__Lists__Material__index.async.js @@ -689,7 +689,7 @@ var Page = function Page(_ref) { /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); diff --git a/p__virtualSpaces__Lists__Plan__Detail__index.async.js b/p__virtualSpaces__Lists__Plan__Detail__index.async.js index 5c197d0342..bb106c3265 100644 --- a/p__virtualSpaces__Lists__Plan__Detail__index.async.js +++ b/p__virtualSpaces__Lists__Plan__Detail__index.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__virtualSpaces__Lists__Resources__Detail__index.async.js b/p__virtualSpaces__Lists__Resources__Detail__index.async.js index a89b222d09..f0d801b451 100644 --- a/p__virtualSpaces__Lists__Resources__Detail__index.async.js +++ b/p__virtualSpaces__Lists__Resources__Detail__index.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/p__virtualSpaces__Lists__Survey__Detail__index.async.js b/p__virtualSpaces__Lists__Survey__Detail__index.async.js index 0cec156662..6d43f3bd96 100644 --- a/p__virtualSpaces__Lists__Survey__Detail__index.async.js +++ b/p__virtualSpaces__Lists__Survey__Detail__index.async.js @@ -309,6 +309,7 @@ var jsx_runtime = __webpack_require__(37712); onClick: handleDown, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"] }) + // handleClick })] }); }); diff --git a/static/iconfont.53d451ad.woff b/static/iconfont.53d451ad.woff deleted file mode 100644 index 9b679193b67214f32ffea8c22bed85dbf5b4c548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268132 zcmZ6SbzD>5|HsD$jGlCdfHI||8-}EU0wN(T-HkL1P*ISS&IwBQ2x<5zJ-S3{5~D+6 z#E9Sg{`uQu=ehfOpVzrNd+glzx%ceOUq@XXKmY&$2pMew05F7>?sHH(xCYt- z08niJsFof;v{Ca?Jm{{Y-D_I_XwDYjP6S^hWw(869PvSXECa9a;tMa^Cday?n{NO< z)`st-BLKjt+3$5V?&@KK_bu@P01z8|Oq)7|Co z%I^U=dkgP64W?&^(MiVe#l>GS_~*x5E9-(^?=jHXA_VK^Cw#EE*cNrL$&ce$T51j8 zQ|h~EXbvmX`I~)ZpN~zo{m~0r#qRtQ5yctH zGq0PJgtOw%8pzR3D8h1e_R=rxo8|iCwe!INsIA&^-{{=76NL-p?3@z*yRBf<+;TYITKb`brM;3?no0Ou7~-MSe|DmBrK^O3oQ1X{^H)qSM>=8;wp%Zr zx72uS%;RP{-g)e2U#NF{sovN*H|cm^y;Y8j>Btd2D86Xvi1b(;x_r^`sTva-Y?|N4 zcpMn2n7_<;DA`dj{Ko~C+)*RE5_=gLR_1>i8gkcTV}E5E<9aJIr-Y5Ywhf=l$3|bf zE6uavy2DOr_kvw2Y9=gd8219RZI|b&CFeV8UtudbJuK%{!+AJHN1xZF@7e|TSTxM; z`UU^EKcA9TiY;niH=PsD-shX62%cZ6_1{wnUY4qX?5g1U6&rP2i$a}8e~V!=L)|UU z!?52J+)@|aE$0G)2Ycs?S#5NF(@Os4XzJV53;xORydx&Aj=G~Xt{%L1w{>e@(whHFq-l zwf-iPvgT%H^wQWPctoh7qoc#zn$c9awO^>7d^b#Pc?9XR$0j#FQYThf%>KIX*Z7;V z11s}unA~vCudO%g-)EjT>hG$`4Lq+|-IJD^p=wmwdn6~{v7#wA*kaOj-eR-MB{xP@ z6XzPfV~v~ZXiV613!clHnZwpBx=AUGzB%=|4w>(H)0pe3G2bmahi%MtbD94&)0pb! zWcmx!nCa%6{i}CoT(XAJE!1>$roqqE&2&iiS61WuO6Q^9M~zvP?&ZG*8np9ae!pmZD_GU{%UZp$M9`Xi{_)Jn@A=4?nV$?b7jBB#eV7KxB702lW$VrB@Oi>( z{o9GoQ_gFn+sWoj)@)dPSmE-v z!16Eu+5f^OUnq@dUY3ScaBfClCOw~dAZxJvRp(SNw`kJueMjZNX6t2Mhp@^CWvIF3 z^z4aUs2bmv)@4BlVsu9}7cshJcUeI-ZhB(a{>)?cOHlMussGkuP{LCA+1B+XoNBU4 z){Jv1+V^ezl-^~HVnM>T&0m~js9F9PpWmnWX|Kza_}Su9=JqEZGdq5WB}9~O%~Hwi zwqH=3#W$m!i{Dz+Q#V0L*vSrAu8yVF3VJ#dpBu6{s{6KT^%7=yPN52qA+w-UE(K%AxXS6HMN7z- zP)q)PA#QuArTEQEuCK$Qn*a2oum7S-)9mw>sQnUlKbu8Wsp(-~pT);bQMw8Qil;-+!n;pGc09^|^*g+)hF^_t7Y3&qsYHJ=M^MLGSVepXSLu>3*G zfo$*WPbp2dS=#B$M~!Vf2ZO;!9U)whzQU%#=p%eetqq~E6nSd#d3N1C(83~-(Jr}- zS9pm3DDhLG(fX^v=lAiWYfkt?N&id2H7Io_FZ zDDHpa-Il|(xUMQ=82{O3&2j6#`8rhQMSS9qbuJlWswB|5u8ej|Ken!ujSDx>QP;G~ z(>my0*SdQ*_ZzaB&QE7f>rGOwt;3w&o5bgJm9BiI12c7Tt`D+@80s=zA7=OWPUuM{ zQ`#B4dS;j|Vf$>0%VpqqU3>-q&cJ0|gg}qS;6&Xg0sf(Zqq@inDE||=S7wH32DVRL zX)~n0v!i~c$&iAbFvNVmup`Jc!X!zqSQl{rclGVg=z92t(oN0IX~ z`gSEhfJ#a}yOUhP=t^*OB~t6=eJ4iv+~?+#(t73lg0Rs6KMJqS0AlydVn8%U|C(zsoVS8o-s?tMfM?EGz#H zc(s;VK3U`Mk1Gt#u|kOO@<7v(TZkNFT`quR z`9CQi{Co#G7wyQYM)O}h?8vJA<8mR}k%v2CmQVCRE6ZnitYx3m><=qkyx9NIe*U=Q zgD{5tTwZbcY{TawC%|1t@$={k^1@d!F8HuCge)J`_m^}bH(`VJf>$vu;SbNbreaL1 zx0GVm8T!Y$r(z;xCFMTQ>j7M+wVNsii|5{vt$`X8b!!J<5B6=1x9pGmXHM>UD#!!ta zKP+pb5FQ%(d(;N3?&trT+(sun9D7XD#w0u#d-&f%9^=}(@06oIj*mj*m4v(8n%QYJ z?!2~t{jK?g^ZIG$_`wPI`bqfs@(JWxtMi=TMC@ACXH(-cMX_*ni~KUVqo8_=^-}V& zo$@_{m-;HmExF6QFhs%@ZPpXc@#qtwc8!Bc@CntkV&)UccD2dPXIW2!$LO-Ot0!4c z$l9M)j}PH9m5%V3YEaVsaV_zPyl)Ph4_I_`CV5Vv3hIShUO|z0Uq!^zddGi=$EZ(u z1|@P7P@e!O3vpZSEz$emaGO*upZ5#qouG@4rN-TS`4=^%#)ic|5Kq#JzpeUOzUkc3 z+cMeU%Wkd%+VXDsM69c{trJ=zZ2q);i@PNwX#Ae9qB)FlqS==t_u0l6^HkKx*U2pb z*~sTb`Xzk1Px~gkeC2ati(9I)ALG9imh$@*7H(?Frcf3B*t#S8fvO1Pq$CT+77Nu& z?Wy1<-0OoYlpTJ@V86CI25+m%jm6i~?rFD!!-?l&g8UGk#gm;D?ZKqBO}hEKGGYFnMQKMDG-65|LJD=j3GaKCR%M!ow&|HiNFFxH3ern#5te9($YVlq8zHU{ zyuKth3i7dq@LW(Yov>44`vtm5&79>bvt$Uq%;ERy@S|QjC|q&-2raB?PH@#z!XK#< z(?WATR>B{(OzlU1C|6iT7G^Xx-DMfmB7455Hw)~hplb_0Abb&jeBDb@~VUnH{F(e0vSdC|iN#Ouu&=-!qA2UkcgU>g4+xjs zjz=eGERtR|m&ipaQTs6-lIr;rg^O;xqiqWIsT3u*IndP_dlZU7+j(dmwMFufkg4|W z{P-5gIl2TF35jXpJU`WIg+o5ID4k2_K>(eS+Y#tlH3gEZ!4hzkCH?80!!11sQK#(o zYxH#?2bCh%HZ?l5kb^WVaH_DY`onMf5br5>bh?@XOPl4CO&3m8f#GVRq%Xpf<}~1N zNlyoGK;IyD-lL~O*a_W!f@V}#V7`hhDTe2>pT0a4E6gKa5_5(eN)_f&g{e>7{tc<% z3s5}MKD<(Nh}a00XO*vBWjk!^@aaBo83m0>$Z^Ua+!CP!tAz+huf3@Qmdazhk1bAt zqrrZpc(H_T_7@@=Rrm##pDh#)$U}yqo0oA>8)2M)JlwVD;le?B)W)l3pg8VtDmw6{ z3OIV~FA9@qp1+3N-Q#zoCaY5s;{jkN`sY zjX#CxKpjrdXr?HOyu1CQN2^=aP>$X75@Gl?-KknlXTftIPHbDtDqJ;`dH1ZO z8h*`oYEUDiX9>dH-QKZMQV#{m<0fru4ho+WxD-4m;xFhRHB=8J7g#^{n} zhpz{Rv+lN*9Kf$xPR(oP^p-)m``b7xYGQ{_0M=~^(v3U_BgFbmC3Jh6D-n$DWRq5& z9Y3gFI(8Tf8qHVP2@NAibGf=_T=mz;s=3!PYMmt`fS;Kly^m( zcDCkU)5aGLcfefI3LK1DS_OvR5D(#wA;wGj;oV0!SKzcW2O;ByY~vz^*kk=i#yRDW zyH@h($r#Qm9@Ttzco(H{1N{x}x#q_Z#3D^lVj2oO4_tXqlj0<;H9RmnOA@#wV@T zPii)!dR~kLg*Z7XbWjA?o>;%C+5FPuZ8h!?yWY*S%D@j-8x=GpjO8$|AY@QzF=iI9 zht-l9qu|yCHJi8|XP8J~>~yy^F`Wy%hXOi7n85bR7ZA&=UqQrxEH-8p!06Xf8Ka7= z&1*7V_XJsq%*UL5@jH+N#J)0iC1DV&`$b}s;Qw}Jl{Km-kYAD@_QJ%KjKQbr7lnYm zPpynG3S&)Pld;^BW+gHkTiIp3#Aq6&Mg?sohz-$oC1+^<@{3B~NVQhM*fzd^HlU-L zy^A}YPA*c-;=vnWESvr=1;a(rFCqbNomzh5wJ+9EHT_R|_N|igV-&i$jp%c`xr6D0 zBh?i7vA|en!(B>-SCzlO0!OcEg#(s8Uw3hD(3^L0lQZC=)EES)0I_YxY$Oaab(#toTO2crAKG`mjx@FKT@!7mznQ#V%0y%8T3B_GpE-rhmI94n8%Sq0wW;Oi_{qM_>vh`^|Cc+G-7 zsLQ+BoH#A`(7R?K+X%j%*G?mFc4T1H+*eIJ)E-W0ocGbC`>4VUoaV3@R3mQ+>h>9S z2Mirck;u>bJqoB=kFyH2@Bj|^goqjE9o)4F-1i_Dx_-lNjQu#@RTsWMl@@9THO6Mk zb=5%@Nz<;kglcw8{iE!ZTEPOig?6jC+kMbbM}U$sb_m>6XGsYfx{+lQ!0ks_%@uP3 zhZGfn0=Qnyn%%#JU3F(l6lr3AsB3cQ6C&3s0x1L>h8$~hWD=s*1%iMA4zr)FWcd2v z>#l6%X<}|{#v}E`UEaj;;Gwy5apMt`Lzj1&B6%9}Or|Dhl(x&;U59W;=1SgpZY?UGt%@X&cSKeYDj8%lzJ!sEFdn> ztcsLHp>`LLHCxBvh-&n98_RH8mqm!o5Be$FG^XxE^t$rTg5%~4-2p7f%7r`P_NL9$ zcw-&UKex?4_x*qFXaC&U|J+jla}%)46)n(+W6YZA9Z}8RE@K%!>yikOjY0eeA4#2$ z=*{780>{Z1y#eB}4`A`BTA=>trmfFIiaDa%ycx$b0@te$BFBS^FdIy2Yg8|a{|pe9 zY4nB|k9|@WvFZhKaeIqqsef+Hf9?)MlFi^XjHfTf9LB?!ii=Wz{tyC)%X!H`!Xi^D zPa^L9BJh#p+Sj8yWBsq!zaWx+4E})el&3~Vsps)00OI70I7nHV%jL<$j~wUd#p|r* zD8)tX0>vF|=Z=`h`g7N75lI?Dt1uq_v_2IV{DjZajNGNdL!MgP+bxjBac%L)cC0^c z{lQpJesQGwh>#8_F2@`Tz@N&<)-P=^Ba)hj^2S#D#?rV7R*Vj(F!j_gF{*V-zNMmndu2m(Y$n0&+GA zlgCby6^tduizt}SC>8OrLNJeG-p6d%vGxK*)`mTaV_vZ->=?C3mgTT7IVPXp6or{% z$BRp>*)c%Mgz+^w zgm`feVOE^3>?7F$%<{n*jOA=pM__Wo*~K?*SrM7k_oM99Gk{sIY#ut=$4M!RxwH}C z1&bplWebsMX%E|3ZBiCnZ3AV^ZJ3XttPdjW8G<>*eP+OjOr#>=@Fy&_qkVmXvRGj# zekZQ?9qp@hl*K?{#97S8K4Yj1OSpa76^%G@%?OdH&`CUOc0s9$A48^NsIN#E_iP%` z8m9;sdxbJLXF8?k+LpJZ=GyL&Tw?#s`WaW!&=4n#dpTVxQnf>P1CB>H z@MDPO4Mj3DjxjN0znbeJs54@1=b9>c_6)3Pv7FBp7#be2c6v=&*>(xhwAkt73aq@1 zSZf#|`ndC{xIxp*p@+*WHx>TV#E6XMtWY%ZJ7;RtPlfW|@SoRJ7=n*D^I>wDv(_vK z@4ml;(pqp81N^GGzO0eUi=*rfmzRAR_8*A8oaVfPt)O0#gEnwxguEj<4N%RKeP@xx z&Cux;F0ZPxd$1KV1FguP&1Gr8k3I&1lr$SXNB@lU|BU>R zs`-_Mku$-@%)FRq4P=@*?al^?(!tZtW0$|Dl~>pdUEn`uDrVl!nD_xcE*Vr3(X^ME zu<{1!H&AJ!{&O}@+)S7b;u_~HKUFSJGGv9ThF3@ue!MYuBc!>m-6p}~Hxn;Lw}Dg> z^~G5~aWi|`o@>0Xd|0_4!N?S@%30k=_)*cqjfh4J@tcL$UcG@*6V>T#nwY^q{bnp^ z1j{92RQCKI*kRU^Mskrq7s}oMKQ;E10Km004B&8B-G8lR@$jJ)0|4V;>5@5{*Xa1KxGr<^7jyF7;__TQOS z=1RI-7NyLs@-iB(8ed99^pQ=UotQ?ZNS2M)TgQ)3bM4EvrekObU47mpJ+HUHG$rrR zD?f3~HRLu^V!y+5EmzV;*(!{C!=NupwW{(t;Nz~b9~h5Z5}J!TSyEna2R~8GHS{)J zVt@B^DOb{i@<|xCi=hIHJIb(FWhXe7pz>gvmeP)o|;NvF?a}pZn_7)Oe(I7t&&5k$1i52PiV`qu$VnIv!Na7N< z^S5IxsEt#zBmIW!!h#q^6}K&#*cLyed?Z^17-(pw;hn`iOf<_bSN3+RA{g*%XW*U1 z$tJczW~0{HSxA!4wuuwlnxbGwOH{-IxNsiL{oHJr_rU^1a`76>`l*bASf&q*!=^msYvv zj`IKmd1t(u*fx=|%K(9ZkuEQMzSZZNW9*BvwG3h5#qEo6&1L5k4J=);X<`pZx#nj1 zB5gavIe0gIkaNj!S`ZG*iIVa<3~6!6m|74IygDJ%94R+a_O@szP8QqqOU&`}fUi;H zP$VP0@HMDXE*Y(5!U1L+gQk6i6IUitQIsu120`*Gv|AzycmTI$2w>zzb_L^WmcRo7 zhXi;VL|K$Pgb;7B!CUg-wuV`xIS1GJiKu7!5w`A^Y`i{`j9i)79fSi5C-j<_qH1MP zsZdaIFvc_y^$`gZouuc=EPk4Z(#Kb}vhW^Tfs$psBsJ{^4q&2MVUXm&V{jtsi&CVm zVlF6|8OxW5YEz1`#at8diXBvQWhRA#26nIHH0`&QV4^O!q{+-z!igwMc$BUEEtnU1 z)!EftbsJ&3lSj^GO==>YXC&q+U(J9HSZ)CJot02ZSABVd{{Fs&($h>u0rC&R|G@bV zN}g@AK?LaUc`bsT73Pan(lhn$5Vo^Yi#yW$`t5f-7m9;kV>h@?j>+8=u63xlCj4H_J@9*NT_Tna3ThYhJh=># zLub&QV!K56wx4&2@a(X|ZSGIY0sFMe{DJW(y#ormxxytPX?ufqeos_ckQ6$@;B>!B zqj=CV4Cr&M zg8XxH65`#8OeWQVB%Y|POI>t7!|Cg;B$@3W5j?R|8UPLT(gecz-4~ohY|X{{WdA^n zha!u#w@xU9r)|-tF}mO4)T=A0eS0;6CwQ6vDX7%y*>PskQnrN}HTY8guA zX}fUw65ap()Tt}UYlq_>CL?%OXB+?;y_La0JVpuQKbhteu`xF(vPz4(hf@7(V)m~| z;6L{DXGir=#Br!OLC(R>Q*>K=IsDk9ns~&eoml>Cx1p<9a+Y8t%N$ba$3#+j z76|gJy5>Tg;kvt;u~NVdg*H;@gX7_@!2D>yhQ)Ux>9hXIu4aFC(8zUwoacV`m#${; z0bnFFh|hDsuNCg2v_zQ`e8quYz?}g%0$U)`qm$QNfq5K&kz;WRyzoTJ>p*}Goq;6M zqx&Ri`Bt6?BcPi&M19LXt9mUE33LAO~JMj-p-sdC!4NzuCoIzWeN77%_) z74XD1dv)Q{5^$tLnnN15GTAj3l}|9jafPozZ@`gY9l!{OJhh3-kvu-Y2uJpHlH`cJ zrtutkn-2H6-$s#hyhe}Ck*Nl5paLnS9j11=WD1u6BQlcACY(A1Bd?_Br5(`OT{5i8 zz>y0XO6iRaUvy5b7~BWjL75|V!H&+EJ^*e|ghQkqaJVj+TP48A#qC{B`?m>jF}VS(oLM$PK3@^m+A|K?yaRHP@j;42IhIRl)c8?`I?W;WCVm_hdIhigDcmb3a zGa}8&EC-ID3_uPuE^x7(Vd9aBGj>nR&w~gtz8gT!t0N6GD#HgZ7JNgPlX>ERM%8oz z9Nu5kON;G#B!)k2zG0X4IpOTeEW9NgVY_DZ#B6p(h-ut{a%3(o(WvoT0*9r1a<(}I zq1JailTs8p25{s>?AISf0f&T%5hX4SNdZL&er{4rUr{a4N zD?wRA5!US4@45dF zSVyF|?(VofGvZg_a2>2xBYPcgogg^`>fvxRgkSxb8IDN|KP-4fdZhH9v*G(If0yBh ziAp&V<&T$2>?Qs++Wyx_;$I^dAij|-py!p_3@`@yyMmI=q2U!6I`Rf7q?>bLuYlNO z9KM8&3ujTn3oON1foh$OlE4^?NngU4r72emy7tmJLTHda@`3J2gS{AH(`6U~8^>h{ z!VCB$O@V3DX4q0U@wQ*oE^r(#;dcR{{uU`pi@c?*dyTd z1{jk$zDq$TRyaol#XLpw>!K3ur4SjM!}~B1r7Q)w^?ixl2y1tVU|^5D3l}(L+T2cxO>~VFc0>;cOuu;$0_C7vP zyc_cf(GMQ}lX#mS;6tdp_7S6r=;t2RgC(hDRsDneKNLoAPm1>e)QX(qiDDKe*}!y} zr7|2)QGFkvu5D3~93B`|ME~pIC$OX+S)U`gqa}&~YVTd16U9)><`C0eRBsW`1=h;2 zLys(dh;`TgE8^2#8^UNK`U{6&!IFftkrCY4k{bXuNw*QAn2LoQFdcKf3@6mv$A>_7 z4TE`%=pP0$^j=5zEL^s#IMNXI5u?41k)wu;p zNuUG__6dOoXTP&SEmz49SBgf!^|MYg=rV2^cCl1VFnAUwsM~S21NT;_0uP=tk)-T+ zfpn|Zxe#VU-LQWNYyI~!VanN|J)&(?1%AY_1WY-*GDNiHHxaCdb+SXxrgRYt`u>3R zj_Ez#5-iX{gJAttI1_aAk_Q$z!$~x_bjYNOO&EvGDRF=YIgSZ+vBi85b&xoM!5eV~ zC~ig?u^XsEU^mJNNl`d(LhM$L0_?&=8BBcs$lwJn+}lu_aL@uLuZ#W72=~6UhZLu)}an0d&eJMwlm!ds}FAjQW?RCnat1DH%-5paDWm=?P6 z#}p=`R7|jbl|z+sjQ`R`=9?n$%U+-qADlTNXa0a-eIbk!ik})_ndFLZuUciZ6X2qZ zArvXiXj%k{Q7l5#KZGm=pRy3B2l*hounQp6XE+_kuXaraMUKwGGCy_@3|5>7>S9V? z!7`i45Gb>Ix|ljL=&=c9N@f+optck%)MwcrmPy$O9&|kitu5>Qz9LC^=XJw6YI zWlnB9zUe-1o0_`B889CyF2fn|vt{^# zNqWX*gs-bM-p3x;_j~w)?&v@}hZ_0x27lMc3|ZxKUoKK7g1dKNE6LJt30+u0#5Ogau7y99e==RU(sG`E zxTb)<(Pjhpc(L(8zy(xmXg z3W;hh^{i!zPFfj?%x7Gq1W^j8J|<#=3W_pA0sVx(&%bQWoOEB3lu^z&1rbzf3U9u% zoWLdyGu*`DCc?#(ytOqeWb8i`KOnj_`Jptv8m_x}AdCvD`?YL&_1*ka zq3O!-sx5ApG4PL{o!1na`+#zl>KBwRA9ZU}C^vULWz! zjZS5xqIysk8A;s2DLZjNZZ!)vuH`1oDpBnvOzQS1hM*)+tuaGU#ZpZmt#!B0i-E_) z5&kjmbCu0DB=7WU87bqHM+9QV1Keu#sxRmMBkBAj6sI(7V;Cx(HqvnF!NT-QyxocG z1Qt?YJU2DlR0dtKc znGuPUoJfnvyxw*&5z;q`y84LMl1=^=R`jY5-U{|SWMg33UrrG zt)w!jyA#m&NALck%KWC5NVjw@cS6z-Q|36}z0@NLqm>gtqV`XMM3x>4GnbTL>b4{4 zG9&Nr)}}JHe_85YTWuCYNGbc>)4@BdCAM!Ac8Mi&$`n3A2a0~O3 zH4;kROE)?Y<6HBv)%%od6v@`-ePs`#enM~S6cm)j`2HmdtNr%eHd+7cM~;4KmORDK zER-!9-((w(?#ajv-TFtmRH~}=!uMbIA<<{$Y<~hp2CEgAR_+r=wzUDhRykTp*J+6QqX(w$(omuu)fHfb`T~GiBA+fV{1l(nDkH0C#px>!m z(K!bR1FgIX+sQ`DiI8Mbt6k0*u2}?md2X~d`O4b*T>6jkEzg%}kAGSf|LyQRAuu$2 zoQz^dhCilwkvk?K?~8%*O6K;w54UeQhGMyiVK*{M^!sHpK1IVs$V*_JF;1U$^U$tNhdb& z=$-?|)N2CIjYSE7N9q&dg8sMG)iHLgHILE5Eb6%(**ia;Fp%?p8vD%HlkI;H!S5SKe9wP=-{&-Zi9#)A1`L-z1h70)_vme%i2QEAyc^#@)@x#^6jXtP z-@K&inW!C!loE=5$$YB%!qX)c=XQXTNvB3%+iTJu)>1Jw=QG=2MVf$;_D>s>(?=Xp zk^b;kTaWJr$jPZ6IG-5i=L>WZ0T$WX3BDI0O-oq?PxgdKGrXW*Ars8S-&GQbcwUsZ zzE9ACk~skqrwE`F0fNQv1h-$Qit6z{^unb&zGQaFqvN5O$I9HJjtwDVpR^HKY}I=9 zp@19VE#RFtF8zQ(ITGO)tbuZ!`59$+-|&Ns$_0k};%>3@OITw5!03;SpHDfOPmzeP(`bgEZh3Y=l=Yu`k z)l>GXmh)~GDQ8c4iTCV(tFt>gV`uL$)j1V97%ephT@3THZ}i7Z7seU|b(XrbvV9LY zz$#C)O28|b)9#8tjcG~3Bn80ay|#CBp=yjl)4t!mRfMIa+4CJa{^OG; zW@~?okFqnJFkC)-Cs88=s5z$GQh{8trTp=CKAK{YtcK!a(&qms`q_eeGf{f6aJqp;WFy&b0-dAd28 ziTbg)J8aC&)`Y^5fQ}`Xao>f*dUSe68l@{jPm;Ze#`t{wtM~Pi3 zjxHN6?ol!gAl&RVB)>zU_BfXNiKCqs^gk}9Rk;BgV;kzh)nA6%iFewZYXu1Gd9`1} z^|U=Wk@&$bp5=koWpWJf-xPrp?}`PPf!ZU&${tYge9We(ksy4^XMXTd-=MO>^_`T z+o6(Cf(>cna?SFbN%?j7a5~r=6`&n_0cyowo#vTyLYss?tSBX{f8edrqJG*VePC*z z2IZcQn-IBqFltjPP}ljB@SDzM_<`O%`ZF7bcVj36kIKP>Fmbn|B81gi=rn32CG(C7 z$&KOT_9ct>=oQVzgW*Mr{7@+GlZ<;6bnbt4H2TZCe*DbjU@DBw7<$0C3h6nZN&~Fdm%I zG8tV;ZO;b1c!c&Ar6ggd{Z!+rCU`J(X5P8pU0=|oa318|U$-qZ3x+P}O ztRH5a>R+e!CXT8fMVd08BXk+f$ZDr!p1m5ZbD4B)`x9jkGW@OQTJ zdrS?6%w@DmW(rb47?A@me3Y7pob^6-Hp3E!R*og-2ZinIuT_#|dqzri<#TqtWA+4; zWF$=3;{$cRyBIaIQzW=+OP_i%ja;J)6EE0Db-A18t^-*+C}kl%W^D#FEM2gYvD`X zezkY4I=i|t$cZ3gl@fqLopcXdQgd_pXH)w4yZwgWzoT!LW25{rn@Z5O=tCXlUC!l# zv_lKOK+(X*$IhkrSF@wjTtuui}GTx^CFHW&JG=bVc~x)Jl@4snFlpVf%w4WUprTJ%Ud ziQsSFA7G@Rm(p+*SzD-(R!?>R$w$_%5Iq$;E*o8m0~H7Q@9YX)>OMI!%hO&lC3j0w z%{l0y<$vh5qk_7sh(Edhpa5_j%74-vSM0l;pez2HhO1*$uXi>kZXn*1HRE~(?JaBU zO1l_2;@THl*4^J15+>t5>uVLQ6Nu#sWt0o@rsk$b)rnTqQfp?6#O(5$w7GD(_A_U$ z+v&ZC%~hDY!*3JM^LBP+{O7zv3TZR-m&f;$lH#-7j&<6)b zn^L5GPXZnr+l~YHVsiZ7uLm11sE`m|x!U4+?Teut)$6 z=7Xkm$3rqgQR?rSz|bP-3G>vw9MumSe&f|O8flN{tiL33k?X#7P?9-ITn%8}PWFwz z9q9@lv%x&+b9udAnhPt-B|kkelH^H+YX*2K-X)*#ilme3RW<5SF; z)k|KzHaq^;GHvuoJBG7yM^5`DBNu^uU{HhLuxzk z&x(<0f~fjucwpv|KL*=BUT_~%VuT~|UV?mgwT8&=)O$uq2hIDUn}k!szl5lNds8<2 z;5->dz>wgVcLQe7-OCBlg}>XBJ=Rv3W{Nm*FzMRTC$d2Ganx9l((^i!;l}OC+)KnW zB4I|tbXOa0S|)lbxv{U!uNPIL%qH489Lk#f%fL!gV$+if)AMbLMx%wJYbf)~qzLUs zQTfF9-8&KoD2Sv8qb*^_o5HJI!?SHM`9tGWT*ts=fg3{5HWp%x6Gi2)D z0Fwn|+ixDWD~pMrhndAX9frz(SE&XY-AXcGIa#Q0g;=_mql9vISO}5X-luFWcN-9Kzg(Dk$DR9VzO8N&ZoHeuZ2WS-_Tg55ebhPQMG%J)i}2(8a|#A};jO;dh%2lR z7SPyFqh0rgdO)63I!G-Rt7eWZV=^-Fj zpcRqtAoC`rX>}e9wB)}L_VsG0sx$yoSLRRg%wwxwf{uHYH-E34CN6wtKGXE&-rulK zX);4L*aRKz=LOrh?FFq#f|%e0j&_b}7A5(xW9cx@0kXy%x1Ef3$bcF2YY$D%2mCtF zrrkqymF4~6fNiG(u!_oXctk_l>Zo+-_svkBQ9DQG=>c8#BZb}5HHM;eW?5VAW-?9AJ1Wza9_$Cc1$Rq8o2IL+UknBLMe11`80TZOU51w22f21(DTX z`Ek33AbX+jmtQGkh-Y7X=^st{ydA05bIMKmw-){akUkp?Bm84BrQ-NEa`i)*0bEkq z@aY<&y+tcbyX7hEkD)%kG)k&()fW20Jwz5PAJu(r4pdu&-|^h3SYk|8li87mK=kA>@L@*6#i)A&GJ@4NiVUFFlMe*%Rd3%hZO5BId0 z2~E4il2|0~u_N=_`~zy4q5f+QWnKG1vl z_@c4*Ts^KSH>4G5MizU#Z25RL?NBC+bm;iSr@d_qYU!Q;V_fZ`xvTa{U_jZ&i7*5- zKO)aY@2cKWm+5opB1#XPOL2e5_ffh?U*>0kjgDAxC^VQquR^~k)uSGPjZ}YaajI4l zh7u)8cb*6iC3=8(J`09eel~Og7>kE6WpsYa_#PBL5XKK0Y51ObX~juz7s^1A2Yefm zXiD}y1+MWx7{M6F^&kKx7|^9|@BbAnni(M;$aaVNDda2J$2s#iNfLjjFu{bVTLQUVfpx}cK^~pod zl_5I|gYVwV0W=JcpG79B?V!C>)1>5ip)rSvBqHZ(bl(Dl6yKp>v-Y=&rhi+1QJUwr z{}y6c8I?cwk=N!K-tdb4%u5#d7Q%mzf1OtitGLAM%cXb!?CHnkOm~H7A*nst%4Vv{ zDaWtGduJq%n+2drKJ1^xHy^SN3|W8bc%q$h?|0<~GXuiU3{eP{uc$v?eGVtKTzdRP zj6^gt{BP68Uetxk{szQ2OAN*dj3EA#wkoL;OktJCutA5*SQ0~iYLXEj9~uBvpEnG@ zPEoM@rq1wie(7~gb^q*tKi=27#SEDnKqsA^{v=K>1Iio4cPNDW=X`iPQC7{YW-z) zdxtY#LEO&0!#%~%xFBS6$@WOmDk55a?f}^;RZ-|Y(?Z$$>dGfP{zoW${;{UikMmIT z&-3?NTkbbiZ5@SWR(_hma9NpLergTHtq>xUGVS;66bD11o#9q{-DGc-&mKfpx7Sp* zc&^j{UJAIW_812uf8{_icg z3M4*jWIqw~kl-6U1jy;wdv{!PNcTU#6CWR!?KYL67jAUlL|*;`mWil4QPAfHgpiMt zt!Cd>jc>Id8hIKzw|UoaO>>@*AQRoh{iu##l<*v*QaHqt%5K`8e>C?ZzR#OCUD8&b z|La9Q>`+feS-RM^qwy9K^v=bkx{43{^Gz zLH$=Vsk>gmm34l@MeV?Hs!FyOB05zI_4Zod)F-TQXe+rtypw}Xe!<#3f+m`13)_g| zjSpv?YEP)g$u?Pq6T{Jjw)Bf+_AT>AY0MLXS{w8{w(~8$l0G@`LUZDvoORv%gJjF^ zg9Dx%g!{;kexdIYu=?p$t?{D_5bi8}d0G6a3QGKHb*SRbyV(s9{(w$6%g!trorgXlxv?>X`i4*k$jJMHz?hkYCvsk=z#DxQpM+vqeE^ z7Ph#cT<5sDp$6w+=C=>32sC9ne!p|}8Z>0ipkETZKJ@uvu*fYa^5azpme&CQ4PM_3J-$4`fZpVP0oy`8_G4R?#BHPrsp^Hk$; z8CUe=(}hI7`)iF*#(2%-ua5Z%yn*K4!jrDbI{c)dwa0C5M?ch+yiMvSTO6G!PQ;Xu1opiQPn5+8 z7EfS!_a+Km^JytJXeVOt3bG*MRJYYMNt@oiq?$QN;1+e0PuiAJ@nYgI*el%0K5ua+ zb_6w03LLwM&@q5g4aS>DC@yCRei#Mgc>il!xcu~4j{;;@^&+sl$uI&A7dggaV`tm^ zcf2f~NBh-7Ef_8W3dT0;W*Zo_78&ogve;twhM{>*8n*&8gV2zPiIa^J!ifs3Gj<}j zgvx2S3T4%Lns&As)^~$-ljZokU41hO%l*=A`y6)Y+~etDp=v8dde9swr_|#xyeuvh!+BF4v=G)%yfz z!~x7O;z;+ZN~ka0yf@VsQci^IxY&Nx4g1?w5LA@vdq4Qzs(L9+%&c3NRSLG!ed{ef zO5i6F*mo(s^@3auZ@6G~7S0;+iN6nVRKHpG83IyR=vi=~IlAhqOSV;Owd%G@{(3HQ z)mdi6k@p{2;RhF(Au@Ab5kKP1tZWrpafD&8-+$!8S>c_aYyha1095IMP;|{V9=>bj zCpUfPg3$8sw}0+H|IeDw`L@zeCktc?!vj-|^+K%>UyJ_M>wfi%@wH@&*X4Dg+iwl} z_8#`@^q;q=$Bk>rvB>OD#ODbY%)=^Q5B@&p)H}Qn@hLbj z1X4Zy&>5j>ZP0T9NRV6|iI?zQX7@j*A9T*q;iC5SzeqI9<} zas?#UH7%1w|0rd$lESix3-e;Q6qb33s#D3AVn&$fMTHL;9Kw1$A(8`XZzz;g!WbF% zsGJlES$sM3Gd{uzL?D>Os?JFW=qcgJ1*h`o5msfTu8D}P)E4bq(a=RAc4bmi9IJ&` zsUl+`~w7AuwD{?q$#3RF<5k-%v(R6<}rewN#krQJqhe;@{Wzy|#NK3|g zGlfDd%_1ZUA=~_m?}>UTX|hZNV0(o}Y?i@EJ#jBbYg0`)Y$VrvV7G3}LKXe%5?#1dbs=#Lm?Nv$~LWo;smvoNnNEN*ol~_KK(?^6ZVFZRLiXgnGY5tU0=08%Lk*HZK>kM>GJe7cN(H|Wod{vTkF!IkH-*A@)dzlJFML-?TX(GKolU|Qym_)v%36+ z=6gh?HVp#Y7!gtS8enq@yu!;EA)>L0_WvaWc*v`wA<=x25SeK7iJFX}1szHf6oN%b zSAry#I6=a&z7fVEuY^JoR^t3JstW6y3lUBZ35v>LoFpi!vVv~NR#GB@9b%J}%CE|z? z(J)a&O?8`T#2eMJz+p~c1-82=i6MI+FKIlL6w{oju=K-R|y}A2=IDPeR3=t0bOLJ6~8O0b`_{iNKh*!o@e<6xh4dID5$(DIF1DJV^4l%Ca1kW5mM0t|ExGr z@8y6;?sx}iwfVBZpCcCm$>7UY)r`%-VGE1^w?kgDm3bV^nV>RQ*CQYDN}96x*);mt)Om+`{x;XYf(?>)R_FMyTS z(Y;C%RE1w#Zs*Y8ZWOh7ndiI8k`}@MCssEg3N|W*WmcrtGSyHnG~0iFiI}{2-Hw&F z^b%}3i}x+vFg_j^hu4OpV!h+GO2@Sy>mLa&AA}#o&gT<{ z--)l9*HQcWYu^K=#YDBV*qAv0K;^c#y8vH*b1tezItu!cBYL4Da^wgfQv{w9WqmFM zK=Up6gQ)jxP#`GG0}9~y$b3RzJA0J8OfF+$Ac3@lEY%Nk$Rg^sgPpgkY)gULF0u<~ zZvG0WU>3?%(=l3C{6k@EPu-hIbf;3?3Btg2b|xA|GwzaZq4_+Sh=!X?I7%j(FQe1m z#OaBN)2%B$Roh;LGEF8Zi%(65qs0-YNgbHOc-otpn3zBe1OSJ~_u15ZpIs_ZNQl~3 zeV;;sDhOY(MNdcnPs!VgH-Y{HSS@ZwME`;QLyhNDZ;3al<`sotf8O3r{*7D#t18Vf z#uyMpSV>`^c*q?rQI(EHUH5x|K$b<2kjM!MX>p02Jt&di6YVG~klEWM|4KFsm?yJW zi}5J1isZvmLKCrO%k1o>!L`-z|ARkCl1vnCXyuY0(gx`};E#z!V7-r^1N16FA@2bC zh?F7`KmK9wBlIc(o<|>sbRRF=Lw-YU^X01%X3c-s)6Y2X74`GqA2a(e-Fbf*{_fv- z>0h0T?!R^a6(frmk6f|;|IS5Tl@bOKiT5kGVu6S-L`acPBmuqtl|*iRYZXCs{Jc8+ zi1*5TDWu0`s0A3npkAmSDRPqHA?)L!(_{(EKgg7bGM7bvjoFmT;RWt3!lbX7 z+dhsSiT6iS^{KQ0?^#u4H5JOtm!OfI<6}Ga-gI=XkY9RuW6Jko4RjYOlVmzzwJiZ& za7*B&xxiq-&EJ?|OwMf{q5cGhzkg(Y`$$Xc7~@NG>PMQTl}1`_)V}!)XUY?8<%!kQ zN!R;a+hWIAJh|9mouMZ))oiw!$yZWrx^_jPJGrO~L9z>&t-ijc{ryNumCFs6=*6q8 zwtOw0|E4N~)S;vbX?&Zrc=f2`jIJ7W4&{ed4dwGgZH1wt_hzbZ2x_flGJPrUwNzKa ztt2|EL|1BG|B`SB$Vntzv@euzEhQNxrTx^6m0m!MJNNIsE}8-CNKKpy0yK1 zJjB*cM`CO&^5uvb(?7_@PG7ZSd#%Bu3{q%qvmeTKRX%k&?u`{qD1ri{A>Q0_x}-$kM)| zIg86a{}g1Q1skz?W5MTKsd*vZ=eLAdi)}miX|Z>Kj9)Li=Y7bVY|?V=zHG>(%T`hq zO%00@4o3@aLn!9cyu3w1Av2_el&HX6)88&>xwfPm;yg(KZe0;1Ns&}Z7DV8_qE>s~ za&c9E*^FSMO3|phoj=Dp%?#wRI=+q1|h4SQ$=Oh9CeZjBtOi+p~rfL|Jyf z8`fh{1Om9Eh9glkp3LN(-kwIjT+TPT`>MU=LduS)l96B|oDvqJDJ_}I1LlpZv4|0h zNMR(2S}3Mjp|}Pwo=injQ8BFexU1!FJOebxf;Art<6r6V8Nd3_oxTq7IUg6QKm{^D#e$6q zy5oj%skL(Y=~k|VSa9pU z3=|ir?Aed92_I)App62o#tLBG)yzg_H?yBP%*-$kFpn@FV;-a2kB`3sjAbu0$Wn8z z(fYk5m+uQO=$76#_3iT-Z_`foZ7MnUfVA4imycXIGIHfDG+5leti65NdK&z%iHUI& z@L>gi2IEIdqit=Yll}lD+S;m)(>&`B*Cb6ZB^{^Q*5>_UK@#Muw6)#4AVp6{B557c z(f1eB21)P$D(J26sdrT-s(9zf-dp#M_`zg(*@k6hKR9)L+x6bTj;lLR+ax!M9&MF} zswZhfmA0d;b|ATx;=SB9wwh*IeJ<(mOLOH)Ya;1FI^tBFHE)xK2L|>Jc+X$z?3&w` zvxFS>=X;dd%3QO+z87p)Sun=HH3)sU7xl5eegVXhM%~viB4+T-DLB>S7w8-HNcpWLYU~hdXn78ok4r zq^c~Fv`qHE#ksylo4K;B&>Tzmq&kb}&(JrET?DHuT<==%T2&lZ9jPWGm} z*Ri$tz?2!cXjR9@%oo>-M@HWTXp*?^qr=IJ}`wp(YW>Y`sY9Eho8%M z-^+McOiexWAOA7e#v|;%!5XDp#b)L>b6>C)O~B%m4)`00DMLtkhcRTd94QKcTZJ*7 zGlLwrT=kv5sD+lg-M4nVIz?*LEl^*3cYfom?_6K@?*+5U(+v*wRuiR#5QA@7eq{Ng z%DUT%&g?ge#oN{m3@tyh;?nhNd;0K`y**RwU#;(|xy4PFe;i4dk6%45YJ68EZRg9y zMMe0ALb91|emI#krBE2Si{enBoVU{h-Ml7_UpRE)jO8&-Foprr802w*1ao^S9@|w@B1^R;0@V%lCcEz z=kWr=NWP!YF924k-?hUunB~kAQ1h#qn;Axj>4Of#bOJQcy}GpbR3#7?CUKR5lMrky zpmtRXMQO~1zL^`$ z(FoCI--Ho>cOaU7ZGN;!QNVH<6r;&xDUrDDCMB<|QL$A}`!1n&Np!#WL(Q@Pg~7B& zydTogkCT}jXJ5PF24dalH}aYV&1DBEt%Ar9G&1{|S->b`@x+4GypC2w5UfYZQYuwS zqS|$eyj&^7k0 zRz>$zy??qrl;BUGSJLI#o4WEjb)TET8xOS&RD0X7%yY6(NP3K!6-JET;d-vlPGOm~0Q|^BH>FzQU;Ili~334an0#;c9Z&7lK0!N*-VmTCe zl2LEWz+H@XH4r#U^@<%re7WTBdI^?-?r%cT*_?NB^<&Gu4@Cqi|J8J|zi08#@gqI` z$@JQ(vJ}yqchqhjMti)+ZaVBehF|FI{=nq=p+pC_fAwR__T!^3c6GfN(R91hJna3j z*43U)g+rNSroD3z_4NGtFJe-A*eHFnSbXt^%a*5k{eRy@}MclcA!J=7dM-PcERFmpOWs!QkTz9i)6@G;<0 zfJg!V>N{J%^DE43nf=rjmccX4Pvb3!@fdFl`m{$u$=B8W5$llMzMp#>XnYSy#I<0* zG)NB)U3jA{l|g21e{rTofJc3%4f;=ioL&WF>is*?&%Ez__{_wiB})#?&|so(T~E)t z-RpXL*Ztm^_bvBUEZObH|M|^cn#4LQ7n5HH3mRH zIOhNw=-{Yp$5&2{PK=LUbZYA@490y^XxTOjgD8lAK|dTrO>Na?c83i&llOZZKvPId&qHLcT|Bs zn&s-8Di9^TWHp zbs}^5CkLv<{0%E7_dVG^K+_saAFd8;-g4Qd$rbw&Bg*iiFCMsT+r@{YWOC_=%QtP^ zyMFbGeb%sY-PRpf`RQ|dfP2W#{V^Q#J*0&>$6N|1HGh)KYHJS?CWXov_ID!zCsu`L z)tWOWSXp>G;B-xmYAmta6QBJS?!N1g)t*$%(qCXk&zXwV5&zut%^x2>WOXDIr9fsl zPL*{f?J@ap)Gs0x7MydBuvG-*@xMl{YW1Ufkb*@s%_<_VB}N9&X9x5CF^_ znmvIhy+e~|a%Sbt_tNYTpsx&Ey!YY(KRB@lKO6}1%gg2EWD;QYE6o#u{}K5Oz`#6? zx2q_`CeB>n3 zmY%6LAb#>p_us-($T&%kz+?JksrTl|GgW`x`R5dLliQe!n9G>M%$>}=KwZwAB;6RgRb4K8EOi$ zxD%^a^-Ljz5nt02*F8QCn>%6G=KYKOrS=u$U^uPa3R3A>?Be3rc!n(!O(yfzf^CX(VK#N

TV|+vEqLbBJH@BP{;H;!hGo32tzH-U!B+GG^l9{i*4??aO6@Tr zzz|iy#dJq_YlCyJRmfSmZ^*cifi2k2;%^jf6aoP`ut1pf2$%tCm)xKjdI+ZLAtkEY zMs(NP^EfvSxZbbh9Txg>$z!x|RCz3=Z;zxNi-a-xsi7RBNk<~)xfnkA_8d@igFBFD zw@|4Ri6`__N{@shqB^%G*d#dw+)o0y7oUfOk%F<}K*o?|@hKXf_HEVh zAVD+W{MnWv8UehKAE~`R6iE2UR9cx2kNOI#)2^SA=Gw;j_$K6?3|p8TJp! zcAtj~wdhl?Z+-U<52>}NB(<@lIcr{dPW#ENM?Kyha5${fatkBioR*8h?Y_K!rHJ`VPP^*LASsm#>T1yRE-$Ry8&URz# z)W})J`_1rU=xT2ddd#!XYuIXj?vo?G{`JTwF>uqud1v~}Ni{?N#fd%(4@j)~UI_kS zJ;9+p?{G@b)AUR%?<5V;wD$zs@tubrdg>W}c0ks%1(bxZPb&il#Uy@=hr z*P9Kl7n-(9Q9hOOo?RS8J+E0=l!)=)TZxPjbZIJ&zE><3Z-ig4$Mrt)1#&aUMJ`hZ z+`p39!0cdlGnX^_e4XjMlM+1x2nHXd=NNx(V8^BmL$^nBZ0N(T+ zW^+ie%QcAiQIBV#L?;V4WBMagO`D!biT_nnyPC`JGhLy_mtHq9aot^q#-}EFYPDVT z+u2cr+IM7zI{P;7bg%Os|IDHCuFZX2OO1`!4Gdhj-nhI=D)yOXUs3Xop|tleFTecy z>qiusoR$?ue)FZ-s}I~Esc6f@p?6=mWa7G|D{sje=u5R-*X*q6@ykaVI|rMW&nn-| zK5M+bc=7ATv)S(|TMw<*ue?&&t>T~$6F5VgVZP#}@zuQG&!)W<29Aes-c387R z%mg#Z>}2*ZS2EWzN0_IXXPCcYe#E@N{03n}*NEfqK-A`rNURnBosS2HM+J-&Rgdcp zeV$Vl{EdHhfvea;pU{i|}w zqFdE{Un@T{Mwd^^%~0T}xr*)?3;RB=JaEsDm_t>XJ@6aoMVx>9Qy5W7;%65+;ALRe zOIC0;pykK>Q=(|c{QQs^8XdGL!VWed&+*`Y_syU1iA;k3={KW5n(=#8e)Vc1VBtnR zkti0ugraF?B+`yE+Y5MBvApCwPuUe}h@?7hx1aAr?uuB^;;H)|LpHX2vw}uP#+15%to9-fW8|>Y~7Q zc4AD#dLoKn(i6=b{$RFQA=43)jzZo@CSnr_)K+RfUK$)+Q>!_-j$AF9t>xTY9>1q~ zyok>fn%6HP#gfgk&Wshi!?8hlN znrGQ?IxIz0E@GKl7V|7Z<0?l&qM<3NJ21lV5(Gx$2nhowVnd{p8VAEL5FF;NLNNqj z^fCH|6=&Ma#$s8MdU&0Eki1E5U`(cySB5j!X z$2{0poj}PL^%@@|w&ibE;>!Ybzic-I8@)|TSP(Vlqvv7*d3t2{iYtG1_WEnbm*5@UixpUP0+JgW zcXs;+(Dq&NeAkG|g4h6QyL(t@o($}p(v^Gyr?QfXI-^Q1hU4E8cPhlT3k&@ko^s&c>sOsIH_$D{5+LGEOE<*1%;G5oDk%RSOnP z$gmWJi$}t8yQM4fkfvPu)^YNqSHAoFVWLB~HnC{{#)4&g*7hnP7&9J)74+5k`hJ>9 zdM112Fif3*B1(?Fc|NM<63uVXXd$ZRZ-?*EB+I=e)yV`QY3Y z-_U9}=RDW!1*TN|K*y@i&Q%*BD3;ob0|Q0NwQUz=noo$bZs*;r#*c4x;)X0Xe}PWR zMl8MJ;+{3>oS{AJp9f5)Ak65qzW`Z9UHOIp2Ug9sm5`r}YeN(?8egH1G=V^<^E4Df!xo&CFirX67E|e&#`txPf)%3bhX0vZn^4 z#s%I9t^H-De^$-gKQ*aNj6NMhzCJ9B%f&E`Spk}&c37_1i{I(_obH~o(D0ieGgL3{ zO=r`k`rtKgMvsELkPpdLdd-@QA*dI6u#$~`e7v1(PKCswK@w3HzM4p|zP;gV@K z6SY!o?y+0Xz++jKjU{oJUhq^C2B|rLXPPrJr)MTkx399DkZR=;`C{pT2P{jsEKRfW zk(7D*0?+#UPrGgPc%PBb^#qNSVgL_j+LR4L_AjSnrM~`mcs@HrEewI4;A=qnmiXS` z!}E5(d86NX2ETcGpL?FcujU*4O!Bh#)UuC`dr#%_PfZN%*|~Gi(8Q{ht{jOrKhb}r zhNiry>(>u@Pva-M+uyt5qDI`|rk8zmY#Q%4?YgI})z-eV%;Z3i7K!LR1FH~Ue(L*% zT+9?6%4ANTj^p%cZ$~+wN%3Mj)q6CbN|c%2cxW;cO-QlD7tZnf@L}J!B@`m!3V7>Pyp8hxU8SzWw_iK}qkYb9UY* z$XWl~1OsH)A>Z=`hlyL(>w->C@v9pZn`@oy--S57mn!q?bG&ft;0+gTT7LVUL0rA; z*xln39~_w|P`iGy94*^~yE$a{+p&ayn{sd;a z8mJzI>LRFiyvmh9iUVfc)?I&ZpH3d0JwvL^5PrHjg`f7GLYtdUO;6*^-jfh}dU_fq zPoB*DHgj@EWKCBJa9fb~w-XZ+-bn}^n3+Leo0@ug3gz>PqP=)XmU{YS5S5a-i7W9aLW?%9mD;d0rYH7 z?l*>F$jv>?J+vedpax5dDNzLz8Gja1yGI}uni;lag5SDlo?5@(!Il~5>PbnXaRvmn6Fa0JJw8V+!CAa*-7m`jjks|%+OF=*O5HG^LE@&|W>R&L(0d1XGC zL_Jk^aL}zvWU#5?FM4;=T^RjU#GGYrnwqLstL17n&{YJm6xdUB;CX#0(z!xIFW3uC zV#8l+K0%vAzkRy7d78@q^oM4=844WVfBr@E!p>&PkKA{!RsD8 z7`jQ3`H&h4bG#vRbBfBUg90mYA#s1`AU`DRGd6GDTz#qq-uoubG82p02^PKdx2vl3 z$VU!}=Y_l!iU`TPz$XC`S&rS|P8r6Oo9sE9NCame{(^js#Qb-q_Npl0t2EHcc}sr> z3M~D$6F^px=iVkp=KKLj$v{Sf(7B@Md}d;zR4>67&CErnTaoEj4m5laF$cXDcg*Yv zXwYty42EJ`>pZV|3*LibA{JFCIxmq~vKcquG zP*ojlh9D*JHF*$tRy)1jb$9*j>vf74Spon@-S`JVh4 z+E}X%Z|cRPH?0~PI(pNYiJ%QwSGN03Kvbvp-g`Q z?{|Abyb|GL>;aD_Tc|2aFPrflsrZ?277fV>8BL(yqN-tdXOu*ga3Sx3ba%Ycj&2fI zEOK(f+wcTEF7=6|rhg`H#^YxG2}?$&e#^4IZJjj-@9+uyCUDpT{<&dSGj{-A_+jQ# z%rpMkRl!-gE%q(=-zq*IU2KWV)cdIB8&`eXr+q#%*ve_ff-TL#rn?sJXi!|(GALLk z9f;sR;+TcG!)}d*#_d4a?z{HQoiZKlC4zc`W++!#ZS8=C`f)sG8Jx}$U5hpvhNcr< zkAxDLkP#xRDsW;_l{n5|c~<;ax15NE4Im-OXgFGf9EwDEPB2AysQMNb4s{OmlwI=#8teVglTZe@d@C35{@;`D^?TN2m~623iYA;;pJ zw`Kc$lXh^h^SSdDF|%*a&Ij8&+T90sO&(IgA=*I=8S>4CLGHyCM=1t zX0?%Bsq`tE;N3s_(n2=IUdvo_m;+xrc!nhI?j&0cAKGMFs@% z;P5~N1@V9t4?q-kJr+?>+|^yz6%kj~V?9>?uCA-nmHb{rR`qlbGwS~Spa1{!*_rCd z$jHdZ$jFFz??t@#ebXOf7sy#eylycODGBDmMKa0Ej3-$PJ9dtH?ZOYZngXa7Ue?>W4u&I5d4`tQlmz_y*2pd?i)QdFuaG>Ia{0*6Vu@?XA`JHg3H1oIUdwDG!U{d|m5TlzvU0FNzPVix%wOODd6MM6p~;`5_PC zEZlFpK_uix;FEorCnkmU!d78BN6BQ!3MT4Bb;=i%s8lU8-ROF`<^!+PT>Eu>x4AY< zSulFa1&<@h(WcinZ+Ns)m25QJ&s6w*FV4pWQ#SVJOh~QW37GsQ(dW?@gK-~y(Tm4D zi1@)Ii=of^{tJ_ghV~!J>k8aKd zkC!a?SDJvo&Q|hGS)PoZqlu(W4<0i;&s-OLP-N)qzxvqKrW$;ec``yZ&1^5uTg95FUI3^!*1*1B9>DuZ( z&9=3Ds_mMq6qm-wmJZ8GcF~;o9^sY^XGWlD?ve4Jh3henCd3L$@fjo4vj05Oi@u&n zn~JxZ3QSZggW;51+qJxiEnA(>LI-pd^^i!THb$ai>yC9saGp0|X=CX&!&QuYI%As{ zQ6d3rqENm2*)L)XM)75Y#x2J*J=;>{rjF$-{4V!QTh^3ecU1=^`3!r}T@1R*`r;jD z+HGFg{~wLd6|ebdOE>tqSm$d_8R%7`!XDwU@EYz1tTp;@m6>Y5C?_kNWJFgkF(b$` z8w;HniCK?ZaT0evg>JKBC}sy&+A$nQ%OUn_3obh-V#lh%`F^3`NkI=|DtEy=ERm(^At?HP1fylet>#&S_FAA5@xLtf601wDlX{#~L_NCYofKJi_YgGUt>6sM<)3ktvp zr_d7}tM?60T{(rStM-jdy>cpORF;os5Im?nRm%>Y&DY>&_33V5IrCC?=F!X?05Chn zJ{Z7!bGXiIqM$udy~+K!1-|(_+Q(o-N6$Eh?=s}98+GqktrxP2ewps*%KHPwNno6C zE@svztI-n(m>)!veZkZj$M3^>-p9zhV---&ta-JGkb)P-oS@*uQ7j)v*p9{QPdc&H zt5?s(b4vsFGz@fP8S}w78)doW*oL7TunvP}Z7bAgZ7a;N>Ll_6-=kv-qinApf4cF_ z%47w8=$(U^OkdC1^}AE~%4G25Z@o;$`)xFnDF^@LWzx($Tqc83OO7mFeB{Q%OO_ng zzrN>dpVlL>2*VTf$?@`dxegUkwIB+WY~)ik9b*>c?J5Af&C6Y_!zq>Rvt>B_2nUi%s=6$ z*x7%;zw}@^);P9cfA(fOo3Y-U-&^Nq(N|-NFo~NEb}b(hB$Bin#SsTZ|Edy$^Gx$d zc4O8v88tRNh#q0z&VupzTG4><$+WyCgq6a1!sWsng?of2gzpMJ6@G^hvIN1)qj1S$ z0-vJg6?W7*OmW(Oc#{G%ipv1bhELjz|Fz{5V1i_`=s4!OntvuI+dw*12Yr44PHXo<>@2w9vIW0a0$!ufE*cnfD?sBEJD6*q%QeFUl?u0ifamYyw_v$|DEPJfHN5P_G=g*QbKk>DSVNF?dHPt7?9f&=~h z1{xtZ2zC=0;VZ&7xgOMSga8>Ri#kvptw7s=A2~&WZQ)MmaJ|MU7X$Ze>3&!k&KV(N zJY`E4qz}syr)x~vq6KU-j;obWx`&SIHRUlrsmm=pZWtsCD97je7z~}0LxnKtSPR4R ztdKIsn9ILD4A1IAAv?>FW-&*ah1?K?lEYAKcFFYA*DAycgR?C_JSs(f8VAv4q*|`f zGFK3xv6jmQuJ$!L$cpBQgY!|i_BRywP8p!1rzrQk8Ky@Vmul1`b(I2?m)!Dgk??m1%h3NaE!Gm9}vommUCJUUcBbzy0m#}0hu4TE31yNnknX=<(IGe#p zbzJFmS+bVoI_hP8lfAu@ed{$xRUOTYMuUH!{YK~k^mI@gyZG9R#>X$Z_TsVc1RqjW zv<>8+ZK@i4$U^1d?N+K|sh-Tk+sM`sv@}9tQ)@iWi8g4o-d?Oa z5l4+?q9@p!G#+Dbg)Vq1*_BLo4YB~8_ck#mzKv3TkiRg36x~3BKV&XmenpiRP1iMH z5HD~#JlFL)950>5?+aVEaAy+^(&Ug6R_ZJwgJr)56$U>Mdp9vo#kPLp&>q5W_b1|*O_K89e_ zvhfQNg-2CfZ#{YDE}1hyq2Jojp*)jCTI>*`glHDxo*~ItQ_!?yp+_t`$S6@IxWW=0 z^q_5_OCjYFB`OEUUzT!LkD|h?f!-!Z74)!e_Xn?G$?rUU^2(P#WsU6GI+Epo(vyy; zp$X_5I^3xx9h?aW`WpIiu+BYMr_q@bTzq*U8zZj1H{H>AyqeyjyJ9q*t1PZ&Mmu7` zE7?9e`n{V>y7&OK9aH>~tOh?IGBj#WAF?0wO<7Om~vdav``j$fzR3~oG)Ah zy%9LuS#G$iv6kDXm|O5#i=TyhGmXA1Hys5k5gM&mssy@jtjr6Uo3V))QJ6u7;8XR+ zNf*aB_r?3>_j*YW9ra++GlTV}2kk#rX?&~H4>MR_WsL6LlPs5$ z!4v3`F8nR?mc*n7PVhMWVvBoh$RXzI zipCkIDie-x>eaaIUb%jzE0kZzF`IfK!GQN?-9%3N5RfHZNbQA(abr=Cc0(MV3d=#+ zT)}1!%xquzflnW0h+$6i<#F7HZN8sa_bvQ=Ny14puBnaZbiLuLI{GgyBAV!8Ro)~~ zeEfLHh>GhN5+sunjJKb5550wXRP##M@AP*GR@ zwRvQT_zMb)JBndS(d`f?hNHa7Flo#{|Bn?R43JE3Pww)Vr%*7jn*BA-$ODAuX@bcgr zb00^3(tKRok752;_YlEbt`t2hcto?sU|JM^LTnXyu?XIR(EXy3h>ImG>b7HG(mb-n zGS(f(5HX1*%#A3Fr`ZV(ZERjGj=;Q-6-I^i!YhP3g~x#_6_`66neltva%}?5tQv&Q zP0k=2)9A^YFe4uIP?j!pK9wz~%oJE_+NrjRBrO5FRz2lPYfCrJT+K1|b(TkW~ zQd4V-3;`>QxprBl#$+!HiEt0`hljS_rpj5b@eVJeD6d`L(^nhWx%)f2cZ}Aa$JEfU zQ|`H}t7IWfm$BVF^y-mbY%W`{PomJ^=V-u#(Cxs4uDs^3ex+kis`Tn87fz4Z<+PZ0AD3cy6X?pV5IT0sQV{TD*zzsV`YMIPX z(zf>~O2)$%cv<=5nuVp+N3Q5f=0s#h;iPBTx~07mvaxXf_AMj7a@!Mr$(bJAxMkmk zJGTvwj0|tv`5j4v@zs@X6N}j%Dq&R`Ep>?Hw*1tq%J0{cE-*ssM=D1buexUC%4@D( zw_@37W=;M*VM&kXmZe8-UNuuzW2+YRv`0Joy4nV=Te@%4hW>$p{tcVhoYciv6SUYpWg{zk@8A&h8J?fPFL_026>Vln>WM^W$s9L609xE2d${L#!J-$Zu zyQaL)ybfF=+$wxPcuM#-N}{vS2DBUPK^LKm(N*Y`=!U;6`OknS{NHt2^q1uPnezXP zoL`$I=ljE_$oZIaQ(V$#OA@Hmk8N7&H%BMTycx4aV5$k}Mz$8q>%$X9zfp#gfJj0C zAoj%IUO0g}Uv@G(+ZmSy6om=v{D6N~tt`HTdEg1U?3gU?Usx=4b}U=*z7@+lx*o)$ zsvt8{+}xH19!sUjC{)g?mZo$4v66oJg@9RQvxNY?6zhN4LclS7)SimDr?X*(Xs*>K(D*C=zGOC^01L5N87 z(~_hcaGMHOM9eP9s;29v*({8g#^Bp9p^^;OG|kY18xrW>6Nw;^NE}NhkF`Q{FQlED zAjfkKTR(7eBjxEA+DAs(Nv=GiST?IR1dV@PyLhtth>?!CDf6?{v5A#uEnQrxLOUZTy7AhvEUr3Zn36e_| zO_$%`Hfk7eloV!Lg9x;SqG-@k(27pfv~3GoN`;H8g+xh)YX)mzo3*0l0{N9i38P-t zR?x({X*ecpDqWj(08v1$zmp0rrRzEq7ojk?z#I@iku(wsBl!^gK@1LXmUu8sY}tX{ zLVi!K5)w>D?aXWLbDcEKb>N7FgL`(}!i<-1*|q2EC!+|d3H6FAl%%Ub=<;|X!s6tr zQ}c$=;6n<#>?D;djw%V4g>FJQdWDi|>gnD~K1db`Ht@%t!XmzAK4+lQS-@8m1~Ugm zW6K`HqyTdc?#Bh0;UfdlBO4nX?ZdwAWd2}4*F-LpG4D5Lpp4gMKpv8{t+gqDIzqWVZzqTU( ztY%`OA_j0EvZ$ss8mP!k>om~F{!{M{qf>JV;E~`(6-U@j&3hTDb+gDo%Z9q=;k!CQ zK^WxtlQ_yKJs#=9GEC+na_Y!9rcD&<&?FXP;oOhiylU0WAOAvl*thv@M<*tZzWse~ z=LeM3(!Bo9-m4*2gUiVNlbP9J>SX2z;MPEc8X7!5zwr>qLk;!HXX`npg?v;0hhYKL z;rmQ5-&9`H&XfI}8h4w2r@OWg#kvvKXpNOt-5&nCBm8&!DgSs91dYdUznvVvon6PP zSa=6sbvt_e_FxsHkwdK%2yg$Ny#t!5S!|e`5_g+_r@PjTfRe$H+5M8o|GJl875r;o zVrIWpZ(`E)2xG!3VVkgD5SYqI4!SzS4yeywenhi(R2j@pAyx)%VRRPSVW~U|KDsJ} z;M)bJm=RuSF4Lob+x7PM9&MX={iapduG&0w_QA7%!rx0(HaFIw*CE|a zqGWq=j4eDg?sSuh$So{-ixD;8hhFFSz7t%_($VYK62(m$ZXCSR-^B8tpC~2%!7nBfg~TV2?!}`T@(YQNgehF7 zzR|?E7=n{Q5^~zzsL5c5EITf;HK}pb+%$|geG|YOC<@Hsksc{6psNorJT}r*jGEeh z5gW0jF9kPA)HS#6*|cTd)VuaA>@8HVmWrEXL*oyUrrBB)wYi?1wuk)h>wZ+XO|ss~ z#-&Qki*(vX63J$qkM$eKJzS@##%5(&3>7}zdN`#`pcW{#8_F1={R!Wq5q}e!=*j16{qHE0)|5Tv;tGtQ}o_MQvfJx_8^=H7g(f z!DI7|KDYR~^%G0iY*~vwj3j-i7-7aRkz%q;QLuUKmNiQ!){}Vfz`~^q=M67jJUkB~ zXqQ$h4D?Mk{&e?}{f&7oTru(-yvHmZcoZ8RMchic+|u}a!}Pyn9hqkZUu(RYeB!Le zIp}*q8I1*hH%QJ4zW>Gt(5`8qt6w_n-De35UErk~xt<(>nJ_DKK?^Mb8E&U=P`H?3 zyfWVl^-yayTyx?2ZQNUHEGo_3_bm<2I+-1(C9Y~T%sRM#hB#ZrXD0h6$s+@)noB&( zVti4X+oeQfP@pW(VcV1dDc zAI`*r1!z(5B;Ir5jR;NOfY1#$upvOMOP1U5$5FX!uLSib0`b}z^CILT*B^cgEk5L67YM0Onm3g4H1$uSDw&c*q?6wu zY{P}D*T1|0=@3V7gFhUv6TUOX?LaDWNe)>akIg2>i7=-<(7fS+L{}>7F_PduInFExNH3EE;I+8h zUf$8qtVo7jBcoq+mDQbNE^P9h_ElHODbt9GvSeI&rJ;!O8Fj~=5f!6#kKLJv`xQlW zbUSNYb(Nm9Q!QM6;r}mRk4$5X>nyeUbWK<*Ty*+=?a6<6S~$(P??=OY`RojH#i_&K ztABo0kX|r$)U?9k=qRk0g{X7f7F*F>KVKP` zzs!3{81BqL23L2rh>}Uf9ltYa*_sziI;onONQyAMMmvmX@O~@iX-F`$agUk7q!QV7 zKjq|7mSe`yL1rRa4fL32@A+_#xuJKh_uWvp}7y=l)K z8x~)&^`gnad?ubw#PF*Z%-{6tWjlaanJUbAFhV3XZR@=gi#Cm~>l!*fuWQ_l8Btfq z7*kczEJG4i-IP>JlM&r9qq*v^<~-7w&zY58Dr$}l<4M<4iPFXeZZ@)6)ip|Wb#o-^ zR^j|!EkP+YKlM3H(USJPEOiDGx{X{b6oqkNN7Hw4(@@K;GPlLlXGp|yIP_!+y~Sr^ zkLl4d>7v|nKjYTRl@emoJpYEF3QV}7?+?XsTPpddc*JrnNxB35BvDVG_sh}9!IWb~ z;=v!)bnuoo1wNUH1YMy9vQ4T%9~O56mw6s)bJibz_2IJ|>e!xS%IbnG=WJe}(v)Sn z$IX4JZNwspXdHd27nzpz9y!_;N%aI%^-@f?V1Co^Z>7LgQyxrR`($xH%sZ+n8z%Z? z@7+@Ho{4=U_5G7-g2Lq3Gu6?ts^4~KuBD6mAdI6PVO~==lc~$}^F=Tz$3ThPQ27*d zleFRZgvi#dZRFC~@cCzmqbtmE8k>(;Rr663rz^(6gGL1s9+k0(MS@jTQRK%Alqs9% zlY@;f$Mg9(o)2McRy;l{jt^NVSuwwCSzk6QNo2jEvFsHr#d=C+el!utf1>ndtDM5t z5&W4I`JO!dg2&p}u`T#ScpmDd-cEi^4uR~`Ei4wcgN$;N(NZqBark>SSed9jfePX3 zT8WwGm5L!U{sd~~Z7sV^a6jGk0!w8$icF;8ZVGsIG{=3JJm-vj-c4eZXisAlI4K-= zq~M?36!Bdth`SQI1_yGy8412Ub8Y$rOKaWpZFZ6(SD2*~)y3d5Mky_7^pD{o_-vR= zE}L6~bn2r~H%nW-xFDg*l^OM=3YU$p5T!vj2;C%5E@w?I1|{{P7D z+xfe+|N-_n!MgEAr2J-WOFd2*RV5GeiWEZ8UGtATY?` zQ;P_r8|IY3BTz!~uJDMkMoyLsWfod`&td!rY{;KZPcpCC1N}1NZWW}HFT3g~_k*$v8rILSL z&r0$n=uh!Ts{lOk=eri8|KAoxvQn_QPSYacz-d>==j?lht=}Bo4DgSs5ta%PUo?k~ z2F=aIF1|M=$=yuZ5V8{1U%9LM8eAeDn*MoZbhJX^5Kccy;+kn{(?5q0-DP?>l8Rvz zMOib79aCz&z>XIEC{3j#e0CqPRB3mZw0w<}Oi{eGC|WAr19v(mT~1bvR2qL|#bdcL zveeWXe`LjDSu-17a}4P*xYsr5V^;Jr{-8)YhVf@DT{WfPD_1H8av|Y!COb#N=czic zPHP;#mIR!CUn!g`T+WbVTaG`tHe~2+xyAc5J%W@f&GcG`-<)l^PlqP)W22#cF_|rN z%oaw->~(PTQW{2blKEWRMR~>pVzd{ znU|q3*Y=TGZDjkdZ|~Z{V2yX|x<`u0;ye0fldc4g z06NyZn&c_u?tN4hU#*!~SLqe#qs%|(H&okK#lKg{aaPoS%_)4*oHD=7o)Wwu6H4B) zL_;pNBPO!eDsX=LQ5hjKVq-L|U`hO@>NAg`-%^td4+9vl<76FhU#8#-ZO}qPAUQH* z9`1#;wHz=wGe*4@EQH*O%%q^|XuaUaWb}LJHo-3wg`y8*EXt0-FP9d2i^aaS-@{*9 zf8oY-HI?c}1wR}f#&-`7ljx0&TT3Y%^DCuP<0pvp=EJ2V2tD%*WQK_X@;z#4rklSJm7Yw8#TLFhU6d5WPyRDCmR+=&i z8+3!=afIn4SGfoTj4f0InvPjkRV(!oHlFM3|BNd|=6!jHt)D{=#7#Gf%*|w$DJ^h& zSNy}yTugHUOrvQZOTV=*UXrXqe;4zF6z~(B?N0Cb)Y+p%amx6h&6j0fp|_W zDk}04VEid2!0DMk2GLt|fMM5?lE!QRL1tEE&C#rcrxrBHO<1>RQ9qrCs-|zc8C8rZ z62XWWNy=J2-`VDAwkT6arec&*43B`>gc8Jx*QrJnQMY2UA=_${xn`t!yOX92RT3kz zLp2H&)f5WCxeoG<8iSXKb*3$wCuEBGP5fok7FND94g$T#3`(dy4mGzdI9;m3EAkgH z#HH;0KMog8sWya0C z5>X8~rfI4{ZPAn*oU$E4JgUKyY|8K`A|kNyvZRPu(mJC~r)eop41{qgP?o4jd{PXX4M~fD{k32_q^L?;+!r6b$W1m+jaasa_4I)}$4E0m4-rtYpVUCf(hKg7i zoxowYCRmtv&b)c&9AUw{_NI@)_VKRl_jrdE8x<(NB1pB(sZ)?R^e7r!r>Pi6YZuKGS++>w3tRVSSr27|!u>BXh7{`O4anxkFaZrn5U zQZ1tC7_9_BL`(E3nxa}x+m`+=KOK+uB{b;IsJTXb4SA9r7c}8gW|eNiC}c{Eh=Y+0 z%1mKe>cb3zGKZNK5nnK3t`R3qPm%U=~z-kS}+s&;tO`W># zYBcg*(^YNJj$t~l;v{^xyg)<57PR4QMUY)un7vd1osvPs{1PDrX)Pr8mJZ+Ylr_Wg)IOP@qZYzp*U3`j4ZA)QP) z!9&4=4w~BNpjB-_)Cs=ahPOWW&_fSC`1;r1a(Cg8N1R83uRD)A=*< zE|r2;H&bf0ij#HStOMy}eVAAs9j&^|Bc}_A7iT{I`OM>FRpwK{mFQJp&wMnv8Qpr@ z{{3IxzaNPk-n(JLdy)U>qruJ#G6%ESgBkpIvU{i}QCn9pgxIf*6Upx3?j)+MtFwK#wVOB8pn*s^+%()K|( zQw*ZYw10&;+$+uBad5|csdvPf>JL7S+S_;UDkEqEM@A&KW^E2BzNnq&lej~CY}qQ= z7>Rt?9LNM0X9mmu2YZ!0*YJ%!69UNfQ9GBb<>gsfY zx==-^>cI6xlbL(s;pKxU(zT*XEHCYBLxWSpAfwtALSuW@o5Rf6`mvRaQic>*M}jECDanEo_7FbeV7+_n#|x%ov=R309lC zI=;(=S7zM7I2@OohD$Q*8O+VCRFa!#h45-qpc-!8SqMw2S3`pixHXPWMhV;8w~^m+ zL0_&EnJNI+2jED;<4y1MeW?CJNkgjiQ6A!ZWECm$V=|n`kHxYm9c!Emqc#&o|G?8e z!ms0dcTt@M}%e(5Fy@pZrSIv}>uUA+b^xk%*`XygCxCISKa? z!<2CmLJ1*Fwb%pDL$apG!B+M(NPt@WO)QHuv0w{4tf84YYF*`7Swiz-GwXSprMYg9 z;0Lsff}96WG?@!naeQp5fEH;;(2@L<+JhmNWDUvAIs(E?G1h*g0w28MfR2PJzcZ&v1 zi-@1#ZM+wxczA^Op0uPXQez#jUz(@<5aVNtgdvWu-hJgVjOSGuR2349)KKTRNDY(h z=&ZV`h=}N92YRP4p?66p!M}it4QwxxcnnN$xGeGa`G5*Zv;SKA*Y5zib`Nll z6U;M@TpF!c>)b776((?|ipQjuDl<}-3&VB4&K8V4KZK{{E5|;qvfWc(j^TCBK6B!k zXE%HG?D5~Oo6N4u{xW45jyAdOQ^T4bX*|{YlV>Z?Nmu-7ohM=}27gpjs<|%s)caLe zsy_RZgWrATrf0sp+0)dKCnhJe+5hmYT%}!`oc!(axrrXZ78d1 zYTX~FL`tjQ{b?`vWAOv>9+DF>(9gq{DD#)#G^a}ZIDZphd3(QBGfK|uk+P!G?RS6Y zx*aRNK3|fJ+Sk6esR7qydEVEjI$gNZ?{=;T{_uLY$gXV!9#(kiC*)oD_reb0pl}8E zF#cBI=SW2w+J!!goX6y8h79{C*&GW_Ef+)73N%qPWJXFeN;P`*@W z5t*xzwhlG!R=LKZq2tTpb>`*)aqGR4v?7Yi`MfJaB87sks)#x?v31FD5^iAR?ET{c*L~O#O(p z)5vJmuko`yn%h*h8F&>NRZsU7Ses8UemlMp)nzzi&=dSSa7_C+f7Cc@sM$?fXZt5y zX#j{A&&e%JY<{ei;K-WLW=n3NzVVzU%r|{Lu=qmMYQ$MzgPRq|%?HiDZm!;LYHJJUCo1MT9 zmG?rN@$gM~Z(-|WWK*TTw6>D(%Ej#5;Jn)8K$l}uDUYo>bt0&gl%-NqqQw-2qidON zA`>+PxR534u<7hF_KN)lEz7b;OoDzr4@*2G98sp1ZE zwAfQv1)Q@L8<-r_RW*|6?Nq&JHN9l-HWf`FT{E1@gJ&m-o-U>HvFPahZKX)6t+;Ni zXlpolI33X}H(j;TnuoISXg=7z+^k!Lrd!Ohw^PjE7n#ytK7fAH88exTkn!Q z6xFk~AI*rkGeeQDr z(n!3wszjpY)QSr>=_py$FVip9NvddEs$T-fNJfzpF(hA}IVvZj7>-xTNf#@-&K}Qp zBpju?KM}Fat($$>O}9<8br*(>Dwboe*XPwMZE+76UMsD;~th3@OtVk5O8ie|9O7DU>#hx7#{K zhGwdrk33jOsPGkZtGIA=A)j;yAB4Bd__F4;`S=5!5z98(b1^e*IhrxlJ=obZJVKH~ zq7xY`VKrGqa#7!UatKLgYV5q-YVJ?@Y|{2RKDNQvB-e233%2KM z&6q6r6pM|YMl`vaMjF%)$GkKm@o3F62Ge9@w6ANZXV}zSE0Zf25!1H3t;5yMaxv>! zy|T9;igW|D`B6+Woj9M+jBeM8=xIwvsFYyd6Hr9UKo>(EatCZj?21Ox1&}%iHo2B% z6xu{FC8tej-GQ!wYWK(>w5}X=d-4b?N*pE?A7XYqub8}77gH$^2fT!$jQDNvwc`*N zZ-tK?x8<`T*sD3z>9IA1AjR-i2ZaT&qMVx2mn6$yGq2s!sb#owl8Sv}!!DIvJBuVE zx#W^WAQn(u$0tN%@tTE8&<>F3%o;51f+E-7!C7D0$nn%pIG6 zNzqNJnWd4d7ZW4yM*3h*fktGl8D-5H8E%ia8O{1e73i`thXoauptD!eJXzkV#BG*Z zZRUmGtutAj^vBmGbog?fD9&53E$8UQl1gu>y)Botjh-hy-kC|j7b$92u_dRTQd z8&NGDuID|Ae?Zupzsc8Ogz_9esvbjv<_gbP*qP`W=t}TlV=ia^IPuIE5~In^WU_OR zCF4&AU4`f4Pe0u(_YY9+LV*aXpmC4DP?F5NRaMEHC!qh%<^DGDTg_r>62^Lc2q03JhuPh&))h_shO*^@UCiC@k!+u=KghSx2{<}wa49Z zeEGUtg_eKuuaaw<>u5|HyzCO{$CV#w@oeRI!+4ZF^Z#uuZ~Vt|wDgmBCEalN=fyA63+4 zr4b@t-&g4BD)w#cF5n{)w!EB|RFzyLsmTuY7b$8IQh+yDlZ>V_UMgk8tn8?%k{GK( z@PuXrD_{~vPpAgUG`8U@f?o$;Mdy8H`aK#o=!3fcepS@WuHz4yu3U;wGDoSC(6O%GSFdG~z|qxjZ>wZt(QKvd zO-?q^_!E|NFP6z(tQc6LibiSFK!$Q*HWLG$3ZZ9qMBlUAE9Z~D<_!DXu+yjyXtp6aMO z%9z+;5DY*(z%>r1$u{5^dT&f-+kR}f#g7$6f#IjE<>cX31pl<7zC9P0G!W%&~NrC*K?s zRfH58L#63&**+q#LY~!#MKhU>Oy+&z0X;ddV<0LSZSJQs?Wn7GSH2tF?-F!FJlTac zE%-ivL`QIw%@i2eqvv<3_^6s6(P%LA_D_lU2|}aRCQbRUOl}1Z_#GZ0@Jrd(j-;Rl8hJ4j2*f2-a8j)$z()Q)Rm8a>G50EWYE7H_~aYb znekNIoVfh$_uV;PO(ua9sw+NC=KB#jIOJt;!jsVL(M)hC5s|`#h|Cf)(T#V!VgfIm zr^>RIOsdOQqV=~ub|9KTUt0HuPaZJiCj2(tb@>>cT&OBiB$?D!Z3uN!$yYe8W>V;a znQqg|Yyz8|zzfX+LleRJjF}*udvVqfMGoMPTF#JbLs;4IzU!AQyZ(KTgomB{<7T~{ zO%ui9#HJnL;fh4>!ij~wiRR%B3t7wG_1UxvOGA~T>5D?OCA2p@ z2KR+W^0x4L@V!vu36gQWOb4 zBPqcb(Tr{r`Vk9R0r+x$?y)Pu<+F0U#f6FS`S78rXh%;uZR+AZCU!vIbc8lxRM;lG zQh58zt#nbdZ?fg;GDnSzay+?OxUAWSIFSf zLLp--!EJ--@<429QPVL-2^W9eO&|=@cX655-BumU_j@2Pbo*E#7&T5X%?Lu{-I{JV znM4mRDsA@Cq9lq0F5?()E zbbZ$~r|&de7r)723X4TXc0TPUh+l-+B=y9}M6w_5Z=B8eBXVIaifs+iw;*6aEl->+#GuQ+R1l?GOywKMqGqWudO z9$47DVXUxl|3VHXyp9F9*LQ-burR)%d*OivYb%S_F0Sx^ z_4!y+SM#{AN4Qw{J(5uj710)SDf%S(Ci*#g2}f}!9>**3CcGOT#7FQkkekLa(+sOr zb123GV`%ZnR zo=0*y^gawlFd`#`^I@r88wEa?Em1=SAaP)jeKVNk!WD1X!lN+Tg`RBKvzhl9hQc|) zaEtkRFpT60)Ust_oHMHr%)V^hK97d#LlYorjZ~!?&oxx5O02*k8CdsF-twhVm6z}H zGpHe7G6#WKszX=dTMf*=EJGcPvdtEz+{zx6M{L=jEn!1Np*kRaw-oERUMx2lf&eqz zb%1{wL0CPsYgUuD;dHMX+evK(3L3Q*9|(Hzf*uhm%7@QxJ%5h{zJg z#I{8wi*|>jvgI-{BN8(ak78R^(Gp2wE?6Z(C8`->R@HlN0Xim83{(T5TbR3Icz{VH z-2f7X2(B6;(3(;T0hb^VU6({6Bbu-gs`zjL1R2LskqqL49H)k%kV4+oh-Er(e?*aN zmly`FK-qCwwoPKlsv_$|lQa+Y*doDDUrgf;^Z6>Om#C1kh^c^yL{v;op#;f9Z&y?* z7Zep?s(aKlBoy;%NThN)U$7-AiiSloFhEcrIi^a6qQK;!i=xQv0|~LLc1qGRNZAO9 zwu;%Cwi{64#|#HE92}s-NF!>*5HY5Ns19=;i-}~}5=q7*3gj_mXdo(TAowO_pzX+v zB2$zN(Tr*|^1Y7gZM)C;`*U{R#`L3SqSNte`R47rzp`ul%@z1}^Y&d|*}eVda+N$Z zw(#JEzrFDMMPp-&&WFgsg=5oqE|`Drfu9{Xcm9Hz2=3?`(~+o1NT0un`}Y;e;Q3$c zIhlBFA9DmuhAukGH3})5$*VCm7~$T1AsSe&5k}*PMp!hHQ(_5ron%;|IFt1rGv`w( zQ%WVV9n(xgmx&AQ2;U-Q1I@*fhz*?(MNu^PXu!untBX$Alvy9d%sFBr?z^gi7s`f= zMMV{nDBCt|r%Lo%Oc~S?UW2gWDY_nE3v!5g2NsK}C@UoIQ;|}UJq-kE(TA3$#VAIi zh=^-L7r+QQZcJhhj>V3mXQ;ZV5}CR()fMOnh_nGS26LJYok3O%s`j~RyNQ=DtwL5= z>=`br0mz#o9Y!#<6UkKN0@g&WO~yKvvvLwXzGh1r44R1jpai4KOlFeN2pdjtiHZe{ zKwV+1v2IIjU1v-jbc=XIg)S_THc5h4NAL))8QW%1suoq3GUaIRis3l^hCe5YjhYcxvzB(F+dn9(8IzJ8+Ek zDc;L2I-f<(zv${K=kzTW*`L}n4E;wG`_~QVCT7m1Z3BHNxp7d0Pbl`S8PII*a@x_` zGI=Em4d0e*JO6T&d}Ec@KjU6F5!r9qwpr- z9m4&>hlR(5F922OMQ=cNq5IHJ(XY^dV*xM0Yw(-!+qw7i|HZR6Wn2Qc$!0_>WD_d2 z>Zxo(ee{3KCdh+QaTcEtZrTq5QDuu^eQ2}-&lus{028CI%tilkB*$ZNG{&eb&_HLqK(2#bLiyMOIXWX*`g||N6N; z7>Kk*VAhdESHTj(nYOeH%z(s1(!868nG`53`;#RGkY`&IsiNKGs+tNDR$3%hG9Jg4 zq@v{#a1OcwR2E31E~Ztz?{x^nq|NyWjIM;4&xc-&4Mx$L^Y<{_21h+-PC zfqF9pNMI5b(=;jL3TX*5J_Nc1vl&595unfub%T9;Np)3%9mciThDb%=k2Fe=Ph44r z@05o(0FDT8tJI5B&+|kCY)(Q~A(>JIi+SjXSb`BGd4w}MBE_~X6Zop4=4g~v4tpM4 zir}*-B|0^1TUA8|W;bTP53j9UtwK`(hd}AL2K^V91(!mn$1?NBqGAaHi>eq3#@v{K zv9+C~=z~NIoeAPlmI{2-3e`iADAbQCNlnucWjsF?i@=shDhLA+!qFZnuOH*m5Oi!9 zf>6Pz2hHT+#l%yvDjOukbfFAigZXvlXjUp>KO!(M^;mfEZs7h826s1}JuV7?5ZsLp zqJy*XlDJ=EcX$@4;&CDzKi&|I6CSd&7B&vcA7ai4+`HZIXo-2F9Az4>5Q1z91fs~m zSC~TDFw=#N4acHB1Dj*e!cF8k^wPe~8~UHQkG}g|^!{&jEqT@Ew|8ysx@*(XC7s{6 zpWgFsdfzks8#cw5znbHHz3Yy&d-D#@^U8;pc3rmdR#m-q{h_X+Q!E z965Y==A9Tm%z{7TON=|CkwdlnYN&^QQazv3qmIfOcc1gEb9TRx0awmM@!fhyBfbEcP^U#G5Y&kgSVjv9=rNgS4YVk0|R|>`WNWR-=G(QfBem3kG1qzkBZmA zw{p4NAqU#!{xkWOA52{#kcVIL>!r##h9th}0@NKoQqw&Nv=`}mO0q-@Jzac?p|w76 z{_Y(&wU^2L-~E^SOxTW{icQ>W z#Z$hSBO1R2h9hT^C&Sstmd{`0s%egXk-RHx9ft*o1$&CSpm`-!Nk& zVoLZ!uUFYk>LYGa?85A(v>9BPc@?@Phz_0@`0T)q1N+uAlIY(X|7pcA+(Cxm$aSRA zOD_omTSjO7^rZ29KjK_t9_Fo&8Rd+q)5e`f$)ds2CQg(s3B~Y#S_opaafbmDH>#OD zSMZBwfBh2q961bg%j%{raW33&;MQHtl{aTw`A7~S6M!AzM*f&#ip|CrV7t*(*4fd& zUATAm;-$4nWWl0GFF1eSxvOPKvVrGbeg1jp9k?r%Os4KSaNc?6ua11_$DZR%O_ zVDP9N$8Uu{&!(TXIjOUIH)5o$hgFD5J$;4BhL7B z`HtX>;QDnzaiQPkd#dhxolZ!c`F=jX|9;8qx^?ST)xEWyI_K0`>_ozDu7Qy4HGJ4f zvH=_Zv!e?zvX1@|`BptwLKYygxsz68o2SK0bjEjFp~Lr{L2HnUnJGsV~d z6@**8Ou)MEhpx9_3cQ78KsTDiL7ebv`05Ag`Zky%Q)Nb&)%0Xzp`qIbT?T|TIuf~6 zsT5&iiH+kjop`g*?!&oiPUF9>k ze;k)HWXbI#Fpvd>`#_T!NZs zpyI-Z*lovWZT_6xKOEgZte4QgMDK*E;bnSc*Wt_fE6^`0lYyS;Cw4%~ZBJtWx+!su zgqE-c^vjTlyc%*M3raMLBL)q8m>dX%HDa$6jX&u7&8z+V*C363o4@=>n0OGq@HENs zA_?*b9z382dEd_m_?!p*|kfa%LlQ zA#(-8ID?TG5E-~4A@0ZuBvR7+DIZiQ1V;qg5g$|YcR-D!Q1i4MJq;Aba1b=|D8l6iL3kK|YqM0% zOeCYW+L=rS?6pbk>uqcb;dSUHaSVD%1L=p80Pgg8VXStG>wq7WmgDpwQpyV3Ju&K(JtSzIhihpRp4 z3V<Nzj(fb(6t*b>c zsHI42B2w;&TuDTB=^~b6iv?8-7Cx&T_YnI3gr|NR*DqFrmRRGldV~3=ZN(s$f+91j zGBS84Qmch9ky<=Ya`;ABo;{IIm7eI_Y>=kRM~Ui7jdCB4X@>+YSL`J*(o`X5$B_b2 z;5%-+w_l@N5{bt8Q4;+q+KS?_ODj&GXWNj+0!tWVv=)AZ=(e34I{j(L1}{GG2S$#3P|Rl)n%=*q4s@F7AeshqHm?$;CPFs~DN3jI`1kEgO`PjY^SrG0lzt zwYH>xus+xmNPfl~NcQyCmJE*#WE@{7M?8jPa^`AT)+Lb`BXJbZfvafKt0K%_Ro4dzAt^dz#>g#B~0oS9M6+<)3pWFkP`5HoD8k;qH8SHZLE`n#rmi* z)w{TBq_3wOU@@*2)-3UhoFkjIn@Sckvh1Xi#l+U1=1-5QE|*HkKe{y2>sxZZ!_6yW zUm8pm`g(_Um3nMFTxUX`C~}%~P*Rn>tReA$kQr%+K_?rA?dMB6={RVu;klU=Ti2|c z=&G#ndk2SWgA+q_&z7uMAdf1pYgBzBopYgS1F~%DW_gDrCiQe$H`D1+n_L}uo#?u0 z8G7H*VupL+;=b zlXJy*uOgQ8gz4NU1|p0O%!7lRWGZ4DT5&1#=J}+%X9P07n#4K0D8g83im)3-6vo2y z^q88EHBnbYE3Jw!*BrQ5qM|#RWUa7+WJb9B-K5`pdrJw@@3Q(}+vVF7%}931Fezj*w>Td9^S<(Z(LFE2f0icX66y4h zww8udNqNbNf@j-r*^-7C+jUOoXzy(Ym35;=&NWq0Q`2OW++0TYvT2~Uegf?jS<+}? zFo?EU9)(uQw4HjZ!Q_~EMcUECRxTL}qNw7T`K(d@2o5c#D3b!@;doUfi$jY#R>X=l zBgS7(y7Qn&vWuJq#63*jeNky%W_PrvT)C1?$t#~2B~xzj-0ptIl4820G=BD@QQ1t0 zy4_P9>e{o>XqAk!UaEa#{UnGZ{^=6klBW)oxphb$9iS zb~Xd(21S8DG+-4O1mNhV(XE@%rP;D!OX*xPR_^LAJGn$5mEhHsb4D}tEi1hui{ zje-7w?!X>ZQtP2DUT0cY+^h+m<5l6CM{P+>1H6+*(+<7Di@c?-BCk+j8uX0zP3(=6 z(Ix9mQEUeW7;}y{l*rlT1p{oQr9>)esv2VpFU5i?8lB#yJok^#y9Wghps*G}buka*9eWMW$&TzT^T{@pdT?$P(v>`zIDw z`t5RB5#okgmdTFA$)Zdr16l0koInOJPo~=K<@?NdI{mwKT`{TK^&IEMbJBjy*6rTg zK4PyQH4JhNMPOzsZDg{pk?!fvYoaJ7NgL^wVN|^t#gU_iwe~GuR26xtlZM$8Wg>G? zk~kh;Dm!Ghwe~Lp&S!W>c9yCle2pH5)sBTIyG$nhK2iN@Ya=9cp5w^gNBdHc%Rk$f zQ3XGiTK%O(wr2Ho)fXdvfy()RE%P)g z18mpBA82vQinIIY)?{iK_~9qALz&Fb+81z3Ow$}96dz+tQ*Z!cLdh*~C z9}{yq@nfPGnBk*lAhQ3fG*)V|C8D`jVnYb#W(m9POcEeuC*sal5|C&DW`82#%>6sw zHurD;O{TUzXr86^jMg!`+g2M}K4S@@){hzv;F~=3ci;wMc{;9?+E;&0n!~6++VP8R`b)9i5F(jlJKHDVqRtT z5xzP-_h`M_u@JnPycm72{fs*rJwpY=9et(7HlpuhUv0j69Y@A=fLR7lBgQ!|5bIL} zA+OF~T9&BzELAiKq6<%O?P^5#02zYMxgDUipoU$J9d;TDY=(E-(Yna0Dx?1;xib1L z&2xK{_4e?Cvi-ZOulHzW?;pKsdg^9;_hw@gpp_}J$^7M^bM0EN#N zIom-xStWlyTP{Uw|O|I|@KpUa05WHcU1+B@vzLlFI`t6yn25I{Ba zG4?$tXK6M!6PJFdqv)g@JDIfMLU^amSFh(d*iUlI1hbX;=^%!U+eZY{3`pyyAC0t5 z59p~UNuVZYshJeEGF+v?Y(mQ+4YdhBEVd18QKL=NvF*tE-pjA-Q=awM%922QHZh%y z^RDnYm)r_Z^k(zybE&(VbG=tz9sZ-kS@6!QukPz9#5?6@ zqgtL#u*o>d>5qTH^ZMR!b)SbS@CEUe3Be!V7kv)NU{oq8Rn_~hzPhc)_)h#Ad_I$8 z`e6-hAo>>o)kUhX)plpykHivHM~Im9RC7xtCZkIQt6GA+TePxlTcM#uG#V;Zi*Pg0 zcV!cQ4p1%D?prM`=S)kodgH(E+mI4V{kDeebcI{a@JsytsED_%pKM`h2> z^m44wlfdUIQh1>jD!PTn`p|omHBYo`bbsH*zGX;WQvRG~cc;S(MK^)I-GvIH#qbNI z(HydL^onMWhbvGejmE`zDQfHAKwB?5)>gth5kGKzDz;WFku$g|<#Ji98 z_`a4{A`i@6WN_3y^<~C6q)yn`LoWoqfyoGr$Km~VRiHP!^@{!Y-7XLSB zF(;2Xm7!c`YS%Gh^PMbbt=!IY(u!()bs4JG+j)GU+V;R$s+a0SdZt#b1+_-4v1;T$^P#uD zCeMEK_2_Z)CntIKRLa$8@xi*(_odb6op;`4yLaziJ#)hnJaHZSawVU)9mme+*S90# z>m0Y*Gq$2IZ}3m?KG=9@42|qA*ggDK?6A(5pfAY!7#TOs>{`af* z-dp{C<&Jy9Jv4<)HYXCjsZ?)*JwmU|Dk;R$q7!!7h97z?|3H3=Gf{myf31TyK790% zeTfGSC-csRaEcUcRnR0Aut#j8Nei>^-WFVle26(r2h+(6!>oD>^8&TM@!z(g;E07P zUpRIu?-VO-*GDZk0P}3_wk$jVj23r&h)PgXe{m6?y%Y&Vld~`nrfe1gG%nSL{2_AA zFj60atfk2Kd8I_ub17gMTwr-)$gg<>6)skb)ly`99o7OlVt~KsE9Q-JM8FGQ*35QJ zmdlf!?2DD<<;se=my@M(oPCjm&BQN9(Y2%D8(Ahur-P7$@9WBmswfhp_lhEx1H+IV zNYVsHr1y#;2MRB8JW11 zixpLIV~Q@9MMdR3o?{hW;Z4CM*4I@cM9e~7&m}M6VC6u5El>@4BWZ&NZKh&n{U1h2tW9teF`V2vMR`G*K}99LjqERq}b``mP6A-43!ftEIJC` zC8$6@aV+8#Z1bB1RbW|(W2coh5U<~~>)7%1Z15H<%_BXiZ4 zu8RHFCudtpMe>-fjf5}X+1y`2Z~r>;{|GxaG%vzyj=_%c{rkrsMxT24VThE@IR}4e zZVq$jG(U^}W96YkD?bna;0iPn&=mLKU%>Yhzt2^IMJ%x9aGdiCr(o5*8v4TppTA?n zhC4q0^b>b(*l_0)dp94xYWec34uAOmt0pF{y8lDrku!gB0Meg6mJ7e@*z*rV?$ARM zL{^Naew&E=Ne8o-S<7rA{!hx0E^HguBxmu&%tZaT#Vi(xj{9F<;MDIh^~(z5&?r!% zxe%$_;`gbx3O`BHq~?A}3yMLiKgGTaf>i$(oBQ2z+B}xfJdNaI-$lakGgg3tJp8>s ze29qMpk1n?X--iEdRT4evVy>(MN`fF5PZ-~m)%xnQ3^Jq7e@t}-wZ6Yi^}>uWCb6m z^(&6=C@uP#^wEs~-DUuH7l_IHYCSr3i!@zu+p;9_@znwp1Y;4iXc-HDj3~VF#AG5p zCmy7ypbjB?OeBqfh-&oD_s%(eD<1>sH<^BAcq+2$3=uS*?=X@qQMk7 zte{cUaqdU2+&3Qh#vD%cz8MAAU04zBqY zLqwNv-Sh`d=tf&jA`uM`2MHJzRLzF^q4LuOBKogL#3BQGW-%5t>iJx9^uX!Q^K92v zO#*-e-^K}2_?+&=G#PUU)-`WPilhr$I~=Dzobv*$#dBfk{>Z@E@u)y;oqh(2)gBX+=iflwGQ1&(HRD7Wj{RvYc*7f- z3AAAyxm{Ph_uk9alGxfN!?gXuk+CDT-d7Tt#4@3VcxrV!l5OSvMy)*JH%^g`BJSET z>+gi))=%u9yOE7}m<0HFLDac$ht*+8;SN(ZQwEPdf??u*#LP*5QP#{(X2N%1j1Fcev*==sZ`U&t`z_*>=38Pmt@7-*5c-y={6>CAb|ekunPse!k}JlvMzR!g{n z3OwMp$E3DsN+eAa~+u#gvP-rfFDyPCUcXICc!Hn?sLL;v z{P2yr;aqO0(C))GaUTPi9EV;UW>!(YrpQO@fjZ0KeQMI95{auv&W6j>WG}TkV4y5= zsCr}$`7Lcc_S0%s58w5}pb!&1?T2W;o{1X<`qa;YLLvBByif@L!`6@J25Tkr>Q`c# zlKtHgw=bzUN8BKxY8>a`D-|q$2iDh`oTq5t5wTlv@I_7`JhyjgPtVfci?k1`rOtwl z)er0a1DWQ3K4fXNaqGjDCmXB&&RcvJF*F&M|Fd`BdZQiFLX!dT3ELYU6=Hj!lyblWzjy;I^rK}*SY_EEV^&U zL)WcZb=^asj4p?$J2EwK%pIAb3kt7`nL@Vhj?6U|x+9ZSl`|zT*_+^bFBLPwb549k z6vbaS_7-wEZtiu$UbFV(a}P!9MkI?U@Tovng@EXmJaJNAVOo25WN7%AivCM6L)`uT+lJln+;1^{_M^4#7WlKj^+2YatD4dCc zud+*r;FGr|Pl6?&(k_oD?mT|CrB^f|0DRK^qiEuiazh9!Dc z_SGiBfDSc(_lr9h-+lMk9lyN&&Ij@A+}&4%&HcEy_r?A0op(9=e>RT(Y5(u9Wt3O{ z1aJ<~^OGcV3-dna@0f2fucDpkt>|H*Mc$~51Vcn9typOg$+MAasUiw~Fh8NI0b#EX zQd8(uDAJ$`Obv0~6&V42)Q3vTV97|Ma_kVMZ81Hfe<^WIg(@S(>xd->_mz=amW|AB z6PGLS4pLc(TAlMnV(tYdf-m~5ZH=s{Wo%_$vJt+YDv{62zP1dY5HUSp92Dl&n1eQ` zuJ8*bFSAIjkyN79TrIX31|k*wBW5#ceUXxMt8Ut=1@_q^qv9o6f4RLGLx+{9>8|R6 zkD?}sj=dT!nioQ(2J|cQ04i#Gbp?*+Feg--e{@xB8;Z#iXJe-TkPMo8vm&tTzM#`Ob{ z7c-I(^EB61I%F@S7?xU;iy6;W4X$Wz7)YiJMM7@erLA8_=R4M6H6fYShIaabQPn1pF(0l!4+OW!E%uF_XRWn7L zG>cZAEh<7hulj~3sjAU$xmMgvN^(A~PMkJ{u90{wV_sHt+2&%&Y*(CRD~3wz)r^sSv7`G^FE}Cg@WyC0c+b5CyAV7OFiQmSwSq3DSR6y|4?MZj3+kDFlyfG z#dw7{j^wyRhKt8V5%D|%6eH$wFaUxe^HllT_PRw?FtM6cU6~anPP4>CW3|OS-T8dF ztfc#seYvWaK)t0E<<(keIp}6LO>bR?4PA<{rl<%d_EL_s)5uC_K!6FH+1G8FJ>x9V zPZd%=n=}NRu67QMS_TIl4~d+^3Qph%oWj{Mud$xe{L^#>z6EB6A&Br<9OijhOACgm z$>o?zl(GfI;yB$bSV=QmTFkPY#%R1p%kaFZCCtDz^p2@g#sQQ$p37AVc-hL*$XKr@ zv$CioLy{$~Ye{iDzjRq;q*Puc=R z04B7HoQlr7Xph8gGm#JWQh`FgF+}kWsxC@B(A4+>b)$wNN$?DD#T$WL3W4Z-$gOqBUB$hMC4%B*9Nz28LX{0eczn>rf536Z?w}0`-1&I^W}{z9N%|VZ0t_vCXC^H za@mG#(7S;qPHe1|i+w}AT|)!e0-k`~aAwEaHPyaVqW($ZKMT87ZcY?$G0^f9flg3!%0eD5B4`{MAK(aq+b&e87a z&LzdSZoZNn%%EWsUVG-`L}@WJ2giGwiA1$#8)u=~%FBx-7>-)ChL;~im(?oyou(#uk?xKExmKAltxp>Ly`>VBD_5R5#R-Us@g!^hDA;(|DDMP}+fD~Na%mRQBJhTWV% zdD52f0X$)cL-g3`_yBD#Ety(Unw=;uDNRhU&)G(E4@<_Q$*|8E_K~P5tpS=sQ;-dQ z;gh$ZqnT1E6FxgN)%yMiV6WNB^uoAJFy}DW5_z?XNO=Tf$ZC&OsX+bB$!)G1;kgl& zs$o7F-WJadC>_FdJJ!G+WDzgD5zk>c@=E2B6&Z6fp_`(l1!U4oVbXEKs=&*Zveh!t zTWKfUYncw3MY9!{zS&@pV)3Cfk*Id0At;?Q5xzun?ICm9;aJUN*-Gdb^eFHJ(?WgWvzFQX3!O_ZC`!WVNWVnh^HQc1 zKKrYe1S@0P84HO3bTpnz^2xNq3*QrH0>G?9JVWkn;&w7l`}ThP9MCT=%#2ayAaeuE z4QidLMJp0z7qXj|`y)4e(Y`Pg(INm|MJz;~038B%>yc#DJdhnDb{A?Scg>5=t!tF| zL!^vqr-Hv|Vk0Ly33aD{<+A|Zni8idsLCgSk{32iDGDd6F@7hYTJqO2@;+WMbj9ZO z>8KVy4y_OGh#<=0t#U?#2YbkpdF#c{#kwiV7e{bLgt^Gj16l~ta~I1=hgWBnIJZw= zIhIor$_pwl%Sq+pEf5EU80rTM`4Kr2zGwoaFQa5E{sb8o!-02&38?jZ8AVZE`V~og z?j>2_lE!oJ2)zi8nxCiR^&$z|zNi0;Z^b&31N^B5ea@E*6wOf}Vc6Eb%hS*rsi5c# zVz4qoELHL4QoUBjGtDFSnnB#yB4gI8rZqQ_1cd7rT~%~WcA8B&qf5NNv+_PUK+iT` zy5m|lkM$S%r2cy&p2{S;QoNu$OCI1woqg6wG_R3m9yTVW9Q4WgRo_4ITx;#&|Aalq zV>$tH9HQ2&{n{Xz6qJV$%@jZi$|9WzFfXXQ0huS_5D`VF5Yu3SkE#)@jYOwl3u+Jq zEN~+&vpOyh)rs;uahJtI38z$~dRZ+C%)}hLNZ3|9MzaF3PXq0msPK|w^A#ebjW+i2 zlA;TG4IXTPVONwrikVlOSf0~ab&t}Q31{gb+#;*|*12c4@~WIq+J>NuLLWQha@?MT z?lf;vVjG=AuenD^I(P=?g_!;?4$EzA9$A9!g}I?xTB0o%0HKbqc@G?fxa*-JM3_#hR$t33U(B;l8;} z^*j~&(o=E1I~^V&Kn+chlFes%cFPtZWBWL^qBu!8Z)n}==ChgZ4I;~l!c=#f9Zq+L z&pAoQrgDsQe*Gif!)#`rV4h;W74frRH;o)2`;o^mmq^{YksaCrpx-^8@Xw1xRlZV< zoFWsqYRgf?aj#OV=;W+ogg8mA1r+{AV!shsYpd+Ge2WqmfgdTLQh%4xM$ytqrOtn& zX-&kVs9-{sx|pjFUQQ%ST%Y$29N|tui`QGNuz6Vjix%aJ8-uE27pjCv?F$mIikxx# zNV?dz!zZ?9)kcn<)syi&B~910fx16kvEzEDUFjU1iYZ$}d)TRHi3vH*SCUX&-178f zBG1Q_DIy;MD>(0T1;R#MH`OhoqdJ}glL(7=N)7nlq#l!9J>|*C3LlrJbq+%(x?O>G zmahM*|McBk1_w6pJ*{_od{1NP?o5iIL@NF-tWf(S#Q)62%r(r-%sZJ60=`^2wmmJ_ zgL+W3lpQUs9oLDWk+S7lc0ry8I7r zbzwqRW&YE=I`=9?+VW)4&d1pGe4r)(0kIV=iDeEa4Mlk*oofsXWwLW!Og zL=-F$MykPx4Z$jp^tXu)N6QlcDG0=EOZT^>AU>33spUq15`zZowItsu+mUGJQ=>K z1j6M5)!13RDQ+xut4oW;rPYD;T4_A|Ov<-hw<8y5ZY+>8{c)KWp>J3OLsUDg$eg5U ziwYf`%Y`$h;upSoZ+vRA5LXPX7P(eEM zm2q>)`HL5yzr-B>${{IPTXaROqoGQMB{dpSPD*SXy7YW@puBW?S-IX_h0mJ%j9?kb z+}dR^5%W@Zun_=`Mns?l4rjBftp?qvuSuoVt?w8ZnV1+Ec*j;Cp!rmyT<9q-isfR} zZ9!3$twGZr+!}PwRCzRu&QF@A&NTb5h`V}30jn9 z|3c_K>UE`7r52^ri&D6j8c3%HnoEuz{g@M5<+;zoHs#{09W$IkhfN13SBbHXATy9^ zZi`B=kERAPo0}JGzLI@3W;Z|Lm-x-R6^l9Suk9FP&dcFoDm_>QT4Vxf$X(3qm@Ao^ z0Iod5e1`cNm7TE4h2u~Cu~(>{n1-y9RcjCyM&y8ua4hPC>L{058wh1o)sDO4OOY-@ z>&bkapU*WyCw1Y3`+&$XFSr*^cwTBJjI~z7{drmJU=B`eZN(ub7M5&qj z#y3t^)bI$A+C>xar#HXHR?g65uX%?jYj9<+a20JA5h7AiP>9b*-VcBALJ)<26D1>+ z$Qmt-yY$k!Qy*XW=+nnC6Z>JU^Un?Q_OEKkp>SmHAXsyBZsAbsh-?ql66`=k4S_n7 zExl$j;P=jbBQ=m(ldy4;==03IU?<*gs)HBtj&E~s8{r)7M#FQ>eWzh3?r?YQlFG)0 zzcD>1gGV4p4dB^Se>(gs8fX_!*l3wD7%G6Js^~pm(hM)-A>?X?u7+E_Ym52@>thEwF~V8+jIJEl8K66_W=iS@d%>c`3S;FP6twZi@xC5b2m( zg4ni|#kF*?eG+JKME)D5eHBj%7x=eZPAo6T?o*&&3nV zUcX8}+kO%37_TqwTJE@FX4&@F9XzmeJfSCo>AofBcT~DIq2b!L9sj&z+tBdYFR#4f zZI`cFb@|(_Sb5DEH+NK*uAVL~@v@GFwRo0CUT1xAz0(5}HRTI@W6zkpZPn#nWiPqD zZ*c#ER#Y z2Z7!(fg-L_zWqY8a5eq}_z6=8AZV$MCpt$*JDam4WM`YRI$)_R32*$^#K&;{*rU$T z2}eKn{Jx3sK6GG$yqoxKdW1il%6FESA!a*s5i<)A{dX{W4Qk7p5TZo>n0TwmpgM6J z2b2~ylj4@j)sjer>uZfVAP}{PRI3qJ83jNB+KpI>N?!Zx`w>qK_yDm2WCfrKgV0#t zt+f+JYJ>EkWMLZ37^Tr~$+FZMzv;y#vBVxsz?ywnhchLn#BLiod~G(c{0fgqsYyzF4Z0ap?`P?F*7M{+FoM`)!tniWv-FG+KOO`JpGZy1G;ch|TB-<0oW4PyE zxrxV;U<5#n$3$I!6OUO{&>(BTNpT56j-0y%qF@OzsDV^Q1TNnsaUxG{I8y>Fgy&-1 zfJ8p$o1cMi2h2qLtS9L_i_b!c~@oS<}88-lMzadvr6N7(s$@(Q;36+uyi zSZ8igUlEU$dLI)I@@(>nlEZ5bz2hB;G^=$-pV8ZJn`z21JLy|0FR)kw3`$~!m|HT zZLJSS!u)NFwyoYn%PymqRHKvl`C=WB=a&=85i{O@DkZ{C#RZucj5u1CUY$mpY|RwS zApBHzY4|B}g1bpKVhY+sTr7m2O0&6wTlwnN3EkvG6|1^!xGHD&@BF*08Mobp9skao zOwDwSL`BeY>d@K$l?d`-4jpM1>+hFRX+idVWDV^6WX?!HAuEA)xLD>5%hw#he_7-x zP%=mr(EHI!^GVGy@_7*3BD3Z+*4NbbX9a_M!Evu z3T#P`UBej5VoU{;fpx#)z^8jgsQEb>}r zvM8s=k6e%vD?-CC*d@U!Mn2}Ly{jQ=ND=T%^e6L{Gq+!&ru;Ad+t)ttCRKIs^wg)r zH)H7$ubpyw#%4xK%Z}=dI9qqDd;uQ>Qz*#)@xo+Td1fbo+92TMRImU0e3Y2 zzO=NXV`&L}5OtKsn(s+g$|-hrvho)c|IyafT~CF-4&P(A@VeKTu4|qmez4-_eE99| zSlYq<3k2ay%_rc3-&IaG7bUCZG~4}R`0F*_`BddYZrX+4&2Gkp-%Sp=IN2DnD(OdO zc<<*fXvsC{^O{IZP#2p2=LMW~sK)t-9B{fJ-$qC6!1d*v=9hG5ShNzx2O(YW$@(Lo*+-*Ny z4PwuY= zV8d1U!rV`a`K#6sq|%cISL|HBb~}4pU(dRY;gw!Nk8u_k8Eow++PS_yfFI)c%-C7d z`_A1|u$|!@><5N-)*L&(@!a=GyT@k6UAeC>XIrN2<{NqV#bn)#hd&-Tt-t@Yb50u= zI1OJ=$X_}!K0H*)T(Wk-RCLl*=On51lUD)B?f2r}&uQ#gOZJY9?Y-)PF}PMHtJTR3 zlhw-PPbQYHxO{r)^rs)eA7S6sF<$Cex(b%+cqv{e3>FF@2hq~_8WMCQ@_CZlRvWs-0;lUqIiYnO2W?6qiPsinpE9*u8F|Hi564(@<$_@0H|p4((lx_L5KO z?3~;*S-!q}Njbds_1&*StGKoN58y3JOEmZ*dCg$q?((u}0!XHpmA?|DG=I?g;MGez z+DXsC-FUfUDZKp%NlN&oBQ%MAP&)}dwQp!&_`T9O9c@{fJGcq_x=25&4_Sd&wF0Yb ziPeTB;xbT-JPFv9;X8kry#7DY4Nql1@W*2FXRFb-(f3#1{s>#&F;NfC-j9BKck`R) zj&DF8J$vrI{)H`u+T)L-|7iX`TJ!JX68IWw7hxrH4w1w?^~`ao`#x$9rOo03QiOV% zYpLV4WcUK26wq?2&X-3h(c)61S8RiCNT!|}OMIC{WBZnl?R(?Q_|kpjUDG{X)7z%I zd)9o9RRM>TR6oA+y+eITUlT>xU&nFGaI&S5u}|#JWgXL$xbUCCiCkBs)0EJ=(0z8r ziusu9%FW%anu?4*i9YG@sw9MGhi9WB;}^c+!m%+3#?jSXQ=5rU#pbE5up&4-8%RW8 zN)S}VlpUn8DOO~2vA~Q;vZm{vT`;vUb%`{bLvm+>JO6yhDdlXy;le-Wh9&eyc>G7% z*uP(lA&ZBNb!LX@&s>LB01W{n=nw&G;$yz$QdCBfL5-sLA4V)@pvT?ex=Uh&1R>Yl zmK=IY@96B%!}A?ocl3^GhkaxJE$Lq>+zo(MM)U$ZJ&Yl# zbtBYAUvwb6@5Jgenb%ZK=Eg_3XJ9`_0<1X`XrDV;QpN5Gy8*!w>1IH6FBk3xCu|0= z7Z@zr3W&`F>W}Z3a+=!`#41(VdjWAG2%EuQ*$OTNus<@e{z}*gUMS?RTt6_f;^5?t z4QqRQ*<1U1)@}$dPh?$L*Q0%)k`0mr-GU(jv^_^+-@B-PW4@!dW0>7Pyrb4p*wnx1 zy{vT3_=QVFL+DR+0BIi)xW8~f731!;0xe2(?Gk z7x#_B$Aqcgo^|VYtXsEZ{kooB^d>o1!W5u;Y1hsonCLU(u~K=*_O;U;sr5bZUU+}c z`c%jC+U+~ar5Jn}i*mM?@@Oes%E`IbOCcb3=l=-%fCl3|4U3n!!=^T(C`X7K6tL7( zI5nYPBo@R8dQNrP5OpRUVf%=x_C=UE63`!GDNWGO_5JyLe_{K%I|||Z0I6BF1!l*l z_`s@o_>$R|iyy4MEJ8&OZB`)!~(~$R|fjhd~2;h3olakfBRJ5n!E4z+?y4+vWvQcSd$;0F4G=sf^Fy^N}r7^osrE2NRl?dS#Nh$TZ$ z8wuM6@aU*|>O!l{awU~JdF6tY4aw7bG_ecf&vX*r)pkQX)Ne` zvehRYF{mqQ#2I|`8F&Wu1*8q-mQLN5IfPlD5c-%gpnTs+E#|k*cZh%{0WNLN%!EUO z$$5?6=7~{o)fQFs$P5{&)+1TKw&*5xR|@r@wmF3g<(!n4Q8&-TCmZolA2~nu1TUbn zknoO{5X*3dovn0_?zwbNqr1G~f)UqbFEQP8>VhNbTGd0SvV6nxa(Ou#YyNwsylln0 zRxB%5!VJ-xCXR7rEmIlkj#*MVHgZNGQQmT1qL@I7wl`FZ&6VTXO?4|R$6}S5&{>A< zg%n{CZ>f##ixA{I4_%bqwrKI5(a}AN2e)NX=g&?}5qf3yn#twop|xJMmaa^c%M%+W z%FP3%^(&SWsm$do)}!5sFidz!fKR~2vU2Y#mCxiItZ&?ZaaZqyyCyufuhMU zRb~*z?KEa5a{+S+V61Or-oyNm`A_CW<`>Mb5sy67hXzp{9Y6=s73dAdMEro*qXvpLs5Wr59djDNa^h3I8aM*=`!awc9y3K##P&nc0eXsD zbBHWY0zRukwG@b?jsb+q6@khz@sYJ3Vj_-O6oVB`bR5eKl1pq<0U-+-#On`H86j?e z=ma4i_ZpOL8)-n*%TbluQiAzbCz|b%vc+(tol0;+K8dSYY#zFzg9;y|D;p)ZKi zgGMgmE`^cKgi6b@@W9&^x*Mkq@n|R|`|; zUGRhSy6rovwZ;{_KlAuZ8V5PUjK$ehR&;ZgHl2;L$&BRWtY1y-+560~;#*E%J>2^Y3 z#*r-GDPCx<#wOr)25a$IHqIqjhlY7>&rq9EU|+;YFf1O_a2e5))0V za>Sh+r#b5kWMVV=>oTx|T|Gn`doAT#{+5&00$^>nMn|ASKW|Ens~d=lZ!iH^eDMpi4nP5fZlP#km?J zvabfytM`aYhF1>^RXK51<>|NGK_qqv%ttiC(Q>1NIs(y8WQFCSBLWT@C~$<0AL zfs@Ur*5-2kq=vED>P3TP)95Yq4YvwqQUHYGS=GupQZ~F;uV|$KS9R5x4`XQOArVPm zfYA#7XlL;kA%bK(+ZFy%5YQKq!o!HsNIr%YK)h5QFdII`%e=x9Q>271EWsF=VxMVp zB8M!DRh8u>Q&EXid&~hG@(oF_1j|Zco)sK!Jtm?quz0b6i7zt)%ITZ{h`Y>6tcX>s z$X~&o#h=AFX-8>DuH@-hU|k{=(`mT2F2@wpb_~znU@fyeC8@0D1Wh=Dmq$eh6Ay1# zB`}axu*oSbk2#;SIfvs=41gm)A*iOcg%hyB5pFdHxHC+pPWXr_P#Y;|%ua`Q1ec3r zpLb>GD}|Rtf%Q34wNkRB#!UqhTXq@OQ9U(=M}Xf4_>yMFKK3g1s+n2*ksWhCz~vng zpYUD6;&~l8#wmCOo@$tTg`?b~uWUnaL3f6iH$N#X{`1r5cSpZ+6#wifr3Inz*V$hJ zEm3B+0d&4^0lv>t#C{>NA8~%DHpe_sKv+2gsD-~14G1Vexj96(tQe_83^hgyk>_r& z5=m4KEvL|#7_Oh^7KxNyG*2TOkM}b}XAX9iMt2M~9~#;*TIw1+b7 zBjw4?bg*RVki<^+Z|s*Poa~a4VoWlO%E(AXg89P>sv6V6MY`E2&&-} zTmdFn-=@B4RytHJjRxt?Rmi29i&G?Ee>t?Z)^~c~ZM}T?Wfv{Ke5;o_qp!AgD7>p! zxNLH?w(5#v5p{G^}R7h?fbR3zmY~8pds_R z8UUOT0oZMg-{I)MXI>lUQ2xekJNN9}dFFL#2>^`d=5If5?{jx7Z+=*{(+<991 zP1|<8$m9~l^2H1OdW>Nkh-7|ZxZW<9fmxsbV>xq-QzVaoFd5#$&F zN4$jGyt-b{W-kQQ=;9o677?lU73WVgs(2yJj~3okBh!VEHA5-}NDU#Lh@zvnaR3;w zYLqHvNBuF3l5Ba|cOcA*s^JDX#0jeI#f!ulqZ3p=O_k8tAigNkKeR$n1W9*9S?}4n z{L))RPPtO?bP~GgE647{__tLZr&!0=*feX0X8`biK-D=%eL&Sdrg-8ek#lLdMGy?b zHY|xJ!WE|xgUGxP`*&5>Vv3HjqUtJ%aEj&W4vXXA?MX6VG-P z>*yTCr4`c<>x|3lk4A8mHv zhhDjhbLZCJCz^LpUUk*v6X^LTo>+P4P;S>Q`~l*gaaZ#R^ux(RhbEtZf0NX<4&goE zqj(44jl>=ogX*<#Ev z+LB-jOc&8za{{jy9zdq*1h#(l1?7kAt>2Bk z*gV84;h_VMhaW{RztHvK{au%BuT5gUV_E;M=G`a}zKAY5eCzh}&)B3#% zf%_l-`2A?(n%{2kU-{iNcdhK-{@d+qqCU8ry9ZwieNbZ-pWIIxhOY1;VUc=?3Xpiv zQRI-k`!Is^Q>X(!Ozk0&0j<|iX&$aa^Z5BA8vexe|3NPN`t{+=`tZBljT`3t|Ggd^ zUjM)6nj>Z+lQ0YjOtfkw-XIjC7M>kD-rW)LFAe&ByV<0TQ|jp%0PqHl+< zY!9Dcw;wowJ{rE5^CB6LN=`0K)KVw-N~=@`*>62rs*=1YRli%}wBahHgR51N`|+r=tnsA6b2jx0Z&Rec{b)6;WkPR*g2(J|6U8jZ%1EO~6pvL#!#k#AwJY=~q7 zHUVS6=2F0sL%<}lA*}UZ5&=mdaSY_g5(jSx+U&+8yVhuye3J&fLBnapZ&LMDyE8S%vAlkV*1>sJ?&a;NI!H(|G z^*fNg-a!A4dzY&2a&u~>e7maNE?24$ecyaCjQkz9(sknuN}&|>9qS}G>IqIq_#4$R z%T8qogT(#uD)SBV4cKm;7(Lvw7k^Q5`iaAb(UzjNcQ1URxCM+9&L&UbuVs&M9z}4O z2+tNy#zRWQt9<}6K+V6_oe}_X$eQ<31y^@;5S}i+wZG5?riy1GhsJo@YUGH6P)~i2F&ZK^jPW9Q7zO-CA4-H!Kg9wZH4D_n z5$88>=1|D8cm$J$Ns_ftDACTijX%NfKw#>qo;$(wWdL!Ag}EfIfmp4Up{R(qyXC5D z4uo$jN7*qvKN1_&G8TpnrZ8hRS2W7!Taq~fp2Klh754PCvqVy_yiwJmB88;nec}g`Pu~1%9O`9;#0@-yaHg4g~^@jhC(45s57hRod0=RCQf#Z{OxbxauX@ zZA)qZ+?%cz9hxAz{Nc`_{HZ!|>DrZ~G*ax!hV?>(=YXeV5B_s>7}eu9SjQ};esn2| zkU~V)pK_MXt$Df=kVsh?PDDJ$6RZ>b$n2PQZMEE?<-OKrp|sB(gYS%N-@0bq#JV=Y zCxk-DrYn+|xYj^_WZlYaqc2h%w!57w*R=*Sk+9#`ykfV1oKw_jb}*eB+r4zd`t9{+ zU8!s`nMJ%a+tjx%Vm_-0$t#+Yp^zrXQro((tXnxWxO2RCf>WJtd#9AHOo3l*|I&)x zW68zo#$a~bzk6xA&fxbN*%U5_DevDdLwDd<2y=rg2-2b9&JudTVyEbyE1w|-4VE#A zwKGI?Pg`d2TANGoV*)Q>j)@3NiQwDAl^mT3Wb-IjLX;`p)!MxBTQ5%q{-_D66i{T3 zvv}I!^V?5@Kgcn+l5}}E!x`Z?UX=;vQEkQ_zyn|4L`4qBCd1)332$6oS65fNhV!{~ z%%ccB$#}eKu`Js|5dQHvT=u1vrv-pH8(*1*(h05t zKVr;OOPQM&c6Sxv#PqNnP;fP9Tn@OU!F40oTz}KGBkMU)mnB88^=un_Y4D0Aa!j$8 zb*laYJqSO*&o9X2XP+I}IJ?B7>$1EUHV`PB@?$%F;-yLd8s^Y}pf_mj8 zRd}t+t%lsE>Q0YS2c1sEd>O|TkXD@LqlyANp0vk&)1x@?btmW|*Kxdbo#V>a(I;pQ z-TYhYnw1Z1QxtqLjoEvTdGZohT+k{!YqNtT^!j(~wvghq+3`u#;{gd$#cLk)U2=(5 zj0ayFOcA8mD9$ib#FyvZ^)k7u%Eiqswv1i%a~8li=~!(e zp0EF>BXy>~dCMbm#$O>>jLMD)duVSYbBgan-LcB)=5#%bsmyYJJjhnK94x{V&XRaE z8tsydh}2tMQPG)~%13r&l`4MSUmNtg|FWQE= z*bqVR#hsfxNI)^;xL7VpeN5Bd9Y;TO^3&Hz&I$=VC`qh1eVtR1(5Ivdr!;*l@4Sh} z$s~TAR3WjD=kWneknGb#e93>!Bj|Oc5t*z61PP=hD#eAjgW=1}ar4+^V1x$v6l^fZ zF9X9g03(-~$8azY|BT@4G!Xe8cWJ!4G9sm?d1m59^Y~@R?85YDvbs8n>Cqq0Mt9vZ zd{xK7g&kK7|E?Ul<+b+Vn}^#wuDF+nKG* zCz4y*Q$W8Y#Q!B12J^pJ>QIQZq66e(WuLU9nASYLg=p^!Buu6R zONX!aK`Wn&Ty>(uwR;Hnn7%v)<-P==NkQ z0mW>x<31$bHiyC4`JbPhbH@H-O+uFIL*jsWe|JYyr*ELf7Z1c^V0|=tkJGIwC@S)S z9qwyYDe4egU9M+b?%QDBJ@@S0drdTYO?2bNJ$p88+_7WNo~Zc;-KN^03Kx9xC>y*! zl&MMhMLn@PTC;bcLh~4dyvL(NodLxmyTEQDt|`8f_*O&2^%vLHH%BABNUZb58xx=U z)N{Yy{z+YrhcCQ>|Nc}1R-{*@@yGmDdSyDj60Ac42Z`1{COt$60rsv$h0nq2A`1lk zMJy{qPJogj+5{pq7gB zf15fLhvvq0C!(wVZeWBjwM3dUysM{qSEKFQmWB!fH^$WwJMx$-6 zxHs(Sj5g(>ZTLURY06*S*K{Zc{!e;kz4?4Sc^dU#IX;?)Yyp>uAAv*S@oyA3mR;sF zRFM@$glGVv#yeP17hM5@n;=X05h?^bo`)pWfWwvkFj1`x{J|Ft`F~$o&AvrEfW4#HvSE-5XM@Nw zZqMX1_Hh?@)SMb;=3~JVez+3P9*hrAS#?T4K+h3%0e5tETEtUio=`S~!^5@qqCL-? z`NIdyAKv`+Gt)=lk?N(@)l1iqAQi2tSzJ>?TEH^B#cjj8!Lbh*^U(`$n|ItkvJYG+ z<-@@_l5ufOiRQHAB1FskvvkJ#&=3}g9R1>9Z0RnQ#xZ4UVmxtfog>Om1cQJK<<>I5 z;_Psy!tBfDgWoo59HkBBW2k2FCdmGj0FuSpOR)Ct6%@gu~En#3A2c<~y3FYA~m%3cAz zWvBIJKhO5k(|6CppivrZQHk9yy_y+c>f{nEgHD#!V=brC(DHU}W$m)+n^T^3oa0Bl zRKLZZmM}lTcp+OCNa5d{;`N$X-fou+P4j8|p|D6CPiSICC>gO4Z>g$ZBuNIEOP9llm?+x+Cl#zIS7AgPrqSzs$wB8-JamILKV z?6RS1AF2cv{O+o(-=+%DN*{h(h;zy8;ZR&PWV&a!3r~vJyIssQ3E;cX1any@d};&KFhzhq0hI z3>W{MKjHHw{BvaY)*hUlO79u6!$0>wC1ARN$jcCMP?ODh^I#7=Qk?hQx1@JT`pD6v zN75vM^1bJJU&G&Dtop?-RyCgZI$Hn5{HlNc=T&)Y9_2R9sna0VIhK7&KC8z`?Kz@r zu;IPq`1|j~LE}_+xB2g-gyXoy)7|LS?r8?by1Tne*mYK!EZv20(0zy?`6WcWNFOBHY9Mtz5Jlgf?&da_F>?eQGe^u}u+jV)`La{yaZESkuQefe6PtdV4Ts>D<}f|& z2IFO3?2G6;+K%gVV=m-l7iqoE+C0Qd+J*61`Ph7lo6G{1ju{26o}syk+VUczR!Da% zEM0jBnHsXKHb8=!SW{DXQxjkdo!8uXO=khG6Ww3v#><8I>h>)gEzHD?TPB|xORT3w}FAn?M|h-apAvdUfPU5rm^Un z&dzHVtzNd2z(+4#_Sdw?@6ys&+`ZA}mO0tBs%=3hDe>3augtgM)IkdWk#f3JuOaVv zcs)~kPrpTz@ICx~%GOyMiN{VZRuTuzMSw&^o=+#pERpi#CzzjOg*DGoYYtk0cTReu z1gFq(lh#VL1UR}&mFp(*n(`{CNKvBE^W7pkX zQzS})#GF*{nL{>$h&F<=8>G0$mv@t=)V=(1QUQ#VOUB1LcP~Cc@Y90M-w-I0pz(%< zrdB%pE8TvSl)HBZPw-jXw{#}YEWmvJdg7UdY+_J*2utliAbJP7S8t(;2}E01$4@R! zK#R%LuM31p;qwNFCuTf+x{0+%Nw|aag0~Fe9bR@oR<8Ap%Dlu?$a~K_ZEv_5B~G-d z>bP7X37mTLJf^?iZ86WL%pr$pBXDsOU;-a-mO*|@;QTgl8Z#BDT;M7sno;YCk@Oh(Y z#7`KCRF%_;h%mFp5}`!@XT+y3d6?j=Slbu3xI_C{a(Y^ zi)mJfDU%U%h~rp|S8%Eg%6mBnD=EU3-Q?FSCr*Rm2~y-SlgUDU-KuffhM%nYJOS#H zfXYd{>Vn*;VT|&G+!r}RyKV>7nVbxE7>b@Vz4M!s!&x|Fh`#)E+&FpCs7;E&Chdy;Khx zS`ha{#O=+)=d)u+#zqz_7_kn%=GLXRJ@)j(?Mv}t)9ND~Z??SDQofqsi4Utfj;!8{ zuP?d%v8NupZE0)sn=Kc&nVZM6qdmBd)e8*xK70?i)#%4R0XMzK<5Qe$jfHXa1{%g~ zuEFD>n`)F1m;y~uU}U@P(b|jA$X#=4)W#` z6ew*A4wLYFaR?3-&llj>?i1!%;U;UIDUGE`T(80;$~#l@eA7|meQSzorKG&OWbRcmiExf{`A6x+bTaH4zJ%F6j)TLa zqu^A3|M`9pi71k4o+o2Y#_f88V&)mR4=!dlFjq7CnK9;b%vYHgsNH;$nlY6qa{}Is zVx>i#EaSPd_X#dmCh2D~Qwlz1(dKSzZ{5mkkiI}j!yIMqfVG}=QOdClI{ML;lMOhX z)>B6CCrkrxEvtMPpN`_`6X7U~EDT2?o~}-hQxGDCH*Od%gy%9|(jyuRWyt`%&+WBE zbi1b$XA*hc?r>FjWs&7s17G$VB%GK!jA!n*fI&dKlJ}>w1gWdXJY{n_KL8KxYZHzes=Wp1M3wU|E=5u>Kw&$kLgly4NwzH$7b!*h^_84~Wu8&={6|-zf zFjU{TaY2sQK08Cc#KuNl!;i`c^*AFsX8$zY!IG}HWb9QGOfZL9UFDp?yx~yPw>TuQ zp*YE5Scl@e0$x3x1p==5d^YtKZg9bAdrNkJQB3;u)M6rNdF@+-u!^};-XibU!oFZM z7V>$N^y-1+GMgdGfWbdH81iC%k`E#_#^ROJ@&!3T$C%E9a8FslEMx9t?q?1&4=|r0 zd^+jHrL7GLE`>+kB}f_aW^*Oy*VGl!Aq>HaK3`V2@-xL>o}iX61i1bBfuH$QjN=KF}SGFJ}B|B zMA8!gGkmLXYUVOu@#=b4LSJOV}F+Gxp=3{0{RTHSI1kH=r4mHK`s;8x!9Bw03b z=UgRrJYo50$_iW}C6p5>#w1Q5a;Q;o0PHspnUm|2$^L$?Q{o&PI1osH{S^)yj<4&f zaLcN<$2yn~s=Q5QMbR9?128#G?;ibmDG@|o4TavIX@qZqQTWO%<}^ zlq8*^k@|=f_PHERIT?||6>f)9dR8Jv3hXJHLvtrx?USe4cC*x+2(%B&@^Jg)BttL{ zF|YF*%

%P`G;3v(ND2kzBJnTJdCdxO;pvn3Ba6dRN{wyYVzx;F%V(M>SF=5A_j)vyb7{Iq_1{34nRU3|uo9fa zFU0Q+R?4CrmecOIn;-=rHHQe6G?>7lxfD#8L!kXF4dHdIelpED{&B*;djh;dA{TLn!nOcTHHUB;)=^aJ6QMXbYMub=B9Y=dR92;B*R5+;@q15Zvu6usK5PQ7 zWf43_)iUkOa%LT~jc8YLC3p11ha9zqjDlFnF4R`;`jkQAg;Z&BBG!xqFcn$Gb9n7( zZ6KKLGqc#-84Vd;gwC7qkzszi7{S9D4Vjaeaxiv$=|(bv;>o`Dv%{Oa2Ev@(@kVA< zUHz(h9J1*(nP4W+v9W^TxfyJ7nqQ^Q>AUDX z)QNk)M(H#kMNMG11nz33K-Yj*PZ6I%2|cgli9#dlQ7~dg3YbM2FPMgT6zn$7zV#Lu zqDS*t+)MD4;{LbZdaLvN>50k7iPO8E1xJrf9RU7e(+^G@Gxxq^zOff*krPJ`^TWgI zm^m_T$nb<3kwBCHHK&N_K4W4U*~|{(KQj1-M|#PoAC*P^2yH|kqw5fZ>7}G)aTP8B zfyQmni+%j_h>_IWieoT4%(|FB#xOv)Y@_x&?POm$$sW zl~j~cUYwN532{9OPi;>uTsZbn-%2hVtl8NzHr8@|eJ8iF@1e1lj_`Jz?(+^bb=1VG zJPri;r7ItLq^}R8I}+PH$De&@%a*!SRmD*5)?0H!-j(TrfrpNNJv5kT@jURuXZy0X z)eX8c;tqKuOP~GW1D=P#KE}dmyPG4n#v<-31aXpRK#+j}T-2%_l;~?bg?WL8qkF=1 zVIVpY_?2X7I%sHKkoB z)nCLn`tc?BWK}l1qB(1RG498A;@tiXRlpa|R{2O7G*J=oZT{t?q$-+RvWqS62?v>0 zW<9g#&v;%zS$8}UE2(>7qQmWVQRh+wc8{2YTcYb&F5hA~kD`kL0W8BM83Iu{NVO28 zu-vS7DYw91%5}@p{(ke@f-Gynh5@^BJ%Bu`vp|=5Q0uL0+0|0#m9FQJsLH%u7c^c( z{PimOr{4%NaQHb0uE%VNxUN2=N!+C!zSQ+Elu5(t`&uFYJrQw|UxZP+1k7=VYPYKn z-{0{N5PLon@PDUj;0jR|d`{8NA&Fee_cq|)#BwFw1eT$WOjS%l;CJnAA}&I5O)Uj9 zS}079768%7!?Uq4^V|{Ljc+Q+#Vqudi~OO`$L;;79eE>93?-UcF|8*wVG1LO7sI@P zM@L-1v@hB7I(f_R)$I!xwqHH`yOFC%N^h9xgt1*B!gs#}5u(yVa70lG}baub|#}_n#&u7B_{z9NHMJB&Co5Y^pzQzCT$1 zDIkuP^`&O}TIA1ZA7sgndM!$oe(Ke=SNEcf-=A63-PPzX`zO7VwmFK|=#|U{`m6=IX+g#Hg2zjFObVD! zc_t>Bn8n&Bzb=-_mxcPNe3D{dP)m$d-jl**S-!^MVBH4eaexv zaVoSucGI=wH`ag~;Tk{^#`f+i{r=P6_(5VzBmU|A$yZXfN9-xh+}f~aYxTR@@s_#^ zdc*1rx?%65;Yd~0f!oVe zir@Cx&ZjDax2RAv!*zXi?(c^_5%`BlBHdS4vQPLq3lN}K@C%s%W;?T+Ag;~g&HWh% z>9pSw-O7Axm>T<2oWm$#ep)SNlg#KYDuNT@CCmUK+MX{pKx5PIMi#_k3nECR$LW_V zVzCOOlCU_1ne?LqWJT_%Tp=TA?|xmztOrQrbcs{;@5j8b?m4RA>zsI2!zA+-&Z}q& zH)sbxn5M2}5OEwcipvN0TlJVX;Ug@>D$JWm9pL_om^qBt{g{)IINM%K=~u8rL%K&K zo)0nSKQzQuNV>9DQykoW7OAYCpwG%2=atQOB-xxSi72Ul>M`^#8lif9WIZfkeshSq zj=7cjEb~R?=}YexeR!x4o4N#^&=J8bEV+EZy_9Nm&B#n##EEz*!Lsc{b6A$>oVX=V zDGAevKg<;M(I8;Tre&6cZMEKOYq>s58tfe0lx=CrZW{b29LeQyWMp7PPfcB2P0xzQ z%Mo)Y94`)oNPqtuhEOmJTTCv<$i~W0Gz1OF?NUUxLAg!jisuah$NIHU2+94Ne!~z^ z%^b2plT1g@;@Y#9Iq>&T-g1H5@YdxV5zN<%$ND_YW5qUXo7C!Vy2o%Qz9NS{B zMnoQzWH4G0s+jqJ_GH&!ET}4hieRR`BPIAak#`KaLJjsv#NqJ;T+=@nxqjR#%zQ7` z0*Y2%n~tJa(Qc-f*^m3djJK@j5+F2rjaCXZGH)jDC~NKh5$G`Ls*j(^R&w1YxOju+ z%sP}jRV z6F!~F`i&&MLyp=;qiH_f*MRCo)!j`)y( zShguPe1K=Gd(+Feyd-Gp-iGp?^(2}^g_6yn8_(Z~JeTl-1TpYQV1_oK0X$|fQ@PF$ zj)J3pbDfFFRWLa{NnB8w_#X@v3gEz*mdVMM;(@c^)w5^KNb=cd!T7V!K5O=r>|kES z%NxO4?qpUl8<`!LpSW|@*Gw6!7+vI@i7R375IAGv-^bfrNxh|5_*4eu)CHaAD%JF#Z2!G(vC#t~HCcQ~ukkjxrfg2grcwwwZBvzNSNiO_ITYbI|ESG2_LV@| zSC?B*?MnyhyD&+^Hlc z%)A~u)hxi1TsCG&FiY@MRCOp7FEe3eLZh~Bv&#N%iserxS~~p+{45%y+chH)%FSrI zS&~2eJ}j3NF$#TEHjo!SazXr%C31X<2*rA2xnFndN}-*|-q0yQmE~0h4mm5hbrJx= zupr(*Ju7jNqN$v~r8)H$^St6VG!RkToWAx|#jQx{tFlLxz>3z(TU#%`c55!lRp1o| zzgeQ=kW6;h5T{!9X$WUnN&?8Vfb4g6r?+Dx4fH1k;B@2>Ed{jw(FQ@}i<0mZedrP4*a?T_1G@1de>Q z+}3MJ16!9i%Dl{ZI3we&AS#e?xIe8;5~57L`%*Ia?(-+|wEbS&)X zSln^aEDjHYyB3!A6YxBE4*moW(>nYHdYH>CoutH^DUVKoGi}c|(SbnqGdw)95ZkHm zA2OuokbJ3l6B*)kEYE<*fjWp;URY~x45e!#V3q8!sphvOheHD6WN(&pxE!eVKM$)m zn|fGsu$*|<{H5%0$RH`{?q#elb@PHRBxSyhS9BSwzm(uB#f`~y2%L%3=oN-TGP`95 z$07xR9klTA%39EED5BF4R8hVjmv7jNQAxbsR;dYU@6)&tT-20ACMrB%4Zwqp4fEi2 zL`yD4rY7oEEZ>?;5Gh%uWhb`?fD&X@*3y>)ztm#d_s?iCzjpYr48a$znC8c+=3Ykx zZD0*U)V<^gyEW~VA8G!i_PK}jxJn`qeNIdIwI2Z;xgBP~6+})4nA9t2A1nL2PvM@m zkXeS`(Hdqg@iSq3luG=6a}on{kp(^!n}Cy+WoFT`*MzVC7jsQ{~ z<-}>Z(~;SN(zIYiW`<&6PMKyQKyFS1<{e7w_NP%ZKInMd5$muPW-&nt2hq~rBlTQK zCJOFDDR@z_Q2&V(Fi%wYQb|H!c|CX`Y9Uttn5MY-ns2`R&1+g)wru^$)-5fq;L{hU zjO|nu)vN3j?*=aOx8Si|ic1yLUE< zC=!ZuPS^B5O!Yu*n%Fas;tbirWIR-ikPL9h?{pPLhl=lkNwZMaPsH`!jq43C89aln z#H;nkOM2>a`;>=lD_SO87fonnR*skEgM7BtViad51iT9idsi?c!Jmn2=)F}LWp z=6AAz_Q5njJ;l8~;`j@%VXm+Z7-Sgld{T+|X>17_X{b*_%T}e7g8GX? zoC7cYl3NGupq&*3TLq>pCe71G6Gf*Dv|}Q{DVe8jPM#Ab);dRiQI?gWUv{#Je*QcQ zD{Sz*F01A+@8Zc%v^h^ZZGr|lPPf~f<$i!h@S0Z1tj24>2(!(ON_RgC|Yu-Lm9oFxSGhq-IV*3Azb)D^F|A zOJ-U!Ba!hcka;*seT{fp;j`vcpx!>93#{Lv1l5|#&aGYFs%u@Kw3^q;evl0Yc$R~@ z1GDVHvNg?$EmT)&^V-=eC2p5gyt-H3pcqc|2E_%=k*J~EP-&hsRGY(46xRwNpbiN3 zfHENdy&w#Dy{g)8_l<@E-1~JgBQ6SJ<*zcGotbah#kQnu{;{EIz%2-@ja{{VtKI1l z1i?_xxGO_mb6l~@%2vB5vJP3*1rB`DQ0;D);;-^4F2(K!TUEoU?Nbd_S68X(Dly>2 z#{g6UBB?eYY!ac>mtH|XL3K<$MMEe19w`d}R{~^R@`4!*V(JV#mG@E)*p@N|DBJKy zXN>vl+N(YX@??E7e_;NAtX3fZxvF*x{C7=*`=N*24QnVMZ}IkcbMx}%X4qUskDxC6 z5Gas4%)bK*X$g}Lg>hyA;@*&~d+4FMWCMxggb$eJp5~bkQ^Iy*ENnNO7zKiHI1Go! ziwu0_cyR+feti0P$%b$gZ7gBH5&J;^f;W(T>KkC&C{c7CA2tcUP5qKF6c@VV&&X8q zYE29Z<}Tot!zt?3lA@koO0o*23dygrWa(~3U^ z=ZJ015f1ZByxEeb`gEh*L%7{!_qqkQd^2+`=EOfYj~DNP)ID5^LO~H|9I72m4NIc2 zl6bu2DT(MLmfTa8EZF1Gvg(?psli2Kme0bH=Q-RB(0?ll{Lvf;*Vcx?Q-UAA4^|fa zYs{a5nib(1eBu`Ef;oVf7uAk`8_qRMu7NBZktJTSiz>MxWGfz{r!qbhYy!NgcudE? z#o-WKx(-K3+#YWDZzqCHNw4|1H>uhE0=Pm`ctz06FZ~LBi6oO#nYb6lydAG-;0kZ@ zwqN}eAxv=i1)IXlbSf0(N|I6I;8UVxs|@4WN)+wkF7sF9P-&AylH6(jO2CJi)3U6l zY~$6+^bt+@kD^Kq3#x-UoF!wg3zV!cXF&!y>To;TJYx-nuV(4Uh5++l48iYFm!)8pBayAEo(-Wvk!}7_w8J zYj>nMt%<4pE+>x3v;gn%NTa<=e@P=o#~y zm9?&@3-p=aB!}@xO{4j{afi$0Ai+|1#En1MnFRB}ndk~~Ykd%m2bb=jLO0RV|nGQ`K ztE`2O(z~8SLz_utvpeA_9+|o4l!Ih-mEJ3*I|57>(DY zPRFTwU9-hcX>sYt!ZvdX{&9)XnOi@ znmQqbl?$TK6|blh!_vDq%6>(K^1a9=u%ZJf(jz~rh!_9W=|}FRwP=KIjG{Oib#R(u zW7TE#S1oThQ?2ou6|E2<_&j0rarWPMJ`kMy1VkUWidURLqye^VC@rsQ}-kTQ`fgxd^o#zFBru^_ONNZ*74c_!J#2t!t0o9 z2GM5iGU3s zP5JM<`KqA>?d=POuKH~`0!FWxcPoh$AOGm#jgHT|l}5@s+;^d0qV04)p4iQ8n(zJX zQoHd~H#uQ#SXi=ej&3W@xW}_z6Gz?Sa1DSr+I# zGMdv0=MG5!j>mbx%_-)uIF7v=GtZm=IYK8HGFT(yKl2-S&5oWK4L15=+)v8#7k`0| z@VH?w{=#k;b{MxC8N9H*s0LiT{EctOyepu-i0J~;jY%#6(@#Lh1QhOspW+O+leJc4!zNA67@y@6m4$GtO7;dP2 z*$efE^Iz&kG2puJZCljG=6|ZIs{YeF>x!^iMrX4uptls6Y!(a$y&vFT z?G26uy#(~e8^kGQ7EF1A<$dH+EJF9-)hf?038KnKd@&e+qq`k(YX=07O<#|jxWgrT zU!^`kwFCsRk&N0s=1Ik&1a;7H`}8xw=1^5xwVN;N0k;F)=1Ag6dcp=eS8Ps^OorrV2~m4FPvqnJZvFg?q`+f~jJ zl8g7f?QkLmem9;u{S+Z$l^*Hz6Ohf-R-5}X)68bR? zi|>*s2`ZJ_}aiVPF}dT1l~egKULQWjDc;IkAfM;^;cg9}SA&MgbW?d-2;9nsBSr_G3kYHkoz!mE!x~ zr*gu%_)IxwF|+2+$X>V-oU@nkZ^UM=nJ(hgDHRdn>?60GQPZ^9`4Sm8BQ z+#pFCAY0*p)sBeMFkiC!?GB%P+$L#uo1{9JIr8yQia$W;$8M&d?v-8YSI>};HDI>K zC*~%W{UKj6`BIPIVa<-4Xa^U}PmwMPZWZwm_`__XWU~^r;@cmQc&P_c++g=R9Dciv z(9yQnYi z{H4?Rmn7H=u4G}A$jj#E*^p#DVsi+B46d?ON{`@WmX$d5Vby$ug(}$fxad$HuQeaX zH1yq%JDrbI;oCo7RlH`3=YM7xKhtcA@?(zsG3R%JZ{QR8EXNITc2-1S=q%5l8N@4g zg?hQU8yx!^b3eTlkAPi8J6^=EQE?;9&zYY_0bMgcCxs>RvzqR(fsbnu30!Y;{5_J+fG@vf z4)Q#B@FnwdwCn8Dl+zw!f6j3~XG3;#z2=wBO8Dc~z}HLo0XLx`D$!oSY$mfWf!CAxaLl65gjQBS|r z*on^;*Mvgp-_!@g@vda3rlup4`EIDDdSNDQR)%V-f_{7|NL%wRTC~g*%iwqs_ci)*4wHQ8JzuW-I8>AaT<=N7bk1mGwEok z1|d0a#OmmLe-FDDj~|_SG|Uq8U7`#iWWCXRHWg3A10b%);U8YU?fn<;eEHGK&TItB zxBPJPljiYTE?l_#0?e8JV(tPDgTT-~Pfh*v{h-qPmH8-@hmTSEhUhgBoXpfLvL8_^ zOwI%TYgh0JW1vGuebSiTFT2pKikF?D3XEWqatJkv^AIU0d0Z&aI5qiOr-h+MZy;Jw}w)ail*Sn>Rf(9H_R%??HxNmrYHPB&OzX`9`AB^w z<}cln?6EG?RX64`H)dMW&GDK@A`r6Iu>3$|Nl*8d4Yl=={Mz=OfK!wmF4^y17D=WC z*Eb9_T-LTMRHcaKoh*KR0(1x(a@A&1U4c-jH57p>%0>AUxhCieR;Jc&-IZ&@b!1~T z(JFkwBTI7{FmQ8stld0`s|vqx0n zxnfmsAN_;pW|L52HV!WbiPw%Kdd+iv=DA+LfU4I>-$mH#txim-%(09EB}+I|vXJx6=s(QHQh83u=MwIOJD&si$l)W5nEq8{3u=|=$J6am zaI`r3)?07QSkaX=AIir%ABg&{21Dlg^X7SaX#dUGiPNVi&Vt=vA0Ow3h6an-6JX-O zH+F;6(0YF|nM)-8(K-}5_IHHOJ~*Wgj+$QrN}UtDz7)6VE-Q96T}q%VrDg&)04BL0rki^LmXfhmzw%D z)3Mb6sZj|vt(^lH5ZC9yVtnk%=hm*it3ePN?pnR}xxfDA+WygcL8u??U;A9~OV!sF zmOlLG!`+LnOQo(G?O*k1e_wauTJV#??nR4sk6u?OTvtdC$Ao<(xT||{*VEVNRr)ng zFIv2G>EcDDldi?x;Db${%eJ<+u#gx|4K)Xo-6AFgG#GCP@DnK9-;W`g-T@mmXtEI*IQhbR#;M%^yVjGXh`IHRfsI5 zIS^`UZwlV)wV!^UIc@j+UyfX0&s&X#%q|+xgt`A2my8F6)k?@90sM#4&W678rab|;e z`?^49%@5rr`+u#%mHm` z3?#on4&T5D2Urg9GndLykRsPg8Tgs&)aS(0{v3VW?0iu)YFpaTk|h>~B251vBP=ytp^SK{^9!d7Dp zJo^*on7F}cfbn^-q&cF{7$=rnCG~BxjX_n0%6cqdjyws?iGQJKwG%$3yG6-S91$9p zrs{fY)4es3OlDCdn?{?8Bb;qrOPV;NNyiFl0e(SuO+Q}Q*tjTDk38lV9Bw=t?jWr2 zoH$&XtM^tawnSG|?TSr3HUEYSYpjf?i{ET1)b?&#QCpddc2s*67c3h-cp?3r*ZV-Cw|Ej&na_Y@(|z}pWgt(Wya;71OVnFTfL~weHD512gLe1sX+JWa-Bz5y z98fQz)|~iV{Ndm@SUlbL^xN5|pU&-?5GhVAR|Lj+hDXTDtvF*iro6qwQ~7*ik3Zuh1?k+a$PKeVBG5-WJA~ zPcsZrl{K}_*R)Z(@l#LHk!gsc-Vd7mfzRTBk?&BdvqStmjH&Iwe-od`$0 zC6+4}r!d{+4UFupiP{|WCu%?wZvmx_EW$^MSB+(EHvi@3--;}+Kmee^vkp8t3y1?i z5jZ`QIm{tZP&7w%grN4a`OJb;=JT1%D}KYHICwcDI(UzwYlXi<1V>tTB>EEKCO;?jIzXoms@l3`+s}gCokP}&fvszI3?jl7K?E=fCAkXpK1F1C? z`P2g-V17juM2ADNI~=%Hjujk|&5>wyrZ8J=b5{f_JwCnid-%RsC~jugfQ4&H^W<0A z_t0jFb{Z`C=wZ0H&e5HRe4^D$p|kh!GCEmVZB`erXN=aPBoYV zPVls9pB@Dj=D(6Jgs;Co{U-an_nif_9v&e*M1s zT*G7arM2lhxPQ4ZKUGC~n9IhJ-DWPQ=M!8a#SzHTE-r^&NcV0X+7eUb*w(AIt!${m zOwwcKm7Mt~xEky*zYx1@^@;^iR9pOG=88?LJ8J|8g__RQo36+}nY-*V4lFWHnrSiC z(6+cILHqUJqUZ41c@1*_*J^3Pl(qrNg5uH{UK`x;GTs>OI@CnV(k`{86pxomoGsFZ zY^quOet0$?riXJ`i!@3^Er7DRlD~EI^#_xM1cw$PF5xf!&|iuck`E$|Ll1&nfkO)r z7YRyQqL9v##DyftrV9z16o}BPg&ZK+i=O}!h-=x_>FC_n!hzANaWN#XKaud0Bd+Lb zntw=^yxTfRQZ(=IdkYD_$g<#vB*AP%oaj#!ynaVMN)kG@d5s}@*S~TImy3%>Tv;b@ z8a;+sCWR@~2k=uA@BmAZpGzK_SBRJ4*iv~9RT(Xv2>Ir@r&)^|w(gjFKZm;_AIs1^ zDI#p@q89dKj~=hxL|>O83|o8i@upZZ-vueqrPoc&wZN_n6!<9gRr!TRh-vmJADm@Hi#z=bOOy?w5cOkPg>2E$&%;IIBX;Rn%PH*}ki$CXI>X zYFIncv8lHw#yVu(B?hhp1T}9F_uxe1F^(Skhq&*m!$=Q@R?|?AqG`a@C-=t|`+m$sxUK zDA(Eyn+l+C|Kes!3qFkg23wQ~Sbllf_?TdvDH*y5Ltlqq6+Z9)jtnXay zPS(@tx`uA!7R@Is>Qe&G%TBh7Q)l*6iGM{0Ugc6u1MX)oJa0Mhmm|I%yxA6zqBFhV z$$C(0(z3+&bb&-G@eSc-8S`axv-vVegC{|{cxrS@t`(YK<(WDqG&5VY?%HU+~{^R z9y|6=3-{mJ`P_4zx9(r~+|NDc)t<7h^G_%?G-E_15Um5RfLF{qvkr|G@sTOvweWq2 zcoL8-PuB+FC5$87$@hBSB+f(j{pnBOAC8!3z#ZVe&E}N(=KofPGrQMin}aA-OJ#Xk zf=f+k7XoYMjgzH^$eM)G7iCH4ji*qkINl3R0;bs8i+Vp`o_x|=OQ@I&B zJT2UAP8}4!dY@2HSykiNlSX#dUz32}J0pDW4E{Z@7t`?MN%Qrpbh;yr|61xWv6t2= zgN}4nqb?>o_U-EsZs=K(_9kQI>tai^wWVt6w1CMhR$wcfZn-0x7u{l_G6FXPXuVJpO7xdn@#N1=PRvNbtpcmoK=E;OZrBZQ62NxX^UINL4zGI&J|EPQO z06D5^VZ86XwJ*I@cU7;`)7{fuGt;y8^mH6IAu6*ZI^-Ly#@SflM`Nwaj>(;GXx2o=X z?m6e4g}@Yj0%qQLj7`L9kL=w${NgXpbFYs0+!OIm{d@P$`o)WNe-b=(WoiIQ7_826 z$Pmxubx{;}*U4qh)0p(c=}~KP>(*k5%+eCVUh;CXICep6wt>6KFZlywX|u@h5o8tJ z#cak8HQ zeiE!cW(2%Md`EmEC_6OjrR}X>j*vR-@Xzs=&~^Ib8=ipw!%JU#ZD|>X$nd8Jmc8}X zvSW1?JwNFawJ=;2OISbo$#rl+KN)Cy;)%A2S~xpL9`4__um8p4ZJc5qqLXb;V?S21 zXlO4#wa10%~{fxGx8!-m8_~qx+yPDUR~DNQApC_tIos zDIi)wvVi@Al9vfhW<=sSOHDM&vXUD>Cpw&@_e2f5$*#;>C-YV$lgunNLW#IvmDRKo zFGkwmCK}Sxe9PJmTQ1wWxqo1K9pX;M$fcUA0?k?CPW zo;?&!@lta(9ttFMEyDR#v#X2ejYP&d?Ra65e?R@S4>UKkFAel>-ulOFlRtK>9bOzq zrY}Ff>s`l1CU0OJV-^{$;2k%*c23{Y-@oP3EmNm%neIBHUxMB(ntT7FcVfiVo|p<5 zyjGP>ik={AFbVbm3d4Krd_7=Xz7?n9-JbN86~%5{_AM>oG<%y9eu;y2?lCzR~a z{-W!D(K?dk%|xg67j4a793MhDDv~z^dc-&5tik@?%Iq222M4#$D9&zfp0#LxTT8x) ztZ>#x{lP?>+#BhLkbC2aMBG^)>F|e<8xeN4A>ZN9)QuOOkxEb9c)`Z0i<)LE?9Vn0 z%pNi#{~I~Kd&uL?$V_hyxqqZqcxO4k53?V$T>vYtLAlPHjaJ26(#UngheAdodWCR_ zKGNrD0edc*Omuc^^iC3IAcECEQDJJ_(W&Qj!Yq4}c-*tdJ0uKv67m&x9?Mu-dA6nX z=HiL|wsco&C^B_QLD4uqMq2n_sXT4{*>i{T8BM0s7%y1KzJZOWOs(3^Z^D!|cIj(d zq7AL_kQGctC0SGjDQJZ-DygCu6(K5!-wrl52O4edthVW?t~A*<6w&;JWICC#h|Mec zU^tcNZJXD(>icce$-wfaX@!y*GYs2#J#0oY)W5bRT>EV_(_oTSYAB?BFxo&U$17Us zX}rA7Y@n1AWG(bbl>9p%s)#oYcV0ZkE@e9b_MzAKslK_sWiU=r_3;=xKR|{aW9Y|a z3xyc&hgp;N6$(eA`NAZH8+PuOMUkt$nzZdCeIRKw%K9yTZJ*yX{bZk=eBe62`S8Qe zR^766vJXOM%|ujpwjRWM5LomxUt-KojvaJg^f4xiwR7(>d7MJa54#7tCvJorsX~ z!Rm&c8>-dy=dQ1k(dEb7#K`h0+}yAWMVsq(Wj)zyAJB|d@5{%VW%Ud+@)mCIbfU;) z-DLS7b@kQi4l+;R!JhWtrN*+_U3Y2On0nV;k{|@5rs!Rs$ou@6^~~Obq8SYeg5+I7 zIVC9bMO@6~oul+pmv6|o$hQi2H4IlEFxP7xcP@DD4tggIpaxgdly}vtVCZxZKh|b^ z7a!$!8SaZzEzdr1)t*5zM11<;mX>3G?2@Lqvlfm;X!Vx*hCX%YX=78#o~AgtuYBzd zyZX7@*pv-Z;5YZ2=H_$ePCavuxOuZM=geHpBEh)sj|b_xWy_v)e**bXJbzO>pO23{ z6>sXZ=6~Rn;%8X`QvTRgjIX@n#=$vLHk`L%%E?z=xs2>OHMx9;ZSPo~JXe=N)G^wDfM4 zgL}{hq&q_GZr31H--#qtWj&(Yf4>q*Do-i!JE5Z2!Ei$U$VcQvSbj)Oz)|-Pdw~9z zZ#%34@Ktvvdb~eZs&ZByF|N`Nt4o4-9$qvF8n0}9|>ol{H0D~C%{I~bz^BOC=R zjpIhnGg(mKIZfrvjkAlTfh`wq87LK}tu2Ri)++Fls0Ax)KU|D2ST<6Ys6Q5A(yW%k zbX`-lC<|Y-d|=x=ora7c3!mIwLb;hz_sJoGt}~e=t0JQ$xOIW7QD$oMcBV6Hx(Bul zz^{8vCb{9V*;*Lw|3_SY)>ACXrcSa8aPlBI&$;eo@`c$alWpX>=}zzQu&DHIum~?Z z$t2SN)e{3C@>z7Czb&;O2HGtv|(NDD;ChK6wC)P;xWr1XVoqqC1UJe z%;{RB^&Hr|WB$oc07g`t`~*9$IQDVZtbqnldxn+)}6rOB0B(>XIJNj6}BGEH7`KQ|yo>j;T7~0`HJt zkR?sk6`n_@uBsVtyJqouF+Xb1ODbWtuPH(-N^Xq;It}=hv(qeYpnS|E3(O+V__*nO z(X>g6-;~5?DqzLbX3LDJb_YaS0zoO!5EPR-<3-J{iba@)vPdLUP~bS}7LF6OfC9;a z2+1PPAtBF;xBO$-CBZVuUeo4fEZ;6D&5*>$tvOaJq{L&hV=XRx{~`Afn~mD>GOf0ZGZn6XFCUHkZYWkQ^?2?vc2m#IN$ZIP_NooL>n*yf_XH9;zB_CUBF)Z z3ouAud@fQnUigus7{&`Paxpla2=ML1oCgmY#mEZ>4fuQE1$=1S2j|aSeb4#6(|s3A z@L%fe7v!lN!+xnua9=PT_aY|qU!XP~3#R(N;KBHlP&PR^jSx=PJB)BXTj-v3io&UK z4(*yW&I<>b7SeQ0)C15t1yyOE#j=*~sQf5wZl(PKX3MvmJ{nEL;s zi!^Ss@Ps=C@7=Ny8T=c!ygD9P=3J;5hDP2G;feMJK6}g)Zp7(~#3Jyk1Y^Tj_e zAy>l!z=TYqk!+$_pzb+M;YH`;H&aoIZ&*rXEpqxQSem57ar|g^U&Zx;9?e!Jb8tAH zbJ!W7dyyYKvbWZRV)1nc=P$Y12hL$qaE6E7@pUhIg>}~T3OxU4*i~g-CVat|LC6y4 zRd&&wTIfX*a;|2a^PuzUv#AGpR(3u{GPM;SqX(U5=ls#R z9B%QA^Bc}*rZ4Hs`^v5jt_n&sMqHxAs>?N^cmthI_)0k%u{sF)AA>69>U!&0l>h6S zPRjHxr!?9;x0KvGc!2CbFnw#XG_P1&xk6~^p*~geCr;V8BB8@#H#%Bw5mwRzD^}dr zv7}F~&gZ{cDt(ooH$|>4X}|5Z?FSNx@WPgCgBi6uJ8f7Ivcx>lu`rZK9PoIhKVknsy=_kppaLBVGazeK%OM`SH!Jda(au(?*-Cj_$O?D6S*g~#INnK~-LZIOjh{&XO+jtL?QRvfo)jO3tBC^wvzHuRFPmTHbTR4dl^(BR4n~pS*M1wzFHl zbz5mg>9taQ-|i6m7#ji_JMJq23`1QNv>|I%p)7Xa1U+Yog*?jcS8b1R>TwvNqMfe- zS_aJ?f|823@8WJ8k<65h8>gIknOK~;cxF+&oP4=2vmo9UJU7{qNObgdB$FKrGS%T= z8?|bImGqmV57s_F-!r@ru+iC~sjumd(zRdQslCR12kTl=7(A5pLtDfvueZ4DUZGdL2ithNR zT6prfB^l4YplL-tLO3r%Ez!%Q>qpbI?FBtx{eF6;Htx6|PWps4(C#|imp6=5j zx4y^gK6QG!Pl&*_1TePB3{Vk3M@r;DXXOv}?=P)@ zLG<8*tt(fO5?;W#Dz(CNcOGnY9xPEGDIM`08ao8H@b>8b{i7>h-?3xI?c2BCj$;bu z<$l&O;lDNESra9eXd8Cb!c_+T`4EpH4mJ*V-VRk!1(BWCFxoH*zp3&8!_FCYVX$$1bN@=wv{pQ;@?RKhK`kL)GdUZ)0abI{d^Sp;j6 z=MT&eJUszMa1J_%8Ha>RNq4InxjL_5xjaukVw-2Z1{LobPd<5TEva z&G)SD+rIDmzVG{i@5jFX^!>v3E8lCrH+*mT{^a|c&mrjUNC5~LCMM944I~eXMu~Ki zGO3aQGK0(}^T|T8ge)hk$Z2E)*+jOI9b^|dpIk&PBUh2#>?EMFpx(+)a=uApbpE9s5& zW_lOBmwu9do@uO`RoGNEgUwmiB?8oe<>}B?A_B-|$&g4>DBUj{Fxh`%BH-|f!JB{1Ioz1s;eO7&$s2r%Z{%C}9)21>mtV=R@;mr*`OEoHem8$Ten6{{;UP{@?kZ`+SvbHxA3fq(gLvX(i8&Gd~hK&b6WO-`p=8b$;OLBbA6)uEN`^ zWh-yEo5P_j+VZn-I~U?fQf7IhtddX!9)UNNNRAj~Hb6po3kE5cE1IvCaq3ub#xnlz z((V62n(c}e<*Waj4^_IYy#3!70M3y3wgR}{XZ22T^I@amti}6o*`VReo*zRz^Z!6z zSl+UjkMBjs#|+o0lMu11T~Py(k4T;1z+`mPYq`5oepmTjM2EpHrY#&*rp*u=uD$E^OQPgX(vlEvV zO6eA>q8T7L(Gx`%EhO{o83aEn+P(SiT+|Y+Zuq8ciWw3qclT86zN&@ByQ{b}7KNCI z2B0i={tD$F@oMl#v z(Oj{w+-G%1b9OhhA2eAvb}Y0t^t4#+aW&3puITPfqJI-;6}S30$|}7!jwJya4~89* zGp_3gXe*Zi=vo*S%Pu=S?b`LUd#4l8?y6wh^;P}E=(ch07@k0%;5vdZMWI-QLiCl3 zeGMcB3DJny-GjV9FITaeD^}gyaL<5Ri@EM-q}!|t7F4g?S1m_vs9ZNdy<*Nn%%soi zv21jK)Z=>C6_A(MOKkMHTeV$V#Z|iq=npgj7L9p!8QppsRu!Au>b9%hcDdUsR&1oV zY|rFn+32fwGpk%>ej1>H=S;bZICVeF7eJ@0mODA&tuD_1Xo61SMFISZ?mhk_=XZPd zIG?%uZqiVx)Rgni>uYYlY46@Y2(m2DAcnQyO~m`%SU{8{vG)6VT$abS-Y-a!a6d0e zyHky+wGE+$LMoH`CB3qCjZUwtU8Z9!>BW}T9{K9o^UuEP>;-4v59=fR$hKYSU0)Ez ztiWZm*?DaC8R^DY1DBpXo^&!>vNH%6I%`-up0u8wb}1*O8@Ps*<4K#@8QX#+vU&Xa zJht=tU!ToSL{DPF+pI(kUN}6Sw3@AWuc9|h{sz48%BD0R%@d#4&bFNynDhzp zVtU~fM3{K*SrSBtSFS8}ZTj7+Rh_6f)z!5LXvLRay1A7XXNkNUIxnwWS?J#U=E{|B zme%gg(+1I+O}HDw7+cLzwQ_D2{El+7iw zBz1EEmC8J${Cm`$+yaqex zB68YpqHrR4?rJ{?aWhpxWFi$P$8)kDB{T^|!A(lJO*|21@)i+fUeSg1!gfMp0)NI8 zB4gxgLRvT`3h2+1V}vm=fPG0t9cE8ijY5{@h(BUqsfMlyWG~ELxR-DgyND7%9?@he zqa{J5P~Mn88T4$EI~1VPu&E>%9z48`a*#D*5JNW!41;tdd`vb}Hdixbu|a?u@v@vI zOj9)VYFXPxm`H*;NeBFrcIGyoNi4`W0#il?@Pfmn773E|~jIL8@`G2xkO{IZ>u#C%)G#2?9Dvf=>S={*e;x ztbGrTuj{(*r$X&-;|Fn^2I%QuP@wAEB*>sg{C>X(=VATm->gaT$~&aGF%cd=G%4e3 z|It4$PN`p`et+N5WX#7)I!xH{m(_k+t7WsbKmDneoqgqZr|p5tNP8rhc1ur?{uy{E z%lI=|=QS#^(uQF};u%l2w9F6Ed?KC5giWz0J%v{mHTLYXbR*ZIh>>uJ&-<+n`56J0 zh*;5hIHCw`u?`~5NVG1Anv_KJfbN(0WH3$A`C#I~hGbl$W;hy6Sb8y9XlyYu&OL$@ z@9vIE!brrqNDiP*Pz0x#phOjk z1%mF-47a2zbd=IjkrR?hHryY7gwg|g1VN)AN&b9$j3?au0ZONdW?QQ%tXVvToKNZb z+}zp18Y!L*H73Z6Yo%+QZ=@ROO-!Qz*8WD_iCjCvCL-iJg7DQ@bGhrTBU2U$R|0V< z&Yvz;FPC<^|7Qs#oGFF|6S353LbRCZl2-gl3O9sOG3hFDm0&iPqT-cT>XD{+yPt21 zWKWGvUBHTsR2O+>H!-6P044yKmS3b9Qr@Lvz+d5QsoUF=dB?Ny_t6qDE7^ zBXaUwj*~=L6%|=#d_a#FEEbSujuZ5ds)|=C3NP@MAgj}obEl@tBl!#SUxAqm@C86J zv<`d??J6g;8pknAW+~ZlHp)MW4b_VPXdTcKn9(BecQI;*;_)(*LBbOkh3so z1is4{6cc6~dmrt|?`vsZz376SgrEH(XF%8JO4W+U2DTB?M86{QBBfy|64DgEUsWU$ zQy?ZPG&IMgZd4B9yoFmn-xpop^=H}DKGo&ewEFsdvwW*uKOEQjZu8ymdl>S3%l9MS zZ+w3xGKrHGvW%=FXORnFHM*JHN$w|~B~OvBljq6L$nU65)3l2Y(WUfs`W|{Qy`0`b zKSuANkI^sEXXtbE5dBa3GW`P`gT+B$3e#DLMOmDsS(X)83u|}z7*p6Xb{gBn&SLLj z7qctaD7%&2!9L3FX7{s)*`w@->?QUK_FMKR&Ij`oLHc{R%eia0+qiqV&v9SizRG=* zd!G9b?&sWZxVN}Jaew1gKFzoA-TZuhDZhiih`);8&A*S|!|&stQG5-}*w z7EcmS7k7!f#rKJO#M{I>#e2oih@TU`E&f#etN1rbkit@f)GBpIJ<<$mk+e)&A#HMH zx2Ka{pa9dbFhwRAhnhiT8je;cHH}CBff)8GP8k<5Zhyncpq{p z@yTqG{t+|Hb33|0my^e9hi5KTxRo99*Jl=C?=C zJQh0dtJEthPHJ821nK1y=XuBclhciS206^fe5P`=$|%}dJ?@&%SL+(TB_t0$b=7LU zO>Ivx*t?q(qCg4)_1RZ-b&k-Fd_HGYCUduPMeF!xdfRmTW)kipf-@dUae z7LGg7+Zb{8gj`WUpn;KPP;j-B%c9V2xx^-96{^T^g2QxEP@}Di-BWd4gyyTJm@ih! zJwPi$70UtiU|hyJ!Ieun+t>t9668Vvbz7|WMv7PbSH0OEWuU-UdkA_x$yy3V*~4bC+K zhkTPNGEBz3C)9~a}g^$embzGLSjmLL}J(W=#*i&jz4xM~Rnbff12 zo<5fsQx*G=tgovBSBrV{h15Z!-i9qRd#013m9x9iSXAD2wY0@tzJkRQP;&$NRYa5L zXenK=VHl%3G_jH&M4!zf*4IWO6t?RTEkjLoHE!cTj*8H9)b)K=teeC`#!6oYEYEJN zSRGeV&U<23br0*d;ErKe?H*=i7jD0!6%Zls@i6efky~}0O$b&My+$L;DPLu9*tkIv ziJDde_1KGoXpUQg@GOWGZ40VW6un)23lI1p%3KM?c#*s|u0P{WCT7<~E1*7=a=vcB z51BpCJvQ>7(3XxVLLL!&)3p3(w*+N&En`9<8)m)RiQPugc6+>&lsy)w%l?5%*vRT7 z9(QfrOsHrNQus9Frk0Iuhiz_j=ObnnIu8~PWRg|#5y7;2;dz()6t%nZ-QyX`eO4N# zZeEy*DiY8Ibxs;I6gFjDx~&&oGulSpJzDR&Boclu2ICQ zH!@&Ex@<$ZgGsh$;KR%0v8=kG)K(M@*5iRY01ME{$OfH?jft*6UD3L3mxpTEZU^Hq z8Hbjx+n5>XE7|gNek;Xl-jm|9T!yMUMf175>)@d$8o()PLpK3Ttk}KfYLDohyP(wq zFm>UgM1(Rx&T3D$-PUST>jyHNmZr$B~6ns zrfMR`8H(D>aZ>{!mE%guv?yqIz(?+2J!f*>$(gVe$w?lI^>$oK~(4o`0Ta^YJ|pEE=K$&ol+ia?DYo zzf|YpAN|O=8AvI~Wnl>cRpO9q$Ed_9emx2FMbYvnDbwX}J5MBreG61!Fqh_%B;A=4 zf_hk_%LQ75bXkR*ML9Z06pI8#1)Z5oM?=?kv_uCuuF$LK!Nk;P6So(pwQiGSf+X4B z=XB0a&u*TRp3?&7(wvhZJfnWRkK@cxfsl*DS4kp%W!pOJpqVW(IL)4kRobwL9Ozk>j2PMgK zw-nq#`IVulW!~L64|BCNyA7XjITMJ*xr;EV>!jHwzj0Q2j>w%ml+NS8nU`*X)2c4K zz37Jle~-C7p!x6QN4iyYom1wREckT}+ELOhLM{<#rZJZcoHV;{+JY;xO&Sja2}YJC z26!Qw*Yx(S?U7Kn5KU~F+L+;_pb4E2OSZJ8lXE(BRW;3)mJoM|C<=6ISmtz9qH77f zTB)sLNSKOp8mL4a`l}o0)_~!Us4l~f7o=2BCoCLE>GX3v^fFM@5~U&q;t{!U$jkng zOg&~Cj3W-Ye9*-lQk6hA(zr>@=OV2}6sYDPAx44|81Yl`tvK?Vvdxf1i)rjeP2pLm zAVR&ve!rl>=%ZWVoj97L%aGWX^`Mq(3Q2}QL{a3>@Ep*Z0PRvt)BLI=C@K?04SG@) zgfitsDHgpXp)pQoa@FtG&nFi7gb_6^fuaV?Ftj`0m`rf8s`+IJXj=-yn5hc1n;5fr zPV&ppBHT2A6DcQ)5=9$IqGB0|a5U894+WzBAdGrJDij*btUzTVE-A>W3{4nmi>*V7 z8m5FIOK1Zw>M~+@?!CILC2g(w9-dQ08U134qAe0jQ!9|0)8YB0GTxCm^i9@5yE*hlfj??M`_P64zo3W$T7ObClNVG@QU#_8Fg|2KmKd*T0+W$}t8z@zs!$*N-kddSaiZoJU9q=oQn%bbNglQ5E5*}Wv z*l>aua(q;Xh#-KrDP?_ z2!GagsQnr6o^@m$jFp)dtO3h)w)C!yTR zItUy#?j9g}1={~)>i#J(D4~HQNl+zOoN1iG3p`rK@=nex9G*D<=CX{DdtX zI9Cl0@G=j-yYIzi?Os^Freh%ErEc=JlJ1gj*xlUt5_^|LZZe2Nk=!xD6|8b}EdQ&%KG*EBh< zMjzBPQ4&*1KsScu0QKtvCq)8^1R#UIgpoo>V1O%xIi1L|O%$b?>XH3aRjkOrMuLQs zxmFrbX0d_+wVST#ib`opU$L77PIn8;I&iCMI^Gwee%h$ z;QYPFc`wBKjU*JRy4Tm`gUzO*PKkPBz&zUZ|0*gWe@GpWl@9^9N%%#bgE1W7N_prI zrKNqr6^+T0W-nNlPVy`iA|#${Zqn33LKb5&)t_Eg>MZq6Qv_aSd{h$@SY@LXe@OD{ zF-s1`DwLcGEyznL(ysfXoZvT}4EiGg>mdz*k1T4fFmVvH!3+Wbf)EJ63a66VZrl&z zartmJsQ{Xsgp(Dwi2#l;l_5)(C;~Q#q(|boYCG;ZAW%3$IWU=S*jK1+84&6$xr~kMp)28 zgCrpw?TTr7lK}(83L1XtdXgdlCyAAESSmGN4{P*(fIHBLL|4P%s2#)*9~~h&j7r$%f8S zING#8sKheGT%|n|6S~T&590VZTNBP14hHR!Sf-=WUkpTGP9>nD)D-z}B+}Jf&E#iy zO)DSiKD8t7R34bGD8>F6ne0XdKf-~q4<5a!)L3x#-xXA0f{wBTEWgwSI>2Ym;a z6vzB>?UYKT(oIclT;AP^gym`Cl2d7SDwU!K2@Q)%7!ZPxVTM9B<7MoNpsM4}B}ak^ zCk61nrz@0jqC) zXH%PHRokaGwr^c`+NSpW%+9IZPBchRSLp0;$kP2l%M9Shq6HETnFN+^(OsCr5rv7x zFzy=)A^=bsRscx}M8Y8hG3r1f)1fz-nJENo$6p_bq)0ddiz(m{P|HF%nrzH8iiBuH zBAST-5pmx^!S<7}4OMbRB-z~^3h^^oR8=B+5N4=E=Mp0t6=W)?QKNRqEh_mjuJs{? zn-sh#jN427GW!Xe?u+=czGhc*WRje%X|b}EM3vRag0{?+v$c59WhGejuloFpZ@G9r zN5x-$^~}#dcIH=|T+fQ`?iHIbxUPTm_333DB;S8sM{6;2J$a+GasI{g7F;sl2x+Es z#b-&yIruOg?Kx%hDLrmbJ8SFDi#_t_)?Y~Jr2VohCysVK*Sfa5T#56jE5FVTJ0l~` z2zeZSJsa=4oLkdWRH67frc`&MxK$n(BHTQy>;9*8awwctVvH- z%TbRrS`ptdwE(p>klDsOEg6rka#UHblhA=XcaM%NS~N1c+xhP9s}?R=wD79kw7hlo ziY;4KtbT44o>o29)%BIGF4EA|<@}|qYiu7^07^IX_rsxB?DE#+W+s$Un`+n4Y3LHY z_I2Gb3|huL-r7MxT(k6YFZCfnWC53PjsOJMG%xHIbYn4MS&-!L6G`N&d!6sE1tPBb z%v*yQ#sxwxq1C;oE;w~&Ys%6UhMR?49oOL|B7GbH-XP*Rc;fOXJ%04KC6s)B^44zK+4}{+8CPCy)LscB3mFANS>4z3-XmyNgUVQg2M28Dzq70@~n0 z8xyvOHmPAzu2d_0#dT{ZMy;x7SE?2{(7UEwUUMb}z0Gr*o98aYfKbm%_-L#cixuLf zPG<;i(%WvVY3c4XIlp1YUAy3qjMg88fUKxL3qkD%o_q3q#IkHFad$(@+~xy`MUTFI zd%8OndUV>#p`p>Cp}I~x%50lHX~Iv0kA&>H`c2lVTN*-hKqzaz9%R=N_| zNA(|EDfCd5w+ei)0Vy za_-Z<)ScP1wEkod=>fE+;;NZeOs-H=%cNyzGA7)5H>8 z|0ESp-=lse^Xyw<{RLVl-7ztIXM%9AP9^)IrGmPHb=h?S<`+~AYO5=s@55POqf$UuiIiP~?A~UCtK8$7)t#g~JxInqSOd09F#Qu_GE4*{wYh??iDt~O-=SL8$n7-}LQYD!z&00LZ8 z%#l(yk&nb9*+@{22K{=-P|y&)tOTrNOSF<|%S23MZP19MC*$(~b&q$k3&!@4rhx(4 zHFCknou*{y^Ir)m(NJrAKx`1jzGMbPDe}8dziDyn)TUYU1uj)swC=-b1pd4wgG~uO z8p}6Siwn=2yK!h?E~p87PiBtjk7&Hm8;og^fBPv{Cnnz_SfOz!vkc1l*>nai^#RkHz5A|S{u2bOfGP)Z6oF5Y`bOZ z{-W2TWuj2FaGdBpUO}?!U9Flc<~=JGR^6@zw0Cuq(j%J`2dF)P2Y4xH;D`pCRe-gt zY?c-Zo8hs)l09nJ|9%$WcB|@c(^S=+J5^Qv;}IX`B0iwpzwOKlMh%rbt%fzlnT1^= z2tc^#m=eZ;IUEhL{$Mm3blTK#G(aAy`JzEBBuaOx4eFin(zJT{6%YvWzGwy&ugS~s z?XVSk8u>(k_5zY=hU??@!|WBddXnECx2-)$%M**>@T#IGNu15Ej7|T_WvqX0EkbYU zs-0IPz0Px&&7BLhk>dR6Z1&8Yv1h-~MQ`n{?W7-^^A+bSUzzK*{e9dj7Z(fp8eEIq zZ2+U}LDJ~DOlcHER<){@k#qg3G`ikY3btq$jBz7eU!S%7Ei&yli)POHrt@Flxz8N- zKWjdH*KZchn)yv)d}k5fwIPW#n6=%c!TE)IJm2ux7yfmB!=1N&?5Ct(dTDrO?H=#) zez>t4u6H`mlBb79hCO)Z*`mYw>$ODA_2fHljSsg$GULS&C)+5S@Srx?7t@}t99<%WiGe@`aUlMcClwX0rE=iv*=<(+L!Bi|SvZYWR1ToCN_{B)1ophX?+ zg6l71T){af%C6ZB3uq+NW|qmgcjsRATW2G=O947W3X}uRCTC-y+z=pl!MULfXYw&c zRQzIG3M40A1n?=$G5HC2i!KIW0x9SpY(iH&4W%goUcBD7!}pl)z`JUWLm3N*B^LoX zM(2M8tFKyjQLVZg_u_>91McX0zj~Ut@mB34lkF|lVW{azor^tvJu_U(&XayPVS6gB zQ2w|#>`vD#SSKLHdHBbo6$P{>XSwFX-py=DU$&iGkZl2~ojISq=soA?&c~j5=_5*r z6_V8j_dL49w%P)^)m)ylEY=VqA8qamG{s7Umn)S>Lm(iin%~mYm{2>|xAvU1eQvOG z?qIk5&zM7oXnMMaK;VragADU3%p1rS{-kBoGN3}+xyl}Jd8$V{SAu#lw^<%RIz z^h|H6peF~)C(^1{0t*6L;ot&+%+re&{YAK%-5rc_?XgOi^KWFzK&#bZg)KYX66P8G z_|#5+)@TGWZ(G(#0B}$q(BHuAwhzI z>QoV2LlzL2=}d}6MLEicbXidVf9Bj>0NrJdI&D*@PTkj#9@tkO-%`l4vCPY~>KYyF zcjh~SbLA}3N|WU4Df`%H1=zVPfMWJk=Ni^KSgJj=x&yhP19zVleX~r=oq~mJuDqVd{f_?_s*H~ z-WxEWm)9c@cyRB1?62-O5r6CSP4g}GZNM4*&WoHq5syYD=MlX{bX>d5_IxG6T=k3$ z7mDae(K1C+_YMej__gkWce!f#gU81W1>?1EI2+vbdm#K_0M;=8O+d20zwvpAiJWt} zpa;W{$28Fg_Xg7>*YYXFG@WaCfk`?i((?>h?_#0aHgDZ~F>J*RwTXNKlTG8fkcKY} zY50NKFOVI0xtfIGsW{h~CQpe3ue==h#NdrMX0d4{wAIVi*c!mFXZV);*7;8NUFy5S zccaf&Ko}!g=?v=B8|X`ND9tJxAAP zy8N}7yUb8mOY4@CyTay9O>=(P+3EaJqng4ur+U|x)3%^o-`RORJ?N|=r;a_gn7!&e zdEtdY2|3^rZ-^HPgh)F98Hw4kF)b3&FnA`HjK=_H6f!e@``Z~Y-i&1O3&Yj)^_i~r z-1T$GTb)zFwvg#OC6?$qxt!5*p(&k0QrH=b?G%#d2%(4)3ITu(=z$O{AOD9}R6`&ij@xljH^N^_ z1)Ue17nFo-thxU`?_Wdr{fy&&#;1x&{%0H&9{oQ?B4LmO*BG!GoY(!*_16nbR#G>w z-E-1Od)D5ZngpXX-%Q`R=r>@}GFiwY{IgwUFJavNNxtsd6~QD9Mpx>~RSGMch*%KU zH$~cAD_sxcy(Kb8t8PW7dr##(XL+vmud`d`ES}Ti2K4N9ZTqqnXT+l+Ys-q|<%-lE zjmOM(b^FPuY_vkr_{Il%D{_0tvYff`*7!+RH@8Z*8SBW&CtrP1tQ1=`+R`dDM`N*Q zvwy|lOfqWMU)(Z>z@vRqyBUi|+oei*`HC%*-#7jZ&VnyHH#D2EnAxnIJUDY9oEKib z9KRAXb6!d*Hgb8fxo+G4arV4x_rwRNW*yr=(JWW2#%nI};opB^%ce^=_iQ`+%nRr1 zg24FDjUV2=rJVlapKq@$-E{dG*WbMH+(6Hq1v7`+SATK$r%tj} zOH(7}^fg=7460#$inDj)jD?Z*4uegfI?)b2Ig@6s|2 z%kSvz3!95JtRIT2gL`gp$G{^n2Cl+(7@r^$Uer9Zi{tKYy=!E0BQv$bqr}U{rsjL= zZgD0Oivm5kVQ?Uxl>6lJNK4o99{9DMR2KRKB@!PP+#oM#Z<^i&zqYyh(CJCQlY|%K z`5j(b`vUm|K?+XUt2c+_kk4KDdn+0b}Mw zey0ShnsNx&w(B$Vmy9oF$jjT!_QCu#UH`i+u%2P7y8hE$lh6(5tk93vy?`hc(Q5}B z1si3YX&@4H4u+ayiMBXBKiQUyHH91>+3M_j^yV{GpW*x{@W3YncUY3NK~R!mwjidAWjg6%29e zxjpxm71x*ntRdrz43fm+(F?d$#eUACdV3TNHDv)|oIzMQBnnY(Z!DMoRiw~qI?r`h z51YxP$#q3jNr&AUO(skTlF{*4;>(X1&(!|w5yk&Z&T&lh2hUu46(9aXVRrbQgYi;Y zlFkh*EY}XC4KtaJM3dx!28cBj8$Rit;rQgGdg2e%ze-G~&T3k!eU5y`vek2IPm&)E zaf)x;CKNs3`ny5T0-?GMC>I_uY;B7kIBU(Sa&K>W)f)c3`vSMz0&6i|oOQ(K-XLr5 zxFfRrnzy}+gggUgAmi2>9eo$PDR3VW7VgW4_p;jB=ry||chqgRdGt;@`nvoF z?RAZFvCx1}C#l;JLMy_EGr2~DPed!7dF75Xr_Y!%{mdO>&xRE11(R&6h&f~ivtf%M@%5J@{s@o|my7pmCMC%!z2Q9Hx$bGmD(F}B&pCapt&LJ|NW{F zk!T1#bt$zs6@`YBltCaWMh&$-Mjzr{V)9YHMl!Wza@h5uako<|8`X zLmujLZg6h&=Ji$V)9eO!kIMG-`p)uQ?z%=>{LrtyqXxB3j7Ww`F8FleK3Ktv~(wRi||K zkVQA0$}Mf15=w-*WMgOlp8n3pBs1d1V9zN|S7qZh@4tFerElZtybUKW>F6SRJ3H5t z!!vi56YH+Nbhv->KY_?|kz#-AuOVMo5=cT~ZZUS0ybR*4omRLViB?$}=jx8?U@^^z=$+$Ks{V zHI&WwA+~YkYOW9Pj<@@KM?34~y0`VYz7gLNfVXR4ZQknJ;d_toVpyTC_wDh0(07|} z-#=vS=Py2oa70EM_%I5SBm-c$M7l|Z43L>*{v-=Oo5@*ZCpn*7Os*i;koS?B$cM=7 z7(VhOow zulHElvU@Qo!V*}iYudnv%I{jV3ed}N5Qw8mi2v?5TB6Be{p-_7IeN^?u@Jd@#jHjr z*V~?f_RHOCyVrX~&aOs#@B@?7grH@5D^;x1+neWI0zjCG`HCfWS5Q(Z0*6sQN2pGX z$!G5##07y076ll~hg``amEj2n2KCPEnvP+s6rw3ngC6^Gk1R6vPF<|>fFAAF3V=%31D>Zb||QjLbkOX`pMX}eDK zoKD~vKNCIce|uUE)pf;2C_N{{vGgp2g2f7c7C(a0h43j31qT_EP>7U|V`T*c3ZS@! zLC;bs0}CgElL*K23Ko;2uAnzTQ8rigRdN+k(I7(*l{_OHyg1JDR82z@YK=ewLvci+ zqc7IH2*;IfEn)G3k4x_qpGboub3wNcObRs;lh6)PXa@t{r#0Y98!^a2;7?(hWDe_Q z@d8y-l!;UnFar=^60}EzQRt~S4>LR`*2{tiypTkR?sh#kI8|v78efA#;QK_hT*0|E z61XwcPFLWNc}{T80>&rO+_-yon=ptXcYF+sAY|N%Vn}3uSrK?JdQKe;&Ql9I{Qh;c@zG(l6}sD7-vsTN}uye*JF=$ zt*_tP@15U-6W)IMmF~wL>-KPg0AKfW6+)OPqv!IYAvtF%`KB{y7v5Cluup#IDspjS>#o`~+&COGroBx1U z&CMr7i1x!>(p+^jjsLto#b2{mSQW4m%@>3oFabN^(P-fe!W)32R5FAw$V9AYWOF>H zeS*Z#8+(%8pf8mkkj;%_PcF*$=$fPQ7r{XSU;g}f(QKmSGM^5 zfMXissKEz_p%;%SSO2?~OK{6IVLX3^Xa5}VDOV|~gPgFC0X?Z)a6zEd5V-KdKtm~T z!3A027o{bopXs*_SSq(82d8$2uf2sl~61eVh@I50#}<$ zHR%qHQCMm20(f0}gOX+Bxv5TNfRJkh-Z_)a6}SbQ5DSg1#K*|Dd7&Y9 z|8eVwKeRsn+C>)?uDF7fe>0b;&L8Lg=9`badBz!UKGOT#bH~p&Pag0e^|t7F|ISn2 zSs=oin1XtJ0vWf&-Bb+$2*4rZc|eIa5caoV zAR12b8N0T|&S;t30YlRH2EWp(HU4_R!ucoBpH=4Z0NtHSZf%VCosXWHPW!tf`~xH% zh&4BA*+%EtY=Lk5Ofu+ijBjhr<-6$VO?eGggkWnSDy&*rJAKv4;lW%-l72u4J5MbG z8kqWp+s6XV|FIgBe2QFOCTZB9$E)NOZk7Ok)viVx}Z$ue5dhp!NT%^%{&U_3*I^Tg9Z zb=~oJJ2xiO%2QQmE9k}bkNiD9{t{&zSoOkWg zJBIEL=s`&vJH6VsZo|(`U)wijO5fVke|q}bYIWw_Gf!Tz_UfHG28Rmy-78j~e)Z1n zGlqIPKQ0rZ>J8+#=d3%mx35|`ZSA3Tr&X#DSyzW~pJRW5@gn>Dp2s#EEhx_zLOZY) zvBfGf9HUwG#@GlgJ0^-<-P1-kyySd(pLs1wZ>>E|ch>eUW={-{9j21=;$O+bPdFR) zTu>mZH`Fd4_V6E4uV^vQwzPg;7lFd$;GbNj!8t8nfb3LGPbI8T;#AS0X zn{(rwT=$ACs}qTyRXa*8oiNJ&FL`eQCO2^=46Aguq?XibwWPl9WA3Am>A5e@*lyc{ zkMY>!@omGHV0+AEa~U((4ulYnjDajpNJwAwVvPkM;!}u~^4oN9^_1@3z`~azDh{ zH(;LKX$(?N6e#4wIY(i6G*I=?X~HRWgj@lE!XK>=d8(AOj+X#oCBYk(4EEOV-d%ru zJ@u6J<)epzJp0ll*bjDCKet{jO?8fMMsg5n%zTL4L0yTx4-%;=6ASGuKn#A4jRpRZ zjeC4St}fK)?Q?K)avse0 z%^JFC=muwR5@l=)r^u=b9P|Z<8=!q89T}vyy+dP^NAvY5vfA<*>TPW$}Qu~3!0 zKUsi_Evl~`Z#jlQ4Dpg|lPuW6hyBoAkhM3gP7f8d14F&4I?W`2WEL+Da-0CcW+)Wa zyepj!mZGBp(G5u-nstia1X9El2ZbOTQUqDzWZ9t%Iyr`m`b7;=!(>~gokK3D-J+~G zBQBcCaryd8I{-`rN3)CyaVW{@h8gN%Iso7DHTVO~L4UoU=}NnTAwvx?q5Bk1eJWbN z{$urx;0PmdG7{g5$FE*#7_Du|_`aL=CK82z%8uvr;}@)j!D>a022kxnSWH6lj0=T4 zQiJGqIe5lQxJ9=o;BmVooJRI@qMbir4uYa`k?HgD=y5b3oP2pi4L3 zTL7sd_`vX z4(i_^oN-~zkvWfo%o!4xNLmE#ZOj)a0rSlV&6iA>m(I;MEA+tZ<1V+`MU5#M%R6VE zr-a$xKc;9}MAN|Elwm}{fwdIn0$+4#KG*5gxnP&(q8>mOvzt{>T1IV{{h_9SqqyXx zqJb;ju)c`<+o;;G$2zEm;aR&MCczuFj53CKRXgH=`E+O@SJ@GR*dgYundEC_75>J^ z9p$^Jqt<`ESRNaqa^(*W4aJ{tx$CZ$X?UT+#qWw?^0kA{Ti00Ew|%?io_ksd;{U1N zO;q;_^b!mUZ3)pxb%j9fFW6X;?Rgp2jx3@;czAqv3j7f~Te1eNqf}`IR*ZdamyZK- z$&$mHCmUvFiqy>AkM6j;Oq9ryMS$aD*3b9u-P`cUBSgg~7lD0p^h3;ZGp3`As)%$| zCfa5o+hQJblGNv>haoJfqB3!a$rJz**0m8CL=%sWZEWg|={%RJDfW&e8`G`tOnG-K z-uk^EP%Ib}LxyNQOUt0wu#Q7&EF{7-(M1*CqsF?&Kuihn|Kwcd>%2BH7Y9h&A=u z`x$x#C!lgjkpYinq+0+}&g~_b!sD-K+Mcpg)~T0XDjf%@rgs|YMJTn7khW8B* z@4I>L@bKP+tq4SIM?s?0oZntrohOT>DfmxLO(8!fQ?sQKl}gPXAKv$2R0;;*cm=Y- zzzuk^?&Kwwz^4Wedih7Ds0mi2wS*pf3eTT_Ck%+PY_9p?C~IVqI{Y%xi~^YGrG+Pil?bw5)-iiBYY5G9Jgku zQfbD`3m$dqrBhQlvS0;CEPrfC16mol23zf6lFKd|%cKfo8Fw?7vS!E^%CO&vspI8W zy}GxMcXiFobeXyj!MbagC6mjp1*>z0!(n_nR#P)rQ)88D7Gylyf*PSsW(+3sP#i@p1BG>2NZ6xcpVJYo*003V3s+_06d%khh*H zfm8`mPH=2~2NKNh+^4Ct8UffER z;2%kpO1me!>c8AMX`MQ0y$X(lX*D}G3l#flu*9kyOPG}-X!!_PKYU8Pf{Pj^zuhP|^( z4$ZX%%@5m`MVLqsBY&Z5=svYG&q03IBl_>o#%*f=cl8`co)0vQ{^N%W#gUG)SFa0 zQGrU{*?1~ZNF)TyO$puTHayS@M6ZF@TNqm z#oc}0fyVqrrZjk8`}7IH0qEIpOz35mUAo7O^e&wx<1ugEDk@R-G2M7MT?%f z>Plwe-t*4eJA5EVg|e|&HcXaJA#Y|FK3{C{)OcyuAp60Dsu`?265A%LU-0Xi&+E8U z_4}Mok2^j%6!Xi@pvSK+)cUjr_^+8k(&ZxgC=(3_IZ-q8&D(;0!{bfuHiCLMtOt$o zFUQ*b<@@6C0~a=I+tzTQOD;6J>+0N%1@hk^F12Kankv6QPS2hJH&5#(`D_@4S4A7O zsEkN-L1Czj;qy$n1SbQ5pb>&lR*6~v5lm`pIp)SI9BN1qU(+68bMZL{( zL4ZvAp>7YuiGV(60Xb4B<}1>Yh}G0qgo`EYc9WU6B9W6zxGK3FLTYB6*$5y(l%`4? zw_MgvFt}_5>n-62M6w}?;nzr}i%X?)MyO$`!SHBK!?Cu+iFH9EHI)o&y3{7=S~xkC zGGcWsS1PSFx^l1Q1U;Yxotm6~J=dj=?=_OSH(te19Mdy5!m&6F$0DXav`yt zJcTwaN?`M&U^8sj)Jf~vlMt0gh{>b%kPZnofTFbm&)`SFR5^)bC6KdDl8SY6CpcsxC#kPfBHp76Vp+==`d&qBixFF@O~rs#)fz6^woWTneLp+#@7_z)7{_Ewvc&@ zTGLSulE1JnZTCmanuZ!PT$B{WuPEfAmh&3x((&f@X!ye3@~6nHb>?bLj4wN41^DU^_Le&D4eP%lJE_XTe!Jm|&g-4Q*bW`c9dMbtRKs zF^Y(HB@$h;FKec$QG~}dJ+o`*G0p4M-a3Y^=EbKIU2$ONkH3x1;Fwo?n?Uyg48fS0 zL1q?aE9bd=M(X(db~A};ySqTO-4(ZDSezEMJ5|wFMx&CM7bmA)3L;g~pndwI%j0pq zgaS~qHA`nt+2pFFM}=Cz38{2Bhz#%*#yJ#F?54`rTuvOfp+Vc z;M%6dQ`R@h8tYI~!g{LR=5N@x1`yY<2}?Y@i)gEduaN*jq)?7K*QcpUoS5*BOIdQ}qTd=={6dRh!e0KGk3*bfh zca;l!9eAC(1NMaj%R6|mE+Slw5!fm)5MU)B=@NrTEq1?n>+CPKkXyG}#|}Jo-~f2_ zzya$LaH(}GxvIVVeX^##-BRH+gumZ*%(Jtgyqi3WS;6+v8QEPx-Uu1&d5RoE-ZMLX z@r&};DiHu9==$?Vn!fT}Q$4!qKmkQq$H18Ni=Th-?#5@HX{?UL?@)hBzJaj~1R0T4 z2i-RCp(Zkz#x-*(6QXbEVbqH9`t{UUd5Fw?=#ce&@}_bS>^S(A#q@pUn@gGw9RlZr zTYp*pCb$h5{rJ2^fai{h9qq%7AG)au^B$uR*HVU~$b)wN7@PCo2N()uw1Sxd6!qxr z0Wf5$4u!b`5IO5Zue~+d0d8GFQP$m`|AlID%&j+(w^_GdYyIufjxFG}^4DzoZknE& z+XsyiMPdlz{fL*?2$&R8%piUx;)~3gVZfHD(IO40(tHLP=}pWt!Jq?-0-<@C$4csY z73V>lq6v)U=Fp-IZnpMKsbM(tOiV!+5PUd;H^|zO z$H)_EWyMV3y+s5k=5feL+W^)1W3BnI=G?%*ly0rX8&`DynP7#v~|^{RV^(rXa$kJjlI3iVF*Qk)xN2%ZBzS_Ym@24J$*}ttlxp< z*6)FU$GR;`k%Fx}pE!biP21zjw)uhj8);hMZpWHfXfU#wY_+Rxq|&r?jF34k^euAm zJAW*j9s6eO5Fb;LMl9zO1U<=d zNnH@?78r~5c+Si7MiNa_YMdO9+<-6B<{mrX)UA`m1(wrkYn$0w9uW#~uvtt*GWslYwvOCI0 zymCs5Y7<&iNqTC{XjBM$6_nEG6;vrIrzZSvKXR5XxkN9;(jE`ZQo87I24J#ZmQ=wD z6EqFpf(0<22ICW_?HEyqP0&vYVN}Tqm(?`+uwBU3K?~-&b z8v}1{OK*E*ae8O-A2YtAu!R4pFY}rx;DSd5(Yh(^A3?Q^_|u;ZP`%l=qPU3@=`SdPQYUE)=W)v z0)}?H{KK;g+EHryjG{P#-w}-mY@fgj-wyfmxf1OJR+LjsL{l^aENg)DYapp+V)+3z zqat4xwwPKI=&>aj5yEd)r~x>YAhHNf>w3baA%i?;+o(Ts2$KUbdz#s5kFZn7M+T-M zF-^T(G?L=(;n9A0H87P(^|~%kbVN3}#a+W~*1sm(BfGKLf|146&P023sCc=sAOn^) zt!Qps-rBsPxp~E#E`tfUthW?{4Ysj7#d1k>uYpnW+1Bo8P5HlDR%~3}(z0U1ik6!+ zm2(9>FbIGax477;!a#AbbMk1n!8sNq2C$_Eq|ur{Hs^FCp_hwQq?0gp)Yb$jEFXm# zKM5oSiir`d`i_YzmF}{>+P*0k-P~?HZ`AtyH3ld($6GRutD~TlX{GcU!@3vJzPYa9 zTGk_2p9Y-}3kk%6iS8umqNW?`>l@7)-|VY;tuH9Kfs*Q$&{TwvK{#vf9@C$F4C;zA5{RQIeJ&X(oK@6f6DENaYkXZ!ZCL7CV{EkeFj`p8; z`sow>qoWg@RO9Hw`2Vw`=q*S4pMIL^Khe1wHE?w&hDWzhzo9lkT+C0@U@Kc^<6@Xy zVe3bywb*HAFgC*7gk{-b9Pj_wMyN7R9LD zXB5Jb*(2}yXz++At~f3lVeyocR(6QVGvrIX#0bKH)N?J#m?zYSd_y6mHdoAIYfjk3 ziIFq2wg4I&5~d-Ourm}g&T8>Q4mpfMEYUdULE`!f<}4$VPOunyNFkHP6Ecy(n&kO( z#*;XQ@uoXl&l^xXUe?ydoqV^cq)?Vg;$20xIS7CtS-YfmuwelgRu# z7iWF0F^;AC1%XmYR-l(jVQB?YAD5goH9C(cMxcrb~`h zCQFkn<5}g9yqXdhx+#tuQ{x&f)KMg;W56+nUMaaL$q9=HVfc7B&gxmVo}yR>w?+xW zr}`yzu zTq9^~52t$+QUp%NO5~_PT*-?-1hQeUJ*+02p;LimYTx;m_S=Jsf-^!3U~&`L_UGs} z1I_8Y^iroc21AGLaWRaedg+XvgFGdVIqmyiRES|*9^FyBbmDJwh@Qc6#+~!m*vcXV z2Xtk9g=kqUUQxt;x7C#{TF)0Y#bTQZ*7NB+T)39RS8o`LfhEYHne`cutatWx=(29z z2Rc)|Nq^d(>`j4AxT@CFG-eaCzfNQ$u~;OVptMAG_HPu^?>7|~?@U-9!=7tC0HYQA zh*weDuugE2Xd>E)p?87ab5b@4c=uw}7M+PzInkL!Rq*HxX2>^kh)TX-w7GS(C02~Z ziUaM@X#3C0KU=*2&c2?K6$YQ}+F>(*~SFtu}NSn_B5jBxSV^*eTLm?$7Q>`haU#sv?H4$j&k zIhfrnB!d~283B!7V?~E{GJP2bQ`j3NnkB7i&38fzGJXvZoW}Zgqx59#XMzT+BC z#N(cPpt%**`_iWMg(4ga-~m=TA&HJ0%gC9JJWp}d7FNoo3qHAEAe|{k>FKwosh`ZA=qFF~v;Ftp3lEa0l!O83uM~wr z`9$}Qo}L}u%TY;G#qxgZCtwTwMSqRT_2V&NukC&!ODvlk6NUMMLZ43&RR#5na}xXt zR!hLiwrRow<`JeLlznsan$-uBsZ{dd>NT4`c=7JO0Z8AhUAGl}>wKY*pV+W#PgPjo z`zl8w{YqI3GOxmKz_Gl-OWb<9?ACQ_Aw@LMxBKD`+Er4!QK3C&RrJSK6;6WXSdQVv zSJBR<%p$ko81@{X-lh&hyck)qL~yaKn8GR)*aaR^z+pKE`&IP%ND&1qpFyZYK19lb z;CBE*A{kbSN?$Oee$sk4Dgjw^dL7nD$(wNg%9s#ThNHwc1(zt$JpT~2)CEDWI$I<8 zsK=cimgactht9Z9`pN8*E~BE`aXoC)G?tsfh#s)j@eC8Ox8Rb*1J(w7JpfRsPq8Ti z2AP;CYLq2vCO^AYa5}}`@PgCBI7H?1#?xA%vhAD8+l;#q$WiyTCCj_gey0q< z!yW1TM0r>1Xe&I(JCcLBKp;10T>$4SJm}))i#NBgI&WaXJs&)86zsL`k2C^<4=P|| zq`rP%%}}j%f9-IMSyv2!jp1UQVO@Hs%P?GbDuw~poNQX&1doBKXtaN7;GePWy2|=_ z2-AF{#D&BG;zr_j;%@YA6{mlhSjEj^QBC6+Va9B}A&0H?a4~E)lQmTqFSU?Nw0Y(Q z3U+!X)`WZxnlWUZlQZC;#K^F%DS#6-13zOf*-lMW_XW*&M5r=JaYig32$t9ReYv<7 zISym^mPDqO{CYUhqS4fHKs&Thw7e@6a(Nl7jc)2voV>>{44Eg%t)v>3t%H(AxtuOY zJi6TyL`&SVb!%MGXuvo$G2{W^bjry{KoH_d>zTL{-e5UZ2!OFbKw`@`n2|_hG-{l2 zBFp7mIG704AeTv$BNI$UqU3$CSS;^^D5B(Vb;@p5)j53@iV)Y>bvVC&2}(WV3xG z19GRL>tVzAB|7OkS$ry#4OvGZjrI4)DlzpKOfUE93fQf9tYzQ_78TBhU`|5;Wkol_ zdMLLU-n|_TSH-#*W}X)(FDhXbDVn#A0G4v5B~d*hd^BZY7SsC-=}+jn?O}2f1@5VFs+7l1gC1-nQC7%C?P% z(i8eTb%Z}B{XHzu_WRRmh$bd|lB)VukMM4nX}^61_Pydq_h6WQn}BK3D>y*R);}Zd zTqwI7&%w<8*gDncc6;4_Nar#cUmyi9Re0dbTzV610KETl+HWS)xj4={ck^Ac`c=GE zeUADAwG)1?-B{lcYapFPp&*mL6&eLpXhyhjV44wG5Z260iKt&5btH`E{Ta?7X}7y1x{-F*Wz9#l zI{gvtKP1WJ<5u%&<6-JrHK$7mnvcRvmRmQ$4ik83{CN5*`F-%FDL?CQ(Qcp6B zp*-#hkUl!n(CE5BZZJ+5jUmdpSrj)rsbIbDgwY`1Ahj6Y2&^RFdE6)Qc&$A~{TAZ# zaIH<*-Eq+<_V)tzQNVp6k*_-YLDwaT9o{cd*F*w5ue#A-yqi+n0_S) zY7@l~3ULXNL2M%Nv<#E*bD{=TJ{COehU1T258^1jG6t~YXY}D&gi6>6_?2J@oDfD+ zvtk$;CbZf0q6$eZkk6T-xCU0{E@B-p z72Xqi9U=$-mMu7t2c8%W=n^Ay-8`>2Xbp2L+0!`$-(z<5|yP$ww~kaSrSGiu1DY?t;_))W|OHH1CbO*4z_9? zOOrZ9b2Q({@jTbbBUey5Ny8g5mvaa%{{L6}0UD2`JozK6{~tm+11YuQd>oP=bFqRQ zgA3eT8fb8dt3($lyvyl&@KNMR&)P%wqI3B<3tv`KF)s`T8_6djUbO&8O{NNGiVSe` zTs$CLsKA5w&(Ze2g~$=nrFwmlP%@T^rK5=;MYDp_rF%p1+NMI+0%UXk{c@BSBL`FO zUFwEUA^&L*otG5d49Ds;uRj^DPcs;N%YH~( zh9i;ij_&E{hEjcfsUg}=_LmV^I#2h`rj_eq+l%kjc5tQ?0(^xtq!5Uzm}|!cJvB)9 zdj$$Wth8|NhxaZljV~E_a%9Q)>~XBbH-m+FOW=jh^RGF-69-`Gw11NFaV)Qy9oiR9 zCgb~tN=Ob8aqDfF__NyFg|x2z+ICmHM1bQx7j$;cZ~yY4OlAngOAGhiWVio`k)`8h zVt)INBMHr^(qH}_BvCqUox*l)-+udp^raBi#fVxg17ah%^U1WroSLbI8eI=E*o(cI zz!K>>B%w~{BE^{XnpysNxEPNWBjg?BUA|Px2VOe>#yYNjb;(=4RPU8n!h>9OWxOrY z7cYiqe+x7Aru-D^OIhExz6BBS2C-0%|?hPnGtsf3N9# z5n7_dO=093n!IK**c{BkUwI>nL_OqvX2^QW`V;8AJK~wNo`bdcbj5lp$5`OoM1flhUiXi|v1rRdWRw(Av3TPr_lCudd zCJT`r3Y!#2!<%h3v4C7dArDMNwCRsXTr-RjOo$ZOq5>PqzK*WDKYMqVs+Jg%{SLzc zkscoW!neNhiFG7PmuQB%lV$-q{)vD3x2Fe(7!f$=@30h8>Uwy~=+VxOe!$Y!r8N66 zMN$dULA^k;bQidJuwZJ&1 zrkrp#3rB1x!ABUDqE@Q`1QQG~1`8f?I0ZE#PJ+quo1F1Bp#}o#>tsWD#`r2jI)spO z#Y$($V8z`I+M&TJrx*b6_r4e72#CY6sJb)zm#}Xsco*C9F4_d4ZMYQt>H0l8`}$MK zLu2DxZ@gp*ac*y1i$q#B7Tep48#nK{Wc%ih&W_@iZGm6IH>BNy?2sM5790%3WF_9e zrN3|Ip6jo>TMb*^1F%RB+CM_$7{3@cSTm1zlK_R7?y2k~ zsa2C05Ywd&HRZFbS7-B$s$ra(g|jfVjO5kA}IuZf}Lz%YN`3%w8Wr+}^r!ALjP@ ze9A`|P-XYd`3AclQVto22Q4Dj5*sSIAn(u{n8)-5wk0dhHbzomoY~$|PG1{mU3*vt z*%hVw%hTAAW1h6n3V**OJGzQs03Ul&9xa__D}#p;9@g{5Ihfij}xEE3!FG6uBHNeW>o`{+IC> zwBd$~wR8z!#^!k<#bzY%Z)%1l>cg`$;rjY8g%mAcvQF7TYBRH^aN<%Cmxcr>FJ zI{cYs*9AT0;O)VHFKu{IEdekd*7dsZiPP;wdM@?IqXq^iiL*C~5Fwp{13FB$A!VT^ zxCRh4ncFsQ-8s2&{YMZP`;qkx~Cb)lDbxW3@+H@x1q^7>eVp7c-~T=DWwpRa@b+i0Va z@XUTZ*5G}{H&E3rIEddxgcw^Z#8?OrI}O^H3V?%CjI8XdV891XtG4Lcyg0ZVA}>Cl zZoR4ngXGlg7Id*ujn$jLGV5dNMvvcD{*|xJ2al)ywSIU|2^bG#{0m{cdAVa!YM$Y*xEvV-G=XPSci7|)@|5D-r=x*vCq|fD_B6&R%Y$* ztbH}7Go#q_2R5uL6k+D|KU@z>Eq`~IcFq4gm{vrmoE^tvm&gNg&uOV;(#(Jp6v19oEfiXZ?<+1KB zeTnLRre}>c3+OdH6@9t4Ag&a^T0O{$R5Rd^q0c@N34#|*E<$1#CJLl<`T#b=-AooU zTmrU3A#Ekw;<>pUcht3AeRx=!YQ8?DJiESo!?Q~2`sOKV`0&+jb)UT|IeFpIF5jlW z)I#U3^Da4WmviA%V3V(F>4lS9a>#twj`18kC%co$?#0M;%XQZV8a{t<_o5f&*2A0N z-{DsI#YNp0f4(7b?ZB>Vdh3=;daiP=zoc#D%C<|^JFn`wWXslc_SVA0&WQpJz(}fZ zNpC9EyQD8wg`;1lwowDH$0HDqA{?JVBGGWUYC_n14@faK{%iX+>H*Ygt>i4SO5O{& zdCJKwGD<@t_D_Ayj?T^%8u3>s>h{+Pb1YyYcq_K|5g5UvL{1%qI$?6H|tS0U;dn$fRqilS4@eTliM*| zBsV8}()92bk&0zpd)+?SJSv0}Ur%%qONndIs*J=JZQ{gsA!Hl2GSeAbUL64l_+B>0 z=d_(wtZi2D@~+x@i8@nZ3?s4?>Ea^FCZXx5K;9Oy#rpV|NV5IMQTH49*t(@ON&3uE zD$@?U(M76C29sNA+WigwErBK{KQI_c4R$=TDyr)VJqUDPL%Ca%wjf{VFd$#1C8t|) zOOogan2!_(8=Th~fH^-~12oCqpr{PvxxF+HP!+}y7_yZ`M#>GZk!sJi^t5LN+Loqy z2k?>|8H<2V1YsZLQdm~#P3Ffo?!PV;jyubbqGyo=3R@>uE$qqGg}rWB7C1V{fw#!I z^-DHOT3sv!+wAKm0ZGz;bBj{dhs#0wYY;|c5Tpj#5ZdNy#hqC(#GHW>g3~>=L!v?+ zOY{_x-Erii#)Eo_sJK-{UXHqeQDwgMk`=>auonFFz$rj>)V_GnB_nVw(8bSPaM8|C zE&@opjDz;1a-v=T9shuJ({(d3}-Ve z!&pCB7s*7O@+U-<^cu-n#%ng@%&%NG-d1ozl=84BL^5;!ZK$7C{D2Y2HzR}b0hVK6 z-=yrl{~}(M;7|0~iGlJG_p(Bjw)f z=A_kjZhbhu(DjU}J_F-mAB?xF>IYl_ zN~LsZmDJ$A%q{b6JUnC=ZGcGzsZs&g8TRi?Y%!`HQyFFs3Gj2e0x_CQq8Su2#X=v* z0c?y3896G%I6YPRQ{Oj_MJ;9)dMDg-$ zrlVtddpk7^VRo6o%1a3foy+}dI38Bh`Seea3<0dZrF}&^Jmzp7+@}Ge2HTHWMrS4*_^mp9wz{0EhZ@BvET+7-mkbdWWIC8_HBcodu-go;5AlQuW zX+UVdCOgl+%Q^u%t%v+hj|A9}=Q(zyV|3B(g?8Z^7J8Pg=wJE7h<4Y%E=>DL4Jjk~ z76|ahHw1zerX(DRf5~~q%H(V_&u%3uc_@&Gj(&>kvxH@`7;+#@+LQ`mN%|%!D zM<=hg%Uvz;raKmW;_4?deyOsC9iV|^g6N+bV$9+uaaXB#bvyF&KqYh(*$9i;L<*DnDxb(>wfwW7?%PbHDy+;+CV7o^!}@Dv_A;r#<7o^2z<=Gdt*jgiN3Cm47ybgTi9QDf779WqFDcw* zF1OCFY()b##;UbrX-E`t;B;mT98jecun3jp*<-@>7j*Ge2o-~78R$@V0< zg;|uhCLerj0i3hX(*U5v4SyDItuGqaA1E$2JDZp|BA#m;zPty;xh=c zBQ;=y!=`)S2-GW7S|T<_o1tY4YZbQ@6RjwOBngF7;c{r67ZN&L|6o_9GbS8xW)8dj z%M_7e-g;y`3y#}n#9u(O7zQTi$)RzI%EGS`&meWqrHsVu@&o3v%}ynjWDgPT&OTHWNZV3J$~N4xU|RS)bb6 zDco{#tedAOhnz#MOc?jLB(Kdyd4^}A12muI8JcH;#hwL&4G_riYYrz<>EsP-TYKRH zQo(`qOd%qZA89gc;_1NkEi0OrO^@=|rvl9^$J5P$)b+H}>853-Zrj$w48`(dLFt$x1?&!!68|q z8*Uz3w|Vorv774L>x%n>sc10urHxTjkk0ToKoMz3V-_pk#1eDH_VudTZw?8i)+0qK ztX81qFxib6_yrX%WN3r+SB=SnuhwkLrVl0y+krQiZcLcgGBeTnMUQZh;~5q_i7d)r zluMHb%v#@(R6dtJV*RJplPsJx6A6>taYWE5ik7+Z_7`5Lw(kg*jcp-%F_vDDFSO12 zqc6+YE1Hdv*2DE6QIVXr*=O_ADv=TASRCPH_C=cd`P%Wd<1H(j%h#@43r;n!Y;j8d zs4tp)edXF$m*fIoMQVz~Q{WNn)4FNuV7y_im1ON7~Je~`*$HD$oJlrfP)(TB^xI7J9=%ofucQrtw0?(i8sIOFfVJG4H ztvJ&UHj?$LiuwT+`Bu@f&6Q$q-USF(R0=U+50hclHZK!jBl916D5O(C7+NR3riVbt z^EDKIBU~E_L8R$xA$YD0Tlb@E;8q=70HdxLwl1w5stuFVw(RFo`&6C;lSUYXb?YcH zEH?iF{0xM2i@*sap~I8MA|mY#X6>RnbUlX$Vt%Jhx1ZBjNh=}{8TUC2Jb*9%;DI{_ z0eR@B=Q7yyHgV|LOLAr4{>Gd<@-T!|EQIzlVGwa51!4XeTrtt;$Q5(k+z$)wFt}6G zy`-r!CYPFT=9@%h4a7;Y){kyr106jGg|~$X;gBnu(WzS(-SUlF7Txl~t&4B{MbwPW zemrWD*C^pt7k89j{^1Y7|IQ3jhM+W-{`5mip@7`;Xu&JdC zhUF#%H&{C_hk-0`t43uV`E#mnn_opbfh-ADDtO}Z2yd5zlX;n@Xo~Od zp`38}V3239g+ZPdq6-D)CfzAAI;rO_T#ilSgkct)F$zKaW`eDQZH z5pDm};e#W()0B9Q3de$}R4|qb9&B3PyzJm8e<&4f;vj%;3Z@Q;qkRL*ASgW$Oj&Pu z;cB<(Be|tA9gWfsd1(%9&a(VMfu#p{fn~_rs3}U1ec7(9WmWUC>sRv!({MR-2yi(} zA9RlP^)HhfKC*V*mLJ11GB3l*C@Kb*KbBeo-&f!VXg2y7dJu@6vl?M}ciZ{yC~&Y8 zYy;0TcYNy0xXhQ+fp^Q#xa+oWyMYrk{^n>pShY23uayMh#I_=km52d|H*Q7pq$->t z5E8?|0^zQ$pA`nk&v_3(9Bw%7k+}dJvr8bNg3wDyz!YOfFPPhnNMk62(~w-qJFeqr zT%RN-Po69vJqbSkb;%8YTl%`B!7%#a4@axl`1IgSH{A}xFs@0~&m>I)b=J>#g@*?S z^NJuS{QF!})95kiaphmRrN6Ulg{Oxv0V_~MRnb-N#XEu9?}o=3;80Y>0qoQ5z#+R8 z4ggMZ%Z}T))3-R=_Y<=M!lWd&xKY_-pC@Bf+1Z%$Rf0v0DqiR3wmHt=tC9~M+&j5$ zX?Hdp2t=~o%f=`70)SI;;ea2eEL}Ib_xjP>Mn`XZptP{IuC8`rX?1>0F1KdK+H7|1 zwN07D-OC3C+lw6o1Iv3B)igF{7NLZWj*fxB^LiF#8o#vWu7~bi+fZLx`pD8!UBk7f z`KHx1?gogn9D+1iKS7vtlAksvRaEE9KOtFHv}MlWm*@l47d=7E9Ffg#%wTU+W;CD2OSoi_EFoqaF3x^4kqhakM6!eyCj5@4R8+RGVmZ%gDdKcF>G_FQoVHGRcC z?0~86Q9w!}z?QD=!Qc7{T zGEzovkkYV|c-F#=9md zgnU*^3t;q6(bndbtDjrFvbl9GV(rkwSIgl#QPt_ML}F!1ZTg)gQ}QJ!K~F9u(Sl>H}&HqW=+4Sv!&Z zj7>-@z(y%r5k*20S6r~Q6aHPoFK*GIp=Pxv;L(-6Cmjks8cHRyb-CmL)+133 zPMtl_RLXUSJ)??~{CF`xvGMyzp}ws!vEln0C-TKRGXYa&w@8wp2-YvDq|V3dn?CIFC~eo@Kf1IfX3z%-l!tu_Rjdcf81-EC*|TON*xwdd?Nw$gE7 zo0khOVub`2*2PY`{<@CZ&^f5NIP!8PR38Gt-0FyrC&9+2T;4=iV`k`~zou_OW?B)F zLEwiE?rlsrDw|!Jw{EB=*%f%7-ax#ggUsz%zO9`&4`OB)A!!@d_Dxjfe8p_*q8#Rp zA;}vKK~B7*7=!B_%!j4@V~8M0si~@QqzW$$*t@_gvOU3_*3;0jz-y#@vUzPdrg>C# zNnJco_Q0#S%gwpmsp#7By^a1T&1wE-GB@CrScmSdFQ246(H6t{9T5G#unwcOwMHml zy>SxaUV_KN=*&rrNc1L?y^DI1OfneS=ZL0j>zW%#PkTdiNp?oU^>x{7`B(5N9SKlV z9ur=8Wv`^B^%yCHRYP>n{>p7W2X24PEjrz1?V|E?xgN#g0J*y%l0^23cU!+t4XzkW zr3PzKgPLBkX+!-pbv~ByC7290IDZBlw%y2q`6fI1(BQ&+>@;=nH*)(IT)NG+8oKT0 zNN_iq=>LXgoS zL_S?en27?)g-{{R(2H0F1@HYAbx%DouwfC*)+iQOu8_mxz8sR}Ff?=n)x;S{0mj~R zwCpo@Bd)^1;Bc6=4u*obfT5J?a&@)HP5J{5u#31Isv-HL=C0a>?4pS+dc7`6qwI)7 z98n++OMwZ0{|;7)xio6l( z>uTtW$?=HV@89CTqaR{F{SJ;{{Ao7V-;YdFj7a?+wIJ}k$hmj3BdpZXzfKcek}s3d zM!;n>?~}x!S8hzrvoWQ@k+9I_!(s_kd&Sc|Y$|302x?9^6ZcpcRE_mk1_y>S;R=AE zeqt#|mSESm%`-K1niU6+I=Z?xZM(E)`+6k3oogMR*drONB5gfyS$#ui`{wPJZTj3* zUdr@KRB++&mhE7XCV@94t*-XYE$8o+-Tjwu-_qUVm>tNZJ~X~z`(-;W7+z$OvfrRQ zJ>BCI=U={kYe(nG+c!uuXG#~XUe(l$Xi^pX!uu_?AHFG)CL4v&b3Jh_@e$$<;`79R z5WgbcfTUmwWI@r!&&`a1cet=OfC_3}G!rHkdO8zbkHCS4N7FhcD?dpa42 zg<;=N@K;26bI5Tss%L)P9QNrL=ZYEZ0;Omc46~Khai13<#7?x?A{0eiq9g(`@r+Tl zA6;zCqbEZ^j|E)jS6wK25G??wh5ZD}_sPqL>5!M#g77&lMbuLuBA&5EaR*czJ~v0-VyZkafwbsE95> z7TuD@DvXO=z$%nTGGthaF(A-1)Z}NQa+DVxDn~+W6x|xGanyKgxSAWCNcR^|2JaRP zSc#z+f+~7A7Z>IMOEOUpMY1d9^EicUVx4Zm;Wd_cNfI@q(G?C#H18G37zOB!v?59z zazokaq~Jv5d6%Qnl@=gf;&eF!f?D!W+pb_;P8W>39q{K=S%r18*TCngtdom4<1`g)T+|rk;?4+7 z%Wi zWE`~S5VpG|x8jl-U4f`10tOfyFqTlfAS2Z^mhEwIvJ)^>tQB2oX7gI!R2>u0T*~ zqIfPV4f8!F03yc=a3yoD6FJp8N-{cq8KlNoDkZoAEpAtkXU15LQFukDSL!*W^s4y% z4hgoG=A3|KMV3Wah;weAkTif_yp$Hd^=f|L8~kl{5G-xYg-)JFQD$2##8pN^Z9VZbjjl zag+&X1z!Ri`+sCHU_;-_JIshH2>T*q+A`hQJad?3bzeym!lv)H1ta4A`pNV|GwQF2)I!Y z8y>#7>~s6voWn&ilBx~|J>Z8(ip5HMg5Xcq!v3I#+>8>+pY{aF>&jn&37`SzcoF7U zX8m?Ii5RNV?AxM4f-gI_zlCVN$b0C(V=Mi|bE&o`)?V?M`_4tTC9TK6@{=d4GD!Bb zVniJr65E)zr52Xu-#T9-kdOte@(yCf#ud?s9%sS!pAGm%D>k)s2Ikqn(sqKfGXDe&hcS@ zwU_s~`F;ET4{z@RXGc-xk9Sq|``x!+_x+rE@4P27ckbNGOdgYvHv|%%Aqj*8n4r9$ z0s;n*w}^gnO#@WRa{+_6332buscsb<4X(4smo<2sa$rM zoN{2RI4LeVrg_C_C+|SW)(d^eHLz$V zdVwB-M1}jYoAGc0{-SRhqN;6Z0$cciicPJjuVyC2R*z%9c|ziqmG}LnZ%o(g(}sWT zk9VHc>RX{8Kc{XOmZj6>~23nK+&x(K;uVTphp-PBTNe>%3=`2l%9{w3!# zq;9(YvUwq*FI`|MHCJ>@1nP&y`Sn}Yr|&DOqO zbC%+fH_`gxP7m9m4Znx!P3ftH_&oc8R>nT_)XTiH@DVQq9Tp{S!STb7seN^Rgkf&^ z?6PIE*V4^$=Ay8LZqQ{*n`i9$!LBo!O9LDK*bdq$W#@)Xf4ynLP6h2)w)dL7%h+a9 z@7k?vdVAMwUE3S&y%e&yT2Ss%I|!O5-(H7*x1Zd>rPz)?0jWOvMOc(!I;ICuY>ELr zb((nynyAK3JB|3L0k6@bW)4))q!^m0o7ZOsCsdk8Kde?QO)|za&nbosbEWpF-i--? zw-dZEk@@83s_Q)gn}TE#(ce&i@+0{bhLErY!5{3cf8I0=<*V7ICE`n?Y*leXWGLvT zstO`uUr7RqS`PBjbSW*ny6Vd55_%>d$by!T%D!irk*k=Yt8{EW?;tOdt64-&8o6Tq z;j88~=1b(phF&d~c@ohOEQkqfAUTvsjQd<>u85U*CX44W@}*~eGum$Y&zin(R!oPKij?mddbgB&od*BZWq#A2hU&u&#L-r$W>JqPnLNz)L#YB{_)(q z-`)Kkjbu+R%5&s147}PiP)wc}WwjGtS$q{Zt0xrcfCvoty+{*XLyUeX9u)}Yr_x72 zQjp$@`X$SgqR&Yjw-|rehIw{`u2Bx-@fCP1k3AEUvWY#ajKkx@m~^mT5t9HhxA)_3 zJ?^--e*7Qe-QF|*`j&O;Zu#p^#Jl}JFw!;S-Dtq56tJ;xAs^k5uPs096arW*V+wQ2#d0z8bS|kUB9NcudjE_`mNFS`Sj;_ew5c$Bo6Zy8WAjhiJ(}* z5`OuT(XD5lG&Y{);V?hani?tamcmbMS8Nc-&Xx>nN3!q8+O~G?5`6$Nj6zY^Y@v66 zqOkczbN%SnB}-0RvSBN!WCrjQwu4ug{s}5N z_*L{aCy@9pfirFyj;sid9(~tI@wS1e-wL}o|F;Bj2}X&?k@t>o4Rmwi)-|+wb0+zs zk`QLmg?_%hJvT~D=0mMr^is1z!o@Fo$-M$WhoTp;o6N|djMz^{Z)pOA` zc51ObWQH3BDeIV5?;Q-w*MdImOCD2}GRSf2z+0Q|C`>jx+UG|P)jQ6w@YEs3v?ZgqM9+hc^WZw;;8R{mk7qat9eH>@ai`kiu&4=B3QzWH<5&> zljLgyx%|3c)Dr1nn1+b^O9jJw zq}WFE6(>s^9W9X(hqa%}m8s1A3ffme?4+nmi}(osU<`-aK9%k9hUj^xp2^f5l=DoJ z>|3}r%(Au*J*+E57oF-B75!nozThv@xo_o_@9TEB+ODtskvIN2+8Gp!LG*su{_$O- zf9qTdXf{T(-wgM=jQRH!*?c18QRjXX&3DWNhO&d<8H7SGM!6h+l-WCtj^i@QnVOb& z+h26^nr5P$RkQy1RQttA^5)6OxyvTW?ANtQ#rG=}?d$qn@1g@dFbV&rVSxhvrRo=D8TV zfJV?hj>>Vb5XmfdlB^HMt4~LGXODH{H{jnH1p5R$u+V*Sm!XAsd14y;mO7G26zY2~ zeY(Cr`gH%WYsWp1tVwB86{T{|^6A<0es$it%a+r`HS2C1*K($)&iqC6nd;Ii-`A?4 zGax~Ks!Pn7&C@2IN*SWRYw7fEA7&x}MEkpUp7oWpcHUj@?W^CjW7pn|cP!HcNlF{z z*UnsX-nrAuS1g--?XS+8on8*N6}`OFKa8)S_JG;`z8vhA)@sounp_(is%e^(GFq$G zEmgBTflhrK#p&R`3*WS#Tfwd2HgQ|IQ@Neo9_~EuBJL{gI_@U!cJ3bTZQMJ#2f2s1 zN4Uqhk8w|NpW(j99pb*qeS`ZK?%%i{b3f;P!~GW*As%VSK_SYZ5~_nxF^XCsNz9;i zXcIaCor-p%-RKSI|DaE!&!fLbhtNNvucMyvG=^)}P%SntZPh1QqaiBSTLJYi0=7V6 zn(GSN)(_i`Q}uM%tixVxG2@l_Ez~4ZHMSV5+~MpfP0r`(Y+}=uxRlV%2`ShL-O@t$ zYA0{Uh6dRA);K(eFLagq_4xWI%g!FLT3;waPse9j{3}*zb^bVhR=S89Qq_2?+499k ztx|7}g%XX%U32Rb&5)G3(1I>)&e+KmT3T@EIupZ_S&lFR7^Cx*e*A+zS`daFk+*N!j9HU;Z zjrclyM4EY`US-PvR;|)OppFCFHQ1`EKSm!KC?hpO!Od{~5*5YarQ$+O`oQc|vlbqC zYJ4G^59cazNjLNtoNgO#rR#l5PcI70x*XNR4&xkjg0ux<9f+aCh+!QjObMtVkQ9;s z?nnjoE$y?-Q!c&g#>d}5mL9iM0C~9gq^)<}gO0uXjuTHJ$;;NPzU1=gS65te%bHb} zUXIMmFIm0j_rDjg$nz2}J3Q&NWTbksX`$mZ7dv{*Hh9IY1Nl+)qDml>hmnLZyc!WC z9$rR~1X+}Ik;uHL7@{qTis*;}u$q$Lh$5U-O-KuH$`E*gR|Qd$6QaS3^4wh{&5PJk ziAheDG+vtfFv$|#C0R^7StJsk`#BLUiO6P-uKPz;Q*Atm*U>0`=GQ;-A?OlRv-O09k)i5ee@WMI`$`F_kd3OMD$_S?`{Ea{V|X@33CY%t=x?Lv zJk@gXrHZ0a)mloF;kg}5c-aheQXqT!GRLOwZ~;$k^}`| zgYEGq#gb)FL&UTs1@<^<3ozOgY_NCPB8jm3&!1wHH zzi>&`wg^biu47^7ljkOU!i`j0nOA@33@F7S6k9wAd^(3R8u>vh2C(L{cLHG)*-Tn5uvjT`+7b=jU{IGQw+C zuOCi1hRpNW2z!0kUOg z=RYM0X-IVzoWzHz z(yugOx@=acZ$Ps#)|?n`HA8xlVuW_0m`E(M7rV#TTh#le5~FX{TP#n@r;v0o1JIRi zc9~_CMnzUBOigjN3az%2w^E14XhFp-hR8unNi_z6Jx-Z}MvEdcQ+!Y62~%OdfIc;l zSxyf`X_P%N5L}Vs8I01?O&So9)=kUP*$K`_)JYJ2FjWTyOm7*x*3h-QR_9^hJUlN| zwn+6+_V{deh3YF!_Q;UE$zp5z@m{Dbf}?G#z>{K}3-i7|jCDlQ2jos$ngJ2j5kX;ZxBzT$0t$_}s zfJZ@(41z7x$_p4Ph9XuFrSH0s@PojIf14`sFPdo=1_lar^JQ6DBHOCCPXc0ohovl$ z}RW{CtZiz&qt4UNYEmJ*7uO8k03 z;HA+)&r>eG;U>cpJ)#OXyg&&kND)ZO$ppxZuj_)Osv|{#1R`(MbOSz_>_bEHltMw< ztPT*Rx+8j8bu8@|lhAjds|0+QN~gyJMZJU&`Sm=Eb4l4NV-?egA1<&ghOfdaCuI3e z>3sgg{L&y;9lo}fLD@{LmWiHE*U&i6XLwb;mZG6wr>OkRJ5*K35Rw&Cb>}~nY2%H+ z{rU-fhdv@4&l-}+^#{rGftz_1eRR4*oSpnu$_0H5G`f;&#=#U;}^+Po5F`89XwI}^$U587DzN}|M z?NFLGZM9SPI~Ub0HN!g9x3U-k@$xLD%Xa_sx{uT$G+2ztSJ5G`#k6=~t#z39e>wIN zpq5Lo637?*V%fRNmYsVw-7MR1?S>84zJ+ei2d;OYlrW`zM_qe(_w?-RW~bR^X#KVK zUb~)cqV0w&?UO7AHjA+%seeU|>tToazjqT~PvKs_%J1bfSzhM%w7ciev36jP7~HHcGOIF}FlaqOa+K4U!L`ZFqgpx##qpDkN-4+6by+w>GfoEQlX_TRk$C7U7W!%t) z`+<<8xP)*%wEcr1Cf&#^i|X76x13wW?c~nk&f_lNuHvrc-o)L{9pFC7{Ui4ipr|D@ z#BnftRqBm;LuyEsmIus5JV(cTiUbpT%%@Pa1vdLr-o&p+Py)(T=wu&y9j2rOoDMKO zP!Hsxe%HQGX|Ze}oD1P(*s9R;a7BWOTQTB5E9NR_v5-B0SYaGa_l}4%AUQgW2V%!; zs+sLLG0(^40AZf;7{d(Fyvs9yU@cX|I06WDUJF)sK#50b!Pxm3^TtJb1`JLqi7D)^RF)JkFD8N?HqS}q!Ej4pZO*w|RJxM7CJYy30%?TnN) zvUruS%R0 z>=HC#7EJR-;ORjClFq&%zh*fh(GQ>NU*8YEc=xk+35upmdOoiOTO2h@#8y zk~Iu6Z=wgpcU2wJHD2S(dD~1uf1$2P@51~I1`=H8IEWa;2WFl}8c%#Q^kE{3h66SytckVIVoxfG!%C|2}pTk+@u z48k4}ZII{^z^m}Um7OQa0*G&2T%tS4Z^#AAM*LLnLhh|FCO!qTcRY>E13oW=cC5|= zp?8A6ke%}YfY^kjAsT8k4&0-&M zRAF3_#tByK2V;cEDBUSoXuRdL^sAP5gT^0zN|?Qs*6kxF}p?eX*NnK%>(ewyvuUWx+wr0~=6o}9Iixxxz16&G?3veM*f z$k?7)RB$mS2lX-NKgv_X^obZWRE*Q!pkaFQXdmG^56N{NQWm1yHA&N+HnCf>_KRq< znpP}_>|4lGVTGb+6hn=!)Pay3GAlW(K7`IvVaRzgmiKKWAlGq8j#JPuTOSER1(`7( zUW*yZ;jc#*>*a!MD2jpZjV`A9Aeqt8Cn)p<`Z~Ioo}oFSi{WaiAX^A0(8rB(UWxA! ze=7|R>I#w+1b1j5o|}!}|18?iHfTQ_kTh&qYT*LK9RI`b{%}xyhTKk{vx?|4*$VcY zbW7QEL`|LWq4pNvw*6pg+`^CI$NZ_LNsrqSO_lJY^a4Av1uk|nw&lRGf+Oz{w*Un+ zR~W20vlpbz^Xm5?X}Ah|S|xt8y_N3iF@BlmiTmweke`zCS*+t#uV_gU6E~`z0=}x{ z#_;|Yg#u}S1Vbo8xe}3%C5I=zqIn4bzPb3htSEJR%X0bG0cf6i=Tnk*}}bsyCJr>W*v}%I(B226}o49>h9iIP_K{H zD3=;L<#aZ*5xWPBw+#cSJ7ciMjD!8MnM5kH#ilsYdvi3-_E~&G`zCZHMuM1dvr<;l zg0!vhnk6YJRxq!Kn%4d&Hz86Bcm_-fGpB3HzOMzQl7&Gi3WkhK*%ovyp;{tU9w-9H zyozgPO~sWl->uiJxiTgc~3tE7|IZ*3i9Lv0zJ1+Av){$!Aps7++u* z6wy$Ct29KS6#_lm@75f>p(lDY&C^NJl8MO6cf+j|0w3Kp|H`E1_>!_oC5~)n45~?1 zc^I>Jp)Xzo-03j0z5q_FUZeI1A_GX6ppY%&B<`V$7UMe8FFC?_i!IRMr-I=A{lQ?c zpKb1k&HeXlUxBIQu3GOgt1r0%B`&{o)iJ#_m;%pv-RwD2%a%=@GyCG+v!|9XpE`Rl z-W&u64$zVZf&nNAn*;lWEX>F-XPz;82Q7Qds!K1wWA=>G@2uA6PNRihJggdKcXW^( zBAcOG`9Nh?a>vJVXb{Gqd0}N3z0xa?g+=3q>=fjfL8iqX&>)p=o}St>`?J|SQ`7Sa zbnu4r&s)B74bP|1I7nZ&@v=`$5Te&kp2D+TPCw|%mBlSw@Fq3-vHK6CQ0FP9t9HR*AY{@u|d(!b9WFCbL z!C|71Q>r*jLZW{z6>%wodBq9o;AhBFK1DR>%Dz+y90z`mWqZs?w=7a1ocFueFFHcs zBCfxtr`as~VY#@wSRN&|Tg+C&pxNgqE2Y-*Vw#^o$L#sd+34gie(@dm-1Cl4E}5Df z-84EnG?4I1*>&H^tncQe!Htpv2 z^cCMECsfBy<=`194F_WIVe(qeq!wV+PzWUr)mzmT5Vsv6YD`9t|J(JS`SkVAM~_dU zMnGN@J%0UzC;WaEWut$a{rw3KUXL~{j!V<=1vsjA1Yt1f9X%F`ZTKjmp*`_vZV{G} zwB;+Wl&!RUm8<7$dRyp;#F$k90MI z^kv{R{^T%GmF_qJHWnX!q(qO?k>be0Z1iC|QqZw`L9lfB4jp@fl;-K!YyS6iEbKbu zQ8-P%G~S&zDbyOZ2^VRQcdE$&3b$uz>&&x$aMqbL!c8ZE-hK7#*_7CxJ^PDp;_BCK zkHZ;kf3}GZ*grZhArd_mrgIzXd8KXyLqWP`=9`25vc6^LwU;igdU6sH?Qb4d zGfR-=&GBtJzP2N-8WP*an~zpkuNgJnM5Z*68ZA%fa?`m`td9njz_b(jHCr30WXzj9 zFZ??}RQsaD(J>e|w*q&0xyRav!mzNufctQtH9V5nG^>5TH9TzL55SeRg)qd8_CH&i zmLGw0vyiZ2z2HrxO|~;VXCF7ot)&?CuWBuoL*2Luz_oQXB(X)ocuk^g9KAYD1<9@< z!gvEakzcFb4oun3u08Nh;LmQa)$mm`a@~t;^CC5udeN}$n?+R>w~LY{KBkM}M?}d$ z7oEehA6dz=YVzl)o}Sdtlhu-~|D0CvbKSmK)iu>nPt~cKU60%EVevv@)Ap;fsX|&1 z5g1oYeuGcXO|H+i|Em3vJ2q^%hT-DY_IB4a-36TFeVoS) zal5(mIZimDKgZzqe{A5@i2%h0;`l@-T#L^ZvP`_FjpsXcH^QFViT6y|O%4vH=FQ+!L951eLt&&$*d-cd_S+6R--5rB8pl#(sJE1OxMl2 z-pa$OWQkQr))*)831%W;)}~U8e!o!}?pM-&)=g^(UX`RoDO(vVB^A@~Y|{#hsp!H) z)^$zIXY}ABwpsjUgqq*FLe`FzXk^G!~`44orE9y^?F~JOs4#qYB`rm zrgLPfUK*O1%9Vx&>w`H{gUPaFNXj&C8euS1tWKcwFYOYG@9&Pu$L{vGUYTlih{Zhl zcqB1W>|3gu`BGoGmGDDVw!`HEON+_rfsr6N=&AXzKAK8cL0HM9Lf5mYU1a+Y-zPsO zujeeT#x3Vg=5|4wSD|UE6jmJ?RuIe8T5AOk1;4S91|jSMWC(e-n#(HND=x>e%?k(PS@r+h?sl>yT}K#)h5c zY3ZP>s^1iZy^WrprG_X;qT#ze+P*mXRj3nc{%1khtYt%OvnB|=Yq!u!dwcrS#>TPn zO4yt1>Nf5LdE#Q2|3_X$vUNdtt1b4CprV~0VD8+V)YYM0yJOqVFM${e#ER0bhoXZb z$UTpU;s7v^uS0<#3Gx6Y7snYF%KZHq%v0jt=%9f3M?{+pNYd+&FCxSb5G$r zZwb7P~8UVut2H6!*jq=E_3IQRc$i&0atZq@>i%b|B2_e`Vq(cPmz#=BV(ZSHrP>uRt`=-rfiDd81CmIZ}EX0m-HB!eQ7LObsSX(wOy(xH=c zLJ^5`hr$YJ@Vu&;sv*g~nbei`YIq$vE-Le)ho6E96+<)CXv@~E=n2WvEbW!DMG{31 zfTzf*`pXF|$C6s26DO<7KWyc${S&+cTkD{6SG;%@dKCr+U5@=BD&=Om*&2_dT#Sx) zRM9I@S+s~rp&NXV<{MOH)L?d;Ak;T0vrV(tYe#1>&~F8SlyrTaK=@G@Lpm=IVHM^@ zLFbqA3U44RHsRblTP{&MB#)H%O?Cq7O`W7%pd73DRiZ2<(!_7-p1lE=j>?Wyu(-<5 zd0ytnU~FsaWFk}%;Y+-{PJ3_?LE`4it(UJgg8)v`=_WuO{_( zqAgHPFI)5L&m;nQ%I3=4vA`!?LnF($WfP6Yey1xD6^MmO=M0NDRauT|6sDkKvC0DL zjIl)ycvrfD7b94+vbAcZxdPQG=T94gs@5vydHC*$T9xuxF^2%-+buOq-zEf!2+KT1 zJc)k!GCO>k@Cf1c(INb@fHw+6g)XD=bNf|EkYp@m95gFnMDR(UpI9!Efn$272l_NA z)v7)dSQ7e|Kro_bJiAn~{d%U<`^)G6+Jz4ieww;nO~aiYW@*?EzWo!@i0OS6N{ma*bkrd(_krw6ra@TjWOzYo|sQPaen9rhHW?{8d)fx!bG zYH?|uQ=-zijLASHZq^ z)$y$pGMN)DIzF2{zGWAJpkQZ;3Fm{hw`K0zXm50p?RySB?SPEM0}@Y8JI#bKOGxw? zY1=kxws$`q3Fxi>{?#x){Xry5Nl4qaE$~l2ZQC|K*tTuUclgpM*j(ervl2^<2 zgg$=RbE5sI(cZW#AE}jT<)+e!qaRaM#AEU|L$e z4~Axnmx8W8^=&M6SPJ@XjXPnH_ik)V-SM1mIukX-+7HeP)M*?#WLM=K4^F1r=~70Z zTb-DK$ZSHqkBB4QoaGEPvb0^`a+RwvW@p5}L5a25%QLse=Xvk9nU5136$Xi5I zsm@in89ho1M_ch{4$wp!s(242()f3_-+l@|b+fCrpNIVuk|U^kr??5d?J0p)po+wT zgS!$zVqT`X0eaF2+({IpxJvO2D)ov4??zX#^Juh0Upfq^D_gx(TNsaUi9u~NI*k&e zLxr>qwI)QP6nm};!weY9V21&IhSx;F9z39=Y{IC=tYL|Zn(sGfs&+$y9T0>g{~UJCr%-zpRS ztO1fQsbi*wR)P}wUhez)bH83>&pwt*=x@`cY4{f>2vq~diLze>1ESr@4c#|sRU!9 zDvF@!FgpFha_A$LIa+tza(#TmPR%P;MIm9W^Bp3)X2P%p2bgo+&uP}aBkvF=$y0ET z^Zt|FW9ppQpPzT`vK8&=Kry78q*BJ7c%?$1J!KlAtXfiLs$MCSTz_U+P|#9NK~o&d zwXkTKqNZCp*H4S0p3#7O{gK~!`PH}%f#JDA?|c>OtN!U9Uj8NXGxr_U;e5%@+Mg=F z{xLQm-_73&_Z{XgVzJT2qEA+PXtHvu0v3fRUIa?C~1A>Px-{o98A(Gj; zO()-Uj7}H^u>n#Li~eJbmt6pEU<4iQFN_WJkB*+)kV9E9SGAfeE2Y-vYf6=Z$>ZUn zV~;ykfzkf!<^HCDkuArp-FoaXtLnY|z3b09cGHQe^wNnl&br7ijW%(NeXBNXJMN9N*;XBM+=**f_2$x_w|rWKf><2w^?SwqjA zvh}1jzG;K_*H}&OMQ_+#+V!_4huGS3m090yX4qz(FMr+d4)E7-_Wk_pTr4U*Cr>=~>-Buzuy#P}5`t6u-G^xM5WPtDRhL)VUhk?J?D20Z%d2zu)SIb+B>oxf`cwBfS)Mqi zZ2W<9OeL^$PV{TT4(zOe<2n02@*=sAGdYLzp&#cM9uK@{*s7QOhEreCM;de+R_Y{ZKZ@2P^w58{XJJozfBl~KL}#E>^rK(V%{sIzI&e4oS>*lAJ1;;e z`ojh9JV-A5Eqe4f?GHYRev4mv|6}XdziItz;6M7s1#iCKAooW!Y^oE%{C_~hr~@LZ zO@xRt9wo+jpoxGAk4IC9pZCXWO}?n`(F<-5oEVwQzdNnut9YP23 z)6v-f4#JyHaFg5$ zkj!Vf%eXgiZ=!nU&||))m6n1U<7H`VqAX2}iLDT(Y+x5*Ft#QtEl+GoW>HV{A8s)lBEu^bj*IStQz5#-Eed)3mMc_8D89`#WMGy4BPw2KCJ0|d zFGO`-Bh>xK08zOL90X590RdBqWOzDyAvI&vC=7P#TI{;X@<4WOf3ANZi|$8frE95F zJ=MMf_UURGrBc1AwCknN!Oa3zq`~cJT~Vd3F6s^BQW%d6*FZtR{NfIqFwlgHVh2Vl z7qJNi1-O73g#v|0ZSN0M5GN&i{0isD?&we zMOLP$0DgtpA5Z`TpRGeKr?$4JqiAK@YN>wMhaW}^cdq2%fqm4)0q>KS0iSgT<-IZ9 z$78YvuW7$@Fxux9i!Q&}ElTC%=Nc$|5XcW#!J zz(4W|?J_AJY~S0p>DVVe!eWwh4s_!XJ%T@oA9-Z%gZS%@v`?X_M>=hMAOBxKixbRm zo^;@!7GX!!4o3?ZpPj9z(2VJ;ccX7*d**H%T)|)El;`TH3V*kd&5{?B72$65z34vt zWVT09@2;n|4;9n2v!zA^=vps^opr{Wh1iCwK;_|%;VGNS;utc*7?4h}Oet!kp(iaX zsq_0`pZ9-1%kTFrwfzyb;VYG>UXS5*w^(saa|XGV6sM61R0HsTG9LcCurjnuH7Ktjmq*G z<#zZ=>>FV+O+Q$CxR1a`m!r>#f!Ka8E3w}#&dz-qI|GVxJ9L0fUx2(Aa;^~wI+8vg z3)0A9<^Fg_d(T9B^vX&QYJ3)s6>uDk-HCBlJ?OmuYx*nzdH&QZQfKV`F?DVa&r@gg zIHk_f%9uKfls5nW&C`y&*nYYMJT30TN;{X!vQa&6kt)U$TSxVpLzN7Jf{uZXp(kjl z;df10nd|c~;xpCCjVGVFYt?nFq>*nWk3Vz!amNk}UGe0T(Vc$c_%l!6ylHUg%8x&J zbx+TYC!KcYs_Q3GwxN{Jg<=eZSL?B-8>T%zI=tn?vxMk*l#5<48cWy_%11vC&)vD5 zWizKTPR9oAHu3=U=_N2{?Pr?$VfF{Tca#F{R2Xjewx%) zFytM`HrnYcbViRCI)k_o4m)wgVHo(;X06#>2$7&yPBbSvU_Sv_kxR;B)9_cY3+aJW z&G)99@kU8ec_BcV>d5%XXRVklW;B^^5MK0>OPZ%1e^$@$Eu0$E(}herovnpdXaz1M z;erUs(A7;vHOttz7VpU?Ld@;`vX z-a?-2D~uP~mlT?LD{YmN_$^_%9JVh>mWAuDSCA7Z_sBed2jszT$&KZs%PK=~JyoQ; zky5;k`{|A3cjN}n;4<7EpkaYn7i+C1u*tw0m;A+t&|k2h1@aGbO@q1{j5FZ7g+&l1 zVp7s9Q5XXX>KHd3G!0OSW-T^p`v6WkP724{wz=pC9lPhFcOHwzYRl?PU8{P_#!q?8 z+xMQbX=P`IlN$AT}bVyK=Pq4?MWSGaT+yW!4jI3%F-ex13o`xgsA+?9CliJx38m#fdl<{(UccPi4A1yk!J` ztuj@ifs2P4`D`UexNJ}5b^Bad5PhHAMqFMj?lTjrreJ~ui99E2hHQwMgOK<(C1;D0 zVp-94T0pLfxAHE5{D!M&)R~zEX_?ulDM>|h^3J}>iYn$Br;OEB)!JXHuBZ^MT5d#K zsoIyrL*;>J|Anrh8j2$DOLM<cT) zAg6J!h5iZ6PDvHKY~1yjNFy#*M$olNhUry~qgv60;uR=X152#mE+C06^8XPk^>U2{ zlmI!ifCH*%59{Qgt@Lou+)Kkf_#P{rw%V8WZX8ToWNKhTe=>SmSB1Z|dejGWE1|0D z1Igtpl7FiqY>N7`(S3H>_t6zjs`!N`>~z|OO$I$6ea-U(MR>1T(afcSWBa#k_WwGi zVXHP4k8`oblv`zle-{1W!}D;jK{n6-SRAbJM3TZM1Ly<=LDvZ_6WdX>OE#<@>n5;vV51rF;d8 zR~c4Fsp~!-_iT`U7ZIeGxX^1NoAoP)X{=gIGmfMMHB^njSr*io+Nm&SxRPJ1GrzbB zwe*aGDNIo3buWaiCspEj$8Z~$y1;j{#@YRl8H+X>q>*qe??Zd+(m*1facdWf`z|y~sWFgOFF$E&-MXohreEZ>&M+xT)j=ia&`>5F_clj|dm>U0r)?R}5~ zNZOhS3?1fapmvFDqJ7XD$>oNvx-0nZVER25*4@8Fn`UpC`f)s+79bB0@Nc;b*_ zs2Xp|XniV`8Y;rSq15K|$?1+9NS=moy9o|h{F2dH$Awd>u#p)n+(+4B4P_fezoX8f z>xQEflqZa1Lp8?cE%aODX<*)T1KzySm(M3ll}y%67|TxSFO-Lh<*br5857aFrj%Z@ zqLAnxsFYKI(>G8qg}yBdAWLjVf0r~w3`5G1MG$WVMO4Hdi?VpK<)q!Yv%+lJMR#Xq z9`i}v@L-%1M6q!cNzi32rpvd0d_?EXE!5))mB&srSesw+#) z2Tx>STB%IciG@X3*(&vlY_KpEj4vkheAZX{SC>!f9~~Q>xCHq5+C( zJ?+fZm8DLvB%hcFlBHGaYo`yMa%x|pC%dXxF6$|Ob+Otze{QDaIMHQ%=t`0UTv^cH zsI5!`i7r&|`ZHHmChe4_LdCTcmYnvz)7S}mAGq^rmrM^#M1L38>p123UZ;NW)ZS`w zwV%>Er&?R-t+b>sNNR|B{hmq?U0-Mvi(|zFAFNGGw=u(A^xviI^`nz^gkLlDEl?d z`m&Rm4Ytn5>)8i#(OMeMyBaI>nk5!5dAwuv0PWe(U&etw?qih=QX8WlUrhs7hRarkhejQw@= z@v$g+Hp%NrSC!^|FgP_eNb&>I)6rf5%YvuL7(Q;ow;qPBoTCTvc%h5Aq?f{T${IiS z1Kaa0lGjpm+olIdo>nsVgMn%E?4sNcCz8pBVQffrU_3luc~^IPHGdm?*F3k8$+|Q; zWo6Mq7G1`TZ3nuGS(G9(`J=L^38+zj(CSD%kmeiF7nhz{ES|YE`eM+VO7;0@{lJx1 zkD&FnQR4SX87F#D^TgD#ClmtF)1oISk})dxZUS0Z9NAPy6+1)r4Gs(phP}zTUj)5r zip?-uCw8(oockL)qlmeTnhZoGW8tQyHnJW#H<1-!a^8_h-JQQ)Q`zzd?8hi z!o-Cp#>hUm=%kc3=ho{~8M)YTlvI}f$qO55S~0}UYD&FTAxIWJHdzx51x6$xNZknx zMD&cJz)jJl)sd0kaF~qz=0B^9%ydH1DI$0yu{1u|ei7p<0&56wLt zj5~>hGaisys!=L6Qgbg7E?24K+I0Js{mD!=giXOjAF{%<8*TSeh8my`QS9^RBrlcP zS4yQ*P&l1prJsXZX6WbW)`5ZV4nf{d{DDj4Lboc5PkU7lew;Et=Bc*`jbVN+%=OoB zH*vR8f9RU%i}4^1>73N;TC7y5&@TqDjtWiy4Wyte)Yol{ndVbymKKdjcNo~&D-n-* z5E{BR$utct*+HnGYvX6#t!4$)T(?fs6v5J^TU7;Er0CO1QdlQyrlC0EI#K$bkW}tg z6;-*F7l~#GiZU}}DY!RPucz8vs@|LYV*)bw)9gs5P%qw>4ZT#_4YT)UN3w<9B9`X% zk$uRRgzD8KpDqe%Q`WFBBWS>+^TI8>p+2i-E$wTPqMxc6!la*s|`y-@Jt!)s^aH68L_@I88gb2t@f0rPASfomA=+Gb0L?Dl{I@)GUqt*%m~Kz#&GJ`IzY(xf$l5 zrBv>Lr)5EzV;3J(?ZnAg+!)N_uEv^Teo+z?t%~WoUo(45^n#h~F{3G5O!p==dG33n z0ke5J;lbO#0N)?jfX2Wy%nC1*9~H{5g(Mh8VhRmh-d2E~9+4d>?m zVPM&^0klpaT^-u3B!cIafkH4;DFsdBDf%Kbc^s7$o){i{{+Vm=%pDYt?(;5i#y&7c zPonc{XB{upqPKl{^DNrs@WgQyGvSEQ0rV+ZnEL<^^isjwX4>cZ^|8a2bjr77MIx%c{&d^T?hOQVY>c`Kh0R$QyWU_-JL$Yb`BGK$Je>@nGwWuz%a z`?Q&vtG%2DzmIxU7wA16A6>p`6<+cU%ThAdr$23FU}E_O!jf8XoglifI6PcL_XUny zQ6+rCOthN?KCvy&v!Y+Ta{7dsj^1i5c_TLot-$1;YE1XxJqs+T>WX*>`nbZ{K?0hT;6}J*+y-ckJ=~?-4cz;>{2>dQRF8$hR<*Q<|L=sDWv=_Yqjl8#ZL^sWUG!k|B0WGbZ6>0%hhI=_*Fc`( ziY{ESEZ$Z(TNX98_&?E$h9}qxN*kV<_(J>gLbEUfx4e%&!Q^BJ{U7e+WHSMNC>ypf zbTc4ySe}C42B}F|wv8|mv@dW6%(Noerst&b-Py7H*DTMrRn?+9&-y!?9%)u*_mPCD z*zgC;FnsO60y6yF+>+GZy-;P^g?nWAsrky>fvhMl=)V{1M$i89YDJwz@dl;Eu?PQm zn#|})*YjMo&I&^u9fYlgHq-R~QZpIN#Hz`MTpF#=owva!zlAo6BQ0)*7P^VMljFh# zF|NB{Jh4~^?5=yFcxqy=E*ze2&L5Pjc_dM_ePCc!pxlvZ?cQg(|)EC5qOWZ>J4@!2GDTvRO< z)~|GLP1TB5r)$NjMh*XCt(E4Y3kEz#>>20@Q508Z3>*O5x{cUGwsgNm~_?0!7 zjLuH`A?C$QZ%+X|kkF!CwF|2{1uc}%FG zrbbU|Nmkmk#OBHklb)aPH%>2|Nn2VN`BRmidVTep_pVu8@2!@nPkep3477U5$d;2n zbJCWPC8gH=Q1f*`h+CvyJKEzzY z7~Qx5_?^8l7hKJKh5H`&6XbwI)D?AxS?EC;{$RLk(L;HHVP^U#c3nmiMJ`Wze$a92& z{iRN#aYi3f5~`f?{LsL^5-eA@Ro7KjMfQv#!%do+ASq_WGIU8#l=UgY&?ts)qBoV0 zC78nn(@j(@4HHGpxmDA!4I6T1Gm7cEITwaQPF1Xdtmz6o=CL>qp9Yq#7In3d912pYA7oy7|s#G6Qf4wJtHMbHCMn!q6vAB68*Hcyi!?So2la)+6sd`G%90evC9wD^S(`CU( zj^@I&C8k9cn>xiwS9n!061q}U`Jx3+mTgvvBKzysyQYxzeJ`1SXH5aI!I~~YZXuD! zs#uiV8qjISa^O*ez)W4k6Xb4p6-yR*k}^b%7X{aqTtP^SSSW88Ba*me33VFDk4z** zcmP85G>{Y(k|_yp3{we694jBJ%^bI?R!>ai;f=o4KiS_~$o8+Rt*WA*)n;n&`?8fx zT3@Cw8F|@CG9PyI0Z)?~$qYBZwSW`a!(9b~hiXXVwNgN)>$Rj7nreZ451JMJwe7C-Kh(GS+ts8~GwO_q2nS8sW$o$M(W)cqC zW8}oscbqEb^kW;FRXxNHg_?GJBl;(s5DK1L6AZq_W8x8PU^i`O%U+WcsUAxZ2-U{s zUb9>^(`S}=Rlbv=GCYdj{`Se}6R3aFa9!Z*L!0_g-?XAkPe99yxEIw8jgOvFWaAU) zlZGre$G0rYyT0${r?xcTHX@0=g34C~p$grkPY_4qwtk8{P1bT{t^yp&P2A0NotZ@t zm+D>rn8R8sUiWjGBVC7L8V|MOM+2O>FS13mX%rI{i2|0xHChP6cWF(84Cs8KMXlso zQb>OcX^uH>w8Du7HPQRXKDV-NT_wCOTP_Th`;!^N%n&bQ8rg7wtrCtJL>85VU#+i7 zjrAsSi5}qS1ztgcm)g08=Qj@ZCtZI`R8`_v%Txa!Z*Kx1Nm1pEXGG+EXJut(-DlU; zcXxGl^)Y=+&rHvKpTNv8_W{f>GaLc~GB_M^BeI-wg9<9Law>?3ilQK>>*}g_t*$Jv ztIHy|(3N}aAFoXL2zyHouXGTUuMrB1tym;@$d%xF{Em=qwWWZuk4@-_D-ow0N zds3D)s0fV4Dwm^z;Dj(8+zi2;dIo}%F?lW0+e zY&+ygI93OEBsA@-l&e!CUzU$~0hx~Fo$xni1cn3Mg;@n~V_~e&?p^*9=v;m!>RnKQ z?vGT=aA-zMb$1QvHkQ`yoBY!q_>^>PbW+F4E)dT}K<$rRE4n&Yc40;*o{xa86`c>| zE0uh$5^9b>z4oU_bLar>4LcZ*2i;dmnCGLXCv9+j--;$`)rWXi6g;CE-nVDXgmHLj@4Q5ai@>zW)aKfqq%?}1l9l~@y0d?@u(~HFW4v{r;wtV z{0clAXlbq;V--7ME5|UJ_;s$512Cy&)YK0E;xP@;RdH}xA)N`@V0>0E#oEC{6tj&E z&jw4G)+!AZTTyIc+fjS(Vl;vIF=7XYIb(u;*oeiMCPvOAin1pw4+P>0C!>pv&Wtf} zj)C@u$SKolpo?Wrjh_=tWl1T{z}ZHlo}5hu>tpUPs^NaNJWl*%>LVUCIO4T&#FL|p zJP2PxX^CT2nslZoiV{FzZ|4zL^+A;U2)YoD({|{1uS;Wzb|ce)yjPfnc+8Svox!XJ z7V=3t?WN&88vDzCZUc5v0C4mqK25!p_ z$uvkN#$bNd>9c2@e(CA6!R*ruYF?2Lhv?f8gaYP$F$+M?l4U8S(s}o4JBG*iJUa>; z6I|;=Vc2l@dRH*r-nMATV~ZEIwzah_T=M9WMQv?hJ9AS>=vdh4a=0JF(UO#G)Rrlu_0xXF|O?LSFLzzkY z;cq?jdxM01@)}}sJDz&nQ;uU<9$lnamR4I&j^MXu^tEtHC>986Ql&8QP`Ei93s{=i zn}0oO!t%sJSbC6ow1U%UhGuJ@O_oZ@M5zRJ;KXpLq`m%npOp*-lNNeBZf}mYMh&&3#kTo6XcOWTEz39ycbygvxODm4=ISD{f)9SR5{ap}AyCdb)GJKW0*^u{^TV z#|x_W2f^{5(jT5=VUztAtARo}D;EhQ#(Ti13#t_MgN}o@sQ+^uD>o z>zj3&MUYv4W5#gjgw-f!xB3cSB%sJVHl#Xo|f`3>I}8la1*64@#CV|Qfz_|9Zu@S!@YK0b*9Y+|P3 ztrZ1-MdJrTq~kZESwVg-g1p%1N9Nmjo@J<3s+St@(SS2#ui1;p zN8r;y!rP1TwyDTwK>=h1f^if~0s&?*YuD2O2;0bf&OJlPa`0~W{@LYGZyXBdGz}eRi-Fn-tluj@}=(o^5Og9|N z*>+HaczmqHwDdIUOg=FHv8kzC-lxN6cinzajni)@S}k6zVh}mMeY;AQFv_ zzy`pns*ys&eheHnm;RSovY{)p2%6h54u0voXV3JmCEbueG=+|W@So zt+o#z&;!ZdWNj}#B)zBWO}Zzy@q4m+0)N>P#EHZ4uKupLcen?CHU5Bk_+h%^@$SCK zETVhSJzsT*PQ#p5+KbXa;%2VH<7O{)7alQRrk7`G7(0w{dguL^hvkYGzeA zY+Iu(1>NMul2D#q`+ajRcO=^gc-i2cUF65?k~9tMDhR476jW0!h^i`*1ZWZTRI&R6 zmYb1^#ZogAB_4M-R8OzYX>Fa;cN#g-#gr~|bc1c)x%TqZs!8we4%j-jxU)ynxVgGQ!s`Lr2MTKglxnd*ImO4wFeX71HxATRaAJEfR0(?3a2v zf0!=3KktA_U>4Pe{q6&JZCvB&Pp1F(2iD~EBp61%Auknzz7;GU4nEL!JFM36#j1@4 zz#|MTDMkPb-B#ERVJ^|Z;xJOwP&ATsqN)x+DBRP(uDf@9$Oga=BR08!x*9aM$B%5VDUYL?$m;?VM%#gb#n-iWb0lGDF4`*cyWCf1wmX*8{v;^}j~bNVIwPaU1v zHQv?Le%<1M18p-b265cK3F?a5MTXl)OEM4n^1!y$8}<-^_~LzgM`oV5)&R1=f~Syh z7b6Qa)Yohp8`-n}Vj?*2UB7x;e-BT~tVHi){NH;W`UX0M>h^8vCdFZ2jpOek1}E|0 z>Uy3d7Gqr6hvG3C-mD{@C3qHH;Jy>!IRJT17F9_R1TL@gm@zFk^~Y^f4`ZSDQavEc z!ca&~>w0bOt*XF6m^OI+;{@&;1Vs`2c2<8+OCcGx0*Z)5BM_7w5iVanqc5h{{^A5w zo(%`$;qPBK7H&~FAg}^od(+~v*uk+-3yaJomM`&pNdHy82dDSgZVwCZyWouSbK4(0 zCZg~QyKg+c_`RRqO`;g!?>y+qBuT21+D#q6T*bN6dDO+!CDbSV_=8g%^^dapPdD34 zd!VKHNeg)&>co37tY=3y3F=q37Guel3LdZJdPF@Hpvf5A+|-n(+3-em8(o%EO?>wS zQPa`u6UWEMau`GR#Jll=JTZh<N|Q|38ARfBC04L1)Pi#B#N}Y=D1|*mdGor zBWe8#`EFpq&-%f_jrvJ4CH%n`9)80W=uLEhYR5A55H(88p_X`(^)@U^?x)VA4pJ9V zmtn5(7QzjJdXHfm!1z85Sbj#Tzr|H${C%sOr#)*2pdl$@8KH~{Nx&3H#7L81e_~mj zXi+-=;S5ME*(y<>R+Eq;h8(#{)hSf*J9Ul}7pgg@nlrmAU`jT+lXl;b^tO?9 z=>9-VnaQ?zXm%vimc+7Cylu1%v^sXGjqY%7(Q(3YWI)6G)ela%ZRDJI#Lwee`Z?Z$&TpV#2Q3;7-y#2VAe_5p`?8( zbYEU|<+aKqk1^jo4p5MRFD=81MgRPTpXe~`P{Og@qMf$!qn!jXDQIS|Pu?ep68hEc zP`dMO=5mPk;Z~ePXhn#>$}kt-3(C-)BSpvkT#BHVzjqmZj~9!=$LE;gz3GkA7RXY*Ye{u%B>G6U$Im>YC3oqQfbLTVQH38FB*AgWOJ;_x2X_a2U@&IM;nO z5RC>v(2T%{`!W#Sx7;&cBap11!G+8c8rZy+KVsL@~ zD7DA&qrlhG;o6r&89bjCIGKs#fAhe>n9=DvUbHk2Zuj+$Pb^Dvym<#sWZEpYvkflWRcR8|T zkyjf#9s~~1zifwGgG=%(tMUIl=A$c9Ag2mmC>>0{Ni4LoJq!!ekbgN3i_$~$^ay*^ zC*DCj-AFKv1ZX7So5>8AIS}vcBi`EmU1~98!+f&PH#~UyaoxzuM)G4}M^hwGOO0v$ z)n&ug=(6S|)%>caIq9AiIoikyvBbx>&@`*&YJYYR(gK-Wd!^FfefHR}kZFmLmYdUT za{fR^tCVCBV`x%Kf`s~1@xrbx4ke-qhvtJ89WSL?W`JZFi0PQ!G*k#B8Dvz$ zm^%@h?5xt%9K?@Fo;4mZ+d^%nftiJjmQ+>Q&J;w^4930R(HRQ{)oipUrRq*JAn5Yo z1c_jnNVvbYy)*onm58?_;_kCJzd4b3DA1cI4jWF<2^Bj_PB5dz~=Y>%L@JB5CWPeH<=)f*Jz>J8B7ip!gSN}WGIeX443fJ@`>5qG>Ykv#Jd$E9ck7nb$VYI4fQMu1yleb z1c;6QE|Q5%ep({gaHJ_zd)dDvJgw~Qj}RRgqIgQiGHje`rUs~CZ??lInM2NA18JcU>-iYUjk+K1$2*lwU@P@WL*ZE9v;Ju`YnUU>#goSzUP5@n>uN~2e-Sge!ouI>H+H~%2PASU_I`;_wjOF zxZeh`%s^6oCSj>{8jD^{Gjuk9s=@P~Yu*^1GxD$#HSppD6K`;gP zEndLmJAmKO)pQ>1pQgw2cc-qV?xOCe9-^M4zD4~D^`F#)?>TT}U}mQ{3y@bd1j+;@ ztKnNm7T+oF*E!0(yDw=@=Y|a=!VO$ap4Skk z9&5j37a@_AxiJkXl7;z>>!gsh?B7qyB?>2Oto@Z?gc(U<3s3FUUO}aFF20XDfd2RT8q^ z_d)TzQ^*F$2ys2J8j(vJn+(r9SGNU=6NFz+Q3Qw#)awOot>Q`^1Qv0dB2mQ%o8$#- zn&hCl22Y)9JPtP*nF?Pxjas&G(8%=T8Tb1Bff?4G z{AS1hhDL*vn)Ge9B2FlxV&m~5(u?u2wi&K+LuOiV*Q4hqs$k51k|+y*q^i9c@NW}U z^ya(2qSMdeynv!?_D(>)kDOJdb{-yk_zW)^=;Ii=7jUvXfY*FQ*e@t>ln*dfn&t-v zI2KhHLm0v9zE?DZGwD7KtSWN~BeTjZg_jwXttR_qxi4K+9g=0sN>{RnVF63`{$sRQ ztQL!SMw2)!;9CD-t`gZ1P6@K3tbC7`BQIn5E*@~a%6AF0(#2XbJA(}>+yd`0)f(;w z1y{$}pY@v|9}e7T74!!6Ii%+IY}mXbj;NtaE0O%?W%#9l## zKR#>*9&KrB!7WAOsoKl?$Kd_sdrX-egVJPLGbMK)UOshx6OI3+;R4dd3$hHuZxU2K zoxq*5iDz)ZA~Km5&* zPPGGYz;ZwVe>m?J;ssGKJ&C8Ba|mydEsS_hq-3Ic!V^xAdPy)+_o!igL5Fp~JH*Mu zIECdgl@A0g`>yuc0>O9g5t=qgGQ;z0i3PJ_oYd3(U#ek*gOLD;eUues-E<=T%?fK2 zx~-Wbsd*vkX?OE)z-L}M_R3B>I@=r~-Uf(}ty;r)33yW4+w}-&DSEaBCHy`$ync6jo}5QC zOYh@5iPy#lbV?0>55EGMG-$4yBTTPgf3U*e%X-4++#90#LImuL77OlqtSE3`Cpo$| z!AthV@`WflT*-+7zt20=Mh-*^I5%1V`6=1pqML}|@z)QB3Q=?}X<_2xSP{J-@Dmr4 z2GF^jIMG#z!j0rY*L}>EN`Juk$;W{6^l) z<Ssh^@nnfrQ5H-FowTxMnM8CWXmdn)-vSJ$+mAd+&iM5I zMyMMqn>>V!94p0X8457a);1XBAq_bgnE}E#?p(8G_s!p1u`Zxlp=hLK-Lf{@iDxU7 z?Ee5$K&-!4sm^`uaDOz@efV%>U?6hX{mbE!B^9N^fNvXW8*c;ROf$_OIu*@ZCJ;}_ z2Gm(+lyXZZaS#qsHq}neqZX0fIMD6+_o;BwatD@~tWh=yqLb%tQXspI6@mw!OJmwa z06kf*QnsBc$tw^u<8r~uR;u_9UF9^V3?tR-O#Cj{lOzeS@L$JQhdSnH5zON+N(Gsb zTpBELzik-%ml&PZf%InzBkjF~woIoZoHhRW&wm~r^6w`t;Wki=B)(I-6{eQ#S~FXh zAw3U7gWcmN9>2b?_KwDk#L{Dq@xqgPhMW469qq00md>;L`_CB|m>wTf!xF#;=>_LS zp6_Bg^u>w0G94Wmv=JX`U2}jo`>8YZ-#vJ!o|PfRu-xmubye-8+@;^C+wXkLi?@Mr z>pm_n76(8jYo*B_5jKr<7^FS;t2BYY`d8Rhdl4$j+^;Qj-$1pAm1zCMJzrf8<}G^^ z^euz^8}Yx1&FJ=tFTrf>Wq8_UW&E%4J1$^uLLZ}I#7@XeH*gf{L0CN=r2}~3%e{rk zTW;!sTZwuWGyk5oDxPMGbXn76{oTzEa{|jn6iMPa*8M6+^E$KnorevHl+w37#2+aI zvq-53WJw*=<%b1H)D%5Lu&Wscmze?SwR(vt;SvYoS->#3O#;L$CHrc)?S2>^-3 zd@ruT9l-#{V$^iwqsjdAlzgM!XNm9(s;2rUSr9Y4g5i>y)Er-xs+pB)ik-) z-;fePAZ~RRc$T4$YPMbbJWpT+c_kQxebe)CmO>8a7spAnUi0{C#*66D_EfEdG)=z1 zU3M84G*yP>);uFx3CZ1KB`y2`zCGka{>diC$yhQMqDRn$R5vwDEg%?*Ag@BQEoVt2 zEPAE49jcH-FA6$jufU_y`9g)bh77}Y$l#t#KyQDaSUa{u5B%69~ zzEkP~se!pO+tgrpMh4N&ioSH`5~I=uViHJo*I6yeo`8OnmY0ltWGY9bKM z{#Q5+GF=&vMP~ymUyinnYZ>=hFp$y4Te2fXKGHirt6OXdsP3mq#=0G2V>{LvC9q8m zv914)&QG-ZOB+KfO_${Fq}fvgf$BiR55<*NWE+#f4J2!jd;`DfVf*Qw@@RipMp_mzA#s!VM| zHQ(Pxp?7+X>1}||sY!e%C_RtxTHW>ZW9*F#fvUsFj16vg>OIt`P1Cb2>O5LE7-e4%R99end#J$TO`@X)AL7)-$K zVaR3LVUIVMF>`Qi_-^=+V~v|J6WH2?f+pZkbv!=a)V6XolNnukJU;z4HP{vkwGECA zw3E}ZV7~vM3Ex*GWbQ)E27(sQgmKHMw}DTm9cf||H~4|yJlmsD$Byae?Ff=sYiuJD zR=2MtBPYTfR>%%#J7i6QeC1L41Y|!1w|s9Q8ZESpR0%b%S{kp=Vjri{Vo>WFDCMHj z1>3iOEnbbc2f~3s_sD3sZXD~UUz^*qCEqL;gYh8dym?Mi7qGM#4;IBzZtK?h;iy}S z3D5|Hhle{2qjO}qZljOh_2Q_Jm8^iN(+U2ZJ+d(#^ftzimPe2*CP97bK_smsI?g(8 z#Ac2}47G#kleMqK3WXS)iG_{Y7hp&22cTGcdTLgC?T2XfuYb+*JUj8_T&0qG?m3c1 zb8*_el@8Ae(cv&1nuY)1;(YWUqq!VDLJVJSnrJHHbdAMH z_usQ+u#*mjXlKl!9sC)q`}ZE?7<3Wk;5D4=4g*4DC!>MlSID7XMdr+j)YyP!1tQ~f zBJgH-b7anVIS_~(7dFi>{BxkY(q%^Qb?qd0JwEr$nG>$tXM3>#9n7(`VLpM%k@3$#8pi zsHtgaF7aJ$!g4`pCi9ZJX2tn)=A6F*?9?q=b8i~Llz#m%xPNGU8872t{G;FF@y%bC z8EMb0GHoX0Cveky@7BN1~XGUo0Z+fwP> zG83%#n!abvh4cM+c0RMl<8#B9e{043CyBk#;FCPj0eZiaNedne>hVylhj_M|KK$-^ z^x=4COph0=ch9r(2|d<{-kEp~e5&?@%*hdh9@C=|C%Z7dB7uSvKSjk;;@$CypW20_ zt|tpND&otN+>e55q*THTBvX=`jm12^@**_h#gr%Z^P?WBOC6_udQUeDzPa=iymk+^ zqtcidOuB(&GpWPQPDOV(w{|!)n8^-g@DZMe58mg_+Bb3$cwQu*k7NdG={!m2YBZe4 zMQVp5d3dX0ni11{-u)O(DBz>`hz=2Ov4L#uLLWE@C*isHe29$y+J(^^9Kzq?o=@65 zf7G2tvf;U;mBwe1_7OgI5c9CJNbDmM3mww~!eU96Ag)b=sv?+cAIx*S4QKp^#pgS~ z=qUNlr^#UyjBX<5_b77QRC{{r)gABQ`3Db?qkG5GPlKlq)$hWGLr*uV0en1kXzJA{ zx#K*RQjm%N=Ef&SD}@SjPl_7*uFJW_-rNACFE^jcAlUQF;6@d32sIv0`)a4yYmc^+Rg zei_5UJuKs1#IP&_4l=C!BQMh{{_gXj<48TPfBg51Fr9ZWoo}IL;E}$ZpaYXRI9)_R zSn_;-9x$>WsFy`pSpPsK*oj|E*}d6HBrLE4ALqUA8oc@*zP`!7wi5}v{Jv`xCa-o! z!a8zOZRdOM?IanboMeFK|9YKC8&l$c+WcX0t?P>vS)!^0pXyk)rfXi%TC^QnqFI}D zpH_+k^_VuNv%arsJGGVsuBd`|Nt^a817uu&fVuFWiv$(5Y|mt>TFH9LP`Q%#Rt3)T zd^C?~2z$I1yd5Y`)KS3g#H4ugLJLdmF&-5BQoB`k6va_*1+iibG%k#2+_yo#1^pgv z$CQzbl`@h2In3N8=wUeIZC%%+F=nTl>@wa;uR$L)vFhR9;2(t9MK9i;=c^AX){di; zz2MT_{h)96rPtvz%(N!yv6-jryI{-lYcI~_^SO)H9uH1+^x2j*o6(y!TBJE+=DY+* zwWR<+BeSkCI96sfv<;=(67^>KK>zNKFZ5eiF4%MO@Tk|$H@zk=(q{(;g0mSJYP6D6 ziyPM1$)s(3YSA)1Bh&IUU5`Zc3)A$Ey(2V<^X7$tH+-lrj_mnY=b?Rx=H|r2HTVeb zK#*4OlH-7bcI%K+YaMQV*BNTH(V;@MSi~Io+XzCA0l;!U9qcbze{j>WBJTQ^e{U5B zg46dOdN3Ehlsb;uLY+lj>mf=JlQyzA7Ap14Ch|W&X&gQ!G-ktG4lk%ImYg9Gq^s@F zLnecsgMYj4Nyt{c6dqbtuLTl?(e_Q2eQy&Vkt9fBiF;#|^Vt4sZ{ES{_9TZ7e<6hp zUBE0XM1q#pEZI_Mo`#SIfTJZb6wenrGa*CLWMgF3in+6f63t2X&s}S(LTTydHGN$3 zVx7)(hKubSo$d-3+dir~tR8m|)KaW~I0^r~Er)`tt%h}ug+LMmNR*n|qb8@S0@RG; zEEY1VDMKm#hb7lM`TUdDEUBNs`moFcQH^p?3 zr=7op?>Rt_7lj!|&mX9_TDN436B8u-Hjhd*u3UfOt{<>r{BCSZWL4dn6{lrdGNT12 z!HSk`%VLBTfY3^Fa$)w0Sw)#=x=3WJqZ5vXd%f|CcrFrd8&KP~&!3K?K#WW^FqIBgf&tH=Z5~jGtx1}Ml$7Qn{kGmk(Ma&xT z$1_>*t?ug(klr;^qCpPJNKsZV*|0f@)0sqf^!z2uL0MkKI~uD$8j0--MsR=5?tNtC zs!M1lz#6SiTN+o5kyLjk4PTx+@7!%;`a<4}h^eNouEjn5TdicNJg{Uu9{%z_`Diyy>#LU{yR9~#9g?ZEAdOX35$+A zBQtcO+#^C(XXJZMJn=i%#J})B{OYN?%Mew;^4@CdL~0j_dVI_ghdkJFuIg!lhdqaF z$BQmw1s#@g3f}PZgQ0ZS$wpz)YNb4x%1zpCOd7*d{u9@K$Yk}A#>gt!)r}dVY*z-eL!R{L>w!s>&>r~aCj76q1DvE3 za*mTLDDL$-I<#rx=}nu^=q9%r+^C6KDmd{{FohG~#z5y}eArjL{pb#Awr3ZA)cCLf zlVcBK9t$KRz~8vifCt)Tl4yQD-0lc4d&^Y@D@#P=6=ykfMo0YiU-L!Ew6j+AtI~ z%`|uwfKbGAU)A}&LNee)<)O6|ST1%Zm z_NVGYt~zZHdTN~PWGeT*P!Qwue;}@;ZeA-Z+$N(Nrovo%F0lCC^B=;=)jI~QT~3& z${RC7Qc%Y=de`?=HuOQ>h#E#DFogeb>Q}0%X#veYHl0tJ^S{7P>}AVqd%_U{84a7~ zr;5#;eH*K-i#x#+gGPAea zF&!*S;ZbCnL_LwqVy*&UI#wki4Jwp_}ixan|U`;K!q< zjEtOeXwS&Vp3&S$Q*L;{NG>;W&a9ck51eE)=_frfJad+Jp*I=c1*omNx?Jt=ua>V_ zyY}i`gZ;fdSGzaN|L8w_bio3Am=FH3W&WB4&CLte%y02z^mp((VbO*7x30vL`ZPkR z>)1}VV+r0iO3&mritPZ)2cLxmY?8pck=>MD%&imjEXLo)Yw!+*E;5{fxAEuus}Wx{ zZ#NLsZTm=QiuI|%U`Unw+T35ezi#W#jjdeNV}yrF5(^fV645Ztcg|iotCMFUy;-o3 zM{KS?#4E>7e9tj6&1qfLg8@n94Vi@H4Vmc{MPxPI#Cd|jF%W@Jv{b5;bS{O?bWAxO zjgOx_V5OJsl}MO zp5~+H)T71VF3S*>tDE?paJ{~Mj)-QaZ>XF$JWEbrp-=}Q^Yj9BvWh29+P6Zk6JuZ8 ztmf(@c?c6^qHf`ke#;_J%%8rPoEF_uSsIToJ!xqywzOg<4I^oWv)TJKYsJK`!B+QF zqB4f7(4913?gR{it5=h#vhI^4wCt)?5Ha9Rng-W6djQ=H>HG1bh7bVa1Gc?p-2=As zg{A#7X7rQ4E)YoN(*XdA)gpY`(cK$CwKl%a(NRoy-UOG@GIJ@Q;Y=FLn+NHckOuf_ z48ghhY827nGR!l6e1ZE}8uR)vg2!rOFX4QzU!z|1v{P}9`k=r*L)S2mt{c77@jL1U z(v6i1Qy5%va*NdS-!+2ufWThfq)xO@2c7S&_BQg+%{mh$RumBNg^xKQXGFqyrOG4hZNDD^ooYT_i>3Ks8)F5^I;3m1HY~zDvpCzHF73n z`l1}}M;%i-;D>&|(^Bx{PE+U{ZZFfMA~ zwSFAEh0emGJdNMTOlmWAGIa))aPg?_8G(4o>&aI@ zKV5qnBt+5uEv}0$cYiC2Ac2$cy5owL24GQ6l95 zlN1-51G886)eFHMNsPqf5m5q2GED}5Nv2fFG%nUg`=Y7#)L#Eo$M5m&M7k!?pUF@y zc%;FLW0_SwnQRbvJvjutn3p8tWu+aUhf-~Asfn8tZLlo`9-`I2i>e8O>hsWw2OG&C zIz;NE+DZv@N~-O304xRPsz^0)6=11HE~dyS=i_&M79K%lp_~K&^i}|}`&{w1p}TtP zp3HtxwYMHui_4I8BFho&Le~@(Lmb$ZNlk;dYLEy;N6I;i;7zA1AX`N)r)y$@i_giA zMOaf}Sxk#S+?Lp=Dl;U_vW!UFSZQcGildu)$`Q>uT0me~HE1|mTI2D{j$z`4iJgK4 zOVLyV8UUQ`%p1y7O1LS^twA*5W*K^Tu-{aoY&0k-3}8i8VpR@t0V9$RsG6qW#fY)G zR7qf9B)X{BqX~GRWkf~;UX(Jxuu8ZqnqbX&I?#(sC>}8gfTSHVbfu~)qArPYFppO? z6B&zU&P3-z%saX7T}ZD$=TZrx-y`U1n6$?|?H=&4LkLd418mO&62AhR?JG_v4F`P{ zDn0ldvz7Ull$2dwgHRCVgbaSlu;3S3-s03#UiuNoy6c5v9Eh3l%1{=Fu@d-?TRu(G zD{c@(_n>6T4lfAc6qzufD85b)Fj6XVauG%rL~`NEUgLy zt*2DyU)9plF{@)_X!j`>obt@*UO@{2^pOC&hen)Y?H&8t-a~tK4-I#Wb#$~`HNU#2 zrQc#8%l}MJ=HH2_^l2Wjg3vRtW6j2Wg!W!~;MAF8V9PoKC_D$gg~WTY@yBWA}B}o$>CiEz1{m@NMBp7@Xs1o0cAzTU&0v=*s!~ z^&gL4)ET~Xsq*5c6AvXSXDo$Z{Q9wUGyk~x@y#cdtC?c1YtG0=9QS!p-tzd~)dx>Y zGuv634(6h>&py!EKYN%(tG*Ng&b?>#rZ4zhyxj4oQI}Fz zet5s(j!1&4-*W_dWCU1c1Lu%l@`5?yP9vCtR@v{^5nvE2H^Q9~>r9UOjf-ZSrxd6ZGz6iS97mxKC?hnYhZf?=~lNK}=lbyriw?Qyo9O=p^p^^2gIquX* zG;&;c`;zjER8z?P)+d4~)YXaC!H|_zz~ON8xMULCb$f1qCK2L~w*)wvxa+pI#I6IF zvrFFw+B5E1mCB)>p1NM*Ih03L%r_VmW+lw`sUoUGWiY9$xE9P4B4JGnM+EmVL4YGI z&CM;~7I3-93AQ@%x@wcS3zuP1kywbWyrzJ_^|;d*pj0x(15WuJ7E6MppS z9%AE3Ry$8l>n&8KZhORm2Z=FY8eFnHWX{f(x>k10-Y(kWj#)TW%FYRd+LN4N+Wih4 z;+bXR3!YjqzMSTRPCw{sUD>avvkM25f)j2Dx24l<_~aCnfrZ($-oLW7X93?)WCF&9 z>zmu!ny=rWn@p;t@(VD%e*3+Td;DoP=7lKWg@f_qMq>F1`U{^Q=Dn^@_d~z?s=eMq zo)Gei(d$KyHxdA~1Um{kEA!Ue1$1-nW4C|mWBEK}Zj1>*Yap?@T$aR4`V*VC?b)?) z{ndpcs#e?;;npZDW|GYi#!$&Xk%D8YyxMom=a3r^nY?&Q@{4BV4%ZBDx@qPeFlh&ZLsmD5h!Wdof}(P| zLzo=#K`4}sh6@^r>=Ja)D{8Cplw)8?0wF=xK~Z;L*tqry6HLUlR{d)Lml-xLlMMH# zq%81>r!)<22Q8j^sJjqmoWp`EJwME=vGciUq7EwAP7HO?%=xQUU@&O%VYK>3)fUr|N&|Mo7Ev2`%1gJQ*~}b4r34 z1UFj&oQ5(V#4ME_aEu$CRB@Gh45D9S8d#;qu&hW`J*Z00Jfo8Kq91!P!Wtmx#8}o! zdulaLr;V?C^f3}0&$pDRqBQ5EZLeETig(3gU2(A9eO-?UyH$0U7}Mc5V>t!XIv;NA0beN9|421__Uy$0hgY6CQyX03ra(F^YLVZR2!Cv=X(2<)6`jM@Q&SigH71Yya}dx1-V8~!>Q8#J0!esQpanQ>I0(piy11|D2AG^9Q}?>p zeAvEweJhK=;AT7*jI0+9uD*}u>Fh8^S(!S(u*?znb$Z9z2fvVa6d@A`_U1BWR$|JT zT(4zh1UW>!Fr~OG(y)}xZOSzjA?7Ayl7^1CpLG^(1oCkQf)Aw0gsM*vK%w=w-PWlj}D|0fmf>ZF=?sky# zmCsz&#{u*e&rUluJp~7uWZB77;RBxN$LgTpmREOmtuEUwGxV%!m)E$p!EJ+U?ZtA* zkwmU*O<9n|(TzWobv%F+Wxu3rGOwyX#@7+c`izX31Y&=548w=xS{JNc&?=?-BFSvF zbwTTA%4>U$8=hT60th*sD>^{yywZD=5>OOF^^bSy5yOb+{;}>4@dWO-0G_2JjsV$% zC&J}alN__`2a)l#5LWt#os}~seK|~}tY?FuHCc-i)YR^)>$r)5pKOcNTrNhh5f9jpH{<BnWXj-)k|PWgy@VGO#x3Rx zf?LvM4)6(`0Y8NZf}a=}-Y?7*y+VFUnV#iq=lAUE0XJkLx|(!P>e=7p?#hrfoR^-L zad$(4QgUN@ei~el0EAa4F&@3BE9gZop#l8StQ3b!Y?JsJhiJ0<$ zZ9k}uCZozu6{rsYng$Q5{&{lm>gQgZpl)h}T0|@${f+5zU6Y!fg85tDM{&yDSO@9) z{#I{=sPzrcip20>o~_9X(_2W>gv7!#;@$D*WlP4NV%MrJcd#3CkWx^VgVGCeysSQ7 zJ15c>0pBY2x#PM6pp$T*11Owyk~VZQ?tcn07*Ygueyk(58c3!SltArkon(Kc6V8-O z8(*)+W$qibuVGHJng@5-y8ClI7}P;dx2LAT23c6ON|60^=Q8>PyzX>(I~HWT;8h|= z%>Ju(+24DpPjwG6v_S|MPm7NWk-xLr*k+oxg8{s#nPlh5!t2%NDyuB_?iBmWj^XZQ z?d{9AE^AX>NOg4e4euNp+BrP83a&vNOExcSYhU*5aEGe(b|l)viT2tXxzSv1birsY zKLT&;s3haXNJk7*epYV1s%s$Z+?#1#v~f{u%i@kq>iV`wY+&mdTL;p2x6LiJEZ(@N z4X$=9C*D?$wsy5eYu{*^G1oIVozdj}ro1j13ANy|dMspb&%8(tVTwrQrpIncI>aLaz7mModhJz$1Cb0wB7tOPAcH^9&JJWE<|k@zH<8C`f`Wf; zipZXTyWc&|tJv@(x(YpwPN7uF#;ZaeQxGhPIJpkM zSWYEZVYm)pG31={PMvv>B?SfW=EjXrfakx;xRqzX^KQ?RtDXeUdkObXe&Va{8{ir6 zy|07wKzDiDpSRO*pS=tG`RqThYukR-+i#uq=XKYf_4eCmzr76#XYD%s?Oh%w;l=b# z=%Ba5+(Hdfb39b)PgDO)y#sKUg9=^%=7W`B175j2d9t_ac>6_!d1g3A10A4RaB$x_ zb$B3RZeBI>WQU%h2a{owFECD-^Q=Uwz#$P835r1d%o4rF2$;OcdqHpN=@Eh*Fqy`6 zss-*yx|hKZRCU;PSV(%%0r*L(&QY7`^>Z4x+I|kv>K~*2)H+l1tCP=9^0Ec*5$k2B z*GWL!OWwu7rp3TsVDX|4P!t;1ZWx_lwK%o%g$JR+R0>Y3SiL*$6oZa2p zsaY1!@HE4$<=jNIaB#e@XZOZ=MU=|&ps92?@=YqoF|U3X4;Uys zD={2OE(0_l5ooYX;8pxcJmPQQ5#z8(XIF3Bvi(bk;x@otHtXf{&fe8DbX(7^jq|L& z{JGnN4T6X*2`IoInPHNu)yW_UamAn(qG^$*bw)_B zOb9Xx^WWPUd9^LiWyN-0SO!E*<<={q69W7ao@*7krJSG&&+SIEBrrQ^T)$F69IYUZ zX=cP2gGY?MMB^C=3UL7}PVoGOn@*fFpLE&jEHi4BZXr+C85ICmLox%+~j5u0sEX&ZSbso~+?X+FJ*d_qPgiL`W?gM0OwowNsBJQ*8hT41s(v zT2UL$&&(H7nF6@nJuT7P9D_fIx6BJU3u=GVEC{nw64U>Gy_M`Aze{3c9KhA#H}muD z(7cvJtvgYIEpc#}dqzH!F2c{*>gORZ*)g#;0qwXIR3|jMu3x-?-iuDcbTCK|e3`~d zMyOhlxNRUq0F&Wti7(JEb3Hw|hz)y9+cs<8wRs39*4oKrTQa$;uY|N>zviB;wsyCu z?%5hzRO<&@-B2ckHW28_iMvA?g5~hud+%LNFF|Ke78RqiSUy;Y<*HrOsnkB|TtC{F zht*-w8x zlS*d7tF{iU*>%m=S~|4K_*a9WXWiT#OZzw96pX@cWBX^$+&@>hjL9BL8JL$Ewc6Nu^X>o_}OFNKI?1yt)?q> zUHnMs#lsQs$JwXNc4d6PAMhqVjC8LpyK;GLH$HvdwWjU@QX%b$v!pENAvVDIl*E&`1niwx+_L^Ey6jEKR9pK zruVntC(*uXZFq^=A;6y%Q01Z=ly%Xt9$&_fVp>h(jCt-WKXw07|NTEhpGJ8+6G~(k zjX4r;=|~KwqyP5GF@JmgmlKbF3sMKRp4c}q(6?#J@3w6669+c0SlZs%*}ineGmXTY zt%}}7b7-y@WjM&(^%%G0KeplPyKWg-pPzQKmq6^ayS+s1g;#d#vXqqqqAFjl#`#~^$e<_>&5c<0sli%9Qg#5zz-%5Th?Q^xiNOoL+G_c~fRVTlm zkHFFC;Qu-e{NE#c|I3uFG2YKd|AFNo1J7+@q27?zi7||~=M6sS9apx}m2$dVhYBuF ziL49zoM^mrpfjF~BwLc8I390qj!!&Hj^kH?PhVNPcy9mZ1DpG=?Ce;&;^`GjJ33!f zTFR}FNNc5CzQqf%_fkIMQqf#K0*M>k=xEQn9{gFma9(q3YxBH?YwKhA4YZFM@Ww+o zvCBvj13{Yvb&QiU9>N_kpCvX{a0K>}5RW9hBkUc4cqDLn53)~#Dj@d}+aJ5^>9wGZ z2^0Z5g}r`Y$PNgpaI?Z}g^2!Tv>@=9JG+C<)0Shl+v2wojh+ovN;Uv_0O6fMS>Upc z_)8kWty0IrJd)9NAr%yV#WD!pp<%uz4>?5B&zdDu{5B)yk)UvQa>Q8smlo!mx1v)+ zmhdAQf()IBI2}RZ9>g%O#LBwL@XTHS_9!Uc7M5ONX!;(rH{zsOm;ng=Fr1hh;OKug zqYS=QS#*z<56XWaferSEkYo1HJj?tcSk#5PIe|eSgPefyqYwCp=c&#Q^@;Z*+*hz* zL%I5g4SkTIA6~=&TwS3% z&#c?pHDW0=Q{@lQGNXnCbom2`W6|Jqopib*oqj%)PIvkze059(a6hRu{XHY0 zFo;tpG#gv7Jl_d|xFB7Ri_!MOB=`^A`qL?ApV%I@v(myxz;?cea>ad2u= zllzHWu6}+AlXp`CmtndM!6lgZ2i0@=hsBr$g?sPDq9hcf;v)ippROH|XA#O$ z9)H-OGt<-4lXKiKJG+xMC+$kR zl2+0xBWaZo5+H$40)#*kNd}XnjkCeV7`QeDgbfB0jIn(|j@N)O7yO)UoG#bKzOd7L zRn;@A6(C>xJ%8Wtz3=ySr>m<&Ri~;`=bSp{f8xr2>M}aix96i@xbLHT`svYcZ&-V6 zI$QgxB3vyv!%pCHhMd-`?Zp|JPP3imEdz9J=cMhd5srw0bf((~b;$z~XO?rD(a0*q z_)M3?7=WTTTd#YLwRyFp+(UGNBuz(`XYMC1&-VB@wkg5p$|GkL3I+hTVjY5kPQ zV(Hu`o^FFA>fY(nNn7mxNvo`BvUMSc#n7O2&U|Y?Ly(c4vCav|D-}IdX@c7VbX}6Ruoip!+xJS|u#`MkfnMn6&w#RHnt)pJiMNc%I z95rXJU$_3-Q){nEXPJ4UyU&dfB_3F)2Hv0l;~)Qc%{BM$-d%s9)0J&gYpzVC5ixmL zzfHMf?>WPB-nIl>#uSYwFm{D;Rde&|=H^vRO?U4myaUl;p|>y(cRa@0V#_+q85WB= z3!62?Hy~EiaZrc6Aao)&D-Y@jAVk3lOw11x%Z6ZpsExD8L``P)#$%Xi6ANNc72)y% z;p9kC3y%wb8^Z+8b)n?GCEO>-m-ETyW0Hd{cIG-m*TN`7J${CL?b9 za|HDRC-A4DJ3#9b+uF>_1V}*IfP3Z#jx@@-jU1^7*W9;k-e|Tdzj9aYMZ6ndakaTJ zY1cHCbqR(;m*qUmv-s;)8sWW&uU&IJ7|(G-NPe~vBxmmIr}p*iam&kenJUL-sv@3Z zY2HKQ5rk<71lWl3)McKRB7xf9QKB9PXy(#pJcM^$U-wiyW*40K2mj($HOPbpG>6DJ zLlJ9VF7A>c5UmcI!)6n$00=gZ9O>}oJVA!%>`^`97wqA9*Bta|Cg^SQ6=Sk4iO?$A zZBCm*5CL?kiRNC+LWDVKoe1o@Vv}vEm0i-_qPuxVBr(^`)qZ4yf}PXVfT9BE_BNO1 z3lpVgj|y#)s%WyquGo1cthNkCE8!#yIT0X9Nj1;E`kL!Dttz&VTa-A+roz?eaElsN zK$Mg0s@J=2)kuFTC&h#9>0E0r9`d?n$*Q;%n}}ClS@#ApM=laLvdD0%DcyQ`B&d63 z5-~@xIh+owsHom>JlmSh7J_l0Y@IwXAqTx~f#*05pj12(4aAl(R)^B`6GheBR@NOz z7kcM+wD%^Oni9Q*Vpn@}D&%w8MJ>QOS(_rNA!jHUPxB7qx~9oakxUvpWzFf8{Z2le z2!@i39bT{o5x z%XDyoafFzogNHnW9%F)LF9H{lL;u7$P}`rn>9U@m@A=o0()m9exbKX@Z)=a6K6~}K z`4sVVI{BPDVdyZ4BMcp&nA#)=dgf&Ja28?E1fH;GZpxaqVJ7XQ_d}UK1~V3f`+J&l zeg$00lsVpy-azMJ{(U~N+6FY_mx&W*1}-!I^>ik29BQ;`c61u-YX(#dn3};EBOKN& z*-pJ{DFsNV8acgGsk?7-e1~2So64h)XvOHN1uTGGeJq)&0N{zvl~oW(t|y>W>jQa7 z7#s?xhN|~YM%-G$9ngHuwQ<$H-tKbYM1|kw!dk>3S^fIGmBA+YLN{PHw`YON?rc#U zg8Q1WK|db1of?37j?74FUM*EAw)Ivs1LgTCD`AbR8AHreLq0@i!i3&raoM{47skRd zTkXpf59JMVt-{sktr(6vWLe~x5C>j|xi#Zcc2`q0nW=X40)PMmQNTsVYm*OscYOAk zIj+r)&u$J_|4Z@Nt<|Y6XiO8Jf$r9cR`A2tiF}D{{TXyk-GTa7_9NqVM^uBSYEg%g z=~IKjbRh639_}-Nz}N699Soqu9V?5WY^e6b;>sfa!E`7WDz5DKa<*E{)^uV>n6CXW z(Bj<{@qji`x$#|+zIVPM*Ive4fOg?*6zX;11odBEk;Hmb~~vBu1=DZ<2@f=-`4gmqjl)vZYaAlp9pGY5%x3jCj1AzE4iAVKul`@Y z`aSq+W`;%+UtT}{W|mZjFDIO_asp>`0*#sgT9MbQTG0uLWxbjymSbS!=ohzu-OnS- zqht3y0(NgPUVr{+yldLBh3qh{{p|dsj~kb6>wb3Zv2EZYcrI0}@*OUPixks&U=(Flb(73y`1x8rk*JE#`f+%zx+!aM8Bz zf1UT(Hsexy*@vDmE(I68O!myg{=Nt8$MSI>{{C(XcL{ONLIgR5T2jMO9?1|tv&Q3& z#%GGuLat)^yPARq@<&R2CH&D#{iVo`<)4@{Q9OTO^5#7Qy}NJz#I3vfKXctAfIocz z3Fs*gN5O<&ylELw)J)bhJRLd^oO1sjTg->KV z6(cR_QQJ*6+f6jaH)}l?d~7ijiaOavY%uC%z<+_gs%l&>f7z`6gDgD-I`rJD)=R7oN1|KF_<1TV=m&+q%_;S758^T>HV} zeZ!uz=>nP|Q!mJ`^+mEb zt$4lJ?~7_weE1PDDk#eL#pp>M8$Ccu|EgZiX}>uQXN)(!im@%@RlrTE{|GLtiVr_5 zigG~wzA}qv4pQ6@OX?&cw3~qm`2CN(256DJ$MDT7$GpKtM*jOBeT`Rs2^V}x_ReHp z`uiW7(67I|eI7EENj2}nQS(XUCr>^5D<2}@Moq(885h>J| z`AKDFLeF}1p3DzXBgPPjq4R2*FO~9jG&Ri~U+!BzJ~!9gfp-|+?2w(=uB=ljg8sfU z`gpv6V~1lpcu9|4wQy*Fz@H5aExanG8)-fE%?WG3;ZG+0j(~LnGS&5!%KGZ14L;t) z<0ta-qQB8vGL+xN6t`N+n0h2r1(YDcVu+O*1q0K~lXb1o2gulb(&iFOCWEPDawUMG z)wu;imzK(P&0jAeJriZv^is_U7-`%cfxGvMT1Z;u{EzEhAMmvUXGxTJm%#Ge%V%39 z*{|TShkGMbzI5HXksFO)dIH?byrkH`4GTnfSVH@GyCV2%PacrMns~~}KYvJgzprAv zX8hHra11Va^G+*b>^}K9QX>#T?MK$HkKbav?Ge#cddTyy3rRWpe3vsRYX9ydXhH-f zRV``>zNp8lBm`tC5daBi0>1K{bKiRTz_E`ker7osSo!RVJB$bS{pnAK{sgPW&x|v{ ztsuDZXU{(SvklE4Z2ZKyz0Ri{WR6nVcgQkMv5q@*6R?>Y9}{OvGXCPxIZcNkS1jc& z(h%t$8hr?heRWWut+_o+Gm*v>oXixA;v!CAlZaV$ipNVZsRfI} z(rH;@ImNQea)IS0%SZ4_Bk_b2B}~2eL?u(I7F7+CTrE~kC%6o!yR}4`SeKgAO)qN2 z3I%WR=&3#$919Ekyc2&{%skUT!fg$d8%`~iDLLd51mD1ksb-A4x$=xB8;H>$Tbij( zuNFzf;i?l;+L^%8_@-U#rlONadS~Q;@%;({^ zjMKdwLB1eCw&+Qc13;(km|502BD;}2*y28eBw%cpw-|K{+ ze(S#=yJV4(eEz1Ua+73_qVv2bMKJ0Rns|*fZkvr@lo)KYng~X=CW>IxccnYd zNkLDZq7@0Oov)SZ07k0(4ge#c&1;uVm|OQ#e~aeVQ36cUctOoJYX8YtTkH}Ejz zX_$ofvioT^Rt#?UZFRT%z&){^r0(vX8|_{E17k(g;@&9EHGzAY7xhH}i1sZqn(!IP zo*1|X3+7lXM~CNjyLG(7SmA4TZ}n{-1ox0))0TG>Y&NSiW%(7eD!~9{K$^dg@OJI( zL)^XS{UlNp#VI8Kr3p5ku2kWpg+mA1;HhnJ#l)MpELz4CP`;ARcGi-e>oKRkt~%p) zbPuK@K1CG zHq7d$>Ijf}rc7bf2!w(W~uAGu?H{zJFuSKm=ArMFF~ zn>NK3Z?jM!3;1bRrI^<(m{N|A=Q}a*nEDRoKR+{bi@8;P)->+yJUshlPb}tn)g6t= zZpX{A$L)Ak)>q$#MH}We#4yS85z8Wybc~bSINk@VA=UV^77nRERzt?u$mA`M$c$`} z6ESy(n6(7MU*tBh9A2T>d>q9?cAm_nhCqPwL>ERUU`&YSy1qsyCLJd+toe{f*|$#& z1XP|E&plTTH_hIZIGg`uHa5ny%DLx?Jg)`<;=X-KQ&^t0DMdm~OMTu9K7!wUic&IS zCPfAZGBy-D227lQO4$U^Nf3JzU|8+2dCDq5Mw;tDiogrZqNNO8*&K5*Rgw6Ot(g2( zt^6r66nVuqb}E6zDdZu;X`9C-g%{;jym$gmY$vh41k_uW%R}lj8z-iExJOg3S~msM z2ov-XI(dOl#J!$Cn6U)1w}F3mXGc~|XIJ()T*Kpzd8_9+#)n->|H^Dy&9%4ZPI|~# zlkQKY`WKP}9B!e<9DOGia}LcEYaD7^j2_wqG6M?-GBlxBSCoz&!_U@Yju6MOWg4L} zXT{7pA#%>1Mb~t+U%O~(a#6m`VfQ)0-RG@1Ybfq+cSq;!Sb1(w*x|D~+VYDg(cw8g zy~Fv|iN))R9oc4I^U^aXmbUA%?CDrKv3(Nn$aWOhEuLu2oA3IkOc8}JRh=@edS^i= z(U4eVw9)Ch4t>g-5GC~$B8^y^K}VtvGIfk4a_gq_r4Z+!1YDrVRwdVwA1)3glWJgM zcx19tD&%s7Qf1MRY|bvaZ9bG7C=Ta4vJR{Ky`Exw4{+PUZ2P`}HL4_K3ata}y)h{$ zxq8}*Jsm59>2PpeYmh;FIGHII`U)*gJ;M{1rqgaUkx<nBrN9@^IdsI&YNwmZVHA#OD3F-Q-w|Y?&FQJHKp)A6oRYZ$ePlm5)m&L- z#-eXfj3pDZa^*XGV4K0aePD^Qq3#3gX}G{@)MlEZi8Wkc32|2w$6a6#`t$y;m{I=H ztrK};eSV@fC8?sQN{{*T0dQCC-ckzOo+=rqE1DM8faf*ELrsgLH9-PN$%+n}&aZA= zm1>U{CfnL3iSMi1qe|5E^*?HlXDXEp^?ZGa=t4o7dcMx&!IaIqVujV-@ZGzF8N$!L z826#=piC`jNe>|LaZuuTXTp7=SgMw0kjO}YTmrJ1A@1CCEYRws1QE>Wj5y)*5qT5! zaV}j^DS!YS?1M$|AY)oR5SNXsbUyJOs$A+ z79e^BdRiR6@;GPCp~utlG+{*(ag#jIrx-9rGE5pORdb@IMC_y}QG+vO$kOTSaz+IF@6q9K$gH5Eyxevk5_4(j_RiYHvFi zv_{L7ImRg)T05FJhGBKDJL4NZX2W@gu=dwIr3FIjQyxDX);<1^dKO8*Ep{tz=>hyN z+g&1u7(A#W9zcdb=CM4niFGqP9*q#gDFHh#iF`!J2|PoLb@4vY8WCiN=ZR2ATcPQ1#-o(ma}srqe(7&mtE1AAXd7P zXBx>>ZKW=|4MBXis<{1*Bs@2!`NA=eJ8s+?^LWE#3tU6c26;y2c_kRab;zRTS9tt< zjAm!>69^n&G^;EKNI^Wyiy;}`zl2FPWbr%jFcL?7)D~MM9zPV>$3iQ4fmR|QFpN{S zb|poLlWY?H6dV@*6kcXz23O}1tc~I59op$_ z;x}dazwqVrN;864VvD)6Q{>XtVP+ySGVaSxFaJMsUu=E&bmc zr-RO^qu0?T7KtFBv9lsErRdygmG*=*aaPpOSEqMi!Oo3tb_e{^yFoyG-K9do1>N7! zdOfw*4a`Pfu2mZ&#he@8R}k8y7Yux)ldPkYifQ)u~Qi8a}198jr#4rM%CZ0~X`g8#?B}Ojic~z!kap z(W9aK)7j1}{?&Gsrh>URNQcfapzwl@*5{a!@xo79@eQO^=R#ZmD&&N;Qxbf5*{63%m29mpx zZj|>i? z3kDnOcnt5J{uDkQ1q~sc_7jvYXkw z;0M5F5Yly<@hjug#z&2xdA$wp@!gzH(e^$w{8xr8$p1)!dx2 zd){$K>s^-9WO7J07Eo8M)2Y8!qBoJ~o!grL@m_E^*0?3Xq3HNBw)6@26dr1m?C-iG zF{(H2D4J?KD?Sz9ynB$I`q=ENYxu@A>BJi|@40>`+iD&H`|9_I6XPrR{^pvu8b2=c z{ebG#Qn+^$iEpK4GewftOzPS<+aWIF#4=1BEt&-PO~mQ|(#7@p@*{BkX}jGFy~%L!5^k8 zZv;{S{F80AU`$gaDHPKlvU$8B$wobS)$dOS0v`_Gr167ShqKvmq&b3r|3}&XT#o4^ z@j>#Nm@vnqkn{kpI-^cSbqy-jqP{VGAW{m4OOej+!wbSBcU^5A{8VEhVL`&R8}RYF z@5VW}6X$9-bnWWe)k$^R1Xr27n>NdG5~qgxR`W#TMKoXehLlC8d8pB{P9dnt78zFn zmoUk7I@6$4RSJaSp;HKE%2H28a*Q6rA|h|PO7d~|J&(F|>vP_gn1Y#s6-({BJ>`3` zr`O|mxq^Yr#0z?o=dHG-%Yn;^MGRF3QI?BGl7f%3+v0H>Yb!t?Tjib}&dv&uSkhuy zikrR(0auJ?8I=bj9}bIHHq$xC#ci06I3TpQZX6O|%ipOuLlkiKZf6%FNn^pNuZO55?gCuiyG?VPl#N&2H_jR#Msy~y61-pTL+tk`?vN?25Yx9DMH4;j! zG%h!O1@wcBVzhki&Rimz$&IFBnwp!uuPG79QkmRl^hSw4z6n@^k3{$_h}>x4OPr*kS{62II8|0VNiiI^VKX8ytK7`E{Q`BFdW$@LWnaL8Caac^?lFC<2sM$*BaM?-S}D~#-nInIbF-r znqN$p`x(gD*jkoRtUQ7?#985sB!An$dHCP>S)eTlUktVd@Vb`8YjkZsUdzVw`8a$r zo}a!?VjZ}I)xk;}CIhGR<17F1J+EXhAvgg+q5`)X~_BD)*=2#q9 z=4-X|SjMp|w#~A~a>Vih%bk`7$jkx_-eT$l+*A&m#X%CWt4gEQlSZtuF;ncPDoDCz z9)mPb8bX|k{&ce*e578CcvHzxqnD!?rsR5>yD=@`_L%csqe?e?|h@>+1$^oXV{-QEcfcJ7$;xTg=GMg679pmE7yrPPmZ zn$EQ?-GdMIowdAedIWtUH+gEwxTM@siRW_Y^66WLJGJ+uK)w z-b8%w`_50K>MQWg^4cBiyYP)}=$yXwlvQU_;mb!EC!Ly^WSoG|{4O@H9Ue?yO z?CjnJ3%a&UHfdTmx23CE7}*<7%<1Z$=XUpP>u375^nsyN^1$5r{k`+ji39WI97ts# z7LCq6Y}P|oMit*w-eBJpil$9v@^9hM#%3lMIB3~M zNJ=h8sLQvGXRk2gkyI)IUWpKc^miULv$aQ4WLhlMu#JC~U4d?)C`p~fau&Ro>PelE z=ZG^6-jTEc(_)j+iLO!V|!-N=lmhn9?H zv!hFf(oh+hy4?7zahvhm`5X(jfMvghuYqN!0TzHO*BY;V{sH5+8#rKH2kZ|$1{|xc z@N+3#!&QAfN&H7MiInkXZX}Z(nHMSVPH4A}fJy9C`n@T8&umu74nxkmGfm=_?XHwg0$!S6hI z@SszMipvZ6_Q-`=L>u>nJ>y!~Q}i|2fRGQhhj6`~>E}J>6+EqQt}(}#!&R_3KX}X$ zl%Ru$LgEbLN8_ATQk*eOQ&hXxDtu_Qruk>$!IBu|#7?%^GS{-$vevT2a*pLZitQ1a zEpAbhY%^+gg6`6e4?(HKJBB0@tenW{>9XE1f0z~SwwQUZood2K_-B;zM7L7}%DJA% zC-q1~N9RsP^xCf!30{VIsv5gpayTUTFiDL+`Rx~6Ao~K6qIewm_0pYRA?fya?>h4Q z2AgdIIvmuV47qEk5Xh5FAvfZ+pz-gu*W95oQBg#At|-4Qi?y66%OZS1RE(=+nX6Vg zS^kaemS=t!C}gE5s)AGSGvi;HIgW%?qjqM8>M^l-i-b7?!kZC9qxFrb*v?q0s3kIZ z34n?R3tmJoS9fy5xey@vK2S= z*`_=)^0|?b%vth~jF(N|l0?EdnD`C4HV~NJ9e{UBE-Po<&oKLOI}A$u?Xqm&FB&`T zqM4OKDv52xT#@o?=5gbj#!L0#@-|q;-ZElU< zjzqLw3~5l@Zi~bt(sseRLn4_S0@OkRJCEX=AG5(`ar$qu>{kqsKpR|$3#Q~rjMNon?umk&4>eLHGJ`So&e^<=OX1u zq&z_2N~2DnFX8jOZoHlgZ3*R!*Bzm=ox1J>pK|KpN6uid_RBR())>1(lByFv_`y&v7YaGv_Bv``BOZY6kP}56 zp(S(Y_SRCMb;;SrI`Evs`@KspdHH-&4@r)2%v_SkiOK(8j^4y=O|huB2e;vIU16%taZtYOlZDPh*}D+cj^g%=P@o7y4pXpMt! zff^SlE>dyOe+cv?x)X_RBi(&_*YdN`+Ga-XfnD}))vw~;Ap<;ihydL_o#>7qB01QL zbH6nH2pnVqD;6{R7Xq#|OQ)MCrujuoKebsUK9u8@otA@^n~B|#Mgx7c6aEPgu9>>m zL7L8jdMKNPrD7WSo6O#~lg>btzaBcBn$DQrga8lG_(2hhFhrs#=%$H!eg4-p14&m9 zF^o0m!3q6So$XXE#LQDWolK`87U0fRtD==?v;wYO;^_|G>WJl?w^$t--stuyE|>9H z!RrLVV>q?Gxx^W3bKXpkc6ECkPN!pu))V@-CGJYl?UEVM9bBxHLyR~&=ghMYp1OAR z`%;fe*tl^*Q>@oJT4T=ZL!BDl zP&6gml6y&T>eep_4&8dugd-ny+z{$=FVbXLb7Whx$|785*@RnTkv%o;pKyD?{?j&h z^`w%QtysP3@XqZ6Lm)K{#|qTU={Z-Pd}4KGJ~HOoy@#UJE`4SM$ho+1PNb+ zIgw(OG(3fv|C$CzJVkWDqzx1O1gGKl90nDlmM~FoiL(vv!o;I10y@g36|!j+RNy-5 zwg}aJU@E1E`aFfjfeN)GBDPzmfM56W_wbmwCb;^f3DI+L85-L(L(LQtWWSrI@ND=g z^a@1{ArmeY+*jxZ{(@D#YFa1}l}@HwhbU3N07WYyF`M;xMyDXfe91IXqE)6VEV*)B z%Qj%zT@Xb*&*}A9Q4-j~L@JrVGa+Sl%q@+Njmku)oZ@K2KRRY6uD~6Giz60 znaY@Z*RH-IoyOT!Yt6mz#mQ4sD45e&egaBt$fb&Q&ST|?6@XK)>rjHoic&t8!b4dV z@d1u!Sm+VGB4kB2X16CXYY7oCH-H37jN=r^8O?PLHMcN6(QWIJb?12PCa=G@HyV$m zi!S7{NqL*wfdr@MjVPRG^@&VObM;33-cZsP791LsVe=^+u23Wdlf~9Tt0XwQb|%nl zS5%wJYG;u@&?&d1noeKXHP|+sWV)HM?h3iABEw4#p7V(wIpS++=0(-pced`5Jprz8r z<5wZL?22*LdQb7&9wdaIQ*8&l^S}6-q`jtzM^7ROz#k3WNED zUI1k!-~wBv!ID1^R$PLNZ#Nl^CZ`_vF^W?R%V#!~^=!PoHP)PN$;C#ynJ&zju%5Lk zQIvaFZesj2zso5(7>4uMIBP033Iv4}1(!`^*?{VFoi@_iq$6LjD<1iT-yie@e9a5} z;+%cAe)cohp4KkT+53UJmL2>uxcl_=>#j~`v+1kXt^W?DQY4E>-E|vQF1wh_yIs6& zq-MzV)jeO89Ye?d<$sJKRX9yyc{v|0lK=i)flCGng?3L%L@JSSK^ z_;`$EeeIe=I4U1t1O>A0KtK?AEAMNG1*@F6y!)CPhC?COTz5R4^aMNbJBus!Y`@*Z zkwBYF*r^DLCZ|Gz6~<%1FelnsUbH71EaYLrYxTGg$9VwoN|II41rK-1^6aw9JvO(x zYTo=-q=lAGc$+&Wol`NTDh&=-N9HZH*_F0bVQ_S)KbX{ViSUL>Zb_@xy--p;uE@pf zrp{?``{YnmNoC8)j<)i~)5_VF2vU$>6CJuAL3~@B_FdSVTZRR%kQKOYbh=~x0nO{M zIUvvQg2GwBT@!t+k02Ys&5h%D+!$LJh@cQ#$@@JXyPaRl+F}lSVoqPL-$x$~Hf2{V zI4ha#%y!tVtg#`jI~9oR#PEhu-BFI`-HZE6xg9%_sjn{MTUwiwDZ9&)Y8qZWUX|vJ z4USgl`MbtOSMSb{lu9nurzVwidnC zz@Xp8@v(-k0lh+PB70_HfY#0Q;xl%m9VRBMc3cZ!jw_{#sU#u?p(R4J2&u@WJ9i8W zjm^`lIjtk$%eO3A{OICEEqPy{L(5gQd1FHZJ9eVO>9Fw!GGz#y;qs%WoQ)eN#&o5kT5S zOCF(_){leuT&+3ka=5H>eRH#|^P5>goc=?qX?|;Nu6KbIABZ+<;0@z1tM0Gec<$gn zc*@YeA%9Qzrqh0X+NSQFnGCWL3*d)|jWEefZCJ8s?XBflAlV^^YI`!%y10<=hdr$$ zg~hFzWV~9`g(9;KW!CEHURuH3XJ~DYf)~ z8L?(Yo++bIj{-WBu;;BuwQyL2)3qvk#fWlDAH!Wq#D^I7M8P>R*C`p(FI9)Q`3VaVh9{l!ljvZpT%Sp-0IcC_*{`-9> zq)l%jVNv0)wNNdAq7T$#O#g4-6Z!vVi~-u7SwJyThZ|VdH+0FOs80;wS=V%{daU`UJj)7Axbc5kzs* z^bWtx9B4F5)eN*$RqNylltqREw{ncQu_I}$Om=L9pO{|h@^S2v7;KNj_3?HXTf%Za zl*H%YbJuN+7YgyMUT2QsYMW!Ntugp9j>$Q_bzLx#LrL7dG0WtC>vwE9(e2psceowH zgGX<_KfWSA_uSFUR}<-v*^@R_LbjXE+^Fjku%m5&Z0_H-(c_Vf*Nrbc@X0U6CY$G; zJ2(DhB6GPtVO-ZVZ+Y?+>BDWApD0c9&^g5Ec;11rg+rfjI335O%cic6FHJbW6}S)D z6Vh2z*Cdw4O{e3~*ag@3eJ&axPRFj6@fOe5snc<)d46-l4*oE@iH;j?OOn{dy<^yj zb?9nFV;fN+&99JP8{enCjjj+irIsY<;oujFbngqsR|we$50TWEPtxx(EX%+{qN6rQ zY$(w~4oxzC{K5+luuK(md8o>;AI4d77EY+W-rKlsS|~PFmf9_n(6BLL_lD(J^Jb{Q zaFuo`8WtRPvmU7R`1SXL4)i$h3ovl+0Z|J} ztDS$kQN7LA0X$_%;#7gPa<86awaGpQaqE9GTs^XW{piicPxS!zDsNNl-~$UKpoRY_ zZv71$aq92JP;HC_lh#DJ0f(;u&``3Qy5u5k|8ecxKZd(5Rx9fJT&~NEZ-P4msZ_x5 zOXS{L)d0Nn7qusT0WY~+Rj+cD)c4hlbU9_$Jop&>rpDWsQ{9i<60lfw3TRx97sBE0 zWMVW@eRPj2Wan+@h_euPPG8_eXM4#iUT~r#Hr^h-z#UDHqj(42?QEQ9OGMpu-G4I%CnNQ-ok?2=4%%r1rI~^L#tOAOrLvL}0|2WQBYKgk72Rl2oS(SEpVlak> zP1HHoXGQLa@`Q2d2_@`C);axycdR;P+2Y#H58KAiJparw+ehrXSFJgA%BtOt&dR!t zuWXpAblx_4?p6Cnfu(6~E;n~MNd#G!d22MTg+Fxab}Zdm*}(x;@J8)>SN9CYqF`0e zRH-!8v*ixLh2HUjvp1}(bmHnZoISd4WMtpyZMnJ2NHsXQ&F&50rXmDfTBu>?fu5#) zJcUQF5lrd!Q5irt)w&HMfp^&pxZiCrK%#{gwS-QRaxtUM=-F{iy2&~&G z-8ZaiU$&VX#mQ?N*VKfiQma*LYT_Z5kLe~REr7v$I4C0PXbD$s3`)z&;LhA=ZuYdy#qOhHcXmBEb^~~&>Kjq*nBPNHs$o)$?(%`hi0S=8X?uw2BouE4OIRz}V=y=U=&X!; z#;u$naP*Y%c?S-Cq5IC@o!z%>mM^?H=vZBdw_uuuIIGAY2t~U;*50!i+*)2bzwg$e zje~ZFUkR2wD!QXEa%Mc***)62e8hvSl8D^BW9i;vdpPWJ_AgnvxZmj#Bq0{-?7p(Q zGa6s=4R|(RyXl+YQLvNgaD^PA$oZYfig;+VTK(B#YiBy|V8m0wfbrX9ygYKwfFk0T z#BzQI%hUIHHFBW67Gf`9r#K@sL2Rn+6@W=Zrag_xh2HJ~K_7V1hyRQLoPhr{*XBO7 zXZDt1pS@N8Zaes^&`qDzu{xxNEQ3T|Pzb*=DZIegDn#P}^75 zHZy1F!V+KzkC^?(XAD71i>bPnDOWXKEuw0stZRIkt*YfjCZRy26RSeveUq-L1NF&5 zo_YAK+n9&n{4*=P`4;o&TO&7K_l<9OZd!QLpYa-eaOF`j4nPom@O(}>k5TY|CIjv^ z7?N7t<8GS`bxmK3cF&u(Aby_lvF@Rj^H&VL0j@XBd8}(_#r%~+XZM04Yyt&nyge?l zO97)O%(XTVk6Z=SX3I&YUXcHH z;Pv0uKJ}>^r+1+5PQG;w_?2FLq-V0wa4udDAErUoJFupc0 zJz&zxL-d+tCaGlU#hl?fYEMdy0OFVyVp51%p2RF}1am<+pTeA>IrED527r!Im_5Lw zKTk-eYKGnBctSNB$mCcGC!~TEYRdt*(P}d$AVfzHntlQy<^Yjgr$01_*#KiXmO|Hp zU5|A?W}L_I({11TejB{FRZsRMd)vx^SX)@ZSdOZ#bYRH z+f|;Kob`Y9iU{ZqsD3 zT*?6ID#a6$oWbN8WlHt9r+O+wPov5qR5fiHF%_;>Qmn=j)DPka%FOZ44;yDPPQ3E7 zFRLxyR8rzw0wvX3&MFc6k5FZCSpciNC3j5tvhg|A#&?8L@RXMkw>zBcFuq>;CKC48 zI7xpFBH-3?-bVlco52y|<5IIwRp2tn|K7- zQLb9e`BZSB$T|Isml@YW_78Gr!nlDP6V;9WKm7U+Ymkizc-L`=0ZaEo4!VWA#Kba( zcG(+(?oaWbWo-7k9q5sF(2w_`9RW~8DU)_Ez0)$&`_=`_k+*JTCf<7BxzGRk&u#aw z{Q@}uzBm4SLg&9{XnfdTicz12(2#nWWx#R>IYQ`QYSe9EhS&mrlCRV}CAddSk z>E$WX?{OaY@G_gI@5P-t2kLvNi29Eb3!rnI=fvd;Y%`|7Rpo7n~r{#Ti ze_AG|I`CfeTOK;$TOPLDWqHo>!~dCYiC?S&2+u{nm037J*){@@zaQ1|GjM&xdf`VY6EzvJ7_^+JJ(Lg4lT zd;t2~07e-B=@2q;o{!^!Lq`G=cl#kJ=Qj^SFNACaavY4Xa63NE3&?840=;ClF#sUU zZcB&}I8n4B#3KBG!M4A%jh(!a7{AN15UK#ER@esd&r0(6MzZ*R)lg8y_d(8ZtHSK# zh#|*a5Cr@XxR5Xc$qXDKT3vjXPODuJ5zmlYBvYP=hX=$KxC#zF$YlFx}Ho(6sn8-4RNuoyk_Rx@+U^bN*KM+XOi zh8GWB`VSt|w_Y>YfA!WaBlgaTczmL2-v=K6)#;V!OyhT(jTP{4?J#IIegKva55Ir2 z=kQ_AW<51g5$DYlD--5CiAlR+)Q-H%GS{+<#xsv4h&qpV>amV$nY5q`Z9%%ztz(JA zSxJ~p$eqD_NEN8ZS(emnarXqXUp&zBgkga?et*@XMmyWekf6(%>4YBo(4KrCGBD~4(EYTHK(4VxenkB0azw$TXh z8!YEw-leX^EY`J}=pEbY38A~)+&ksp6GMk4GJK+e3u>0n=w@v2hFO@7HXDLqw+rAe zB%PHXt(_Lj=VS20n18E{IK5sc{IJXGbxm&*WLcGEG{CG|$B-DKPvGSIEr{jWC-8zc z+N=!02Ehq%AI}@Mjs#kn=;%mH-<{|{FZ$K#yGbx`v{Lm?7wrPNo1lwKuN3S^OQ%Eb zgYFPbRyN`OaS$*JP7pDu;_I=+E~(Sc<#gWdAboc;mSOx!^5!&B@dRTzL{ud@K?C6v zWNJaJ$ZLWQarXenCt9LFZkGB|7z_1>t9jx^rfNZ<`B9N z%eTVxWnp4v7e@PmU=x3ASMB(>)sDZ$%nFVm2MrFiM!ylw1G~cpK&&(NjaX+C*q!znpGE4UQnk#XJ$9qzOv~8> zhfXC{`((Tiff?Tq;y9KdLRx}gh+x(rQ%(?Tn|7jZskd4c4;CH*vx^4~(9q!#O=Y@N z)vFmEHEd^R9Jn#7ZaRx3!E*x73E&vf;Tn%GfGh`C8(h3y;CL%Ib1{-Qj)e=1$MJEI zMPFjs=`j|p#B_8u!aus&(9_eiEmkPZX={sX;c#;(b_^i6?Gd`|Yh|@)!(0crqv!#{A+gs*0 z8o-43WinVDy5lF%lW35}v}-zv2LWoB8Q^xD zp)fe6AH#vuPa}a-Pdoh$lIic=dirWt(1m|dJs8PG0%&mNAj$ms44kQLBqs78O42o9 zO(%eMmU_IOAv4|&OPac=P!?!FSNH`ZJXWYemgF63VcZlQA?IHIacVy>e@o)M;bA4+l7X*t*a1~6e(L#4)8Z{VH!6zBx-w0qtCeXlV zJVwXJRx+Cn-ZAsXJ1I0m9XYIyGS;xrbLz8Izs!wqeb$>uc$rl=?cG0AX`Afi{IW;$ zMPe=8!)bre8*;`YO5jt(Z#zyCbU5yv-b)5JbhS4=W$>RI=edhd6H=N{KnC~dR9z?g_k=w@ zDcb}5vHt=}^EbZa`Oh>c8_%SF@A=YK(?Izz7f8PR>^jBm5@~5=%1n5rx{$FBWO&kBwvbm67G`W7wl0~g% z#Y-ky^YDU3h4`;tvr)`1*|@NUCLmI;6eo552YnsCpRA=5^Mgw*J1ys04iM|^Jghp? z{h%5PLtgVx_nvBf=G6pgBoZd5gM`qD05=Un)Y!&tm`^l93lorW(;~8tQFT1d6M3f~ zQ6|B7F&A9bLFv+XHHt^Ut~i{Gcf|k@9ja3R5l`)NBm~f5Jg|U|)}{rAC^`hl(DgTs zN6l?8qPX2(xSe3?+>TF#ncc3EdU$+pENtcCzC(gljwVOPFH}|IiZjAr+Wz3r!5Q7B z9|DQ4I0EtRI3UT-M5l;0d>7;jIQc$JwUG9Gci4@8pV;F9>V@N@ z$*61<4twLQ5Q@#6e@HE<#tmo0k8XeHSKy4U)9bkGZ{c@MWP|AJxE{oT03@8m>!tCA z6ZnzQkBvEMK{XcJW%Q-`hwaE@P@+Ie8<#97p;dbx<|YE$Yd zdi{?xL+SKT240gMN-s+JYkU0ZwEySe!UrE;v}^04?}1B`1YcMi)cT+68#0=W7yJ+TjD~?5)#$v9d}6;p|kGt zdaL|ypC2Pk;))3 zfd}G(!LtsZHMF=nH*f6j`D0Bj)Ay3c`^#U>!*w99S=U{6kvgV-CA&UTT)mCdvu$-5 zls^U{jLxWYBxFpPiQsK|j8lNP6KHM& zXmDo!t^SqB0%mnPG*z1$?@cCqLFLH==KL)@R;Vuo0vhZ6{FQSe0;v~`~tu(0N?aA`Tb44S+-k5 z4kkV$L;@BdUVxgxl4FGE=@`qj1>*ndF?5bGW{kbocj--?PbRQP0q+NkjQeZ1!2t^W zz9Dz>#clU&oj;>tXscK!hOs7|FA6q(JP<++Q z&nxSPrF7M!w2#$Z)3Hq7h8J%m15;)$jt-@UmQHlrmK|9z>|9!unimwL$l&tH0R?Qc zcTY?Xrc#5G6W#U)^UKO|&%z~xiRoX)^CU1ayvwZW_+r{OT*%ynuCfFPPE~zyHB;(` z3rP3_&=1oYgqipZXt<-8NHwPa3eU6*tzNnEl+lq>R<2w<)LtnTzz4O?E)CpTsDM(T zYV450lCeG0lue`3mG7^#ca*QXvXpMhWl&(y>vg;P``vD@cd&5q%0unOS(-!Ez>Q?1 zU`!b2h$6T?y=BLi48(#$p}DybO?PBYJ!?yP20!x2x{TdvSwwx*OytN+jH6vxXJcvF zeXB8#iG&l+q{wjWYVrISY&JgjP2^sY@SYzC2 zbqIpP3f9o|r+LnJG#>8UciQRGr=PYj=M5WQ7)X8Tg>XCh&&=M*lCe`h|JbM5+1=UM-QUjq=J%WV{l32tSU0rfl_f*#09=YQ zdWX^I(1Ta?c9Y2tpXOclE%h!zU>m*%ijq~LW^H66Dn@vo!C8@m)ic)l0|EcK8Or}u zC0*umghI;OR-0M7Yo8%#fVGiMyTf6h8Rl^h(psH15h2m$v}!4iEGF_6B<;Lbjr~lq zgHWQKHCaj(!~lj6p@sxmyjCQXkyhbuI$kRq@d=yu0>SBZ3KwW? z_ymn(s{5V^)kD3*Yxs+3=dKZ<Z1k_sLxvGZJcM#)`Nf{ zT<_GEw<@!MJreV3rJ&6d1z(gSF`p=v$?n*1-4PJ2i-IUo(H+SKf7L80f?oiw5ouOc zj3Ju$cBS=|vV;#+SeJ}-b&V~tR)8@{uGH0bbmhvfu?5YdCl+x;lqQ*Ey|IWLMBzbF zX@n@%sxDa|e6E+_qGpKXw1!2iCohyx<8tK~LMrvcCvvF-BPwU2tXrNoRH=MwY8lF{ z(lQ|-H8`Pe`ly(vev0r1TBC{oj#m2}Q8o@FyON-$E38k?TQM)K4|mnXy@OBrYQ4VN z98DB!&AhZB++9=C9X6!rEuT-ybXQliof_b)^#Ly_=raf6^5hQ5z_4f#Aorl)5FZeL zq`e^7nZyV5Een^=sjQr{d|`_o?D592#;2Ai3H)(o-}2!WJ^q2AWq3IS>LPmvP^Bk( zeU(ZC_-gVsv}$|YZzg0c?vg7($wyfAx26bY)l5q1)GQ!WC1XbscY+KWL{N%m(<&%D z;?)TYx(Xeqy`GLLSvn4uBJR*JlFk%`PuWkSHwr^^BJGW*(e|g`u({m7z>gav#w(2O zh;b9h8Y6Ce;GK8yVYH=i8xW$R!5~IO!s0eeX2o&fv7%Wv4;U;c2n_;{t#H)p0Y`sp zGF@kkd4Or#YbHRNVyOobi0R@<0JuqY1%9O@{t!&wn2EI&CeT=!Ul42^hAq(wE=N+lL5|P47 zL6`}fP2|w=!ER3C%uXPsTR?lB)Nj!WeT%D*nI6;|*Y4c8)~E+gvq?91M{DbjxrJ{% z;f!X-5><{er%~^7Up{;3+fFBNT7bqjzK0h%lc?1jq0?k``dup;!p?76O?m;04_q17 zlFDs*|GMTGn|ykk#Q}gAybSzKOKR7f_{ML)|LsQJq$jrpx{Ay0eeB*#E1$Lb`$HZ) zi!>UHaR03grX4bPjb5ID@|IsN^9o6!R9GMh>=*2P78?21y% z&@)x*wCW|s!0*LL7<`h;mnW}ZKKi}U<*H3>DSPf& zUw`fCjoHl7xolFlMqMWXh+w!xdWw}SFS>iqUC%gIrEc;xH*?T5eQ+y9li6_1nL zVf+5a!T6?AD`VMBXFatMY&r7!@}=2aF1vL3=8k=Ju_S2Se$!y*xpnbMNDi(5{a=n= zdu(Xv*tOBuzm&N4*vQDSYZFuF6D^vkCPwsO8q;Ez<}zye)`n`4gvy|tDN{ z`hiwYlrdY>l5$uEd(S@yaOa%gJ7{s@ME8!2clG5L&5g7z*ypcx=##ljSvC%1h2@-q zb8;MdkZsFB`?>dg`JM|p;mmz^KXTW3Gm#0T*Ist;vauY@t-o~E>Y@3mdZ6qRjlqas zZxDE+#cHP_$Hsvc^K zyjzyeCk>8Te>?}~7Itu)gWMh6z_wFy3QKkr8mbk7DJVUh2EUExfTv1-<4l5nIzAp7 zk2CwzJ=}%NN4tsIH_!nXwtzN-)X18ys4E{$&`%(;SeuEYs5)d4*@AsZ_$Lr-Xs-8@ zQ8oaa6=jxf8&)j6Di%lgzxC#Q;+n6&{uJqB+t;*RcU9BC(8diLHZ5Ab*&Pb>bgv!- zG&3 zrx5i;yHZWju6*WHL^fBr4Kn9(d7726(}7Mx^R<9%RDvgiVay=o{U#i*=q)ertpIOV zP(w#Y%!}hR_!xNG8~dZW13=6hjk43MSou;kPO|Ju07};?2TPa5yh>duzl@&8@yZ^0 zaddJ{8M6MAAzXYZoj)P6OpwCrZ*zv7NFd>W!){8WWbzylV3eYPXCE=+1n+%N z87a@3y-^udJ!3GL41kS3&w~s-4;sBn6MPAO+XMhFSk~#Zd`__PMw#d|{)pRe6m$lw z-CGuO7$Gm1>G?*%#u;RfE9{H7{CX&AjTXD7j8K%%$G~$H%|P;zd*L>49cV7c082o$ zzd>8nD}jSZc3L5{I%RYaNZzOo{G_~D`4%|wq+b*{0lA=6yGDdszaSEZZ}5k629v>} zBRYj&)N(xXLW_1aJ1>xNC=kvYBy!paruG{_W762EtuO`rc8N(|=3SyI4^W&MU&m#( zWC>StpnmtyXZ;Mnj_~(r2GpE-L=WoFuAle*e0OmR599Bt2a4O1bHLN?OD(wbE-M)c z#IRMQHs4`uUKW$qa54|y-u-^l`}^<{P4AuuVmp=ZkS%^^=TG0?2jaWmN8`IcX!?L; zm0O$My8tA1f@jDUzqJc@k!#-G{Xr?F-^}4d>I@DDo>W zrzj?BiUtpajWlKZ%J;#`xN+x+6XWC@+(C}*47-&ZSg9TE@J@16xq%!dtmly(J2g{c z_0Vy&O4I&#(1=ikVwsYWMD+&D)9KR;MUJOx8&O}#;CmX+tcv8p6{|Nbx$na6u8Zz_ z;(-ggTASBzj2Hq2o$jzm6j~>+pVlqwV6vjn+kL?UPuzFWOwfJdeM|OjT;JUK5#iSX z!(&L`K$@X1ANATwvcNdQqY03=sACq8(JUFn!U<}5mtY~Zh$fn&A+q8OA9Tn~0C zKOY);K+WSD(2wBz^T@XZwUK$CHmtO$d3ZcrJ24C1Ap+I_ghEZ8(b{ctAICi3s#GBjT1D2zGE;4;%8 z6Zs8n{F>UPVbApXtVKYcY4wS&EI4<9R(Kn&ZWpPppi#a0@RSORz8M$uDt~vKj6|8H z@@P1xE{;3GS#ILfG5UDmb{-vr?bKK3yWq>?0SCIv5kOCZGKb=F1fXVQL^IVF>2&@c z!WsNM%z*pSr$?48;|7)%NNWPr;X@}frYo{;6HHq=$8U-Q&e$5qch`bNEl!E1Tm7 zUfz4MpQ-X{IrFypJE(*XSzSfX%eh1pkztUG{?wB3OrDQ(1+9fc8N`uy((y5~*C05` z{MNvk93KCs(F*t(8YuzH7PMGn^#`1S(PMT5ig>#3u$YVqO@k&)#_$E2QKAbobe&RQ zrYX^?if~y(BxGQ?Kn;khE|F1q18Yw85g=NN>+kPEF}*kgen;23auu^H!PAwqE9>c+ z*9nkWdK#6(9zoBeb~i+NrB9LCx@LYMG4680rwGSqgw|v#^U9ij!Doh@;*<-?QkfHq_?H6%MFXk4J z@0wt%h9ZUGV6t;D&c~DhK{VzDTWu=q8?USypUq~DQEf$b%fQ;^khR9?XJ4!W9~y8w#~)O|_56d1^nrh$R-mvk4S0;z3loI~WB*_fY)hG(pr&X+ohYhDtx zmmwmSu=@iB1l0zeD*h9Ad-da2^v%BN@ncV3F}t&E>)DrdU${Dx9=+(w{i`!6a(8f* zPrlZq*Lk85<8_kO63)%O;>lxATsgb%ipN)9Lcw29ZD!T}t1cW(gUslK>Vp-omaj8L zq8^>jbe)upJ5}sCjYjw-c}{8<@1rZnR@%+$iy&4Y=i(V4Rao^75|VK`g~V101hGZf z+tTvMH7#h1!2rIl*K<~V;d2HHN7VTLG#GF{IYNZ@&3Y?20?S&+Kd_49p5SDM$>fkZ z*<;26x!R0hFt%U!(cu1NbKVHD^@?8epW zwohRXo3^c6ePa}V%eEw+8my@utj#a6{m;5XRn_HmM1GBqu;tZNht}4gpH#R?axYY4%KXsRKkq+jKheEQIjx^1CY$i@;7 zCp+<=EC=Icr*p~~`~!jG`AbE}Y57a_e!G6-MvFz{MDU=VVo~shu`#`#_ZW&Lc%H-e zf6(~B&W5V$9Ne8-+(4c|xgx!=9$iQ7d%q zGJUF#m+T0yLkH0AqTMHzEJM^&nzcA48OTLhCqCsb>B>gaNwifdH(G$z2xorPqTEJT zy}*xgME!GomHgXnHKNCjR{RZRpV11oMx*Pa(Jd_f964L`!zkU~PwpHeQUi_UF@vIJ zos>@4Gf==@dog%LGBNdWCgaH_OTflp$^%;1^WmNqbC4+ZAMJ-E#lJuKr1-V6ii(zs zihzxw+5s(n@?DmbPi_IXY~pne-8P!)x9*I^w!~uVV=?6udRa@w4i&Ku{OPM-Ju+=h z*urf7Rj-l^jSzZr#Ij3}8qiQ-J!?(6(o8CMrIV9?3C5h|;>>TuB)lQij2*jiaPY=s zuc{k-$Zi7PG}(90Ew`J#J$I!4c>kig$LB7ZyUS!hr~h%2-EPurFV^aGBpE+>8Qs8b z_&Lc2fK38Dn}#zc84R<3KsIHD@j;_>vt;6XklA8JJ^a*orxs0$u7yp1o6_R8D7XY? zo(5#3vjKGGmc{F3mj20v3ZcaqJ?$uLdbfU3cxZ4IBg}s0EnlV9HwVgfSBZ2@J{IOF=fOJt0 ze$5kY(HcxPz#*+$*Gj%*ttSle|8h<()I$S6E?E$Df=e4rAekuk7Ea`ljw5es&`W|- zl}w~L5uas%l>!O@>g=rPUb=J6pEic-h2HvY?0n4HdIx>>NcJ7BVAkd z%061uYJnNx2zj6* zP0Q(z8j)G5s;jX`CJ00Ie!Kjo4lQr!U-aCl$J|?6+iUjRi2rZfj?TJ112CE*#*v&} z*L%@YkSi4r#bM`#c75{=bCM*KQv;iZxDG*BqR z=I4_M2I)ga-uP*ei>aS-nsUC<;7ta2Hb1S-P76=zs=EzIqWQwF>ymwjgdZn;ZE5vt(D>=5oDOPNgE}9oF;Hw*Hvz|r9usMT}z$K zULS4PJnib^v_3rV#38(tT(Oc~wo(-JntmQs&Z<&!RkJDq&B0elPPsxP z4`4TIzb`s+oLwgc$rAvnTS`h>3^atE&CZ$iuFd}Wfo@XS7T|36>%`ZSfgY3Dx0UV) zI$38fGi(7SsoR{CHXC^LDoIanAJY`)*e^tvu=v^uHNpW6ooyFHO7MspUWCcSc`#|A zuksibRE01cBzS6~HW2ferQdj(J->0)8O2~e1YXAD6jK(ATV23qp*z53rhCwZ#_iEs zPvIM$H~_-Ml60}&>@b_rtWaYZ;J7>Nc86WR2JVo|}868sSTI}gnK9`TiEAxR$6NE@$OmY1hPWX z*SFeiZ1C6BblU>~ZA;$jwDQrKvhI6)$?~wYeZiXZoqDStUtYa^TbbmMbyk=4yz$lB z#2dT&0=(5ZCvLLqC7sDkarfLgsk+veHZSR00xs|C!xw%){=x03 z;UIj`Un4@1*GZ(!TP;XScn@zd)cBQ|;c{nO~aIEj%K9D9!NjAQhyB#fLbLCbRaj%BOd5;s0>oUO_Y6r;^ z+DuovTuzR9-m2>wkvI*I%Dz*ChD#|%S`)-H98$gxeU6j^`U*a9FF1_13szqFeRp?` zX-hU6RaAa`0~r2pSl02r2b zwzn{((A_({b|D>8_O*h!b6T3#tp9l3 znx>W+_4UJxzB@8p-%wXGFmGvV*^c#Vnp@Ej&UJ9D{L>4rsiW@;X&)HPN!8_J8#}M zCfctDRgK>m92_Tw;PD`}P!1|Bq%d0RuqiFHI6Q81-1AH2y8zXF19auVy}xA7cMu&y zU2L8-OQ^kcN`wq%d?TKm`EX5!&NyA-5A~)J& znqgSkl^U$An^!&2)tGJX%r%a0?`+RC&P>g#shPKGu%>1ZJMySJd0+tz8i5i$$wX(@ z=es(R$?m$^1w(6B-Cx%LHn1QN!AN>plQeUnZfMm|{j1^N_VJzJXy^9v9gzq)T&!%> zyc(<-p4~e%V`gI$erKSoGm)e<4y+lTpQ>9uf4Jz=O1>A3H?=}@mS(5sV$Ic>+cfu3 z3>}8nTZ}ZIn!2BgJw~|}HQJA|z%J^VKI4Qc$gYF7*mNmcmD+yQP6?)3;!bLhu7Ba^ zUOTVj%{mV14G;+BcDbtZj&)=2Z(MgrWfjeC+_7ku$!4m`Yb)Y*aNGFyEp45#sF~w9 zsN<0?=rU`oTO4J+P|}?uC)+!@nVnnC#<#NO*2bC>X+trG<446K;cz}knqSoEe4Dkl zHr76E?8rD7vc!!Yc;JRfiUtPKUxb&QlI8wBqku)MuP(W1bGj zPumXUla|};9GDW-M4Xc6=@@zpPx$I+G%GmfOZmHHvvSBH%NCFZ>3DlQ-ae;27Hf~I zIHcd}t{q%8SldlH)%H$2h95D@vKfq6Y_^5?*DP-(DgNff#41|h|EU$@qhJ=TQn6X& zjq$cQtk$;pL}EsQ{P5N4x@yPv&d%+y&qjv{+k{*uliz{vNlc|T(dwdId#h$PvupqR zlyRNWu3gT%#Ay_nV(Jav#IJZ$et*gfSNUrFU4$CY-*t8;>U9n?jHoLMh-WH3s z_0a$?BXv9L@RRrnR%U_OW_#-@n!SqT7SKvQB$fDUefUG*qsJAW*%ryJJcrgo60jiN zHk(#M68t?<6?{T{?^on9o2^V%+wHd)FR~Iz&d1{HPMM2xmDb9r`jVuUE-p0|)#S@@ zn!>zTRaFeM+zsA}R@W42&{web9{f3K`LdU;fueQzIO(xA&_a50XH^Wzv8o5FV#>|I zI<&U%E4ckZ{P?_k2I1YMzC^#rVXg{|Y9eHGZf3C{PHCx*>E2DM3$FyuM0Hn|t~pR9 zDu^KI$WtvosT$}`xdL@49iD2Rui67c%6rsR0Malnew(ivU-dT)b62D3pc>qTBtxLX zobq>sJZ_^0KY!&Is4?*dliprt*Wamp#A@)8bd*$yG^FYdo201qBq-Pd{t;cMI;^_N zJ+E#KeGQD;-63aZmj{m@Tqc4sQzWdH3Bjq*q%p-xu&7gk0|Cr~n zZ|Ddk<{-{fbAJ~PTtK8t=9CZJTzDryov;Ha#0~#1t-WG4U zrFqXD@M6oJJuNpY{{zGp{7H3R-`jnC%YzL8*r!&aJRN8V!guUel5Y zoAz#8-_qLJvVP+)OPQhBZ@fW%TgwyI(lKP&wG?c7GK(Id*ufu{@P0q0Xu?YE8?)be zXEx)ncc7o5on&;U@pV8ox3IOWm%huQio* zN)6aSCxj=9v6azXsENd3=^+RLcBHc7CQNGB4WKon?Cd%iRW^f`1B`JR%- zPkOZ)<3&S#F%v~DDo$gggg#)Jr=No&7#77HSGwyn9b1+O_-O?(SH4 zPj`ArHoauy(u~iu1TW{L#@vckZ?9gSYm_*A(Te$lwJ8oh$farr7A)SfW$h)wU=SSW zYHqo1XJ^-*Yg-yS!O_f;O^fQ&OU|mUtS>BdW$U-CUXg8V%&u6yEuC_L|E{YUoWG*R z%Gt_SP`^HWHVB`0o@wdQ7~`jRqX$Sku#nLt#_Xg&JCaOxNI<(Iidw@(cpUN{o{!hW zXf)gy>>*pFk-B7oOM#g1+|dmh|A5!RX5~ftw=PD?OsHj*Phoe$qoloY5Cp&SBnmf! zMLpnHHyz+uY#1)a@WMR|L2;gDJ*E8_2e2$NX-`l5eL;dwbsmA5@UjO)l zp55K}I*Zw6^bA}wXF+{x!SHIQ*S6PJ-*V3As>Y_K##N)|ggSlTdvqy&rCo29c&*uP zSXo+sr~UbUE>o1}@}#XU*KA?Yuv8cHOfecvKqcOE0M&n28ESawAb&JU4;;Hc(VmER zB<@di#1rk`^_7?V?xzWU`GEu#coOR76<;#xdw`yR7o6cl?QCUYHfWm#+MqYl5gSrV z4aGVVpe*SdqD6*$$--88uy~GaK#(0~1@KSKd~Vj(tw&a_EMX!%h;Bi6^$rlGA`X^2Xz@+RPxs=zUO_4}b6g>JV3NxsRFzcMk=+u3>5 zi4zmxD|jB5fxiPg@t-?iULI+V!0(f*zOP(Lvgo>)M@g~E);@aU%0)?u7kV_Bq;+0d5Z8yR6h!^tPX)F&+I`|m6*=XvXMqbredqMDUc{$ zN;@r`r)>v-dXa*k;9r7qU{@xd0gfYJrnAP5fAR!~S|l!(z{h`UNLq9V>3?%WI`$ox z+2#p0x@zp-cA0Fhs$XmEqQ&xUbIf9f#_yQ%FT5EU|LF)Ao9l7=@Oy8_Ioa_y%>>+` z+;9z%{x{;6GcN(ntA$UUGHALVAGK7uDq=yf0{@9zuj2)W1K77lC%heP&Y;6S;hE7y zxa1zKXs)nKn9atdbt+2kyaZKlx+^z4TjQs^^CBZg3rSpjSFw(S41hJ4YK?0@jyz z&Fd~N@1ECH{>z8Az*TK`wO`*>l96sgPooQo+@7Lw0(jL*9A(wuIx7AYVb&59fz35J z3yNqdHi2?dNCLmN?w_|H(Jy!|UDChUYTed*&SrthtR(yr2J=E8G_7x)wqdne( z9ZfrX7xxiS?{lAPIdtf3-JDr{bMFRyUd~?;={A{qLlu6`ao6^pH{U-B|BPS0xP4}O z&&XhZ=S9Gh@VaK@%ELHtsP)b}TiN%y7(Gh9&q&reqzvm|=yHyzE2^rc5do!@ z+ln7#3)?EY>GyzJ7-8Q81f^qWy}`aaI69x0T0&}=HN7jYtuNb906%OG4-!& z7GeG#db#p3;m3qWLyuaG@-b!Bv%o+jeht(%l2*ty-~y?s(6D#5cUEwA+3ez4)Ad|6 zT1jMuxvaMkZ7^z8eX}SAO9_GjsPN7XdWJFabP>)h-9Qv!n$(Wf@;@h{)jve1{x&l797dvl%=l@jTdt5I)HB2#Ej>lY{*ljegRe zMWb<$(Wpz)O*rbHW-;NZ)E+W?(mlpP`%;Lp$A3xp0F$keKTQs5aA;=xHtGVit$ilV z;R4Np_s*cDOvhHC8GO7Wo{N(o(0nE{erc)NlQ&TIpCO9C^V6zj8QkHc^~8PCHpOvq z8r_EfJ=7Ad;Yn*adda_mK9_)mer|Ki%>ItHIpOfm|8JT+k6&!xTo#PSF1V?!W$x){ zvE<)F3lvF|*0f77>f*nn!Q94K_%G>XukIEg>b$ZJf5hpu|KDU$wrTlC^t&VIex;^nu(oZjgla>8L^ zI&|^!YX9w|$~o0{*9@eVb5+5c$||e+t8Z_pNY;R_h8jbpPC967R6hL(nm`*hW}-J# z5GlNo;Wu{^O>7Rc#v(Lum5_i1(khsWS_}`x7L~}b6n91We3Tks0Bbaxq+7b88+Y*{ z(ohrrKtkul+VE0Gxyx1VfM0eb-R^RaG79dqdwlp|@Fp$? zVvR56Bfod6RVnG!;#PT`p1$RlbKOY?8g!B?lTJL>?snV3lZEFzNe{GjyGiY_HzHG9hYsKF^tJFiPc4k~Z330wh1m3>vzFR%*S;_~}lcpFXO z)g-O;SN7r?b+TyYEZ{?Pd62VUpLtDrZxwvBs<)h+_q&vZv^cn!U3v*Q3jR}XkSZ+T zF*6seun8{mNA0O~nFeX^dp>%>sp96DQ zCFu^U+0z`Dkr?Um@DTr=)wH#j0ak^zT}tPm;Dq-Zh=ih8LK8x$Xdql! zUQ=0B9t}hhM+w9^?4LF#Lb5E?)Ym3ty2U>gASZf6vX^Xf*GNRPMo89MOdRyoq#ARp znyMlpv&TALFEk6$fTzJPXd!D&y>Uk{R#BT<>GPr7@@#6z^;WYT0g0da!R5GYftl=U|2 zy#0buH5BmpiNIbQKhS!?8 zO&N|U?X8obX7uwSsTl2t3=lNh2UG)ksQ(?3N_{ZlcR9-ZE;%&ePx%NJ!Q1>bMnj;+ zsE2pjJkDS+l8lcIuUs^{C+L=)A)nhTAF9bzHw}!IM-%>_+b1QCW)Jk$R;A*?En=c^ z^A&SriD2c78D6_n7vh^KsiDRm^tiU>gG}qr7O5&`GtM+3?ce=O#Q z1A*wc-c5MdYs&MmUGQ5lSyIlf%yVnN}1)`+z^E5p)ARvnoY%|FMHo*+u)wHd- z2B8{3NKgCrMuta8M}PK|6fK@ITQ&z5A>XV5oLs+?r>x~oh1XL1&+~f)PMsmBC6ecL#7D|&N%3q$9+%7Xs=)-SAp>ZB6UxR{ot2^K( zKRi*~e(d(!$ZrzIP-f3fvEw?3Ua+A^-E1aB#5=+wDSR_eGev$#IHydFLyH__+7dH8 z-;hZ1rRjI-dcmB7@~(8AVvtOkr?N4mfg?oY9p`vX1ml8$cT?&gWyvkSf@zgG5Y{+O zStBq~PJsY8I%*eF*@P zBCPpzBpes%mKR=C$tVI?|IueCDR7WTjbOAU(b?abFdFSuIbL8Ci?{Z)B#=OdA3k?o zxY`+u$DGxSq<<|@G;@`Z7R72_dyBeD?muxR(hfxXRII*Gz-RXiXULa`GzQ6!WKzR# zq{?hDr!!_NOP$2cR{Ig1e;*_xH${I|=}aw+;_B*KK2CHmzKl96h&&Mz`5FL<{F4PZ zDpRA~)1lB_!WF3nllDdNN%4|~deEt$aRy%0;j3IaUT4#T^UOq1Ip1y7@ira4QjqbL zU>Deh4+0VKT3)NCOXAVys5M~I^2Uaq*$>a|uGaCQ*f_JVZ*WeR@@Pjqn@D8iiDt$q z!HWR!M~yzoXSedta@@00+M~1a}PA^WNZ#(<(tVezu6U;w;KH4Mf%+(5%#KrAR-joD)$&9;znYKBz5oo~_(4IftS` zl0hQ~Nj^-CNLdts7GMP|6oFHXB9Nd^Tg6UKI9Ea_wr6LtL5HU`ZdG*phelJEo`iq%A{Ak2Yoi*s%KBwmV((6*Pz(Q61-JZn;# zF8)n1!qWzgFY~J(Px*>gAArsh<23hP65YUv3wc$?`INNY*bM*7G{va;Ztu^J9XS zZbo@Kc)su!8!$pSh}i!*a7ctha}B!?VbFUMuVT((f%M9q%#!-e4Z5mzTLl-+S*pHnv>NJ&X2{5z$Gc zp|oo4!IR-HO0_>C%jiIu^kOSdlqhD0n`7u^f|-mj$=XsJD7p?b74VgGSTu%vcq@m` z28XnqmIp@)e*x)81Z434CKC7sbhRlUI_!7KQKQ{{=z#7{yTcT<9kSa6tJZ8dB!@!s zA)Cij_;A&#bAeS0UI0)4TIGQC7(8^ud(3H+BVwiKNRm|1R*8{>L#Ps>vQ;pE1EEAH zSRVW_zE2~uwz8J!z4oG4Xg5O^TTS}md88*^rMXpe?>`wWx-<(rEt=gK*Si17a{p|7 z;HUdGuA>Gb>o)#oOwEk#Teollbs<@>@c6=^RDFGFXdyoDuFBa9XIHZ1uI$omcIjrC zWP=n6v5h7V{KFF96H;V^79q)9nPu7Rva@KS7HOx+cx%)8vEP(p&HiR=eN!t6)z=Lz zd|^a=q>&dE4%O8w_g5D0R5|-s#T$_XG#2kf63G99oM#(e$O4$Zg3n zMH|Y6z!!_R*sv%AqW(H|k8GV^`P660F3n_?W@$BZ$!(H}OXkRK@Qg3y^M$>*U)}zS zJclphE!y^>=TWc5PsX)c!g*H_uB(pb6g=gmdobPtL7{!WvXJC%(;S)jee&Ei*dtIEU)5I4Ld_NyK~oLQ;7BuQf>M~&bhcy+39?Z~oT2xU@rsN#P@;5!WauHh z6*>hoDg_v(X`GfQ4oWFV3+9~Yut}Cp_}6uk1KA`p!blEim4rF?b$T3pyc687Sm1By zAAZGXL~sM|@kw;!AJ>-|77G?&;}`J;uMUZvet03L1^9>#Xt{;MG&GLRYv7mLfJInr zC_^2xNx94<@0a~fME)SyFPq>+Cb@8Y|Nc+Xum%r;y}ZjL{J~_@x+UQck|Cl8`UQeL zE%W^xsh&4_bbW)o-m51+ey~sHG4kXt+0wGD*lF_HUTALdJhX_)}fUM{7 zYqf|or`_7k&nWTB4O$+FUK4+<*(zH^l-KgksH|58EN&ANx!G5F+yWBIWF0UC9Ks1L zbO!YN`+wN06`Ychp9Q~&k1f=COaiTDsXi1B>QQMe{W0`98fH2%jb-vKCG_#rmg5P{6nV&$9S%jhDh$@$l&ZWgAYjuFT4OA2lMg1OF5wccU*39 z*3uG%?JTTv=5iWBnU=#7;A*_@;Srt#6?h+;mr|d}!REe~X*6*)P#9r};ZhK1@;p>J z&4#BwWr>BVbL2&XA{xjKu*e6c*P0pz8eaDx$34jF@s;eU&ewz7H%&HWm&M86<}y<9OP3-Yx(xBc5_Zv2fd}t=(-?%GN$au}8t@wFU$Jjl~!ASt51O*YNjAWB;naHFCUw8ad%1lBGei zNmlt8%HeD14tRi8SlC`9_r@w|XtbkabV#Z)Xum@0qsc=SpV{oQxFZq#ey`>fI;Dty zx09jTl}62CLlwi*U-n<6+a%Sf4y_g|D$(i=)1uW#G;o6Fa7T%Dx|3P{S0yS6EoY$O zT}gLh(WXTSPa@rh7_neg&-|V$$Owhn9!TbLgSi~Mm$nr~%CVDloI+B32O;TpdLBGK zjiigCV{2Mk){I318(KJl=gPYhiLP=|kZalS=lnpP{7$85wPps9LeC*I%}yuksUg!{ z)1(kOHkQBwsDMG$$I@&!jUmTYr2Y=cr;`!qOAU~FuV+_x_pSrf__4{;Ijgh5=W9?m zsWgw~_z;&Nud|5s!7C8Y;{*7&r;>UGsSBRfSfb&&lXSbfYd5R-!0s-5m1nYIy7>k- z7AFJ3xg7TlumA82UwL~Gq%H6kE{Z2zG@WnA12v!|4N*)D`_Xq9s|I`N$Hpt@hhzL&xdYd8cx zMCc}@h1iGYfCsX8c@~V5Hh2xh#pYA^B5OVmAi;O7XdnbQfkbiz!hRG4_h;}5z_6hH z_B6+#IjrxbHS5$UG^g?&aY{TfP+ATv1y^J-HdKh2Vjp7j@U(og7OFs-YRo3O)RsV> z;vcZ#s*1eW;p@qeD{$A71NhuDuN5BS4X6x3?p7^0ugf5mEzb7bcHpeW#G@Lmprs=(LMWrqlrNJls;vtvU#3^UMd3PSJ^o8?FFJ3lZ;NxQW2+?x$CNLq zZSo$j3T@Z8G$9&8xP;ggrXP!HYcv)Yo1|wDThZ`TOG5`7!!He7kt~M_O_vq!$}Gu( zCM=-!KJU`BvJ(Dz*-f`EyZ!dH1D)OT;1e|c^O%xdk%Ph3Y)w_B@U`1%ftxf8lpI;$ zSLqBM$j0+Y9mpq<1xJ2TL&x0O55U?EK=b%}wePFzd=H~)T$)3+!mq(zm{nc@@CjufT%eqQWl$N*HmGY;KSHmeIMJ)hnJ3*=%|23B z3&^DzZ&OV+!py-aA~K+pI3bPQK{bXp0Kya%A@6k2Mob0T7J$B`#;%cWBlsE(se|W|oi5{O50LB*Q0)wpc2pYzVf+dB$kChL0M>I0V|2Uk^Y9r(=;ANm9oi29->~sTw zJ>XawbaKcQgyB>O@2^OMbOk#MKzSN8RFK>Xdobb_O#!Pbg1<9)86XukRFI06lbT`B zMd~Qi6u<8g_y>)X#^GU0>O`}m3_b{e8gvCciXDbfG-Sa4E9ec|Z6W;^!P$n8ZJWUW zf1oUutX2u!qPJV6kAY&g*qQwS_5G$iisI0oGWt@i3Oad6#~t)thq>?+g)&ET%nn?0 zgcr47Oe^w7IAfe1DxLjzlk3)n_uDd=3Uqf4Abr>fA)SQQ!T~EG%y81u13K1C`#?WUE{fiWQQ{ehJaXxR>OxcQ@ptNdwNx3{bh6qh ze8tB+zJLm;&p40gv0eTU?8Hs1s>_4!7G?N+K-_y9Y29zT$sz>Vhyk<*Nk6P}){xz9+gbd@Ppcc%EC6lvPZCt4qUdh(8ZsufkZqWy=hRBT_ znk_Wy>r{Iy@EH+92N;kGh!Rnpx;lVpl4#j-+Lg?Z;hka&h&)|OVCZHM(#{;}!k4R_ z>ds7PGlMc@cRHM|q$Ay+GJt$8Tc4o{5W21K=V)sz+7gGYpg+=F_<<)FaUz{Ngx>|d z_@N#kD>tr;uRH;y%J8+}%Kh;~1`uI54c@J7L^>!zJ%kbpCD!_NlB|#|gMyyt^#Z(Z|0+)6C87ZE*MVN1)9d20OD7w6#7T&9Bt6vWzP_6ykAx(s zlLID+={{3wUdw!S=Khlu=PCY1mZDtAgrY7+RuzX*BzjGjhR1^0O!S{2;19p`?C-wy zm7gt5Brb|CaaWlA7Hc#YuXOqy+ByFOO@4<@g!RA`$IpV^SI-B%MuWf7nKb$Dxk_hu z**cl*_eE|7^UL)!d|V0=O;KrS;MGz9O`^T23wy<=0MN#vOMu5+9kJOW)$YRaP-7_S zK`n(}B75Ng*P4wN_QkVk9ImCOmHTKxQUqd8^tkdQ_?7Z-BAZQ2+OMETSbWejO{FGB z;}J~vCOehJ$*FcBQ~kYNQ;#<(*9WP&LlFG+=fR9}w#jTZ!JQ`aQ$4tm!YYE7NxC0@ zndKLevm2%yA1Bu#KS}HWO|%H6FDH7;2zP2UP4hxoG#R>c1t%ukJ|zE|UYkDxc4ZuP`CKDJg+= z&?_ZP60(*Ro~s$G^;LUn{HP~b;j8wh20!m}!1LrlKvpiXxou#jE>7N7hu;EWa)FeT zlxM03Q_tE1Ue~k1${N3#s~JeKXMTViVSbS@iktHpy=4*|@#GRtF%GwCu^bU6hpjYS zMj#Sgu7(0M)PPrN25M1lKh_5;s{P;X%936wrw*CdM#Y8)h`P)+(sS` z+?g7zCR@CwroRf_R2{%;=(B=5gO!ELn`_{HU&=o!D3|hDEx&A;FBO=K34q>b@zuM? z$h)Dmrbw4ET&guE z?aq1bwF{U1aM{AOwt2EvN3oeNWoIIxu2}Jm+2EW}UOm3$>`SjWXWRJrwjDsHZZF@q za^d>*3s?R~-Ha#W9Ww_)O`#bvcgv1zkAV59q5Arv)Ie7!jhWin^{KwD_J##pSFgCpif2jr z?EO#Om&=>BTW9rb+VYFdn|fwhaersm;jYg9a*F43S)v?#zkX=dP+e`Za{Yo7&TXq7 zS~*m|Z4&M0PYY&t_HS#be{|E`n?{C5M~6o?nZ~!CHKTn->sebbE6Mivp|^;vO(Q01 z_;}tW6X7GzJ^~k)f@DTpl&N**^OAEIG z0k$_OZ#W!~2RsG7 z?6O%re~{h2Fpq6uLeO%e&T9Rm$%J>}=YG92m}#TjjU)p$3zz^CxXC-S(}RCz(;J}+ z&*wOR$V-^wCh+CIX@Z%uGWCLzAMfYT0p>sMU^eNE%;T-^Gd|>#tB0pMdU_}s>IWz1 zsj%KKTwg!DVYsetI8C_yKqiy?%n|U7%2^c^vljMNR`ynU@GNbF<`E*jYEcfgU5ZkYl8Zfox5&f`zjx-l8>R;`sOANr2~rC;IDxyo#aS8I&SezbDM5$^=S}i$FdPjm; ziLnsE8o6kOTQbaLQ8BAPF+dgE-BySHg13w}RaS%o9*0W`xJ*vRx-CnW_BFTkEm^jC zUAN!sOZ_+g1pf*D*S#<1GIkp$;WrwV$5OJ*5qSwHpd9~oLu1ZmM_L&6{S91sVSB1N zT;{ghO|F1EZ((;=eT~~|2X>?0S6SCN9{*3M2lboUTfH6t?53Dsa$Dx|e06+AYpj|R z=A@S__(~i8^u?DiShgb+luQD83`B#`nXOmV7V!AK+nU2cvq`kS0R93JJ9=k^$oDbp z{9&mLp{S?Q9kEE>3Qu%OEPFa$)-i0Mf6Bjgnn~2ue0r)O!+jz)O`Gtbj}0|zmo2)I$ldWP7cG0? zWOn=ehN%8Z#0d>H{lLR|TZ6!%wWk(Rv-lW3E=kXFdTGlqBwcBqTzwuJd7ch7Pd;_o zg@)Zg{}OaL{4RNphX>T>xKbb0e}K6EKK+xg-L`UhHlNQfCj)aa1FNK8Y?1Wbvyuc_ zI338J{zVE0r(MM|Q|A2XoKE@aXLa(EGwV}k1&~{5VOAx_&2*~g4!G$BrGe_=@US{v z0>43Y`^h3oH{A4drj9G4tki#5oJIb3F8UZ9&Pjb}mRFfo4S^)>WnzroP26*v%Vg`(52GTm;276V$o92qRg)|OsraEh=s z2nhR}YcR~!@h3~R*-)t@w6#wu`G8id9gzc@V-*cmj=Fk#RYQ4fOTfOE9M&$j2e!m2 z>Z|Pab&jfrirD6WeGz^&zap1gv7II{xi(W9v&(U^iOVwXm^rh9+zlB%|IY?ztd zo!y9F>@}#H&9(_0uKX)ICdYkyoGRa7=ZyIL=em zDQa=GLy*5NXC3+r4g@3a8}NX8$vDOD@OJS?uu0%UUm^k5o~ssdX4UjAb7XN5!J)tD z@Z8{zK!6-0s<($%9a6#<@g?ZE{1V!Sj>Y?OBefdA5cV9eKny`pgAGEmoGp=ksnw$$ z9VhfAYpiCy0Pa(bbDww>>`QnBmK8bW?b|NUo6cD^0Ehqk{Ur6x5Z>0meO3QBj zw}1C#z5DlD9VY*bDJSctR-EDzJ>L-`3b_uzA>0*oMPl?a@Tg%!_bw`PtRz`t0sSLz z9?^NXG~WWx1xWwMuz`|n6E%m+%Yn1NnNp!xSrhl8AE1?Z=b29AwbO}g2QY<@$Wq)f zrhLZa@uu>|pu$ZFs@fxgDFxL8Y81(FThp7_qVZhJDLgwkwkqQ?e`tH-y89%dMdN9 zqVJ=hZ~$hh5gMus4p7ejCd$f2IY>$8@%W&(jkPOEQ_`q|u*0Y8dJRwdU9vO0!ogwOTnU#uq5aeyceow#CtY!eOO2U0$hXk%@i$Fi++&!^GOT9SQ2ae^Doiz1M3bwt z38cwQ)29@vH|0bQxKb1+8Rsm_4`LVpHgH|Zrl{8@OYXQUv!-?9Se<6| zXoS>qazjJ9p`@wN+pLq2G^vbS*Bf-)~j}7hqrCe@zJb zuLjPzSD9m+nI~+Wc^C^^uhs?s(l0Oif(lop5S1cvpj>XfZv>GX;+^O`gbShhM994GX@X{lcEDhwIh{uJpxORCjWbH5IFVF_W@F2iZ$aUw_Q5QT?r2)Y;H5 zb;ft5Ps=rG#+%Kv^ZD7!=j8Kqni|UGMV+1SJ>zbw33jPn(-s>aP?+d<{raT@yc9zt z_%ZM<^Ktqz?4!rX6PB4zf_GtmbX2ob)viNC0qT+&QyUr^@l%)BHPGHXXSw;%W`M{O z7nSulOa-VPnBH@yHduBlP)kqG*iaAK}r31+-LP_J}&A{ce)UrF~T zll^J9lluAzL~#M!NnC?*`TaScAKYd7Wn-Pqqp9E~n_IQj!7GhBDZJd~c8?_cGjNAl zrG9m$KZ)W#mwq*_zy)`>d{MvadIEpd6&{1W;fiannClIVc-nLLPm2))Yck=b=K86< zOfP;jM4uNqvn^+iVYU*<=X&{ttZA^3a+#?A&3K}}p!$w0(pQIs>&|xX%?jnR;aTBq zZi}EO!Yt~9votEZ^=MIGl72}b9{}ISj{Y9_zA+Ph&1fYtO0YR-Tmuy2WAN`^lstie zhke=;^uzAv-fXtFd97ks@XvTWOM=-I~J0-vsur|1#6A~-?`SCn)> z&ky7*E;_RsrpCWHqxcI3h z3)lO+(J6DcMdl0+%t&OOdpetdvj&D1BzqHy-s!z@>?hmWrnj|?v?W#09?mW`o(1ho zvti>|N7An$_PNB4WebYYhE(H{tH{=I)sn`A$-=x9C&C{`Bggf3bPoLH*MptyL)#)T zV@DiUY1aEPsdIW;)y^gAM0*J52$#rW)F4wc>qlh8kliZjuZuu|31Y5J{}hs|Ps@l1 z-mqBhGI(8fhb%^)F=z?Nl{@=u*&(!yDG=POCW=S(VziqAr6jIQB5M-%u8Q#pzsXVvp++`C{OE{-PqFH+|oF^<1`ZIQUk!XwlJ@2N})X%Y0k{E6A(P4~6B%gFbq9?%#9{<(@TYX-EOP1|c#5r7`<(e7Ch9T=BNi`HrWjgMUfn&`&kRO)x`qzuXpriezB0P6?qGn2B}Npq+?FpUf7 zw(LNvl5bMR?(?VpY!DszBIXI=Nx|Od2}as+A=qjP5$n&S1~c%Fey9Env7ZGyoqpYe z)AcM#rXKj7-)WFU0PQ|w-l2&;yG{~yhgZKh;DLTJoef{GDL5v7Y_I64CX%&8+H3K@ zXqzHDPUSH;B*<44WmQP)JUT^hY9fMXP4HzZsHOuveUk9yWNT|uzt!$`N8E1klIa`& zq00Bk?udK?2q=Y^9zy=SLtpB$XvMy6 z7hD3Dy1ILdE{j`VrshZ78VdP(dvX@dr%!>8cwKU?yU#oNwyORA`n?j|{$jQtorF)t zC8m5>pQ}1r>$#&!ZjTMrGXazZ)r*$vE1G9C;P$}pV1HFEsIQ<}bH5YJtwIg6+V$mH z*zbjRYT@w7H{ZOAWW3ibFmE2!tw^)ao0p%}3~moJ2ZBw3mixf*_f_>knEKDW_>41^ zS;QPiagqocKplr*BmX`9aCQ6vW6I))bvY{OOVQLw&-QEYxZ~RGJp_X!bY_e}g108n zigxz#TlxnE`nMeaQ5Cqr=5T}@4jV7BS4&Qxv}Z3~KoJnd>yZLRmVWDkrQz_>3%<2< z)2b?#x=O!k0zGL@j;omh`fSw-zGYQatFghVc0%?d$?uf5Zr;+z3 z@QEs^(-e;WUweO-@e+H{9?9pFuEy{0db}a=EdRgp{<02R_5Il#U?F5r-A+G~B<&G> z79O%De>S=wEn#v@54FTO4!>{{)65iI^iXWkoc(T73v(vhQLZjg_(hfl5^ASrcHk2R zpB+qN1ON=$91-IQcgjQ^QfGq)ETU*} zwm3JX`cv>Md{|bkepkY&Um9(6V~_SlPY$F23c4eEz~f$3E%x{MjNu3i?>jXDzGu;b zn#Jj?>XH8jdKw)|ZBGtjym%eii75v=6XX~X zLt-Ac=1TU0L~F7{$Q!hb8(|!*eyr3Vis6@y_e*odjk01@+0{}p47`z|wAyX8+PKxq z{1d&o=A5@1?~tj%96HEI+A_OnbuSB}-vfvo)@5$1XkVu7wi2EoJGg0-aulIu*gbas z5L9ucvZBAAZEw#)uhqu7t@;N;^HGlX=YyeQsBufo}+N>n4XDj+yPix?{hh9J1S!^q6 z`Yss+pkD)ahYT_f*|alWK}mh0y@Bk-T?)HJ7lwrn>()`9_u^ZAB{&33$s z9zd=5JrMZ|CQa_O3J@=z1fb*IBohw;a*st8*0u_afEU0Q^H(JO{^=VwB(Er3Sv>#z z4e@x3{`a=ksTK@enZF|C_oo6=W=#oRf#KENpg(W?^uzp>$qgH(VE+o5mJEhMfh!AFBr_mJi&XhT-ab2sk5V<>+nvn z)E((c^8jlYtg0v~3m_{RpTBU)$s5*nc6WEK+wfKuIC<-erER5B+tL-ktODRG?6s^c z8P7{Hd#xxcd;WSRxM^G=3XHx#t`r3-d^6a212xh6C8j3pL+=bdUerl0XXynKqA_K- zpOa7%MC{3|1vW#(oh0(Vz}`+A`~?SzcqY6MC$GTSx^Vmo9It;O$>0VYQAUU}w#mv{ z99{}5&u)i#j90s;Y-H_>E>w{=SR!fx3!xI#9~c53d*gBMLB<;ndpDUW^jqM;^CoqP_!voA;3-fJA)M5_^@uA8@{W5Rxe62FX>r~_`Ag`n{~;y46a zAe@CpX9F|~LeN4?b>jpa1um%gwFLN*K0qpfKf&(bh9Qg2L>%t3m}jxe;SdWZ!@t5| zB)|?pQ>h*Hx6tD#TSseHPc0l=$XvzT$lSp&WzsdlGyr5`EfrItm1Toc6RK87$R$D@ zOlb||vZ$)S^awEbzm(^Dp{y5v8p>KVYorv_Es{0T9)VX&Hk+h>j3e<6>^6Pldy>^E z?IsS`N!(o)tJMNl)?$r2{-+u2xe(ms&4vs_^XQTGC~n71*u&3H2ajdKoRi^(eTkACGBos|PQ_*;YabhzqT}7kJ98omspVuj=pb*Jom< zAAX+z0|W5k0W%IQ=pUeI10<~;ru+3p=nrT$o`2Q5sbz#~n2a7%!L8;_tLC&Ub6yjw zp~;89S{Q^qg$B%cF}e4u|Dhc!%9%59n70?H&jCox@|tzVVd9?ZCgA z>?CME!7k$x9fkOFu|hk%563{9Z}e|L0lr9T(x(T70DMYzIAr}<5&>Q#u8}@6e2`=; zm*a&(yrs%($`|psiP1Cc`YNw!g;#Wp_0i-R9n)n~ThMEZdTn7h7x#%2pdjz=b9ZiA zH*fml#nb1l+qU!EPjPVl+!>1(&zQR&2Y2t-dCb~HQ~J}%WV(OKqP55D{EwZR)-9ac zpH3vw{ZkjN+q84%;0Xf*C!BY};NS^^RBQa4p-g6IB$u4jGjqxX%PyEQvu9E=cSsQ3 zl8Sb<4wgGwJ6k)-gRNcB)L{|&X@h39*a4?!%zCjyZLOPU6JqOW@V~V6la3!88X7$QB*0XmcV(AXdP1~V#3v+-WRFa668{a!dypAl-njE1 zqi8Y^MtG;o$&Uy?)+&6Wd(cbhLZ*YBzN_5Bls-RhmnKTUs1^}00EzmH&Iqz0qMfFS zk(cO+li9QV_<_M}Ia|ojp7+qa+0FSp23AepRdf_`4xx_=B$GagmzID3&hw|hnHS#4 zUW{?ma&~esn;jV%+_rsBD4PwfA_WW0bLKrXcTRI2lv*6TugUWZr(d)Ll4>l@&ARyR zNA5mDz2!xHd9XK`U3Umd*{owv!cTfu&tqv!N z^*jBYf%;f5kAGfDHK(NK`5FNHBO@dFi13=NtJAGK_Zyqm*<<~K_y^%NduNARe)d(X z8A0ive?!+J2R#|!bx(B(^azaiJwW6DJJFSrYP{zW1c&8n*?3RYeDDo`7Ml{`R6C2f>4S!)kL>uHNwc7^j_k2YEp}2PQ@7_-`}sfY z<^P~#{~voqd7kR;j608hV_c&XWUKTRQvn@q{Dil}``q?3&cGOwhtb0u><=|Pp|m#pFY;9tEfK7y|B^hEb)c;PCK z>BGSFa8=P1le{4Cc$G_24KySx*Z>Z6tt*$;bs2N8Q(g!DY|I%vaR~pwfuR$JhE6n; z;({XnfdehXZ!wY$zJw3|8Y({QGpUJR?Br}R z03Qe>p~4D@(Z9DQ;Z_I6E6_&#Z2eWUAuxyi(I|d6%+VGM>91l3{S-f3f7NUR%wga7 zP$kdz{nPZGbo!n6_nzj{G{4i>TuNsr@m8nPx`fCM;YTkaHsnRNKOSv5uq4?U@-@sh z?^*5?{)CoOo3KP*1);EjIw>9^$_>bsE!hnE#}v5OKn51|Pi!_Qi(Z%Falls{9>wJq zp=`71pO|raj>gRa_bMp`+$$hSliwgLp06uT3lfY)INDe=7X5~-NmRE4Y1ifOuT&2k zlSX_ZizuTmJz){d2IFOIUd_YTX+ZM8cYnh>`QM1LauPA`cakEDhelj)d?5&cvv_0? zoG8j33*ZF7_=1FuYjLS^8I7poBKFM8zw|vF$v^ZblN^g0VI;g5xUd3$?dP=Ig+Jk87iX zX_+(5)bbB6GZH2n1bCxJ>`d!_H+dky8v$YiHvmcwCt;0vgDj3PQJhzx%oCN|MOqqu zfHNA2x`GBnGUEtmR4dFYlG0VV`zCNVxs@KLnG-K|WUq$A1xtMyAO2PE^dGD6pQR{e zevo|6!{qYNIK~Dqp|O>{?$W<>d*7m8n&?RoQ*PalCwq43Z-$b|5IifKnDav|Aapw~ zGVY?%{>z9v0X#yA{{uTe)MpS&a0ikhU842e#QU|!zpmY6npo9MZ&W3oTBSSg$9vv} z!|0B9qd;^5*XWM8yZED-bVpOO`#8E|g-&@G-O(&FG2QW7#?La7n)&TY(8X=Bbi_eV zyu-4E)9f~Ri*4oE-C1H_wrOT_!}L5d-jtl&2D@zYZHOTqK;*P-@Y!Vh2F`gIHEHVv zzaAYTDrFI|W4j?W)Bvq^r^W8jKhBm)S*X|)&S}^GJ~$7>_)L4S+21^~DL1W|*S9z< zkg>Wrhh#8W&gp=R&B1XltHDr({R}m1%h;T7RmEH_9UtF7Z=z!{9yAT_Sf?@Nz=Qr0MQcLy3rj8FFJ!Yg=K6j=#0go?o;-tl&>D|Z#!vvPJy zLpB)-xOj&zl*lzqIZx$9ahd24XBh{39y1UkII(6-BeUe8K5f>_k68?4D zR+r1Gx2^Lhvb`MmNoIJ?ut%NZ427IiRCQV=J)BcH$&1^eVu#~aOQb!xJSz-1tQ!e= zdaGoslf6Bb+7T_|8NS}U1Fz$QsKZ6m>&nAnu%ll(P|fG?3gt5)Tzi3u%phE9i`=6ydC_;=;|Py?Ep_x z-$3SVHF(lJO;;W$~=w z@WFOHk7ozVy#`K~NIVI!JlJ4-%gjP?C5#xd@KeT#G3QD6AzUk8!=0;j@mu zTn(t+x-3xKF9`ctm(RuR=lT5{1|GOc5N_gJit0r-+8e> zg&Jn1DqhL)z{3y2BQ;(h;K&s?KBe&6U%ea!*}{HV|0 zOwMql2Y0bNx*UHyqCc0B0C@t(XNoX02sFH-0M7u#r{n^}%NpYGLPxL9B7_F@Apn{q zA{}HBvpigY1>mf9=rVR|*@Ta~T}`gJ;JkI}9fB<#0K)wIeh+xWOChP{jxxNMu6vA2B)Po{Kvq9I-bu6U5MA9sSHyd zWA`Wk%4uR=wU|m-@wvKo$ycUMk}tpkQ^9W~H=a!MRRx`?sIt?^8~-l&EO$tLVMO#> z&KFd>bWPB6jbF$O`4?T}8V+9jHRR3(cs1eqm9N>$IgAJ0gZ`^7loQVyFDR<2z?&>~ zo)?TWEUb8*$XXu4{x%+pwhr}F*HB5+CVf9BxzD(dbtD>deiUTAO)Z+S%g4J;dB~ws zTwOnSDXU;SrNAs;wpS=>0&X@wGi0c4bE0svRuh0l zh(s+c0zMw2UslAUGo|K^4HoFjcxUcivBs9p1la6}>lzeEkczYRWZ8hrnYOK1D_k_$ zo0V-Sh9E3kS!*yRTUo^}Hct0LD5c$;s$>!+tIQ7r6of$G{b^oA7AJnHm~?Xrw1x$9 zxvR;i`tW>irMeo&=r{Frotlbgjo976hh1{4A~$yvQd@IfT?@Lp>?eh@Yzs>HZT=K$ zVY6rg6005~xfgW7p{B4g;)}(6U?kkc)b>~wkMDS$4YUDBM2m@r85n_H!P^#r zv|})8T;DMnHYNkcm;8x_Bsk8Qj5+~FPdSkW0Aj%@)8=;!I1C&33*q%2#r>1fmoWC! z#dI^n%w%Q`Gnd?xkiOzkPKIs8x)}XB=J+Ne3#h_E>G5*^4GW~VxKaTNQu(0P#Ih}| z-#u~Li6{M^o*tWhXx5BlHt$?~!#VTZ>4I!Ub_HzOy=_b1z(C)YZN{~I$+jf^f&8Js zh#Jkf`Ui7`tvj}FI`+zN$f=&Qe(i}Ty}V>$p@5$3Iq{lX_D{9Pv-7Mj2uNL@l1hy} zKPjB_kMk(6!k)@~K*P~wi%n%}V=mM+A%m$AG*gCqrly9ukp4wk??}BH*PSdIvQMGb^e?8hdw4l_#q~I+sIr* z+o|-fw=87o?%|oR6Zf;iK2ZiZ5BK}8Zs@(XkGJ!?IXL0;PqTO)O9BG>1Qr+QySA5y z+-}ZsD6O{Z=(JjLXKe!oNO%nJ(TVH^L?<~=k4md$+>v2RFsKQFWgp=_+-DI4Ef};6 zM7_rp_&w(t#l?*SuvA%Q8v}S z^U0&Wb^AWj=;26XWSBGpzx#>bw|$?zF%0a(AmWZh+{RnOb`WmFk%!2CnWK2ZmU04b zk_w4{xjBOEAbXTX-tc=okOhSd;|;u>JBNdO?^h>k<)+_rxJr!slR>-z58!h+JI-#> zTCc`OnU>kS4qS*JYkoTX=~i=O=$6iVk}a@oj6IbhMoI; ziMY>r+80mw_B+E?K>_!wEtS3ULi8xwj^9Lyu2dXer#RB#Y{mu!f+7(dB9ToKy~%`* z>Lq7bj}2xqmH|unTdEkB`9Su{v#&pQHXq4d^wZ;&bpmgEAW1+SAB|3Ae=K-}AB&20 z068P8E}6UKg*%oDb4BZ@mwkfw@=pk6%Ib?r$})bARFM-HL2u*ll_Dn&jtKLUt8ik^ z2d@Eb1CV^K0b)JDWrL`G`Gm~I`!AU_bBePy0UYg}plkEquk7921v=YRkZg5MnK|o{ z`!|}~$jIzV9{kY*Qys}xwf&;2F5X-&Z@&1di`vz;1W>0w@S_JWnawguzi}PT?FYyE zlU3bNcT+j|plKNoj28nd5q-r~QJQpoj1?stH}M}cgiax!O%KsEciB65sr9|%jmH6J zFa(Cw#S1af=5D7UG!plXove$M zT2Z^%RlL1&FGcb8Brxq))bRGIwb*_<3E(QISe%}8N9HrU9XdbTPvq4`@6qCR(Pjof zZ#9Dx>|=$P26{>K{?EuJ`dOwUt-tF@W~~Gwsm4=gD!m_swLK+BIJ6IMh_}`dkT|3R zN1`pak#nqyEv$UzDf{~=BG_va%1O=^;AnaUJ;1(Il_vDHxH`af;WT7Y{FD;VMgLb z!wlMiiz>SCn31@Y87z6*OeGg)q*)1mL!iMm*+_NeT8JAm}CR%asxxz}NJa1J~-_n?)3RLfjZ{WU9 zZ8(SMNiIe&YM6M8n(@Ljzn)x3MHcZ`AtFfdHLw<(;BtA4ZyWa*w;I=Knis4Gi+VTr z_HI6tIN&PIgw?&>hp~i zoOjo*@l@fVhcuVRW`}+7 zfYTXE6>-?@vEncSa|Tza8jd<}0M7%f!_sFdx65A3fdf8w_&8E{Z7QazB+J@V+^K$O zw|QJyQdtcc?K3N|t8SYQkZA2dkreu9wX2%ZwK^6owuAU6(P?eu~4{z%3 z4B)*XNA~^{9j&PtO9uuEJZvmg&fqXN?lKrH{e!Xg5lwpp+yZ_DZXuAdcJ$Kg!BlV@ zn0Ed3#t)3I8;^p|?#eG%J-<+xzj{G_?6 z9H|NI#cfJq++rrx#oS3%77-g)ri=}T_az)bWJIajqXCePAUj4ZvIRtVx6<^iOHE?6 zlQ2j$!>lRrMNXlyiY9D`hr9xXGsBa59OpPt z+l+|6AtZB+d{cki*NCAeuBqP`2*+`W?n%8dT)t-#f;Sn@7{4<<+v&Bdg~37J`Zsoe z4uhZX{*QIOp-Dy6>Dy_1X1s1Z1AQupgwS*gdfA_UC1X%pE_}}9L zjXWF7wfO#ycjz(bF133Y7l_BP_ewYhjC=aezJI50aG@hXK@{?dHJfzOR1u2A@-s93BLS@ALuY=;6wlhy#?@uh~5Rx(Hb1!(Qo&*7#p1${3zTOHuq^hh}+UkwETjK?h1iSDRbMw zhe!M|YCB$uUbA}%%7;whf*OY~ef0_gQi;~+SJo%(xaZA-Rrb%BZ9F1~h3I$N{2U9qLsyCm2w(^Ye zGX&Asc~Al(3wj_x*KnW-h!YW4erdc61<(rk4_OWoTPd&ya)026d<3OEk~Nv!aWKTL zCAse+WC)WZiH}#Kh`LuZYH6TJvpB&?#x=gSX?}2*-)}7Q!?r+^3&-v-uJ(ae9DO&A zUg{qSx3p>CByf^{TAL4tr;*4b#Z_d4(CzeYDMV=|hhSgan2vFTZk>j|IF4vtylHW365NE*z*Q6tyxpI?F6BRqz-ReW ztCIeQ7ELn;$FxNxvXv+#ZG8wMi)LHjptxd)O6DA`tzO#JTHD6AoVIpfD3=S3K1*Cc z;I3TmlTeOw4q&)Ym^=Rm^XC={Iq+^SWF%;|H$u6)a^Xt}d}%nB$c3IO6Xv$^b0p@u zH4EnEi^crh1#57)O6Nzoy-pLeewj7fth zoOJ%0`E$ra=FER&{@i8?fQv(}tF&yF>ngkGNVLz`d*5UCk}~(KKmVi?1}CBXSnlSz z7?_hUj9%)x%GH(CuCnJc-Z35Dui>^v@ao%v_mG9AgkNQcpsWVO>TN~zULew(MqqMje(QcjB}<}vwd(WMk`CYEIwsj`CA>w=-{7|0~jIKtgZL^(TJ+ri(A zt3}!Rgs3PIutvPek{cwpamEj6t~{m@kPHiONP5E|Q(!4zQf+OigG{om4Lo|UZ;J0;pU?D+ zk-9XPtP7x}ZAl8?$Yk4%wGzZL9;{ERhpRNDCft52u@*yiYD!9@%HGBl6F05SO!XNL zyIf$FZ)#=%Eg~1iR0Ux*`95a@Z$Z2g<=h$25GvuIpk3&>mkmzq+%rNEp zvniFm4~`wu`VFk zU9O1Bb*Eyr`V<958p8SuxUw)Th8vdOdxpd3z`s)*URCuvz+djYSAyCh5CYJ*LISaO7T)PEs3zB}xrD431XbRxO2wxRPo1t-W(MKA`?Y^?`k= z&!>(u#9ahVeh$ZY)aM;OpW|@Q;ilQDaUTG( z=FwytMWIDLRi6PLQGIj{UWPpM{F*R#Y{FO|nB1|Hw@;%6ObJu0Y3;RB27)OFm~Ah^ z1DpVs0Q3NBV;?{m64=dGA_NLZdR#&Uh}bKIZ>(DfF`gtK2v_o)F_+_vgFFua$AJeq zeDqxhMeZ_5x{MRyI?ni`k#7e)_bFSo2Zx;ezYodIrKP$-hf2^-0rvH6(pzMRhYu0O{3 zQ2>72zjDns8u$N>KZmRhI)0ICZNHdt$S!?kJnp|rua4cCMkV;FvB>H7JHfr!HHN4r z$$N>LHuhOvE-Tn#(=_7>B6$b45cfe>DAW)NxmCYE>GvbQ6W&kC>kFKI#CYub0#X>> zZ};do;L?A>rEP}W>VjE^Y`AGPf07;g+E6YW&V^Q!I+FhCy!$ykfN|PM%>3#Mss6Wv zs)c;Sa^}LceR7d?xf`jGumV7Q7j|P33sz@R)T5PJvAC9LRi>0oC%g$Uf zC9Vn+&)+UNX=T#i$lMV3WP>kUtuX`20?X&FXOa zeUV_)A9i^a>-_Fj`Gn2k4EQ1e9Od>XHp5n0egd&Ljvdez?dT`fV27#7J^vU!fzORW zYD=h28@0DwHH2LKY^B2hG@>(%0b@&72LZQdTdGN=XfH4%v3=QF|KMrJ! z`$_EhUyX)@4&pVUsymKJn+*TS@k7fqMq&_1bG>7#iZyB%lZeoR&i49S9H9n+xF zT;Ch-=!nDJ@wC-#oz#wl{hG_|9Eic)?UQU@5j4Tb2{ugtuX4uO#+Rrp@aYz-O{#-` zX0<#T$u@*gAe_lYj33B~B7nrKsD&wDUp?~M1<=}qDoM46#7o*%<0o-c7{UKKT&f!wayT@ z0$dU5)bPJf_(6}`<#P8#BGf-^!Q8p?d!oiy!S-m+{JC=%^iNB;wmyiFD>||@2~ZKoic-yiiauc;zB0JIv2pw0f@za;4dr&QNe+YpGT7SMgBmeT zHDv5F_T}8({%r%(d&^<}=`#kl^*5vS#X_Oj+&FXg@@XS2##iY3I-%{Nsmo{2Y;4v? zjjw?nxnf)A1tR0^U7k6ZIS{Oz$9U$M49z8%pXimCAf2$*H{F*+gknVWMCiD7RmBKJ$b%Hzw zMh{eC&>Y37zl8zg*OeGhpmZ*H&^Y)F7NXhse7Bs+bea}pD>{fia6xCvIF~z z@gH7m?ebz8tR?wUzDNn2ipPK?8DCRSFe!s=ZoA!WTrVfXMnkj|*+tgvU6E20!{9Q! z@~g&~L?C-tgcvfx$wWlE5|49L#>&0u*LXgeBV``dugZX`XpX5DdQ6bc)RtWW@wRd1 z_tG^gCLQrA9txoD=7_6~e+Ow~X`1e3I}Qa2e%o58|`LT&fx3>&&gpeaxe#KFWU6yl;|{b^*nBI>-w`St9(0 z4?`W4VVPd-*U4)QfU0UmH`T#S?)+R4jJ0RU^3~cw&Qn?QKt)$})3P(M9XY1N*^NQ1 zH16|g=pdjD-LXl(Vxy~Q}VAE?E+{sv6=;_CY@n|`Wi+LCE~f@%{* z?i@}O?GCYT>XK>r7(7&tc>~RD`5*uyE9YjrJjh`y1{_unJ%Bi=!63+k0u=0ptb368j>~H2-fTnmBM>PKm_M9!Nt^^627*`(u$Nvq>9z$VU^I_JE|52BekLH45l<{qCfM8}y#Fzr;Apuk{fcTc9dkVsp8X;)m}I>Ey87QyfYGo+bd zgCGg`_p+?u1aLi1Qh7384t{=cH>C@=Qk_yn^7KNY#V0~#7Ry;ei>(AOhFdOBiFRI~ zdjSoaBqS42c6qAD9s+aKNUbgsbkwFAwH!q!T(Yvi;{i~`u@N^X6G|>vkg;A6ZSuNK zj&WT}r`d~3GCO=8KGD(L;$t1V?QJ2OGB2s-7tal*7wAKY*4C*lEkN>SJf4gfhrrS# zj%scFxhLzvzhp~`5kgl|KBM{RNorfj2zw&_bP#+IYI6)_zyZo5v1FHP;rw`HUcKw#zRmt1I@iB+rnh0yytuKfWh!|t*y71HXFWLZTk^=M ztzgKT$!9$n!Y81J8=mTk46OBHNIwD}_cV|Q7J{j8t~1;gHhy&lr|?oH-D8>mC*G#;z&1q9J+-0X z)+Md@r+);#FvWsL-)Wg&EY5FP=!85{QW%S!Tr4KM(P%yv1E~ZKwzR}Ou~yIN;^yU(Hy|J?!Ugzw;9c|iMgRvQg?R<= zRDr0sE*QPoxm>`=pa@=b4X z{%V&omowLq^E5q7yT_ehlVeiAAdxhc($X8JPC|=ytESe}Y+I?*ym2S0FQ_#ZykMHv z)W%((dXExPOF|L}ULjlNO07hsBH2nrD%fkjxGd^{%XGXP72~Wmj(g_$;_sd)dI7<% z&Z)Uphx~!Sf1ub~b5qJ)EQD=s{i$ZF{2QKs)naQ-4YZa2b=` zsfUBPU~cbT>owQF+ig~>4NlVk?7=THju3gU@&543o@mtbvYr;h$@1_@fUFv9h4`mg z4SnTsIT;p%LLk=GzwocJ6XpTPL#O=Lh5c=@fPfauxVCIc3g8mgt*fL1MQ=7ulI zs>BI5#(loYt5zm%E4zfs^=n^WUs?2?>tiB9qDB8ymO0Rvbe(X z<&|t-5;)GPIdOeyuv*dF!flm^TP;NIqRDfA6}`8bMzz<}uQuOi?qMEge#AV@yukdH zd7Jq&^H0D62g7iY3in4g(@CvAQ=x5Q$b?Urw{%qBjhTmtUJOtjYbF|902NM=49-Bv zOatV?$xCmeD$<|n>cZl!?f8eq93c;Vq$&5p5!O`l9q`k#B#~sQ0p26jHenJN)3Kc_ zO#p*lj%8(jxMh7yUL8b=3{kHrG&is4n8PU|yXx#S&fdL=1Cq?GKJDZkr@*sVXi?B$ zCK#T%;1piwIPUnlQ$m4+zKT^O^a62abCSYt-_D9w)*#Ax(}92%ZE6~5Y&4!woKByr zD!yd0C7FcTv0!T=p+EBieGqm<1>|4ktODd-UaEYI7e&5@IFQ5@p(3*|mRoqrj*pJRQ8Itb zX(w+xVRi%jgvE_to{0Mbi*R26JJ;un#=b!s!LEMogp*cmXoak-z~zs-iv62E?Z>}JQ-5P)f0OYK6?f97Mv^UwL`yO{r92!>tMZdC@8!@*`_S3ti{? z@Hts#Jou#C%yi=!vzXbyoWPvHT)=#pxq+UVA7g&byu!T0e87B;mkcLfs&g2l7y@&_ zDzFut0?q@MgP(wBz)Rp&@O$t_@OLl@IcS4k7=sP44U!wts%SFaD+D^b+++YuK(oIy zKPu=-js;rzB$-$OmGw%txXB!-1o&}*3Bj^ZhsR{;L{5@fbyP6XK?8)NCY#LQKxbRl zVC>gQ$^w_<52F)zv~#pMnpY@$>7iHvsO-%iWs%_~PC`dZ zIxOZYNs%P0$N`Hi0w^hhj8_^SAnZ7itgsNtR@RRc1!AO6kwJ_j^9BGsaZ;>R1RUV3 zB5dFl0dWBE3Xk%5ePVgYDJ)y$Wyte@xUIYe;-!JQU4lr~2Fb#ec>!XSLJ*=~Vo9?Mf!WZgZ8!4*e1whWJDYX?LGeRvIVc#Z$cK;-8FdO7bs|9KsKXl+9f0Pr<8cmvUq3?4WW;e} z;|_x|E3|SJh_PrMj{?3-cc*G^$q2)JF7h1dB6gKLk9QMXjOFDd?oqtL@yNvH%+>cg@Tm@eidqe0mtHi!WriSK~vQy$@iX=KPQ+C;$PGZ zeNMh?YjUNzF-6P}*lhZ%oFvv6F=g_M_bb5^Nlcl16<4BBbS6IC3V5$F@3JuBQT;Df zW!^E)SG$!VceR-;!M@{EEszAj$)MSIsrm;mFrtD>Frqx-74c@93|Crg*9lghebQpr zU$t4z0XO6S&y{Ak&1wetW8TkykU>?hUc+{6cS7;~*x*ZyD zJB%m&U4G+9)diec(C0`wKp)Y3%^UxwHad-`F${liT*Yz5RU$dFgOjZx1)MB$k}4h+ zeTsmi!Rrq?91n`gY(o5|)%r~-mP^e2rYL?B;a;K#EtUt7O>i2&d=a4+Sk{FJ&J1a2`wobPvkv$wfik`LXAxe_!n6VFuoKWO&*KwQs`uqDfANO$;*tLB2 zjK=2X#u>BktpXF=NDhrFM}d)Xq>#gpXH9wj%9S&wv^IJa1c^b>#X>|AzKNWQD;O_!%<3<r*hoBA*(tSs>yxNe4FMw}E50q$8xdMM>a--h669DHmzpxv*!I zXzL1fg4r=wOG{W2d7JF=`wS`KP$&64v$NqIug_+qP@jkArbIXOwJeR|)JVA0K7_%_ z{n?Mu1854h9YHkz{!3OPCNc(w2J|mQJ0g*eC_Ft%ZVmMlsf5$%#0}|BQu+TrSyjLP zpM*)}KXG_cv^@rTXy&N#vsil+yc_o!Kf_ps5A^urkEnzTMZL%LsP3R2qKD9M#V%4A zkDTSi9#Xw_Iy8aKD6LMDrm4Nm%v&L|M8V;A(Ala2CNp=v<}()$KQR7)`yvCf(JB+b z-`t*Tb@&{rydC#=iosJJr7Nw{ZG5Z#HhBr)bH#C;aqOKWVJC^8&Yie|3rt2FaFWT1 z^ZiOtZcScEvRo;vIH;f9mVm!YwpyMNE&2nAHZ(_-^%QwLociGC0i0OE4e+WCMSl(# z!0(WJ^C!?x(Nv6^3^22q6=WqLxG?$XuqwA?etBrJRS<4K9IVMSkx@_+h|=m+RHeu1 zt2*6o{j=MzM$_suJpXAZR2Q&)j*mc=Khx-EL|YX?ZZ$bs z^WNu|=xLOpI*gi`A!ZfE(GIm^UvF$UPH8)3dcTF24jUwQp}ePZpN!)PbvkR7?*$cn z#}o#n;|(uB&@?wlr~wJnYA(GDg6rCsx3@3fy1c!#qLdj-rw3;f=Xt{&Zg;5A(Q@ae zfsJ>z+F`t8{BrSE8VPG($PWHw4@njvHGXB$i$!9#yC}(4ga==uJ09em!n|v zs<~>$K{Rcp*t+dFuzsPtSV)R?58;#} z#IvX1U+~(}SFyQu0&^O3K65$qb>?>FK;6u(-lUPCSh-N+$7rBYP~#CfM8g!hD#B~` zku7j#k8GFgh_M(oA|$3ZlN?0!q7auun@F)WzH1}I6_wj^TA-=jMT_+F8E521UgA{ z&_!czr+Lcxu{`+oix@qykyG$=@l{!zECPo|n1V4R>nahWC)|MGQIRkpCh)tr%iue* z-MU6rCEggOoGg!rvr+H-LflvpFMtSsT%~DWbp%2#UiR6vpz+m8D{%BR=24Tav=m2I zVvJpNWkZ<|{>ee>nY<`kZTy+mUTLQ2u>)}?kGIl1KF{%sL}+!3i)5lx9FK?R;4dn> z%^))suRx~W(o>l|%oWTH%+1W*%zey*%wx<`%rBYWFmE#NGaoTu;E__j%ByD?qM`o+I1%zsnSq(Xzj`2NJ0C+O7$gcm1@G`<%RUa?m)3v^a^6nZ0uQ7hgTQEM| zZ~T-fECBu3{gKP{q%GToKdY^=$<}m{ZG-(E9R3H0(?B6o>5(ANof=3c2WIrAQvIpM zX$=k2mP~JGnBM4#Mw_Ei51}qLH9Z1yUw66mTP#+q%Vq<2bAlk_)BI-5?@tE;;3}J@ z1vPEIO>+fY+PNILIt2XHW)X;X!SeE9Anz3rU(RTyNgwTxg~-gxeC2<=u#> zoJE?M4!oaEXBIJQnd9(iK8Lx4xt94h^Ihiq%#+Lu%J!SIm~+$BKgEg z@Y92g>T@X)U@Cy|=_A-r`N375aJVTFaYq^&`WhP}<3h$;_>&7Fk5P7k1yE!yHYD;8 zV8_pj2(bXWY#48nK!Sh|O90}07!>>na1tV>ZbS`25##MRw@l2=hAtN{54%MqC&mV;u5 zg&Y9^YjNSO3tEI z3wxO_GuJcUV(w(V$2^MX!*k3l%zrTN{a@PN15S>k${+8l>Ktb}Oi#{X)6DG5?96Nq z(kg2uS<$uvl4UD7$WhL=WE*3Q1IBO|111^_{0IhP!hx|(vJZ?o!omIdkgww13h&i>@B5hFGk?YHuL1}6rV`UPt^&uv?ciSUHt-<$2>29u96Sxa1%3d22L2EDldpAYQ~r$*V1&7?Qsr9$vSSO5 z&+1}&)#WLZ(&kBqqR(Iw8-9XZ53@=y0~lx>Cn?yIpc2_y1c& zSY$!)KNAT}QmnVoe=XAXk4f-fjQGPGQ^)_k$Vnw&ZZwxpXGi-}s!DpcpmS_Gof#W! zMzsVIksyd6C6XU(wH}S6%&d!(+^m_3a)9187NS&m0I zj@Oe`D%0MN*Hac|mJRgbRS_>M<(C~~j;p-V0k3D$%MShug=ZXr9LThF>VZnpUVean z7Kh9~cuImr7LQdDDdAyFBL#9v=te}5C3$EBEM%_X(Jcv(lZprrb{r84WYmjzRw()r z4oC1Ap4w=HW-fFyYozjYBlR=~@?wAEAo*W=a;3-*Py_)nSLQhKIS;?E_z^4%U1gn6Luw?tW=%!dC z=vm#x^Aw9)86Y@G9w%}CozTV|LFDOY` z=tt?~S)3yAh&H$YBanUz5k_8`0>X%VIB6k8AbI?hI;jgUlutPfa4$dLe!Tds?!P-j zo$H}X;4=&Q{A;N1>BG#mn5wy#c?YJ^KgE2Jd6xM;^Hb`-XAw-jPkDD808o3z|HpN3 zl2G?4?oRwaBTzrBp#48X(JzvpI*a1%mrKi560&suViLmF&tFXG@Yj>@H0kp*biuX> zN&Q|*SKB0E{*sqa;Q#L!n0rN1-TMxiYq~!MFV?a4+*V<{{=0=5gjnxK~l)a*_gg+P-HT9}k>>@J>Ry`CaJf zj*u-GA54c(r!9JoY=zT}@6!^T)_+OOqrIqy7CQcV2;tqPm9r=bU0B#O>UjFmJNp(s zw(|$@%#7H`aI0)sg)BJ+F!d%uwKQ0D5@`@rOX0fr0?R_YbOlQ}Rc@~;#LIC!&60^i zi{R_&sj8?XvPR=?keR7p|E)wX<C3q=V$&^-yn}D* zO2__*EM90oCD*;<^q|uhz%N2NXpy`Eeh+*D?v8m(uRe!r8Xj6T$Pmc-^I<{8* zpu<&JnNFm00loB&&W80uhEgX(M{&9WxR;ogg3K%1Q=JN;;=Xhz?WEtZF5zfZy8V~J z=;P8CxrTX}an>tcYv+7x*q2}7Ua7<^u_&QbxX||TgC?nMl~5GiM%^ZQ`Pm7O%MKBZ z{JO*aC)2>c*SFL~4xGh_^(~FmP)d_ODQl^ruX*nml*XC+&ul1<)Hc;Hdv_Mg)i(Ei zQZ-VonO4f!pQtBf@spyQsCz$woS-Pe{EIk*>imnug&(GtG;RLhiAFZ$Na)S)jaHjv z|EyV!?u}Jrv1*$H@n|_3EjLN<)kAMSgn#c5<$xQIB@W;8g|tO_wv{$Qp`_y&z6KV& z+msDOF=SJwF8?H66ctg-X_~HU8ZXP5EDLn4=Z`OC zjg^PWF>i-N8wHFaO;Qa*l{8c(H2|yeBp5SIyt;?*Z`#-F@@^AxODamz_nnycTgwwg zF(8Vrgquv4Vx-AL;U-=XR8e$JNd&7;z@^?B`wKY-tZ{PlZ}VFk^XG|*1>fop z47fLt?;A7!Ob$`&1ld`{2mj1#`=<-Ipf@r5nM+Sfn+0BIQBg8(cYe`HNATP+)}-t( z{ntHhbWU=_`j>ip@vqmq)}G{_4~bnO=5QrMjp3+lJBY81;U4p^W~w!@aqGr&8(C2W zsx&Zh`Of7Rw);dG=~A}5ZFXn5yld&Ua#qrjELw??#){gGD<%dcoLS5^&fU0W(?ly} zss?CalHrm=YiBa1Bntv!!-bhO=bf(x@dZPjKR&bW!YiuE>Md7a4?cRuh3jUnzk17R zr3!zGWGz_@DFCQJ73%S^nO;YPdQbv_ktk1X-8xxL8a$MPI$lhJkz8dwrbC=pgG#89 zz_T5+)cH+nfJ?i%pw1(ROe^CgSX|iuQZ0D=mxV}9gqK>e$@#wu`A7jCo{CxXcM|)N z#Tc!m6t6nP?%Y3E7}M5K`=R3Rp4#91&EPYNZgaeDYx@Q+su z8XDvR>OX4+H;B}W&rIC2QWjq=p)F7q_lO$Y!pg7ag@dWKzOaJf&o0!3f^~B`F0V!|H8vSUGM?uV^iTi^(}{Sxp#>bvoy=Y_H+QL-RUIIUfk^T&*uQG!YIKy` zJ+G2-@)HI40xrh;<2?b0l~M!u`Vj6IH2;6If!-C# zM4bL4W>&a0(8Yx$+Wjt&jbtLA!SKLHYN*GFVV<`q7D(ZVSas8>|C#o@3x=GDK41jn zq#R)Pw#Q;A(@G_#M+e-jS&xS?N1?jOOj-?rzt!dk|L5AAZtyk-Mc~Bdgd7m9Bu5vWnOXg3S8)} z#@f4ZsSkeqL0s%z-Y-J3MaY3USE4IFIN?erDfs}tKoSlHAGS2_am{)-Sct(}VuktN zf`B*qIA9;|`j+S!Rt%M!F01j%}`N@ zk6!EpSMW}zU2406n`xD}wsGCg9rcEO#hdQA=Z#0SdVR;PYrQvadEn5&2eyDUk9_`- zKZ9sU6YmzJcv83rq38KzT;YF_@*bC>fnrFWoJ|kNnxLQrU=gt(1pta+R^}v?=Maaf zJC@}HA>$MW@;%{vI}~vsge(sbD+Hh|BC`Dq9i)h=GLW8~P(sB(RKlfvITN35C7a-5 z0B+=4yLVlE-K!r{_hj+k9`&(TUw8Gc-7O@&_44mNRI5Go-OJxPIypK254Nh^rzbI8 zem~;DT3yi+hWGH$rO}|QiCiq9t71rt2&{^^D%Ey$UNJOIPqbo^5*drdoTws;3d>tz z1Qo$BTNC?biI-&FDA_p~aA2D#3!Er(LPQIRs-B2(q9zBUBXhA|jHi;5Kab6Iu*`1Y z51^w=g2^xi=5FRef{58{P_DM&v^%zzRNacG6qSmoqm2uOnq8`re(j+~sc4@>6TzRG z(3F#)G*0^hXi)5#cAb9it}h(oNsq^0zfPRm_}^O~oW0*0h@=b$1=44@5)t0els2{h zN6+2xVRtN9&dl7Ethg^$TCqs7kwib7P2B?im$#YxpYH*PlUN~WrLTzS1TRNY6kXOh zhi8fW6e&ba8$dPCUpG{Ezs!Is-p`?AWmrjHgv2C5GX@xoU>Nal$LkltKHtQ= z3Uhi_QyZZBnfG-hp+95(4+w%BvHigvq+^)w=yaE;qg(0k!GP{H-`wTYYt(~Cq6$t3*4lYswPryg+xqioBc9Sd1f9EW8XHHnVs~3#Wop-r}n%L6U?NkTl7UNt*0k z=#VWxhZhBhY?(VmmX^lBsmU)ss)?V&#E$wovN!&sq^c4QH1Qxg#ew(sXrVAvC{#s5 z#6P?;ZSBNNlly2e5yU^7Bf602eZdTeb3{g!~ zc@SiSxxvBZwc7lRwVYGS!mnm)wXCCDMyha}A&+k==pu*g)6b6tBk;Cd?fB=yCj1J) zu$Uh;!|2zlw3%%5Z8iU9ut;cml@^k+9bP7))dnL3}kW8bKW=ne)FUFPsZIq==vj9#D6T z0pi95AW_T}3tjCU<^vM=m~dPGA5(PRJ1pS&*`#_4{{Vl+tYFq+zGf%0i#dlm#9YE$g~#k0 zn71%*XWq>`%zT#l0`px$8&GcmWKOQN$gEkTX4u)BkR$F!-9~qth4y|t&2of1Y8UX( zbn7jAC+2o2y~W|VU1+*|$>D{p-Ke$Nj!-BGZBB5A0e`U2)IiV;O~FA&C>30g#eKb0 z@O_@vsVmbG#{MH>i8x5ZJT8jQ5@1(gqNHtiP5q#%4GKrYF3AdvO}y1)qL; zmG{D?RjD0YmX7!3ECC59m>gfd|8kZES6vIij2qJwK$K-vcd6fUN5NJ&4GgltoK}dM-hl@)XqlY0g>fdGc=Is;iN9+=``-!2={FluO2C! z7|aB@mmtnq%?zIVGY;2mIDjD=ACMumr$w{d3gDv&1k zct64E@TaP+sq&#ixYyZgDL(%Xw4heJG=ICKYchD7ckW;D6_x1tk?=~D9Mleu*)52{ zoX~5TH#6@c*d-x>LOBw{a4PNa1vSLAV9|$mEVfI&u#b@AK8Q4K8loFSNGG09-Ubm; zHoNdhcnK`|$kQo6_$We9C2l4tl+$VTv5hN zMQO;r=6GK->Fjfo&AxH7S8gbZ`AQduqns@-kFD%6l)7T{tcnUj}m+H#5aK3kee8m+mN{Z_sjaZ9F{sq{w&zz=f6!#Vu8vrI+K6|4b*k1}8t za*IU}u)5|&10It_7W$=E}w{os+BxXvH zYTkY(+F!{?X30&L$)^>l&DhToPf_Yfk6z2{An0Gfcl+#bt+_aC_`7QOSX`h>GK)6H zON-*|({=q01%npl1s}G&jlQuw_|g}N3Bswt+T-6ym&<8X z$D!s1j{hm(x&b5y+|OJ=vXB5=8mz|C%{2bStHIDY69uBMUzj+j?c25oBE)9mwZ1Xn zFUy(vH)P7?47?~)p5I1FgDXks?e`7hyV%N)q7!H}UipakrTT(zdJ2_W4^fD39Z0zQ zc04f;l>lW<7aMvAi{03v`;LDzUXAPEK7FuVB?n!rdWN@OGSeoiTWOPschbdlLzJX| zB#D@KFbxs2=BuK$whO-!jzuH$NjRX91QG^GQ=gl0w(Zw$A`_*;1RlUyi52NW%O~g743B~Xy|w-oeeCVJI+78Aw?`1p z=K8_t{4T(8qAJ1nu$Zg#-lZse*@5f&ntdz!xVuz!I4eoAxp~L3skzn7Hn~ZnmzlyTree%9+8J5$f zfNSg7Y+99L@g1DPaUgR-OIw@@TB?o$E^_Dp$T@Je0u?BS4V+>%mS!fx0UB2VNGLU$ zS2P>Xi+@+ncu%GW+*Al^=`8%9m`>|}<8Pk-=v6WoP0RO+;Q;)C8Jhn-7-#&wn5Qv4 z&}Kq-MeU&;P8T5?Ic*>Cr~((5nwR6~qQmpq($W(Cfj@#@l$Q2@($e|mss8?n{(itG z`}@c7QSgtbjk9?xaB%OvnP6X=JMxo- zoo5A_+ZuhVtJ2)%OQ$ZJGseytsc!Vt+vS9OyKKkh4R*p_FDGmZ%>vZ3WbI5Zgg&;s ztQDqKP36HXJG{MF+cF~09GYnE8U>?!N1NNnKY6>13y9nD2JbjQr335+TwKSm_B-Kn zW|rvq2-JINj`+}^af5nUq4;5#o~H|Lkw&wfc(K*NRH%0&=q;s*Ay&dGim0LL$aDm% zGB4>cQmNMK4lpE6QK7SRtcWy;dJ@|;#uwNLx;}RSU$9X!~6t%BVKPtF!i*6 z2kUeNS}jVY(`f`{JDWB`tp(J7{I4@fp{})(Y^{UEXBJD+^ZZVxpX^A!2yyM2*-dr(fn(1sh??k|5{j1JeONtp- z)xUtXdNbO^WSL>SPD~M5RtJiz;Y;kMfa|-s83UG0t#)&`6VkLgeOElRKnYVtpwxET zE&$KB?w+3Q8R)f(%a63BT?wz%uT<;&l< z3k-d%b;)<9ygwdYGdZ*Jj5Xk$yfT;$V0K#xW(F1B+r8$Dl{1rTpyz#TWM;HgpPH(- zMrTIA26=X1U{?05znj|qr~jfTAWPz(%_u#*Bf&5|u1*6sYc zBg>9tbJ^?_D~22OeEQgyGj}_#Du&PBwsUA0!ceHFB5-d!(%-vdpb|@^V%5G{|JG>S zd%?1-LNNHjKp}vC9bC-!p}(T@J2HeznXfQkB^bM>vyaT-&RwJGc&&=Bq1U96&Phba zEs@eBDQN1X-&F)Y2|Gd>A_Ub@$CoiFf^-xzAgEZL==tkVz)KPxR5je1N#sLGwQH18 z3DFK#oP=%s1xc)g+rEN)cgaGndLG$cp^X&6U&`J@U#Hm&$(@NhXJ8PG?nkoXj z;G_pQjpr(14=MXsf#i8woNPQ1&9|EJD z3Qx7u^B)kB4QD)V_vgY0_NEGhu~xDVLATIvCnxMiO12`VWtkC6PBrZDxYM6=5$Z{` zld)E+7r}78-;PfOt67EQ1HdvJRY8}Vx@9937SC8V!11hDa>7-P;|Er(FQ{Bk9LX8n zrDYT=Bdxe`7H8qaBFVyYI7?AwyIBZAJq1KU_rdQ`goz;LWD`t|>1V1$iYGMPOxwv} z?p0{upuxQ?EHs3mn`;L#T@m~+{8_CwAFtKm&&;ql8wPj0H1t0EANBfw)N20$?b-|V z`U@|-aIjuKzgD||{)#nlYpv#818()Mq5fB&Ku6&T(!(W4oQI&J-cjO+0{_c-?*Mzi z54-~H|Bs_5&@`Umc_zTvOqhw|Il=`cTzfo=`HQVUU^9q`VFCY#4?o~dKTvxBW*(@T z4ReKQ9{(0%<{8Xzqp9g>_$;~n>;wLFe7RxHUp)Od{_Eh(y&3%sT}&;rw^3TW)O8O- zdN{R2@y%TD2m?gIlN0y_)MtNB-|_eI8*MyDAswT5yn<%K!L`Hfoom9hca|z^aMRO* zuycpNmU6K;4CRryN#?4%rer(F_2`zoai5vKfE9Vgls>QmK@e=C8|EjxUyba!Y|jV{ z!1pG;@|B6N^l*Z?i{+ji1u&g~P%$hE+7b}fTr_>vwje?X;(wt-8}B*H5|_K&=1&OM z$ZSi25Wpu#&cOu3Iai!BIAd_TdJIkC9^<3QGvK5$$SF!9FT-2v z=u{L4YHx!o-cUB>q}Px8GuLg{_~^zB*JX0KlhGZCL(5jYZN;)fiDdF*)O$Y+={&EC z66+TG@}o{7(U(ZT@=I>^qyP4joBgP4J5Z2pAlk{4?R_lKo4`MY@#!Fzfp?I%Ed(UbKkGN&X_)ivuS zY%}~?AY|)anc(-w2!|R=k}4#@w{acZ!`^VJmBK&pRGOef2$+K%Cb_^<0rzq@kffyL zw{^=+yEwmBrWH>n11|hJzRMf-8D{VlKAHbgFcb=s8{GhDU;JW6;UlNmZ!%!fX4NUn z_M$jAX-NLk2sjM>K%B>U8e!N^(1W@t$&b%34TM4&T$fW0aG#qFh0^Y~!ig~cd4F&c zu~@=^1NhbO&-;mg*?Yl1@9+#hCJe#wVF0l>CbGiEj~?}=Np~X7Y~b|K1^pFv4aIM6 zP>k#Si_!a=r|1qh$o2-cl*6wz)s-i?$%*K|fnWByS4T8^mkb z5J3;>Y=5ES$2X=cl{9?o{GCMe54|cFT35MTO{o_tZc6PB3VHVCS6Jm zrSem^s$9qj+lCpr8RvZPcFed%L*Q05oKn3v-KEBrFG~O&tz?e>GE?0UHsDi4lW^XH zeVNMqn^g58H5FF-UogU<;0sl96SzOMqN%IKR6f;AmevH6fRl(K$E&EgaHIvmE#waG zzI!C7d`V4p_K|%5h2xl8S;uT;&S5T~2ob(~o%(U0c;BU9n>L`(={|m!59Zt^fq5up zJF->WfW;E#lktjE%ef9-*r>Ft)Y&a{gN=Gec$Ofh z3v#_%JN@-{=z}Q89HgyS>A=Si5&22AqmIdE{bn_M0kq?T%y-zS6osSm{R!mwPzr_W zC%LFbo$Suya+*E>J#IcstCx!0DfH?)*^t4;2jh|`2QHAch^g7}o`hutqq2I~P(+r) z7g-}jcJhlH@^(loGa$26p#UASSzWClF{qKGc{N<7*mNx%K%>s?>qg%I*Zf^ifgNkO& z{|P)jQ}cd($9eTz@92z`AES36;_Nv{eYFiU%g9a!$aGev1?;JUUqOEtRaopAuf6z+ z`;wDxHsasM+jIDdA3t$;q`hm;zwFu79tM3x(Os6W^Yz`I6C??r9rn*Iq6Z*@8xKEm z`0x`y!8eSMJI7?f`v}=g1RDi;N*10XaU2|z1aBEl|9e4Na+*xcDf6%I&+&AgfGp}H zjpD|TIbaG9ZMD;S0lL%svmBRSFCjrrDSL4ApOv&EpwoH)IveN5*`t`EQ+CTZH`3%N z<4~KHx1%IpvzIVynb$J+Pz&t$Gaq3dV}1wPU@6!QE(5Ove-FM-EUKYQykq!$R9F8Q z&si`;Rfm#9=0RPG;K1^IixhcGYUXfevU4NYlm{yj^QWP96R!b71b}N2kdQKJ4N{;G z>L{L2pstYX(9MA<&}{iTvXc}FxLM*|idQbQ+72(YLqd)YbJS`Qw0}|)+bvqeOq($4 z1jO7ST2d7Ai)v(d9%B=YKT;D+qqK0ELoLOdoh=xlSXwBe*lzkFTmo;7D`IrzU$#Sv zck$FiUcko}o9gO=`|aRn$+H@yfLuF6G1zdlP5s>Si)?y|oZy@UD|IRKuzNCLVH^;G zm23!6dzTK&yrAmS-Fu+dAs_O$9NM|Rp%;?q;0!H#hEw7@8<}p7bX3ZT`_O2FSMO|L z2)~!ZY1M|Hu(TM^O+ivH<<8eWa(9{gguz@5) z;K1i)L655;RkqI8Iac8kQZE!ZmS+`S1(IlUc|plSD5@fa37s=!MYcpfu5c*;^k^V_ zRWKF{Y=xP;ENLLK6{xBBbX14>mv3MZ&$I0HEQ`73ZvjzK0-p&el1Q;S5yu)9s{jZT z`8_f{vX%i5N1#f#BUr$92`pO#Na%GeJ-~%+h?$XLGPFm=Sv>6v!WdkqNFgp@>6#)2 z@H=s~NZz(!s3MQxBxI$)^7)lqKn+L&1gxkkJ%qqR0EhDr_G+fC2UHjoO@+Os(9Y_n zCI#@ksa+R{*dfd0fk(PC066~sbW#QkdgKu_grgkh%9ni<&2~QL&}s_ zM@3b#W!;LUd%i1M5E1zbEUyp7AmAiSVDoq()(l-UA|ZrCVvN1ypl;wtWW$+6G8J)5 zP7*jxVbgDx1yu%$6kK`EC2m|2;$ba(#@e9zL-HMQus*(v*f-rF>5`!0E@f^H_w>c~ z5&82zF`#qjli1xZZh0Z>$fC%yk^)6pUz1!Ko0_?hBHPxylO3dvmNBk5^-0sFy(e^m=a=dPipn zh~La;uK*7ESG}+MSHVG{Z(_+%oXd@5(&h4Wx%~V{IbLm7ZuvBN9Ic?d?I_VTSj@Q=g2IB{YG;-ui>csm2>Rx}T|t}x zP8`jSEg#M0Mwesqcjmm=bIv_{&AEGqT7lUmhc3AK@UHEbh%?fjxeYrH>^ys9RIijb zZ9TAO+m_J_!LjUEE;qJpESnwM0hn_)^_N9)cFDmD|3GdR#nJYsFJQO7rBdSsa?>}- z?Sjx#T6IyE_WB6=E;2!_1yb$G>!i*UA^|!XMm|`CIF`T8_ZX3EaY$5vJKyM3%P9}ijJgH zm#tp=(8(emTD$tPRN6ZLBARJx-cu@pZy|ogUO4dyOwVj07O`9xFw<{qx-ba7#S^6r zsGSqKy|{Ya!KdHwy4y74(B5~y{nL9_Pftcl>o%xVf%8rz8jtn@fcu7)ZX^G)D$xvt~uGd-HNxh0iTCb;Q zZQ&)d$Q!)@BN$8cRSq?(Yn?R5reb}i^)XkISpuD;+7%-R;2e}B$I96;9*CO2ih&WN zvD_~pFS#axc21U7l<`_F8A2t$v{0M>lNcS_u%;QH;k&{)UCCB!IbF?GSdC}|YGs?K z;@cg5;YJox+BwdoagQVN*ybxx(a0sXQ20M56oibE;WEvJL;fSo&p>dXgRp()A{u%7 ztFHcD?t4`)>_vd7c)#U<>-`eE#uJCZZSCOu%kM`wo_Yg~;$luPpXmR@>Lc|dYe(Co zD~B)s$@|~`6L9HIvOlH!C|BVzavOdJi>Wgc%#6?Dph+}TK|11`9AP^BVUhqjOno-U z7I$Y173e-vt&YiN)ClH?j@IO54?O(v1D8#9kEni)5lDrDhQMA60R9E-WdBsL$CFdV zVlrI>g`L-43yyC8!0p>psqMFa;L&d6mT!N#r-49w?Sg?u|d z|6_15-FH0k4|wh!V$SZ$DLYb1;yH$2?4pv=!E{tne|~L3dN#>W!2=P$4c*fae3zz} zA$JKBlaFdoZidV?2lkCkl!~`)(^=TeMKPI#pcqvl$AxM!Gly5)=y{Fmpvoh$PKGOzx(LVF`V$a0bz5{58pb1~Sd)ww4k_dOXjl8b7nkynqow7Wq zCVHbR67msqymiLf;X;q&0OYE=t{bY2fa8?%!)rIT#)D=xdYOp0$d2p^N1 zAUa-r$stli*TK9CW?*pB5GgPDk9+eNz7b#S!hHi>kx)WrNnvE9I(zgQwo-fH7Q zO2h^=R3KrCmR;mXh?&Rjn>I`UxgL$jV|59PpRsBC73c05#eaLw-FfDEmwmD_7h7@T z`jxSDl_%NIhWjr?rA#^(K`4?-XG-YZPoBLl^jKwGZ27S>mPKivb@yG0da{W;$&*cG zd(efENF+by9VNwZU$(hD^@+Qdc~+RoiC8*{)$w<`yFyu zZGH5^()vmJgC9ZmaDBX+eQzRP5q3!c3~2C;Na*V4QaGLkr)`0jN1HXHF<0xnd~2xwOYr&Bb6=v2VRMZ zY$?WM=}0VN4uCL}9A@>hC8y07e3`V{ELg>o%QcGyAw)%t9VFK&P^61MlG@J{VK2yg z-|@Z!eo&c^Ebph=)~-48#nSvwv|!I=OQT`$>;LD5b3~BJf-~7{Xt?=-b9S#@xl$Ep zhRWN=Cd1n{ZTqJ$OiZg%799QR$KK=p& zNZ6!|Wrn&V%)INOi*CI8^LL@odB1m(U`f0Z^WF;#C+R(gsW`A5UhiEAUhA>ocu&H4 z%_BIiH);Rf`|zcXrK`H;Z2 z0k}}RQ0k<(1){8R>V=NKs?NO;@B>~Gzz+mT7QBL{c}0rR{|j)pcZqi~x(TPati*eG zv}l`T$=0+Gcpb-s*Wz!dS)zRWLKU36z;pD1z*~~MNmacN@nbOja|GZokQUU@&w2hA zm_60mAARwQU-WL~8MWiG~Z#GTArnTME%7w@fi)CFrg%#wAiJqd}zPKX%Z3qeAd zJBx%1^qcyk68KV42}k$OLcT&tQ8*3cEtLi)Augm{Yn5;*bVs$bNy?vs^l_3Gc-!%( z334cE<8WE_@a=E9{cu(gx{>Pfr+Y^M80`huonUb1)FJ7j`UwVH7pugKcmcCECkya? zzwz^%*7o<$ZT$Skx&DFUIYMDmGCLb96qNHlgK`rw}0)X&u?5i&_DmOTM%@N z`KQPe;4pr|rJ@QuRI5DuDP+e1TzXUPc;cI`SDUoG(fNkF#0&yw8!;a-XV1}Omt^LH;KQ)r#e z9JUqp(>-Cr>A9T_>@S$Prr{yp)yBVE8*E11cgXy%iX3koq)zfr^ z=1T#c$oikFkuBWqT~hO#C!+_%9UJD#)oOWe!;X)CeD?C$*~?#h`E0Zht(MoV--)ir zMCbNbedATzeS)_oeQ~|p$QC>C66gDK!`Cg;Q5*DaXI-KQ ziPs>ysY(>~Av~~a`<=y}p5mR`cRhPD`UT$R-zZA=3YG?in{E=o-BUo5Adpnd1R9p| z+`WQ{>u}RC0cw_TuLQ~WyyKK2aP*E+&-{e~f1BWl$9SMy{H0g%7C6g0ASnPCGPqAx zkn!u=c-<1Nyp*?ez#kJ_%2QCxbVSTKIA%Gse*tyx&CJ`FcQX$%A7DPre2jU7`4sc_ z%o9ZFTjcPsSQ4_O95rqy8dI)w%Bkb_17A->z*mSAjcSNwFzZX&ut_)kaRX*L3;?lq zAZ_b5G7aKX!*zJq#uRG?lLC(253=}EkAb>-ns}ks4>C1egG@Gu!$vKK=fzMjzz?kD z3bs>obIrCRG+n3IZVsU;1$0;UzX)gC7VdFol)UFJX_L2rKZ<^A3K;nF!+VC5^Jjn_Q}4Yb`*HVHazE}Sj&H{TzlCX##Dc`_q;E#jXP#x| zK?YPn6^wxuU{lvubJu)@7<`@-Kk&KsDQBg{XJGM3%Cc%hf22rsEasnN`J zCJ-XP>6$cm#T|%^;2wSdI|v_{h$G z&p%H3my7s}=Qy|`Oxz7-!^BcF5(y-FdPaMC5q&QkrZIrP%@S*7DopQ@kl^NT*L_p zP~L>b{;MfaX#(ImMC2jG-wmP9iw3pa9Tg2Z1EWXOAG z5O;TWFqa$5o)^JQlZ$u{_m1@9-?eFiQf$LViFE|7$uH3D^)i!9*k-cT26oxGZvr z2RvsivtqVB&JX04Ur?`=auG)nAmDk(D|UG8<^!+RIRU*$J|}*BD4h-&5yOb=C7)T~ ze&ip>J{Q$@e+(Z~JZFE4`6cs5qWlH8oItJg+e5`FbVH8YZnQdLOVaBEXTc9ryF|rw zj^C60?S^KnGeC&mL#_ZJ&psg9{l!1W?luWnLyxPEd3_&*8D1!ILmzc_}6lPy&_{ zmDlk+?!CNljKg1+I+u7t!P9e{jT zBdk?M;swYG2L(rwLwE(Q1+DJ@5f4ELlZz@`Hdet|1zixp-f}eIOe!Gk1SR~?xCNmh z1prV*UE){aw%`$3$>J#ju@WZ({s~1>11f>o!cXT#Ef`4@jiBOv4R<gP$4htO_eBQcZslUax4n z8L+fKTII;Lw1S5ifg2WhP9qB+kFFDipn^oiO7vBYWXhViMf$YrfIutc18NR+bH3jLMi8V zB-E7nZs#1lU;r`&&xTAQ&-0HZ|N@KKrKG<*kuqwx_UkYCR@zObsj>9!x|_VP0R?pzmGX9Osypco)21r!p6Hdg<$8=ZY zt&plnZp;p3+(0@JFpPV$sb;#mOpn$x1GOEIIv)t-GyMap@U8#52lSg}dMnjbytt5z z*_JFxvSr7Th57H5Qc2qu&4?)kbt|atbOQkabWimiY14e49SR#kSu*srO3ravkI}Pm zN)Je~ECsZ5IISC!OnHiT!XKjD%plPy?W)sN!NStLfJ=fxbao_Lbw2t@sR;ZXX@3o; z-k>QpK)`_EYeKO=L}g`7g{lzFIF(d3VfO?=S{M&D883PeNfF%~jP-L|)b;+YWJS}- zUOOGc%QeKS630SCE5o-HGFC+8lz7w$%5Ey$I(yH~ZEKq&;gIGSqGVKDM{W-rjvAcI z-L`CI>ng7`TwlK7tR0(cZqg82vn%#~e9QPyk0fzQ(cgD}FZwIy-3+4rj<^DzBi%wf zL;k%T?YPftdYANkFz|cel;+oE;3q=!bErMf-*?~FH}BZ-#0M|z@L}&o_u?{w6q~4> zu`&k1)JTCwvu$NcfRqdWAbWfa?9wj2SUgvI7Cw{kUN3paQGS*8sP}2uf3ElJ&B^43 z2S&jNXdM9R@qgH{gJC3sO@kgm#~7Z`m?-mmOgAdP1q0w&AI%mwx0@{rM08fvQK&Tq zOGDgH$)EH~Lqxx+*?*EcGNF`4!N@ zgctAVbZv2y2rox~vL8twpon}|isd{>4X}w0kO6fc-H6ypQ{$XaSMA0CR2!Zc#o^nN z&}nsmlza(c$fpZQ`P7&Umj`fd96a9$Jf4h5)dwl%*eVf`I&~pocR-bN5TYurq$>{9 zTOf(6fvW-t#8?I8ikRKeA)&S_kg7`g7}mu4E9AQ=^lK*A)M*&mbe@Ejj{9?5_aXX% z&=jNSSgCD z0A!OjWG$pjiFheaR6>Q+xRdTd$hL>m4UuDULmFbrk^`IwSxyVdxZ(J8!_DUUk}*D1 zuz(0eNtXrqCIxf51W{WM(VqZ^$qs;LEKFiNBkKV{R9Q(uQeSLJQSv*NxBy0$N8PL` zBQ{?R+L40I!XQW_04(Z?#6rsny2PvPN|D2qPNoPlrWi4i5(o!D*hZou2%-TwP2vHN z$?mp@AR%Bxm3Y43Bn=4U>9_<$$SpBzXgQMrY3Jjm0NS0A$5>r8^Tf3nDva{7qRnwq z)P+(e9@9%4CQMkKOGsj$BS!U-768f;OC7HpievKNSqVQHNy=f4cyPw=nT9|)N?sNL zWI*&9Ol2Vn2)O-l1#nhOn$2^9p{bh8$pNJ=Ah8M;&}4uDCLx#=O!^2~O^{-a!wHa= zZL7~Dt~5lUPx4#KBb0%0dq^w0H?SP za`0Ip#JP@8ECpL_3#Z|NIdaW*F?adRP@qXETx>c$AKhPqiqad&*A(ggc%d)-W=*T*lNG`Hkx)tIYnt}vbYCHUzogXikzO?O z)J%Z&egt{^Nw1&Xd#)b6%Uiws$=$o31fM&&XN7%F`0>@BS&hln3KYECR_{3|hwnOk z?%r8EQ0_|m`+$E$Pr%2SWz1R3KIRZvkucYemj=|}odxuPl0fw5sh9XQmTIJZsKg&g?~9i!XUDKZsM6H3U=Plti6u6;lLNY(Yb)>qb!_7e?p z5U-9@<8~ynWXVROFB~U&Qt@n4=?|~&udc6D)_WV;eOD-W=5!~sl?@gA8{7F7nr(P6 z9v=kz4qXHvi-qyzcldd`*k4^&sjRDx@6@Ja)nN(|o{oWhe)|q^wdur3QZY4?DOJ|( zTvz%2iqU&59fl(GY&nb#wn@3|!5Faay%)2aC;oEc7M4L5G84=ZOnWm{SC^OkKXZqXFe3v+GnkJ%x~4axQI;)zs|rDn8bp@D zOO_;sVtPE3l(>mjZJ?Mok|QwgDWV*;13^*4voXL+jIP+GYlkgI*VV?fC|Vp| z4$NTjywS<2B`v=1+;i4gf?*puD=k%ZEr?iFP=cvf)mv2}M?CQtY6tdvJbRRxI_8%~ znJH$LS;eelHW3Vq_JZp)+*y6qD;M)C8RFW?>Fx$lwjQ^iZgtF;sCJWyrj%f;B3?OUga{2j9P)y5}jdOcGee0dGjY7XIYLO*L?*sek z-;MkCdq?;0Kelhb=k41Mn0@@9xKaQFcFQGVgV(vZk37VN`>{C-wh43 zSHtU#)W3iKO$UCn{~h}~e>WY#e_fnp9vx*iFuR$D>8^H4OaMd9;W;)}Ri@-IV%pFw zO{uN{Q)miRk-(*7Ln&pPhT|Gat}0J}DY-EvHyfCW>|}v^i>ZiZC_G-jc?q+&hM}vD z=XW6jDu`YssW_1&V@4eDiWUf(X3)@s5bXF1AQ1mrzzT)q$xOcWV;NzJC}`^RXa-@L z+#As8y-=X{27>{-l6&ud>AmIB%PJDq|I)1pUf#~~UhEXB%PdPCgRT;BM%~agi~m{7 zwF8X{zX}dy>iXEwC5@`Yns0YmJycDO z4vp$VwW1gXIL*L08u}>7aaE@z@XRIA$;jjR{KV87rY7?Fg^2fLKwk;;=AfM!xY9A+ z3iOrP;thN3jP9o^%~vspnY)&XHKefRYu|=Rc8ZFety0=emqc29kKe-+te|FhhpJ@irgk6-g=dt^<+eMDMVwgC%5# z4Nu0SFC4yRFenS5pzdl$Zz+=pLziE1aMzac(VRD==_xw~dyB7KIXF5Pu+-L?Wh<8* z%uS@D5i_WQbxV_Bj;(|Pyd>nNQj(PKTLsYN5OH|UVKKR{1;Wu{*)hTYt?o_0Y0-h7Oy`4|MPs$chae@uI{R??x}w3ed~SS z-wSlnjtKp+tR&k;)X0?sZL0C(ZQJ(DS%z3n^+q$r-G?t*F9bTaL&!)H-tCLo-EnNI;CLzFom@tFvx|5v8nrz)Ch+p(yW(nEGQneOIgJJ#Mi=nO;1D!jmX z4VLo@q973LP>JUaui+Ie%mRz1kp;66BMP#`5lIGLB8p@YQ4M0|8jCj%WU|S4D8@2a z3R107EEP#u2+KuSHj@?Iw0wbJI2@0)r4#rnGnMsK(w&+1v>h^H`9LwC z@w_C;q94BnmXlk0-;bjILX)10J=fy#+tRP(++ouk6$BuuH9*_}L1onu;L5cWNwyVA zp=n*~nh56Opb1YKXn|>D(ppnnGeXy{DXT_ZVC*TwUi3R_{_uFumG8da=eIW`W10ey z-!2BrNloN!f5`MIvR76GE7TWLY)P;+JJ@5hKEDPSOt5s!kz^SuDhpA-j2XTmB^2Zg zalthsR~1-gV#Ig4qzjNMmO0Z@@CXS9&lPmBvCNW~00VgmLP-c(+me-z)TNL9N5<#% zMG*4pK0Dh!Hj(TZKc{D~+}myI2r|4C=;#?=ps-RfDEX4Z7j}yxW6Ec@o5{9pXX-LT zO$QCBYbndD$N{eu2;m>tH+TKF_9|SeQu$3*mzCk$E8O?}^MFfS0BRXAP!l@>F?l8E@cFSI4~htJ9hGZ2ipnYZoqD zJO9jjw!JO2dj7nQu4B*kEM1)+FAdff&K$)o#gz-oL*-e8b*D6+|5s=;iZ$c!E^(iq z$W?wBR8InY!y^@QX<(YbP_-xqAGwBgUsE~<+{j<$fHh_3{c5}~-k$uc6f>3Uz7>^UFIT7$u z4ZH;I2ah|on&VpEH0NUgQzv5yoQxO1{)40K+oMG)wcrGOc-n#UgWEdiubSUU6L4{~ zSsZO{H0$eZp6{GLh12#3eB2}AzL>NxGzvU{ko0j`%(!ML-gVRNDOE)uIQA_wjBW@W zd-gM*alxh=PS`|)X873dvw|iVb{;Y8WrY<5@IHc(d)Z~pXFh%q-H6{)$W!!`Fi(97 z=BTGEo&zLiOPNAjyTd;t0xnI!?c8PMDI}jfI0@j!oGu_{s?c-JhIO@Cd+v{FzALW+ zkZZ5i)@?WkM4dkfLH@WW-B#*dvh3)xCB3D#wCVh%vZ`EOwT&c|{CGY;zKA4wbg*7q zxAENZeSOXyUdv~KQ~UOhpSy8gt=_oBxlt0p?w*|ko0l&s;=d)!HxKOW5x~1DtGBJH zR90lCoeOuQ&s)=cH*YB}{wd8-)@B5^3vIsx0@dNXkxF> zsn1nSDHar7gMmf?` z5rUcE-<`E6=d5+s(!L)+M<^C~p4utasQW#MDVI6fQZ?(k&yy~v(C`RBOxlb8j}U-L zxF4sDMywRu8!JVf`@nA=89ZYUZ;zBS&P1kM&VYw9KoiIdyJe4; zc3F!W_;oez+-{Sw?Kaqu+>`+u@Q@EUpX^Rn!p`jyQP@jhLu^$HY|!uwuQ;~{x6Inx zo=7EY+4IL%E!sajx#-ABa85F5_@bCAQi2L*$)eyjb-$#^mZS;$6{K7y`J+C5zX~Rl z{g9X}F#8o{Kab~qmf0^hHgvWp7k57Q+$pte9#&7A@!WH>&KU)FIJXUBk$i;Bb*&#dUnCP&Ed4ecg&Bm!>nB^rcHy z+`oLOn_aqm-O5D^E=Z!vH)k;3aS9k>A)9X)L`n_$Z zef_ixPkZ2j?a%&bJ$Pc>51-u*=E9qg9J$N66x?*(l}8#+fa~ldM{MUpa9xv+eh>Nz z+U!YDoB%>@&6d*Hb*VF_;N!?YFdbeM{&}LaH{Vq#%^1xj3%TB|nLD@l6o-apcJ<~G zW-tRwlz{R{@Cyk-#?1?_h2!YSVm#khK z?})`ZoK^J&^XAU47dqSX;1YZt@BRiqK@Xx%kK(y<8jnl^UX}x`S&&9Juq$?jU_sNR zBsVShNrNxEyDwMeL0iQP~Qi_QnpOl`e?&LF4LJW zF2WO?N|MhhAzroP9dVz*2USsG;Vx(>0?WqAaYnO=URpvyor#xY5-%J0tRiV4Ub7R0 zsLw0lDk2BZIZ;Iqu#_Z0TnUm&f?~i6paL^p3r=0oMH7I&*|sM_w;OeJ24 zg#s{^3>S+2aI6yd1%NlFjxw^O8-AZ^Niu}PO2JDIYRmDEAI4JURFr96Yvt5&#>EwW z5q%cLJzh`Nlk*IDW?&wVylO}$?3SRY!5-K*0^Qe3R2(CCh!O271?@LV4U0ub zhU51<jy&v{PcYdmmouUqQI>ZBlE~<1Dd@jzUy_*~Y%$ZqPjZ8t zP9JyEnaP)gkSTPCAyb4>hhTbdZ(CEm4|N@MSs!@b1$%0H@OD9c&z`OG&)B^AjDHJ8J%2YE2qM}?-9w{U^xsctnXz1+4UL9C5Yu5f#Mz1_CH`XYFjo`FlW~*#xMRi$0 z@&_7EJh2Ubn_^-($NLpi5y8#bk@+KS*^zl8*=wWi?fv<7;AC^j-0E%1=BYrPJ+W{} zG^&LaNu4pHG=wK~2+)F&Qx^7jFP%SU0fIfN`#Zbw#AYmh_ZF{iPuABo_A>0e*RU_`X)*|QW0F$n`~&5mU8y+-j36ZwHWzMW@^N4pAsh{k*G!E*HamP~dcItzM} zKNG=I(O{awEnzk;*PIL75OrC%yk5eS8h+u#Mug06ejl||L>-OK<|>sOTtU*tXSHBZ zgDY_AWUZW~E)1(G!fX`yww1S%lZ>d4buK1!+|!@_w8CO`m%lqSJNj?Dh{>Js{;(ZB ztC9ozNn6e}xe9nAs5#e=Ho<-^=={yf`IO0!g1ItYV9vxxp-BcpQBXz3S{u5QXx?S^ zG9R+{auP4f{AGq9xMTnC=vqAXeV&e~m|ghaFu>!VjJvu$6&19Ozl^5&Qaz7Y?a}v~ zzn~sB_?vHA>OFOM!8s2%vPcV-XYIWDf#nCcTRqu1J;Mr|doIh)*s*H&^7XwvO!UGZ zt{Yig>s@dccs1R9Uwhf(n{%koG?JLh3QWjs|!VE;?aGdncN`a&BpmP+CIR~em z8zbkkDS*Zr2f^4;aB#{8=Qemhrer}Pw-Ba3)p9-}lUzMZs2O~ZUWhwOb<5Jh7vcq- ztd}{*;O$y0PjijqN9bYHO(hi~4qysNta?avbv&?i5*xm5(O_qI z=+SRD0K*sX2Jk4F_%#`ILdBMTt!XdG0Tp&3<*OplWdIERe9j+0;g>a-gF==M)|FR#_Zzt zzbYCK?vr6B^r}4nOHSv0$@8igAItZOKvVvz^Sc-g{`N`32UE8xDdUB+1@WvG%%pN# z3i=FyME(U8wE=HHxLYz_*L>(ggg2k|x*^>y1iYXPsW0$i(+~e8bUO-oVtAZy^?bl{ zi{}o{om9H6PEAgHbMcTuicR)5)@(j2`4?3I?>rN?G(Y{CJkbVj$P*(O-!NJWJY#M}}opTqg5+q4jJa_i#ZN;UVmi6|M{#_{caTZ?^ zJHxyLC1DK6G8o0usmv?hpedF)FIN$>XuDCq0pxGqv|TWOz1>@R=GL{c=fFOyO))0 zj8&Z1)Gp0=O#V>)5JE5vwE~n%} zcG5m1CvExr#GZ@QdGY%Scn4TD@HbgL1oqRA8P^<=?WFvDL=DXUmz<*Sj^b%f_4S>x z-`)(xKZ+`&pi)Y}cSeAF$G*NJ1{{Yw>s&)|QTM;KvkLvjFT!-%#qsX-eAsi7=QuzB zlSL2)WX0hhV0ycZ7j=W7riSF}BLMP)CWM874VCmjNs% zASOG!kCI*=pP>>NzE>x0i6GEnVJ+PYt5h<>WC`(oqohIVpitw>buOdBdS9Khn{n;% z!@Kk*4mj|av7Mu%I}eg%tVW=?cT)Utd-cM3J-t{Slet3SszstCgZC(yd{_*D6BETQ zNK6q`7LysIiJHiC2?Xs5vdEGQBqKpEh%cGKK`yT70%Ji$RO`?Zi=syS3Ph6;RQ#1E z7|1BZIl;?|&R3CFk~o&ZhoB1rJh5rK&S(riAmKA*!@^Z%XcDVb1)&6jCTB4c&oQuw zIHYkR7W}-Jj|2(g<^WV=;=DpE>?#PtFv~#J;uQtLAIm8-Q>n};gH^#yrZ)pKU^adY zXOE4Yjo$^hySk3zsGq&A>RiP1bT2$*y`akcvN;pW7|E0$zz;!e4opl-Rf?YpfE=&z5`IuD#402{Wf2#m zmH4HP;Hq}Hh+n9ns8l1hAyrDJikVhyhmXT={ZDIiC*==rS~d@7L?;_Y7dpW07aEXC0oOw|Or0T;}oECo$&)htNDJI2ZmX zGuAX%0oK=y*z0HCw$!e)Vkq|2h*`E2M{vb67R>e117D$({9B~vlfhY2D_7(;hys0qh0fd%JDO_muzbSi{a&1Z{LqNc$bTJhOC}#B-1+I2c*1ph| z;uV9-cY>}wXDEEC&Dqi{>H?k3BJg*hN(A3A;X*%cRYKi7DQ69@(?DX%T{?=~*Ue+BGYyQAeU7J+>T^*Hx#vs4$ z4Kh-ycg4J3Bh`~klzz$LQ2+wSZ@fz~c*LC}Ma)$@8g$sf9Y!F7NBM{7D8CX*oS1x^ zm7iV9D!pb`R8hL3@lh=j&GjU`5zQO3N~xkVp!Fsay|EVoCU{rsA;1FJ>lH4QKeBbR zem@@2FO!xVXXoL$q}7Iv2eas-y!cSgIW+y0lRvV z^0MXD#7~DO0@YmJU&nJRmSBmCLEay*ffehB$2($2-QCyR-SxXSZLIfaGvhtwa(Tt- z$5*c`RVt;GtG9M_mS;}x-n@Ze=x*5T+-w-v1-#we-at8cwO2C?aDyM$kH`Hd?ZD~f z;?k8{7EjKq)H-(!uU>#z^{$S23qHSKUT2pW^_PmvRz9|JX{ppG%#)RmEail7Sm2`E zn5NYfVvIs!bN&Xun*d#-AW;DpdrtH0@*MEI*K@1q3!aBP-}gN0`2*%^bdY$fmvi2g zcHN+R6jb~F+xh?J+h^CsIyz$O;)TLKf}6gM;If0<+ZA?_<2X5UF*#mGVb;I!f3rI5 zF2vS1uYJ6EAwKc=zfkJvZliCx_@6Izg1Ceh$2uOzCA8SIAO9Ch-L<#lN71{`7#`Pg z&!A_Hi6z@JMF_GtGvG{9XF|E-uuA%f%M3_6M%mccs3lx0)-3f=+5RHoJ%kHT-_xnP0k3eT1J z`}Kelq5I7M(`3m!O~Ix#=y#p(X)#+OzM{>@)8x6zR7*typV3tbTI`xA=0`xjxjJzo za8t9LN_}e4xLJz%nyD$Cgi4ts^EB2(l9y$^FsD#R_b%v=bg6%1KbFHUB4^3e{B~zk zf;SNhMS2H7Y1J94O4Y6zr$r+8$^5RJVBtiDIgSJzP zq@;gaVZ+VsvkQgUOG)BE(`48rwWxR}DHf!w)H)S#JVBBoBAoA?q*v$juolZ(r-F|i zxoOSicW@dz%Dt1|+6aK_V|iZ&Y`ONMYc9W?1MDcPQ++tWl8;mSmFmA@zhY%`^vfX& znh>0~$%T5~^g=6h-u5-CD}8;H)oXsx%4~HWC2pT!7$(UT&$r;=pC@%t{G@AX#<}X7 zSoU)EVwvPI$TZhMpGUXR{^s8aABV-?cb`a0K&V8?oK)F+nd7=ECXGIWb*@k@`4WL;BMaJqQ zYFXj|DdM4ynOD#Qo>XP@u_Yi^rF_e*^sZIOC^5OpxBsb(uFmK=bPN6sY--U^COT~& z(L9j#?Iz|HRmwqdVlE_w#7PsglZ5qzBeFjx{mzQ{{n{T5%dg!68f$gSJZX6i$FbZAw_RU<8qtmZ)h|CS9^;m zAL`B;2kv@}iwj{}t$@d^pvLIHZJK3iBylbeuUwu%tRU#2jrsh>uqFsB%5Rv5hoD#1 zG})^i;cW3Lk>OZAK=+-Z&9NMV^8udj!KW=vR((EA(ku}5_fN5Q+&I^;vXRqNtLY!` zOY|g)PqW3$dPXpx|0Wb{`^`s9h99K!?t0sF|3Pn{ypP8p>|Y*Xw!s%Y1)--r4#A{thb|wJs1;m^g?j$ftZ!Jbu0> zk!EOpXVbN>DHMVp8srT5G?>m&GcraOM{>oEZOPOa8^cgZN;+fPo$(vj`KP$c;ANZJkSC z0q=5+Z+&n_v@}qRhPrFPk4ECP$y{|!CAKwG?FrFxYhz^Qyotz-)=i|9j+g_iO1+ZD zpDS*xlJono2eI}T-at#YP3DRurhOUDd>T!QfVktIio&?ZNxUo#SZ@loo;9bi16`aY z3hdsjMt*WPN{%1(JDa1$NTe7Aw^9?_U_9V#_9qg4aBCpm=!gfvt^S1W*YOqPN@AxQ zmJFav;XwS0(Oz6FMtlil_+)Psa)CIlkL9=@IGf2qm;~ewyA|mz^njl5dzvxTAAt|z z@jT{P>DkeGu09gQh%jEZ>xXI6(B{CkJPfoVNu|oI0I5BY7?Tk-zm+Cdf9~_T%lv@L zR4L3GQ2(pF7@KwRBB5`jy0-DR+)PZ!f|1U7UEuZ3d7bqh z32+l<%^2FAMk*KnDiS$amn)nubIVzQ$BC@7eYl7hmRHwSb8{nHX<11u_mA$H2yGs~ zMc{?}cwQDcdpL#L!&_;Ymyw6h7^?Sj2+Gc_xXDKZSr$IfN7`DBS(@dnF0*|fAcc=` zBGXz^{3`q!{{CZx?;`5*<`de@V8cY=MIV#r*b^XjJi>3TF7eMj$NMz?;fL{ix>j;C z7XSS7yz@hb5k+(_@>(Lg52_#IpMQ>=!WWQ*F|xNb{<-J*g#dX)SeHc3D>l9>h;)tS z1#|_bONTu-d+zky=Q&FJ@Uoda(bMHBcAys)ZNk7{+Maj!_(Y(TH|u?V-ba^jGCbjT z@Xth!ihQlkRY-433z|K?u(q7C(4=;c|xKp(^q`K9)oTIgVV(ll5zIt?tuJyP)Wj*YPHee8p#_x_*x* zGjR6ib#3zmpU%(c{rrQx?sGg?ve0zN`5HmUnx20bSqgm@IrdNWg<~K`<9Gpr20+jf zM3Ld)A_+kRpdevl%WwkGGeDMQAOR+FAB^;if&%dbGf9*X$KxEXB{(-px+a6uQ?aa$ z`CUeuXm5NiQuM~4=GPzGws9t}`}uJm2#@i84Xn~|0&wyejY^?Eru#K~oo7mBeIJbn zIKwlHDfr4}+;~ck>O^omIp|-$9*2~!A*$+aLNL~vgSwudCbVX!Vd27uoI?Yf2m034 zVb}c5p2fZ3;@-tQo%6d;ZC&5MX5+X=2#9xyP!EV#2sZz7A>f6A_oCyTw!XeLKvL)D zbmH>(Vlm(7j5B9|{ex$WpggK9D>~PdSCsJv_7|5`aM8#agU&Vh66kfF6rpeTynQ!rpFQ9sppY;HgOY?{$ z$})G3uaU6Jm|I3|Z+Oe*-@G6ly3x|!tNGp+N&zesxV9U_o?{6Ok$88!ptt6q=g{X- z7u5xp@Nb8y4;HNeAwQTAPo?vez7l0G*NRnLZ-TMdfmW1iehM*f%I=*kFJ3CD9FRG$ z$~k}G2o5aXDHbVG-n(?cqM;?kUhmd(cI-IkR+3vXv}nQ7c{Ar!Cqww}`pp|RZoZ!6 zCaZI1zNpfAsu#Dx^HYst&Z?0}%vg-u*m)ai+(8!jpXweFDWi2L2KV z2Ul+D$mvVO@3fw#cC`T;w7gAnM82VcG{~}TbC2m^i8_YX@@|+DA`aDZdH2=UAxH&5 zCKz;n5uCt@ZR3MAC#FiVuqe)B z5E~2oauQ%58w-iz_)nRz8Sau}A#Y0l4I4Hkv4hfypP_%p@7?gEFpoQzj5apyT7AYL zX4=pR2aXqw58XLRlBP-?~ zKC8d~tivC0cS{h%aYjI`&#jc=D%+irXiPj+Y%||ymb~3&Uhb13Q4}vk8w=@@ z8@~2)<++v0+_DqRML;0J+26E*JrLl+N5Z+*czm|G4w1xf{2f*zc#g^r6pQ`s)=0+x zw`|+;|5g;T@PNxVy9*DS=>^XG!MD%A{$K4@3`nL2@PBN3M~)ry&^X3Po+O-#JL-1Aj7vrm7 zux`<{grIblzGxKns*Oj9+Ya~&7RWVcVT7Q3L|`vYtgzSl^y7rHejM`y_d5GX7F>%{ zAUh8VegXf13B1Q_2#h&AX$D@bdi^mA*KQnfn*y(^mRH?iND8U0NXF4tR@R~7JRsoe z0UpfZc@a0|Il;3N{Mdje-PCSRjpI5U$F>NtEJR<4NZt-#MY|fQRI!+X&*Dccra8{J z+PRwJ;4d2~Ne73)Ax(xqET$XB(#2vLGU;MJa{d5J)c7vuKAv-a1)@$;#=J$-2Sq@m z^gD`TUYKwZCkeJwrd}3_(hYy+EU_XH3*3#<-@9H9FF8xV-Qy7pWyqOhzpx@bq&Vz_ ze`#C{54FCFU&3GGG0I^1TO^V;vg;_5Pw{Z=xAs2sUq`;Z30%7g4mwx-{Bdy4qmOzh z9vXc&4Z5b+?pf+t>sjYH({q960GTm~ro0L*x1+Wfv*kQUQweMu5y+&hmM6XD`qolY zm}X3+(UxC7u}3C&XvEhJOM25Z@z%6_eOewk*?G^@#sQdFg*R5m3D-APbH17w{#7BD zE5J)Sa=C8jJHKW`pV$T=6Otg4OD!G2Gjc!`0N2A|PE*31VJ5jUo`#(uUu%c$^?al8 zT~U_B?+S{-KY_&+@o|!Sk}MrRi4WP)Dt=0#Iyzc){_4C@8v*d!`GO-C^7#(%$L^f- zNk%Zld|l;4s43NWgsFB)VE_zmtiVY^zz#*bV<8kvu563sLAGAVN6wK=MKNXPJBlI8 zhH{fkc5=%G^m%kYmXpcvWwE@KWvzS`f@?wdGkwmVoImwF1G-Vd`9s%J&X2CY9&|s| z)v`(b1^P1nts`W;jZG8K6ik7M8C%xEe2v8t*A5GFGFkj(qTDFRy1*(d=5A2EhFAtQ z8iEc=PxAOPj$F=K%;g{=a{Tv-fM=Z78T4{D;2w023Cx~7jNlx5kOSQ>qa?iQDpr<2 z=-a#(6o5w*k9!Kh%YWPXjl`lm;C?JluwTgn;rGAiVfHJm;57E*&Puqy-$MH-rk{_} zqCQX6Gt)ESS%Sx$2jov)2Qd5iOx0?BBzDSA_!mO5rpKqwRQ&(o2wnJbPH6niPN!{n zFqq1||6t<^Vv_=XA@O%=;tpq=Mmv2NrviBA1GwiQE){IRU@8@aJ2>&P$9|$p&=EE8 zupl)al2quGbO~=?CUIG{)^1uX@qai+O%n(*;P}4nuG8rDDeuvH8lOoQ3Te19RVbv; z*vQb<9e*P6hDfX+e9_QI4ivpRB5^)_BGuQNyL*nkyyB{(m@K9032r6`01sC%^0URXDp^}OP zK*M>L@&D5$U_gEXF=okR(NS5t2eICw$)KMp;3e)GnA^7n_$0^u911uC?&TV{$WMqF zgF~Dm%kCLjRyf2OZQ{?A%jikseksf7dmQ(l=;V_^+gnd^Mh2gpT1R^r9mR8p56>G# zy0-qd4$Up2VGEV0o)DFqX3c)SLV{FnC4*+`_CL2W`@-35Ut8O%a$8@v6t4_d5?G8L z!Dn{7h5&XziN7xyA*1j$GSV7?3r`JxFk)CzY;NWpuH`YP8tfxwc{$qo}a&1T7LTS5>3D^ zL2aM2banxssh+xHO~}9Mq6u=7x%(&8?XovvXkzs2nKRBD9zJt;bVtnII(u@7psK>E z`Exru0gz=?kLr5Y*@L8T)}`fL50;xvmzGnSe-xdA#)-}^n>*p`;{sgT#2cMjj`q1o zoC!d#fpKV4^t@UQoxywA!B4N>y!e#%g2d12FYg;4;-Ml5+)hE*$$MqU56!)HU}T}u zbLM-N`hDyEeUO8DS;)S^E&h9(AKSkS`PFmUT@Ir{e`;&A0(j} zO;i1$N}RULZ_*u>N$)n5#wUp<7+kNIyS$3?QE~vbDc;|Bm1Dmnu3adgn0w#xvKC+T zAjJtF{$15K**5;uI#>9Fb0)R#`v^{dvVZ$FLZY{A|MLzvvt$1`8`f3p_3FBfKik;M zfNid!p0k<|bA08{$jHz(oFSM1%gGhbH0x}5hSX{43~z^@pgO}G(P|QosU=wB-~O;w z)}6QC=wFE83qS$)L9=1edXg4Wy=|q6h#8xvdXPCAAz4DZD!LMqTD3p z*mCuzfCE=S6g8dWCR?bQPlG3{Y8&!7jCURMgSx+(!tEXdH+fOM>UH{!CO`cR_+{!d zR3}kE-+?B*&8y9r@8}u`!T#0+_~%w;|C9;VbFIwoj>(RW$rU8&NYzuR`b?6*`#TDA z=G{4WP6z&*GxyGUa|#`eFK4qOV;>wFZOi4_Msa2&n*(1c%%yc#%q=*tB;Cq0>&Yp( z@*w^$!=4(A!jht^_vEo!@4sHl6GVZGOTiMx(r&{*4W+a{l-$&FX6K)`~QtXaNIxbP)ig96`pMUrI+TD$-?eN(tAjJFRm z4ELSy@JKMY=SA^(erj#=VRQlhCM;@wJA@@e_j%v6r1|FHT>LaH>!kcNS5WwOM@!X{ z$$AR>DM|Ldy(vde_4X#gYpI^=oU5s+%_TTJ)%h{acjENGeI$Dy=D^VyuG-j@s-^G- z--nwz_ByUjvN+wV7z*CLE)$y@`62hH`JLnBVR%25vBs%Ap{rz}vrr72tb#!;txc`h zovrME>lWQaYofRds95SHHo?^U6;DD0k-@cjMW=|1_Rbo+ARmbqmlY#1qB8mK+S=;q z)sEOXuQMFv0mzT%qhU^AQrm}SoHfA$xx2q}Ue|xItiUhlWSy%JoeXP8EO=~U*I0j9 zC@w2;k-51lu{N&`Y<9lgF~2i49NIr~rfb8CMg@ z#M?OX2Q{44oJU1Q0%KaXspH>4b$WRsbL8kccz~{J)DeK@I}>@InjAk&4txh8%KzQ3om+=Tn>gsPPWxX)ElAqe~H={ zkhzH1hQGsl?)!Za4L+mgBU&S;!Eak+7s->NNF+-4(Y)HoY8w1cH6JBs^HEQ0{q$WZ zf#s9R^p*Zf3y)&Dfa1ay5Di}sa37X94gJkgv!hwOfz3qa;oRC*F1LZ#G8NsgXGfji ziaMqM3wgf*IOjegi7$j*IKgMjZH=es#UG;;PtT2H!PTl?0N3De*)KTz#nxPQ6kUyJ zRMyjtd3+DG`Irg{K!}w)&WBuzRdGi^u$9E%PG+CGvw!%a-&Oi%oPQn%T5;&P02m&^|He6Riwb zp$Oj+fME;Y;*Is>qKB8eS1*5w9lITi8-_Kg+hMToKMW2)m}LEhWH~PU;u%n zt>1>=_Kabfyhyz$Gfe}SCT(mw$XDEGLI3QG3BPwQW+Cn+tVb*J;}eo%E3#DUH=0s?HPt#}eSLnSchTlJl{I~{l`DeP( z|61{<-C!&y;t>&ky=h=$SEjy|ifd|iquSSln^7C%D+xTO3k%S@S=hGfYK zkclVvY6@MjSmkV8R$|HSO(Sgq2m@^+o4XS+Mb>RzStT2W+?I{NbU2q$4C9s%7HfII z>`G^yn(6n_7%hyox+K9h}d_G*gFcFf&Wi zOlA8u&OxxqxkV8K1#GTd)AS8Eigw|#K`apaG0(Ktv$4fVpD=QuWP17azhTFm$_&Hf^b=ru;gbmV*M3;4s;HJ8#m46lA;dB!H^mKf;^GQHrsc9d#it4M{@poRwZ-(HsxNFoj zjHnCKQm)bU1S|z*s(dY?UXacYc3*psO*9zT6Hoj>U`JN-0fKp|NB>Fc`jSPk+s ze)y*!4)GyB$9Et3^x9h>QZ*Qa{t!t`8T890j3O=MM^UJ%T;s1StH^ALwSy8@N}}L=b@hQ9=w6C zz(w|zmlHC;hC)1Se z--5aYS_>5!D>DTd24Bfj|GGSF{--!~Fr(Nr6CdsWbEf!k>U&iVEZBquQQ0>t6{ zqbfcIK!{ciu3H9rA2p1Wy%t-me9Go24`+=`96PTNrH z@2_n*ZP#a$7765PeXqHHG9~J!F46??g7Wd6?fu(MT~)4B%BxO&^3;{(zDyZD)7!Oh z@w&>U4pBPN1z@_Td*PxlFJ9QyU5e?iYNC%70%j_l8qBMzphe7J0s`=}V2)dj zcnLHLG3VS^0Wyjf4fS;l=HjX}>bG>DAxn0q~ECrsGSYaASX_Sj;?tMYo_PsA}hUCYrTu zfyIyWA67ajGAsG+#)d#55rEftW6Vl68G2a|kt&j9c`X`<71LNiQ7y$ZeIb({%(vbaXlZk<^*2Xtwh2|7bpr=ZS+2VO zc=R4(9D^keNi+O*B%aQ8beF0mQkbIooM%Omgy*wC8!z%QFCk#Z6P@kl&T_UR6yzp8BxyyKi!O|_G3;oW7k>Y9p_%#I|V6Gt>pQNFEIUjvO&5s zMzDC%`Kg4}zl0GCnb)j@YH;E3$>&+ZLlaUdH80*gqDKN1cm zlakvKTuWzp6yDP0e<%MH4j7&6&B@a>SnB9NOb?;w((PMG6x^-b|Jur2de-_iebs8; zn)Oe$GH3NJ>h4~&ktDszXeb^JMaSIT>ABq4%v)xTXY={&IL?gaau6jFebviqeF^;6 zSG%l=GtM1}zOiaNULEU8d_fc=u_ytCh{hsf69eJ9=*y^1brl}aGzn}iHI#{IFBugS zQ-J8LnqhDA&4oMg2KV)4vR^;$(F1|FwEQ7X=f*kk^%HsbJizBcR^T35F2w@@a_E`-KdCplA^08f7{!?Q-7f+5R=^=uq^IDK%+hQf}5wkojMQJ z9rtJf+yj<%dmzUG0dOAQ%;C;Xo%L|Xo#O|Y-RKI>UeD#8t3B`a-0ZoXd{dNs*uN(7s%cymdE0aOk-?1~m+@o=a(lAfrx#li#OSX*^saJ>cv z!SdrTj4vg#nNWbmbfms|$J*gySeKA0V>-+0(cJ7cXD^f_hATPe>GBP{%(0<%8!`Pc z62P(-Hx0jxvqfG8H(;Lhd*Hp!dEg>RcXsNQARr_u)_;;<;TLgyAe8x|^F3LIfmm;} zP)ZLMLj(B{K^VyoO!f;Zu_hGwM6Nqo5oHqmPzJ@ph;9HSC5gJg>!m?}4)2n6Nfn_S zkU+FI_8CEP-rF=1K2PFJ=e@EHu6taT=l3aLwUX?1^3H{rCqA$FT_42b z-u5i>T>DlQ`5RLn~f55qFMb^wjrstiX$I@qyPp}T$@d8NWwc6QK|i~t@mckT`P88`qA_&eLT_8JUuo^du%KI6CO zgDC3BdrH*ru*vgGMbRxyy`7U-3qW}hB9H2w`8mXFf5}gm!jFoX5$HgsF^-C?@>ed=xRAEeqR7U^13rIV5ytS;ofz z#gd;6#=sAK{_dW+r5Q478Yy3?!=LF=%)YGi#kRiQHZT+{I#+_lir2Zw1dE+-nSOA+ zHWDiYiv``w;+bYvz1$`Fy>gbW^WKG?M(b(3J7WKXB`cdeqL~7eB~KA)o|@sg?_x@p zx2J^pRJB5ALoVBj!9dP%`5fDP5zv+CxmAh@wm4USAA>EXg7*iXE+jK7la3`bgZ9J9euWcX{gRr%2b^-h8W-_r1MZ7h8d)#J33!h$YG&uOv5=7%J`{EytqP3D zK(>9^ct~bg)$B%zZUf7yzt(yACOL~=64~dB#s_Yad0jDb_=qP9|*Ue1hrox39uaEdo!RnGZTMe>62`oQe@P(2)qL(Tb9U?kxD zMPn2G8#b&nptj_b6SH$2EjyM!qOT*#W70cO|JIa?DyqR4oHp^GhcKCSK8;EKZ)1ey z#^9ZV?*3o^ACZXw;G_ST?R>vUk4ygtd^`PL0001ZoMT{QU|;}Zh2tk8;`wd9GH|mn zfWX5?bZA1gX`yWa{a#OLqtJ_n~n7@MGr&PVYz#y{>s8GEuezL%;FvgK3XZ3^6*5maNL?4&?;Q;tx z2;s0Tw+4Mf!+o0s_sJDa+W3RzDQZ)iTNk2yWA~7DrxAVCg5vx~BQ= zm|`V)MeM4eo_WA5`^e{a6)qqL6kmm7Ro`81(}xM};CG1sn&=lQD~kG2IU-dqKwB5NCR~%rA=HHTz0x{H5OB znn2W7v-m8RVPgi5-JuTS6qwqX$m4Lvp=e=un)A`}jAl zyOa3cB;(IOF7ny7(y!$H*iOD@!?tk|^Zw6fIf*>N;J=m^@=x=bEvCjZbPvGKI{iGd z`L}Gbvm3sBVUu|d?7wU9z2dtLY^)QxTGrU?+>?-B?tpipZ{m5w{7L(4``eI@?D}Wf zrOLTRAJZ{_4^EW#v)76NXTS!Bt-oh3>1&yfJw-2Z2Ph!;{cAUIiOzyoa6Sbx&r)7X zesmoZ=ktNLx8||HpTr8s#wP{tn9D7XCD_d=7ZQ$HO?@#_t*pV(+jM zzcb`rcRnkRga4T1a3^~ziSAV>d)OAni5_+I(c)o`Q;i_+)sV{?Fanov)KbO zh4yUoMhTCOVGh)IS1`0?Lhj$t|KVQP$yM;oaiTV6N5ZBZ+2_8Ab>U}raU{-heBXG3 zsAnMV<*9mKH2BVH7tEK__IbEZ*=G1}Y@3Xo)aLQp^qa&ulR={R+#jjCB{9riGO-mw}h?Bgdr8gQRAJ*UYBMPNCNj1_J_z;I*Q<&FOG*4%3CR`HeHHRLFc)tK%iz}oh%qW?>rSM*g z56j@SoPH_ftf1!#c&zl5R^j0)G^~chYB1L@=e2248naD@`#R>GL5~giwvn1l`fmbv zGwWO6ycMn6c-}_s4m{oo$6fHr$&~h>CD)en$lJ$$K0Nlr=h)*&An0|RGj$x!Mf5sJ zpAvYK5~uL%Th3D%YiID_EcxZsotq|AQdf=V)o{9sma7HQHD-DZ->##(2Fx3r-y5vm z43}=frxx9}S-V619rWJCk2;>~@bFiB{|(IF;n)CP1Gx>HhX#5)r0+v!@dq0I#H&Y~ z&qtiSzsUb@i3}rIhM7Rr%CM?sJP}0{%4pJ($dKVuB;zTY@F!|yJRLyP%Xr33#s`?tJgv<3HVu-b*n@J*D_p09&<(qwcj$^~V1#+g7(m|v@ca-z27(nH zC}R+HAGs1S#C;iq!HUS2@iF^D=sT3>Pr_sjiy(L&&i!!uN6{mSz36D7OvWhoN7FwB z{IPgE4lnua7~}9i7W~if`g8hCpl$+n6I}?nPjV;FIT_C{55&TH^sEwfk)kG1efqb?0z>G-*x`DIL#v5~xuT))Pf zOnPi0XA78HsL7frV=LUY;_Eh^x1&9qIb^f8gLAZ#v#^WnE;Qxf({6C~aCY`^zV?E@ zmtJ{zmdEuQX0nf&?n6sHz8#>h0Br@#v;e$A=spbB!<_#k^e99_A!qm~dXB;CI9?s+ zY!uPwB)P@l7IQXA&{BfV64pzZSt<9Y@a|i9l);D3x^bG^({MTi?iuu*;r=XZXTd#- zwsN?Z#gu_d;WDwDpdY84TZG_=aT4>_bf-boBL? z849=1ESVpG)jyiRqp(JqABGd;45a@+{0fKTAbJkM-;c-}jLyM$IhZ~X^ogMUWB3ih z)1lx;qGcF8hf^~g%~9lzz>|^8=2Nsq!z&tnqnPIy_G9pFtOr5=am;r-8e?;0en#%+ zX#Si&6PV>BbWSGX=sAVGsR1&-r1vz|rt{kM75!$wZ3ceEvo;eiXTfPUkwBk0V9$+} zIS*Zl^h<>Ee0VIN#{#Yk(YBDBBwqsEi@0CRl~)5Z8SYDoWz;T5Bi}9N3i_<1&nog) z;qPkvT*Lla&Qd!1(>a&xnCW`XRR(@yH!`~Bb@pza_(9)v>yIt%dbFgy=)eviPrkUmGLISQ|1oPp!y z9;as!-kqTD3C_z&=28szVlYeST|)0tYD&R4g@$kGQ-ODtT)#*A_srok`B&(31r0x- zwHoYecyXOGa~;eYW>7P`k5L1%-Q~hy?StdrRFy<8}RfY^Z0`vf0EZo|3`dg{^ET6 z*GHB-Wf?BA%tBdK5YZsZZb_uca%_V2C$eNUA+Jf5tS6IXJ(VEqY1W=0|JguUO%sV6 zS#Dmkn(=DitXh^k7|%z_dLdKRi^;M)rpbCKTo&ImmS>EtSA%8o{bIEsT7voa2wAP7 zWwnl#^%|IMxPKikZ+H`71ob{d+ge%e;$`_#)BbThko8WSEI&AOD3H|=UY+jC@`rcl zdRbkIWOb{Q)xAVkAban5$m#)ypj=tKCdvxQmemK$P_X*bXCOQV(SNX;tO)XlpkXNM zL(vyWZ6sKqM9CUP{%~|fficow7Vp$nG+amd60DC-l{JR77}jFo$a{gs`?NKl^;ooj z7C^vlLcXktU{6BtWIX-?{a;kbibMNUaHrzsm*ujigY^{}XK)|yE^8)U%yN}A8|?|~ z&B5=va8G1riTFF8S`+$d`c{$#;pD>}BpX*=HSU@klH zVJEzHqIDPRyU@NHy?fxf7d?BKM=mqU!*%u5e!kw<>1xBfk7d{XdCnv|nZ3*YM*8 z*BfBo#P?fxdmFuXsJ}~I9kutszsG0bXU_Ehg8vJ+^>D3+GoNAWH`acG6uiPm|{wEBl#j*-hPK^Bcha8(7U)ZWFZ z*{@Ld3N^3t)BaUznuFDX9Nro1R^hT+N6Gf$`87X+wKlo3y?qF{z2Q#4=S_0n@+PJc z<+6Ry;=?}g4t87kzg;c69XY-(M5^reXlqX&z6b1o_{)B$PPSjZ><;wkNKVHZ*_|3? z``60uOs_8R>@tx6t1BA1HpuPCh9)sZh5k3!wX9RqPc*-7%wn(r( z!Q)|Y9|p#7e2JppNY+0kKboGS@Mbi8#(){a-Z=Vl4YHj7O8v@df?k zsGCCnsqmRb{dDI171tT~GK2o{?8W0#JomH6pGEy_w9Mw*%m!l)xO3q!m-TsQoyTnE zbLBh5UchV?qH7`dN$fAe^To_{32RH>pN!U}m9m#JM}E56DV&`Z@Zop9y$b%Rak5vF zyBgkWz~z0wPD4*Rb6m&$dirL-VFR9QB)Ë^qRWN${pW_o1d0l)X{t;}N^e756f zHa&KLx0B~x%q@rcJ>c`MVDII;=AknWyl>#R53GF7_I@z-gMEPYgY-Fw zHwEM#g4+@5kFZ`CDElaVd2g_f@fkV>UJ-jI&|l1XE9MN9z^MfNrC^uh(JAzt;{1J! zwlY3Hr#VY!xSpkFIh@P!?;LCAS^Ey`@5rqn_X7Mc@L9dcEG~j~30;+Ntc1s9IA5mM z6?*X9WB*8fHS?>6*HvbI4b9ityUuzI=lce8xPd1(>354~zKiTy=2A6Iqq(9UaFAe=_99kk(}0Cy|U!A z@s;yBd9UA><6SG~%?LSfrONRsm($i$PCM$`v+oy2l*#E7Mo{mcE2ndcoG$bUNR-nx zO-{FLIo*Tg1cLpZ2=IEa-?K_iFEDyh(~JAw!E*Rr;Do?AB%G*`(+4emrx9=pC8r;K z`|})T6Af|(z-chrBH$Z=o{!-&Bv4Ky7?E)Q1kJ=JMRO|K`;+JkaHLgN0`+Sd@iJC zAE_ax0kI1$bXbAXvW$=Sz5AiOx!TUk3LI+N!|(0X{#F|05p#leKC* zyo!cvmr{6=tUnAuIv=q-BH!uK|P?r?tY!t-wK{{hqC;5q((DJT-j{FF$kP@t!v z2eal!w%1xONYpt^j*t`N2$o`1!xg?C{OxA+jQ;0B+@ zn>N%WWk}D~Sw35qY)cngZu^y)nVFfHnfYU8X6EmoSvbk*-{(nvu(vxq_|EKTJ-VL$ zFSXwP`=9uXP{If&f=J?!1WA$`G=6mw2Q|x=9b2L*|lsWIoxA z>`wL|dy>7#-ee!Lfb2^alKsdcvOhV197qT30X>(k>z9sIfSevtH^3{C^?KA zPL3c)lB3ActsNJQ3> zaWX-gWRjdfP9!IhFOieUDdbdg8abVuLCz#+k+aD;9k+;b^Gi+r1WhkTcOk9?o}fc%jBi2RuR zg#48JjQpJZg8Y*Fiu{`VhWwWNj{Khdf&7vDiTs)Th5VKLjr^VbgZz{Hi~O7Xhy0iP zkFG}vrIb-l1(npH37VuSnx+|=r8%0X9ki2n(P?x#ok3^PS#*860o{;pL^r0J&`s%P zbaT1|-I8uax2D_BZRvJ&d%6SNk?uryrUkkS-IdO!F7;@UcGDg@ht8$*=zO{x-JR}1 z_oRE#z3D!50o|7_r2ElDbbopPJ&-P@2hoG+61tQwqs!?EdI()fSJBnbj?p@8(1@<3<8*>H z=_EaYo=8ukU!o_|Q|PJmG4VrSvj-IlY2j zNw1<;(`)Fp^g4Pyy@B3HZ=yHTTj;IyHhMd~gWgH+qIc7K=)LqldOv-DK1d&;57S5J zqx3QQIDLXXNuQ!m(`V?j^f~%GeSyA6U!pJ5SLmzsHTpVzgT6`MqHoi8=)3ei`ab=D zen>x}AJb3hr}Q)WIsG#I3jHem8vQ!`2K^@e7X3E;4*f3u9{oQ30sSHU5&bd!3H>Sk z8T~o^1^p%c75z2+4gD?s9sNE11N|fY6a6#&3;iqo8~r=|2mL4g7yUQ=5B)FwA6t(R zMj2zA2_~7t5-iD5EX^`3%W^EwI#?&`V$;}kHiOM%v)KA<1GXXCh;7U^VVkne*yd~t zwk6w&ZOyh}+p_K0_G|~XBio7X%nEE5wkw;>T;{PN>t;P{4x7v7vH5H_wmaK{?aB6H zd$WDm0=6$($o6B4*#7JQb|72K4q^whC2T2M#+I`c>=3q+tzxU$q3kerI6HzJ$&O-2 zvt!t?>^QcD9nXB$%lcS}1+1Ty*#HaKARA&8Hq5H5#zxpE8)J3WU=dr(#@PgGvPpIV zJCU8lzQj&ur?6AmY3y`%20N3T#m;8uuyfgY?0j|syO3SPE@qdoOW9@Ya&`r~l3m5F zX4kN5*>&uCb_2VS-NbHYx3F8;ZR~b-2fLHq#qMVJuzT5k?0)tDdyqZE9%hfQN7-ZS zarOjzl0C(qX3wx^*>mi9_5yp6y~JK-udr9yYwUIQ278me#olJ`uy@&e?0xnD`;dLa zK4zb=PuXYebM|HS74}v3HTHG(4faj;E%t5p9rj)JJ@$R}1NKAqBlctV6ZTW~Gxl@# z3-(L)EB0&l8}?iFJNA3_2lhwyC-!Id7xq{7H}-e-5B5*?FZOTtANF7NKfWF(oN~rF z7hH0OCwP*lc$#N;mgjh$ckoW$#i#MXM?fDLTN4^u^nHTsjd{;i3yWHbN-pzaX96p!N^8p_6K|aJQe3(~xjgRnAKE~_3!6UwwkMjxMZ{fG{+xYGL4t^)Ui{H)f;rH_U`2G9={vdydKg=KDkMhU(@D^Y3&g%+ zq1aC>68nn-#DQY5I7l2UmWZWdnOH7Xh(p9mu}Z8Khl<0*;o=B!q&P|(Eshb#isQr@ zalG(Fujmsc5r}?K76T#_gJMWj#IUG}nivtIVocOULquY&7#9wqT zoFYyYr-{?W8RATFmN;9SBhD4)iSxw;;zDtexL8~wE)|!F%f%JqN^zCAT3jQp71xRD z#SP*{ag(@N+#+rjw~5=u9pX-Lm$+NpBkmRViTlL^;z99{cvw6l9u<#?$Hf!kN%53; zT0A4370-$1#S7v^@sfC1ydqu|uZh>i8{$pzmUvsdBiy50!_>!{rh3NO_bzS{@^hmB-07@_6aX zUfCy0GLZeUEC*yL2j!5g$YEKPH8~JVl-= zPm`z1Gvt}_EP1v(N1iLsljq9|m&+^UmGUZiwY)}NE3cE+%Nyj4 z@+Nt+yhYwBZjOb=5EkIWTD}=Iqd-kD8dl4$)9+UYqOf}!PE{TZgT4U1g3+*00$0UR>CtE? z^1}*zPJ}?Ao5MFFK{yoj4FuJ4vKdteL;N&X zABZNRpcyr4_-T4HYzAgfW+JMFKu>uR?o#6st~U<14vcc5UqhKtkPA^3@yn~6VLoiUWFkOzq$-r#C5slz8xakdZ>h*A>U%7eB zW#ox^kuZo~efeNYsN|LI=8))(nrrN(O|;5Cry=26bTyhenS1N$dXl+_>{gK>6A zWELn#)-nS4?T7h3zuJr@VHj)$p3G{!4T053WHN-wek*^t&Z@S@@;8d|Zs(`M2} zI2?(RUmJ^(lSo|?CQfQXfevRvku)dOh+vXQV0Mtg1z-jsIHR?q&{GX+{!BXp(OVYj1q-2>n0r80^>r7mE|Lw?u@L2qG(Y$ZaOqpiYS3Y?gsAcYE` zUjmO&Vr5r7EBPqVw3@ICp2n}HjIID(Ib{c<;h?t2giRa;hNp&Dd!4--cd|_uZG_0M7Cc+3-N2MA<^$x0|%D+{j4j8ZYY}b}RR~5Wj zQ+r5wjEtS(7d*AaFf!JK^mq9M7oQHI%Iilkuv<}wx))2tF+7>kz`fRhBsB}N5}l3u zKyzw_-4!?|WV4o39!XKUr!=XWGrSm4yYSP!HP9;U+p}iR`mVFC7+Eu(5wvTaC*TXx znsZ7P4n_;`Kqv}y)@8@gD8@ipi$=S9(sk4c?L?H#4f(Pkt#w`!bVzfe&1H9I+qg00 zJHSOy1UG>+0R2@5v}+i)l4w92K!2ZX`48=Z6fMeWPcs%-rC>_Qf^;3dHE;$(SRVBr*E8xiOA!l>WXLEQ+#y*rN-C)O`neu55zc6aU>T!2 zt^vQpVf<+NP|!ph#|c3WHRbcNpk%{7Yz{XA&OHoJNbq&PpPvks;l_cdSIMS~{B`uT zn;EYafTd9lLuv+y=~apVtF>-GIrt!mqxA%Iz!_8K<>oNhR-&3;MZUUOy=Eg)d`Td& zO;Dxmh%zFDE&Qs3tOH?osZdmja69G;N5>48H_?+$Dlg%K3&edi{4jxx!T6qv4baUf z4uDpmSaOX}xh1m+Q3`sa@^md|bf_)2-P^@SVASitg#$xWJ;)C4JOl9E#=S0&q``IC`mPNbdYv)N-8?!f|{gO?zaLsi}R*N!-lVs zSSM%{dZ9uL$FfsC1K$fu3Y5B8h$MBQj`Q6=VnynncbGqEKMh z(IDtsx1(H)>n2PXa}$O^J*k+M`Dv6HFdL$)=NSLt91f_eHeQ!&>wSQ+#FDTYP2{!j zRXTxdB`n=tb-+VWO`&M*0irHTyLR7bEm;H6wC&^#vbEyQnR`@e(BBjUhS}~Q@*+EA z11YN3IuY4TX?<^iymM^>`}`2S@~8Xp20@f9^C8!B}K8%&eU^w+3;#X+5bzkV!?s5cn2l49YUKqs&dJ7+N)M zAwSiI-K@TEAMkw{lQeg}?VYplDG#AKZ00@1xYO>ddY48eQGR%R%0;a?VoyIcDDpABIX%)JB zb)5s|0AlU;d-XilU(D-N0jr5I%>V=gecg218{@uu@+D=UzUFCfjQ`z)aRP42&g{B5 zJrV^4{-$W==x+1bI&msa9q3ud`i=2!Q zLm96)Tl9gt))Gx)9#U^Ep=}d(M) zYU5FU$k!gwR}mQ<12`{bhhZ8svWltz)Eo^9y4k)_Iir#^lMEzO%80=WE)W}mG+|q^ zshmWvH#BHLNhD{m~oNI`qBe>a7da*vvQ@5-lm=TI1If8MmXrC!sJKEM% z^3B2=le!4h2t7yBIzO*dwiqu7g@Mxz1vb^Rj>a2vV`X(sh;(gDVb08QR4tixFk%AV zaTku(zWI<68}-xp2(UjWtag|~fDI;9`Kc0Bdus?=Gk!sh!`E)QO@-PA;{3_@lVtoX zq3V);wI^XdDjF*0wShu39Br;`#!}3+Y5>4f&(UQ$cZR~1fmK75(ttbAXvE7~{u+}` z9JW#yW>xvFX*>vQ*#-iW=vnv{jYPSr_-~rw)o>7EZlSm|O@}S;1~3z7H@Y2B#W-Yv zv}-@p{y}H%9Wftukn%D^fr_|l(u|I8`X;NLq?yD5)X6C@x8#@oDfyR<)oE z*VmRi+C~-nY9r0gbsxBC{js`{nv8^+1&G8XtK_Rqrm7r=)_Uq#keYqvZ@CL4|K%O3wm7F zBt|A}>or|0M4UFE>x2=OVJD0e|DtDc^R}>L>>*piWWkokvf5J_4RmbT5tw7MbmJ)I z#c|Dbj3Y5&InKbmoIS75UN5T+$2f_$%KdC)zJBQ%>zu30j>U}HXvJ4DGhl6=Az^OP zl&3c?VTjVl0f!NI?&(v#s{Xo7ZCyEv8d!4-ZK;-G zfmYZd>KE zx8|*-Yb3yYrHpVM?AF|Aoz5E1rKinXe`a*H!!Ha40}4!PEQ#I_#AHI2*J*OhR*^nA zX(LNg*T1l`put#RLWh@&qZF>`trOO~&M&BIsu^M+0qhnDOk8?8jDL#_&(=TOS=L<} zNPuMgF`FK?9KA?mE(GG0U6b7uvR=oedh>7J7x2^ zsoTu2qXroRh!o)|+?P>=aIBr?5FYML_8`dE}FgB66zxcD4v1^^Je#vA=%r*c zVf+_hC6&Y&q~tjeQ2Ha!RS7A|TxAXDLJ|m8uvD0|Pu!#(1nOa4dYQHq$IW3hz$_gC zJHV%;S<%IkkJ^_;9n)HFH!hmBoeSzg>9&c}Cdy!9moS-#o3wlIl1+QWgTcjICN+4U z#G{+2I-q!~tJUTt1<+zsWuGun9T=-01!KcH>%@6%$zU!WuQ^(AyITd1?l|-EX18Tw z^V@17UhDCkw#Pjt^36%bhXtRkZ;Wp~iP(T~Af`Jj2#GaapQW(C&$^ijX0i)1MeJw6-|cA`goqdJsi4 z!*0bWNQ1g{wmUDsGU!7@QV9$r4ZSuu=w^OFWg04s!R9(z(lZ4z1J29`MLk$8<1*x> zf-eSQVUj%@72K}&hkBm8;yFYfee1!u#q1D*8GkrXB?TCv_i09C+E#K?md1jM=^Vsx z6aSr30D}u&i#cmx3l6V1U@kV;qgZQa9b!6VqTqd}GHm?Wv~u&&r%p>(gF1DX{GF)mD?SP?4pj@mq-qPunRh19%Ed#q7)_UoDOnX$wgIJqr|D+9kbmRxHI}M%0ahwG`=WxG zU1}(>ohZ21!59Z+G~N0pt$1l(Xm_J;G!FNq#`c+s&=%7xVZsJqsY7%Uo>6-Yr36FbFHdSd%CSe&G7`yQR@yxiNk|lbKHx7I<5}6Eqc4v2|E@Cv7{w+ zWeZKXS4BvrL%bio_WN zsjBjLfF}(~YZ6ufqK=gp-WODSpdP%rIvHK3i^l=wfTJ3pQs7)RkAaby}(1Zfezvxk8zW=}V?mSHs`vT351X?y6!d8O;d`*LmY^U}sh5DKJp4G$;a(M;lW~l<+?-=oz%_YBPsSQ37GC2URgcyD&?m$?*DvN&UqqaoCoIcSt-7qW zl%f%-I?`)9Ha3{Cn60a`n$`jJ6s^q~kZ)R!)B&sBO`OrXSq+Z*u>cKsrin$9B$TsE zw;vCyYn9YH=)ijYxS!5rV=Z9bBekbW8$H%x*D5$nk|LHL*&U>{TqGGm_L zW=2s-dX;mFvgR)UDNy5_79VU`CDECNs@s$?Ooe~|Y9^ z_R);=eAy}OyfbwT++?Byfl-zCOjMu4=2YbHZ&k?ILnIgx>gxhXKzoXQnV z2y<1~cO6|`$1`<(gn$sJ8BK2}_!y{+wO>&>6zEXqw%US~x#v_PaBOlp6S3^^nc~V& z#QSSweb#vvQx$zG4CzN!mqX1P0mFv8oQ}4m>R$wuqIEf@ek@dQ!N{OWXtC_wjJCf% zAB*0(sqI?YK~+)YVbB??m+gkiP4&+SdofLYrdu3_B87k4nN!_`ZRXiE2Ky29ZWJtBWMb8?k zo=9|=+Wg$ih{COUm5gasS2yV;ejO~O-s~0R>y($6NW7(?ZD_3RqU%YI= zl9h{AEMK{LRp+YJix#b1yzGF5%a<-)yc%x0majZu!Lr3i!L!8+S1l?mU4Cfi;${0U zIdsvo)r%J_S+QWnqLr(1`!3#h$>QY)tX#0-z{QJJrB|$6zHrf^{otEb&Vh?ptzN$J z$Sf?p-=VPZg8dh*J~9I@SFK*KdeKstCcSjQ;w3P42|VHlE?>F`5}F8GCX@g&rn;hT zl5ulns&xXBYT@`?SvQ&*&thYcJ)@apxbHcJ`-b_hVLsyjnEB~8?q;VjK08G!$ym5; zB3Cn638c)yC74r2$e3Y=&)s%`8x_w0#7jjbz8F9lles5aP zb?3>X+I^6nk{_fsZ#1R2h_1sXTR+b*A<|7&g8qg-HdY&-X?oBx5Ub*;I!T+2B`-ur z5xAUbu&=(MLLJ=ESfCmViW6NU6~8(4Q7(1}Lulz4Q^is@c~y1M&JaM&L<&9$>dk6j zaUyH$h(IB{uy@6Y#Hzp_>l-Leu+hyR(d3@Lwg=zl*^up~}@#2gi(p$|h$`Sap-pNTueN)VaVU>UEgW zfAnEqRxKP?hxDC_AYFrzI-K^++Td!Xj>*QfAaT&9RcJ3>dDh((q&^7HC_hdHtbz7e zTvn7CiJIrYDFgbPUOeF~duabAtFpyPFJDpTc=fPc9jVnDMUE)J%utNe2yom$7E+tm z#W00Z%)D+=7wce$PM_}T2EbOUtQ|#z@O70@1)0&vwZwV}>!3}tZaQl7wygP>jkQ{BU>50->Nl#a!hIy%{3-FP1gz zwV}}ESe=Zu+Y|V^4mV-ITg+3}!XD42imuf0Pa`tV{19o)fwi^4Sk{QM?G6@Qqkg26 zRub25>__TFhf-I~cIB8-V4Hm*{BI1B313N#Y~0;BJAziDM{0M|2Zj|0w7Xeiu+F)=QA zUmgkvC57At)N3KLF*6RCl~uQUdRvB_NJ z7|B-2&=hQ2DA6(5Pi8o%Mr+pA5Uh`-)lIM#)ViKf*TepZemD};Mk+y4T_fVbb1i-T ztjfeWT&fw`UnJ#ilA@1fFh@tRYY3N*f6FqdkZo#QfoxQ&ti}eWOy-y@MK%=>mRc3$ z3cnl_T>YoW@sDFP)c7Q~!}b_h$!>s4_M3;muwfs6Qi(UyHT+fQ=)szC-5{h-+g*;- zOD$j2bM-S#2zSOpyaet6gMnkL+M0~ZD-f?!*w>(cFFUI*LM+-+dElNZx0??fV^LX4 zxGIjMT6L0)ZYtCZ3x$VGv~@WoWDVP`5Q84=M%;uo5T~wzj8Li;_jtPYxZ8ANe4)q6 zWh142vte+6YD`EUf9L+DnF_;z~>AH2$gh-K7yz?91|7%4catQg}3vnpE`^TjHse{ za@8SA>cJS0nHYw5wNkGOo2VDXKx4SlBP#goj;yKi_eJQZ*^tL4U0;hMV=#id3y6A!fxx4A!>AKR4CVJx66xel0at1J3tVKxs4T(l3>8 zH;xf!qA?b#b4LbFG^=}jBAuY7Tkgn{y8K0pt{7E?eBE3qO(Vs4d`2Fj=dcAIrCJ%- zuV3j=0Cj%C=;Ay+?1z;WhA4Ej6;KPM+IThB{vaB`!+=2ph83t$6z=_^N*mn8#W7G?s)+4M4T!O)M|bj846p+Z3mwUI z+JVp_VJnML6PRi-!v03Mgl#N!-GpFUJ`%QmA;Nk+3Od#`d)cQO;7vt0(_Xdgum?ES zS>?2gw72LbnsM7|-nicQH=L%Jo3VvooJweRE5%YR_EN)tp`IjTc^dd{Dh=R#9D`j_ zEllhfZB6QM+%)dF8Mm6EQh+IO)d|y5A=HYFb~RFXT4P(s!1A09G!=yfF*YbU+G8n= zCl&lGS5V4|{Tbuqd$B?!u~veTM`s?@@{N&DPpSK!9fJxp=C5K-mo37gh%}T-SbvsK zJjIEF2|U700A3gYmsjVIxkMIZ#_cKqqsn1_L+UjhQ$ULI@#*5JH+x zC_+fR*E;L_zVGj!AD?Sq_ul*7_q5i2rt_TB^#95(oK<#ewam{VZnB6BykY2d!+MSS zZoEk84I+Jq-8|&pn?7rG#SJ23k4xIxe(;Ug4Qe#tWv#m(S`OwwkzK_vro0WR4<0&V zRD(&U_tM@mk&-)y+;PKog&(cIN@Qqt_IC}vZq%^cld^_!zBKhK-+tZD8w)SVv|l5+ zI@A~OHxIkxt`S!bEcTG(>NH)XR~~U9Va(Yv(!bEbGl$Q%E|m1h|M_29mve-p4~!Xb z-he{w|B!q!r^5GjwzbiM`pn@oeG8?qlie)w|7(M5(z>icGOdcc-F2Ea)eW6?P01?j z7xZhWqQ_4zJlS_5tFR4kYochLZ;&kQ>Hai2J&+zuOHw9{NtgKFX6?T>SE z^lX}(o=eNpsx&1HORLl4>4`Kotxa>&lWAUhD$P&R()2VVEl)GktTa14o$gG-)9vYw zbXyvdhNi*kmb50_nr=vg(sk*kbaPsfZcNvwfoVXxCS9BQr>oOd>B`hEU79XVebNi* zqI6;Eoz6?=rmmTEPU@06qz0))s+U@&)~QWun;NCM>HJhCRZlfi%~UH@^CwcpR4J89 zrBkU?G8IXMQ-PE(0j8DYJqIqr>T46s2tvl_r$y7h&VFd74MA0%cz)~=d&YBPx7anF6I;gCu}y5tCGBH}*fDnE!Y;8z zY#y7%BC%;~5*x=xv0-cw>&JSrZmbh)$6D#~STkLgu81{a^;j)dja6dhSSePF6=L~V zE|!gDV(C~amW(B0@mMStjfFC?a4Z-L#QZT|%p3E>te89IiXr?P{);iD=%b4g&W6+B zpYV4$6aEUP!k^)f&?TG<`@`?yw{RjH4?l-r!mr_2_#tG6qv1$66b^@j;m2?w{1mo`Ar8NLc%hkfCj@NM`md>TFvpM}hx@JaYM><%A=55ouH)$ne3FT568h3(<} zuq(VC-Ux4|&S6J*E4-bGrP|@0_<7hFUJl#BE8(TEIcy1A!-}vntO_s4D`9nbF{}w| z!@96OYzP~}CVzK$J}eK%yRLW4I~Y90rB~;d0LP3syW~ zZs;C*gr4EN&?$5aUBfxJb7&trgm$5AXdYT*Ld(!9v<_`T)6gt535`R;&?qzr^+MfH zEmRLRLd{Ss)DCq*rBFFk2~|VUP%IP=B|^ziDwGaoLg7$0lndoUg-|gR2?ax;;6n&8 zq>wA*4p|{j$Q$y7{PI{R5L^&{)}QgG{eS+H|J(oLGynR({Ga^)hd=3$_@n+8|EtgT z$NbO!xc}WB_TT#-{7?R%|Ir`v-}(doJHOxW_51uc{wx2b|Jr}yKk=XXJ^nNQx&PRI z_ zKkFy@N&Y!M*U$6w{Q^J7&+?D>nQUkKr+vmx^V9td|0Eqh<)`AQv^K?O9`{f9G5#U{ zupi6+i@(+n@OSvz{m`5v zH~Jg>Ab+zT>~Hcn_$&QDf1SVH_x1hx|7w3#4p;bo@~*$kU+(+(i~S}3Qh$-ZFynjs z3w$qsoeQV#wH}RExQ{T)t z_Kkc4-_Y0ewR~+~$Jh0Bli+&3zOUh{`Rcx^ui`8F3cjK*>&yA_zKk#BOZ$?(gfH%k z`Jz5k#25C#N1uEypWA2oJU*|_=kxmlzMwDUPPrG{-|ipxuRHDjb7$OHUIhH?{_xIw z_m?~Aes?F_Z|=DJ)&1g*xg+kV%XWv|A$QRI(N>~3+ly4&0kHUEt1l=ee%#T-V)ob3I&7 zcaH1g+PU_wgX`!zxz4VRYvbCw=B|Zn=~}tguBmJ08oEZVv1{TQxJs^`tM9728m^|R zSIiZ4MOD#=at(bIV?xy zsAS7A`I*;I}t$@OxB43z6+fLtqA$<@+du8}LGpIj-I$>nmX z^v%dc(pxT;3*{1NC+Ere(nl_kbEKQ` zWq6&QUtg>D;GKy6mv~!r5G$!WCTo<`5_=<6z`+PycaXOpO5%ON!DOUPIG2&KaBd@2 z#kvp45uAg0*nw0B^9DnSzu=pCM!FA|GtvTF-bl}2T|Gz( zai$_0NQ-bKBQ3@{Q%LvYDn=TOb@?DYfU6nlL0sKPOK=S%F}Z^^jWh<=GSVfuwvq9_ zQP8D_^boFVq=#`mBaOuxXGr6410(U4`CvmMO~8$e^ayTjq={HV2x$^-YNSVTGmU>U zPCUj=b0aOqEsXRm*2IG}8MiXhbGWsUmSNuVDrpsNYosZ-osoF&eXzZeR^tvvdR&*N zqmiD#os2XUcQ(>m+{H+9@i|6%5_dJyJlxGlPvLWoG#__2(lp$|NYimo$goK>D4b`c z<@kIf&BPZNX%_Bfq}jN)k)FmE8tG1ak&%YuK1RA7Uu>j1@FhmNO(b*hQg$E>!F`Q1 z6klef!T53`-GZ+$(i+^)NVnoEjdTOP%1DFo)keAw_czi__?jFtl5VDOt&vvX0YZ#CSQ~(($8;Z(*3}LnX@lA!ByCTxhoqfqhmdqI+8-nx(iF?lzKU?mb3ofJYfg@0fdyR1fO|5G1{0?l)3vJlaTY@B z-i{E@;#o#Kjb|J2Km4?jdf_=n%8%z7@eH14r1Cg3pAE!+@d6{B!p|7-AH2{=5ic_0 zA9%45kKrXoJcO4T@g#oMh==iWMm&O-8JT#L!g3>Kh&LMXINoH$pYdiR{)D#} z@dv!sh(F?&jCcUQY{c*JHY0vZ{13ij#QpeHBksem8F3HZZp2UU>qh(vzhT5L@ta26 zi+33D3;dQ5KgDkw@nifBWZ1-yDC{)iZv3v1df@kr_#uAZi0WNN)J8rqqPC&+AZpHN zyAU;Jv|WgrSK2v5@+WgpX9Q6j(Gf!Y4C|~RYDc;cQD^nJ5p^ayJBT_%oi(IxSXTq0 zu86J@L{09mjifoIE4+{R=ZxqZb|7ce-%^I0QGZ7nbfgD0JP?=Q?~S+=Ys?{PrvGR} z&GZ9CT!uAAAZns(VnftH9Lng19nJK^M$}9{V&oh@N*QvFXH$l#cfc_t>K&j732`<4 z#YknbW;w(cu_iFYHTZ;)^!fkbZ$?~;e>dVfeA0;P@gGLqfb|xHxDo$lM7=Xk8L1Hd z+lZU-KStbw^>GH`R(x9H&nCXa&VNSK+vJQ9x8bu!Ma)@)WGvXZVjrb}KMtluN zBW}mZNR4qWBfd`j59MYD;?p?Gh};2(@)+?xoY#nN;Cx1$jq@9E7A|1KnYf@4XJA%C ziPLdmBTmCb6yhJBqEOU`Q*kjPK8cGP@d;eQh>zovMx2668F4Z$ZR8v;Lm6_8m!%9z zSE`&5AH$jQY#>g;6^x`ERW#zGxRMbc!Ih0T5mzzdL%6CDAI8;;I1X1gL z_&53AiKZNYoD z{`gWOUWNM_@k)G|5&PlGjW`xxVMMi_gQ(~A8i;zGwgpk!)Bdj3$A9feJA|kMU{p%f zf$8iZ>WFnl5H)tX0uXiib#@RnEV@b%b#-+0AXUM-st`4#y4sMMETcI9 zu@ip4$XU_{DMQXu>uN!4fyWq8m+>JZHp34au?QY(#HM(h5u4!gMr^G2{{(g*Ho}h> zu_2yl#0Geh5$oeejaUyqX2iO9vJvaxDMqY~A2(tx{DhG-F{dgzo0=4!G?HfNQ%2HE zo@T@vc)Ag*;~7S*hG!bFDxPITO}g1etc;&FVkJDsh!t^WE*ppy@H``y$McO?4lgib zS^SI<%ix7ZER7c#u@qix#FBW45li5uMl6n>H8Qanh3AY|6fZMkA-vp(h4J%7EQnVa zu>f9a#Qb=b5%b{}jF=a%Hew$9q7k$38jb%NW}lm#wMNW^*BLS3^+xy?Z!p4tc%u;` z-ekmtHyhF8Ek<;Bt3h=+^pX+I68}Rl8{stGW`uw6D@OPmziNat_%$Q^g|{2w6n@xlXM~^e`$qT$?=r%# z_yZ#x!yg*q2mFx{vi1Jo%?^a4_+uj+!Jio65dPE%hw&aG9K@d);Ya+r5f0!ljPMiQ zYlQFdmqyU@U*(XIpcTG0qI#bZ^$z&P2zueSM$iktGlJIF)q|kdX(tf$I-My5y-o)R zL9f#RLeNS5r158zK}WAMf}pd~Swqm->Z~E?is;Hf(3R2^gP<$OQYt~0R+k%sF1dyW zf`&rF13`01!vi6sG1YiN(3onRA!w3m{2{i&nimkZV@)0i8h1@F2pV@yJP5C2O-=}! zh?<-bG!ZqKA$7(ic}6#32Rr{7frLDycLD@W%Kwa13~Tm7s*TSY;T_>8M@D274?835 z#NG%m<6wksI2z# z86zymnX+skJcr8}VHqxOgr&HG5uU{rjj$M3GQtvE*$9hp6(cOfRgLfru4aSlxu*T;B-y;RZ&yA2&3@XxvES--y{i zz)oW$JcyeZf$$t|YJ@SknGqhs&5iIdZefJ6xTO)s;Z{Z%k6Rm|BW`1a3EDwhBRqoJ z8DS!BZ-hy>gApFZ+5m*da3>>7#+{8Y1$QyRW;a*0Vje8s6X?&p(=5YTXzK9(NBXA!hjKmik z;dXq95$?d38etgjYlPwWG9%oHFE_$n_zEKo!TpRd6knMGkN>w(xXK8(;H!;rEADRu zZR8pw=&@^!Fc=Ro!VP$!5wyMQjBq{vA3=|4JqUyFAdNqToNU*Ohj0`AAK_-o|08JQ z+93q(R0j(|XRCvSoPp|uAn0s$)(~{II%`M)>#9P?=ty;0A?VC?Ss`bZx~vd%=DMs9 zbmqFO5Hv&@HV7Ib4I2c)dH8N4Xt?e%g66|0BWURE)%dds8oT?9poyaQDFjUvy-y)r zfb}+opb7V&5j1gi6(MNijxmBJuHL2)G;#Gdg`kN$)(D;S{vXE4e5xU|DMmPsQ zVsL>Ro@j*5c#;v?<429q0Y7Ghc6hQ8+TtljXpSFObkr>@k@fstP#cPdF4zDvpdA!~T74QZlRKy#N zPy}x>LP5OQ2!-$#BY5I}c&iZte#rdU55V~ ze_;53^#1>l9q|9+j|~48-fj3l@yA9^`4h_E|G=Lb{v_UG_#^l;!ym<;8~zvkh2ek2 zdvnN$&!+ID;g8|34F5C!+VIEmKEwZxzcKt_{H@`?$KM(L2fW|#KVdxw{vg(K;D5wF zYWykqL->HYv`bloZs*( zaRDVmXU|h8X!sSlkdafVFlF$oFb^n-(}5N>{0q34;qS%84gV-EVffX!q~Tx0r3}9Y zXG*gHzZRD<{5o9L@au6o!*9Ul4ZjgrF#IN5(eRsbCBsj~m5rQ1RG|!h6s~Gy{1yt; z48IjuH*zknK^go@xTfJ>#!2=9`Cmv|{yYO{}AAzseI9$&K!|@Gn|A*JX=sEB@7`-0+9aygipShjFP{XTrA96a=ijdQp4hp;u zMh6QyWt|;(9k9+0yberf2VMuJw;gyL{N0Av$+Air-FRK{QHIy0y4Uc!RJz>YS*0Ty z2Jpo8h=vWkhC;&zIb{tScnz1XE_e;2<`Lu^*E|A_bN_21f!Bo4L;|n*pveRBF4p7$ zugRpz174Hq5yNYO>b(zM6LgZ{H9;RWye8;lhS%httmx=8>!%pLH-6mk7vLuh-wRJQ z{CW6E!=I0zGJH=w&G6mubi<#EXBfUa*2fC)+`dOLv)F(?2kV0c_^wzVEWmfca}3`Z z&oz7}JkRhQ@qEK~zzYoD9zSFFc6g!T+u}t=#pG<;3G#_+Z9TEo}I z>kMB9uQz;MyurvRZ=?)~lsdA>@O6m)kZyUZee#h`7@lL~+ z!0#HqIDXIY#qj%vFRJ(dE_T2d!5B`#e8BLUI6oQgXME6bf8axgclfa3x!}kV!~KPi z8tx>{HeBX+3dan00&BzIe#5^Q?l}I{aBAHLr|0z=aN34m15P{DcEM?<+95dYR0j)A z2l=PQpN-Se>j=T=taMqy>1=f=!RadKQi9Xf(WL~ZtENi{j+H#3D+!LoKB6lLPM2I) z65Mwpj422A4fp?1mP~QP>nKa6I1=b6iKjSXeU!vg9LaQ)#8Vu}bd{*xP{@C691zujhu^HQ3m%MZf&?_xQ*eK;I@WajN2J*5pHj|g}8&^p1~ar zHy3v@+&tVFGHl#L3SA601D|8KnYgRr?!es)>4ncV+$`MPaIC-5bPn~E^Mk;hw^m z<&Y6Kjl$(dPNP>)1~(n|Gu#AxrQycos|+^|Uv0RtxWC~Z#@86`L42*@G~5FWHwF*X z0|V*oA$*CWdZWO-3aQEUthPw~nXt?|FO@{7U(J;elN5c)L9o=a-?dUGUX+I+jr~NRHjBcEEq@x9= z9qDMn>5AwIfYZ3^3P4UW>I#6<0q6>V(*fuTfYSl!N`lh?Xc)lh0Cd&CU8DEE#sQqh zNW%b56H8+VPUEGq1xKikYRtiDtTh+FX>MqafYaR2EC;8#L6$2{b4imNoaUP*`J*}t zlI^HwIi#jovmBgesAf4h&D_V0oR!clhn#_GmV?tfK(id&CHN`B=^da+4(>v%i4Cq7 z&dgu~t~Z`(xC`(s!<~<38}2;(wBfqqIfgqI&ox|kJkN05@O;DdzzYo56F*~Q+&L5$ z8mBuQOaDyxwq)@dm>+A^t}<8mthO3C*GF*B5w&5z^cMMk+?=)OF{I223=>7j5JD@v9-#1)oyvuN<@CSw~ zi9a-4ar}|tO5ojwD~3NdTv7aq;fml-4ObZN$$`iJLKHqTTtWP~;qv1z3|9c}HC#UY zrQ!18uM8LQ*M>`YpW$-hZw!|ke`~lb{GG=CJ7%8;?>C&o-y6>39}E}pkB0n%4;b<< z{>hNj_@E*G;X{U;!G{ewi;o!kgd|6g8uAy;HslmOX2{?8XG8wLzZmi-{?(9^__!gz z;}eGbhX04?F+B&OZE#ISH=>Pb!ywv-HVmRO(LsUeOmt8nIujifh|WY;1N24xQC$rX zortamh)zUT14JjHs{yiK?|)qm5SEZ@auAj_n=mLsD6$EIB7`EFFepMOvWdAO-(g~| z2=UD(=8BM4*~DBC@+zB{D?(mn6Y}gly8a|qHi@JNiIq))DMDgplZ1+pSlJ|@A|zHe ziK+;Rl}!RGLPlqk*-C1L$#_LR#oP&se1eM^@-fa7X9KbumoW63O4%h1c@>v3bLfJGinTJ8>05KZ47yYRG%Inj!Dw z>W1vXH4OOx*EHlqT+5J;aBV|g!gYv08O88~Sxfx0n;WtYw=iTiZfVGixRoI<;MRt$!fgy;64`AHS&7>j zvI4g^WI66&$n&@(WZ1~F6gnC59PVt$GTg1uP|f=?q|qMe5E0i@l}TYL_PazLmtKb4Vi$iG2{_^ zt;YXaWa0O@B06c1p?d%8tU+`px|AR~ zlQD+q66#Wd=+f#^g6NWK7(g^E8Y&PCi-rnhAl8_JXc#r-AR1~7`9$rE_-AX(K{SCh zVL&v2G?73wfi%HDG=VhBK{P2f%Rw|LHOoOXDK*PMF2kDSAezvc5VnZK`zF#47m``Hsligv?1;A97E2-a}7Bk&oiVCo^NF20tyQZIR`&uNLRej zkZyR9A?M=7hG<-u7}5hTHKZqg){rjvIYT<*WrlRb%QgPXnOP@xo;RceUSUXkywZ@? zc$Fb-@C$~t#j6czgf`N(RKl+tQW?KtNEQ61 zAyx4XL#pAo45^OaHlzlA$B>$O|LqSo z_-jM*;C+T<;cqnl-!S{!_*+AA;qMInX;JomLn8jckbr+Q#Nz{oI9}`yHBx(#6AV;I z?JxsX0=M4@2CBHspA;CW;#js5j8t(f=LtrtIF|4PgH%#^%s>_WM$7;A-$d#y(p|g{X(#U(;-7yQf75fjNWtnNh1Q4^t}Rkzlt|IO zBE`0d6sJ-N$|ZL2r%buHBy~#lfvNnt)YgE@GzY>~mO+%`SUKucXfINcwkjSMsYGZh zQLfZqq;enFCsKv_Ri|_RS7oQ#bl3?eMXJ+zjea6EIaX(bNQ2QL4H;l#jyIw4CJRNH z_Jw02&1ke4=bM)XjyFFg(&7MrqIJ1QD>`j8Or&*r*e}wK!MB?&(!Me55$QOYhn=0o zze_)na~M_E*04(C-0C9T3-cF|vP63B5V?S37flzrgw8Idlgm5vP``nvgn2v_^yKM- zde@%hIb|x(H+^}Yp~LH`bNzmvi4HB2TzqqW{e8iw^6PK@_xB|Uk4WE5v3bPpoR4y`5Tv0A8 z&IKhoUJjQV2V7KvhALJTSLuMb$~|F&xGFSK<)pZ3bX;wfxa#%A)u64K`Nh@Zx>|e1 z)ou=3#MPm#x?{xE<9z)!;u^5us63B9jjM}m%z-BCG#MzaX=UJK%f>KWTr1AE-X^Xs z9kd$^`^0ezx%SJ&b)bVzQCw#_?80?jxUS0{apx3<{o=YZ)2^q*b)%i`w9#{vxbrAq zKtH`E@|kCG$++GYi8?p!6*qX8xLaDoKt6xE zWumxSx$ss-c3Uq#4A0_2@NRs_O~qk&_!>UUrjxsT&!)Ij?W(brg3ZES|ZxG``*-1ySsCKS&3 zagdvInxDed1{!> z;P}ja;$~5vJx|=z3}g-i;+A)rxm2FZsOHk}yq-XLKF8+M@cb>}7G%MyoaYv|kO3@; zKx2y;&=MM6O8sYx!%lu^c39jpI$ll(&yRwI;#M>Vu3OodpYrvCiQ?AO7q@n@xOLr# z|2j^tXH@HtiQCX#+{P@}CT>$Nahpqv+rs`98rsUN-=l%=xAQY+X8XfzekRR8exmL{ z&K<;u`oIo;xZMr*@WXG8^Aiup%XXK2oF9@;=kH(EhYjM6=Z9Xz|M*haEA9lHouGpg zRQ_#?xRW$?a=ExadW!pV9PAhO*JyF4CW`x;{eQ~?=TCDz_rLqEy|^>YVYj%mTyu7e z=+^;!uKuu3eD3zJUwl?iz28pCw)RdPw`Eu+iZ;Z=H0}%7zleM<6F)X-)g(~HdJWa z91e(YH(h-DLE<|s72k1`_)b*rbW(ihh2p!65Z|@0_-@dhPJ3{!XO{T$==^++oxe+b zuj0VqdXMAVT^zgcxcEN3_-YtjLO++%cHh=~ovbw9Ke_CH_{$mf6%6Exle~h$S2hMJ zU3r=>scjH{HRb;J8XCX0oA?1RkX0GTEP0UeH;m&Ocyu&~`Zq4;n|Ay7<{js6>Bl$u z%ELCk#W!30(8=O&kK*sh5`QNHxhpeI{D@)VM>gk6i$lcUOU3&}iNC)+(BWtX_P|c@ z5AG2^raW-|;p*bY(#QnLkI>*muA8`5{3Hf3>A3hur;C4Vm-xwB_=@KszS&7fPjJl> z%f(Oa4Agy+KA*}@{HM|Jv^CB-_3_Y(gcUe*l= z#WLzI-zEO}dE!@=7QdRt*9;cFwldJ>y5hjK>u7U5$JR5r4fMBhmH18L#BUx${I}4_ zRyx~CV=pZg|1zCyqmyk1#J@u0uX6si{^Gaq7XLbR-k1j``HFZSzQoSCx5x3Fb*|aD zitnOl!709bPA4Bw@5AEaKN`&!-v-UJ?Gg16!g<%Kr|Lhpwo*x8s@C7IK z4g)HFxm5huefdg1jeo%pe(~S;fl+Xr-yzt=uLvv`{}XK-sxAKT5b;NtF+ZyJ z+02*+9REvm@xK-q&*O|g0l(4a@72YhY|JlFWLk^=i$+he^Y;$%|D5DEG0H>pfLW`3UTAr5BisP*Z0>|2LtnD@lyiN$b%nltm-m$oZPFcXiq87Zhix=IUJX81#Mi(1g>I2R~?YhzZbteM;q5plrW&agn|7eT-RU1^@Akb zKs$p9^ZSQ`==?@5x@C-nTN?ud7}8$CP`I7rcL=PJFuXMEl5iKkYny}-17W9xkqaf< z%|PyH4aX$hTVBHb*F0**g0S;B*dS#kzCX1|1oMoV}&GgZRaEEpqU9376M zgYlf0K!cBP@x;n-TEe7>5*{5P;j#R%MZ)Ce5~gr$$^i+FAC~aMFbPxHf2zNPY1<@B zr`_qhCCnHEYb4C%{H*%Gb+Z{9FZsh9+Rx18f_eQUJhMT~Slt@-Nm#Q}!aBU3HaGNjbru}V8CA`^__`i8t!do=_)^2{^e5wTQ?HL{vn-y)J?+fc@jQ8CgGF5u#I2sr;|^qyJwh$&qhi3oX)=(1bZdy9W3Fi=KQ$; z+W)3H@&A@az8fK7|2_#nFpwW<>;MfM7$V`P{t^yy@geFQUMk^8dDt%D=r#$ws0h68 z56AXN_<5d$Uv^3Om1~aE)(PtH8X}ymEa8v(68>cWF9D978ZF`PQxg7RaQ|fXOZb-& zou<<1lM?>x2D9Oqgfmp&#Y8weN}?>6=<35BiGCoQmKa9BHsN0bkeD_|%r!=0ZUO3K zt&*5$r^LK#B<4HCKiP3WVuAKRTZPKQ4vB>;OUx9RC$Z>6iN*Q>6-#7EEV)l&snHTk z&z4wby2P@zC6?EgR61&Zlcy42f-MOwuABjDeN<5G2FK7<9x4=$` z7jo{xF+jNwpZ~=^G|=aO#Ebg^ja*8@eHlbwj`!Us@v^}ZFULH%#D3i*URf9@U&Z;W zH%RQiUE(zyyM_r|yIkUcg%Sszlz81PiP!g+ctdUA_>D~9rp^*?rtZzdBo3zCTQdD5 z-r8Q`Z6hQOp*)n1Z=Waejwt-w77~Y-mv|?Y@0tqxC61tzk;f(Sc|g3UCx0xf8yuE+ zUu}u^)8J_K9~cd%B|bQg_%?=9635U!uN~q;lO>Mr3$!%$s}Pxq5Jr?ten(h)*e<#+&)m^>kQdpbee1r9!*X zk~(yg)R}W#_ettbL*0){>Oq|zQziAEbL&m(baz)a$!f(iKZ3UD;F8 zRd97{7y_px^&iNe3a0+Gv~ew;|D*wZff)^;lj~^Ux-pWj9|y-I-9UK|=We9Yn-)sC znMMbfmvqZyNw>0p8;#u72Wb4Z9g>D{Zpd;;LnlhQgEod02lj`zmo#D&(B|C(CEc@4 z(x?NH?&I^PG@8*qu#;FYkjy?wV`%&#E_`S(Q1RiyKqF&mWLz)UB56FwC*Vh>N}5P{ z5`%bbw4}*&I(fgODXk?vULV+hVyUF5oO_ZspPVS^sm_w7b%P!BH=Rn;8PN>6syt7WR|0h`NiL!(>TI@&m`0GU%nJ zBt5%I(sOjajCPmrleB_1S1gsZlKQK9N~^SrgD;$vw0fJQ7r9`~UP)_*3I9fwr1iTc zZKShJoh5Ciqb;LgzwmEzjor85k$oE+cnAt7a(V8@ZazTQ;raim)wNqDU*Y#Y4NxN8CAlGi zR#mD{vEoN-L(zO2au+O-dqSZSg~n%wxwPay*6tg=s$AIR zesEZin;wbzQ?oehq3*eg7yobJU8O1&apC?udfYrN@^2vJ7ukHOd9EYv+`7#_49hhr QpOei+AI$Y|=fGn8KW4xNm;e9( delta 40095 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�Uch*;4Y$(f%U}qhSy4FLVCd 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 E3v5=hnE(I) diff --git a/static/iconfont.d4898757.woff2 b/static/iconfont.d4898757.woff2 deleted file mode 100644 index faf9770f0e764eed00b1c2a0f0aec222a839a75a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217964 zcmV)dK&QWVPew8T0RR9115<1O3jhEB2ELR415*|N0RR9100000000000000000000 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

%>6DiK&(q9e%48YwRn=mrRJBRuCzi&P!x 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�Kw^^Bxk*ojNdP*F4kQPmB0LpS2O6JeKul7{0Nw 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 DSW5uv diff --git a/static/iconfont.de7bf788.woff2 b/static/iconfont.de7bf788.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a6bf6156ab8df1fce3eadb8a68cd7c3b5eb7df15 GIT binary patch literal 211356 zcmV)JK)b(pPew8T0RR91138=k3jhEB28*Bo135?l0RR9100000000000000000000 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

3~!|gqFAnsWN)RiE5qa87OsX( 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 z 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 literal 0 HcmV?d00001 diff --git a/static/iconfont.df7da3a4.svg b/static/iconfont.df7da3a4.svg new file mode 100644 index 0000000000..1888d68368 --- /dev/null +++ b/static/iconfont.df7da3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/iconfont.f9c02bd2.woff b/static/iconfont.f9c02bd2.woff new file mode 100644 index 0000000000000000000000000000000000000000..add553c0bfdbc21c31cd58b186c1bff7c0597771 GIT binary patch literal 260136 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


=OfazX@ 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

ySB?c39vR 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 \ No newline at end of file diff --git a/umi.css b/umi.css index 266c73d95e..124cf31a00 100644 --- a/umi.css +++ b/umi.css @@ -292,10 +292,10 @@ mark { \**************************************************************************************************************************************************************************************************************************************************************************************/ @font-face { font-family: "iconfont"; /* Project id 653600 */ - src: url(./static/iconfont.d4898757.woff2) format('woff2'), - url(./static/iconfont.53d451ad.woff) format('woff'), - url(./static/iconfont.1747ec62.ttf) format('truetype'), - url(./static/iconfont.fbda0e54.svg#iconfont) format('svg'); + src: url(./static/iconfont.de7bf788.woff2) format('woff2'), + url(./static/iconfont.f9c02bd2.woff) format('woff'), + url(./static/iconfont.5ac5f779.ttf) format('truetype'), + url(./static/iconfont.df7da3a4.svg#iconfont) format('svg'); } .iconfont { @@ -306,134 +306,6 @@ mark { -moz-osx-font-smoothing: grayscale; } -.icon-ketangkebiao:before { - content: "\ec03"; -} - -.icon-anlifenxiang:before { - content: "\ec00"; -} - -.icon-haokezhanshi:before { - content: "\ec01"; -} - -.icon-jiaoliuyantao:before { - content: "\ec02"; -} - -.icon-goumai:before { - content: "\ebff"; -} - -.icon-lishijilu:before { - content: "\ebfe"; -} - -.icon-shebei-xiao:before { - content: "\ebfd"; -} - -.icon-yuyuexiangqing1:before { - content: "\ebfb"; -} - -.icon-fanhui4:before { - content: "\ebfc"; -} - -.icon-zhangjieceshibeifen:before { - content: "\ebef"; -} - -.icon-biaoqing:before { - content: "\ebfa"; -} - -.icon-qukuailian1:before { - content: "\ebf9"; -} - -.icon-suanfasheji1:before { - content: "\ebf6"; -} - -.icon-jingjiguanli:before { - content: "\ebf7"; -} - -.icon-dianzixinxi1:before { - content: "\ebf8"; -} - -.icon-jingpeikecheng:before { - content: "\ebf1"; -} - -.icon-yunjisuan:before { - content: "\ebf2"; -} - -.icon-shuxueyutongji:before { - content: "\ebf3"; -} - -.icon-qiyekecheng:before { - content: "\ebf4"; -} - -.icon-xunifangzhen:before { - content: "\ebf5"; -} - -.icon-wulianwang:before { - content: "\ebf0"; -} - -.icon-jiesuo1:before { - content: "\ebed"; -} - -.icon-suoding:before { - content: "\ebee"; -} - -.icon-xiaoxitongzhi:before { - content: "\ebec"; -} - -.icon-xuanzhong11:before { - content: "\ebea"; -} - -.icon-yiwancheng6:before { - content: "\ebeb"; -} - -.icon-shangbianxiantiao:before { - content: "\ebe9"; -} - -.icon-xiebianjiantou:before { - content: "\ebe8"; -} - -.icon-panduanhujiu:before { - content: "\ebe6"; -} - -.icon-shiyongaed:before { - content: "\ebe7"; -} - -.icon-a-302:before { - content: "\ebe5"; -} - -.icon-xianchangqueren:before { - content: "\ebe1"; -} - .icon-duohangtiankongxiang:before { content: "\ebe4"; } diff --git a/umi.js b/umi.js index 76b9a54d24..d8d0bb6a75 100644 --- a/umi.js +++ b/umi.js @@ -277,9 +277,9 @@ var gray = presetPalettes.grey; /***/ }), -/***/ 52042: +/***/ 67937: /*!***********************************************************************************************!*\ - !*** ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules ***! + !*** ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules ***! \***********************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { @@ -290,6 +290,7 @@ __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { Keyframes: function() { return /* reexport */ Keyframes; }, + NaNLinter: function() { return /* reexport */ NaNLinter; }, StyleProvider: function() { return /* reexport */ StyleProvider; }, Theme: function() { return /* reexport */ Theme; }, _experimental: function() { return /* binding */ _experimental; }, @@ -302,10 +303,17 @@ __webpack_require__.d(__webpack_exports__, { logicalPropertiesLinter: function() { return /* reexport */ logicalPropertiesLinter; }, parentSelectorLinter: function() { return /* reexport */ parentSelectorLinter; }, px2remTransformer: function() { return /* reexport */ px2rem; }, + token2CSSVar: function() { return /* reexport */ token2CSSVar; }, + unit: function() { return /* reexport */ unit; }, + useCSSVarRegister: function() { return /* reexport */ hooks_useCSSVarRegister; }, useCacheToken: function() { return /* reexport */ useCacheToken; }, useStyleRegister: function() { return /* reexport */ useStyleRegister; } }); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/slicedToArray.js + 1 modules +var slicedToArray = __webpack_require__(61860); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/defineProperty.js +var defineProperty = __webpack_require__(35005); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules var toConsumableArray = __webpack_require__(40877); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/objectSpread2.js @@ -367,6 +375,8 @@ function murmur2(str) { /* harmony default export */ var hash_browser_esm = (murmur2); +// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/Dom/dynamicCSS.js +var dynamicCSS = __webpack_require__(75966); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); var _react_17_0_2_react_namespaceObject = /*#__PURE__*/__webpack_require__.t(_react_17_0_2_react, 2); @@ -380,9 +390,7 @@ var isEqual = __webpack_require__(70780); var classCallCheck = __webpack_require__(67873); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(22695); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/defineProperty.js -var defineProperty = __webpack_require__(35005); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/Cache.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/Cache.js @@ -418,7 +426,7 @@ var Entity = /*#__PURE__*/function () { return Entity; }(); /* harmony default export */ var Cache = (Entity); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/StyleContext.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/StyleContext.js var _excluded = ["children"]; @@ -498,11 +506,7 @@ var StyleProvider = function StyleProvider(props) { var esm_typeof = __webpack_require__(96522); // EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/Dom/canUseDom.js var canUseDom = __webpack_require__(42871); -// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/Dom/dynamicCSS.js -var dynamicCSS = __webpack_require__(75966); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/slicedToArray.js + 1 modules -var slicedToArray = __webpack_require__(61860); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/theme/ThemeCache.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/theme/ThemeCache.js @@ -648,7 +652,7 @@ var ThemeCache = /*#__PURE__*/function () { // EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/warning.js var warning = __webpack_require__(36014); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/theme/Theme.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/theme/Theme.js @@ -682,7 +686,7 @@ var Theme = /*#__PURE__*/function () { return Theme; }(); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/theme/createTheme.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/theme/createTheme.js var cacheThemes = new ThemeCache(); @@ -700,11 +704,14 @@ function createTheme(derivatives) { // Get theme from cache and return return cacheThemes.get(derivativeArr); } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/theme/index.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/theme/index.js + + + +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/util/index.js -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/util.js @@ -814,9 +821,70 @@ function supportLogicProps() { } return canLogic; } +var isClientSide = (0,canUseDom/* default */.Z)(); +function unit(num) { + if (typeof num === 'number') { + return "".concat(num, "px"); + } + return num; +} +function toStyleStr(style, tokenKey, styleId) { + var _objectSpread2; + var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var plain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + if (plain) { + return style; + } + var attrs = (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, customizeAttrs), {}, (_objectSpread2 = {}, (0,defineProperty/* default */.Z)(_objectSpread2, ATTR_TOKEN, tokenKey), (0,defineProperty/* default */.Z)(_objectSpread2, ATTR_MARK, styleId), _objectSpread2)); + var attrStr = Object.keys(attrs).map(function (attr) { + var val = attrs[attr]; + return val ? "".concat(attr, "=\"").concat(val, "\"") : null; + }).filter(function (v) { + return v; + }).join(' '); + return ""); +} +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/util/css-variables.js + +var token2CSSVar = function token2CSSVar(token) { + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + return "--".concat(prefix ? "".concat(prefix, "-") : '').concat(token).replace(/([a-z0-9])([A-Z])/g, '$1-$2').replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2').replace(/([a-z])([A-Z0-9])/g, '$1-$2').toLowerCase(); +}; +var serializeCSSVar = function serializeCSSVar(cssVars, hashId, options) { + if (!Object.keys(cssVars).length) { + return ''; + } + return ".".concat(hashId).concat(options !== null && options !== void 0 && options.scope ? ".".concat(options.scope) : '', "{").concat(Object.entries(cssVars).map(function (_ref) { + var _ref2 = (0,slicedToArray/* default */.Z)(_ref, 2), + key = _ref2[0], + value = _ref2[1]; + return "".concat(key, ":").concat(value, ";"); + }).join(''), "}"); +}; +var transformToken = function transformToken(token, themeKey, config) { + var cssVars = {}; + var result = {}; + Object.entries(token).forEach(function (_ref3) { + var _config$preserve, _config$ignore; + var _ref4 = (0,slicedToArray/* default */.Z)(_ref3, 2), + key = _ref4[0], + value = _ref4[1]; + if (config !== null && config !== void 0 && (_config$preserve = config.preserve) !== null && _config$preserve !== void 0 && _config$preserve[key]) { + result[key] = value; + } else if ((typeof value === 'string' || typeof value === 'number') && !(config !== null && config !== void 0 && (_config$ignore = config.ignore) !== null && _config$ignore !== void 0 && _config$ignore[key])) { + var _config$unitless; + var cssVar = token2CSSVar(key, config === null || config === void 0 ? void 0 : config.prefix); + cssVars[cssVar] = typeof value === 'number' && !(config !== null && config !== void 0 && (_config$unitless = config.unitless) !== null && _config$unitless !== void 0 && _config$unitless[key]) ? "".concat(value, "px") : String(value); + result[key] = "var(".concat(cssVar, ")"); + } + }); + return [result, serializeCSSVar(cssVars, themeKey, { + scope: config === null || config === void 0 ? void 0 : config.scope + })]; +}; // EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/hooks/useLayoutEffect.js var useLayoutEffect = __webpack_require__(70658); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useCompatibleInsertionEffect.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useCompatibleInsertionEffect.js // import canUseDom from 'rc-util/lib/Dom/canUseDom'; @@ -851,7 +919,7 @@ var useCompatibleInsertionEffect = useInsertionEffect ? function (renderEffect, }, deps); } : useInsertionEffectPolyfill; /* harmony default export */ var hooks_useCompatibleInsertionEffect = (useCompatibleInsertionEffect); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useEffectCleanupRegister.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useEffectCleanupRegister.js @@ -892,7 +960,7 @@ var useRun = function useRun() { // Only enable register in React 18 var useEffectCleanupRegister = typeof useEffectCleanupRegister_useInsertionEffect !== 'undefined' ? useCleanupRegister : useRun; /* harmony default export */ var hooks_useEffectCleanupRegister = (useEffectCleanupRegister); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useHMR.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useHMR.js function useProdHMR() { return false; } @@ -905,7 +973,7 @@ function useDevHMR() { // Webpack `module.hot.accept` do not support any deps update trigger // We have to hack handler to force mark as HRM if (false) { var originWebpackHotUpdate, win; } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useGlobalCache.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useGlobalCache.js @@ -924,7 +992,7 @@ onCacheEffect) { var HMRUpdate = useHMR(); var buildCache = function buildCache(updater) { globalCache.update(fullPath, function (prevCache) { - var _ref = prevCache || [], + var _ref = prevCache || [undefined, undefined], _ref2 = (0,slicedToArray/* default */.Z)(_ref, 2), _ref2$ = _ref2[0], times = _ref2$ === void 0 ? 0 : _ref2$, @@ -983,7 +1051,12 @@ onCacheEffect) { if (nextCount === 0) { // Always remove styles in useEffect callback register(function () { - return onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false); + // With polyfill, registered callback will always be called synchronously + // But without polyfill, it will be called in effect clean up, + // And by that time this cache is cleaned up. + if (polyfill || !globalCache.get(fullPath)) { + onCacheRemove === null || onCacheRemove === void 0 || onCacheRemove(cache, false); + } }); return null; } @@ -993,7 +1066,10 @@ onCacheEffect) { }, [deps]); return cacheContent; } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useCacheToken.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useCacheToken.js + + + @@ -1052,7 +1128,7 @@ var getComputedToken = function getComputedToken(originToken, overrideToken, the } return mergedDerivativeToken; }; - +var TOKEN_PREFIX = 'token'; /** * Cache theme derivative token as global shared one * @param theme Theme entity @@ -1063,13 +1139,15 @@ var getComputedToken = function getComputedToken(originToken, overrideToken, the function useCacheToken(theme, tokens) { var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var _useContext = (0,_react_17_0_2_react.useContext)(es_StyleContext), - instanceId = _useContext.cache.instanceId; + instanceId = _useContext.cache.instanceId, + container = _useContext.container; var _option$salt = option.salt, salt = _option$salt === void 0 ? '' : _option$salt, _option$override = option.override, override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override, formatToken = option.formatToken, - compute = option.getComputedToken; + compute = option.getComputedToken, + cssVar = option.cssVar; // Basic - We do basic cache here var mergedToken = memoResult(function () { @@ -1077,23 +1155,81 @@ function useCacheToken(theme, tokens) { }, tokens); var tokenStr = flattenToken(mergedToken); var overrideTokenStr = flattenToken(override); - var cachedToken = useGlobalCache('token', [salt, theme.id, tokenStr, overrideTokenStr], function () { + var cssVarStr = cssVar ? flattenToken(cssVar) : ''; + var cachedToken = useGlobalCache(TOKEN_PREFIX, [salt, theme.id, tokenStr, overrideTokenStr, cssVarStr], function () { + var _cssVar$key; var mergedDerivativeToken = compute ? compute(mergedToken, override, theme) : getComputedToken(mergedToken, override, theme, formatToken); + // Replace token value with css variables + var actualToken = (0,objectSpread2/* default */.Z)({}, mergedDerivativeToken); + var cssVarsStr = ''; + if (!!cssVar) { + var _transformToken = transformToken(mergedDerivativeToken, cssVar.key, { + prefix: cssVar.prefix, + ignore: cssVar.ignore, + unitless: cssVar.unitless, + preserve: cssVar.preserve + }); + var _transformToken2 = (0,slicedToArray/* default */.Z)(_transformToken, 2); + mergedDerivativeToken = _transformToken2[0]; + cssVarsStr = _transformToken2[1]; + } + // Optimize for `useStyleRegister` performance var tokenKey = token2key(mergedDerivativeToken, salt); mergedDerivativeToken._tokenKey = tokenKey; - recordCleanToken(tokenKey); + actualToken._tokenKey = token2key(actualToken, salt); + var themeKey = (_cssVar$key = cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) !== null && _cssVar$key !== void 0 ? _cssVar$key : tokenKey; + mergedDerivativeToken._themeKey = themeKey; + recordCleanToken(themeKey); var hashId = "".concat(hashPrefix, "-").concat(hash_browser_esm(tokenKey)); mergedDerivativeToken._hashId = hashId; // Not used - return [mergedDerivativeToken, hashId]; + return [mergedDerivativeToken, hashId, actualToken, cssVarsStr, (cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) || '']; }, function (cache) { // Remove token will remove all related style - cleanTokenStyle(cache[0]._tokenKey, instanceId); + cleanTokenStyle(cache[0]._themeKey, instanceId); + }, function (_ref) { + var _ref2 = (0,slicedToArray/* default */.Z)(_ref, 4), + token = _ref2[0], + cssVarsStr = _ref2[3]; + if (cssVar && cssVarsStr) { + var style = (0,dynamicCSS/* updateCSS */.hq)(cssVarsStr, hash_browser_esm("css-variables-".concat(token._themeKey)), { + mark: ATTR_MARK, + prepend: 'queue', + attachTo: container, + priority: -999 + }); + style[CSS_IN_JS_INSTANCE] = instanceId; + + // Used for `useCacheToken` to remove on batch when token removed + style.setAttribute(ATTR_TOKEN, token._themeKey); + } }); return cachedToken; } +var extract = function extract(cache, effectStyles, options) { + var _cache = (0,slicedToArray/* default */.Z)(cache, 5), + realToken = _cache[2], + styleStr = _cache[3], + cssVarKey = _cache[4]; + var _ref3 = options || {}, + plain = _ref3.plain; + if (!styleStr) { + return null; + } + var styleId = realToken._tokenKey; + var order = -999; + + // ====================== Style ====================== + // Used for rc-util + var sharedAttrs = { + 'data-rc-order': 'prependQueue', + 'data-rc-priority': "".concat(order) + }; + var styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain); + return [order, styleId, styleText]; +}; // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__(61796); ;// CONCATENATED MODULE: ./node_modules/_@emotion_unitless@0.7.5@@emotion/unitless/dist/unitless.browser.esm.js @@ -1789,14 +1925,14 @@ function declaration (value, root, parent, length, siblings) { return node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings) } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/utils.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/utils.js function utils_lintWarning(message, info) { var path = info.path, parentSelectors = info.parentSelectors; (0,warning/* default */.ZP)(false, "[Ant Design CSS-in-JS] ".concat(path ? "Error in ".concat(path, ": ") : '').concat(message).concat(parentSelectors.length ? " Selector: ".concat(parentSelectors.join(' | ')) : '')); } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/contentQuotesLinter.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/contentQuotesLinter.js var linter = function linter(key, value, info) { if (key === 'content') { @@ -1809,7 +1945,7 @@ var linter = function linter(key, value, info) { } }; /* harmony default export */ var contentQuotesLinter = ((/* unused pure expression or super */ null && (linter))); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/hashedAnimationLinter.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/hashedAnimationLinter.js var hashedAnimationLinter_linter = function linter(key, value, info) { if (key === 'animation') { @@ -1819,7 +1955,7 @@ var hashedAnimationLinter_linter = function linter(key, value, info) { } }; /* harmony default export */ var hashedAnimationLinter = ((/* unused pure expression or super */ null && (hashedAnimationLinter_linter))); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/legacyNotSelectorLinter.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/legacyNotSelectorLinter.js function isConcatSelector(selector) { var _selector$match; @@ -1848,7 +1984,7 @@ var legacyNotSelectorLinter_linter = function linter(key, value, info) { } }; /* harmony default export */ var legacyNotSelectorLinter = (legacyNotSelectorLinter_linter); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/logicalPropertiesLinter.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/logicalPropertiesLinter.js var logicalPropertiesLinter_linter = function linter(key, value, info) { switch (key) { @@ -1927,7 +2063,15 @@ var logicalPropertiesLinter_linter = function linter(key, value, info) { } }; /* harmony default export */ var logicalPropertiesLinter = (logicalPropertiesLinter_linter); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/parentSelectorLinter.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/NaNLinter.js + +var NaNLinter_linter = function linter(key, value, info) { + if (typeof value === 'string' && /NaN/g.test(value) || Number.isNaN(value)) { + utils_lintWarning("Unexpected 'NaN' in property '".concat(key, ": ").concat(value, "'."), info); + } +}; +/* harmony default export */ var NaNLinter = (NaNLinter_linter); +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/parentSelectorLinter.js var parentSelectorLinter_linter = function linter(key, value, info) { if (info.parentSelectors.some(function (selector) { @@ -1940,13 +2084,14 @@ var parentSelectorLinter_linter = function linter(key, value, info) { } }; /* harmony default export */ var parentSelectorLinter = (parentSelectorLinter_linter); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/linters/index.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/linters/index.js + -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useStyleRegister/cacheMapUtil.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/util/cacheMapUtil.js @@ -2029,8 +2174,7 @@ function getStyleAndHash(path) { } return [styleStr, hash]; } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/hooks/useStyleRegister/index.js - +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useStyleRegister.js @@ -2048,7 +2192,6 @@ function getStyleAndHash(path) { -var isClientSide = (0,canUseDom/* default */.Z)(); var SKIP_CHECK = '_skip_check_'; var MULTI_VALUE = '_multi_value_'; // ============================================================================ @@ -2241,7 +2384,7 @@ function uniqueHash(path, styleStr) { function Empty() { return null; } - +var STYLE_PREFIX = 'style'; /** * Register a style to the global style sheet. */ @@ -2270,7 +2413,7 @@ function useStyleRegister(info, styleFn) { // Check if need insert style var isMergedClientSide = isClientSide; if (false) {} - var _useGlobalCache = useGlobalCache('style', fullPath, + var _useGlobalCache = useGlobalCache(STYLE_PREFIX, fullPath, // Create cache if needed function () { var cachePath = fullPath.join('|'); @@ -2333,11 +2476,11 @@ function useStyleRegister(info, styleFn) { nonce: nonceStr }; } - var _style = (0,dynamicCSS/* updateCSS */.hq)(styleStr, styleId, mergedCSSConfig); - _style[CSS_IN_JS_INSTANCE] = cache.instanceId; + var style = (0,dynamicCSS/* updateCSS */.hq)(styleStr, styleId, mergedCSSConfig); + style[CSS_IN_JS_INSTANCE] = cache.instanceId; // Used for `useCacheToken` to remove on batch when token removed - _style.setAttribute(ATTR_TOKEN, tokenKey); + style.setAttribute(ATTR_TOKEN, tokenKey); // Debug usage. Dev only if (false) {} @@ -2367,17 +2510,151 @@ function useStyleRegister(info, styleFn) { return /*#__PURE__*/_react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, styleNode, node); }; } +var useStyleRegister_extract = function extract(cache, effectStyles, options) { + var _cache = (0,slicedToArray/* default */.Z)(cache, 6), + styleStr = _cache[0], + tokenKey = _cache[1], + styleId = _cache[2], + effectStyle = _cache[3], + clientOnly = _cache[4], + order = _cache[5]; + var _ref7 = options || {}, + plain = _ref7.plain; + + // Skip client only style + if (clientOnly) { + return null; + } + var keyStyleText = styleStr; -// ============================================================================ -// == SSR == -// ============================================================================ + // ====================== Style ====================== + // Used for rc-util + var sharedAttrs = { + 'data-rc-order': 'prependQueue', + 'data-rc-priority': "".concat(order) + }; + keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs, plain); + + // =============== Create effect style =============== + if (effectStyle) { + Object.keys(effectStyle).forEach(function (effectKey) { + // Effect style can be reused + if (!effectStyles[effectKey]) { + effectStyles[effectKey] = true; + var effectStyleStr = normalizeStyle(effectStyle[effectKey]); + keyStyleText += toStyleStr(effectStyleStr, tokenKey, "_effect-".concat(effectKey), sharedAttrs, plain); + } + }); + } + return [order, styleId, keyStyleText]; +}; +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/hooks/useCSSVarRegister.js + + + + + + + + + +var CSS_VAR_PREFIX = 'cssVar'; +var useCSSVarRegister = function useCSSVarRegister(config, fn) { + var key = config.key, + prefix = config.prefix, + unitless = config.unitless, + ignore = config.ignore, + token = config.token, + _config$scope = config.scope, + scope = _config$scope === void 0 ? '' : _config$scope; + var _useContext = (0,_react_17_0_2_react.useContext)(es_StyleContext), + instanceId = _useContext.cache.instanceId, + container = _useContext.container; + var tokenKey = token._tokenKey; + var stylePath = [].concat((0,toConsumableArray/* default */.Z)(config.path), [key, scope, tokenKey]); + var cache = useGlobalCache(CSS_VAR_PREFIX, stylePath, function () { + var originToken = fn(); + var _transformToken = transformToken(originToken, key, { + prefix: prefix, + unitless: unitless, + ignore: ignore, + scope: scope + }), + _transformToken2 = (0,slicedToArray/* default */.Z)(_transformToken, 2), + mergedToken = _transformToken2[0], + cssVarsStr = _transformToken2[1]; + var styleId = uniqueHash(stylePath, cssVarsStr); + return [mergedToken, cssVarsStr, styleId, key]; + }, function (_ref) { + var _ref2 = (0,slicedToArray/* default */.Z)(_ref, 3), + styleId = _ref2[2]; + if (isClientSide) { + (0,dynamicCSS/* removeCSS */.jL)(styleId, { + mark: ATTR_MARK + }); + } + }, function (_ref3) { + var _ref4 = (0,slicedToArray/* default */.Z)(_ref3, 3), + cssVarsStr = _ref4[1], + styleId = _ref4[2]; + if (!cssVarsStr) { + return; + } + var style = (0,dynamicCSS/* updateCSS */.hq)(cssVarsStr, styleId, { + mark: ATTR_MARK, + prepend: 'queue', + attachTo: container, + priority: -999 + }); + style[CSS_IN_JS_INSTANCE] = instanceId; + + // Used for `useCacheToken` to remove on batch when token removed + style.setAttribute(ATTR_TOKEN, key); + }); + return cache; +}; +var useCSSVarRegister_extract = function extract(cache, effectStyles, options) { + var _cache = (0,slicedToArray/* default */.Z)(cache, 4), + styleStr = _cache[1], + styleId = _cache[2], + cssVarKey = _cache[3]; + var _ref5 = options || {}, + plain = _ref5.plain; + if (!styleStr) { + return null; + } + var order = -999; + + // ====================== Style ====================== + // Used for rc-util + var sharedAttrs = { + 'data-rc-order': 'prependQueue', + 'data-rc-priority': "".concat(order) + }; + var styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain); + return [order, styleId, styleText]; +}; +/* harmony default export */ var hooks_useCSSVarRegister = (useCSSVarRegister); +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/extractStyle.js + + +var _ExtractStyleFns; + + + + + +var ExtractStyleFns = (_ExtractStyleFns = {}, (0,defineProperty/* default */.Z)(_ExtractStyleFns, STYLE_PREFIX, useStyleRegister_extract), (0,defineProperty/* default */.Z)(_ExtractStyleFns, TOKEN_PREFIX, extract), (0,defineProperty/* default */.Z)(_ExtractStyleFns, CSS_VAR_PREFIX, useCSSVarRegister_extract), _ExtractStyleFns); +function isNotNull(value) { + return value !== null; +} function extractStyle(cache) { var plain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var matchPrefix = "style%"; + var matchPrefixRegexp = new RegExp("^(".concat(Object.keys(ExtractStyleFns).join('|'), ")%")); // prefix with `style` is used for `useStyleRegister` to cache style context var styleKeys = Array.from(cache.cache.keys()).filter(function (key) { - return key.startsWith(matchPrefix); + return matchPrefixRegexp.test(key); }); // Common effect styles like animation @@ -2386,75 +2663,43 @@ function extractStyle(cache) { // Mapping of cachePath to style hash var cachePathMap = {}; var styleText = ''; - function toStyleStr(style, tokenKey, styleId) { - var _objectSpread2; - var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - var attrs = (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, customizeAttrs), {}, (_objectSpread2 = {}, (0,defineProperty/* default */.Z)(_objectSpread2, ATTR_TOKEN, tokenKey), (0,defineProperty/* default */.Z)(_objectSpread2, ATTR_MARK, styleId), _objectSpread2)); - var attrStr = Object.keys(attrs).map(function (attr) { - var val = attrs[attr]; - return val ? "".concat(attr, "=\"").concat(val, "\"") : null; - }).filter(function (v) { - return v; - }).join(' '); - return plain ? style : ""); - } - - // ====================== Fill Style ====================== - - var orderStyles = styleKeys.map(function (key) { - var cachePath = key.slice(matchPrefix.length).replace(/%/g, '|'); - var _2 = (0,slicedToArray/* default */.Z)(cache.cache.get(key)[1], 6), - styleStr = _2[0], - tokenKey = _2[1], - styleId = _2[2], - effectStyle = _2[3], - clientOnly = _2[4], - order = _2[5]; - - // Skip client only style - if (clientOnly) { + styleKeys.map(function (key) { + var cachePath = key.replace(matchPrefixRegexp, '').replace(/%/g, '|'); + var _key$split = key.split('%'), + _key$split2 = (0,slicedToArray/* default */.Z)(_key$split, 1), + prefix = _key$split2[0]; + var extractFn = ExtractStyleFns[prefix]; + var extractedStyle = extractFn(cache.cache.get(key)[1], effectStyles, { + plain: plain + }); + if (!extractedStyle) { return null; } - - // ====================== Style ====================== - // Used for rc-util - var sharedAttrs = { - 'data-rc-order': 'prependQueue', - 'data-rc-priority': "".concat(order) - }; - var keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs); - - // Save cache path with hash mapping - cachePathMap[cachePath] = styleId; - - // =============== Create effect style =============== - if (effectStyle) { - Object.keys(effectStyle).forEach(function (effectKey) { - // Effect style can be reused - if (!effectStyles[effectKey]) { - effectStyles[effectKey] = true; - keyStyleText += toStyleStr(normalizeStyle(effectStyle[effectKey]), tokenKey, "_effect-".concat(effectKey), sharedAttrs); - } - }); - } - var ret = [order, keyStyleText]; - return ret; - }).filter(function (o) { - return o; - }); - orderStyles.sort(function (o1, o2) { - return o1[0] - o2[0]; - }).forEach(function (_ref7) { - var _ref8 = (0,slicedToArray/* default */.Z)(_ref7, 2), - style = _ref8[1]; + var _extractedStyle = (0,slicedToArray/* default */.Z)(extractedStyle, 3), + order = _extractedStyle[0], + styleId = _extractedStyle[1], + styleStr = _extractedStyle[2]; + if (key.startsWith('style')) { + cachePathMap[cachePath] = styleId; + } + return [order, styleStr]; + }).filter(isNotNull).sort(function (_ref, _ref2) { + var _ref3 = (0,slicedToArray/* default */.Z)(_ref, 1), + o1 = _ref3[0]; + var _ref4 = (0,slicedToArray/* default */.Z)(_ref2, 1), + o2 = _ref4[0]; + return o1 - o2; + }).forEach(function (_ref5) { + var _ref6 = (0,slicedToArray/* default */.Z)(_ref5, 2), + style = _ref6[1]; styleText += style; }); // ==================== Fill Cache Path ==================== - styleText += toStyleStr(".".concat(ATTR_CACHE_MAP, "{content:\"").concat(cacheMapUtil_serialize(cachePathMap), "\";}"), undefined, undefined, (0,defineProperty/* default */.Z)({}, ATTR_CACHE_MAP, ATTR_CACHE_MAP)); + styleText += toStyleStr(".".concat(ATTR_CACHE_MAP, "{content:\"").concat(cacheMapUtil_serialize(cachePathMap), "\";}"), undefined, undefined, (0,defineProperty/* default */.Z)({}, ATTR_CACHE_MAP, ATTR_CACHE_MAP), plain); return styleText; } -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/Keyframes.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/Keyframes.js @@ -2477,7 +2722,7 @@ var Keyframe = /*#__PURE__*/function () { return Keyframe; }(); /* harmony default export */ var Keyframes = (Keyframe); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js function splitValues(value) { if (typeof value === 'number') { @@ -2632,7 +2877,7 @@ var transform = { } }; /* harmony default export */ var legacyLogicalProperties = (transform); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/transformers/px2rem.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/transformers/px2rem.js /** @@ -2693,7 +2938,10 @@ var px2rem_transform = function transform() { }; }; /* harmony default export */ var px2rem = (px2rem_transform); -;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js +;// CONCATENATED MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + + + @@ -9571,8 +9819,8 @@ var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); var config_provider = __webpack_require__(92736); // EXTERNAL MODULE: ./src/.umi-production/exports.ts var _umi_production_exports = __webpack_require__(45295); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./src/.umi-production/plugin-antd/context.tsx var plugin_antd_context = __webpack_require__(9373); // EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/merge.js @@ -49711,10 +49959,10 @@ __webpack_require__.d(__webpack_exports__, { ;// CONCATENATED MODULE: ./src/utils/env/dev.ts var DEV = { // PROXY_SERVER: 'https://data.educoder.net', - PROXY_SERVER: 'http://172.16.100.199', + PROXY_SERVER: 'http://172.16.100.130', API_SERVER: '', REPORT_SERVER: 'http://192.168.1.57:3001', - IMG_SERVER: 'http://172.16.100.199', + IMG_SERVER: 'http://172.16.100.130', FORGE: 'https://code.educoder.net/', SSH_SERVER: 'wss://webssh.educoder.net', SSH_Slice: 'https://testfu.educoder.net', @@ -55346,8 +55594,8 @@ __webpack_require__.d(__webpack_exports__, { // UNUSED EXPORTS: ConfigConsumer, ConfigContext, configConsumerProps, defaultIconPrefixCls, defaultPrefixCls, warnContext -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/components/Context.js var Context = __webpack_require__(35954); // EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/hooks/useMemo.js @@ -57016,8 +57264,8 @@ var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_c var es = __webpack_require__(581); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js @@ -59235,8 +59483,8 @@ var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_c var es = __webpack_require__(581); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var cssinjs_es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var cssinjs_es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js @@ -60339,8 +60587,8 @@ var esm = __webpack_require__(13530); var reactNode = __webpack_require__(92343); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js var style = __webpack_require__(17313); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js @@ -60925,7 +61173,7 @@ const genFocusStyle = token => ({ /* harmony export */ J$: function() { return /* binding */ initFadeMotion; } /* harmony export */ }); /* unused harmony exports fadeIn, fadeOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); @@ -61029,7 +61277,7 @@ const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) { /* harmony export */ kr: function() { return /* binding */ zoomIn; } /* harmony export */ }); /* unused harmony exports zoomOut, zoomBigIn, zoomBigOut, zoomUpIn, zoomUpOut, zoomLeftIn, zoomLeftOut, zoomRightIn, zoomRightOut, zoomDownIn, zoomDownOut */ -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); @@ -61233,8 +61481,8 @@ __webpack_require__.d(__webpack_exports__, { uH: function() { return /* binding */ defaultTheme; } }); -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_@ant-design_colors@7.0.0@@ant-design/colors/es/index.js + 1 modules @@ -61652,8 +61900,8 @@ __webpack_require__.d(__webpack_exports__, { // UNUSED EXPORTS: getComputedToken -// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.17.5@@ant-design/cssinjs/es/index.js + 31 modules -var es = __webpack_require__(52042); +// EXTERNAL MODULE: ./node_modules/_@ant-design_cssinjs@1.18.0@@ant-design/cssinjs/es/index.js + 35 modules +var es = __webpack_require__(67937); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/version/version.js @@ -61973,7 +62221,7 @@ function useToken() { /* harmony export */ b: function() { return /* binding */ genSubStyleComponent; } /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var rc_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-util */ 33401); /* harmony import */ var _config_provider_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config-provider/context */ 36355); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../style */ 17313); @@ -62171,7 +62419,7 @@ function statisticToken(token) { /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 52042); +/* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 67937); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../style */ 17313); /* harmony import */ var _useToken__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useToken */ 88088); @@ -129287,7 +129535,7 @@ function debounce (delay, callback, options) { /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = function(chunkId) { /******/ // return url for filenames based on template -/******/ return "" + ({"292":"p__Classrooms__Lists__Exercise__Add__index","310":"p__User__Detail__ExperImentImg__Detail__index","556":"p__User__Detail__Order__pages__invoice__index","1482":"p__Classrooms__Lists__Graduation__Topics__Edit__index","1660":"p__User__QQLogin__index","1702":"p__Classrooms__New__index","2659":"p__User__Detail__UserPortrait__index","2819":"p__Classrooms__Lists__Template__detail__index","3317":"p__Classrooms__Lists__Graduation__Topics__Add__index","3391":"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index","3451":"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index","3509":"p__HttpStatus__SixActivities","3585":"p__Classrooms__Lists__Statistics__StudentSituation__index","3951":"p__Classrooms__Lists__ProgramHomework__Detail__index","4222":"p__Classrooms__Lists__ClassSchedule__index","4736":"p__User__Detail__Projects__index","4766":"p__Administration__index","4884":"p__Shixuns__Detail__Repository__Commit__index","4973":"p__Engineering__Evaluate__List__index","5572":"p__Paths__HigherVocationalEducation__index","6127":"p__Classrooms__Lists__ProgramHomework__Ranking__index","6685":"p__Shixuns__Detail__RankingList__index","6758":"p__Classrooms__Lists__Attachment__index","6788":"p__Classrooms__Lists__ProgramHomework__index","7043":"p__User__Detail__Topics__Exercise__Edit__index","7852":"p__Classrooms__Lists__ShixunHomeworks__index","7884":"p__Shixuns__Exports__index","8787":"p__Competitions__Entered__index","8999":"p__Three__index","9416":"p__Graduations__Lists__Tasks__index","10195":"p__Classrooms__Lists__GroupHomework__Detail__index","10485":"p__Question__AddOrEdit__BatchAdd__index","10737":"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index","10799":"p__User__Detail__Topics__Poll__Detail__index","10921":"p__Classrooms__Lists__Exercise__CodeDetails__index","11070":"p__Innovation__PublicMirror__index","11253":"p__Graduations__Lists__Gradingsummary__index","11512":"p__Classrooms__Lists__Exercise__AnswerCheck__index","11520":"p__Engineering__Lists__StudentList__index","11545":"p__Paperlibrary__Random__ExchangeFromProblemSet__index","11581":"p__Problemset__Preview__index","12076":"p__User__Detail__Competitions__index","12102":"p__Classrooms__Lists__Board__Edit__index","12303":"p__Classrooms__Lists__CommonHomework__Comment__index","12412":"p__User__Detail__Videos__index","12476":"p__Colleges__index","12865":"p__Innovation__MyMirror__index","12884":"p__Classrooms__Lists__ProgramHomework__Comment__index","13006":"p__Engineering__index","13355":"p__Classrooms__Lists__Polls__index","13581":"p__Classrooms__Lists__ShixunHomeworks__Detail__index","14058":"p__Demo__index","14105":"p__Classrooms__Lists__Exercise__Answer__index","14514":"p__Account__Results__index","14599":"p__Problemset__index","14610":"p__User__Detail__LearningPath__index","14662":"p__Classrooms__Lists__GroupHomework__Review__index","14889":"p__Classrooms__Lists__Exercise__ImitateAnswer__index","15148":"p__Classrooms__Lists__Template__index","15319":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index","15402":"p__User__Detail__Topics__Detail__index","16328":"p__Shixuns__Edit__body__Warehouse__index","16434":"p__User__Detail__Order__pages__records__index","16729":"p__Classrooms__Lists__GroupHomework__Edit__index","16845":"p__Shixuns__Detail__Settings__index","17482":"p__Classrooms__Lists__Exercise__Notice__index","17527":"p__MyProblem__RecordDetail__index","17622":"p__Classrooms__Lists__Polls__Detail__index","17806":"p__Classrooms__Lists__Statistics__StatisticsQuality__index","18241":"p__virtualSpaces__Lists__Plan__index","18302":"p__Classrooms__Lists__Board__index","18307":"p__User__Detail__Shixuns__index","19215":"p__Shixuns__Detail__ForkList__index","19360":"p__User__Detail__virtualSpaces__index","19519":"p__User__Detail__ClassManagement__Item__index","19715":"p__Classrooms__Lists__CommonHomework__Edit__index","19891":"p__User__Detail__Videos__Success__index","20026":"p__Classrooms__Lists__Graduation__Tasks__Edit__index","20576":"p__Account__Profile__Edit__index","20680":"p__Innovation__index","20700":"p__tasks__Jupyter__index","21265":"p__Classrooms__Lists__Announcement__index","21423":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index","21578":"p__Classrooms__Lists__Graduation__Topics__Detail__index","21939":"p__User__Detail__Order__index","22254":"p__Shixuns__Detail__Discuss__index","22307":"p__Report__index","22707":"p__Innovation__MyDataSet__index","23332":"p__Paths__Detail__id","24504":"p__virtualSpaces__Lists__Survey__index","25022":"p__Graduations__Lists__Settings__index","25470":"p__Shixuns__Detail__Collaborators__index","25705":"p__virtualSpaces__Lists__Construction__index","25972":"layouts__user__index","26366":"p__Innovation__PublicProject__index","26685":"p__Classrooms__Index__index","26741":"p__Engineering__Norm__List__index","26883":"p__Competitions__Index__index","27178":"p__User__BindAccount__index","27182":"p__User__ResetPassword__index","27333":"p__User__WechatLogin__index","27395":"p__Classrooms__Lists__Statistics__StudentDetail__index","28072":"p__Classrooms__Lists__GroupHomework__SubmitWork__index","28237":"p__User__Detail__Order__pages__view__index","28435":"p__Classrooms__Lists__Attendance__index","28639":"p__Forums__Index__redirect","28723":"p__Classrooms__Lists__Polls__Edit__index","28782":"p__Shixuns__Index__index","28982":"p__Paths__New__index","29647":"p__Question__Index__index","30067":"p__Message__index","30264":"p__User__Detail__Order__pages__orderPay__index","30342":"p__Classrooms__Lists__ShixunHomeworks__Comment__index","31006":"p__RestFul__index","31211":"p__Classrooms__Lists__CommonHomework__EditWork__index","31427":"p__Classrooms__Lists__Statistics__index","31674":"p__Classrooms__ClassicCases__index","31962":"p__Classrooms__Lists__Engineering__index","33356":"p__Classrooms__Lists__Assistant__index","33747":"p__virtualSpaces__Lists__Homepage__index","33784":"p__Paperlibrary__Random__Detail__index","34093":"p__Classrooms__Lists__Attendance__Detail__index","34601":"p__Paths__Detail__Statistics__index","34741":"p__Problems__OjForm__NewEdit__index","34800":"p__Engineering__Lists__GraduatedMatrix__index","34994":"p__Problems__OjForm__index","35238":"p__virtualSpaces__Lists__Material__index","35729":"p__Help__Index","36029":"p__Administration__Student__index","36270":"p__MyProblem__index","36784":"p__Innovation__Edit__index","37062":"layouts__SimpleLayouts","37948":"p__User__Detail__ClassManagement__index","38143":"layouts__GraduationsDetail__index","38447":"p__virtualSpaces__Lists__Knowledge__index","38634":"p__Classrooms__Lists__CourseGroup__List__index","38797":"p__Competitions__Edit__index","39332":"p__Classrooms__Lists__Video__index","39391":"p__Engineering__Lists__CurseSetting__index","39404":"monaco-editor","39695":"p__Classrooms__Lists__Polls__Add__index","40559":"layouts__virtualDetail__index","41048":"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index","41657":"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index","41717":"layouts__index","41953":"p__Problemset__NewItem__index","42240":"p__User__Detail__Videos__Upload__index","43442":"p__Classrooms__Lists__Board__Add__index","43862":"p__HttpStatus__403","44216":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index","44259":"p__User__Detail__Order__pages__result__index","44449":"p__Competitions__Exports__index","44565":"p__HttpStatus__500","45096":"p__Shixuns__Detail__AuditSituation__index","45179":"p__Administration__Student__Edit__index","45359":"p__Messages__Detail__index","45650":"p__Competitions__Update__index","45775":"p__Engineering__Lists__Document__index","45825":"p__Classrooms__Lists__Exercise__index","45992":"p__Classrooms__Lists__Exercise__ReviewGroup__index","46796":"p__virtualSpaces__Lists__Announcement__Detail__index","46963":"p__Classrooms__Lists__Engineering__Detail__index","47545":"p__Graduations__Lists__Archives__index","48077":"p__Classrooms__Lists__Students__index","48431":"p__Classrooms__Lists__Exercise__Export__index","48689":"p__Classrooms__Lists__Statistics__VideoStatistics__index","49205":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index","49366":"p__User__Login__index","49716":"p__Question__OjProblem__RecordDetail__index","49890":"p__Classrooms__Lists__CommonHomework__index","50869":"p__Guidance__index","51276":"p__MoopCases__Success__index","51461":"p__Graduations__Lists__Topics__index","51582":"p__Classrooms__Lists__GroupHomework__Add__index","51855":"p__MoopCases__InfoPanel__index","52338":"p__Classrooms__Lists__CommonHomework__Review__index","52404":"p__Classrooms__Lists__Template__teacher__index","52806":"p__User__Detail__Topics__Exercise__Detail__index","52829":"p__Messages__Private__index","52875":"p__Shixuns__Detail__id","53247":"p__Paperlibrary__See__index","53910":"p__HttpStatus__introduction","54056":"p__IntrainCourse__index","54164":"p__Classrooms__Lists__Exercise__Detail__index","54492":"p__Graduations__Lists__StudentSelection__index","54572":"p__Classrooms__Lists__ExportList__index","54770":"p__Classrooms__Lists__ProgramHomework__Detail__answer__index","54862":"p__Paperlibrary__index","55573":"p__Shixuns__Detail__Merge__index","55624":"p__Graduations__Lists__Index__index","56277":"p__Shixuns__Edit__index","57045":"p__Classrooms__Lists__CommonHomework__SubmitWork__index","57560":"p__Administration__College__index","57614":"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index","59133":"p__Shixuns__Detail__Challenges__index","59649":"p__Engineering__Lists__TrainingProgram__index","59788":"p__Account__Profile__index","60479":"p__Classrooms__Lists__GroupHomework__EditWork__index","60533":"p__Classrooms__Lists__Video__Statistics__Detail__index","60547":"p__Account__index","61043":"p__Classrooms__Lists__Graduation__Tasks__index","61713":"p__virtualSpaces__Lists__Settings__index","61727":"p__Classrooms__Lists__CourseGroup__NotList__index","61880":"p__User__Detail__Order__pages__apply__index","62300":"p__Api__index","62548":"p__Engineering__Norm__Detail__index","63157":"p__User__Detail__ExperImentImg__Add__index","64017":"p__Classrooms__Lists__PlaceholderPage__index","64144":"p__Problemset__Preview__New__index","64217":"p__Classrooms__Lists__Video__Statistics__index","64496":"p__HttpStatus__HpcCourse","64520":"p__Account__Secure__index","65111":"p__Terminal__index","65148":"p__Classrooms__Lists__Polls__Answer__index","65191":"p__User__Detail__Certificate__index","65549":"p__Shixuns__New__CreateImg__index","65816":"p__virtualSpaces__Lists__Announcement__index","66034":"p__HttpStatus__UserAgents","66063":"p__Graduations__Lists__Personmanage__index","66531":"p__HttpStatus__404","66583":"p__User__Detail__Classrooms__index","66651":"p__Engineering__Evaluate__Detail__index","67242":"p__Innovation__MyProject__index","67878":"p__Classrooms__Lists__LiveVideo__index","68014":"p__Classrooms__Lists__Teachers__index","68665":"p__Engineering__Lists__TrainingObjectives__index","68827":"p__Classrooms__Lists__OnlineLearning__index","68882":"p__Classrooms__Lists__Graduation__Tasks__Detail__index","69922":"p__Classrooms__Lists__Statistics__StudentVideo__index","69944":"p__Classrooms__Lists__Video__Statistics__StudentDetail__index","70928":"p__RestFul__Edit__index","71450":"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index","71783":"p__virtualSpaces__Lists__Experiment__index","72529":"p__User__Detail__id","72539":"p__Graduations__Review__index","72570":"p__Competitions__Detail__index","73183":"p__Engineering__Lists__GraduationIndex__index","73220":"p__Classrooms__Lists__Video__Upload__index","74264":"p__Forums__New__index","74795":"p__Classrooms__Lists__Graduation__Tasks__Add__index","75043":"p__User__Detail__Topics__Poll__Edit__index","75357":"p__Engineering__Lists__TrainingProgram__Edit__index","75786":"layouts__LoginAndRegister__index","75816":"p__Paperlibrary__Random__Edit__index","76904":"p__MoopCases__FormPanel__index","77460":"p__Question__OjProblem__index","77857":"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index","78085":"p__Classrooms__Lists__Exercise__Review__index","79489":"p__Engineering__Lists__CourseList__index","79590":"p__User__Detail__TeachGroup__index","79921":"p__Classrooms__ExamList__index","80508":"p__Forums__Detail__id","81148":"p__Shixuns__Detail__Repository__UploadFile__index","81799":"p__Competitions__Entered__Assembly__TeamDateil","82339":"p__virtualSpaces__Lists__Plan__Detail__index","82425":"p__Classrooms__Lists__Board__Detail__index","82443":"p__Graduations__Lists__StageModule__index","83141":"p__Innovation__Detail__index","83212":"p__MoopCases__index","83935":"p__Classrooms__Lists__GroupHomework__index","84546":"p__Engineering__Lists__TrainingProgram__Add__index","85048":"p__Classrooms__Lists__Graduation__Topics__index","85111":"p__User__Detail__Order__pages__orderInformation__index","85297":"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index","85888":"p__Classrooms__Lists__CommonHomework__Add__index","85891":"p__virtualSpaces__Lists__Resources__index","86052":"p__Paths__Index__index","86452":"p__Innovation__PublicDataSet__index","86541":"p__Shixuns__Detail__Dataset__index","86634":"p__Innovation__Tasks__index","86820":"p__User__Detail__Topics__Normal__index","86913":"p__Question__AddOrEdit__index","87058":"p__virtualSpaces__Lists__Survey__Detail__index","87260":"p__Account__Certification__index","87922":"p__Classrooms__Lists__CourseGroup__Detail__index","88517":"p__User__Detail__Topics__Group__index","88866":"p__index","89076":"p__Account__Binding__index","89677":"p__virtualSpaces__Lists__Announcement__AddAndEdit__index","89785":"p__Classrooms__Lists__Template__student__index","90109":"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index","90265":"p__User__Detail__Topics__index","90337":"p__Paperlibrary__Random__PreviewEdit__index","91045":"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index","91470":"p__User__Register__index","91831":"p__Graduations__Index__index","92045":"p__Engineering__Lists__TeacherList__index","92501":"p__Search__index","92603":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index","92823":"p__Engineering__Navigation__Home__index","92983":"p__Forums__Index__index","93260":"p__Paperlibrary__Add__index","93282":"layouts__ShixunDetail__index","93496":"p__User__Detail__OtherResources__index","93665":"p__tasks__index","93668":"p__Classrooms__Lists__CommonHomework__Detail__index","94078":"p__Messages__Tidings__index","94498":"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index","94662":"p__User__Detail__Paths__index","94715":"p__virtualSpaces__Lists__Material__Detail__index","94849":"p__User__Detail__ExperImentImg__index","95125":"p__Classrooms__Lists__Exercise__DetailedAnalysis__index","95176":"p__User__Detail__Videos__Protocol__index","95335":"p__Engineering__Lists__CourseMatrix__index","96444":"p__Video__Detail__id","96882":"p__Classrooms__New__StartClass__index","97008":"p__Shixuns__New__index","97046":"p__Shixuns__Detail__Repository__AddFile__index","98062":"p__User__Detail__Topicbank__index","98398":"p__virtualSpaces__Lists__Resources__Detail__index","98688":"p__Shixuns__Detail__Repository__index","98885":"p__Classrooms__Lists__Statistics__StudentStatistics__index","99674":"p__Shixuns__New__ImagePreview__index"}[chunkId] || chunkId) + ".async.js"; +/******/ return "" + ({"292":"p__Classrooms__Lists__Exercise__Add__index","310":"p__User__Detail__ExperImentImg__Detail__index","556":"p__User__Detail__Order__pages__invoice__index","1482":"p__Classrooms__Lists__Graduation__Topics__Edit__index","1660":"p__User__QQLogin__index","1702":"p__Classrooms__New__index","2659":"p__User__Detail__UserPortrait__index","2819":"p__Classrooms__Lists__Template__detail__index","3317":"p__Classrooms__Lists__Graduation__Topics__Add__index","3391":"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index","3451":"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index","3509":"p__HttpStatus__SixActivities","3585":"p__Classrooms__Lists__Statistics__StudentSituation__index","3951":"p__Classrooms__Lists__ProgramHomework__Detail__index","4736":"p__User__Detail__Projects__index","4766":"p__Administration__index","4884":"p__Shixuns__Detail__Repository__Commit__index","4973":"p__Engineering__Evaluate__List__index","5572":"p__Paths__HigherVocationalEducation__index","6127":"p__Classrooms__Lists__ProgramHomework__Ranking__index","6685":"p__Shixuns__Detail__RankingList__index","6758":"p__Classrooms__Lists__Attachment__index","6788":"p__Classrooms__Lists__ProgramHomework__index","7043":"p__User__Detail__Topics__Exercise__Edit__index","7852":"p__Classrooms__Lists__ShixunHomeworks__index","7884":"p__Shixuns__Exports__index","8787":"p__Competitions__Entered__index","8999":"p__Three__index","9416":"p__Graduations__Lists__Tasks__index","10195":"p__Classrooms__Lists__GroupHomework__Detail__index","10485":"p__Question__AddOrEdit__BatchAdd__index","10737":"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index","10799":"p__User__Detail__Topics__Poll__Detail__index","10921":"p__Classrooms__Lists__Exercise__CodeDetails__index","11070":"p__Innovation__PublicMirror__index","11253":"p__Graduations__Lists__Gradingsummary__index","11512":"p__Classrooms__Lists__Exercise__AnswerCheck__index","11520":"p__Engineering__Lists__StudentList__index","11545":"p__Paperlibrary__Random__ExchangeFromProblemSet__index","11581":"p__Problemset__Preview__index","12076":"p__User__Detail__Competitions__index","12102":"p__Classrooms__Lists__Board__Edit__index","12303":"p__Classrooms__Lists__CommonHomework__Comment__index","12412":"p__User__Detail__Videos__index","12476":"p__Colleges__index","12865":"p__Innovation__MyMirror__index","12884":"p__Classrooms__Lists__ProgramHomework__Comment__index","13006":"p__Engineering__index","13355":"p__Classrooms__Lists__Polls__index","13581":"p__Classrooms__Lists__ShixunHomeworks__Detail__index","14058":"p__Demo__index","14105":"p__Classrooms__Lists__Exercise__Answer__index","14514":"p__Account__Results__index","14599":"p__Problemset__index","14610":"p__User__Detail__LearningPath__index","14662":"p__Classrooms__Lists__GroupHomework__Review__index","14889":"p__Classrooms__Lists__Exercise__ImitateAnswer__index","15148":"p__Classrooms__Lists__Template__index","15319":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index","15402":"p__User__Detail__Topics__Detail__index","16328":"p__Shixuns__Edit__body__Warehouse__index","16434":"p__User__Detail__Order__pages__records__index","16729":"p__Classrooms__Lists__GroupHomework__Edit__index","16845":"p__Shixuns__Detail__Settings__index","17482":"p__Classrooms__Lists__Exercise__Notice__index","17527":"p__MyProblem__RecordDetail__index","17622":"p__Classrooms__Lists__Polls__Detail__index","17806":"p__Classrooms__Lists__Statistics__StatisticsQuality__index","18241":"p__virtualSpaces__Lists__Plan__index","18302":"p__Classrooms__Lists__Board__index","18307":"p__User__Detail__Shixuns__index","19215":"p__Shixuns__Detail__ForkList__index","19360":"p__User__Detail__virtualSpaces__index","19519":"p__User__Detail__ClassManagement__Item__index","19715":"p__Classrooms__Lists__CommonHomework__Edit__index","19891":"p__User__Detail__Videos__Success__index","20026":"p__Classrooms__Lists__Graduation__Tasks__Edit__index","20576":"p__Account__Profile__Edit__index","20680":"p__Innovation__index","20700":"p__tasks__Jupyter__index","21265":"p__Classrooms__Lists__Announcement__index","21423":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index","21578":"p__Classrooms__Lists__Graduation__Topics__Detail__index","21939":"p__User__Detail__Order__index","22254":"p__Shixuns__Detail__Discuss__index","22307":"p__Report__index","22707":"p__Innovation__MyDataSet__index","23332":"p__Paths__Detail__id","24504":"p__virtualSpaces__Lists__Survey__index","25022":"p__Graduations__Lists__Settings__index","25470":"p__Shixuns__Detail__Collaborators__index","25705":"p__virtualSpaces__Lists__Construction__index","25972":"layouts__user__index","26366":"p__Innovation__PublicProject__index","26685":"p__Classrooms__Index__index","26741":"p__Engineering__Norm__List__index","26883":"p__Competitions__Index__index","27178":"p__User__BindAccount__index","27182":"p__User__ResetPassword__index","27333":"p__User__WechatLogin__index","27395":"p__Classrooms__Lists__Statistics__StudentDetail__index","28072":"p__Classrooms__Lists__GroupHomework__SubmitWork__index","28237":"p__User__Detail__Order__pages__view__index","28435":"p__Classrooms__Lists__Attendance__index","28639":"p__Forums__Index__redirect","28723":"p__Classrooms__Lists__Polls__Edit__index","28782":"p__Shixuns__Index__index","28982":"p__Paths__New__index","29647":"p__Question__Index__index","30067":"p__Message__index","30264":"p__User__Detail__Order__pages__orderPay__index","30342":"p__Classrooms__Lists__ShixunHomeworks__Comment__index","31006":"p__RestFul__index","31211":"p__Classrooms__Lists__CommonHomework__EditWork__index","31427":"p__Classrooms__Lists__Statistics__index","31674":"p__Classrooms__ClassicCases__index","31962":"p__Classrooms__Lists__Engineering__index","33356":"p__Classrooms__Lists__Assistant__index","33747":"p__virtualSpaces__Lists__Homepage__index","33784":"p__Paperlibrary__Random__Detail__index","34093":"p__Classrooms__Lists__Attendance__Detail__index","34601":"p__Paths__Detail__Statistics__index","34741":"p__Problems__OjForm__NewEdit__index","34800":"p__Engineering__Lists__GraduatedMatrix__index","34994":"p__Problems__OjForm__index","35238":"p__virtualSpaces__Lists__Material__index","35729":"p__Help__Index","36029":"p__Administration__Student__index","36270":"p__MyProblem__index","36784":"p__Innovation__Edit__index","37062":"layouts__SimpleLayouts","37948":"p__User__Detail__ClassManagement__index","38143":"layouts__GraduationsDetail__index","38447":"p__virtualSpaces__Lists__Knowledge__index","38634":"p__Classrooms__Lists__CourseGroup__List__index","38797":"p__Competitions__Edit__index","39332":"p__Classrooms__Lists__Video__index","39391":"p__Engineering__Lists__CurseSetting__index","39404":"monaco-editor","39695":"p__Classrooms__Lists__Polls__Add__index","40559":"layouts__virtualDetail__index","41048":"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index","41657":"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index","41717":"layouts__index","41953":"p__Problemset__NewItem__index","42240":"p__User__Detail__Videos__Upload__index","43442":"p__Classrooms__Lists__Board__Add__index","43862":"p__HttpStatus__403","44216":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index","44259":"p__User__Detail__Order__pages__result__index","44449":"p__Competitions__Exports__index","44565":"p__HttpStatus__500","45096":"p__Shixuns__Detail__AuditSituation__index","45179":"p__Administration__Student__Edit__index","45359":"p__Messages__Detail__index","45650":"p__Competitions__Update__index","45775":"p__Engineering__Lists__Document__index","45825":"p__Classrooms__Lists__Exercise__index","45992":"p__Classrooms__Lists__Exercise__ReviewGroup__index","46796":"p__virtualSpaces__Lists__Announcement__Detail__index","46963":"p__Classrooms__Lists__Engineering__Detail__index","47545":"p__Graduations__Lists__Archives__index","48077":"p__Classrooms__Lists__Students__index","48431":"p__Classrooms__Lists__Exercise__Export__index","48689":"p__Classrooms__Lists__Statistics__VideoStatistics__index","49205":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index","49366":"p__User__Login__index","49716":"p__Question__OjProblem__RecordDetail__index","49890":"p__Classrooms__Lists__CommonHomework__index","50869":"p__Guidance__index","51276":"p__MoopCases__Success__index","51461":"p__Graduations__Lists__Topics__index","51582":"p__Classrooms__Lists__GroupHomework__Add__index","51855":"p__MoopCases__InfoPanel__index","52338":"p__Classrooms__Lists__CommonHomework__Review__index","52404":"p__Classrooms__Lists__Template__teacher__index","52806":"p__User__Detail__Topics__Exercise__Detail__index","52829":"p__Messages__Private__index","52875":"p__Shixuns__Detail__id","53247":"p__Paperlibrary__See__index","53910":"p__HttpStatus__introduction","54056":"p__IntrainCourse__index","54164":"p__Classrooms__Lists__Exercise__Detail__index","54492":"p__Graduations__Lists__StudentSelection__index","54572":"p__Classrooms__Lists__ExportList__index","54770":"p__Classrooms__Lists__ProgramHomework__Detail__answer__index","54862":"p__Paperlibrary__index","55573":"p__Shixuns__Detail__Merge__index","55624":"p__Graduations__Lists__Index__index","56277":"p__Shixuns__Edit__index","57045":"p__Classrooms__Lists__CommonHomework__SubmitWork__index","57560":"p__Administration__College__index","57614":"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index","59133":"p__Shixuns__Detail__Challenges__index","59649":"p__Engineering__Lists__TrainingProgram__index","59788":"p__Account__Profile__index","60479":"p__Classrooms__Lists__GroupHomework__EditWork__index","60533":"p__Classrooms__Lists__Video__Statistics__Detail__index","60547":"p__Account__index","61043":"p__Classrooms__Lists__Graduation__Tasks__index","61713":"p__virtualSpaces__Lists__Settings__index","61727":"p__Classrooms__Lists__CourseGroup__NotList__index","61880":"p__User__Detail__Order__pages__apply__index","62300":"p__Api__index","62548":"p__Engineering__Norm__Detail__index","63157":"p__User__Detail__ExperImentImg__Add__index","64017":"p__Classrooms__Lists__PlaceholderPage__index","64144":"p__Problemset__Preview__New__index","64217":"p__Classrooms__Lists__Video__Statistics__index","64496":"p__HttpStatus__HpcCourse","64520":"p__Account__Secure__index","65111":"p__Terminal__index","65148":"p__Classrooms__Lists__Polls__Answer__index","65191":"p__User__Detail__Certificate__index","65549":"p__Shixuns__New__CreateImg__index","65816":"p__virtualSpaces__Lists__Announcement__index","66034":"p__HttpStatus__UserAgents","66063":"p__Graduations__Lists__Personmanage__index","66531":"p__HttpStatus__404","66583":"p__User__Detail__Classrooms__index","66651":"p__Engineering__Evaluate__Detail__index","67242":"p__Innovation__MyProject__index","67878":"p__Classrooms__Lists__LiveVideo__index","68014":"p__Classrooms__Lists__Teachers__index","68665":"p__Engineering__Lists__TrainingObjectives__index","68827":"p__Classrooms__Lists__OnlineLearning__index","68882":"p__Classrooms__Lists__Graduation__Tasks__Detail__index","69922":"p__Classrooms__Lists__Statistics__StudentVideo__index","69944":"p__Classrooms__Lists__Video__Statistics__StudentDetail__index","70928":"p__RestFul__Edit__index","71450":"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index","71783":"p__virtualSpaces__Lists__Experiment__index","72529":"p__User__Detail__id","72539":"p__Graduations__Review__index","72570":"p__Competitions__Detail__index","73183":"p__Engineering__Lists__GraduationIndex__index","73220":"p__Classrooms__Lists__Video__Upload__index","74264":"p__Forums__New__index","74795":"p__Classrooms__Lists__Graduation__Tasks__Add__index","75043":"p__User__Detail__Topics__Poll__Edit__index","75357":"p__Engineering__Lists__TrainingProgram__Edit__index","75786":"layouts__LoginAndRegister__index","75816":"p__Paperlibrary__Random__Edit__index","76904":"p__MoopCases__FormPanel__index","77460":"p__Question__OjProblem__index","77857":"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index","78085":"p__Classrooms__Lists__Exercise__Review__index","79489":"p__Engineering__Lists__CourseList__index","79590":"p__User__Detail__TeachGroup__index","79921":"p__Classrooms__ExamList__index","80508":"p__Forums__Detail__id","81148":"p__Shixuns__Detail__Repository__UploadFile__index","81799":"p__Competitions__Entered__Assembly__TeamDateil","82339":"p__virtualSpaces__Lists__Plan__Detail__index","82425":"p__Classrooms__Lists__Board__Detail__index","82443":"p__Graduations__Lists__StageModule__index","83141":"p__Innovation__Detail__index","83212":"p__MoopCases__index","83935":"p__Classrooms__Lists__GroupHomework__index","84546":"p__Engineering__Lists__TrainingProgram__Add__index","85048":"p__Classrooms__Lists__Graduation__Topics__index","85111":"p__User__Detail__Order__pages__orderInformation__index","85297":"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index","85888":"p__Classrooms__Lists__CommonHomework__Add__index","85891":"p__virtualSpaces__Lists__Resources__index","86052":"p__Paths__Index__index","86452":"p__Innovation__PublicDataSet__index","86541":"p__Shixuns__Detail__Dataset__index","86634":"p__Innovation__Tasks__index","86820":"p__User__Detail__Topics__Normal__index","86913":"p__Question__AddOrEdit__index","87058":"p__virtualSpaces__Lists__Survey__Detail__index","87260":"p__Account__Certification__index","87922":"p__Classrooms__Lists__CourseGroup__Detail__index","88517":"p__User__Detail__Topics__Group__index","88866":"p__index","89076":"p__Account__Binding__index","89677":"p__virtualSpaces__Lists__Announcement__AddAndEdit__index","89785":"p__Classrooms__Lists__Template__student__index","90109":"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index","90265":"p__User__Detail__Topics__index","90337":"p__Paperlibrary__Random__PreviewEdit__index","91045":"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index","91470":"p__User__Register__index","91831":"p__Graduations__Index__index","92045":"p__Engineering__Lists__TeacherList__index","92501":"p__Search__index","92603":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index","92823":"p__Engineering__Navigation__Home__index","92983":"p__Forums__Index__index","93260":"p__Paperlibrary__Add__index","93282":"layouts__ShixunDetail__index","93496":"p__User__Detail__OtherResources__index","93665":"p__tasks__index","93668":"p__Classrooms__Lists__CommonHomework__Detail__index","94078":"p__Messages__Tidings__index","94498":"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index","94662":"p__User__Detail__Paths__index","94715":"p__virtualSpaces__Lists__Material__Detail__index","94849":"p__User__Detail__ExperImentImg__index","95125":"p__Classrooms__Lists__Exercise__DetailedAnalysis__index","95176":"p__User__Detail__Videos__Protocol__index","95335":"p__Engineering__Lists__CourseMatrix__index","96444":"p__Video__Detail__id","96882":"p__Classrooms__New__StartClass__index","97008":"p__Shixuns__New__index","97046":"p__Shixuns__Detail__Repository__AddFile__index","98062":"p__User__Detail__Topicbank__index","98398":"p__virtualSpaces__Lists__Resources__Detail__index","98688":"p__Shixuns__Detail__Repository__index","98885":"p__Classrooms__Lists__Statistics__StudentStatistics__index","99674":"p__Shixuns__New__ImagePreview__index"}[chunkId] || chunkId) + ".async.js"; /******/ }; /******/ }(); /******/ @@ -129296,7 +129544,7 @@ function debounce (delay, callback, options) { /******/ // This function allow to reference async chunks /******/ __webpack_require__.miniCssF = function(chunkId) { /******/ // return url for filenames based on template -/******/ return "" + ({"292":"p__Classrooms__Lists__Exercise__Add__index","310":"p__User__Detail__ExperImentImg__Detail__index","556":"p__User__Detail__Order__pages__invoice__index","1482":"p__Classrooms__Lists__Graduation__Topics__Edit__index","1702":"p__Classrooms__New__index","2659":"p__User__Detail__UserPortrait__index","2819":"p__Classrooms__Lists__Template__detail__index","3317":"p__Classrooms__Lists__Graduation__Topics__Add__index","3391":"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index","3451":"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index","3509":"p__HttpStatus__SixActivities","3585":"p__Classrooms__Lists__Statistics__StudentSituation__index","3951":"p__Classrooms__Lists__ProgramHomework__Detail__index","4222":"p__Classrooms__Lists__ClassSchedule__index","4736":"p__User__Detail__Projects__index","4766":"p__Administration__index","4884":"p__Shixuns__Detail__Repository__Commit__index","4973":"p__Engineering__Evaluate__List__index","5572":"p__Paths__HigherVocationalEducation__index","6127":"p__Classrooms__Lists__ProgramHomework__Ranking__index","6685":"p__Shixuns__Detail__RankingList__index","6758":"p__Classrooms__Lists__Attachment__index","6788":"p__Classrooms__Lists__ProgramHomework__index","7043":"p__User__Detail__Topics__Exercise__Edit__index","7852":"p__Classrooms__Lists__ShixunHomeworks__index","7884":"p__Shixuns__Exports__index","8787":"p__Competitions__Entered__index","8999":"p__Three__index","9416":"p__Graduations__Lists__Tasks__index","10195":"p__Classrooms__Lists__GroupHomework__Detail__index","10485":"p__Question__AddOrEdit__BatchAdd__index","10737":"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index","10799":"p__User__Detail__Topics__Poll__Detail__index","10921":"p__Classrooms__Lists__Exercise__CodeDetails__index","11070":"p__Innovation__PublicMirror__index","11253":"p__Graduations__Lists__Gradingsummary__index","11512":"p__Classrooms__Lists__Exercise__AnswerCheck__index","11520":"p__Engineering__Lists__StudentList__index","11545":"p__Paperlibrary__Random__ExchangeFromProblemSet__index","11581":"p__Problemset__Preview__index","12076":"p__User__Detail__Competitions__index","12102":"p__Classrooms__Lists__Board__Edit__index","12303":"p__Classrooms__Lists__CommonHomework__Comment__index","12412":"p__User__Detail__Videos__index","12476":"p__Colleges__index","12865":"p__Innovation__MyMirror__index","12884":"p__Classrooms__Lists__ProgramHomework__Comment__index","13006":"p__Engineering__index","13355":"p__Classrooms__Lists__Polls__index","13581":"p__Classrooms__Lists__ShixunHomeworks__Detail__index","14058":"p__Demo__index","14105":"p__Classrooms__Lists__Exercise__Answer__index","14514":"p__Account__Results__index","14599":"p__Problemset__index","14610":"p__User__Detail__LearningPath__index","14662":"p__Classrooms__Lists__GroupHomework__Review__index","14889":"p__Classrooms__Lists__Exercise__ImitateAnswer__index","15148":"p__Classrooms__Lists__Template__index","15319":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index","15402":"p__User__Detail__Topics__Detail__index","16328":"p__Shixuns__Edit__body__Warehouse__index","16434":"p__User__Detail__Order__pages__records__index","16729":"p__Classrooms__Lists__GroupHomework__Edit__index","16845":"p__Shixuns__Detail__Settings__index","17482":"p__Classrooms__Lists__Exercise__Notice__index","17527":"p__MyProblem__RecordDetail__index","17622":"p__Classrooms__Lists__Polls__Detail__index","17806":"p__Classrooms__Lists__Statistics__StatisticsQuality__index","18241":"p__virtualSpaces__Lists__Plan__index","18302":"p__Classrooms__Lists__Board__index","18307":"p__User__Detail__Shixuns__index","19215":"p__Shixuns__Detail__ForkList__index","19360":"p__User__Detail__virtualSpaces__index","19519":"p__User__Detail__ClassManagement__Item__index","19715":"p__Classrooms__Lists__CommonHomework__Edit__index","19891":"p__User__Detail__Videos__Success__index","20026":"p__Classrooms__Lists__Graduation__Tasks__Edit__index","20576":"p__Account__Profile__Edit__index","20680":"p__Innovation__index","20700":"p__tasks__Jupyter__index","21265":"p__Classrooms__Lists__Announcement__index","21423":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index","21578":"p__Classrooms__Lists__Graduation__Topics__Detail__index","21939":"p__User__Detail__Order__index","22254":"p__Shixuns__Detail__Discuss__index","22307":"p__Report__index","22707":"p__Innovation__MyDataSet__index","23332":"p__Paths__Detail__id","24504":"p__virtualSpaces__Lists__Survey__index","25022":"p__Graduations__Lists__Settings__index","25470":"p__Shixuns__Detail__Collaborators__index","25705":"p__virtualSpaces__Lists__Construction__index","25972":"layouts__user__index","26366":"p__Innovation__PublicProject__index","26685":"p__Classrooms__Index__index","26741":"p__Engineering__Norm__List__index","26883":"p__Competitions__Index__index","27178":"p__User__BindAccount__index","27182":"p__User__ResetPassword__index","27395":"p__Classrooms__Lists__Statistics__StudentDetail__index","28072":"p__Classrooms__Lists__GroupHomework__SubmitWork__index","28237":"p__User__Detail__Order__pages__view__index","28435":"p__Classrooms__Lists__Attendance__index","28723":"p__Classrooms__Lists__Polls__Edit__index","28782":"p__Shixuns__Index__index","28982":"p__Paths__New__index","29647":"p__Question__Index__index","30067":"p__Message__index","30264":"p__User__Detail__Order__pages__orderPay__index","30342":"p__Classrooms__Lists__ShixunHomeworks__Comment__index","31006":"p__RestFul__index","31211":"p__Classrooms__Lists__CommonHomework__EditWork__index","31427":"p__Classrooms__Lists__Statistics__index","31674":"p__Classrooms__ClassicCases__index","31962":"p__Classrooms__Lists__Engineering__index","33356":"p__Classrooms__Lists__Assistant__index","33747":"p__virtualSpaces__Lists__Homepage__index","33784":"p__Paperlibrary__Random__Detail__index","34093":"p__Classrooms__Lists__Attendance__Detail__index","34601":"p__Paths__Detail__Statistics__index","34741":"p__Problems__OjForm__NewEdit__index","34800":"p__Engineering__Lists__GraduatedMatrix__index","34994":"p__Problems__OjForm__index","35238":"p__virtualSpaces__Lists__Material__index","35729":"p__Help__Index","36029":"p__Administration__Student__index","36270":"p__MyProblem__index","36784":"p__Innovation__Edit__index","37062":"layouts__SimpleLayouts","37948":"p__User__Detail__ClassManagement__index","38143":"layouts__GraduationsDetail__index","38447":"p__virtualSpaces__Lists__Knowledge__index","38634":"p__Classrooms__Lists__CourseGroup__List__index","38797":"p__Competitions__Edit__index","39332":"p__Classrooms__Lists__Video__index","39391":"p__Engineering__Lists__CurseSetting__index","39404":"monaco-editor","39695":"p__Classrooms__Lists__Polls__Add__index","40559":"layouts__virtualDetail__index","41048":"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index","41657":"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index","41717":"layouts__index","41953":"p__Problemset__NewItem__index","42240":"p__User__Detail__Videos__Upload__index","43442":"p__Classrooms__Lists__Board__Add__index","44259":"p__User__Detail__Order__pages__result__index","44449":"p__Competitions__Exports__index","45096":"p__Shixuns__Detail__AuditSituation__index","45179":"p__Administration__Student__Edit__index","45359":"p__Messages__Detail__index","45650":"p__Competitions__Update__index","45775":"p__Engineering__Lists__Document__index","45825":"p__Classrooms__Lists__Exercise__index","45992":"p__Classrooms__Lists__Exercise__ReviewGroup__index","46796":"p__virtualSpaces__Lists__Announcement__Detail__index","46963":"p__Classrooms__Lists__Engineering__Detail__index","47545":"p__Graduations__Lists__Archives__index","48077":"p__Classrooms__Lists__Students__index","48689":"p__Classrooms__Lists__Statistics__VideoStatistics__index","49205":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index","49366":"p__User__Login__index","49716":"p__Question__OjProblem__RecordDetail__index","49890":"p__Classrooms__Lists__CommonHomework__index","50869":"p__Guidance__index","51276":"p__MoopCases__Success__index","51461":"p__Graduations__Lists__Topics__index","51582":"p__Classrooms__Lists__GroupHomework__Add__index","51855":"p__MoopCases__InfoPanel__index","52338":"p__Classrooms__Lists__CommonHomework__Review__index","52404":"p__Classrooms__Lists__Template__teacher__index","52806":"p__User__Detail__Topics__Exercise__Detail__index","52829":"p__Messages__Private__index","52875":"p__Shixuns__Detail__id","53247":"p__Paperlibrary__See__index","53910":"p__HttpStatus__introduction","54056":"p__IntrainCourse__index","54164":"p__Classrooms__Lists__Exercise__Detail__index","54492":"p__Graduations__Lists__StudentSelection__index","54572":"p__Classrooms__Lists__ExportList__index","54770":"p__Classrooms__Lists__ProgramHomework__Detail__answer__index","54862":"p__Paperlibrary__index","55573":"p__Shixuns__Detail__Merge__index","55624":"p__Graduations__Lists__Index__index","56277":"p__Shixuns__Edit__index","57045":"p__Classrooms__Lists__CommonHomework__SubmitWork__index","57560":"p__Administration__College__index","57614":"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index","59133":"p__Shixuns__Detail__Challenges__index","59649":"p__Engineering__Lists__TrainingProgram__index","59788":"p__Account__Profile__index","60479":"p__Classrooms__Lists__GroupHomework__EditWork__index","60533":"p__Classrooms__Lists__Video__Statistics__Detail__index","60547":"p__Account__index","61043":"p__Classrooms__Lists__Graduation__Tasks__index","61713":"p__virtualSpaces__Lists__Settings__index","61727":"p__Classrooms__Lists__CourseGroup__NotList__index","61880":"p__User__Detail__Order__pages__apply__index","62548":"p__Engineering__Norm__Detail__index","63157":"p__User__Detail__ExperImentImg__Add__index","64144":"p__Problemset__Preview__New__index","64217":"p__Classrooms__Lists__Video__Statistics__index","64496":"p__HttpStatus__HpcCourse","64520":"p__Account__Secure__index","65111":"p__Terminal__index","65148":"p__Classrooms__Lists__Polls__Answer__index","65191":"p__User__Detail__Certificate__index","65549":"p__Shixuns__New__CreateImg__index","65816":"p__virtualSpaces__Lists__Announcement__index","66063":"p__Graduations__Lists__Personmanage__index","66583":"p__User__Detail__Classrooms__index","66651":"p__Engineering__Evaluate__Detail__index","67242":"p__Innovation__MyProject__index","67878":"p__Classrooms__Lists__LiveVideo__index","68014":"p__Classrooms__Lists__Teachers__index","68665":"p__Engineering__Lists__TrainingObjectives__index","68827":"p__Classrooms__Lists__OnlineLearning__index","68882":"p__Classrooms__Lists__Graduation__Tasks__Detail__index","69922":"p__Classrooms__Lists__Statistics__StudentVideo__index","69944":"p__Classrooms__Lists__Video__Statistics__StudentDetail__index","71450":"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index","71783":"p__virtualSpaces__Lists__Experiment__index","72529":"p__User__Detail__id","72539":"p__Graduations__Review__index","72570":"p__Competitions__Detail__index","73183":"p__Engineering__Lists__GraduationIndex__index","73220":"p__Classrooms__Lists__Video__Upload__index","74264":"p__Forums__New__index","74795":"p__Classrooms__Lists__Graduation__Tasks__Add__index","75043":"p__User__Detail__Topics__Poll__Edit__index","75357":"p__Engineering__Lists__TrainingProgram__Edit__index","75786":"layouts__LoginAndRegister__index","75816":"p__Paperlibrary__Random__Edit__index","76904":"p__MoopCases__FormPanel__index","77460":"p__Question__OjProblem__index","77857":"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index","78085":"p__Classrooms__Lists__Exercise__Review__index","79489":"p__Engineering__Lists__CourseList__index","79590":"p__User__Detail__TeachGroup__index","79921":"p__Classrooms__ExamList__index","80508":"p__Forums__Detail__id","81148":"p__Shixuns__Detail__Repository__UploadFile__index","82339":"p__virtualSpaces__Lists__Plan__Detail__index","82425":"p__Classrooms__Lists__Board__Detail__index","82443":"p__Graduations__Lists__StageModule__index","83141":"p__Innovation__Detail__index","83212":"p__MoopCases__index","83935":"p__Classrooms__Lists__GroupHomework__index","84546":"p__Engineering__Lists__TrainingProgram__Add__index","85048":"p__Classrooms__Lists__Graduation__Topics__index","85111":"p__User__Detail__Order__pages__orderInformation__index","85297":"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index","85888":"p__Classrooms__Lists__CommonHomework__Add__index","85891":"p__virtualSpaces__Lists__Resources__index","86052":"p__Paths__Index__index","86452":"p__Innovation__PublicDataSet__index","86541":"p__Shixuns__Detail__Dataset__index","86634":"p__Innovation__Tasks__index","86820":"p__User__Detail__Topics__Normal__index","86913":"p__Question__AddOrEdit__index","87058":"p__virtualSpaces__Lists__Survey__Detail__index","87260":"p__Account__Certification__index","87922":"p__Classrooms__Lists__CourseGroup__Detail__index","88517":"p__User__Detail__Topics__Group__index","88866":"p__index","89076":"p__Account__Binding__index","89677":"p__virtualSpaces__Lists__Announcement__AddAndEdit__index","89785":"p__Classrooms__Lists__Template__student__index","90109":"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index","90265":"p__User__Detail__Topics__index","91045":"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index","91470":"p__User__Register__index","91831":"p__Graduations__Index__index","92045":"p__Engineering__Lists__TeacherList__index","92501":"p__Search__index","92823":"p__Engineering__Navigation__Home__index","92983":"p__Forums__Index__index","93260":"p__Paperlibrary__Add__index","93282":"layouts__ShixunDetail__index","93496":"p__User__Detail__OtherResources__index","93665":"p__tasks__index","93668":"p__Classrooms__Lists__CommonHomework__Detail__index","94078":"p__Messages__Tidings__index","94498":"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index","94662":"p__User__Detail__Paths__index","94715":"p__virtualSpaces__Lists__Material__Detail__index","94849":"p__User__Detail__ExperImentImg__index","95125":"p__Classrooms__Lists__Exercise__DetailedAnalysis__index","95176":"p__User__Detail__Videos__Protocol__index","95335":"p__Engineering__Lists__CourseMatrix__index","96444":"p__Video__Detail__id","96882":"p__Classrooms__New__StartClass__index","97008":"p__Shixuns__New__index","97046":"p__Shixuns__Detail__Repository__AddFile__index","98062":"p__User__Detail__Topicbank__index","98398":"p__virtualSpaces__Lists__Resources__Detail__index","98688":"p__Shixuns__Detail__Repository__index","98885":"p__Classrooms__Lists__Statistics__StudentStatistics__index","99674":"p__Shixuns__New__ImagePreview__index"}[chunkId] || chunkId) + ".chunk.css"; +/******/ return "" + ({"292":"p__Classrooms__Lists__Exercise__Add__index","310":"p__User__Detail__ExperImentImg__Detail__index","556":"p__User__Detail__Order__pages__invoice__index","1482":"p__Classrooms__Lists__Graduation__Topics__Edit__index","1702":"p__Classrooms__New__index","2659":"p__User__Detail__UserPortrait__index","2819":"p__Classrooms__Lists__Template__detail__index","3317":"p__Classrooms__Lists__Graduation__Topics__Add__index","3391":"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index","3451":"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index","3509":"p__HttpStatus__SixActivities","3585":"p__Classrooms__Lists__Statistics__StudentSituation__index","3951":"p__Classrooms__Lists__ProgramHomework__Detail__index","4736":"p__User__Detail__Projects__index","4766":"p__Administration__index","4884":"p__Shixuns__Detail__Repository__Commit__index","4973":"p__Engineering__Evaluate__List__index","5572":"p__Paths__HigherVocationalEducation__index","6127":"p__Classrooms__Lists__ProgramHomework__Ranking__index","6685":"p__Shixuns__Detail__RankingList__index","6758":"p__Classrooms__Lists__Attachment__index","6788":"p__Classrooms__Lists__ProgramHomework__index","7043":"p__User__Detail__Topics__Exercise__Edit__index","7852":"p__Classrooms__Lists__ShixunHomeworks__index","7884":"p__Shixuns__Exports__index","8787":"p__Competitions__Entered__index","8999":"p__Three__index","9416":"p__Graduations__Lists__Tasks__index","10195":"p__Classrooms__Lists__GroupHomework__Detail__index","10485":"p__Question__AddOrEdit__BatchAdd__index","10737":"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index","10799":"p__User__Detail__Topics__Poll__Detail__index","10921":"p__Classrooms__Lists__Exercise__CodeDetails__index","11070":"p__Innovation__PublicMirror__index","11253":"p__Graduations__Lists__Gradingsummary__index","11512":"p__Classrooms__Lists__Exercise__AnswerCheck__index","11520":"p__Engineering__Lists__StudentList__index","11545":"p__Paperlibrary__Random__ExchangeFromProblemSet__index","11581":"p__Problemset__Preview__index","12076":"p__User__Detail__Competitions__index","12102":"p__Classrooms__Lists__Board__Edit__index","12303":"p__Classrooms__Lists__CommonHomework__Comment__index","12412":"p__User__Detail__Videos__index","12476":"p__Colleges__index","12865":"p__Innovation__MyMirror__index","12884":"p__Classrooms__Lists__ProgramHomework__Comment__index","13006":"p__Engineering__index","13355":"p__Classrooms__Lists__Polls__index","13581":"p__Classrooms__Lists__ShixunHomeworks__Detail__index","14058":"p__Demo__index","14105":"p__Classrooms__Lists__Exercise__Answer__index","14514":"p__Account__Results__index","14599":"p__Problemset__index","14610":"p__User__Detail__LearningPath__index","14662":"p__Classrooms__Lists__GroupHomework__Review__index","14889":"p__Classrooms__Lists__Exercise__ImitateAnswer__index","15148":"p__Classrooms__Lists__Template__index","15319":"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index","15402":"p__User__Detail__Topics__Detail__index","16328":"p__Shixuns__Edit__body__Warehouse__index","16434":"p__User__Detail__Order__pages__records__index","16729":"p__Classrooms__Lists__GroupHomework__Edit__index","16845":"p__Shixuns__Detail__Settings__index","17482":"p__Classrooms__Lists__Exercise__Notice__index","17527":"p__MyProblem__RecordDetail__index","17622":"p__Classrooms__Lists__Polls__Detail__index","17806":"p__Classrooms__Lists__Statistics__StatisticsQuality__index","18241":"p__virtualSpaces__Lists__Plan__index","18302":"p__Classrooms__Lists__Board__index","18307":"p__User__Detail__Shixuns__index","19215":"p__Shixuns__Detail__ForkList__index","19360":"p__User__Detail__virtualSpaces__index","19519":"p__User__Detail__ClassManagement__Item__index","19715":"p__Classrooms__Lists__CommonHomework__Edit__index","19891":"p__User__Detail__Videos__Success__index","20026":"p__Classrooms__Lists__Graduation__Tasks__Edit__index","20576":"p__Account__Profile__Edit__index","20680":"p__Innovation__index","20700":"p__tasks__Jupyter__index","21265":"p__Classrooms__Lists__Announcement__index","21423":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index","21578":"p__Classrooms__Lists__Graduation__Topics__Detail__index","21939":"p__User__Detail__Order__index","22254":"p__Shixuns__Detail__Discuss__index","22307":"p__Report__index","22707":"p__Innovation__MyDataSet__index","23332":"p__Paths__Detail__id","24504":"p__virtualSpaces__Lists__Survey__index","25022":"p__Graduations__Lists__Settings__index","25470":"p__Shixuns__Detail__Collaborators__index","25705":"p__virtualSpaces__Lists__Construction__index","25972":"layouts__user__index","26366":"p__Innovation__PublicProject__index","26685":"p__Classrooms__Index__index","26741":"p__Engineering__Norm__List__index","26883":"p__Competitions__Index__index","27178":"p__User__BindAccount__index","27182":"p__User__ResetPassword__index","27395":"p__Classrooms__Lists__Statistics__StudentDetail__index","28072":"p__Classrooms__Lists__GroupHomework__SubmitWork__index","28237":"p__User__Detail__Order__pages__view__index","28435":"p__Classrooms__Lists__Attendance__index","28723":"p__Classrooms__Lists__Polls__Edit__index","28782":"p__Shixuns__Index__index","28982":"p__Paths__New__index","29647":"p__Question__Index__index","30067":"p__Message__index","30264":"p__User__Detail__Order__pages__orderPay__index","30342":"p__Classrooms__Lists__ShixunHomeworks__Comment__index","31006":"p__RestFul__index","31211":"p__Classrooms__Lists__CommonHomework__EditWork__index","31427":"p__Classrooms__Lists__Statistics__index","31674":"p__Classrooms__ClassicCases__index","31962":"p__Classrooms__Lists__Engineering__index","33356":"p__Classrooms__Lists__Assistant__index","33747":"p__virtualSpaces__Lists__Homepage__index","33784":"p__Paperlibrary__Random__Detail__index","34093":"p__Classrooms__Lists__Attendance__Detail__index","34601":"p__Paths__Detail__Statistics__index","34741":"p__Problems__OjForm__NewEdit__index","34800":"p__Engineering__Lists__GraduatedMatrix__index","34994":"p__Problems__OjForm__index","35238":"p__virtualSpaces__Lists__Material__index","35729":"p__Help__Index","36029":"p__Administration__Student__index","36270":"p__MyProblem__index","36784":"p__Innovation__Edit__index","37062":"layouts__SimpleLayouts","37948":"p__User__Detail__ClassManagement__index","38143":"layouts__GraduationsDetail__index","38447":"p__virtualSpaces__Lists__Knowledge__index","38634":"p__Classrooms__Lists__CourseGroup__List__index","38797":"p__Competitions__Edit__index","39332":"p__Classrooms__Lists__Video__index","39391":"p__Engineering__Lists__CurseSetting__index","39404":"monaco-editor","39695":"p__Classrooms__Lists__Polls__Add__index","40559":"layouts__virtualDetail__index","41048":"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index","41657":"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index","41717":"layouts__index","41953":"p__Problemset__NewItem__index","42240":"p__User__Detail__Videos__Upload__index","43442":"p__Classrooms__Lists__Board__Add__index","44259":"p__User__Detail__Order__pages__result__index","44449":"p__Competitions__Exports__index","45096":"p__Shixuns__Detail__AuditSituation__index","45179":"p__Administration__Student__Edit__index","45359":"p__Messages__Detail__index","45650":"p__Competitions__Update__index","45775":"p__Engineering__Lists__Document__index","45825":"p__Classrooms__Lists__Exercise__index","45992":"p__Classrooms__Lists__Exercise__ReviewGroup__index","46796":"p__virtualSpaces__Lists__Announcement__Detail__index","46963":"p__Classrooms__Lists__Engineering__Detail__index","47545":"p__Graduations__Lists__Archives__index","48077":"p__Classrooms__Lists__Students__index","48689":"p__Classrooms__Lists__Statistics__VideoStatistics__index","49205":"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index","49366":"p__User__Login__index","49716":"p__Question__OjProblem__RecordDetail__index","49890":"p__Classrooms__Lists__CommonHomework__index","50869":"p__Guidance__index","51276":"p__MoopCases__Success__index","51461":"p__Graduations__Lists__Topics__index","51582":"p__Classrooms__Lists__GroupHomework__Add__index","51855":"p__MoopCases__InfoPanel__index","52338":"p__Classrooms__Lists__CommonHomework__Review__index","52404":"p__Classrooms__Lists__Template__teacher__index","52806":"p__User__Detail__Topics__Exercise__Detail__index","52829":"p__Messages__Private__index","52875":"p__Shixuns__Detail__id","53247":"p__Paperlibrary__See__index","53910":"p__HttpStatus__introduction","54056":"p__IntrainCourse__index","54164":"p__Classrooms__Lists__Exercise__Detail__index","54492":"p__Graduations__Lists__StudentSelection__index","54572":"p__Classrooms__Lists__ExportList__index","54770":"p__Classrooms__Lists__ProgramHomework__Detail__answer__index","54862":"p__Paperlibrary__index","55573":"p__Shixuns__Detail__Merge__index","55624":"p__Graduations__Lists__Index__index","56277":"p__Shixuns__Edit__index","57045":"p__Classrooms__Lists__CommonHomework__SubmitWork__index","57560":"p__Administration__College__index","57614":"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index","59133":"p__Shixuns__Detail__Challenges__index","59649":"p__Engineering__Lists__TrainingProgram__index","59788":"p__Account__Profile__index","60479":"p__Classrooms__Lists__GroupHomework__EditWork__index","60533":"p__Classrooms__Lists__Video__Statistics__Detail__index","60547":"p__Account__index","61043":"p__Classrooms__Lists__Graduation__Tasks__index","61713":"p__virtualSpaces__Lists__Settings__index","61727":"p__Classrooms__Lists__CourseGroup__NotList__index","61880":"p__User__Detail__Order__pages__apply__index","62548":"p__Engineering__Norm__Detail__index","63157":"p__User__Detail__ExperImentImg__Add__index","64144":"p__Problemset__Preview__New__index","64217":"p__Classrooms__Lists__Video__Statistics__index","64496":"p__HttpStatus__HpcCourse","64520":"p__Account__Secure__index","65111":"p__Terminal__index","65148":"p__Classrooms__Lists__Polls__Answer__index","65191":"p__User__Detail__Certificate__index","65549":"p__Shixuns__New__CreateImg__index","65816":"p__virtualSpaces__Lists__Announcement__index","66063":"p__Graduations__Lists__Personmanage__index","66583":"p__User__Detail__Classrooms__index","66651":"p__Engineering__Evaluate__Detail__index","67242":"p__Innovation__MyProject__index","67878":"p__Classrooms__Lists__LiveVideo__index","68014":"p__Classrooms__Lists__Teachers__index","68665":"p__Engineering__Lists__TrainingObjectives__index","68827":"p__Classrooms__Lists__OnlineLearning__index","68882":"p__Classrooms__Lists__Graduation__Tasks__Detail__index","69922":"p__Classrooms__Lists__Statistics__StudentVideo__index","69944":"p__Classrooms__Lists__Video__Statistics__StudentDetail__index","71450":"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index","71783":"p__virtualSpaces__Lists__Experiment__index","72529":"p__User__Detail__id","72539":"p__Graduations__Review__index","72570":"p__Competitions__Detail__index","73183":"p__Engineering__Lists__GraduationIndex__index","73220":"p__Classrooms__Lists__Video__Upload__index","74264":"p__Forums__New__index","74795":"p__Classrooms__Lists__Graduation__Tasks__Add__index","75043":"p__User__Detail__Topics__Poll__Edit__index","75357":"p__Engineering__Lists__TrainingProgram__Edit__index","75786":"layouts__LoginAndRegister__index","75816":"p__Paperlibrary__Random__Edit__index","76904":"p__MoopCases__FormPanel__index","77460":"p__Question__OjProblem__index","77857":"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index","78085":"p__Classrooms__Lists__Exercise__Review__index","79489":"p__Engineering__Lists__CourseList__index","79590":"p__User__Detail__TeachGroup__index","79921":"p__Classrooms__ExamList__index","80508":"p__Forums__Detail__id","81148":"p__Shixuns__Detail__Repository__UploadFile__index","82339":"p__virtualSpaces__Lists__Plan__Detail__index","82425":"p__Classrooms__Lists__Board__Detail__index","82443":"p__Graduations__Lists__StageModule__index","83141":"p__Innovation__Detail__index","83212":"p__MoopCases__index","83935":"p__Classrooms__Lists__GroupHomework__index","84546":"p__Engineering__Lists__TrainingProgram__Add__index","85048":"p__Classrooms__Lists__Graduation__Topics__index","85111":"p__User__Detail__Order__pages__orderInformation__index","85297":"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index","85888":"p__Classrooms__Lists__CommonHomework__Add__index","85891":"p__virtualSpaces__Lists__Resources__index","86052":"p__Paths__Index__index","86452":"p__Innovation__PublicDataSet__index","86541":"p__Shixuns__Detail__Dataset__index","86634":"p__Innovation__Tasks__index","86820":"p__User__Detail__Topics__Normal__index","86913":"p__Question__AddOrEdit__index","87058":"p__virtualSpaces__Lists__Survey__Detail__index","87260":"p__Account__Certification__index","87922":"p__Classrooms__Lists__CourseGroup__Detail__index","88517":"p__User__Detail__Topics__Group__index","88866":"p__index","89076":"p__Account__Binding__index","89677":"p__virtualSpaces__Lists__Announcement__AddAndEdit__index","89785":"p__Classrooms__Lists__Template__student__index","90109":"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index","90265":"p__User__Detail__Topics__index","91045":"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index","91470":"p__User__Register__index","91831":"p__Graduations__Index__index","92045":"p__Engineering__Lists__TeacherList__index","92501":"p__Search__index","92823":"p__Engineering__Navigation__Home__index","92983":"p__Forums__Index__index","93260":"p__Paperlibrary__Add__index","93282":"layouts__ShixunDetail__index","93496":"p__User__Detail__OtherResources__index","93665":"p__tasks__index","93668":"p__Classrooms__Lists__CommonHomework__Detail__index","94078":"p__Messages__Tidings__index","94498":"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index","94662":"p__User__Detail__Paths__index","94715":"p__virtualSpaces__Lists__Material__Detail__index","94849":"p__User__Detail__ExperImentImg__index","95125":"p__Classrooms__Lists__Exercise__DetailedAnalysis__index","95176":"p__User__Detail__Videos__Protocol__index","95335":"p__Engineering__Lists__CourseMatrix__index","96444":"p__Video__Detail__id","96882":"p__Classrooms__New__StartClass__index","97008":"p__Shixuns__New__index","97046":"p__Shixuns__Detail__Repository__AddFile__index","98062":"p__User__Detail__Topicbank__index","98398":"p__virtualSpaces__Lists__Resources__Detail__index","98688":"p__Shixuns__Detail__Repository__index","98885":"p__Classrooms__Lists__Statistics__StudentStatistics__index","99674":"p__Shixuns__New__ImagePreview__index"}[chunkId] || chunkId) + ".chunk.css"; /******/ }; /******/ }(); /******/ @@ -129465,7 +129713,7 @@ function debounce (delay, callback, options) { /******/ }; /******/ /******/ __webpack_require__.f.miniCss = function(chunkId, promises) { -/******/ var cssChunks = {"292":1,"310":1,"556":1,"1482":1,"1702":1,"2659":1,"2819":1,"3317":1,"3391":1,"3451":1,"3509":1,"3585":1,"3951":1,"4222":1,"4736":1,"4766":1,"4884":1,"4973":1,"5572":1,"6127":1,"6685":1,"6758":1,"6788":1,"7043":1,"7852":1,"7884":1,"8787":1,"8999":1,"9416":1,"10195":1,"10485":1,"10737":1,"10799":1,"10921":1,"11070":1,"11253":1,"11512":1,"11520":1,"11545":1,"11581":1,"12076":1,"12102":1,"12303":1,"12412":1,"12476":1,"12865":1,"12884":1,"13006":1,"13355":1,"13581":1,"14058":1,"14105":1,"14514":1,"14599":1,"14610":1,"14662":1,"14889":1,"15148":1,"15319":1,"15402":1,"16328":1,"16434":1,"16729":1,"16845":1,"17482":1,"17527":1,"17622":1,"17806":1,"18241":1,"18302":1,"18307":1,"19215":1,"19360":1,"19519":1,"19715":1,"19891":1,"20026":1,"20576":1,"20680":1,"20700":1,"21265":1,"21423":1,"21578":1,"21939":1,"22254":1,"22307":1,"22707":1,"23332":1,"23613":1,"24504":1,"25022":1,"25470":1,"25705":1,"25972":1,"26366":1,"26685":1,"26741":1,"26883":1,"27178":1,"27182":1,"27395":1,"28072":1,"28237":1,"28435":1,"28723":1,"28782":1,"28982":1,"29647":1,"30067":1,"30264":1,"30342":1,"31006":1,"31211":1,"31427":1,"31674":1,"31962":1,"33356":1,"33747":1,"33784":1,"34093":1,"34601":1,"34741":1,"34800":1,"34994":1,"35238":1,"35729":1,"36029":1,"36270":1,"36784":1,"37062":1,"37948":1,"38143":1,"38447":1,"38634":1,"38797":1,"39332":1,"39391":1,"39404":1,"39695":1,"40559":1,"41048":1,"41657":1,"41717":1,"41953":1,"42240":1,"43442":1,"44259":1,"44449":1,"44894":1,"45096":1,"45179":1,"45359":1,"45650":1,"45775":1,"45825":1,"45992":1,"46796":1,"46963":1,"47545":1,"48077":1,"48689":1,"49205":1,"49366":1,"49716":1,"49890":1,"50869":1,"51276":1,"51461":1,"51582":1,"51855":1,"52338":1,"52404":1,"52806":1,"52829":1,"52875":1,"53247":1,"53910":1,"54056":1,"54164":1,"54492":1,"54572":1,"54770":1,"54862":1,"55573":1,"55624":1,"56277":1,"57045":1,"57560":1,"57614":1,"59133":1,"59649":1,"59741":1,"59788":1,"60479":1,"60533":1,"60547":1,"61043":1,"61713":1,"61727":1,"61880":1,"62548":1,"63157":1,"63510":1,"64144":1,"64217":1,"64496":1,"64520":1,"65111":1,"65148":1,"65191":1,"65549":1,"65816":1,"66063":1,"66583":1,"66651":1,"67242":1,"67878":1,"68014":1,"68665":1,"68827":1,"68882":1,"69922":1,"69944":1,"71244":1,"71450":1,"71783":1,"72529":1,"72539":1,"72570":1,"73183":1,"73220":1,"74264":1,"74795":1,"75043":1,"75357":1,"75786":1,"75816":1,"76409":1,"76626":1,"76904":1,"77460":1,"77857":1,"78085":1,"78273":1,"79489":1,"79590":1,"79921":1,"80508":1,"81148":1,"82339":1,"82425":1,"82443":1,"83141":1,"83212":1,"83935":1,"84546":1,"85048":1,"85111":1,"85297":1,"85888":1,"85891":1,"86052":1,"86452":1,"86541":1,"86634":1,"86820":1,"86913":1,"87058":1,"87260":1,"87922":1,"88517":1,"88866":1,"89076":1,"89200":1,"89677":1,"89785":1,"90109":1,"90265":1,"91045":1,"91470":1,"91831":1,"92045":1,"92501":1,"92823":1,"92983":1,"93260":1,"93282":1,"93496":1,"93665":1,"93668":1,"94078":1,"94498":1,"94662":1,"94715":1,"94849":1,"95125":1,"95176":1,"95335":1,"96444":1,"96882":1,"97008":1,"97046":1,"98062":1,"98398":1,"98688":1,"98885":1,"99226":1,"99674":1}; +/******/ var cssChunks = {"292":1,"310":1,"556":1,"1482":1,"1702":1,"2659":1,"2819":1,"3317":1,"3391":1,"3451":1,"3509":1,"3585":1,"3951":1,"4736":1,"4766":1,"4884":1,"4973":1,"5572":1,"6127":1,"6685":1,"6758":1,"6788":1,"7043":1,"7852":1,"7884":1,"8787":1,"8999":1,"9416":1,"10195":1,"10485":1,"10737":1,"10799":1,"10921":1,"11070":1,"11253":1,"11512":1,"11520":1,"11545":1,"11581":1,"12076":1,"12102":1,"12303":1,"12412":1,"12476":1,"12865":1,"12884":1,"13006":1,"13355":1,"13581":1,"14058":1,"14105":1,"14514":1,"14599":1,"14610":1,"14662":1,"14889":1,"15148":1,"15319":1,"15402":1,"16328":1,"16434":1,"16729":1,"16845":1,"17482":1,"17527":1,"17622":1,"17806":1,"18241":1,"18302":1,"18307":1,"19215":1,"19360":1,"19519":1,"19715":1,"19891":1,"20026":1,"20576":1,"20680":1,"20700":1,"21265":1,"21423":1,"21578":1,"21939":1,"22254":1,"22307":1,"22707":1,"23332":1,"23613":1,"24504":1,"25022":1,"25470":1,"25705":1,"25972":1,"26366":1,"26685":1,"26741":1,"26883":1,"27178":1,"27182":1,"27395":1,"28072":1,"28237":1,"28435":1,"28723":1,"28782":1,"28982":1,"29647":1,"30067":1,"30264":1,"30342":1,"31006":1,"31211":1,"31427":1,"31674":1,"31962":1,"33356":1,"33747":1,"33784":1,"34093":1,"34601":1,"34741":1,"34800":1,"34994":1,"35238":1,"35729":1,"36029":1,"36270":1,"36784":1,"37062":1,"37948":1,"38143":1,"38447":1,"38634":1,"38797":1,"39332":1,"39391":1,"39404":1,"39695":1,"40559":1,"41048":1,"41657":1,"41717":1,"41953":1,"42240":1,"43442":1,"44259":1,"44449":1,"44894":1,"45096":1,"45179":1,"45359":1,"45650":1,"45775":1,"45825":1,"45992":1,"46796":1,"46963":1,"47545":1,"48077":1,"48689":1,"49205":1,"49366":1,"49716":1,"49890":1,"50869":1,"51276":1,"51461":1,"51582":1,"51855":1,"52338":1,"52404":1,"52806":1,"52829":1,"52875":1,"53247":1,"53910":1,"54056":1,"54164":1,"54492":1,"54572":1,"54770":1,"54862":1,"55573":1,"55624":1,"56277":1,"57045":1,"57560":1,"57614":1,"59133":1,"59649":1,"59741":1,"59788":1,"60479":1,"60533":1,"60547":1,"61043":1,"61713":1,"61727":1,"61880":1,"62548":1,"63157":1,"63510":1,"64144":1,"64217":1,"64496":1,"64520":1,"65111":1,"65148":1,"65191":1,"65549":1,"65816":1,"66063":1,"66583":1,"66651":1,"67242":1,"67878":1,"68014":1,"68665":1,"68827":1,"68882":1,"69922":1,"69944":1,"71244":1,"71450":1,"71783":1,"72529":1,"72539":1,"72570":1,"73183":1,"73220":1,"74264":1,"74795":1,"75043":1,"75357":1,"75786":1,"75816":1,"76409":1,"76626":1,"76904":1,"77460":1,"77857":1,"78085":1,"78273":1,"79489":1,"79590":1,"79921":1,"80508":1,"81148":1,"82339":1,"82425":1,"82443":1,"83141":1,"83212":1,"83935":1,"84546":1,"85048":1,"85111":1,"85297":1,"85888":1,"85891":1,"86052":1,"86452":1,"86541":1,"86634":1,"86820":1,"86913":1,"87058":1,"87260":1,"87922":1,"88517":1,"88866":1,"89076":1,"89200":1,"89677":1,"89785":1,"90109":1,"90265":1,"91045":1,"91470":1,"91831":1,"92045":1,"92501":1,"92823":1,"92983":1,"93260":1,"93282":1,"93496":1,"93665":1,"93668":1,"94078":1,"94498":1,"94662":1,"94715":1,"94849":1,"95125":1,"95176":1,"95335":1,"96444":1,"96882":1,"97008":1,"97046":1,"98062":1,"98398":1,"98688":1,"98885":1,"99226":1,"99674":1}; /******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]); /******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) { /******/ promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() { @@ -131814,664 +132062,664 @@ function _getRoutes() { "id": "111" }, "112": { - "path": "/classrooms/:coursesId/course_schedule", + "path": "/classrooms/:coursesId/program_homework", "parentId": "95", "id": "112" }, "113": { - "path": "/classrooms/:coursesId/program_homework", + "path": "/classrooms/:coursesId/program_homework/:categoryId", "parentId": "95", "id": "113" }, "114": { - "path": "/classrooms/:coursesId/program_homework/:categoryId", + "path": "/classrooms/:coursesId/engineering", "parentId": "95", "id": "114" }, "115": { - "path": "/classrooms/:coursesId/engineering", + "path": "/classrooms/:coursesId/attendance", "parentId": "95", "id": "115" }, "116": { - "path": "/classrooms/:coursesId/attendance", + "path": "/classrooms/:coursesId/attendance/:categoryId", "parentId": "95", "id": "116" }, "117": { - "path": "/classrooms/:coursesId/attendance/:categoryId", + "path": "/classrooms/:coursesId/attendance/:categoryId/:tabId/detail", "parentId": "95", "id": "117" }, "118": { - "path": "/classrooms/:coursesId/attendance/:categoryId/:tabId/detail", + "path": "/classrooms/:coursesId/announcement", "parentId": "95", "id": "118" }, "119": { - "path": "/classrooms/:coursesId/announcement", + "path": "/classrooms/:coursesId/announcement/:categoryId", "parentId": "95", "id": "119" }, "120": { - "path": "/classrooms/:coursesId/announcement/:categoryId", + "path": "/classrooms/:coursesId/online_learning", "parentId": "95", "id": "120" }, "121": { - "path": "/classrooms/:coursesId/online_learning", + "path": "/classrooms/:coursesId/online_learning/:categoryId", "parentId": "95", "id": "121" }, "122": { - "path": "/classrooms/:coursesId/online_learning/:categoryId", + "path": "/classrooms/:coursesId/attachment/:categoryId", "parentId": "95", "id": "122" }, "123": { - "path": "/classrooms/:coursesId/attachment/:categoryId", + "path": "/classrooms/:coursesId/attachment", "parentId": "95", "id": "123" }, "124": { - "path": "/classrooms/:coursesId/attachment", + "path": "/classrooms/:coursesId/video", "parentId": "95", "id": "124" }, "125": { - "path": "/classrooms/:coursesId/video", + "path": "/classrooms/:coursesId/video/:categoryId", "parentId": "95", "id": "125" }, "126": { - "path": "/classrooms/:coursesId/video/:categoryId", + "path": "/classrooms/:coursesId/video/:categoryId/statistics", "parentId": "95", "id": "126" }, "127": { - "path": "/classrooms/:coursesId/video/:categoryId/statistics", + "path": "/classrooms/:coursesId/video/:username/upload", "parentId": "95", "id": "127" }, "128": { - "path": "/classrooms/:coursesId/video/:username/upload", + "path": "/classrooms/:coursesId/video/:categoryId/statistics/:videoId", "parentId": "95", "id": "128" }, "129": { - "path": "/classrooms/:coursesId/video/:categoryId/statistics/:videoId", + "path": "/classrooms/:coursesId/live_video/:categoryId", "parentId": "95", "id": "129" }, "130": { - "path": "/classrooms/:coursesId/live_video/:categoryId", + "path": "/classrooms/:coursesId/live_video", "parentId": "95", "id": "130" }, "131": { - "path": "/classrooms/:coursesId/live_video", + "path": "/classrooms/:coursesId/video/:categoryId/studentstatistics", "parentId": "95", "id": "131" }, "132": { - "path": "/classrooms/:coursesId/video/:categoryId/studentstatistics", + "path": "/classrooms/:coursesId/board/:categoryId", "parentId": "95", "id": "132" }, "133": { - "path": "/classrooms/:coursesId/board/:categoryId", + "path": "/classrooms/:coursesId/board", "parentId": "95", "id": "133" }, "134": { - "path": "/classrooms/:coursesId/board", + "path": "/classrooms/:coursesId/course_group", "parentId": "95", "id": "134" }, "135": { - "path": "/classrooms/:coursesId/course_group", + "path": "/classrooms/:coursesId/course_group/:categoryId", "parentId": "95", "id": "135" }, "136": { - "path": "/classrooms/:coursesId/course_group/:categoryId", + "path": "/classrooms/:coursesId/course_group/:categoryId/detail", "parentId": "95", "id": "136" }, "137": { - "path": "/classrooms/:coursesId/course_group/:categoryId/detail", + "path": "/classrooms/:coursesId/not_course_group/:categoryId", "parentId": "95", "id": "137" }, "138": { - "path": "/classrooms/:coursesId/not_course_group/:categoryId", + "path": "/classrooms/:coursesId/not_course_group", "parentId": "95", "id": "138" }, "139": { - "path": "/classrooms/:coursesId/not_course_group", + "path": "/classrooms/:coursesId/statistics/", "parentId": "95", "id": "139" }, "140": { - "path": "/classrooms/:coursesId/statistics/", + "path": "/classrooms/:coursesId/statistics/:categoryId", "parentId": "95", "id": "140" }, "141": { - "path": "/classrooms/:coursesId/statistics/:categoryId", + "path": "/classrooms/:coursesId/statistics_video/:categoryId", "parentId": "95", "id": "141" }, "142": { - "path": "/classrooms/:coursesId/statistics_video/:categoryId", + "path": "/classrooms/:coursesId/statistics_quality/:categoryId", "parentId": "95", "id": "142" }, "143": { - "path": "/classrooms/:coursesId/statistics_quality/:categoryId", + "path": "/classrooms/:coursesId/student_statistics/:categoryId", "parentId": "95", "id": "143" }, "144": { - "path": "/classrooms/:coursesId/student_statistics/:categoryId", + "path": "/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type", "parentId": "95", "id": "144" }, "145": { - "path": "/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type", + "path": "/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid", "parentId": "95", "id": "145" }, "146": { - "path": "/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid", + "path": "/classrooms/:coursesId/exportlist/:type", "parentId": "95", "id": "146" }, "147": { - "path": "/classrooms/:coursesId/exportlist/:type", + "path": "/classrooms/:coursesId", "parentId": "95", "id": "147" }, "148": { - "path": "/classrooms/:coursesId", + "path": "/classrooms/:coursesId/template", "parentId": "95", "id": "148" }, "149": { - "path": "/classrooms/:coursesId/template", - "parentId": "95", + "path": "/competitions", + "parentId": "1", "id": "149" }, "150": { - "path": "/competitions", - "parentId": "1", + "path": "/competitions/index", + "parentId": "149", "id": "150" }, "151": { - "path": "/competitions/index", - "parentId": "150", + "path": "/competitions/:identifier/list", + "parentId": "149", "id": "151" }, "152": { - "path": "/competitions/:identifier/list", - "parentId": "150", + "path": "/competitions/exports", + "parentId": "149", "id": "152" }, "153": { - "path": "/competitions/exports", - "parentId": "150", + "path": "/competitions", + "parentId": "149", "id": "153" }, "154": { - "path": "/competitions", - "parentId": "150", + "path": "/competitions/:identifier", + "parentId": "149", "id": "154" }, "155": { - "path": "/competitions/:identifier", - "parentId": "150", + "path": "/competitions/index/:identifier", + "parentId": "149", "id": "155" }, "156": { - "path": "/competitions/index/:identifier", - "parentId": "150", + "path": "/competitions/:identifier/detail/enroll", + "parentId": "149", "id": "156" }, "157": { - "path": "/competitions/:identifier/detail/enroll", - "parentId": "150", + "path": "/competitions/:identifier/detail/UpdateTeanname/:Teannameid", + "parentId": "149", "id": "157" }, "158": { - "path": "/competitions/:identifier/detail/UpdateTeanname/:Teannameid", - "parentId": "150", + "path": "/competitions/:identifier/detail/teamDetail/:Teamid", + "parentId": "149", "id": "158" }, "159": { - "path": "/competitions/:identifier/detail/teamDetail/:Teamid", - "parentId": "150", + "path": "/competitions/detail/:identifier", + "parentId": "149", "id": "159" }, "160": { - "path": "/competitions/detail/:identifier", - "parentId": "150", + "path": "/forums", + "parentId": "1", "id": "160" }, "161": { "path": "/forums", - "parentId": "1", + "parentId": "160", "id": "161" }, "162": { - "path": "/forums", - "parentId": "161", + "path": "/forums/categories/:memoType", + "parentId": "160", "id": "162" }, "163": { - "path": "/forums/categories/:memoType", - "parentId": "161", + "path": "/forums/new", + "parentId": "160", "id": "163" }, "164": { - "path": "/forums/new", - "parentId": "161", + "path": "/forums/:memoId/edit", + "parentId": "160", "id": "164" }, "165": { - "path": "/forums/:memoId/edit", - "parentId": "161", + "path": "/forums/:memoId", + "parentId": "160", "id": "165" }, "166": { - "path": "/forums/:memoId", - "parentId": "161", + "path": "/problemset", + "parentId": "1", "id": "166" }, "167": { "path": "/problemset", - "parentId": "1", + "parentId": "166", "id": "167" }, "168": { - "path": "/problemset", - "parentId": "167", + "path": "/problemset/newitem", + "parentId": "166", "id": "168" }, "169": { - "path": "/problemset/newitem", - "parentId": "167", + "path": "/problemset/:type/:id", + "parentId": "166", "id": "169" }, "170": { - "path": "/problemset/:type/:id", - "parentId": "167", + "path": "/problemset/preview", + "parentId": "166", "id": "170" }, "171": { - "path": "/problemset/preview", - "parentId": "167", + "path": "/problemset/preview_new", + "parentId": "166", "id": "171" }, "172": { - "path": "/problemset/preview_new", - "parentId": "167", + "path": "/problemset/preview_select", + "parentId": "166", "id": "172" }, "173": { - "path": "/problemset/preview_select", - "parentId": "167", + "path": "/shixuns", + "parentId": "1", "id": "173" }, "174": { "path": "/shixuns", - "parentId": "1", + "parentId": "173", "id": "174" }, "175": { - "path": "/shixuns", - "parentId": "174", + "path": "/shixuns/exports", + "parentId": "173", "id": "175" }, "176": { - "path": "/shixuns/exports", - "parentId": "174", + "path": "/shixuns/new", + "parentId": "173", "id": "176" }, "177": { - "path": "/shixuns/new", - "parentId": "174", + "path": "/shixuns/new/CreateImg", + "parentId": "173", "id": "177" }, "178": { - "path": "/shixuns/new/CreateImg", - "parentId": "174", + "path": "/shixuns/new/:id/imagepreview", + "parentId": "173", "id": "178" }, "179": { - "path": "/shixuns/new/:id/imagepreview", - "parentId": "174", + "path": "/shixuns/:id/Merge", + "parentId": "173", "id": "179" }, "180": { - "path": "/shixuns/:id/Merge", - "parentId": "174", + "path": "/shixuns/:id/edit", + "parentId": "173", "id": "180" }, "181": { - "path": "/shixuns/:id/edit", - "parentId": "174", + "path": "shixuns/:id/edit/warehouse", + "parentId": "180", "id": "181" }, "182": { - "path": "shixuns/:id/edit/warehouse", - "parentId": "181", + "path": "/shixuns/:id/edit/newquestion", + "parentId": "180", "id": "182" }, "183": { - "path": "/shixuns/:id/edit/newquestion", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/editquestion", + "parentId": "180", "id": "183" }, "184": { - "path": "/shixuns/:id/edit/:challengesId/editquestion", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/editquestion/:questionId", + "parentId": "180", "id": "184" }, "185": { - "path": "/shixuns/:id/edit/:challengesId/editquestion/:questionId", - "parentId": "181", + "path": "/shixuns/:id/edit/new", + "parentId": "180", "id": "185" }, "186": { - "path": "/shixuns/:id/edit/new", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/editcheckpoint", + "parentId": "180", "id": "186" }, "187": { - "path": "/shixuns/:id/edit/:challengesId/editcheckpoint", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/tab=2", + "parentId": "180", "id": "187" }, "188": { - "path": "/shixuns/:id/edit/:challengesId/tab=2", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/tab=3", + "parentId": "180", "id": "188" }, "189": { - "path": "/shixuns/:id/edit/:challengesId/tab=3", - "parentId": "181", + "path": "/shixuns/:id/edit/:challengesId/tab=4", + "parentId": "180", "id": "189" }, "190": { - "path": "/shixuns/:id/edit/:challengesId/tab=4", - "parentId": "181", + "path": "/shixuns/:id", + "parentId": "173", "id": "190" }, "191": { - "path": "/shixuns/:id", - "parentId": "174", + "path": "/shixuns/:id/challenges", + "parentId": "190", "id": "191" }, "192": { - "path": "/shixuns/:id/challenges", - "parentId": "191", + "path": "/shixuns/:id/repository", + "parentId": "190", "id": "192" }, "193": { - "path": "/shixuns/:id/repository", - "parentId": "191", + "path": "/shixuns/:id/secret_repository", + "parentId": "190", "id": "193" }, "194": { - "path": "/shixuns/:id/secret_repository", - "parentId": "191", + "path": "/shixuns/:id/collaborators", + "parentId": "190", "id": "194" }, "195": { - "path": "/shixuns/:id/collaborators", - "parentId": "191", + "path": "/shixuns/:id/dataset", + "parentId": "190", "id": "195" }, "196": { - "path": "/shixuns/:id/dataset", - "parentId": "191", + "path": "/shixuns/:id/shixun_discuss", + "parentId": "190", "id": "196" }, "197": { - "path": "/shixuns/:id/shixun_discuss", - "parentId": "191", + "path": "/shixuns/:id/ranking_list", + "parentId": "190", "id": "197" }, "198": { - "path": "/shixuns/:id/ranking_list", - "parentId": "191", + "path": "/shixuns/:id/settings", + "parentId": "190", "id": "198" }, "199": { - "path": "/shixuns/:id/settings", - "parentId": "191", + "path": "/shixuns/:id/repository/:repoId/commits", + "parentId": "190", "id": "199" }, "200": { - "path": "/shixuns/:id/repository/:repoId/commits", - "parentId": "191", + "path": "/shixuns/:id/secret_repository/:repoId/commits", + "parentId": "190", "id": "200" }, "201": { - "path": "/shixuns/:id/secret_repository/:repoId/commits", - "parentId": "191", + "path": "/shixuns/:id/repository/upload_file", + "parentId": "190", "id": "201" }, "202": { - "path": "/shixuns/:id/repository/upload_file", - "parentId": "191", + "path": "/shixuns/:id/secret_repository/upload_file", + "parentId": "190", "id": "202" }, "203": { - "path": "/shixuns/:id/secret_repository/upload_file", - "parentId": "191", + "path": "/shixuns/:id/repository/add_file", + "parentId": "190", "id": "203" }, "204": { - "path": "/shixuns/:id/repository/add_file", - "parentId": "191", + "path": "/shixuns/:id/secret_repository/add_file", + "parentId": "190", "id": "204" }, "205": { - "path": "/shixuns/:id/secret_repository/add_file", - "parentId": "191", + "path": "/shixuns/:id/repository/master/shixun_show/:fileId", + "exact": false, + "parentId": "190", "id": "205" }, "206": { - "path": "/shixuns/:id/repository/master/shixun_show/:fileId", + "path": "/shixuns/:id/secret_repository/master/shixun_show/:fileId", "exact": false, - "parentId": "191", + "parentId": "190", "id": "206" }, "207": { - "path": "/shixuns/:id/secret_repository/master/shixun_show/:fileId", - "exact": false, - "parentId": "191", + "path": "/shixuns/:id/audit_situation", + "parentId": "190", "id": "207" }, "208": { - "path": "/shixuns/:id/audit_situation", - "parentId": "191", + "path": "/shixuns/:id/fork_list", + "parentId": "190", "id": "208" }, "209": { - "path": "/shixuns/:id/fork_list", - "parentId": "191", + "path": "/users", + "parentId": "1", "id": "209" }, "210": { - "path": "/users", - "parentId": "1", + "path": "/users/:username/videos/protocol", + "parentId": "209", "id": "210" }, "211": { - "path": "/users/:username/videos/protocol", - "parentId": "210", + "path": "/users/:username/videos/success", + "parentId": "209", "id": "211" }, "212": { - "path": "/users/:username/videos/success", - "parentId": "210", + "path": "/users/:username/topicbank/:topicstype", + "parentId": "209", "id": "212" }, "213": { - "path": "/users/:username/topicbank/:topicstype", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/normal/detail", + "parentId": "209", "id": "213" }, "214": { - "path": "/users/:username/topics/:topicId/:topictype/normal/detail", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/group/detail", + "parentId": "209", "id": "214" }, "215": { - "path": "/users/:username/topics/:topicId/:topictype/group/detail", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/normal/edit", + "parentId": "209", "id": "215" }, "216": { - "path": "/users/:username/topics/:topicId/:topictype/normal/edit", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/group/edit", + "parentId": "209", "id": "216" }, "217": { - "path": "/users/:username/topics/:topicId/:topictype/group/edit", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/exercise/edit", + "parentId": "209", "id": "217" }, "218": { - "path": "/users/:username/topics/:topicId/:topictype/exercise/edit", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/exercise/detail", + "parentId": "209", "id": "218" }, "219": { - "path": "/users/:username/topics/:topicId/:topictype/exercise/detail", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/poll/edit", + "parentId": "209", "id": "219" }, "220": { - "path": "/users/:username/topics/:topicId/:topictype/poll/edit", - "parentId": "210", + "path": "/users/:username/topics/:topicId/:topictype/poll/detail", + "parentId": "209", "id": "220" }, "221": { - "path": "/users/:username/topics/:topicId/:topictype/poll/detail", - "parentId": "210", + "path": "/users/:username/experiment-img/add", + "parentId": "209", "id": "221" }, "222": { - "path": "/users/:username/experiment-img/add", - "parentId": "210", + "path": "/users/:username", + "parentId": "209", "id": "222" }, "223": { "path": "/users/:username", - "parentId": "210", + "parentId": "222", "id": "223" }, "224": { - "path": "/users/:username", - "parentId": "223", + "path": "/users/:username/classrooms", + "parentId": "222", "id": "224" }, "225": { - "path": "/users/:username/classrooms", - "parentId": "223", + "path": "/users/:username/shixuns", + "parentId": "222", "id": "225" }, "226": { - "path": "/users/:username/shixuns", - "parentId": "223", + "path": "/users/:username/userPortrait", + "parentId": "222", "id": "226" }, "227": { - "path": "/users/:username/userPortrait", - "parentId": "223", + "path": "/users/:username/learningPath", + "parentId": "222", "id": "227" }, "228": { - "path": "/users/:username/learningPath", - "parentId": "223", + "path": "/users/:username/teach-group", + "parentId": "222", "id": "228" }, "229": { - "path": "/users/:username/teach-group", - "parentId": "223", + "path": "/users/:username/competitions", + "parentId": "222", "id": "229" }, "230": { - "path": "/users/:username/competitions", - "parentId": "223", + "path": "/users/:username/experiment-img", + "parentId": "222", "id": "230" }, "231": { - "path": "/users/:username/experiment-img", - "parentId": "223", + "path": "/users/:username/experiment-img/:experid/detail", + "parentId": "222", "id": "231" }, "232": { - "path": "/users/:username/experiment-img/:experid/detail", - "parentId": "223", + "path": "/users/:username/certificate", + "parentId": "222", "id": "232" }, "233": { - "path": "/users/:username/certificate", - "parentId": "223", + "path": "/users/:username/otherResources", + "parentId": "222", "id": "233" }, "234": { - "path": "/users/:username/otherResources", - "parentId": "223", + "path": "/users/:username/classmanagement", + "parentId": "222", "id": "234" }, "235": { - "path": "/users/:username/classmanagement", - "parentId": "223", + "path": "/users/:username/classmanagement/:couserid", + "parentId": "222", "id": "235" }, "236": { - "path": "/users/:username/classmanagement/:couserid", - "parentId": "223", + "path": "/users/:username/paths", + "parentId": "222", "id": "236" }, "237": { - "path": "/users/:username/paths", - "parentId": "223", + "path": "/users/:username/projects", + "parentId": "222", "id": "237" }, "238": { - "path": "/users/:username/projects", - "parentId": "223", + "path": "/users/:username/videos", + "parentId": "222", "id": "238" }, "239": { - "path": "/users/:username/videos", - "parentId": "223", + "path": "/users/:username/videos/upload", + "parentId": "222", "id": "239" }, "240": { - "path": "/users/:username/videos/upload", - "parentId": "223", + "path": "/users/:username/topics/:topicstype", + "parentId": "222", "id": "240" }, "241": { - "path": "/users/:username/topics/:topicstype", - "parentId": "223", + "path": "/users/:username/vspaces", + "parentId": "222", "id": "241" }, "242": { - "path": "/users/:username/vspaces", - "parentId": "223", + "parentId": "1", "id": "242" }, "243": { - "parentId": "1", + "path": "/problems", + "parentId": "242", "id": "243" }, "244": { @@ -132480,973 +132728,968 @@ function _getRoutes() { "id": "244" }, "245": { - "path": "/problems", - "parentId": "244", + "path": "/problems/batchAdd", + "parentId": "243", "id": "245" }, "246": { - "path": "/problems/batchAdd", - "parentId": "244", + "path": "/problems/newcreate", + "parentId": "242", "id": "246" }, "247": { - "path": "/problems/newcreate", - "parentId": "243", + "path": "/problems/newedit/:id", + "exact": true, + "parentId": "242", "id": "247" }, "248": { - "path": "/problems/newedit/:id", + "path": "/problems/:id/edit", "exact": true, - "parentId": "243", + "parentId": "242", "id": "248" }, "249": { - "path": "/problems/:id/edit", + "path": "/problems/new", "exact": true, - "parentId": "243", + "parentId": "242", "id": "249" }, "250": { - "path": "/problems/new", - "exact": true, - "parentId": "243", + "path": "/problems/:id/oj/:save_identifier", + "parentId": "242", "id": "250" }, "251": { - "path": "/problems/:id/oj/:save_identifier", - "parentId": "243", + "path": "/problems/:id/record-detail/:submitId", + "parentId": "242", "id": "251" }, "252": { - "path": "/problems/:id/record-detail/:submitId", - "parentId": "243", + "path": "/problems/add", + "parentId": "242", "id": "252" }, "253": { - "path": "/problems/add", - "parentId": "243", + "path": "/problems/:id/ojedit", + "parentId": "242", "id": "253" }, "254": { - "path": "/problems/:id/ojedit", - "parentId": "243", + "path": "/engineering", + "parentId": "1", "id": "254" }, "255": { "path": "/engineering", - "parentId": "1", + "parentId": "254", "id": "255" }, "256": { - "path": "/engineering", + "path": "/engineering/teacherList", "parentId": "255", "id": "256" }, "257": { - "path": "/engineering/teacherList", - "parentId": "256", + "path": "/engineering/studentList", + "parentId": "255", "id": "257" }, "258": { - "path": "/engineering/studentList", - "parentId": "256", + "path": "/engineering/training/program", + "parentId": "255", "id": "258" }, "259": { - "path": "/engineering/training/program", - "parentId": "256", + "path": "/engineering/training/program/add", + "parentId": "255", "id": "259" }, "260": { - "path": "/engineering/training/program/add", - "parentId": "256", + "path": "/engineering/training/program/edit", + "parentId": "255", "id": "260" }, "261": { - "path": "/engineering/training/program/edit", - "parentId": "256", + "path": "/engineering/training/objectives", + "parentId": "255", "id": "261" }, "262": { - "path": "/engineering/training/objectives", - "parentId": "256", + "path": "/engineering/graduated/index", + "parentId": "255", "id": "262" }, "263": { - "path": "/engineering/graduated/index", - "parentId": "256", + "path": "/engineering/graduated/matrix", + "parentId": "255", "id": "263" }, "264": { - "path": "/engineering/graduated/matrix", - "parentId": "256", + "path": "/engineering/course/list", + "parentId": "255", "id": "264" }, "265": { - "path": "/engineering/course/list", - "parentId": "256", + "path": "/engineering/course/setting", + "parentId": "255", "id": "265" }, "266": { - "path": "/engineering/course/setting", - "parentId": "256", + "path": "/engineering/course/matrix", + "parentId": "255", "id": "266" }, "267": { - "path": "/engineering/course/matrix", - "parentId": "256", + "path": "/engineering/navigation", + "parentId": "255", "id": "267" }, "268": { - "path": "/engineering/navigation", - "parentId": "256", + "path": "/engineering/evaluate/course", + "parentId": "255", "id": "268" }, "269": { - "path": "/engineering/evaluate/course", - "parentId": "256", + "path": "/engineering/evaluate/course/:ec_year_id/:id", + "parentId": "255", "id": "269" }, "270": { - "path": "/engineering/evaluate/course/:ec_year_id/:id", - "parentId": "256", + "path": "/engineering/evaluate/norm", + "parentId": "255", "id": "270" }, "271": { - "path": "/engineering/evaluate/norm", - "parentId": "256", + "path": "/engineering/evaluate/document", + "parentId": "255", "id": "271" }, "272": { - "path": "/engineering/evaluate/document", - "parentId": "256", + "path": "/engineering/evaluate/norm/:ec_year_id/:id", + "parentId": "255", "id": "272" }, "273": { - "path": "/engineering/evaluate/norm/:ec_year_id/:id", - "parentId": "256", + "path": "/engineering/*", + "redirect": "/404", + "parentId": "255", "id": "273" }, "274": { - "path": "/engineering/*", - "redirect": "/404", - "parentId": "256", + "path": "/innovation", + "parentId": "1", "id": "274" }, "275": { - "path": "/innovation", - "parentId": "1", + "path": "/innovation/tasks/:taskId", + "parentId": "274", "id": "275" }, "276": { - "path": "/innovation/tasks/:taskId", - "parentId": "275", + "path": "/innovation", + "parentId": "274", "id": "276" }, "277": { - "path": "/innovation", - "parentId": "275", + "path": "/innovation/project", + "parentId": "276", "id": "277" }, "278": { - "path": "/innovation/project", - "parentId": "277", + "path": "/innovation/dataset", + "parentId": "276", "id": "278" }, "279": { - "path": "/innovation/dataset", - "parentId": "277", + "path": "/innovation/mirror", + "parentId": "276", "id": "279" }, "280": { - "path": "/innovation/mirror", - "parentId": "277", + "path": "/innovation/my-project", + "parentId": "276", "id": "280" }, "281": { - "path": "/innovation/my-project", - "parentId": "277", + "path": "/innovation/my-dataset", + "parentId": "276", "id": "281" }, "282": { - "path": "/innovation/my-dataset", - "parentId": "277", + "path": "/innovation/my-mirror", + "parentId": "276", "id": "282" }, "283": { - "path": "/innovation/my-mirror", - "parentId": "277", + "path": "/innovation/project/create", + "parentId": "276", "id": "283" }, "284": { - "path": "/innovation/project/create", - "parentId": "277", + "path": "/innovation/project/edit/:id", + "parentId": "276", "id": "284" }, "285": { - "path": "/innovation/project/edit/:id", - "parentId": "277", + "path": "/innovation/project/detail/:taskId", + "parentId": "276", "id": "285" }, "286": { - "path": "/innovation/project/detail/:taskId", - "parentId": "277", + "path": "/tasks", + "parentId": "1", "id": "286" }, "287": { - "path": "/tasks", - "parentId": "1", + "path": "/tasks/:taskId", + "exact": true, + "parentId": "286", "id": "287" }, "288": { - "path": "/tasks/:taskId", + "path": "/tasks/:identifier/jupyter/", "exact": true, - "parentId": "287", + "parentId": "286", "id": "288" }, "289": { - "path": "/tasks/:identifier/jupyter/", + "path": "/tasks/:courseId/:homeworkId/:taskId", "exact": true, - "parentId": "287", + "parentId": "286", "id": "289" }, "290": { - "path": "/tasks/:courseId/:homeworkId/:taskId", + "path": "/tasks/jupyter/:courseId/:homeworkId/:identifier", "exact": true, - "parentId": "287", + "parentId": "286", "id": "290" }, "291": { - "path": "/tasks/jupyter/:courseId/:homeworkId/:identifier", + "path": "/tasks/:courseId/:exerciseId/:taskId/exercise", "exact": true, - "parentId": "287", + "parentId": "286", "id": "291" }, "292": { - "path": "/tasks/:courseId/:exerciseId/:taskId/exercise", - "exact": true, - "parentId": "287", + "path": "/myproblems", + "parentId": "1", "id": "292" }, "293": { - "path": "/myproblems", - "parentId": "1", + "path": "/myproblems/:id/record-detail/:submitId", + "exact": true, + "parentId": "292", "id": "293" }, "294": { - "path": "/myproblems/:id/record-detail/:submitId", + "path": "/myproblems/:id", "exact": true, - "parentId": "293", + "parentId": "292", "id": "294" }, "295": { - "path": "/myproblems/:id", - "exact": true, - "parentId": "293", + "path": "/account", + "parentId": "1", "id": "295" }, "296": { "path": "/account", - "parentId": "1", + "parentId": "295", "id": "296" }, "297": { - "path": "/account", + "path": "/account/profile", "parentId": "296", "id": "297" }, "298": { - "path": "/account/profile", - "parentId": "297", + "path": "/account/profile/edit", + "parentId": "296", "id": "298" }, "299": { - "path": "/account/profile/edit", - "parentId": "297", + "path": "/account/certification", + "parentId": "296", "id": "299" }, "300": { - "path": "/account/certification", - "parentId": "297", + "path": "/account/secure", + "parentId": "296", "id": "300" }, "301": { - "path": "/account/secure", - "parentId": "297", + "path": "/account/binding", + "parentId": "296", "id": "301" }, "302": { - "path": "/account/binding", - "parentId": "297", + "path": "/account/Results", + "parentId": "296", "id": "302" }, "303": { - "path": "/account/Results", - "parentId": "297", + "path": "/ch", + "parentId": "1", "id": "303" }, "304": { - "path": "/ch", - "parentId": "1", + "path": "/ch/rest/edit/:categoryId/:id", + "exact": true, + "parentId": "303", "id": "304" }, "305": { - "path": "/ch/rest/edit/:categoryId/:id", + "path": "/ch/rest/", "exact": true, - "parentId": "304", + "parentId": "303", "id": "305" }, "306": { - "path": "/ch/rest/", + "path": "/ch/rest/:id", "exact": true, - "parentId": "304", + "parentId": "303", "id": "306" }, "307": { - "path": "/ch/rest/:id", - "exact": true, - "parentId": "304", + "path": "/order", + "parentId": "1", "id": "307" }, "308": { "path": "/order", - "parentId": "1", + "parentId": "307", "id": "308" }, "309": { - "path": "/order", - "parentId": "308", + "path": "/order/invoice", + "parentId": "307", "id": "309" }, "310": { - "path": "/order/invoice", - "parentId": "308", + "path": "/order/records", + "parentId": "307", "id": "310" }, "311": { - "path": "/order/records", - "parentId": "308", + "path": "/order/apply", + "parentId": "307", "id": "311" }, "312": { - "path": "/order/apply", - "parentId": "308", + "path": "/order/view", + "parentId": "307", "id": "312" }, "313": { - "path": "/order/view", - "parentId": "308", + "path": "/order/:courseId/information", + "parentId": "307", "id": "313" }, "314": { - "path": "/order/:courseId/information", - "parentId": "308", + "path": "/order/:courseId/pay", + "parentId": "307", "id": "314" }, "315": { - "path": "/order/:courseId/pay", - "parentId": "308", + "path": "/order/:orderNum/result", + "parentId": "307", "id": "315" }, "316": { - "path": "/order/:orderNum/result", - "parentId": "308", + "path": "/messages", + "parentId": "1", "id": "316" }, "317": { - "path": "/messages", - "parentId": "1", + "path": "/messages/:userId/user_tidings", + "parentId": "316", "id": "317" }, "318": { - "path": "/messages/:userId/user_tidings", - "parentId": "317", + "path": "/messages/:userId/private_messages", + "parentId": "316", "id": "318" }, "319": { - "path": "/messages/:userId/private_messages", - "parentId": "317", + "path": "/messages/:userId/message_detail", + "parentId": "316", "id": "319" }, "320": { - "path": "/messages/:userId/message_detail", - "parentId": "317", + "path": "/vtrs", + "parentId": "1", "id": "320" }, "321": { - "path": "/vtrs", - "parentId": "1", + "path": "/vtrs/:virtual_spacesId", + "parentId": "320", "id": "321" }, "322": { "path": "/vtrs/:virtual_spacesId", + "exact": true, "parentId": "321", "id": "322" }, "323": { - "path": "/vtrs/:virtual_spacesId", - "exact": true, - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/experiment", + "parentId": "321", "id": "323" }, "324": { - "path": "/vtrs/:virtual_spacesId/experiment", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/announcement", + "parentId": "321", "id": "324" }, "325": { - "path": "/vtrs/:virtual_spacesId/announcement", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/announcement/add", + "parentId": "321", "id": "325" }, "326": { - "path": "/vtrs/:virtual_spacesId/announcement/add", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/announcement/:id/edit", + "parentId": "321", "id": "326" }, "327": { - "path": "/vtrs/:virtual_spacesId/announcement/:id/edit", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/announcement/:id/detail", + "parentId": "321", "id": "327" }, "328": { - "path": "/vtrs/:virtual_spacesId/announcement/:id/detail", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/survey", + "parentId": "321", "id": "328" }, "329": { - "path": "/vtrs/:virtual_spacesId/survey", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/survey/:id/detail", + "parentId": "321", "id": "329" }, "330": { - "path": "/vtrs/:virtual_spacesId/survey/:id/detail", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/knowledge", + "parentId": "321", "id": "330" }, "331": { - "path": "/vtrs/:virtual_spacesId/knowledge", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/knowledge/add", + "parentId": "321", "id": "331" }, "332": { - "path": "/vtrs/:virtual_spacesId/knowledge/add", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/knowledge/:id/edit", + "parentId": "321", "id": "332" }, "333": { - "path": "/vtrs/:virtual_spacesId/knowledge/:id/edit", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/material", + "parentId": "321", "id": "333" }, "334": { - "path": "/vtrs/:virtual_spacesId/material", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/material/:id/detail", + "parentId": "321", "id": "334" }, "335": { - "path": "/vtrs/:virtual_spacesId/material/:id/detail", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/settings", + "parentId": "321", "id": "335" }, "336": { - "path": "/vtrs/:virtual_spacesId/settings", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/resources", + "parentId": "321", "id": "336" }, "337": { - "path": "/vtrs/:virtual_spacesId/resources", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/resources/:id/detail", + "parentId": "321", "id": "337" }, "338": { - "path": "/vtrs/:virtual_spacesId/resources/:id/detail", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/Plan", + "parentId": "321", "id": "338" }, "339": { - "path": "/vtrs/:virtual_spacesId/Plan", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/plan/:id/detail", + "parentId": "321", "id": "339" }, "340": { - "path": "/vtrs/:virtual_spacesId/plan/:id/detail", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/homepage", + "parentId": "321", "id": "340" }, "341": { - "path": "/vtrs/:virtual_spacesId/homepage", - "parentId": "322", + "path": "/vtrs/:virtual_spacesId/*", + "parentId": "321", "id": "341" }, "342": { - "path": "/vtrs/:virtual_spacesId/*", - "parentId": "322", + "path": "/101", + "parentId": "1", "id": "342" }, "343": { - "path": "/101", - "parentId": "1", + "path": "/101/:virtual_spacesId", + "parentId": "342", "id": "343" }, "344": { "path": "/101/:virtual_spacesId", + "exact": true, "parentId": "343", "id": "344" }, "345": { - "path": "/101/:virtual_spacesId", - "exact": true, - "parentId": "344", + "path": "/101/:virtual_spacesId/experiment", + "parentId": "343", "id": "345" }, "346": { - "path": "/101/:virtual_spacesId/experiment", - "parentId": "344", + "path": "/101/:virtual_spacesId/announcement", + "parentId": "343", "id": "346" }, "347": { - "path": "/101/:virtual_spacesId/announcement", - "parentId": "344", + "path": "/101/:virtual_spacesId/announcement/add", + "parentId": "343", "id": "347" }, "348": { - "path": "/101/:virtual_spacesId/announcement/add", - "parentId": "344", + "path": "/101/:virtual_spacesId/announcement/:id/edit", + "parentId": "343", "id": "348" }, "349": { - "path": "/101/:virtual_spacesId/announcement/:id/edit", - "parentId": "344", + "path": "/101/:virtual_spacesId/announcement/:id/detail", + "parentId": "343", "id": "349" }, "350": { - "path": "/101/:virtual_spacesId/announcement/:id/detail", - "parentId": "344", + "path": "/101/:virtual_spacesId/survey", + "parentId": "343", "id": "350" }, "351": { - "path": "/101/:virtual_spacesId/survey", - "parentId": "344", + "path": "/101/:virtual_spacesId/survey/:id/detail", + "parentId": "343", "id": "351" }, "352": { - "path": "/101/:virtual_spacesId/survey/:id/detail", - "parentId": "344", + "path": "/101/:virtual_spacesId/knowledge", + "parentId": "343", "id": "352" }, "353": { - "path": "/101/:virtual_spacesId/knowledge", - "parentId": "344", + "path": "/101/:virtual_spacesId/knowledge/add", + "parentId": "343", "id": "353" }, "354": { - "path": "/101/:virtual_spacesId/knowledge/add", - "parentId": "344", + "path": "/101/:virtual_spacesId/knowledge/:id/edit", + "parentId": "343", "id": "354" }, "355": { - "path": "/101/:virtual_spacesId/knowledge/:id/edit", - "parentId": "344", + "path": "/101/:virtual_spacesId/material", + "parentId": "343", "id": "355" }, "356": { - "path": "/101/:virtual_spacesId/material", - "parentId": "344", + "path": "/101/:virtual_spacesId/material/:id/detail", + "parentId": "343", "id": "356" }, "357": { - "path": "/101/:virtual_spacesId/material/:id/detail", - "parentId": "344", + "path": "/101/:virtual_spacesId/settings", + "parentId": "343", "id": "357" }, "358": { - "path": "/101/:virtual_spacesId/settings", - "parentId": "344", + "path": "/101/:virtual_spacesId/resources", + "parentId": "343", "id": "358" }, "359": { - "path": "/101/:virtual_spacesId/resources", - "parentId": "344", + "path": "/101/:virtual_spacesId/resources/:id/detail", + "parentId": "343", "id": "359" }, "360": { - "path": "/101/:virtual_spacesId/resources/:id/detail", - "parentId": "344", + "path": "/101/:virtual_spacesId/Plan", + "parentId": "343", "id": "360" }, "361": { - "path": "/101/:virtual_spacesId/Plan", - "parentId": "344", + "path": "/101/:virtual_spacesId/plan/:id/detail", + "parentId": "343", "id": "361" }, "362": { - "path": "/101/:virtual_spacesId/plan/:id/detail", - "parentId": "344", + "path": "/101/:virtual_spacesId/homepage", + "parentId": "343", "id": "362" }, "363": { - "path": "/101/:virtual_spacesId/homepage", - "parentId": "344", + "path": "/101/:virtual_spacesId/*", + "parentId": "343", "id": "363" }, "364": { - "path": "/101/:virtual_spacesId/*", - "parentId": "344", + "path": "/administration", + "parentId": "1", "id": "364" }, "365": { "path": "/administration", - "parentId": "1", + "parentId": "364", "id": "365" }, "366": { - "path": "/administration", + "path": "/administration/college", "parentId": "365", "id": "366" }, "367": { - "path": "/administration/college", - "parentId": "366", + "path": "/administration/student", + "parentId": "365", "id": "367" }, "368": { - "path": "/administration/student", - "parentId": "366", + "path": "/administration/student/:studentId/edit", + "parentId": "365", "id": "368" }, "369": { - "path": "/administration/student/:studentId/edit", - "parentId": "366", + "path": "/graduations", + "parentId": "1", "id": "369" }, "370": { "path": "/graduations", - "parentId": "1", + "exact": true, + "parentId": "369", "id": "370" }, "371": { - "path": "/graduations", + "path": "/graduations/:id/:moduleKey/:moduleId/review/:itemId", "exact": true, - "parentId": "370", + "parentId": "369", "id": "371" }, "372": { - "path": "/graduations/:id/:moduleKey/:moduleId/review/:itemId", - "exact": true, - "parentId": "370", + "path": "/graduations/:id", + "parentId": "369", "id": "372" }, "373": { - "path": "/graduations/:id", - "parentId": "370", + "path": "/graduations/:id/index", + "parentId": "372", "id": "373" }, "374": { - "path": "/graduations/:id/index", - "parentId": "373", + "path": "/graduations/:id/topics", + "parentId": "372", "id": "374" }, "375": { - "path": "/graduations/:id/topics", - "parentId": "373", + "path": "/graduations/:id/student_selection", + "parentId": "372", "id": "375" }, "376": { - "path": "/graduations/:id/student_selection", - "parentId": "373", + "path": "/graduations/:id/tasks", + "parentId": "372", "id": "376" }, "377": { - "path": "/graduations/:id/tasks", - "parentId": "373", + "path": "/graduations/:id/opening_report", + "parentId": "372", "id": "377" }, "378": { - "path": "/graduations/:id/opening_report", - "parentId": "373", + "path": "/graduations/:id/midterm_report", + "parentId": "372", "id": "378" }, "379": { - "path": "/graduations/:id/midterm_report", - "parentId": "373", + "path": "/graduations/:id/thesis", + "parentId": "372", "id": "379" }, "380": { - "path": "/graduations/:id/thesis", - "parentId": "373", + "path": "/graduations/:id/final_defense", + "parentId": "372", "id": "380" }, "381": { - "path": "/graduations/:id/final_defense", - "parentId": "373", + "path": "/graduations/:id/final_thesis", + "parentId": "372", "id": "381" }, "382": { - "path": "/graduations/:id/final_thesis", - "parentId": "373", + "path": "/graduations/:id/settings", + "parentId": "372", "id": "382" }, "383": { - "path": "/graduations/:id/settings", - "parentId": "373", + "path": "/graduations/:id/teachers", + "parentId": "372", "id": "383" }, "384": { - "path": "/graduations/:id/teachers", - "parentId": "373", + "path": "/graduations/:id/students", + "parentId": "372", "id": "384" }, "385": { - "path": "/graduations/:id/students", - "parentId": "373", + "path": "/graduations/:id/archives", + "parentId": "372", "id": "385" }, "386": { - "path": "/graduations/:id/archives", - "parentId": "373", + "path": "/graduations/:id/grading_summary", + "parentId": "372", "id": "386" }, "387": { - "path": "/graduations/:id/grading_summary", - "parentId": "373", + "path": "/educoder-demo", + "exact": true, + "parentId": "1", "id": "387" }, "388": { - "path": "/educoder-demo", - "exact": true, + "path": "/training", "parentId": "1", "id": "388" }, "389": { + "name": "精培课程", "path": "/training", - "parentId": "1", + "parentId": "388", "id": "389" }, "390": { - "name": "精培课程", - "path": "/training", - "parentId": "389", + "path": "/otherlogin", + "exact": true, + "parentId": "1", "id": "390" }, "391": { - "path": "/otherlogin", + "path": "/otherloginqq", "exact": true, "parentId": "1", "id": "391" }, "392": { - "path": "/otherloginqq", + "path": "/otherloginstart", "exact": true, "parentId": "1", "id": "392" }, "393": { - "path": "/otherloginstart", - "exact": true, + "path": "/login", "parentId": "1", "id": "393" }, "394": { "path": "/login", - "parentId": "1", + "parentId": "393", "id": "394" }, "395": { - "path": "/login", - "parentId": "394", + "path": "/user", + "parentId": "1", "id": "395" }, "396": { - "path": "/user", - "parentId": "1", + "path": "/user/login", + "parentId": "395", "id": "396" }, "397": { - "path": "/user/login", - "parentId": "396", + "path": "/user/register", + "parentId": "395", "id": "397" }, "398": { - "path": "/user/register", - "parentId": "396", + "path": "/user/reset-password", + "parentId": "395", "id": "398" }, "399": { - "path": "/user/reset-password", - "parentId": "396", + "path": "/colleges", + "parentId": "1", "id": "399" }, "400": { - "path": "/colleges", - "parentId": "1", + "path": "/colleges/:id/statistics", + "parentId": "399", "id": "400" }, "401": { - "path": "/colleges/:id/statistics", - "parentId": "400", + "path": "/help", + "parentId": "1", "id": "401" }, "402": { - "path": "/help", - "parentId": "1", + "path": "/help/:id", + "parentId": "401", "id": "402" }, "403": { - "path": "/help/:id", - "parentId": "402", + "path": "/video", + "parentId": "1", "id": "403" }, "404": { - "path": "/video", - "parentId": "1", + "path": "/video/:videoId", + "parentId": "403", "id": "404" }, "405": { - "path": "/video/:videoId", - "parentId": "404", + "path": "/terminal", + "parentId": "1", "id": "405" }, "406": { - "path": "/terminal", + "path": "/report/:taskId/:game_report_id", "parentId": "1", "id": "406" }, "407": { - "path": "/report/:taskId/:game_report_id", + "path": "/", "parentId": "1", "id": "407" }, "408": { "path": "/", - "parentId": "1", + "exact": true, + "parentId": "407", "id": "408" }, "409": { - "path": "/", + "path": "/api/*", "exact": true, - "parentId": "408", + "parentId": "407", "id": "409" }, "410": { - "path": "/api/*", + "path": "/search", "exact": true, - "parentId": "408", + "parentId": "407", "id": "410" }, "411": { - "path": "/search", + "path": "/moop_cases", "exact": true, - "parentId": "408", + "parentId": "407", "id": "411" }, "412": { - "path": "/moop_cases", + "path": "/moop_cases/new", "exact": true, - "parentId": "408", + "parentId": "407", "id": "412" }, "413": { - "path": "/moop_cases/new", + "path": "/moop_cases/:caseId", "exact": true, - "parentId": "408", + "parentId": "407", "id": "413" }, "414": { - "path": "/moop_cases/:caseId", + "path": "/moop_cases/:caseId/edit", "exact": true, - "parentId": "408", + "parentId": "407", "id": "414" }, "415": { - "path": "/moop_cases/:caseId/edit", + "path": "/moop_cases/:caseId/publish-success", "exact": true, - "parentId": "408", + "parentId": "407", "id": "415" }, "416": { - "path": "/moop_cases/:caseId/publish-success", + "path": "/randompaper", "exact": true, - "parentId": "408", + "parentId": "407", "id": "416" }, "417": { - "path": "/randompaper", + "path": "/randompaper/edit/:id", "exact": true, - "parentId": "408", + "parentId": "407", "id": "417" }, "418": { - "path": "/randompaper/edit/:id", + "path": "/randompaper/detail/:id", "exact": true, - "parentId": "408", + "parentId": "407", "id": "418" }, "419": { - "path": "/randompaper/detail/:id", - "exact": true, - "parentId": "408", + "path": "/403", + "parentId": "407", "id": "419" }, "420": { - "path": "/403", - "parentId": "408", + "path": "/500", + "parentId": "407", "id": "420" }, "421": { - "path": "/500", - "parentId": "408", + "path": "/404", + "parentId": "407", "id": "421" }, "422": { - "path": "/404", - "parentId": "408", + "path": "/iwce", + "parentId": "407", "id": "422" }, "423": { - "path": "/iwce", - "parentId": "408", + "path": "/Activities", + "parentId": "407", "id": "423" }, "424": { - "path": "/Activities", - "parentId": "408", + "path": "/iwce/:itemname", + "parentId": "407", "id": "424" }, "425": { - "path": "/iwce/:itemname", - "parentId": "408", + "path": "/hpc-course", + "parentId": "407", "id": "425" }, "426": { - "path": "/hpc-course", - "parentId": "408", + "path": "/user_agents", + "parentId": "407", "id": "426" }, "427": { - "path": "/user_agents", - "parentId": "408", + "path": "/three", + "parentId": "407", "id": "427" }, "428": { - "path": "/three", - "parentId": "408", + "path": "/introduction", + "parentId": "407", "id": "428" }, "429": { - "path": "/introduction", - "parentId": "408", + "path": "/chatgpt", + "parentId": "407", "id": "429" }, "430": { - "path": "/chatgpt", - "parentId": "408", - "id": "430" - }, - "431": { "path": "/*", - "parentId": "408", - "id": "431" + "parentId": "407", + "id": "430" }, "@@/global-layout": { "id": "@@/global-layout", @@ -133467,13 +133710,13 @@ function _getRoutes() { return Promise.all(/*! import() | p__Paperlibrary__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(25692), __webpack_require__.e(39384), __webpack_require__.e(86743), __webpack_require__.e(56843), __webpack_require__.e(97120), __webpack_require__.e(54862)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/index.tsx */ 42237)); }), '4': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Add/index.tsx */ 6626)); + return Promise.all(/*! import() | p__Paperlibrary__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Add/index.tsx */ 6626)); }), '5': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Add/index.tsx */ 6626)); + return Promise.all(/*! import() | p__Paperlibrary__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Add/index.tsx */ 6626)); }), '6': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__See__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(88699), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(56843), __webpack_require__.e(89493), __webpack_require__.e(53247)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/See/index.tsx */ 53397)); + return Promise.all(/*! import() | p__Paperlibrary__See__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(88699), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(56843), __webpack_require__.e(89493), __webpack_require__.e(53247)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/See/index.tsx */ 53397)); }), '7': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); @@ -133497,7 +133740,7 @@ function _getRoutes() { return Promise.all(/*! import() | p__Guidance__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(50869)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Guidance/index.tsx */ 41347)); }), '14': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paths__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(19842), __webpack_require__.e(44425), __webpack_require__.e(36187), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(80310), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(19542), __webpack_require__.e(63510), __webpack_require__.e(23332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paths/Detail/[id].tsx */ 76300)); + return Promise.all(/*! import() | p__Paths__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(19842), __webpack_require__.e(44425), __webpack_require__.e(36187), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(80310), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(19542), __webpack_require__.e(63510), __webpack_require__.e(23332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paths/Detail/[id].tsx */ 76300)); }), '15': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Paths__Detail__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(34601)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paths/Detail/Statistics/index.tsx */ 3051)); @@ -133542,22 +133785,22 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(76329), __webpack_require__.e(3391)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/components/CodeReview/Detail/index.tsx */ 39155)); }), '29': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ShixunHomeworks__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(27809), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(13581)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ShixunHomeworks/Detail/index.tsx */ 35157)); + return Promise.all(/*! import() | p__Classrooms__Lists__ShixunHomeworks__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(27809), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(13581)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ShixunHomeworks/Detail/index.tsx */ 35157)); }), '30': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ShixunHomeworks__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(42441), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(30342)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ShixunHomeworks/Comment/index.tsx */ 87643)); + return Promise.all(/*! import() | p__Classrooms__Lists__ShixunHomeworks__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(42441), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(30342)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ShixunHomeworks/Comment/index.tsx */ 87643)); }), '31': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(27809), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(12303)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Comment/index.tsx */ 90766)); + return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(27809), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(12303)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Comment/index.tsx */ 90766)); }), '32': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(64447), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(71450)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ShixunHomeworks/Commitsummary/index.tsx */ 29883)); }), '33': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__GroupHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(37243), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(91867), __webpack_require__.e(10195)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/GroupHomework/Detail/index.tsx */ 52178)); + return Promise.all(/*! import() | p__Classrooms__Lists__GroupHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(37243), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(91867), __webpack_require__.e(10195)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/GroupHomework/Detail/index.tsx */ 52178)); }), '34': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(37243), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(99131), __webpack_require__.e(93668)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Detail/index.tsx */ 77420)); + return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(37243), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(99131), __webpack_require__.e(93668)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Detail/index.tsx */ 77420)); }), '35': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37243), __webpack_require__.e(1333), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(52338)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Review/index.tsx */ 40787)); @@ -133575,46 +133818,46 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(76329), __webpack_require__.e(85297)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Detail/components/DuplicateChecking/CheckDetail/index.tsx */ 57525)); }), '40': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(61034), __webpack_require__.e(21154), __webpack_require__.e(49845), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(70043), __webpack_require__.e(23613), __webpack_require__.e(53302), __webpack_require__.e(54164)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Detail/index.tsx */ 90647)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(61034), __webpack_require__.e(21154), __webpack_require__.e(49845), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(70043), __webpack_require__.e(23613), __webpack_require__.e(53302), __webpack_require__.e(54164)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Detail/index.tsx */ 90647)); }), '41': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); }), '42': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__ImitateAnswer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(56156), __webpack_require__.e(79817), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(1143), __webpack_require__.e(14889)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/ImitateAnswer/index.tsx */ 43270)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__ImitateAnswer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(56156), __webpack_require__.e(79817), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(1143), __webpack_require__.e(14889)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/ImitateAnswer/index.tsx */ 43270)); }), '43': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Answer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(56156), __webpack_require__.e(12911), __webpack_require__.e(27977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(1143), __webpack_require__.e(14105)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Answer/index.tsx */ 99662)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Answer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(56156), __webpack_require__.e(12911), __webpack_require__.e(27977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(1143), __webpack_require__.e(14105)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Answer/index.tsx */ 99662)); }), '44': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Notice__index */[__webpack_require__.e(59981), __webpack_require__.e(17482)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Notice/index.tsx */ 34217)); }), '45': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); + return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); }), '46': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Paperlibrary__Random__PreviewEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(56156), __webpack_require__.e(21154), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(23613), __webpack_require__.e(90337)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/PreviewEdit/index.tsx */ 36970)); }), '47': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Add/index.tsx */ 91720)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Add/index.tsx */ 91720)); }), '48': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Add/index.tsx */ 91720)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Add/index.tsx */ 91720)); }), '49': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__ReviewGroup__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(79817), __webpack_require__.e(66174), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(45992)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/ReviewGroup/index.tsx */ 1218)); }), '50': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(44425), __webpack_require__.e(24915), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Review/index.tsx */ 88182)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(44425), __webpack_require__.e(24915), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Review/index.tsx */ 88182)); }), '51': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(44425), __webpack_require__.e(24915), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Review/index.tsx */ 88182)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(44425), __webpack_require__.e(24915), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Review/index.tsx */ 88182)); }), '52': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Export__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(48431)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Export/index.tsx */ 96812)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Export__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(48431)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Export/index.tsx */ 96812)); }), '53': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Export__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(48431)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Export/index.tsx */ 96812)); + return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__Export__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(44894), __webpack_require__.e(48431)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/Export/index.tsx */ 96812)); }), '54': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__DetailedAnalysis__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(95125)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/DetailedAnalysis/index.tsx */ 92556)); @@ -133629,7 +133872,7 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__Exercise__CodeDetails__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(76329), __webpack_require__.e(10921)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Exercise/CodeDetails/index.tsx */ 52606)); }), '58': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Topics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(21578)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Topics/Detail/index.tsx */ 91829)); + return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Topics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(21578)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Topics/Detail/index.tsx */ 91829)); }), '59': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Topics__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(29535), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(87834), __webpack_require__.e(3317)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Topics/Add/index.tsx */ 91867)); @@ -133644,7 +133887,7 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Tasks__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(41811), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(40840), __webpack_require__.e(20026)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Tasks/Edit/index.tsx */ 137)); }), '63': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Tasks__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(68882)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Tasks/Detail/index.tsx */ 54344)); + return Promise.all(/*! import() | p__Classrooms__Lists__Graduation__Tasks__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(68882)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Graduation/Tasks/Detail/index.tsx */ 54344)); }), '64': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__CommonHomework__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(44613), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(40840), __webpack_require__.e(99226), __webpack_require__.e(85888)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CommonHomework/Add/index.tsx */ 17286)); @@ -133671,7 +133914,7 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__Polls__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(20062), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(31066), __webpack_require__.e(28723)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Polls/Edit/index.tsx */ 31066)); }), '72': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Polls__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(89493), __webpack_require__.e(17622)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Polls/Detail/index.tsx */ 79856)); + return Promise.all(/*! import() | p__Classrooms__Lists__Polls__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(89493), __webpack_require__.e(17622)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Polls/Detail/index.tsx */ 79856)); }), '73': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Polls__Answer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(79817), __webpack_require__.e(83306), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(65148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Polls/Answer/index.tsx */ 13100)); @@ -133719,13 +133962,13 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Ranking__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(39384), __webpack_require__.e(84530), __webpack_require__.e(6127)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Ranking/index.tsx */ 50298)); }), '88': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19718), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(53971), __webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/index.tsx */ 93832)); + return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19718), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(70043), __webpack_require__.e(53971), __webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/index.tsx */ 93832)); }), '89': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(39384), __webpack_require__.e(84530), __webpack_require__.e(41048)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/Ranking/index.tsx */ 64940)); + return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(39384), __webpack_require__.e(84530), __webpack_require__.e(41048)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/Ranking/index.tsx */ 64940)); }), '90': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(27809), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(12884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Comment/index.tsx */ 78101)); + return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Comment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(19208), __webpack_require__.e(44425), __webpack_require__.e(86129), __webpack_require__.e(27809), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(12884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Comment/index.tsx */ 78101)); }), '91': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__Detail__answer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(52720), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(54770)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/Detail/answer/index.tsx */ 68072)); @@ -133791,963 +134034,960 @@ function _getRoutes() { return Promise.all(/*! import() | p__Classrooms__Lists__Assistant__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(96232), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(39384), __webpack_require__.e(33356)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Assistant/index.tsx */ 84041)); }), '112': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ClassSchedule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(53877), __webpack_require__.e(60015), __webpack_require__.e(4977), __webpack_require__.e(4222)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ClassSchedule/index.tsx */ 25744)); + return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(43428), __webpack_require__.e(53877), __webpack_require__.e(36187), __webpack_require__.e(4977), __webpack_require__.e(40840), __webpack_require__.e(70043), __webpack_require__.e(53971), __webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/index.tsx */ 96055)); }), '113': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(43428), __webpack_require__.e(53877), __webpack_require__.e(36187), __webpack_require__.e(4977), __webpack_require__.e(40840), __webpack_require__.e(70043), __webpack_require__.e(53971), __webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/index.tsx */ 96055)); }), '114': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ProgramHomework__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(43428), __webpack_require__.e(53877), __webpack_require__.e(36187), __webpack_require__.e(4977), __webpack_require__.e(40840), __webpack_require__.e(70043), __webpack_require__.e(53971), __webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ProgramHomework/index.tsx */ 96055)); + return Promise.all(/*! import() | p__Classrooms__Lists__Engineering__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(31962)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Engineering/index.tsx */ 26076)); }), '115': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Engineering__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(31962)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Engineering/index.tsx */ 26076)); + return Promise.all(/*! import() | p__Classrooms__Lists__Attendance__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(19208), __webpack_require__.e(98228), __webpack_require__.e(77918), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(39384), __webpack_require__.e(28435)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attendance/index.tsx */ 71976)); }), '116': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Attendance__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(19208), __webpack_require__.e(98228), __webpack_require__.e(77918), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(39384), __webpack_require__.e(28435)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attendance/index.tsx */ 71976)); }), '117': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Attendance__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(19208), __webpack_require__.e(98228), __webpack_require__.e(77918), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(39384), __webpack_require__.e(28435)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attendance/index.tsx */ 71976)); + return Promise.all(/*! import() | p__Classrooms__Lists__Attendance__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(15845), __webpack_require__.e(4977), __webpack_require__.e(34093)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attendance/Detail/index.tsx */ 84008)); }), '118': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Attendance__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(15845), __webpack_require__.e(4977), __webpack_require__.e(34093)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attendance/Detail/index.tsx */ 84008)); + return Promise.all(/*! import() | p__Classrooms__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(32528), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(21265)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Announcement/index.tsx */ 1455)); }), '119': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(32528), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(21265)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Announcement/index.tsx */ 1455)); }), '120': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(32528), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(21265)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Announcement/index.tsx */ 1455)); + return Promise.all(/*! import() | p__Classrooms__Lists__OnlineLearning__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(15498), __webpack_require__.e(41885), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(63510), __webpack_require__.e(68827)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/OnlineLearning/index.tsx */ 42105)); }), '121': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__OnlineLearning__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(15498), __webpack_require__.e(41885), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(63510), __webpack_require__.e(68827)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/OnlineLearning/index.tsx */ 42105)); }), '122': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__OnlineLearning__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(15498), __webpack_require__.e(41885), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(63510), __webpack_require__.e(68827)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/OnlineLearning/index.tsx */ 42105)); + return Promise.all(/*! import() | p__Classrooms__Lists__Attachment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attachment/index.tsx */ 20532)); }), '123': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Attachment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attachment/index.tsx */ 20532)); }), '124': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Attachment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Attachment/index.tsx */ 20532)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(98228), __webpack_require__.e(61034), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(30935), __webpack_require__.e(39332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/index.tsx */ 4365)); }), '125': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(98228), __webpack_require__.e(61034), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(30935), __webpack_require__.e(39332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/index.tsx */ 4365)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(98228), __webpack_require__.e(61034), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(30935), __webpack_require__.e(39332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/index.tsx */ 4365)); }), '126': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(98228), __webpack_require__.e(61034), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(30935), __webpack_require__.e(39332)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/index.tsx */ 4365)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(39384), __webpack_require__.e(64217)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/index.tsx */ 97373)); }), '127': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(39384), __webpack_require__.e(64217)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/index.tsx */ 97373)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__Upload__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(73220)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Upload/index.tsx */ 85960)); }), '128': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__Upload__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(73220)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Upload/index.tsx */ 85960)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(60533)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/Detail/index.tsx */ 40266)); }), '129': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(60533)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/Detail/index.tsx */ 40266)); + return Promise.all(/*! import() | p__Classrooms__Lists__LiveVideo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(67878)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/LiveVideo/index.tsx */ 82194)); }), '130': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__LiveVideo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(67878)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/LiveVideo/index.tsx */ 82194)); }), '131': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__LiveVideo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(67878)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/LiveVideo/index.tsx */ 82194)); + return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__StudentDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(69944)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/StudentDetail/index.tsx */ 87795)); }), '132': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Video__Statistics__StudentDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(69944)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Video/Statistics/StudentDetail/index.tsx */ 87795)); + return Promise.all(/*! import() | p__Classrooms__Lists__Board__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(18302)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Board/index.tsx */ 84589)); }), '133': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Board__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(18302)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Board/index.tsx */ 84589)); }), '134': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Board__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(13488), __webpack_require__.e(4977), __webpack_require__.e(18302)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Board/index.tsx */ 84589)); + return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(38634)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/List/index.tsx */ 60206)); }), '135': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(38634)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/List/index.tsx */ 60206)); }), '136': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(52409), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(38634)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/List/index.tsx */ 60206)); + return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(87922)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/Detail/index.tsx */ 89666)); }), '137': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(87922)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/Detail/index.tsx */ 89666)); + return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__NotList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(61727)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/NotList/index.tsx */ 55848)); }), '138': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__NotList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(61727)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/NotList/index.tsx */ 55848)); }), '139': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__CourseGroup__NotList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(98228), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(61727)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/CourseGroup/NotList/index.tsx */ 55848)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/index.tsx */ 90662)); }), '140': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/index.tsx */ 90662)); }), '141': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/index.tsx */ 90662)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__VideoStatistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(48689)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/VideoStatistics/index.tsx */ 8344)); }), '142': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__VideoStatistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(52409), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(48689)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/VideoStatistics/index.tsx */ 8344)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StatisticsQuality__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(59981), __webpack_require__.e(42441), __webpack_require__.e(17806)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StatisticsQuality/index.tsx */ 93426)); }), '143': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StatisticsQuality__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(59981), __webpack_require__.e(42441), __webpack_require__.e(17806)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StatisticsQuality/index.tsx */ 93426)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentStatistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(98885)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentStatistics/index.tsx */ 94964)); }), '144': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentStatistics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(98885)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentStatistics/index.tsx */ 94964)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(3451)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentStatistics/Detail/index.tsx */ 69553)); }), '145': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(3451)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentStatistics/Detail/index.tsx */ 69553)); + return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentVideo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(69922)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentVideo/index.tsx */ 94264)); }), '146': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Statistics__StudentVideo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(69922)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Statistics/StudentVideo/index.tsx */ 94264)); + return Promise.all(/*! import() | p__Classrooms__Lists__ExportList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(39384), __webpack_require__.e(54572)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ExportList/index.tsx */ 80527)); }), '147': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__ExportList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(39384), __webpack_require__.e(54572)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/ExportList/index.tsx */ 80527)); + return __webpack_require__.e(/*! import() | p__Classrooms__Lists__PlaceholderPage__index */ 64017).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/PlaceholderPage/index.tsx */ 33322)); }), '148': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Classrooms__Lists__PlaceholderPage__index */ 64017).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/PlaceholderPage/index.tsx */ 33322)); + return Promise.all(/*! import() | p__Classrooms__Lists__Template__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(4977), __webpack_require__.e(15148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Template/index.tsx */ 32005)); }), '149': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Classrooms__Lists__Template__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(4977), __webpack_require__.e(15148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Classrooms/Lists/Template/index.tsx */ 32005)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '150': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Competitions__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(73755), __webpack_require__.e(23760), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(35196), __webpack_require__.e(26883)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Index/index.tsx */ 35196)); }), '151': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Competitions__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(73755), __webpack_require__.e(23760), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(35196), __webpack_require__.e(26883)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Index/index.tsx */ 35196)); }), '152': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(73755), __webpack_require__.e(23760), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(35196), __webpack_require__.e(26883)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Index/index.tsx */ 35196)); + return Promise.all(/*! import() | p__Competitions__Exports__index */[__webpack_require__.e(44425), __webpack_require__.e(44449)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Exports/index.tsx */ 70416)); }), '153': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Exports__index */[__webpack_require__.e(44425), __webpack_require__.e(44449)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Exports/index.tsx */ 70416)); + return Promise.all(/*! import() | p__Competitions__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(73755), __webpack_require__.e(23760), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(35196), __webpack_require__.e(26883)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Index/index.tsx */ 35196)); }), '154': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(73755), __webpack_require__.e(23760), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(35196), __webpack_require__.e(26883)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Index/index.tsx */ 35196)); + return Promise.all(/*! import() | p__Competitions__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(75149), __webpack_require__.e(9951), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Detail/index.tsx */ 27500)); }), '155': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(75149), __webpack_require__.e(9951), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Detail/index.tsx */ 27500)); + return Promise.all(/*! import() | p__Competitions__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(75149), __webpack_require__.e(9951), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Detail/index.tsx */ 27500)); }), '156': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(75149), __webpack_require__.e(9951), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Detail/index.tsx */ 27500)); + return Promise.all(/*! import() | p__Competitions__Entered__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(29414), __webpack_require__.e(8787)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Entered/index.tsx */ 49771)); }), '157': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Entered__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(29414), __webpack_require__.e(8787)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Entered/index.tsx */ 49771)); + return Promise.all(/*! import() | p__Competitions__Update__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(96911), __webpack_require__.e(45650)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Update/index.tsx */ 25707)); }), '158': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Update__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(96911), __webpack_require__.e(45650)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Update/index.tsx */ 25707)); + return Promise.all(/*! import() | p__Competitions__Entered__Assembly__TeamDateil */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(49127), __webpack_require__.e(81799)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Entered/Assembly/TeamDateil.tsx */ 33611)); }), '159': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Entered__Assembly__TeamDateil */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(49127), __webpack_require__.e(81799)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Entered/Assembly/TeamDateil.tsx */ 33611)); + return Promise.all(/*! import() | p__Competitions__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(15498), __webpack_require__.e(96911), __webpack_require__.e(15220), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(38797)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Edit/index.tsx */ 36551)); }), '160': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Competitions__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(15498), __webpack_require__.e(96911), __webpack_require__.e(15220), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(55693), __webpack_require__.e(38797)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Competitions/Edit/index.tsx */ 36551)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '161': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return __webpack_require__.e(/*! import() | p__Forums__Index__redirect */ 28639).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Index/redirect.tsx */ 67893)); }), '162': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Forums__Index__redirect */ 28639).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Index/redirect.tsx */ 67893)); + return Promise.all(/*! import() | p__Forums__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53555), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(92983)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Index/index.tsx */ 93349)); }), '163': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Forums__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53555), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(92983)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Index/index.tsx */ 93349)); + return Promise.all(/*! import() | p__Forums__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(70544), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(40840), __webpack_require__.e(74264)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/New/index.tsx */ 72832)); }), '164': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Forums__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(70544), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(40840), __webpack_require__.e(74264)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/New/index.tsx */ 72832)); }), '165': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Forums__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(70544), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(40840), __webpack_require__.e(74264)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/New/index.tsx */ 72832)); + return Promise.all(/*! import() | p__Forums__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(62979), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(80508)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Detail/[id].tsx */ 66936)); }), '166': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Forums__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(62979), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(80508)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Forums/Detail/[id].tsx */ 66936)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '167': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); }), '168': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); + return Promise.all(/*! import() | p__Problemset__NewItem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/NewItem/index.tsx */ 19966)); }), '169': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__NewItem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/NewItem/index.tsx */ 19966)); + return Promise.all(/*! import() | p__Problemset__NewItem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/NewItem/index.tsx */ 19966)); }), '170': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__NewItem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/NewItem/index.tsx */ 19966)); + return Promise.all(/*! import() | p__Problemset__Preview__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(15498), __webpack_require__.e(88699), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(11581)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/Preview/index.tsx */ 24657)); }), '171': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__Preview__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(15498), __webpack_require__.e(88699), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(11581)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/Preview/index.tsx */ 24657)); + return Promise.all(/*! import() | p__Problemset__Preview__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(85731), __webpack_require__.e(19842), __webpack_require__.e(64144)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/Preview/New/index.tsx */ 76197)); }), '172': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__Preview__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(85731), __webpack_require__.e(19842), __webpack_require__.e(64144)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/Preview/New/index.tsx */ 76197)); + return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); }), '173': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problemset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(3471), __webpack_require__.e(68998), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(25692), __webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problemset/index.tsx */ 93418)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '174': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Shixuns__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(85081), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(28782)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Index/index.tsx */ 5812)); }), '175': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(85081), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(28782)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Index/index.tsx */ 5812)); + return Promise.all(/*! import() | p__Shixuns__Exports__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(44425), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(39384), __webpack_require__.e(97120), __webpack_require__.e(7884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Exports/index.tsx */ 4996)); }), '176': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Exports__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(44425), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(39384), __webpack_require__.e(97120), __webpack_require__.e(7884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Exports/index.tsx */ 4996)); + return Promise.all(/*! import() | p__Shixuns__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(85794), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(97008)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/index.tsx */ 22915)); }), '177': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__New__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(85794), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(97008)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/index.tsx */ 22915)); + return Promise.all(/*! import() | p__Shixuns__New__CreateImg__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(65549)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/CreateImg/index.tsx */ 60293)); }), '178': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__New__CreateImg__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(65549)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/CreateImg/index.tsx */ 60293)); + return Promise.all(/*! import() | p__Shixuns__New__ImagePreview__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(56156), __webpack_require__.e(98040), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(99674)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/ImagePreview/index.tsx */ 85428)); }), '179': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__New__ImagePreview__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(56156), __webpack_require__.e(98040), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(99674)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/New/ImagePreview/index.tsx */ 85428)); + return Promise.all(/*! import() | p__Shixuns__Detail__Merge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(62778), __webpack_require__.e(4977), __webpack_require__.e(55573)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Merge/index.tsx */ 90436)); }), '180': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Merge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(62778), __webpack_require__.e(4977), __webpack_require__.e(55573)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Merge/index.tsx */ 90436)); + return Promise.all(/*! import() | p__Shixuns__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(15498), __webpack_require__.e(75149), __webpack_require__.e(63240), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1061), __webpack_require__.e(56277)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/index.tsx */ 65450)); }), '181': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(19842), __webpack_require__.e(15498), __webpack_require__.e(75149), __webpack_require__.e(63240), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1061), __webpack_require__.e(56277)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/index.tsx */ 65450)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Warehouse__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(78892), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(16328)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Warehouse/index.tsx */ 72655)); }), '182': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Warehouse__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(78892), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(16328)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Warehouse/index.tsx */ 72655)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(33611), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(77857)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/NewQuestion/index.tsx */ 45476)); }), '183': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(33611), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(77857)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/NewQuestion/index.tsx */ 45476)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(79439), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditQuestion/index.tsx */ 87542)); }), '184': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(79439), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditQuestion/index.tsx */ 87542)); }), '185': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(79439), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditQuestion/index.tsx */ 87542)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__NewPractice__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(49127), __webpack_require__.e(6216), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/NewPractice/index.tsx */ 62605)); }), '186': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__NewPractice__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(49127), __webpack_require__.e(6216), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/NewPractice/index.tsx */ 62605)); }), '187': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__NewPractice__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(49127), __webpack_require__.e(6216), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/NewPractice/index.tsx */ 62605)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(75149), __webpack_require__.e(74997), __webpack_require__.e(64738), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(49205)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditPracticeSetting/index.tsx */ 48324)); }), '188': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(75149), __webpack_require__.e(74997), __webpack_require__.e(64738), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(49205)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditPracticeSetting/index.tsx */ 48324)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(89597), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(21423)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditPracticeAnswer/index.tsx */ 30330)); }), '189': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(89597), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(21423)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/EditPracticeAnswer/index.tsx */ 30330)); + return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(57614)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/RankingSetting/index.tsx */ 27423)); }), '190': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(57614)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Edit/body/Level/Challenges/RankingSetting/index.tsx */ 27423)); + return Promise.all(/*! import() | p__Shixuns__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(4977), __webpack_require__.e(25692), __webpack_require__.e(86743), __webpack_require__.e(52875)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/[id].tsx */ 32714)); }), '191': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(4977), __webpack_require__.e(25692), __webpack_require__.e(86743), __webpack_require__.e(52875)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/[id].tsx */ 32714)); + return Promise.all(/*! import() | p__Shixuns__Detail__Challenges__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(53877), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(59133)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Challenges/index.tsx */ 77168)); }), '192': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Challenges__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(53877), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(59133)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Challenges/index.tsx */ 77168)); + return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); }), '193': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); }), '194': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); + return Promise.all(/*! import() | p__Shixuns__Detail__Collaborators__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1061), __webpack_require__.e(25470)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Collaborators/index.tsx */ 92293)); }), '195': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Collaborators__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1061), __webpack_require__.e(25470)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Collaborators/index.tsx */ 92293)); + return Promise.all(/*! import() | p__Shixuns__Detail__Dataset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(75149), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(86541)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Dataset/index.tsx */ 33662)); }), '196': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Dataset__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(75149), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(86541)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Dataset/index.tsx */ 33662)); + return Promise.all(/*! import() | p__Shixuns__Detail__Discuss__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(22254)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Discuss/index.tsx */ 85195)); }), '197': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Discuss__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(22254)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Discuss/index.tsx */ 85195)); + return Promise.all(/*! import() | p__Shixuns__Detail__RankingList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/RankingList/index.tsx */ 1133)); }), '198': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__RankingList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/RankingList/index.tsx */ 1133)); + return Promise.all(/*! import() | p__Shixuns__Detail__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(49127), __webpack_require__.e(85794), __webpack_require__.e(57435), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(25692), __webpack_require__.e(16845)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Settings/index.tsx */ 97956)); }), '199': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(52409), __webpack_require__.e(49127), __webpack_require__.e(85794), __webpack_require__.e(57435), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(55351), __webpack_require__.e(25692), __webpack_require__.e(16845)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Settings/index.tsx */ 97956)); + return Promise.all(/*! import() | p__Shixuns__Detail__Repository__Commit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/Commit/index.tsx */ 9062)); }), '200': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Detail__Repository__Commit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/Commit/index.tsx */ 9062)); }), '201': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Repository__Commit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/Commit/index.tsx */ 9062)); + return Promise.all(/*! import() | p__Shixuns__Detail__Repository__UploadFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(81148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/UploadFile/index.tsx */ 84259)); }), '202': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Detail__Repository__UploadFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(81148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/UploadFile/index.tsx */ 84259)); }), '203': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Repository__UploadFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(81148)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/UploadFile/index.tsx */ 84259)); + return Promise.all(/*! import() | p__Shixuns__Detail__Repository__AddFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(78241), __webpack_require__.e(72319), __webpack_require__.e(97046)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/AddFile/index.tsx */ 97970)); }), '204': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Detail__Repository__AddFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(78241), __webpack_require__.e(72319), __webpack_require__.e(97046)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/AddFile/index.tsx */ 97970)); }), '205': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Repository__AddFile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(78241), __webpack_require__.e(72319), __webpack_require__.e(97046)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/AddFile/index.tsx */ 97970)); + return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); }), '206': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); }), '207': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__Repository__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(50057), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/Repository/index.tsx */ 7916)); + return Promise.all(/*! import() | p__Shixuns__Detail__AuditSituation__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(73755), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(45096)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/AuditSituation/index.tsx */ 98415)); }), '208': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__AuditSituation__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(93948), __webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(73755), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(94724), __webpack_require__.e(45096)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/AuditSituation/index.tsx */ 98415)); + return Promise.all(/*! import() | p__Shixuns__Detail__ForkList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(19215)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/ForkList/index.tsx */ 38856)); }), '209': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Shixuns__Detail__ForkList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(19215)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Shixuns/Detail/ForkList/index.tsx */ 38856)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '210': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__User__Detail__Videos__Protocol__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(95176)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Protocol/index.tsx */ 61942)); }), '211': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Videos__Protocol__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(95176)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Protocol/index.tsx */ 61942)); + return Promise.all(/*! import() | p__User__Detail__Videos__Success__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(19891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Success/index.tsx */ 50287)); }), '212': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Videos__Success__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(19891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Success/index.tsx */ 50287)); + return Promise.all(/*! import() | p__User__Detail__Topicbank__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(4977), __webpack_require__.e(98062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topicbank/index.tsx */ 71242)); }), '213': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topicbank__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(4977), __webpack_require__.e(98062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topicbank/index.tsx */ 71242)); + return Promise.all(/*! import() | p__User__Detail__Topics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(16703), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(15402)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Detail/index.tsx */ 56337)); }), '214': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__User__Detail__Topics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(16703), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(15402)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Detail/index.tsx */ 56337)); }), '215': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(16703), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(15402)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Detail/index.tsx */ 56337)); + return Promise.all(/*! import() | p__User__Detail__Topics__Normal__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(87557), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(86820)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Normal/index.tsx */ 19355)); }), '216': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Normal__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(87557), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(86820)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Normal/index.tsx */ 19355)); + return Promise.all(/*! import() | p__User__Detail__Topics__Group__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(53936), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(88517)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Group/index.tsx */ 12525)); }), '217': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Group__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(53936), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(88517)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Group/index.tsx */ 12525)); + return Promise.all(/*! import() | p__User__Detail__Topics__Exercise__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(9894), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(7043)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Exercise/Edit/index.tsx */ 58928)); }), '218': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Exercise__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(9894), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(7043)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Exercise/Edit/index.tsx */ 58928)); + return Promise.all(/*! import() | p__User__Detail__Topics__Exercise__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(27739), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(52806)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Exercise/Detail/index.tsx */ 38441)); }), '219': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Exercise__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(27739), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(52806)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Exercise/Detail/index.tsx */ 38441)); + return Promise.all(/*! import() | p__User__Detail__Topics__Poll__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(66302), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(75043)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Poll/Edit/index.tsx */ 83136)); }), '220': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Poll__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(66302), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(75043)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Poll/Edit/index.tsx */ 83136)); + return Promise.all(/*! import() | p__User__Detail__Topics__Poll__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(81326), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(10799)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Poll/Detail/index.tsx */ 42117)); }), '221': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__Poll__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(81326), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(10799)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/Poll/Detail/index.tsx */ 42117)); + return Promise.all(/*! import() | p__User__Detail__ExperImentImg__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(18080), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(63157)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/Add/index.tsx */ 99277)); }), '222': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__ExperImentImg__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(18080), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(63157)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/Add/index.tsx */ 99277)); + return Promise.all(/*! import() | p__User__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(72529)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/[id].tsx */ 11417)); }), '223': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(72529)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/[id].tsx */ 11417)); + return Promise.all(/*! import() | p__User__Detail__Classrooms__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(66583)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Classrooms/index.tsx */ 98551)); }), '224': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__User__Detail__Classrooms__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(66583)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Classrooms/index.tsx */ 98551)); }), '225': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Classrooms__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(66583)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Classrooms/index.tsx */ 98551)); + return Promise.all(/*! import() | p__User__Detail__Shixuns__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18307)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Shixuns/index.tsx */ 76910)); }), '226': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Shixuns__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18307)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Shixuns/index.tsx */ 76910)); + return Promise.all(/*! import() | p__User__Detail__UserPortrait__index */[__webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/UserPortrait/index.tsx */ 58510)); }), '227': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__UserPortrait__index */[__webpack_require__.e(42441), __webpack_require__.e(56047), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/UserPortrait/index.tsx */ 58510)); + return Promise.all(/*! import() | p__User__Detail__LearningPath__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(25692), __webpack_require__.e(14610)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/LearningPath/index.tsx */ 76385)); }), '228': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__LearningPath__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(25692), __webpack_require__.e(14610)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/LearningPath/index.tsx */ 76385)); + return Promise.all(/*! import() | p__User__Detail__TeachGroup__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(79590)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/TeachGroup/index.tsx */ 24727)); }), '229': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__TeachGroup__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(79590)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/TeachGroup/index.tsx */ 24727)); + return Promise.all(/*! import() | p__User__Detail__Competitions__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(73755), __webpack_require__.e(61952), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(12076)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Competitions/index.tsx */ 59881)); }), '230': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Competitions__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(73755), __webpack_require__.e(61952), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(12076)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Competitions/index.tsx */ 59881)); + return Promise.all(/*! import() | p__User__Detail__ExperImentImg__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(76626), __webpack_require__.e(94849)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/index.tsx */ 67550)); }), '231': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__ExperImentImg__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(76626), __webpack_require__.e(94849)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/index.tsx */ 67550)); + return Promise.all(/*! import() | p__User__Detail__ExperImentImg__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(76626), __webpack_require__.e(310)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/Detail/index.tsx */ 37074)); }), '232': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__ExperImentImg__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(76626), __webpack_require__.e(310)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ExperImentImg/Detail/index.tsx */ 37074)); + return Promise.all(/*! import() | p__User__Detail__Certificate__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(44425), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(19542), __webpack_require__.e(65191)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Certificate/index.tsx */ 4411)); }), '233': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Certificate__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(44425), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(19542), __webpack_require__.e(65191)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Certificate/index.tsx */ 4411)); + return Promise.all(/*! import() | p__User__Detail__OtherResources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(93496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/OtherResources/index.tsx */ 55090)); }), '234': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__OtherResources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(93496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/OtherResources/index.tsx */ 55090)); + return Promise.all(/*! import() | p__User__Detail__ClassManagement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(37948)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ClassManagement/index.tsx */ 55300)); }), '235': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__ClassManagement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(37948)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ClassManagement/index.tsx */ 55300)); + return Promise.all(/*! import() | p__User__Detail__ClassManagement__Item__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(19519)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ClassManagement/Item/index.tsx */ 28782)); }), '236': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__ClassManagement__Item__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(19519)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/ClassManagement/Item/index.tsx */ 28782)); + return Promise.all(/*! import() | p__User__Detail__Paths__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(94662)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Paths/index.tsx */ 26074)); }), '237': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Paths__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(94662)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Paths/index.tsx */ 26074)); + return Promise.all(/*! import() | p__User__Detail__Projects__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53359), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(4736)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Projects/index.tsx */ 78622)); }), '238': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Projects__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53359), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(4736)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Projects/index.tsx */ 78622)); + return Promise.all(/*! import() | p__User__Detail__Videos__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(61034), __webpack_require__.e(27829), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(30935), __webpack_require__.e(12412)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/index.tsx */ 47308)); }), '239': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Videos__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(61034), __webpack_require__.e(27829), __webpack_require__.e(72032), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(30935), __webpack_require__.e(12412)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/index.tsx */ 47308)); + return Promise.all(/*! import() | p__User__Detail__Videos__Upload__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(61895), __webpack_require__.e(42240)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Upload/index.tsx */ 55750)); }), '240': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Videos__Upload__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(61895), __webpack_require__.e(42240)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Videos/Upload/index.tsx */ 55750)); + return Promise.all(/*! import() | p__User__Detail__Topics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(90265)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/index.tsx */ 75436)); }), '241': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Topics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(27829), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(90265)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Topics/index.tsx */ 75436)); + return Promise.all(/*! import() | p__User__Detail__virtualSpaces__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(47256), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(19360)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/virtualSpaces/index.tsx */ 60909)); }), '242': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__virtualSpaces__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(47256), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(19360)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/virtualSpaces/index.tsx */ 60909)); + return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); }), '243': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '244': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Question__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(9951), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(29647)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/Index/index.tsx */ 56428)); }), '245': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(9951), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(29647)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/Index/index.tsx */ 56428)); + return Promise.all(/*! import() | p__Question__AddOrEdit__BatchAdd__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(10485)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/BatchAdd/index.tsx */ 7686)); }), '246': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__AddOrEdit__BatchAdd__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(10485)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/BatchAdd/index.tsx */ 7686)); + return Promise.all(/*! import() | p__Problems__OjForm__NewEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(63791), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/NewEdit/index.tsx */ 675)); }), '247': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Problems__OjForm__NewEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(63791), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/NewEdit/index.tsx */ 675)); }), '248': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problems__OjForm__NewEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(63791), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/NewEdit/index.tsx */ 675)); + return Promise.all(/*! import() | p__Problems__OjForm__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(3471), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/index.tsx */ 9578)); }), '249': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Problems__OjForm__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(3471), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/index.tsx */ 9578)); }), '250': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Problems__OjForm__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(19842), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(3471), __webpack_require__.e(74997), __webpack_require__.e(39787), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Problems/OjForm/index.tsx */ 9578)); + return Promise.all(/*! import() | p__Question__OjProblem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(61034), __webpack_require__.e(21560), __webpack_require__.e(76329), __webpack_require__.e(77460)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/OjProblem/index.tsx */ 75570)); }), '251': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__OjProblem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(61034), __webpack_require__.e(21560), __webpack_require__.e(76329), __webpack_require__.e(77460)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/OjProblem/index.tsx */ 75570)); + return Promise.all(/*! import() | p__Question__OjProblem__RecordDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(49716)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/OjProblem/RecordDetail/index.tsx */ 66345)); }), '252': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__OjProblem__RecordDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(49716)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/OjProblem/RecordDetail/index.tsx */ 66345)); + return Promise.all(/*! import() | p__Question__AddOrEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(72422), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(86913)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/index.tsx */ 48388)); }), '253': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__AddOrEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(72422), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(86913)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/index.tsx */ 48388)); + return Promise.all(/*! import() | p__Question__AddOrEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(72422), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(86913)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/index.tsx */ 48388)); }), '254': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Question__AddOrEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(43428), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(72422), __webpack_require__.e(76329), __webpack_require__.e(47400), __webpack_require__.e(86913)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Question/AddOrEdit/index.tsx */ 48388)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '255': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Engineering__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(13006)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/index.tsx */ 32354)); }), '256': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(13006)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/index.tsx */ 32354)); + return Promise.all(/*! import() | p__Engineering__Lists__TeacherList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(92045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TeacherList/index.tsx */ 80197)); }), '257': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__TeacherList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(92045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TeacherList/index.tsx */ 80197)); + return Promise.all(/*! import() | p__Engineering__Lists__StudentList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(11520)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/StudentList/index.tsx */ 87410)); }), '258': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__StudentList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(11520)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/StudentList/index.tsx */ 87410)); + return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39384), __webpack_require__.e(59649)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/index.tsx */ 81282)); }), '259': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39384), __webpack_require__.e(59649)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/index.tsx */ 81282)); + return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(84546)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/Add/index.tsx */ 33196)); }), '260': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__Add__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(84546)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/Add/index.tsx */ 33196)); + return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(75357)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/Edit/index.tsx */ 6044)); }), '261': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__TrainingProgram__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(75357)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingProgram/Edit/index.tsx */ 6044)); + return Promise.all(/*! import() | p__Engineering__Lists__TrainingObjectives__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(39384), __webpack_require__.e(68665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingObjectives/index.tsx */ 65977)); }), '262': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__TrainingObjectives__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(39384), __webpack_require__.e(68665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/TrainingObjectives/index.tsx */ 65977)); + return Promise.all(/*! import() | p__Engineering__Lists__GraduationIndex__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(73183)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/GraduationIndex/index.tsx */ 94238)); }), '263': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__GraduationIndex__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(4977), __webpack_require__.e(39384), __webpack_require__.e(73183)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/GraduationIndex/index.tsx */ 94238)); + return Promise.all(/*! import() | p__Engineering__Lists__GraduatedMatrix__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(99313), __webpack_require__.e(34800)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/GraduatedMatrix/index.tsx */ 18271)); }), '264': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__GraduatedMatrix__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(99313), __webpack_require__.e(34800)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/GraduatedMatrix/index.tsx */ 18271)); + return Promise.all(/*! import() | p__Engineering__Lists__CourseList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(39384), __webpack_require__.e(79489)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CourseList/index.tsx */ 15755)); }), '265': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__CourseList__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(39384), __webpack_require__.e(79489)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CourseList/index.tsx */ 15755)); + return Promise.all(/*! import() | p__Engineering__Lists__CurseSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(73755), __webpack_require__.e(45413), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39391)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CurseSetting/index.tsx */ 73994)); }), '266': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__CurseSetting__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(73755), __webpack_require__.e(45413), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39391)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CurseSetting/index.tsx */ 73994)); + return Promise.all(/*! import() | p__Engineering__Lists__CourseMatrix__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(95335)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CourseMatrix/index.tsx */ 48839)); }), '267': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__CourseMatrix__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(95335)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/CourseMatrix/index.tsx */ 48839)); + return Promise.all(/*! import() | p__Engineering__Navigation__Home__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(92823)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Navigation/Home/index.tsx */ 77984)); }), '268': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Navigation__Home__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(92823)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Navigation/Home/index.tsx */ 77984)); + return Promise.all(/*! import() | p__Engineering__Evaluate__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(53877), __webpack_require__.e(4973)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Evaluate/List/index.tsx */ 40063)); }), '269': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Evaluate__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(53877), __webpack_require__.e(4973)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Evaluate/List/index.tsx */ 40063)); + return Promise.all(/*! import() | p__Engineering__Evaluate__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(42441), __webpack_require__.e(66651)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Evaluate/Detail/index.tsx */ 425)); }), '270': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Evaluate__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(42441), __webpack_require__.e(66651)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Evaluate/Detail/index.tsx */ 425)); + return Promise.all(/*! import() | p__Engineering__Norm__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(26741)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Norm/List/index.tsx */ 48260)); }), '271': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Norm__List__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(26741)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Norm/List/index.tsx */ 48260)); + return Promise.all(/*! import() | p__Engineering__Lists__Document__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39384), __webpack_require__.e(45775)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/Document/index.tsx */ 86248)); }), '272': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Engineering__Lists__Document__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(39384), __webpack_require__.e(45775)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Lists/Document/index.tsx */ 86248)); + return __webpack_require__.e(/*! import() | p__Engineering__Norm__Detail__index */ 62548).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Norm/Detail/index.tsx */ 1381)); }), '273': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Engineering__Norm__Detail__index */ 62548).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Engineering/Norm/Detail/index.tsx */ 1381)); + return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); }), '274': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '275': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Innovation__Tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(56156), __webpack_require__.e(32466), __webpack_require__.e(28163), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1143), __webpack_require__.e(86634)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Tasks/index.jsx */ 68752)); }), '276': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__Tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(56156), __webpack_require__.e(32466), __webpack_require__.e(28163), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(1143), __webpack_require__.e(86634)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Tasks/index.jsx */ 68752)); + return Promise.all(/*! import() | p__Innovation__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(20680)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/index.tsx */ 58858)); }), '277': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(20680)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/index.tsx */ 58858)); + return Promise.all(/*! import() | p__Innovation__PublicProject__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(41867), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(4977), __webpack_require__.e(26366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicProject/index.tsx */ 95059)); }), '278': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__PublicProject__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(41867), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(4977), __webpack_require__.e(26366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicProject/index.tsx */ 95059)); + return Promise.all(/*! import() | p__Innovation__PublicDataSet__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(86452)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicDataSet/index.tsx */ 43435)); }), '279': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__PublicDataSet__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(86452)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicDataSet/index.tsx */ 43435)); + return Promise.all(/*! import() | p__Innovation__PublicMirror__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(11070)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicMirror/index.tsx */ 99856)); }), '280': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__PublicMirror__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(11070)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/PublicMirror/index.tsx */ 99856)); + return Promise.all(/*! import() | p__Innovation__MyProject__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(41867), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(4977), __webpack_require__.e(67242)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyProject/index.tsx */ 67992)); }), '281': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__MyProject__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(41867), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(4977), __webpack_require__.e(67242)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyProject/index.tsx */ 67992)); + return Promise.all(/*! import() | p__Innovation__MyDataSet__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(22707)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyDataSet/index.tsx */ 46381)); }), '282': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__MyDataSet__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(22707)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyDataSet/index.tsx */ 46381)); + return Promise.all(/*! import() | p__Innovation__MyMirror__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(12865)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyMirror/index.tsx */ 94666)); }), '283': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__MyMirror__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(53877), __webpack_require__.e(14642), __webpack_require__.e(12865)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/MyMirror/index.tsx */ 94666)); + return Promise.all(/*! import() | p__Innovation__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(14642), __webpack_require__.e(36784)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Edit/index.tsx */ 41693)); }), '284': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Innovation__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(14642), __webpack_require__.e(36784)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Edit/index.tsx */ 41693)); }), '285': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(14642), __webpack_require__.e(36784)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Edit/index.tsx */ 41693)); + return Promise.all(/*! import() | p__Innovation__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53877), __webpack_require__.e(28163), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(83141)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Detail/index.tsx */ 17255)); }), '286': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Innovation__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(53877), __webpack_require__.e(28163), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(83141)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Innovation/Detail/index.tsx */ 17255)); + return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); }), '287': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); + return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); }), '288': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); + return Promise.all(/*! import() | p__tasks__Jupyter__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(43428), __webpack_require__.e(15192), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(74237), __webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/Jupyter/index.tsx */ 29531)); }), '289': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__tasks__Jupyter__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(43428), __webpack_require__.e(15192), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(74237), __webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/Jupyter/index.tsx */ 29531)); + return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); }), '290': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); + return Promise.all(/*! import() | p__tasks__Jupyter__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(43428), __webpack_require__.e(15192), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(74237), __webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/Jupyter/index.tsx */ 29531)); }), '291': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__tasks__Jupyter__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(43428), __webpack_require__.e(15192), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(74237), __webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/Jupyter/index.tsx */ 29531)); + return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); }), '292': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(56156), __webpack_require__.e(75149), __webpack_require__.e(21560), __webpack_require__.e(12911), __webpack_require__.e(32466), __webpack_require__.e(15192), __webpack_require__.e(19025), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(1143), __webpack_require__.e(74237), __webpack_require__.e(93665)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/tasks/index.jsx */ 58049)); + return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); }), '293': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() */ 73892).then(__webpack_require__.bind(__webpack_require__, /*! ./EmptyRoute */ 73892)); + return Promise.all(/*! import() | p__MyProblem__RecordDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(56156), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(17527)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MyProblem/RecordDetail/index.tsx */ 73123)); }), '294': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MyProblem__RecordDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(56156), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(17527)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MyProblem/RecordDetail/index.tsx */ 73123)); + return Promise.all(/*! import() | p__MyProblem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(56156), __webpack_require__.e(21560), __webpack_require__.e(76329), __webpack_require__.e(1143), __webpack_require__.e(36270)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MyProblem/index.tsx */ 1039)); }), '295': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MyProblem__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(43428), __webpack_require__.e(56156), __webpack_require__.e(21560), __webpack_require__.e(76329), __webpack_require__.e(1143), __webpack_require__.e(36270)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MyProblem/index.tsx */ 1039)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '296': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Account__index */[__webpack_require__.e(96911), __webpack_require__.e(60547)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/index.tsx */ 69039)); }), '297': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__index */[__webpack_require__.e(96911), __webpack_require__.e(60547)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/index.tsx */ 69039)); + return Promise.all(/*! import() | p__Account__Profile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(66508), __webpack_require__.e(59788)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Profile/index.tsx */ 28455)); }), '298': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__Profile__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(66508), __webpack_require__.e(59788)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Profile/index.tsx */ 28455)); + return Promise.all(/*! import() | p__Account__Profile__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(66508), __webpack_require__.e(20576)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Profile/Edit/index.tsx */ 66508)); }), '299': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__Profile__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(66508), __webpack_require__.e(20576)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Profile/Edit/index.tsx */ 66508)); + return Promise.all(/*! import() | p__Account__Certification__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(55693), __webpack_require__.e(87260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Certification/index.tsx */ 75419)); }), '300': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__Certification__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(19842), __webpack_require__.e(46372), __webpack_require__.e(87834), __webpack_require__.e(55693), __webpack_require__.e(87260)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Certification/index.tsx */ 75419)); + return Promise.all(/*! import() | p__Account__Secure__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(64520)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Secure/index.tsx */ 44389)); }), '301': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__Secure__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(64520)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Secure/index.tsx */ 44389)); + return __webpack_require__.e(/*! import() | p__Account__Binding__index */ 89076).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Binding/index.tsx */ 10991)); }), '302': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Account__Binding__index */ 89076).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Binding/index.tsx */ 10991)); + return Promise.all(/*! import() | p__Account__Results__index */[__webpack_require__.e(28647), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(14514)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Results/index.tsx */ 28007)); }), '303': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Account__Results__index */[__webpack_require__.e(28647), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(14514)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Account/Results/index.tsx */ 28007)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '304': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__RestFul__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(94333), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(70928)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/RestFul/Edit/index.tsx */ 16523)); }), '305': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__RestFul__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(94333), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(70928)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/RestFul/Edit/index.tsx */ 16523)); + return Promise.all(/*! import() | p__RestFul__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(98228), __webpack_require__.e(91375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(31006)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/RestFul/index.tsx */ 70713)); }), '306': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__RestFul__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(98228), __webpack_require__.e(91375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(31006)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/RestFul/index.tsx */ 70713)); }), '307': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__RestFul__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(98228), __webpack_require__.e(91375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(31006)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/RestFul/index.tsx */ 70713)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '308': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__User__Detail__Order__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(64802), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(21939)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/index.tsx */ 45069)); }), '309': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(64802), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(21939)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/index.tsx */ 45069)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__invoice__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(72274), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(556)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/invoice/index.tsx */ 60992)); }), '310': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__invoice__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(72274), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(556)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/invoice/index.tsx */ 60992)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__records__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(16434)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/records/index.tsx */ 87908)); }), '311': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__records__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(16434)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/records/index.tsx */ 87908)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__apply__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(27315), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(61880)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/apply/index.tsx */ 46540)); }), '312': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__apply__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(27315), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(61880)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/apply/index.tsx */ 46540)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__view__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(28237)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/view/index.tsx */ 67768)); }), '313': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__view__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(28237)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/view/index.tsx */ 67768)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__orderInformation__index */[__webpack_require__.e(59981), __webpack_require__.e(85111)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/orderInformation/index.tsx */ 67336)); }), '314': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__orderInformation__index */[__webpack_require__.e(59981), __webpack_require__.e(85111)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/orderInformation/index.tsx */ 67336)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__orderPay__index */[__webpack_require__.e(59981), __webpack_require__.e(15845), __webpack_require__.e(30264)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/orderPay/index.tsx */ 76388)); }), '315': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__orderPay__index */[__webpack_require__.e(59981), __webpack_require__.e(15845), __webpack_require__.e(30264)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/orderPay/index.tsx */ 76388)); + return Promise.all(/*! import() | p__User__Detail__Order__pages__result__index */[__webpack_require__.e(59981), __webpack_require__.e(53114), __webpack_require__.e(44259)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/result/index.tsx */ 20686)); }), '316': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Detail__Order__pages__result__index */[__webpack_require__.e(59981), __webpack_require__.e(53114), __webpack_require__.e(44259)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Detail/Order/pages/result/index.tsx */ 20686)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '317': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Messages__Tidings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(94078)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Tidings/index.tsx */ 25646)); }), '318': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Messages__Tidings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(94078)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Tidings/index.tsx */ 25646)); + return Promise.all(/*! import() | p__Messages__Private__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(52829)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Private/index.tsx */ 92289)); }), '319': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Messages__Private__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(52829)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Private/index.tsx */ 92289)); + return Promise.all(/*! import() | p__Messages__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(62687), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(45359)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Detail/index.tsx */ 5942)); }), '320': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Messages__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(62687), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(45359)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Messages/Detail/index.tsx */ 5942)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '321': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | layouts__virtualDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(88652), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(15498), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(40559)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/virtualDetail/index.tsx */ 81987)); }), '322': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__virtualDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(88652), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(15498), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(40559)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/virtualDetail/index.tsx */ 81987)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); }), '323': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Experiment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(94439), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(71783)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Experiment/index.tsx */ 34374)); }), '324': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Experiment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(94439), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(71783)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Experiment/index.tsx */ 34374)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(34668), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(65816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/index.tsx */ 4650)); }), '325': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(34668), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(65816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/index.tsx */ 4650)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); }), '326': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); }), '327': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(10375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(46796)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/Detail/index.tsx */ 81997)); }), '328': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(10375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(46796)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/Detail/index.tsx */ 81997)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(24504)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/index.tsx */ 31313)); }), '329': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(24504)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/index.tsx */ 31313)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(34712), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(87058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/Detail/index.tsx */ 91021)); }), '330': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(34712), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(87058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/Detail/index.tsx */ 91021)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(88100), __webpack_require__.e(76329), __webpack_require__.e(38447)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/index.tsx */ 7439)); }), '331': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(88100), __webpack_require__.e(76329), __webpack_require__.e(38447)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/index.tsx */ 7439)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); }), '332': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); }), '333': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(35238)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/index.tsx */ 79428)); }), '334': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(35238)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/index.tsx */ 79428)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(94715)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/Detail/index.tsx */ 46263)); }), '335': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(94715)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/Detail/index.tsx */ 46263)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(61713)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Settings/index.tsx */ 45414)); }), '336': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(61713)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Settings/index.tsx */ 45414)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(85891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/index.tsx */ 54176)); }), '337': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(85891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/index.tsx */ 54176)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(18900), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(98398)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/Detail/index.tsx */ 59854)); }), '338': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(18900), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(98398)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/Detail/index.tsx */ 59854)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(82080), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18241)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/index.tsx */ 69078)); }), '339': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(82080), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18241)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/index.tsx */ 69078)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(19523), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(82339)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/Detail/index.tsx */ 6976)); }), '340': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(19523), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(82339)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/Detail/index.tsx */ 6976)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); }), '341': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); + return __webpack_require__.e(/*! import() | p__virtualSpaces__Lists__Construction__index */ 25705).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Construction/index.tsx */ 59026)); }), '342': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__virtualSpaces__Lists__Construction__index */ 25705).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Construction/index.tsx */ 59026)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '343': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | layouts__virtualDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(88652), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(15498), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(40559)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/virtualDetail/index.tsx */ 81987)); }), '344': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__virtualDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(88652), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(15498), __webpack_require__.e(25692), __webpack_require__.e(4677), __webpack_require__.e(40559)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/virtualDetail/index.tsx */ 81987)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); }), '345': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Experiment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(94439), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(71783)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Experiment/index.tsx */ 34374)); }), '346': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Experiment__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(43428), __webpack_require__.e(94439), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(71783)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Experiment/index.tsx */ 34374)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(34668), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(65816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/index.tsx */ 4650)); }), '347': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(34668), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(65816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/index.tsx */ 4650)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); }), '348': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); }), '349': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(73168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(89677)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/AddAndEdit/index.tsx */ 33512)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(10375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(46796)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/Detail/index.tsx */ 81997)); }), '350': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Announcement__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(10375), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(46796)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Announcement/Detail/index.tsx */ 81997)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(24504)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/index.tsx */ 31313)); }), '351': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(24504)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/index.tsx */ 31313)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(34712), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(87058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/Detail/index.tsx */ 91021)); }), '352': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Survey__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(34712), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(87058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Survey/Detail/index.tsx */ 91021)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(88100), __webpack_require__.e(76329), __webpack_require__.e(38447)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/index.tsx */ 7439)); }), '353': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12911), __webpack_require__.e(82837), __webpack_require__.e(88100), __webpack_require__.e(76329), __webpack_require__.e(38447)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/index.tsx */ 7439)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); }), '354': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); }), '355': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Knowledge__AddAndEdit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(54747), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(91045)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Knowledge/AddAndEdit/index.tsx */ 77711)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(35238)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/index.tsx */ 79428)); }), '356': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(35238)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/index.tsx */ 79428)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(94715)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/Detail/index.tsx */ 46263)); }), '357': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Material__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(15569), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(94715)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Material/Detail/index.tsx */ 46263)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(61713)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Settings/index.tsx */ 45414)); }), '358': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(61713)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Settings/index.tsx */ 45414)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(85891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/index.tsx */ 54176)); }), '359': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(85891)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/index.tsx */ 54176)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(18900), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(98398)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/Detail/index.tsx */ 59854)); }), '360': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Resources__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(18900), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(98398)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Resources/Detail/index.tsx */ 59854)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(82080), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18241)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/index.tsx */ 69078)); }), '361': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(82080), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(18241)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/index.tsx */ 69078)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(19523), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(82339)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/Detail/index.tsx */ 6976)); }), '362': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Plan__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(19523), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(82339)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Plan/Detail/index.tsx */ 6976)); + return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); }), '363': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__virtualSpaces__Lists__Homepage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(12312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(59741), __webpack_require__.e(33747)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Homepage/index.tsx */ 96878)); + return __webpack_require__.e(/*! import() | p__virtualSpaces__Lists__Construction__index */ 25705).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Construction/index.tsx */ 59026)); }), '364': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__virtualSpaces__Lists__Construction__index */ 25705).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/virtualSpaces/Lists/Construction/index.tsx */ 59026)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '365': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return __webpack_require__.e(/*! import() | p__Administration__index */ 4766).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/index.tsx */ 72746)); }), '366': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Administration__index */ 4766).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/index.tsx */ 72746)); + return Promise.all(/*! import() | p__Administration__College__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(57560)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/College/index.tsx */ 72653)); }), '367': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Administration__College__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(4977), __webpack_require__.e(57560)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/College/index.tsx */ 72653)); + return Promise.all(/*! import() | p__Administration__Student__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(78859), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(36029)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/Student/index.tsx */ 29133)); }), '368': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Administration__Student__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(78859), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(36029)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/Student/index.tsx */ 29133)); + return Promise.all(/*! import() | p__Administration__Student__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(45179)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/Student/Edit/index.tsx */ 74381)); }), '369': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Administration__Student__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(45179)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Administration/Student/Edit/index.tsx */ 74381)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '370': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Graduations__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(38177), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(91831)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Index/index.tsx */ 50528)); }), '371': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(59981), __webpack_require__.e(37825), __webpack_require__.e(38177), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(25692), __webpack_require__.e(91831)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Index/index.tsx */ 50528)); + return Promise.all(/*! import() | p__Graduations__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(79399), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(72539)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Review/index.tsx */ 63489)); }), '372': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Review__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(37825), __webpack_require__.e(79399), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(89200), __webpack_require__.e(72539)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Review/index.tsx */ 63489)); + return Promise.all(/*! import() | layouts__GraduationsDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(42916), __webpack_require__.e(38143)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/GraduationsDetail/index.tsx */ 15509)); }), '373': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__GraduationsDetail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(89200), __webpack_require__.e(42916), __webpack_require__.e(38143)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/GraduationsDetail/index.tsx */ 15509)); + return Promise.all(/*! import() | p__Graduations__Lists__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(49127), __webpack_require__.e(10635), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(55624)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Index/index.tsx */ 34619)); }), '374': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Index__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(49127), __webpack_require__.e(10635), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(55624)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Index/index.tsx */ 34619)); + return Promise.all(/*! import() | p__Graduations__Lists__Topics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(76329), __webpack_require__.e(51461)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Topics/index.tsx */ 66893)); }), '375': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Topics__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(76329), __webpack_require__.e(51461)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Topics/index.tsx */ 66893)); + return Promise.all(/*! import() | p__Graduations__Lists__StudentSelection__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(54492)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StudentSelection/index.tsx */ 64239)); }), '376': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StudentSelection__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(54492)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StudentSelection/index.tsx */ 64239)); + return Promise.all(/*! import() | p__Graduations__Lists__Tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Tasks/index.tsx */ 25764)); }), '377': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Tasks__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Tasks/index.tsx */ 25764)); + return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); }), '378': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); + return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); }), '379': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); + return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); }), '380': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); + return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); }), '381': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); + return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); }), '382': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__StageModule__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/StageModule/index.tsx */ 27211)); + return Promise.all(/*! import() | p__Graduations__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(25022)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Settings/index.tsx */ 14212)); }), '383': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Settings__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(59981), __webpack_require__.e(25022)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Settings/index.tsx */ 14212)); + return Promise.all(/*! import() | p__Graduations__Lists__Personmanage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(42916), __webpack_require__.e(66063)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Personmanage/index.tsx */ 33537)); }), '384': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Graduations__Lists__Personmanage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(42916), __webpack_require__.e(66063)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Personmanage/index.tsx */ 33537)); }), '385': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Personmanage__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(42916), __webpack_require__.e(66063)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Personmanage/index.tsx */ 33537)); + return Promise.all(/*! import() | p__Graduations__Lists__Archives__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(47545)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Archives/index.tsx */ 25006)); }), '386': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Archives__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(37825), __webpack_require__.e(52409), __webpack_require__.e(19208), __webpack_require__.e(86129), __webpack_require__.e(76329), __webpack_require__.e(70043), __webpack_require__.e(71244), __webpack_require__.e(47545)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Archives/index.tsx */ 25006)); + return Promise.all(/*! import() | p__Graduations__Lists__Gradingsummary__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(11253)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Gradingsummary/index.tsx */ 73451)); }), '387': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Graduations__Lists__Gradingsummary__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(37825), __webpack_require__.e(4977), __webpack_require__.e(89200), __webpack_require__.e(11253)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Graduations/Lists/Gradingsummary/index.tsx */ 73451)); + return Promise.all(/*! import() | p__Demo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(14058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Demo/index.tsx */ 95742)); }), '388': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Demo__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78241), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(99313), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(14058)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Demo/index.tsx */ 95742)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '389': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__IntrainCourse__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(9951), __webpack_require__.e(76938), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(54056)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/IntrainCourse/index.tsx */ 19721)); }), '390': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__IntrainCourse__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(93948), __webpack_require__.e(9951), __webpack_require__.e(76938), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(54056)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/IntrainCourse/index.tsx */ 19721)); + return Promise.all(/*! import() | p__User__BindAccount__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(27178)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/BindAccount/index.tsx */ 42300)); }), '391': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__BindAccount__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(27178)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/BindAccount/index.tsx */ 42300)); + return Promise.all(/*! import() | p__User__QQLogin__index */[__webpack_require__.e(59981), __webpack_require__.e(1660)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/QQLogin/index.tsx */ 55346)); }), '392': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__QQLogin__index */[__webpack_require__.e(59981), __webpack_require__.e(1660)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/QQLogin/index.tsx */ 55346)); + return Promise.all(/*! import() | p__User__WechatLogin__index */[__webpack_require__.e(59981), __webpack_require__.e(27333)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/WechatLogin/index.tsx */ 68931)); }), '393': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__WechatLogin__index */[__webpack_require__.e(59981), __webpack_require__.e(27333)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/WechatLogin/index.tsx */ 68931)); + return Promise.all(/*! import() | layouts__LoginAndRegister__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(75786)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/LoginAndRegister/index.tsx */ 78521)); }), '394': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__LoginAndRegister__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(75786)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/LoginAndRegister/index.tsx */ 78521)); + return Promise.all(/*! import() | p__User__Login__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(49366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Login/index.tsx */ 84073)); }), '395': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Login__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(49366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Login/index.tsx */ 84073)); + return Promise.all(/*! import() | layouts__user__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(12066), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(25972)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/user/index.tsx */ 48135)); }), '396': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__user__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(12066), __webpack_require__.e(4977), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(25972)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/user/index.tsx */ 48135)); + return Promise.all(/*! import() | p__User__Login__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(49366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Login/index.tsx */ 84073)); }), '397': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Login__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(49366)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Login/index.tsx */ 84073)); + return Promise.all(/*! import() | p__User__Register__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(94410), __webpack_require__.e(91470)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Register/index.tsx */ 74865)); }), '398': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__Register__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(94410), __webpack_require__.e(91470)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/Register/index.tsx */ 74865)); + return Promise.all(/*! import() | p__User__ResetPassword__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(94410), __webpack_require__.e(27182)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/ResetPassword/index.tsx */ 46779)); }), '399': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__User__ResetPassword__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(78241), __webpack_require__.e(94410), __webpack_require__.e(27182)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/User/ResetPassword/index.tsx */ 46779)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '400': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Colleges__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(12476)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Colleges/index.tsx */ 78276)); }), '401': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Colleges__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(42441), __webpack_require__.e(4977), __webpack_require__.e(12476)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Colleges/index.tsx */ 78276)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '402': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Help__Index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(52312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(25692), __webpack_require__.e(35729)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Help/Index.tsx */ 56764)); }), '403': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Help__Index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(52312), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(25692), __webpack_require__.e(35729)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Help/Index.tsx */ 56764)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '404': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__Video__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(61034), __webpack_require__.e(56168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(30935), __webpack_require__.e(96444)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Video/Detail/[id].tsx */ 97920)); }), '405': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Video__Detail__id */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(61034), __webpack_require__.e(56168), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(30935), __webpack_require__.e(96444)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Video/Detail/[id].tsx */ 97920)); + return Promise.all(/*! import() | p__Terminal__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(93948), __webpack_require__.e(56156), __webpack_require__.e(32466), __webpack_require__.e(65111)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Terminal/index.tsx */ 78942)); }), '406': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Terminal__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(93948), __webpack_require__.e(56156), __webpack_require__.e(32466), __webpack_require__.e(65111)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Terminal/index.tsx */ 78942)); + return Promise.all(/*! import() | p__Report__index */[__webpack_require__.e(59981), __webpack_require__.e(22307)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Report/index.tsx */ 66385)); }), '407': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Report__index */[__webpack_require__.e(59981), __webpack_require__.e(22307)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Report/index.tsx */ 66385)); + return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); }), '408': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | layouts__SimpleLayouts */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(9951), __webpack_require__.e(44147), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__, /*! @/layouts/SimpleLayouts.tsx */ 11578)); + return Promise.all(/*! import() | p__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(61034), __webpack_require__.e(9951), __webpack_require__.e(73755), __webpack_require__.e(45413), __webpack_require__.e(62945), __webpack_require__.e(53500), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(35196), __webpack_require__.e(88866)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/index.tsx */ 83437)); }), '409': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(93948), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(42441), __webpack_require__.e(61034), __webpack_require__.e(9951), __webpack_require__.e(73755), __webpack_require__.e(45413), __webpack_require__.e(62945), __webpack_require__.e(53500), __webpack_require__.e(55351), __webpack_require__.e(53114), __webpack_require__.e(23275), __webpack_require__.e(25692), __webpack_require__.e(488), __webpack_require__.e(35196), __webpack_require__.e(88866)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/index.tsx */ 83437)); + return __webpack_require__.e(/*! import() | p__Api__index */ 62300).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Api/index.tsx */ 91055)); }), '410': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__Api__index */ 62300).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Api/index.tsx */ 91055)); + return Promise.all(/*! import() | p__Search__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(92501)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Search/index.tsx */ 59511)); }), '411': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Search__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(92501)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Search/index.tsx */ 59511)); + return Promise.all(/*! import() | p__MoopCases__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(83212)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/index.tsx */ 55539)); }), '412': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MoopCases__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(83212)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/index.tsx */ 55539)); + return Promise.all(/*! import() | p__MoopCases__FormPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(55950), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(76904)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/FormPanel/index.tsx */ 94482)); }), '413': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MoopCases__FormPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(55950), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(76904)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/FormPanel/index.tsx */ 94482)); + return Promise.all(/*! import() | p__MoopCases__InfoPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(51855)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/InfoPanel/index.tsx */ 2939)); }), '414': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MoopCases__InfoPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(51855)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/InfoPanel/index.tsx */ 2939)); + return Promise.all(/*! import() | p__MoopCases__FormPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(55950), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(76904)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/FormPanel/index.tsx */ 94482)); }), '415': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__MoopCases__FormPanel__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(55950), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(76904)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/FormPanel/index.tsx */ 94482)); + return __webpack_require__.e(/*! import() | p__MoopCases__Success__index */ 51276).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/Success/index.tsx */ 36522)); }), '416': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__MoopCases__Success__index */ 51276).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/MoopCases/Success/index.tsx */ 36522)); + return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); }), '417': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); + return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(36775), __webpack_require__.e(72315), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); }), '418': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Random__Edit__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(89868), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(99313), __webpack_require__.e(37825), __webpack_require__.e(19842), __webpack_require__.e(56156), __webpack_require__.e(15498), __webpack_require__.e(21154), __webpack_require__.e(76329), __webpack_require__.e(75816)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Edit/index.tsx */ 78184)); + return Promise.all(/*! import() | p__Paperlibrary__Random__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(86743), __webpack_require__.e(56843), __webpack_require__.e(33784)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Detail/index.tsx */ 46305)); }), '419': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__Paperlibrary__Random__Detail__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(91857), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(41867), __webpack_require__.e(78782), __webpack_require__.e(69304), __webpack_require__.e(59981), __webpack_require__.e(11561), __webpack_require__.e(72315), __webpack_require__.e(85731), __webpack_require__.e(99313), __webpack_require__.e(86743), __webpack_require__.e(56843), __webpack_require__.e(33784)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Paperlibrary/Random/Detail/index.tsx */ 46305)); + return __webpack_require__.e(/*! import() | p__HttpStatus__403 */ 43862).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/403.tsx */ 14330)); }), '420': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__HttpStatus__403 */ 43862).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/403.tsx */ 14330)); + return __webpack_require__.e(/*! import() | p__HttpStatus__500 */ 44565).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/500.tsx */ 85275)); }), '421': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__HttpStatus__500 */ 44565).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/500.tsx */ 85275)); + return __webpack_require__.e(/*! import() | p__HttpStatus__404 */ 66531).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/404.tsx */ 49949)); }), '422': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return __webpack_require__.e(/*! import() | p__HttpStatus__404 */ 66531).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/404.tsx */ 49949)); + return Promise.all(/*! import() | p__HttpStatus__HpcCourse */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(15250), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(64496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/HpcCourse.tsx */ 78116)); }), '423': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__HttpStatus__HpcCourse */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(15250), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(64496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/HpcCourse.tsx */ 78116)); + return Promise.all(/*! import() | p__HttpStatus__SixActivities */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(79817), __webpack_require__.e(3509)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/SixActivities.tsx */ 25039)); }), '424': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__HttpStatus__SixActivities */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(50812), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(79817), __webpack_require__.e(3509)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/SixActivities.tsx */ 25039)); + return Promise.all(/*! import() | p__HttpStatus__HpcCourse */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(15250), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(64496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/HpcCourse.tsx */ 78116)); }), '425': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__HttpStatus__HpcCourse */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(15250), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(64496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/HpcCourse.tsx */ 78116)); }), '426': /*#__PURE__*/_react_17_0_2_react.lazy(function () { - return Promise.all(/*! import() | p__HttpStatus__HpcCourse */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(15250), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(64496)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/HpcCourse.tsx */ 78116)); - }), - '427': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__HttpStatus__UserAgents */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(41867), __webpack_require__.e(66034)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/UserAgents.tsx */ 63199)); }), - '428': /*#__PURE__*/_react_17_0_2_react.lazy(function () { + '427': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Three__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(50812), __webpack_require__.e(26588), __webpack_require__.e(96232), __webpack_require__.e(24665), __webpack_require__.e(28485), __webpack_require__.e(88652), __webpack_require__.e(20834), __webpack_require__.e(5112), __webpack_require__.e(78241), __webpack_require__.e(89868), __webpack_require__.e(36775), __webpack_require__.e(78273), __webpack_require__.e(85731), __webpack_require__.e(93948), __webpack_require__.e(6557), __webpack_require__.e(72319), __webpack_require__.e(2360), __webpack_require__.e(41001), __webpack_require__.e(4977), __webpack_require__.e(76329), __webpack_require__.e(11436), __webpack_require__.e(59741), __webpack_require__.e(8999)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Three/index.tsx */ 59314)); }), - '429': /*#__PURE__*/_react_17_0_2_react.lazy(function () { + '428': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return __webpack_require__.e(/*! import() | p__HttpStatus__introduction */ 53910).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/introduction.tsx */ 77161)); }), - '430': /*#__PURE__*/_react_17_0_2_react.lazy(function () { + '429': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return Promise.all(/*! import() | p__Message__index */[__webpack_require__.e(28647), __webpack_require__.e(84728), __webpack_require__.e(6848), __webpack_require__.e(46573), __webpack_require__.e(26588), __webpack_require__.e(5112), __webpack_require__.e(30067)]).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/Message/index.tsx */ 2367)); }), - '431': /*#__PURE__*/_react_17_0_2_react.lazy(function () { + '430': /*#__PURE__*/_react_17_0_2_react.lazy(function () { return __webpack_require__.e(/*! import() | p__HttpStatus__404 */ 66531).then(__webpack_require__.bind(__webpack_require__, /*! @/pages/HttpStatus/404.tsx */ 49949)); }), '@@/global-layout': /*#__PURE__*/_react_17_0_2_react.lazy(function () {