From 9f8ec25845243ab650a3723e93dbdcf0ea9ef634 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Tue, 17 May 2022 17:48:05 -0400 Subject: [PATCH] refresh browser tests --- Makefile | 2 +- book.json | 27 ----- demos/chrome/Makefile | 2 +- demos/datagrid/README.md | 11 +-- demos/datagrid/index.html | 6 +- demos/deno/Makefile | 2 +- demos/headless/README.md | 2 +- demos/xspreadsheet/README.md | 5 +- modules/Makefile | 6 +- packages/otorp/Makefile | 6 +- tests/cpexcel.full.mjs | 1 + tests/esm.html | 21 ++-- tests/fixtures.js | 1 + tests/fs_.js | 1 + tests/index.html | 14 +-- tests/mini.html | 14 +-- tests/mini.js | 185 ++++++++++++++++++++++++++++++++++- tests/sauce.html | 14 +-- tests/xlsx.zahl.mjs | 1 + 19 files changed, 221 insertions(+), 100 deletions(-) delete mode 100644 book.json create mode 120000 tests/cpexcel.full.mjs create mode 120000 tests/xlsx.zahl.mjs diff --git a/Makefile b/Makefile index b20f5c6..9fcd7ae 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ $(MTSBITS): misc/%: modules/% .PHONY: clean clean: ## Remove targets and build artifacts - rm -f $(TARGET) $(FLOWTARGET) + rm -f $(TARGET) $(FLOWTARGET) $(ESMJSTGT) $(MINITGT) $(MINIFLOW) .PHONY: clean-data clean-data: diff --git a/book.json b/book.json deleted file mode 100644 index 816cbbc..0000000 --- a/book.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "root": "./misc/docs", - "title": "SheetJS js-xlsx", - "author": "sheetjs", - "gitbook": "3.2.2", - "plugins": ["anchorjs", "ga", "sidebar-ad", "-sharing", "-search", "advanced-emoji", "-lunr"], - "pluginsConfig": { - "anchorjs": { - "icon": "#", - "placement": "left", - "visible": "always" - }, - "ga": { - "token": "UA-36810333-1" - }, - "sidebar-ad": { - "imageUrl": "http://oss.sheetjs.com/assets/img/logo.png", - "url": "http://sheetjs.com" - }, - "theme-default": { - "showLevel": false, - "styles": { - "website": "style.css" - } - } - } -} diff --git a/demos/chrome/Makefile b/demos/chrome/Makefile index 6314986..d708d07 100644 --- a/demos/chrome/Makefile +++ b/demos/chrome/Makefile @@ -1,7 +1,7 @@ .PHONY: init init: cp ../../dist/xlsx.full.min.js . - if [ ! -e logo.png ]; then curl -O http://sheetjs.com/logo.png; fi + if [ ! -e logo.png ]; then curl -O https://sheetjs.com/logo.png; fi .PHONY: lint lint: diff --git a/demos/datagrid/README.md b/demos/datagrid/README.md index 0134c3e..d27617d 100644 --- a/demos/datagrid/README.md +++ b/demos/datagrid/README.md @@ -2,16 +2,15 @@ The `sheet_to_json` utility function generates output arrays suitable for use with other JS libraries such as data grids for previewing data. After extensive -testing, [`canvas-datagrid`](https://tonygermaneri.github.io/canvas-datagrid/) -stood out as a very high-performance grid with an incredibly simple API. +testing, [`canvas-datagrid`](https://canvas-datagrid.js.org/demo.html) stood +out as a very high-performance grid with an incredibly simple API. -This demo is available at +This demo is available at ## Obtaining the Library -The [`canvas-datagrid` npm nodule](http://npm.im/canvas-datagrid) includes a -minified script `dist/canvas-datagrid.js` that can be directly inserted as a -script tag. The unpkg CDN also exposes the latest version: +The `canvas-datagrid` NodeJS packages include a minified script that can be +directly inserted as a script tag. The unpkg CDN also hosts this script: ```html diff --git a/demos/datagrid/index.html b/demos/datagrid/index.html index 157dab2..1cf7e5f 100644 --- a/demos/datagrid/index.html +++ b/demos/datagrid/index.html @@ -25,10 +25,10 @@ a { text-decoration: none }
 SheetJS Data Preview Live Demo
 
-canvas-datagrid component library
+canvas-datagrid component library
 
-Source Code Repo
-Issues?  Something look weird?  Click here and report an issue
+Source Code Repo
+Issues?  Something look weird?  Click here and report an issue
 
 
Drop a spreadsheet file here to see sheet data
... or click here to select a file diff --git a/demos/deno/Makefile b/demos/deno/Makefile index 0120732..66a2fc9 100644 --- a/demos/deno/Makefile +++ b/demos/deno/Makefile @@ -14,7 +14,7 @@ $(TESTS): %: %.ts doit.ts $(TEST_FILES) # --unstable is required, see https://github.com/denoland/deno_std/issues/1900 $(UNSTABLE): %: %.ts doit.ts $(TEST_FILES) - deno run --allow-read --allow-write --unstable $< + deno run --allow-read --allow-write --unstable --allow-env $< .PHONY: stream stream: stream.ts diff --git a/demos/headless/README.md b/demos/headless/README.md index 9a5b3b6..bb9e196 100644 --- a/demos/headless/README.md +++ b/demos/headless/README.md @@ -8,7 +8,7 @@ headless browser is generally indistinguishable from a browser process. ## Chromium Automation with Puppeteer -[Puppeteer](https://npm.im/puppeteer) enables headless Chromium automation. +[Puppeteer](https://pptr.dev/) enables headless Chromium automation. [`html.js`](./html.js) shows a dedicated script for converting an HTML file to XLSB using puppeteer. The first argument is the path to the HTML file. The diff --git a/demos/xspreadsheet/README.md b/demos/xspreadsheet/README.md index 43a2ab6..22f364f 100644 --- a/demos/xspreadsheet/README.md +++ b/demos/xspreadsheet/README.md @@ -9,9 +9,8 @@ This demo is available at ## Obtaining the Library -The [`x-data-spreadsheet` module](http://npm.im/x-data-spreadsheet) includes a -minified script `dist/xspreadsheet.js` that can be directly inserted as a script -tag. The unpkg CDN also exposes the latest version: +The `x-data-spreadsheet` NodeJS packages include a minified script that can be +directly inserted as a script tag. The unpkg CDN also hosts this script: ```html diff --git a/modules/Makefile b/modules/Makefile index d492aa2..c0e2052 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -12,14 +12,14 @@ xlsx.zahl.js: test.numbers reframe.node.js bash -c ./reframe.sh $(BAREJS): %.js: %.ts $(LIBFILES) - npx esbuild $< --outfile=$@ --platform=browser --target=es5 + npx esbuild@0.14.14 $< --outfile=$@ --platform=browser --target=es5 %.node.js: %.node.ts $(LIBFILES) src/numbers.ts - npx esbuild $< --bundle --external:xlsx --outfile=$@ --platform=node + npx esbuild@0.14.14 $< --bundle --external:xlsx --outfile=$@ --platform=node sed -i '' 's/ts-node/node/g' $@ || sed -i'' 's/ts-node/node/g' $@ || { echo "sed failed"; exit 1; } %.js: %.ts $(LIBFILES) - npx esbuild $< --bundle --outfile=$@ --platform=browser --format=iife --global-name=$* --target=es5 + npx esbuild@0.14.14 $< --bundle --outfile=$@ --platform=browser --format=iife --global-name=$* --target=es5 src/numbers.ts: 83_numbers.ts cat $< | sed 's/^\/\/< $@ diff --git a/packages/otorp/Makefile b/packages/otorp/Makefile index 1093305..9d61163 100644 --- a/packages/otorp/Makefile +++ b/packages/otorp/Makefile @@ -6,14 +6,14 @@ ENTRIES=$(subst .ts,.js,$(TSFILES)) all: $(ENTRIES) index.node.js: index.node.ts $(LIBFILES) - npx esbuild $< --bundle --outfile=$@ --platform=node --format=cjs + npx esbuild@0.14.14 $< --bundle --outfile=$@ --platform=node --format=cjs %.node.js: %.node.ts $(LIBFILES) - npx esbuild $< --bundle --external:./ --outfile=$@ --platform=node + npx esbuild@0.14.14 $< --bundle --external:./ --outfile=$@ --platform=node sed -i '' 's/ts-node/node/g' $@ %.js: %.ts $(LIBFILES) - npx esbuild $< --bundle --outfile=$@ --platform=browser --format=iife --global-name=$* --target=es5 + npx esbuild@0.14.14 $< --bundle --outfile=$@ --platform=browser --format=iife --global-name=$* --target=es5 .PHONY: clean clean: diff --git a/tests/cpexcel.full.mjs b/tests/cpexcel.full.mjs new file mode 120000 index 0000000..be61dee --- /dev/null +++ b/tests/cpexcel.full.mjs @@ -0,0 +1 @@ +../dist/cpexcel.full.mjs \ No newline at end of file diff --git a/tests/esm.html b/tests/esm.html index db3ddbe..67c373c 100644 --- a/tests/esm.html +++ b/tests/esm.html @@ -1,7 +1,7 @@ - JS-XLSX Core Test Runner + SheetJS Core Test Runner @@ -13,17 +13,7 @@ -

JS-XLSX Browser-based Parsing Tests

- - - - - - - - - -
File FormatsLibrary SourceInteractive Demo"xlsx" on npmnode CI status
Tests compiled from test_files repo and are located at /test_files
+

SheetJS Browser-based File Tests

-
diff --git a/tests/fixtures.js b/tests/fixtures.js index 8a65748..25e8efc 100644 --- a/tests/fixtures.js +++ b/tests/fixtures.js @@ -62,6 +62,7 @@ fs['./test_files/defined_names_simple.xls'] = '0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAP fs['./test_files/defined_names_simple.xml'] = 'PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8P21zby1hcHBsaWNhdGlvbiBwcm9naWQ9IkV4Y2VsLlNoZWV0Ij8+DQo8V29ya2Jvb2sgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNwcmVhZHNoZWV0Ig0KIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSINCiB4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCINCiB4bWxuczpzcz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6c3ByZWFkc2hlZXQiDQogeG1sbnM6aHRtbD0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+DQogPERvY3VtZW50UHJvcGVydGllcyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIj4NCiAgPEF1dGhvcj5NaWNyb3NvZnQ8L0F1dGhvcj4NCiAgPExhc3RBdXRob3I+TWljcm9zb2Z0PC9MYXN0QXV0aG9yPg0KICA8Q3JlYXRlZD4yMDE0LTA3LTEwVDE3OjExOjM3WjwvQ3JlYXRlZD4NCiAgPExhc3RTYXZlZD4yMDE0LTA3LTEwVDE3OjIxOjEzWjwvTGFzdFNhdmVkPg0KICA8Q29tcGFueT5NaWNyb3NvZnQ8L0NvbXBhbnk+DQogIDxWZXJzaW9uPjE1LjAwPC9WZXJzaW9uPg0KIDwvRG9jdW1lbnRQcm9wZXJ0aWVzPg0KIDxPZmZpY2VEb2N1bWVudFNldHRpbmdzIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiPg0KICA8QWxsb3dQTkcvPg0KIDwvT2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4NCiA8RXhjZWxXb3JrYm9vayB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6ZXhjZWwiPg0KICA8V2luZG93SGVpZ2h0PjEzMzkwPC9XaW5kb3dIZWlnaHQ+DQogIDxXaW5kb3dXaWR0aD4yNDkyMDwvV2luZG93V2lkdGg+DQogIDxXaW5kb3dUb3BYPjA8L1dpbmRvd1RvcFg+DQogIDxXaW5kb3dUb3BZPjA8L1dpbmRvd1RvcFk+DQogIDxQcm90ZWN0U3RydWN0dXJlPkZhbHNlPC9Qcm90ZWN0U3RydWN0dXJlPg0KICA8UHJvdGVjdFdpbmRvd3M+RmFsc2U8L1Byb3RlY3RXaW5kb3dzPg0KIDwvRXhjZWxXb3JrYm9vaz4NCiA8U3R5bGVzPg0KICA8U3R5bGUgc3M6SUQ9IkRlZmF1bHQiIHNzOk5hbWU9Ik5vcm1hbCI+DQogICA8QWxpZ25tZW50IHNzOlZlcnRpY2FsPSJCb3R0b20iLz4NCiAgIDxCb3JkZXJzLz4NCiAgIDxGb250IHNzOkZvbnROYW1lPSJDYWxpYnJpIiB4OkNoYXJTZXQ9IjE2MSIgeDpGYW1pbHk9IlN3aXNzIiBzczpTaXplPSIxMSINCiAgICBzczpDb2xvcj0iIzAwMDAwMCIvPg0KICAgPEludGVyaW9yLz4NCiAgIDxOdW1iZXJGb3JtYXQvPg0KICAgPFByb3RlY3Rpb24vPg0KICA8L1N0eWxlPg0KIDwvU3R5bGVzPg0KIDxOYW1lcz4NCiAgPE5hbWVkUmFuZ2Ugc3M6TmFtZT0iU2hlZXRKUyIgc3M6UmVmZXJzVG89Ij1TaGVldDEhUjFDMSIvPg0KIDwvTmFtZXM+DQogPFdvcmtzaGVldCBzczpOYW1lPSJTaGVldDEiPg0KICA8TmFtZXM+DQogICA8TmFtZWRSYW5nZSBzczpOYW1lPSJTSEVFVGpzIiBzczpSZWZlcnNUbz0iPVNoZWV0MSFSMkMxIi8+DQogIDwvTmFtZXM+DQogIDxUYWJsZSBzczpFeHBhbmRlZENvbHVtbkNvdW50PSIyIiBzczpFeHBhbmRlZFJvd0NvdW50PSIyIiB4OkZ1bGxDb2x1bW5zPSIxIg0KICAgeDpGdWxsUm93cz0iMSIgc3M6RGVmYXVsdFJvd0hlaWdodD0iMTQuNSI+DQogICA8Um93Pg0KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij0xKzEiPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MjwvRGF0YT48TmFtZWRDZWxsDQogICAgICBzczpOYW1lPSJTaGVldEpTIi8+PC9DZWxsPg0KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MTwvRGF0YT48L0NlbGw+DQogICA8L1Jvdz4NCiAgIDxSb3c+DQogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj4zPC9EYXRhPjxOYW1lZENlbGwgc3M6TmFtZT0iU0hFRVRqcyIvPjwvQ2VsbD4NCiAgICA8Q2VsbCBzczpGb3JtdWxhPSI9U0hFRVRqcyAtIFNoZWV0MSFTSEVFVGpzIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjA8L0RhdGE+PC9DZWxsPg0KICAgPC9Sb3c+DQogIDwvVGFibGU+DQogIDxXb3Jrc2hlZXRPcHRpb25zIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+DQogICA8UGFnZVNldHVwPg0KICAgIDxIZWFkZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxGb290ZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxQYWdlTWFyZ2lucyB4OkJvdHRvbT0iMC43NSIgeDpMZWZ0PSIwLjciIHg6UmlnaHQ9IjAuNyIgeDpUb3A9IjAuNzUiLz4NCiAgIDwvUGFnZVNldHVwPg0KICAgPFNlbGVjdGVkLz4NCiAgIDxQYW5lcz4NCiAgICA8UGFuZT4NCiAgICAgPE51bWJlcj4zPC9OdW1iZXI+DQogICAgIDxBY3RpdmVSb3c+MTwvQWN0aXZlUm93Pg0KICAgICA8QWN0aXZlQ29sPjE8L0FjdGl2ZUNvbD4NCiAgICA8L1BhbmU+DQogICA8L1BhbmVzPg0KICAgPFByb3RlY3RPYmplY3RzPkZhbHNlPC9Qcm90ZWN0T2JqZWN0cz4NCiAgIDxQcm90ZWN0U2NlbmFyaW9zPkZhbHNlPC9Qcm90ZWN0U2NlbmFyaW9zPg0KICA8L1dvcmtzaGVldE9wdGlvbnM+DQogPC9Xb3Jrc2hlZXQ+DQo8L1dvcmtib29rPg0K'; fs['./test_files/defined_names_simple.xlsx'] = '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'; fs['./test_files/defined_names_simple.xlsb'] = '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'; +fs['./test_files/defined_names_simple.slk'] = 'SUQ7UFdYTDtOO0UNClA7UEdlbmVyYWwNClA7UDANClA7UDAuMDANClA7UCMsIyMwDQpQO1AjLCMjMC4wMA0KUDtQIywjIzBfKTs7XCgjLCMjMFwpDQpQO1AjLCMjMF8pOztbUmVkXVwoIywjIzBcKQ0KUDtQIywjIzAuMDBfKTs7XCgjLCMjMC4wMFwpDQpQO1AjLCMjMC4wMF8pOztbUmVkXVwoIywjIzAuMDBcKQ0KUDtQIiQiIywjIzBfKTs7XCgiJCIjLCMjMFwpDQpQO1AiJCIjLCMjMF8pOztbUmVkXVwoIiQiIywjIzBcKQ0KUDtQIiQiIywjIzAuMDBfKTs7XCgiJCIjLCMjMC4wMFwpDQpQO1AiJCIjLCMjMC4wMF8pOztbUmVkXVwoIiQiIywjIzAuMDBcKQ0KUDtQMCUNClA7UDAuMDAlDQpQO1AwLjAwRSswMA0KUDtQIyMwLjBFKzANClA7UCNcID8vPw0KUDtQI1wgPz8vPz8NClA7UG0vZC95eQ0KUDtQZFwtbW1tXC15eQ0KUDtQZFwtbW1tDQpQO1BtbW1cLXl5DQpQO1BoOm1tXCBBTS9QTQ0KUDtQaDptbTpzc1wgQU0vUE0NClA7UGg6bW0NClA7UGg6bW06c3MNClA7UG0vZC95eVwgaDptbQ0KUDtQbW06c3MNClA7UG1tOnNzLjANClA7UEANClA7UFtoXTptbTpzcw0KUDtQXygiJCIqICMsIyMwXyk7O18oIiQiKiBcKCMsIyMwXCk7O18oIiQiKiAiLSJfKTs7XyhAXykNClA7UF8oKiAjLCMjMF8pOztfKCogXCgjLCMjMFwpOztfKCogIi0iXyk7O18oQF8pDQpQO1BfKCIkIiogIywjIzAuMDBfKTs7XygiJCIqIFwoIywjIzAuMDBcKTs7XygiJCIqICItIj8/Xyk7O18oQF8pDQpQO1BfKCogIywjIzAuMDBfKTs7XygqIFwoIywjIzAuMDBcKTs7XygqICItIj8/Xyk7O18oQF8pDQpQO0ZDYWxpYnJpO00yMjA7TDkNClA7RkNhbGlicmk7TTI0MDtMOQ0KUDtGQ2FsaWJyaTtNMjQwO0w5DQpQO0ZDYWxpYnJpO00yNDA7TDkNClA7RUNhbGlicmk7TTIyMDtMOQ0KUDtFQ2FsaWJyaSBMaWdodDtNMzYwO0w1NQ0KUDtFQ2FsaWJyaTtNMzAwO1NCO0w1NQ0KUDtFQ2FsaWJyaTtNMjYwO1NCO0w1NQ0KUDtFQ2FsaWJyaTtNMjIwO1NCO0w1NQ0KUDtFQ2FsaWJyaTtNMjQwO0wxOA0KUDtFQ2FsaWJyaTtNMjQwO0wyMQ0KUDtFQ2FsaWJyaTtNMjQwO0w2MQ0KUDtFQ2FsaWJyaTtNMjQwO0w2Mw0KUDtFQ2FsaWJyaTtNMjQwO1NCO0w2NA0KUDtFQ2FsaWJyaTtNMjQwO1NCO0w1Mw0KUDtFQ2FsaWJyaTtNMjQwO0w1Mw0KUDtFQ2FsaWJyaTtNMjQwO1NCO0wxMA0KUDtFQ2FsaWJyaTtNMjQwO0wxMQ0KUDtFQ2FsaWJyaTtNMjQwO1NJO0wyNA0KUDtFQ2FsaWJyaTtNMjQwO1NCO0w5DQpQO0VDYWxpYnJpO00yNDA7TDEwDQpQO0VDYWxpYnJpO00yMjA7TDkNCkY7UDA7REcwRzEwO00zMDANCkI7WTI7WDI7RDAgMCAxIDENCk87TDtEO1YwO0s0NztHMTAwIDAuMDAxDQpGO1cxIDE2Mzg0IDgNCk5OO05TSEVFVGpzO0VSMkMxDQpDO1kxO1gxO0syO0UxKzENCkM7WDI7SzENCkM7WTI7WDE7SzMNCkM7WDI7SzA7RVNIRUVUanMgLSBkZWZpbmVkX25hbWVzX3NpbXBsZSFTSEVFVGpzDQpFDQo='; fs['./test_files/defined_names_unicode.xls'] = '0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAANQAAAAAAAAAAEAAA/v///wAAAAD+////AAAAADQAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8JCBAAAAYFABQpzQfBAAIABggAAOEAAgCwBMEAAgAAAOIAAABcAHAAFQAATWljcm9zb2Z0IE9mZmljZSBVc2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIAAgCwBGEBAgAAAMABAAA9AQoAAQACAAMABAAFAJwAAgARABkAAgAAABIAAgAAABMAAgAAAK8BAgAAALwBAgAAAD0AEgD/f7gB2CcwFjgAAAAAAAEAWAJAAAIAAACNAAIAAAAiAAIAAAAOAAIAAQC3AQIAAADaAAIAAAAxAB4A3AAAAAgAkAEAAAACgAAHAUMAYQBsAGkAYgByAGkAMQAeAPAAAAAIAJABAAAAAgAABwFDAGEAbABpAGIAcgBpADEAHgDwAAAACACQAQAAAAIAAAcBQwBhAGwAaQBiAHIAaQAxAB4A8AAAAAgA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AAAAAAAAAAAAAwAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAAAQAAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAAFAAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAABgAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAAAcAAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAAIAAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAACQAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAAAoAAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAALAAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAADAAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAAA0AAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAAOAAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAADwAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAACsAAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAAsAAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAALQAAAAIADQAUAAMAAAABAAAAMDBcKTtfKCoOAAUAAn0ILQB9CAAAAAAAAAAAAAAAAC4AAAACAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAJ9CC0AfQgAAAAAAAAAAAAAAAA6AAAAAgANABQAAwAAAAEAAAAwMFwpO18oKg4ABQACfQgtAH0IAAAAAAAAAAAAAAAAOwAAAAIADQAU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XCk7XygqDgAFAAIEABQAAwAAAAUAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABEAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwBlZgUAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABcAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwDMTAUAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAAB0AAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwAyMwUAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACQAAAADAA0AFAADAAAAAAAAADAwXCk7XygqDgAFAAIEABQAAwAAAAYAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABIAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwBlZgYAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABgAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwDMTAYAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAAB4AAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwAyMwYAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACUAAAADAA0AFAADAAAAAAAAADAwXCk7XygqDgAFAAIEABQAAwAAAAcAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABMAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwBlZgcAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABkAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwDMTAcAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAAB8AAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwAyMwcAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACYAAAADAA0AFAADAAAAAAAAADAwXCk7XygqDgAFAAIEABQAAwAAAAgAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABQAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwBlZggAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABoAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwDMTAgAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACAAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwAyMwgAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACcAAAADAA0AFAADAAAAAAAAADAwXCk7XygqDgAFAAIEABQAAwAAAAkAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABUAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwBlZgkAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAABsAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwDMTAkAAAA7XyhAXykgIH0IQQB9CAAAAAAAAAAAAAAAACEAAAADAA0AFAADAAAAAQAAADAwXCk7XygqDgAFAAIEABQAAwAyMwkAAAA7XyhAXykgIJMCEgAQAA0AADIwJSAtIEFjY2VudDGSCE0AkggAAAAAAAAAAAAAAQQe/w0AMgAwACUAIAAtACAAQQBjAGMAZQBuAHQAMQAAAAMAAQAMAAcEZWbZ4fL/BQAMAAcBAAAAAAD/JQAFAAKTAhIAEQANAAAyMCUgLSBBY2NlbnQykghNAJIIAAAAAAAAAAAAAAEEIv8NADIAMAAlACAALQAgAEEAYwBjAGUAbgB0ADIAAAADAAEADAAHBWVm/OTW/wUADAAHAQAAAAAA/yUABQACkwISABIADQAAMjAlIC0gQWNjZW50M5IITQCSCAAAAAAAAAAAAAABBCb/DQAyADAAJQAgAC0AIABBAGMAYwBlAG4AdAAzAAAAAwABAAwABwZlZu3t7f8FAAwABwEAAAAAAP8lAAUAApMCEgATAA0AADIwJSAtIEFjY2VudDSSCE0AkggAAAAAAAAAAAAAAQQq/w0AMgAwACUAIAAtACAAQQBjAGMAZQBuAHQANAAAAAMAAQAMAAcHZWb/8sz/BQAMAAcBAAAAAAD/JQAFAAKTAhIAFAANAAAyMCUgLSBBY2NlbnQ1kghNAJIIAAAAAAAAAAAAAAEELv8NADIAMAAlACAALQAgAEEAYwBjAGUAbgB0ADUAAAADAAEADAAHCGVm3ev3/wUADAAHAQAAAAAA/yUABQACkwISABUADQAAMjAlIC0gQWNjZW50NpIITQCSCAAAAAAAAAAAAAABBDL/DQAyADAAJQAgAC0AIABBAGMAYwBlAG4AdAA2AAAAAwABAAwABwllZuLv2v8FAAwABwEAAAAAAP8lAAUAApMCEgAWAA0AADQwJSAtIEFjY2VudDGSCE0AkggAAAAAAAAAAAAAAQQf/w0ANAAwACUAIAAtACAAQQBjAGMAZQBuAHQAMQAAAAMAAQAMAAcEzEy0xuf/BQAMAAcBAAAAAAD/JQAFAAKTAhIAFwANAAA0MCUgLSBBY2NlbnQykghNAJIIAAAAAAAAAAAAAAEEI/8NADQAMAAlACAALQAgAEEAYwBjAGUAbgB0ADIAAAADAAEADAAHBcxM+Mut/wUADAAHAQAAAAAA/yUABQACkwISABgADQAANDAlIC0gQWNjZW50M5IITQCSCAAAAAAAAAAAAAABBCf/DQA0ADAAJQAgAC0AIABBAGMAYwBlAG4AdAAzAAAAAwABAAwABwbMTNvb2/8FAAwABwEAAAAAAP8lAAUAApMCEgAZAA0AADQwJSAtIEFjY2VudDSSCE0AkggAAAAAAAAAAAAAAQQr/w0ANAAwACUAIAAtACAAQQBjAGMAZQBuAHQANAAAAAMAAQAMAAcHzEz/5pn/BQAMAAcBAAAAAAD/JQAFAAKTAhIAGgANAAA0MCUgLSBBY2NlbnQ1kghNAJIIAAAAAAAAAAAAAAEEL/8NADQAMAAlACAALQAgAEEAYwBjAGUAbgB0ADUAAAADAAEADAAHCMxMvdfu/wUADAAHAQAAAAAA/yUABQACkwISABsADQAANDAlIC0gQWNjZW50NpIITQCSCAAAAAAAAAAAAAABBDP/DQA0ADAAJQAgAC0AIABBAGMAYwBlAG4AdAA2AAAAAwABAAwABwnMTMbgtP8FAAwABwEAAAAAAP8lAAUAApMCEgAcAA0AADYwJSAtIEFjY2VudDGSCE0AkggAAAAAAAAAAAAAAQQg/w0ANgAwACUAIAAtACAAQQBjAGMAZQBuAHQAMQAAAAMAAQAMAAcEMjOOqdv/BQAMAAcBAAAAAAD/JQAFAAKTAhIAHQANAAA2MCUgLSBBY2NlbnQykghNAJIIAAAAAAAAAAAAAAEEJP8NADYAMAAlACAALQAgAEEAYwBjAGUAbgB0ADIAAAADAAEADAAHBTIz9LCE/wUADAAHAQAAAAAA/yUABQACkwISAB4ADQAANjAlIC0gQWNjZW50M5IITQCSCAAAAAAAAAAAAAABBCj/DQA2ADAAJQAgAC0AIABBAGMAYwBlAG4AdAAzAAAAAwABAAwABwYyM8nJyf8FAAwABwEAAAAAAP8lAAUAApMCEgAfAA0AADYwJSAtIEFjY2VudDSSCE0AkggAAAAAAAAAAAAAAQQs/w0ANgAwACUAIAAtACAAQQBjAGMAZQBuAHQANAAAAAMAAQAMAAcHMjP/2Wb/BQAMAAcBAAAAAAD/JQAFAAKTAhIAIAANAAA2MCUgLSBBY2NlbnQ1kghNAJIIAAAAAAAAAAAAAAEEMP8NADYAMAAlACAALQAgAEEAYwBjAGUAbgB0ADUAAAADAAEADAAHCDIzm8Lm/wUADAAHAQAAAAAA/yUABQACkwISACEADQAANjAlIC0gQWNjZW50NpIITQCSCAAAAAAAAAAAAAABBDT/DQA2ADAAJQAgAC0AIABBAGMAYwBlAG4AdAA2AAAAAwABAAwABwkyM6nQjv8FAAwABwEAAAAAAP8lAAUAApMCDAAiAAcAAEFjY2VudDGSCEEAkggAAAAAAAAAAAAAAQQd/wcAQQBjAGMAZQBuAHQAMQAAAAMAAQAMAAcEAABEcsT/BQAMAAcAAAD/////JQAFAAKTAgwAIwAHAABBY2NlbnQykghBAJIIAAAAAAAAAAAAAAEEIf8HAEEAYwBjAGUAbgB0ADIAAAADAAEADAAHBQAA7X0x/wUADAAHAAAA/////yUABQACkwIMACQABwAAQWNjZW50M5IIQQCSCAAAAAAAAAAAAAABBCX/BwBBAGMAYwBlAG4AdAAzAAAAAwABAAwABwYAAKWlpf8FAAwABwAAAP////8lAAUAApMCDAAlAAcAAEFjY2VudDSSCEEAkggAAAAAAAAAAAAAAQQp/wcAQQBjAGMAZQBuAHQANAAAAAMAAQAMAAcHAAD/wAD/BQAMAAcAAAD/////JQAFAAKTAgwAJgAHAABBY2NlbnQ1kghBAJIIAAAAAAAAAAAAAAEELf8HAEEAYwBjAGUAbgB0ADUAAAADAAEADAAHCAAAW5vV/wUADAAHAAAA/////yUABQACkwIMACcABwAAQWNjZW50NpIIQQCSCAAAAAAAAAAAAAABBDH/BwBBAGMAYwBlAG4AdAA2AAAAAwABAAwABwkAAHCtR/8FAAwABwAAAP////8lAAUAApMCCAAoAAMAAEJhZJIIOQCSCAAAAAAAAAAAAAABARv/AwBCAGEAZAAAAAMAAQAMAAX/AAD/x87/BQAMAAX/AACcAAb/JQAFAAKTAhAAKQALAABDYWxjdWxhdGlvbpIIgQCSCAAAAAAAAAAAAAABAhb/CwBDAGEAbABjAHUAbABhAHQAaQBvAG4AAAAHAAEADAAF/wAA8vLy/wUADAAF/wAA+n0A/yUABQACBgAOAAX/AAB/f3//AQAHAA4ABf8AAH9/f/8BAAgADgAF/wAAf39//wEACQAOAAX/AAB/f3//AQCTAg8AKgAKAABDaGVjayBDZWxskgh/AJIIAAAAAAAAAAAAAAECF/8KAEMAaABlAGMAawAgAEMAZQBsAGwAAAAHAAEADAAF/wAApaWl/wUADAAHAAAA/////yUABQACBgAOAAX/AAA/Pz//BgAHAA4ABf8AAD8/P/8GAAgADgAF/wAAPz8//wYACQAOAAX/AAA/Pz//BgCTAgQAK4AD/5IIIACSCAAAAAAAAAAAAAABBQP/BQBDAG8AbQBtAGEAAAAAAJMCBAAsgAb/kggoAJIIAAAAAAAAAAAAAAEFBv8JAEMAbwBtAG0AYQAgAFsAMABdAAAAAACTAgQALYAE/5IIJgCSCAAAAAAAAAAAAAABBQT/CABDAHUAcgByAGUAbgBjAHkAAAAAAJMCBAAugAf/kgguAJIIAAAAAAAAAAAAAAEFB/8MAEMAdQByAHIAZQBuAGMAeQAgAFsAMABdAAAAAACTAhUALwAQAABFeHBsYW5hdG9yeSBUZXh0kghHAJIIAAAAAAAAAAAAAAECNf8QAEUAeABwAGwAYQBuAGEAdABvAHIAeQAgAFQAZQB4AHQAAAACAAUADAAF/wAAf39//yUABQACkwIJADAABAAAR29vZJIIOwCSCAAAAAAAAAAAAAABARr/BABHAG8AbwBkAAAAAwABAAwABf8AAMbvzv8FAAwABf8AAABhAP8lAAUAApMCDgAxAAkAAEhlYWRpbmcgMZIIRwCSCAAAAAAAAAAAAAABAxD/CQBIAGUAYQBkAGkAbgBnACAAMQAAAAMABQAMAAcDAABEVGr/JQAFAAIHAA4ABwQAAERyxP8FAJMCDgAyAAkAAEhlYWRpbmcgMpIIRwCSCAAAAAAAAAAAAAABAxH/CQBIAGUAYQBkAGkAbgBnACAAMgAAAAMABQAMAAcDAABEVGr/JQAFAAIHAA4ABwT/P6K44f8FAJMCDgAzAAkAAEhlYWRpbmcgM5IIRwCSCAAAAAAAAAAAAAABAxL/CQBIAGUAYQBkAGkAbgBnACAAMwAAAAMABQAMAAcDAABEVGr/JQAFAAIHAA4ABwQyM46p2/8CAJMCDgA0AAkAAEhlYWRpbmcgNJIIOQCSCAAAAAAAAAAAAAABAxP/CQBIAGUAYQBkAGkAbgBnACAANAAAAAIABQAMAAcDAABEVGr/JQAFAAKTAgoANQAFAABJbnB1dJIIdQCSCAAAAAAAAAAAAAABAhT/BQBJAG4AcAB1AHQAAAAHAAEADAAF/wAA/8yZ/wUADAAF/wAAPz92/yUABQACBgAOAAX/AAB/f3//AQAHAA4ABf8AAH9/f/8BAAgADgAF/wAAf39//wEACQAOAAX/AAB/f3//AQCTAhAANgALAABMaW5rZWQgQ2VsbJIISwCSCAAAAAAAAAAAAAABAhj/CwBMAGkAbgBrAGUAZAAgAEMAZQBsAGwAAAADAAUADAAF/wAA+n0A/yUABQACBwAOAAX/AAD/gAH/BgCTAgwANwAHAABOZXV0cmFskghBAJIIAAAAAAAAAAAAAAEBHP8HAE4AZQB1AHQAcgBhAGwAAAADAAEADAAF/wAA/+uc/wUADAAF/wAAnFcA/yUABQACkwIEAACAAP+SCDMAkggAAAAAAAAAAAAAAQEA/wYATgBvAHIAbQBhAGwAAAACAAUADAAHAQAAAAAA/yUABQACkwIJADgABAAATm90ZZIIYgCSCAAAAAAAAAAAAAABAgr/BABOAG8AdABlAAAABQABAAwABf8AAP//zP8GAA4ABf8AALKysv8BAAcADgAF/wAAsrKy/wEACAAOAAX/AACysrL/AQAJAA4ABf8AALKysv8BAJMCCwA5AAYAAE91dHB1dJIIdwCSCAAAAAAAAAAAAAABAhX/BgBPAHUAdABwAHUAdAAAAAcAAQAMAAX/AADy8vL/BQAMAAX/AAA/Pz//JQAFAAIGAA4ABf8AAD8/P/8BAAcADgAF/wAAPz8//wEACAAOAAX/AAA/Pz//AQAJAA4ABf8AAD8/P/8BAJMCBAA6gAX/kggkAJIIAAAAAAAAAAAAAAEFBf8HAFAAZQByAGMAZQBuAHQAAAAAAJMCCgA7AAUAAFRpdGxlkggxAJIIAAAAAAAAAAAAAAEDD/8FAFQAaQB0AGwAZQAAAAIABQAMAAcDAABEVGr/JQAFAAGTAgoAPAAFAABUb3RhbJIITQCSCAAAAAAAAAAAAAABAxn/BQBUAG8AdABhAGwAAAAEAAUADAAHAQAAAAAA/yUABQACBgAOAAcEAABEcsT/AQAHAA4ABwQAAERyxP8GAJMCEQA9AAwAAFdhcm5pbmcgVGV4dJIIPwCSCAAAAAAAAAAAAAABAgv/DABXAGEAcgBuAGkAbgBnACAAVABlAHgAdAAAAAIABQAMAAX/AAD/AAD/JQAFAAKOCFgAjggAAAAAAAAAAAAAkAAAABEAEQBUAGEAYgBsAGUAUwB0AHkAbABlAE0AZQBkAGkAdQBtADIAUABpAHYAbwB0AFMAdAB5AGwAZQBMAGkAZwBoAHQAMQA2AGABAgAAAIUAGgAkPQAAAAASAE5vQ29udGFpbnNKYXBhbmVzZYUAEgD6PgAAAAAFAeVlLGeeim4wfzCFABgA0EAAAAAACAFzAGgAZQBlAHQA5WUsZ56KhQAYAKZCAAAAAAgB5WUsZ56KcwBoAGUAZQB0AIUAIgB8RAAAAAANAXMAaABlAGUAdADlZSxnnopzAGgAZQBlAHQAmggYAJoIAAAAAAAAAAAAAAEAAAAAAAAAAQAAAKMIEACjCAAAAAAAAAAAAAAAAAAAjAAEAAEAAQCuAQQABQABBBcAIAAFAAAAAgACAAAABAAEAAAAAQABAAAAAAAAAAAAAwADABgAJAAAAAAHBwAAAAAAAAAAAAFuAGEAbQBlAOVlLGeeijoAAAAAAAAYACwAAAAACwcAAAAAAAAAAAABbgBhAG0AZQDlZSxnnopuAGEAbQBlADoBAAEAAQAYACwAAAAAFgcAAAAAAAAAAAAATm9Db250YWluc0phcGFuZXNlTmFtZToCAAAAAAAYACYAAAAACAcAAAAAAAAAAAABcwBoAGUAZQB0AOVlLGeeijoAAAAAAAAYABwAAAAAAwcAAAAAAAAAAAAB5WUsZ56KOgMAAAAAABgAJAAAAAAHBwAAAAAAAAAAAAHlZSxnnopuAGEAbQBlADoEAAEACADBAQgAwQEAABOcAgD8AEwABQAAAAIAAAALAAQQAAAATmFtZWREZWZpbmUBAAwABQA1AAAAAAAAAAAACwAEEAAAAE5hbWVkRGVmaW5lAQAMAAUANQAAAAAAAAAAAP8ACgAIAH8vAAAMAAAAYwgWAGMIAAAAAAAAAAAAABYAAAAAAAAAAgCWCAkNlggAAAAAAAAAAAAADYwCAFBLAwQUAAYACAAAACEA6d4Pv/8AAAAcAgAAEwAAAFtDb250ZW50X1R5cGVzXS54bWyskctOwzAQRfdI/IPlLUqcskAIJemCx47HonzAyJkkFsnYsqdV+/dM0lRCqCAWbCzZM/eeO+NyvR8HtcOYnKdKr/JCKyTrG0ddpd83T9mtVomBGhg8YaUPmPS6vrwoN4eASYmaUqV75nBnTLI9jpByH5Ck0vo4Ass1diaA/YAOzXVR3BjriZE448lD1+UDtrAdWD3u5fmYJOKQtLo/Nk6sSkMIg7PAktTsqPlGyRZCLsq5J/UupCuJoc1ZwlT5GbDoXmU10TWo3iDyC4wSw7AMiV/PZyAZLea/O56J7NvWWWy83Y6yjnw2XsxOwf8UYPU/6BPTzH9bfwIAAP//AwBQSwMEFAAGAAgAAAAhAKXWp+fAAAAANgEAAAsAAABfcmVscy8ucmVsc4SPz2rDMAyH74W9g9F9UdLDGCV2L6WQQy+jfQDhKH9oIhvbG+vbT8cGCrsIhKTv96k9/q6L+eGU5yAWmqoGw+JDP8to4XY9v3+CyYWkpyUIW3hwhqN727VfvFDRozzNMRulSLYwlRIPiNlPvFKuQmTRyRDSSkXbNGIkf6eRcV/XH5ieGeA2TNP1FlLXN2Cuj6jJ/7PDMMyeT8F/ryzlRQRuN5RMaeRioagv41O9kKhlqtQe0LW4+db9AQAA//8DAFBLAwQUAAYACAAAACEAa3mWFoMAAACKAAAAHAAAAHRoZW1lL3RoZW1lL3RoZW1lTWFuYWdlci54bWwMzE0KwyAQQOF9oXeQ2TdjuyhFYrLLrrv2AEOcGkHHoNKf29fl44M3zt8U1ZtLDVksnAcNimXNLoi38Hwspxuo2kgcxSxs4ccV5ul4GMm0jRPfSchzUX0j1ZCFrbXdINa1K9Uh7yzdXrkkaj2LR1fo0/cp4kXrKyYKAjj9AQAA//8DAFBLAwQUAAYACAAAACEAwRcQvoEHAADGIAAAFgAAAHRoZW1lL3RoZW1lL3RoZW1lMS54bWzsWc2LG0cWvy/kf2j6LuurWx+DZaNPT+wZ21iyQ441UkldnuouUVWasTCGYJ/2srCQDbkEcsshLBtIICaX/DEGmyT7R+yr6lZ3lVSyZwazZJcZwdBd+r1Xv3rv1XtPVTdvP4upd4a5ICzp+NUbFd/DyZTNSLLo+I8no1LL94REyQxRluCOv8bCv33rk7/cRAcywjH2QD4RB6jjR1IuD8plMYVhJG6wJU7guznjMZLwyhflGUfnoDem5Vql0ijHiCS+l6AY1D6Yz8kUexOl0r+1UT6k8JpIoQamlI+VamxJaOzstKoQYi36lHtniHZ8mGfGzif4mfQ9ioSELzp+Rf/55Vs3y+ggE6Jyj6whN9J/mVwmMDut6Tn54iSfNAjCoNHN9WsAlbu4YXPYGDZyfRqAplNYacrF1tms9YMMa4DSR4fuQXNQr1p4Q399h3M3VB8Lr0Gp/mAHPxr1wYoWXoNSfLiDD3vt3sDWr0EpvrGDb1a6g6Bp6degiJLkdAddCRv1/ma1OWTO6KET3g6DUbOWKS9QEA15dKkp5iyR+2ItRk8ZHwFAASmSJPHkeonnaApR3EeUnHDiHZFFBIG3RAkTMFypVUaVOvxXn0A/aY+iA4wMacULmIidIcXHE1NOlrLj3wWtvgF5+/r1m5c/vXn585tXr968/Fc2t1ZlyR2iZGHK/fHd3//9zRfe7z9++8eX/0in3sYLE//un39998uv71MPKy5M8farH9799MPbr//22/dfOrR3OTox4RMSY+Hdx+feIxbDAh388Qm/nMQkQsSSQBHodqgeysgC3l8j6sL1sG3CJxyyjAt4Z/XU4jqO+EoSx8z3otgCHjNGe4w7DXBPzWVYeLJKFu7J+crEPULozDV3HyWWg4erJaRX4lLZj7BF8yFFiUQLnGDpqe/YKcaO1X1OiGXXYzLlTLC59D4nXg8Rp0km5MQKpELokMTgl7WLILjass3xE6/HqGvVA3xmI2FbIOogP8HUMuMdtJIodqmcoJiaBj9CMnKRHK/51MQNhQRPLzBl3nCGhXDJPOCwXsPp9yDDuN1+TNexjeSSnLp0HiHGTOSAnfYjFC9d2DFJIhP7qTiFEEXeQyZd8GNm7xD1Dn5AyV53PyHYcveHE8FjSK4mpSJA1Dcr7vDlHcys+B2v6RxhV5bp8tjKrl1OnNHRWy2s0D7CmKJzNMPYe/ypg0GPLS2bF6TvRpBVDrErsO4iO1bVe4IFtEmqr9lNkUdEWCE7xgu2h8/xeivxrFESI75P833wumnzIVQ5Zyp9QKenJvA+gfYP4sVplAcCdBjBvVfrwwhZtUu9C3e8rrnlv4vsMdiXTy0aF9iXIIMvLQOJ3ZR5r20miFoTFAEzQdBguNItiFjuL0RUXdViK6fc3N60hRugMbL6nZgkH2x+ttqe8L/T9jh2w8dpeNyKrZR1yVZnX0o53Gpw9uH+B9uaAVolDzFUkt2cdd3VXHc1/v99V7NvL1/3Mvs6jutexoce47qXyU5WPk4vU7Qv0Nmo0470lEef+cR7j3zmhNKxXFN8JPSpj4BfNLMRDCo5fdyJ8yPAZQSPqszBBBZuwZGW8TiTnxEZjSO0hKOhqq+ULESmeiG8JRNwYqSHnboVnq7iYzZLTzqrVXWqmVZWgWQxXgnzcTilkim60SxO73L1mu1Cn7JuCCjZy5AwJrNJ1B0kmptBZSR9pgtGc5DQK/soLNoOFi2lfuOqHRZALfcK/OT24Id6xw8DEAEhOIyD9nym/JS6euNd7cyP6el9xrQiAFrsTQQUnm4rrnuXp1aXhtoFPG2RMMLNJqEtoxs8EcEP4Sw61ehFaFzW1+3CpRY9ZQo9H4RWQaPZeh+Lq/oa5LZzA03MTEET77zjN+ohhMwULTv+HE6M4TFeQuwI9asL0QVcu0wlTzf8VTLLkgs5QCJKDa6TTpoNYiIx9yiJO75afu4GmugcorlVa5AQ/rTk2pBW/mzkwOm2k/F8jqfSdLsxoiydvkKGT3OF81stfnWwkmQrcPc4mp17J3TFHyEIsbBZVQacEQEXB9XUmjMCN2F5Iivib6swZWnXvIrSMZSOI7qMUFZRzGSewnUqz+not9wGxlu2ZjCoYZKsEJ4sVIE1jWpV07xqpBz2Vt0PCynLGUmzqJlWVlFV053FrBk2ZWDLllcr8garjYkhp5kVPk3d2ym3vcl1W31CXiXA4Ln9HFX3AgXBoFZMZlFTjHfTsMrZ2ahdOzYL/AC1ixQJI+s3Nmq37JbXCOd0MHilyg9y21ELQ/NNX6ktra/MzVttdvIUkscAutwVlUK7Es52OYKGaKx7kjRtwBZ5JrOtAU/eipOO/7wSdoN+LeyXKq1wWArqQaXUCrv1UjcM69VhWK0MerUXUFhkFFfD9Lp+BFcYdJ1d2uvxnYv7eHNLc2PK4jLTF/NlTVxf3Fdr+y/uPQJJ53mjNmrX271GqV3vjkrBoNcqtfuNXmnQ6DcHo0E/bLVHL3zvTIODbr0fNIatUqPa75eCRkXRb7VLzaBW6wbNbmsYdF9kbQysPE0fmS3AvJrXrf8AAAD//wMAUEsDBBQABgAIAAAAIQAN0ZCftgAAABsBAAAnAAAAdGhlbWUvdGhlbWUvX3JlbHMvdGhlbWVNYW5hZ2VyLnhtbC5yZWxzhI9NCsIwFIT3gncIb2/TuhCRJt2I0K3UA4TkNQ02PyRR7O0NriwILodhvplpu5edyRNjMt4xaKoaCDrplXGawW247I5AUhZOidk7ZLBggo5vN+0VZ5FLKE0mJFIoLjGYcg4nSpOc0IpU+YCuOKOPVuQio6ZByLvQSPd1faDxmwF8xSS9YhB71QAZllCa/7P9OBqJZy8fFl3+UUFz2YUFKKLGzOAjm6pMBMpburrE3wAAAP//AwBQSwECLQAUAAYACAAAACEA6d4Pv/8AAAAcAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQCl1qfnwAAAADYBAAALAAAAAAAAAAAAAAAAADABAABfcmVscy8ucmVsc1BLAQItABQABgAIAAAAIQBreZYWgwAAAIoAAAAcAAAAAAAAAAAAAAAAABkCAAB0aGVtZS90aGVtZS90aGVtZU1hbmFnZXIueG1sUEsBAi0AFAAGAAgAAAAhAMEXEL6BBwAAxiAAABYAAAAAAAAAAAAAAAAA1gIAAHRoZW1lL3RoZW1lL3RoZW1lMS54bWxQSwECLQAUAAYACAAAACEADdGQn7YAAAAbAQAAJwAAAAAAAAAAAAAAAACLCgAAdGhlbWUvdGhlbWUvX3JlbHMvdGhlbWVNYW5hZ2VyLnhtbC5yZWxzUEsFBgAAAAAFAAUAXQEAAIYLAAAAAJsIEACbCAAAAAAAAAAAAAABAAAAjAgQAIwIAAAAAAAAAAAAAAAAAAAKAAAACQgQAAAGEAAUKc0HwQACAAYIAAALAhQAAAAAAAAAAAABAAAAOj4AAIQ+AAANAAIAAQAMAAIAZAAPAAIAAQARAAIAAAAQAAgA/Knx0k1iUD9fAAIAAQAqAAIAAAArAAIAAACCAAIAAQCAAAgAAAAAAAAAAAAlAgQAAAAsAYEAAgDBBBQAAAAVAAAAgwACAAAAhAACAAAAJgAIAGZmZmZmZuY/JwAIAGZmZmZmZuY/KAAIAAAAAAAAAOg/KQAIAAAAAAAAAOg/oQAiAAMALAEBAAEAAQAEAA2MAgAzMzMzMzPTPzMzMzMzM9M/D7+cCCYAnAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwzAAAAAAAAAABVAAIACgB9AAwAAAAAAdUIDwAAAAAAAAIOAAAAAAABAAAAAAABAAAACAIQAAAAAAABACwBAAAAAAABDwD9AAoAAAAAAA8AAAAAANcABgAiAAAAAAA+AhIAtgYAAAAAQAAAAAAAAAAAAAAAiwgQAIsIAAAAAAAAAAAAAAAAAgAdAA8AAwAAAAAAAAEAAAAAAAAAmQACANUI7wAGAAUANQAAAGcIFwBnCAAAAAAAAAAAAAACAAH/////A0QAAAoAAAAJCBAAAAYQABQpzQfBAAIABggAAAsCFAAAAAAAAAAAAAEAAAAQQAAAWkAAAA0AAgABAAwAAgBkAA8AAgABABEAAgAAABAACAD8qfHSTWJQP18AAgABACoAAgAAACsAAgAAAIIAAgABAIAACAAAAAAAAAAAACUCBAAAACwBgQACAMEEFAAAABUAAACDAAIAAACEAAIAAAAmAAgAZmZmZmZm5j8nAAgAZmZmZmZm5j8oAAgAAAAAAAAA6D8pAAgAAAAAAAAA6D+hACIAAwAsAQEAAQABAAQAAgAB/zMzMzMzM9M/MzMzMzMz0z8AAJwIJgCcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDMAAAAAAAAAAFUAAgAKAH0ADAAAAAAB1QgPAAAAAAAAAg4AAAAAAAEAAAAAAAEAAAAIAhAAAAAAAAEALAEAAAAAAAEPAP0ACgAAAAAADwABAAAA1wAGACIAAAAAAD4CEgC2AAAAAABAAAAAAAAAAAAAAACLCBAAiwgAAAAAAAAAAAAAAAACAB0ADwADAQAAAAAAAQABAAEAAACZAAIA1QjvAAYABQA1AAAAZwgXAGcIAAAAAAAAAAAAAAIAAf////8DRAAACgAAAAkIEAAABhAAFCnNB8EAAgAGCAAACwIUAAAAAAAAAAAAAQAAAOZBAAAwQgAADQACAAEADAACAGQADwACAAEAEQACAAAAEAAIAPyp8dJNYlA/XwACAAEAKgACAAAAKwACAAAAggACAAEAgAAIAAAAAAAAAAAAJQIEAAAALAGBAAIAwQQUAAAAFQAAAIMAAgAAAIQAAgAAACYACABmZmZmZmbmPycACABmZmZmZmbmPygACAAAAAAAAADoPykACAAAAAAAAADoP6EAIgADACwBAQABAAEABAACAAH/MzMzMzMz0z8zMzMzMzPTPwAAnAgmAJwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8MwAAAAAAAAAAVQACAAoAfQAMAAAAAAHVCA8AAAAAAAACDgAAAAAAAQAAAAAAAQAAAAgCEAAAAAAAAQAsAQAAAAAAAQ8A/QAKAAAAAAAPAAEAAADXAAYAIgAAAAAAPgISALYAAAAAAEAAAAAAAAAAAAAAAIsIEACLCAAAAAAAAAAAAAAAAAIAHQAPAAMAAAAAAAABAAAAAAAAAJkAAgDVCO8ABgAFADUAAABnCBcAZwgAAAAAAAAAAAAAAgAB/////wNEAAAKAAAACQgQAAAGEAAUKc0HwQACAAYIAAALAhQAAAAAAAAAAAABAAAAvEMAAAZEAAANAAIAAQAMAAIAZAAPAAIAAQARAAIAAAAQAAgA/Knx0k1iUD9fAAIAAQAqAAIAAAArAAIAAACCAAIAAQCAAAgAAAAAAAAAAAAlAgQAAAAsAYEAAgDBBBQAAAAVAAAAgwACAAAAhAACAAAAJgAIAGZmZmZmZuY/JwAIAGZmZmZmZuY/KAAIAAAAAAAAAOg/KQAIAAAAAAAAAOg/oQAiAAMALAEBAAEAAQAEAAIAAf8zMzMzMzPTPzMzMzMzM9M/AACcCCYAnAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwzAAAAAAAAAABVAAIACgB9AAwAAAAAAdUIDwAAAAAAAAIOAAAAAAABAAAAAAABAAAACAIQAAAAAAABACwBAAAAAAABDwD9AAoAAAAAAA8AAQAAANcABgAiAAAAAAA+AhIAtgABAAAAQAAAAAAAAAAAAAAAiwgQAIsIAAAAAAAAAAAAAAAAAgAdAA8AAxMACAAAAAEAEwATAAgImQACANUI7wAGAAUANQAAAGcIFwBnCAAAAAAAAAAAAAACAAH/////A0QAAAoAAAAJCBAAAAYQABQpzQfBAAIABggAAAsCFAAAAAAAAAAAAAEAAACSRQAA3EUAAA0AAgABAAwAAgBkAA8AAgABABEAAgAAABAACAD8qfHSTWJQP18AAgABACoAAgAAACsAAgAAAIIAAgABAIAACAAAAAAAAAAAACUCBAAAACwBgQACAMEEFAAAABUAAACDAAIAAACEAAIAAAAmAAgAZmZmZmZm5j8nAAgAZmZmZmZm5j8oAAgAAAAAAAAA6D8pAAgAAAAAAAAA6D+hACIAAwAsAQEAAQABAAQAAgAB/zMzMzMzM9M/MzMzMzMz0z8AAJwIJgCcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDMAAAAAAAAAAFUAAgAKAH0ADAAAAAAB1QgPAAAAAAAAAg4AAAAAAAEAAAAAAAEAAAAIAhAAAAAAAAEALAEAAAAAAAEPAP0ACgAAAAAADwABAAAA1wAGACIAAAAAAD4CEgC2AAAAAABAAAAAAAAAAAAAAACLCBAAiwgAAAAAAAAAAAAAAAACAB0ADwADAQABAAAAAQABAAEAAQGZAAIA1QjvAAYABQA1AAAAZwgXAGcIAAAAAAAAAAAAAAIAAf////8DRAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAACg0BAAAAAAAAAAAAAAAAAAAAAAABAAAA4IWf8vlPaBCrkQgAKyez2TAAAAC8AAAABwAAAAEAAABAAAAABAAAAEgAAAAIAAAAWAAAABIAAAB4AAAADAAAAJwAAAANAAAAqAAAABMAAAC0AAAAAgAAABAnAAAeAAAACAAAAG9zYW5hLW0AHgAAABgAAABNaWNyb3NvZnQgT2ZmaWNlIFVzZXIAAAAeAAAAHAAAAE1pY3Jvc29mdCBNYWNpbnRvc2ggRXhjZWwAAABAAAAAgInp5a051AFAAAAAAE6MZdg51AEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAA/v///yUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAD+////LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAP7////9/////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQH//////////wIAAAAgCAIAAAAAAMAAAAAAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAAAABXAG8AcgBrAGIAbwBvAGsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSRgAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIBAQAAAAMAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAQAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAADgAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAABAAAAAAAAA='; fs['./test_files/defined_names_unicode.xml'] = 'PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8P21zby1hcHBsaWNhdGlvbiBwcm9naWQ9IkV4Y2VsLlNoZWV0Ij8+DQo8V29ya2Jvb2sgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNwcmVhZHNoZWV0Ig0KIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSINCiB4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCINCiB4bWxuczpzcz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6c3ByZWFkc2hlZXQiDQogeG1sbnM6aHRtbD0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+DQogPERvY3VtZW50UHJvcGVydGllcyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIj4NCiAgPEF1dGhvcj5vc2FuYS1tPC9BdXRob3I+DQogIDxMYXN0QXV0aG9yPk1pY3Jvc29mdCBPZmZpY2UgVXNlcjwvTGFzdEF1dGhvcj4NCiAgPENyZWF0ZWQ+MjAxOC0wOC0yMlQwMDoyMDoxNVo8L0NyZWF0ZWQ+DQogIDxMYXN0U2F2ZWQ+MjAxOC0wOC0yMlQwMDoyNzowNVo8L0xhc3RTYXZlZD4NCiAgPFZlcnNpb24+MTYuMDA8L1ZlcnNpb24+DQogPC9Eb2N1bWVudFByb3BlcnRpZXM+DQogPE9mZmljZURvY3VtZW50U2V0dGluZ3MgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSI+DQogIDxBbGxvd1BORy8+DQogPC9PZmZpY2VEb2N1bWVudFNldHRpbmdzPg0KIDxFeGNlbFdvcmtib29rIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+DQogIDxXaW5kb3dIZWlnaHQ+NTY4MDwvV2luZG93SGVpZ2h0Pg0KICA8V2luZG93V2lkdGg+MTAyMDA8L1dpbmRvd1dpZHRoPg0KICA8V2luZG93VG9wWD4zMjc2NzwvV2luZG93VG9wWD4NCiAgPFdpbmRvd1RvcFk+NDQwPC9XaW5kb3dUb3BZPg0KICA8UHJvdGVjdFN0cnVjdHVyZT5GYWxzZTwvUHJvdGVjdFN0cnVjdHVyZT4NCiAgPFByb3RlY3RXaW5kb3dzPkZhbHNlPC9Qcm90ZWN0V2luZG93cz4NCiA8L0V4Y2VsV29ya2Jvb2s+DQogPFN0eWxlcz4NCiAgPFN0eWxlIHNzOklEPSJEZWZhdWx0IiBzczpOYW1lPSJOb3JtYWwiPg0KICAgPEFsaWdubWVudCBzczpWZXJ0aWNhbD0iQ2VudGVyIi8+DQogICA8Qm9yZGVycy8+DQogICA8Rm9udCBzczpGb250TmFtZT0iQ2FsaWJyaSIgeDpDaGFyU2V0PSIxMjgiIHg6RmFtaWx5PSJTd2lzcyIgc3M6U2l6ZT0iMTEiDQogICAgc3M6Q29sb3I9IiMwMDAwMDAiLz4NCiAgIDxJbnRlcmlvci8+DQogICA8TnVtYmVyRm9ybWF0Lz4NCiAgIDxQcm90ZWN0aW9uLz4NCiAgPC9TdHlsZT4NCiA8L1N0eWxlcz4NCiA8TmFtZXM+DQogIDxOYW1lZFJhbmdlIHNzOk5hbWU9Im5hbWXml6XmnKzoqp4iIHNzOlJlZmVyc1RvPSI9c2hlZXTml6XmnKzoqp4hUjFDMSIvPg0KICA8TmFtZWRSYW5nZSBzczpOYW1lPSJuYW1l5pel5pys6KqebmFtZSIgc3M6UmVmZXJzVG89Ij1zaGVldOaXpeacrOiqnnNoZWV0IVIyQzIiLz4NCiAgPE5hbWVkUmFuZ2Ugc3M6TmFtZT0iTm9Db250YWluc0phcGFuZXNlTmFtZSIgc3M6UmVmZXJzVG89Ij3ml6XmnKzoqp7jga7jgb8hUjFDMSIvPg0KICA8TmFtZWRSYW5nZSBzczpOYW1lPSJzaGVldOaXpeacrOiqniIgc3M6UmVmZXJzVG89Ij1zaGVldOaXpeacrOiqniFSMUMxIi8+DQogIDxOYW1lZFJhbmdlIHNzOk5hbWU9IuaXpeacrOiqniIgc3M6UmVmZXJzVG89Ij1Ob0NvbnRhaW5zSmFwYW5lc2UhUjFDMSIvPg0KICA8TmFtZWRSYW5nZSBzczpOYW1lPSLml6XmnKzoqp5uYW1lIiBzczpSZWZlcnNUbz0iPeaXpeacrOiqnnNoZWV0IVIyQzkiLz4NCiA8L05hbWVzPg0KIDxXb3Jrc2hlZXQgc3M6TmFtZT0iTm9Db250YWluc0phcGFuZXNlIj4NCiAgPFRhYmxlIHNzOkV4cGFuZGVkQ29sdW1uQ291bnQ9IjEiIHNzOkV4cGFuZGVkUm93Q291bnQ9IjEiIHg6RnVsbENvbHVtbnM9IjEiDQogICB4OkZ1bGxSb3dzPSIxIiBzczpEZWZhdWx0Q29sdW1uV2lkdGg9IjUzIiBzczpEZWZhdWx0Um93SGVpZ2h0PSIxNSI+DQogICA8Um93Pg0KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9IlN0cmluZyI+TmFtZWREZWZpbmU8L0RhdGE+PE5hbWVkQ2VsbCBzczpOYW1lPSLml6XmnKzoqp4iLz48L0NlbGw+DQogICA8L1Jvdz4NCiAgPC9UYWJsZT4NCiAgPFdvcmtzaGVldE9wdGlvbnMgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIj4NCiAgIDxQYWdlU2V0dXA+DQogICAgPEhlYWRlciB4Ok1hcmdpbj0iMC4zIi8+DQogICAgPEZvb3RlciB4Ok1hcmdpbj0iMC4zIi8+DQogICAgPFBhZ2VNYXJnaW5zIHg6Qm90dG9tPSIwLjc1IiB4OkxlZnQ9IjAuNyIgeDpSaWdodD0iMC43IiB4OlRvcD0iMC43NSIvPg0KICAgPC9QYWdlU2V0dXA+DQogICA8U2VsZWN0ZWQvPg0KICAgPFByb3RlY3RPYmplY3RzPkZhbHNlPC9Qcm90ZWN0T2JqZWN0cz4NCiAgIDxQcm90ZWN0U2NlbmFyaW9zPkZhbHNlPC9Qcm90ZWN0U2NlbmFyaW9zPg0KICA8L1dvcmtzaGVldE9wdGlvbnM+DQogPC9Xb3Jrc2hlZXQ+DQogPFdvcmtzaGVldCBzczpOYW1lPSLml6XmnKzoqp7jga7jgb8iPg0KICA8VGFibGUgc3M6RXhwYW5kZWRDb2x1bW5Db3VudD0iMSIgc3M6RXhwYW5kZWRSb3dDb3VudD0iMSIgeDpGdWxsQ29sdW1ucz0iMSINCiAgIHg6RnVsbFJvd3M9IjEiIHNzOkRlZmF1bHRDb2x1bW5XaWR0aD0iNTMiIHNzOkRlZmF1bHRSb3dIZWlnaHQ9IjE1Ij4NCiAgIDxSb3c+DQogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iU3RyaW5nIj5OYW1lZERlZmluZTwvRGF0YT48TmFtZWRDZWxsDQogICAgICBzczpOYW1lPSJOb0NvbnRhaW5zSmFwYW5lc2VOYW1lIi8+PC9DZWxsPg0KICAgPC9Sb3c+DQogIDwvVGFibGU+DQogIDxXb3Jrc2hlZXRPcHRpb25zIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+DQogICA8UGFnZVNldHVwPg0KICAgIDxIZWFkZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxGb290ZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxQYWdlTWFyZ2lucyB4OkJvdHRvbT0iMC43NSIgeDpMZWZ0PSIwLjciIHg6UmlnaHQ9IjAuNyIgeDpUb3A9IjAuNzUiLz4NCiAgIDwvUGFnZVNldHVwPg0KICAgPFBhbmVzPg0KICAgIDxQYW5lPg0KICAgICA8TnVtYmVyPjM8L051bWJlcj4NCiAgICAgPEFjdGl2ZVJvdz4xPC9BY3RpdmVSb3c+DQogICAgPC9QYW5lPg0KICAgPC9QYW5lcz4NCiAgIDxQcm90ZWN0T2JqZWN0cz5GYWxzZTwvUHJvdGVjdE9iamVjdHM+DQogICA8UHJvdGVjdFNjZW5hcmlvcz5GYWxzZTwvUHJvdGVjdFNjZW5hcmlvcz4NCiAgPC9Xb3Jrc2hlZXRPcHRpb25zPg0KIDwvV29ya3NoZWV0Pg0KIDxXb3Jrc2hlZXQgc3M6TmFtZT0ic2hlZXTml6XmnKzoqp4iPg0KICA8VGFibGUgc3M6RXhwYW5kZWRDb2x1bW5Db3VudD0iMSIgc3M6RXhwYW5kZWRSb3dDb3VudD0iMSIgeDpGdWxsQ29sdW1ucz0iMSINCiAgIHg6RnVsbFJvd3M9IjEiIHNzOkRlZmF1bHRDb2x1bW5XaWR0aD0iNTMiIHNzOkRlZmF1bHRSb3dIZWlnaHQ9IjE1Ij4NCiAgIDxSb3c+DQogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iU3RyaW5nIj5OYW1lZERlZmluZTwvRGF0YT48TmFtZWRDZWxsIHNzOk5hbWU9InNoZWV05pel5pys6KqeIi8+PE5hbWVkQ2VsbA0KICAgICAgc3M6TmFtZT0ibmFtZeaXpeacrOiqniIvPjwvQ2VsbD4NCiAgIDwvUm93Pg0KICA8L1RhYmxlPg0KICA8V29ya3NoZWV0T3B0aW9ucyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6ZXhjZWwiPg0KICAgPFBhZ2VTZXR1cD4NCiAgICA8SGVhZGVyIHg6TWFyZ2luPSIwLjMiLz4NCiAgICA8Rm9vdGVyIHg6TWFyZ2luPSIwLjMiLz4NCiAgICA8UGFnZU1hcmdpbnMgeDpCb3R0b209IjAuNzUiIHg6TGVmdD0iMC43IiB4OlJpZ2h0PSIwLjciIHg6VG9wPSIwLjc1Ii8+DQogICA8L1BhZ2VTZXR1cD4NCiAgIDxQcm90ZWN0T2JqZWN0cz5GYWxzZTwvUHJvdGVjdE9iamVjdHM+DQogICA8UHJvdGVjdFNjZW5hcmlvcz5GYWxzZTwvUHJvdGVjdFNjZW5hcmlvcz4NCiAgPC9Xb3Jrc2hlZXRPcHRpb25zPg0KIDwvV29ya3NoZWV0Pg0KIDxXb3Jrc2hlZXQgc3M6TmFtZT0i5pel5pys6Kqec2hlZXQiPg0KICA8VGFibGUgc3M6RXhwYW5kZWRDb2x1bW5Db3VudD0iMSIgc3M6RXhwYW5kZWRSb3dDb3VudD0iMSIgeDpGdWxsQ29sdW1ucz0iMSINCiAgIHg6RnVsbFJvd3M9IjEiIHNzOkRlZmF1bHRDb2x1bW5XaWR0aD0iNTMiIHNzOkRlZmF1bHRSb3dIZWlnaHQ9IjE1Ij4NCiAgIDxSb3c+DQogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iU3RyaW5nIj5OYW1lZERlZmluZTwvRGF0YT48L0NlbGw+DQogICA8L1Jvdz4NCiAgPC9UYWJsZT4NCiAgPFdvcmtzaGVldE9wdGlvbnMgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIj4NCiAgIDxQYWdlU2V0dXA+DQogICAgPEhlYWRlciB4Ok1hcmdpbj0iMC4zIi8+DQogICAgPEZvb3RlciB4Ok1hcmdpbj0iMC4zIi8+DQogICAgPFBhZ2VNYXJnaW5zIHg6Qm90dG9tPSIwLjc1IiB4OkxlZnQ9IjAuNyIgeDpSaWdodD0iMC43IiB4OlRvcD0iMC43NSIvPg0KICAgPC9QYWdlU2V0dXA+DQogICA8VG9wUm93VmlzaWJsZT4xPC9Ub3BSb3dWaXNpYmxlPg0KICAgPFBhbmVzPg0KICAgIDxQYW5lPg0KICAgICA8TnVtYmVyPjM8L051bWJlcj4NCiAgICAgPEFjdGl2ZVJvdz4xOTwvQWN0aXZlUm93Pg0KICAgICA8QWN0aXZlQ29sPjg8L0FjdGl2ZUNvbD4NCiAgICA8L1BhbmU+DQogICA8L1BhbmVzPg0KICAgPFByb3RlY3RPYmplY3RzPkZhbHNlPC9Qcm90ZWN0T2JqZWN0cz4NCiAgIDxQcm90ZWN0U2NlbmFyaW9zPkZhbHNlPC9Qcm90ZWN0U2NlbmFyaW9zPg0KICA8L1dvcmtzaGVldE9wdGlvbnM+DQogPC9Xb3Jrc2hlZXQ+DQogPFdvcmtzaGVldCBzczpOYW1lPSJzaGVldOaXpeacrOiqnnNoZWV0Ij4NCiAgPFRhYmxlIHNzOkV4cGFuZGVkQ29sdW1uQ291bnQ9IjEiIHNzOkV4cGFuZGVkUm93Q291bnQ9IjEiIHg6RnVsbENvbHVtbnM9IjEiDQogICB4OkZ1bGxSb3dzPSIxIiBzczpEZWZhdWx0Q29sdW1uV2lkdGg9IjUzIiBzczpEZWZhdWx0Um93SGVpZ2h0PSIxNSI+DQogICA8Um93Pg0KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9IlN0cmluZyI+TmFtZWREZWZpbmU8L0RhdGE+PC9DZWxsPg0KICAgPC9Sb3c+DQogIDwvVGFibGU+DQogIDxXb3Jrc2hlZXRPcHRpb25zIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+DQogICA8UGFnZVNldHVwPg0KICAgIDxIZWFkZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxGb290ZXIgeDpNYXJnaW49IjAuMyIvPg0KICAgIDxQYWdlTWFyZ2lucyB4OkJvdHRvbT0iMC43NSIgeDpMZWZ0PSIwLjciIHg6UmlnaHQ9IjAuNyIgeDpUb3A9IjAuNzUiLz4NCiAgIDwvUGFnZVNldHVwPg0KICAgPFBhbmVzPg0KICAgIDxQYW5lPg0KICAgICA8TnVtYmVyPjM8L051bWJlcj4NCiAgICAgPEFjdGl2ZVJvdz4xPC9BY3RpdmVSb3c+DQogICAgIDxBY3RpdmVDb2w+MTwvQWN0aXZlQ29sPg0KICAgIDwvUGFuZT4NCiAgIDwvUGFuZXM+DQogICA8UHJvdGVjdE9iamVjdHM+RmFsc2U8L1Byb3RlY3RPYmplY3RzPg0KICAgPFByb3RlY3RTY2VuYXJpb3M+RmFsc2U8L1Byb3RlY3RTY2VuYXJpb3M+DQogIDwvV29ya3NoZWV0T3B0aW9ucz4NCiA8L1dvcmtzaGVldD4NCjwvV29ya2Jvb2s+DQo='; fs['./test_files/defined_names_unicode.ods'] = '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'; diff --git a/tests/fs_.js b/tests/fs_.js index 517ed35..1c61c26 100644 --- a/tests/fs_.js +++ b/tests/fs_.js @@ -19,6 +19,7 @@ function require(s) { switch(s) { case 'fs': return fs; case 'assert': return assert; + case './dist/xlsx.zahl': return XLSX_ZAHL_PAYLOAD; case './': return XLSX; } if(s.slice(-5) == ".json") return JSON.parse(fs.readFileSync(s)); diff --git a/tests/index.html b/tests/index.html index e1cc899..9abedd9 100644 --- a/tests/index.html +++ b/tests/index.html @@ -1,7 +1,7 @@ - JS-XLSX Core Test Runner + SheetJS Core Test Runner @@ -13,17 +13,7 @@ -

JS-XLSX Browser-based Parsing Tests

- - - - - - - - - -
File FormatsLibrary SourceInteractive Demo"xlsx" on npmnode CI status
Tests compiled from test_files repo and are located at /test_files
+

SheetJS Browser-based File Tests