From 5f3ffc6a28b35979c6aac322150bffb18476e3a8 Mon Sep 17 00:00:00 2001 From: mauritsvanrees Date: Fri, 19 Feb 2021 17:42:21 +0100 Subject: [PATCH] [fc] Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) Commit: https://github.com/plone/plone.staticresources/commit/eca07b17032998c0476c9f47238b1693946daef7 Upgrade to latest mockup from 3.x branch with structure fixes. Files changed: A news/125.feature A src/plone/staticresources/upgrades/14.zcml A src/plone/staticresources/upgrades/profiles/14/registry.xml M package.json M src/plone/staticresources/profiles/default/metadata.xml M src/plone/staticresources/profiles/default/registry/bundles.xml M src/plone/staticresources/setuphandlers.py M src/plone/staticresources/upgrades/configure.zcml Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) Commit: https://github.com/plone/plone.staticresources/commit/bd7c1d9f5f7430e248a03ad6c5b9b1ee7929643f yarn install Files changed: M yarn.lock Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) Commit: https://github.com/plone/plone.staticresources/commit/8fbd1c231ada322a637ecec4d50f243962dae8b6 Ignore hidden .* files from components. Files changed: M src/plone/staticresources/static/.gitignore Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) Commit: https://github.com/plone/plone.staticresources/commit/742ed4813494d9712389ed4aa7cbe111fcd3014d Installed Files changed: A src/plone/staticresources/static/components/marked/Gulpfile.js A src/plone/staticresources/static/components/marked/LICENSE A src/plone/staticresources/static/components/marked/Makefile A src/plone/staticresources/static/components/marked/README.md A src/plone/staticresources/static/components/marked/bin/marked A src/plone/staticresources/static/components/marked/bower.json A src/plone/staticresources/static/components/marked/component.json A src/plone/staticresources/static/components/marked/doc/broken.md A src/plone/staticresources/static/components/marked/doc/todo.md A src/plone/staticresources/static/components/marked/index.js A src/plone/staticresources/static/components/marked/lib/marked.js A src/plone/staticresources/static/components/marked/man/marked.1 A src/plone/staticresources/static/components/marked/marked.min.js A src/plone/staticresources/static/components/marked/package.json A src/plone/staticresources/static/components/mockup/1041.bugfix A src/plone/staticresources/static/components/react/JSXTransformer.js A src/plone/staticresources/static/components/react/bower.json A src/plone/staticresources/static/components/react/react-with-addons.js A src/plone/staticresources/static/components/react/react-with-addons.min.js A src/plone/staticresources/static/components/react/react.js A src/plone/staticresources/static/components/react/react.min.js M src/plone/staticresources/static/components/mockup/CHANGES.rst M src/plone/staticresources/static/components/mockup/Makefile M src/plone/staticresources/static/components/mockup/mockup/js/config.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js M src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js M src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js M src/plone/staticresources/static/components/mockup/package.json M src/plone/staticresources/static/components/mockup/yarn.lock D src/plone/staticresources/static/components/amdefine/LICENSE D src/plone/staticresources/static/components/amdefine/README.md D src/plone/staticresources/static/components/amdefine/amdefine.js D src/plone/staticresources/static/components/amdefine/intercept.js D src/plone/staticresources/static/components/amdefine/package.json D src/plone/staticresources/static/components/ast-types/.travis.yml D src/plone/staticresources/static/components/ast-types/LICENSE D src/plone/staticresources/static/components/ast-types/README.md D src/plone/staticresources/static/components/ast-types/def/core.js D src/plone/staticresources/static/components/ast-types/def/e4x.js D src/plone/staticresources/static/components/ast-types/def/es6.js D src/plone/staticresources/static/components/ast-types/def/es7.js D src/plone/staticresources/static/components/ast-types/def/fb-harmony.js D src/plone/staticresources/static/components/ast-types/def/mozilla.js D src/plone/staticresources/static/components/ast-types/lib/equiv.js D src/plone/staticresources/static/components/ast-types/lib/node-path.js D src/plone/staticresources/static/components/ast-types/lib/path-visitor.js D src/plone/staticresources/static/components/ast-types/lib/path.js D src/plone/staticresources/static/components/ast-types/lib/scope.js D src/plone/staticresources/static/components/ast-types/lib/shared.js D src/plone/staticresources/static/components/ast-types/lib/traverse.js D src/plone/staticresources/static/components/ast-types/lib/types.js D src/plone/staticresources/static/components/ast-types/main.js D src/plone/staticresources/static/components/ast-types/package.json D src/plone/staticresources/static/components/base62/.travis.yml D src/plone/staticresources/static/components/base62/LICENSE D src/plone/staticresources/static/components/base62/Readme.md D src/plone/staticresources/static/components/base62/base62.js D src/plone/staticresources/static/components/base62/package.json D src/plone/staticresources/static/components/cls/.travis.yml D src/plone/staticresources/static/components/cls/LICENSE D src/plone/staticresources/static/components/cls/README.md D src/plone/staticresources/static/components/cls/main.js D src/plone/staticresources/static/components/cls/package.json D src/plone/staticresources/static/components/commander/Readme.md D src/plone/staticresources/static/components/commander/index.js D src/plone/staticresources/static/components/commander/package.json D src/plone/staticresources/static/components/commoner/.travis.yml D src/plone/staticresources/static/components/commoner/LICENSE D src/plone/staticresources/static/components/commoner/README.md D src/plone/staticresources/static/components/commoner/bin/commonize D src/plone/staticresources/static/components/commoner/lib/cache.js D src/plone/staticresources/static/components/commoner/lib/commoner.js D src/plone/staticresources/static/components/commoner/lib/context.js D src/plone/staticresources/static/components/commoner/lib/grep.js D src/plone/staticresources/static/components/commoner/lib/output.js D src/plone/staticresources/static/components/commoner/lib/reader.js D src/plone/staticresources/static/components/commoner/lib/relative.js D src/plone/staticresources/static/components/commoner/lib/util.js D src/plone/staticresources/static/components/commoner/lib/watcher.js D src/plone/staticresources/static/components/commoner/main.js D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/LICENSE D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/graceful-fs.js D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/polyfills.js D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/index.js D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/readme.markdown D src/plone/staticresources/static/components/commoner/package.json D src/plone/staticresources/static/components/depd/History.md D src/plone/staticresources/static/components/depd/LICENSE D src/plone/staticresources/static/components/depd/Readme.md D src/plone/staticresources/static/components/depd/index.js D src/plone/staticresources/static/components/depd/lib/compat/buffer-concat.js D src/plone/staticresources/static/components/depd/lib/compat/callsite-tostring.js D src/plone/staticresources/static/components/depd/lib/compat/index.js D src/plone/staticresources/static/components/depd/package.json D src/plone/staticresources/static/components/esprima-fb/ChangeLog D src/plone/staticresources/static/components/esprima-fb/LICENSE.BSD D src/plone/staticresources/static/components/esprima-fb/README.md D src/plone/staticresources/static/components/esprima-fb/bin/esparse.js D src/plone/staticresources/static/components/esprima-fb/bin/esvalidate.js D src/plone/staticresources/static/components/esprima-fb/component.json D src/plone/staticresources/static/components/esprima-fb/doc/index.html D src/plone/staticresources/static/components/esprima-fb/esprima.js D src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js D src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js D src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js D src/plone/staticresources/static/components/esprima-fb/index.html D src/plone/staticresources/static/components/esprima-fb/package.json D src/plone/staticresources/static/components/glob/.travis.yml D src/plone/staticresources/static/components/glob/LICENSE D src/plone/staticresources/static/components/glob/README.md D src/plone/staticresources/static/components/glob/examples/g.js D src/plone/staticresources/static/components/glob/examples/usr-local.js D src/plone/staticresources/static/components/glob/glob.js D src/plone/staticresources/static/components/glob/package.json D src/plone/staticresources/static/components/iconv-lite/.travis.yml D src/plone/staticresources/static/components/iconv-lite/LICENSE D src/plone/staticresources/static/components/iconv-lite/README.md D src/plone/staticresources/static/components/iconv-lite/encodings/big5.js D src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js D src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js D src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js D src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js D src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js D src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js D src/plone/staticresources/static/components/iconv-lite/index.js D src/plone/staticresources/static/components/iconv-lite/package.json D src/plone/staticresources/static/components/inherits/LICENSE D src/plone/staticresources/static/components/inherits/README.md D src/plone/staticresources/static/components/inherits/inherits.js D src/plone/staticresources/static/components/inherits/inherits_browser.js D src/plone/staticresources/static/components/inherits/package.json D src/plone/staticresources/static/components/install/LICENSE D src/plone/staticresources/static/components/install/README.md D src/plone/staticresources/static/components/install/docs/docco.css D src/plone/staticresources/static/components/install/docs/install.html D src/plone/staticresources/static/components/install/install.js D src/plone/staticresources/static/components/install/install.min.js D src/plone/staticresources/static/components/install/main.js D src/plone/staticresources/static/components/install/package.json D src/plone/staticresources/static/components/jstransform/.jshintrc D src/plone/staticresources/static/components/jstransform/LICENSE D src/plone/staticresources/static/components/jstransform/README.md D src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE D src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm D src/plone/staticresources/static/components/jstransform/package.json D src/plone/staticresources/static/components/jstransform/src/docblock.js D src/plone/staticresources/static/components/jstransform/src/jstransform.js D src/plone/staticresources/static/components/jstransform/src/utils.js D src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js D src/plone/staticresources/static/components/lru-cache/.travis.yml D src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS D src/plone/staticresources/static/components/lru-cache/LICENSE D src/plone/staticresources/static/components/lru-cache/README.md D src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js D src/plone/staticresources/static/components/lru-cache/package.json D src/plone/staticresources/static/components/minimatch/LICENSE D src/plone/staticresources/static/components/minimatch/README.md D src/plone/staticresources/static/components/minimatch/minimatch.js D src/plone/staticresources/static/components/minimatch/package.json D src/plone/staticresources/static/components/private/LICENSE D src/plone/staticresources/static/components/private/README.md D src/plone/staticresources/static/components/private/package.json D src/plone/staticresources/static/components/private/private.js D src/plone/staticresources/static/components/q/CONTRIBUTING.md D src/plone/staticresources/static/components/q/LICENSE D src/plone/staticresources/static/components/q/README.md D src/plone/staticresources/static/components/q/benchmark/compare-with-callbacks.js D src/plone/staticresources/static/components/q/benchmark/scenarios.js D src/plone/staticresources/static/components/q/package.json D src/plone/staticresources/static/components/q/q.js D src/plone/staticresources/static/components/q/queue.js D src/plone/staticresources/static/components/react/.editorconfig D src/plone/staticresources/static/components/react/.gitattributes D src/plone/staticresources/static/components/react/.gitignore D src/plone/staticresources/static/components/react/.jshintrc D src/plone/staticresources/static/components/react/.travis.yml D src/plone/staticresources/static/components/react/AUTHORS D src/plone/staticresources/static/components/react/CHANGELOG.md D src/plone/staticresources/static/components/react/CONTRIBUTING.md D src/plone/staticresources/static/components/react/Gruntfile.js D src/plone/staticresources/static/components/react/LICENSE D src/plone/staticresources/static/components/react/README.md D src/plone/staticresources/static/components/react/bin/jsx D src/plone/staticresources/static/components/react/bin/jsx-internal D src/plone/staticresources/static/components/react/docs/Gemfile.lock D src/plone/staticresources/static/components/react/docs/Rakefile D src/plone/staticresources/static/components/react/docs/_includes/blog_post.html D src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html D src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html D src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js D src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js D src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js D src/plone/staticresources/static/components/react/docs/_js/html-jsx.js D src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js D src/plone/staticresources/static/components/react/docs/_js/jsx-compiler.js D src/plone/staticresources/static/components/react/docs/_js/live_editor.js D src/plone/staticresources/static/components/react/docs/_layouts/default.html D src/plone/staticresources/static/components/react/docs/_layouts/docs.html D src/plone/staticresources/static/components/react/docs/_layouts/page.html D src/plone/staticresources/static/components/react/docs/_layouts/post.html D src/plone/staticresources/static/components/react/docs/_layouts/redirect.html D src/plone/staticresources/static/components/react/docs/_layouts/single.html D src/plone/staticresources/static/components/react/docs/_layouts/tips.html D src/plone/staticresources/static/components/react/docs/_plugins/header_links.rb D src/plone/staticresources/static/components/react/docs/_plugins/highlight_lines.rb D src/plone/staticresources/static/components/react/docs/blog/all.html D src/plone/staticresources/static/components/react/docs/blog/index.html D src/plone/staticresources/static/components/react/docs/css/codemirror.css D src/plone/staticresources/static/components/react/docs/css/main.css D src/plone/staticresources/static/components/react/docs/css/syntax.css D src/plone/staticresources/static/components/react/docs/docs/index.html D src/plone/staticresources/static/components/react/docs/docs/reference.html D src/plone/staticresources/static/components/react/docs/extractCode.js D src/plone/staticresources/static/components/react/docs/favicon.ico D src/plone/staticresources/static/components/react/docs/feed.xml D src/plone/staticresources/static/components/react/docs/img/blog/animal-sounds.jpg D src/plone/staticresources/static/components/react/docs/img/blog/chatapp.png D src/plone/staticresources/static/components/react/docs/img/blog/dog-tutorial.png D src/plone/staticresources/static/components/react/docs/img/blog/genesis_skeleton.png D src/plone/staticresources/static/components/react/docs/img/blog/guess_filter.jpg D src/plone/staticresources/static/components/react/docs/img/blog/jsx-compiler.png D src/plone/staticresources/static/components/react/docs/img/blog/khan-academy-editor.png D src/plone/staticresources/static/components/react/docs/img/blog/landoflisp.png D src/plone/staticresources/static/components/react/docs/img/blog/lights-out.png D src/plone/staticresources/static/components/react/docs/img/blog/makona-editor.png D src/plone/staticresources/static/components/react/docs/img/blog/markdown_refactor.png D src/plone/staticresources/static/components/react/docs/img/blog/monkeys.gif D src/plone/staticresources/static/components/react/docs/img/blog/ngreact.png D src/plone/staticresources/static/components/react/docs/img/blog/om-backbone.png D src/plone/staticresources/static/components/react/docs/img/blog/propeller-logo.png D src/plone/staticresources/static/components/react/docs/img/blog/quiztime.png D src/plone/staticresources/static/components/react/docs/img/blog/react-dev-tools.jpg D src/plone/staticresources/static/components/react/docs/img/blog/react-diff-tree.png D src/plone/staticresources/static/components/react/docs/img/blog/react-hackathon.jpg D src/plone/staticresources/static/components/react/docs/img/blog/react-page.png D src/plone/staticresources/static/components/react/docs/img/blog/react-php.png D src/plone/staticresources/static/components/react/docs/img/blog/react-svg-fbp.png D src/plone/staticresources/static/components/react/docs/img/blog/reactive-bookmarklet.png D src/plone/staticresources/static/components/react/docs/img/blog/resistance-calculator.png D src/plone/staticresources/static/components/react/docs/img/blog/snake.png D src/plone/staticresources/static/components/react/docs/img/blog/steve_reverse.gif D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-components.png D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-mock.png D src/plone/staticresources/static/components/react/docs/img/blog/todomvc.png D src/plone/staticresources/static/components/react/docs/img/blog/turboreact.png D src/plone/staticresources/static/components/react/docs/img/blog/tutsplus.png D src/plone/staticresources/static/components/react/docs/img/blog/unite.png D src/plone/staticresources/static/components/react/docs/img/blog/wolfenstein_react.png D src/plone/staticresources/static/components/react/docs/img/blog/xoxo2013.png D src/plone/staticresources/static/components/react/docs/img/blog/xreact.png D src/plone/staticresources/static/components/react/docs/img/docs/codewinds-004.png D src/plone/staticresources/static/components/react/docs/img/docs/javascript-jabber.png D src/plone/staticresources/static/components/react/docs/img/logo_og.png D src/plone/staticresources/static/components/react/docs/img/logo_small.png D src/plone/staticresources/static/components/react/docs/img/logo_small@2x.png D src/plone/staticresources/static/components/react/docs/img/noise.png D src/plone/staticresources/static/components/react/examples/README.md D src/plone/staticresources/static/components/react/examples/ballmer-peak/ballmer_peak.png D src/plone/staticresources/static/components/react/examples/ballmer-peak/example.js D src/plone/staticresources/static/components/react/examples/ballmer-peak/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx-external/example.js D src/plone/staticresources/static/components/react/examples/basic-jsx-external/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/example.js D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx/index.html D src/plone/staticresources/static/components/react/examples/basic/index.html D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/css/example.css D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/index.html D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/js/app.js D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.css D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.js D src/plone/staticresources/static/components/react/examples/jquery-mobile/README.md D src/plone/staticresources/static/components/react/examples/jquery-mobile/index.html D src/plone/staticresources/static/components/react/examples/jquery-mobile/js/app.js D src/plone/staticresources/static/components/react/examples/shared/css/base.css D src/plone/staticresources/static/components/react/examples/shared/thirdparty/jquery.min.js D src/plone/staticresources/static/components/react/examples/transitions/index.html D src/plone/staticresources/static/components/react/examples/transitions/transition.css D src/plone/staticresources/static/components/react/grunt/config/browserify.js D src/plone/staticresources/static/components/react/grunt/config/compare_size.js D src/plone/staticresources/static/components/react/grunt/config/complexity.js D src/plone/staticresources/static/components/react/grunt/config/compress.js D src/plone/staticresources/static/components/react/grunt/config/copy.js D src/plone/staticresources/static/components/react/grunt/config/jshint.js D src/plone/staticresources/static/components/react/grunt/config/jsx.js D src/plone/staticresources/static/components/react/grunt/config/npm.js D src/plone/staticresources/static/components/react/grunt/config/populist.js D src/plone/staticresources/static/components/react/grunt/config/server.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-all.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-jasmine.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-perf.js D src/plone/staticresources/static/components/react/grunt/tasks/browserify.js D src/plone/staticresources/static/components/react/grunt/tasks/coverage-parse.js D src/plone/staticresources/static/components/react/grunt/tasks/download-previous-version.js D src/plone/staticresources/static/components/react/grunt/tasks/jsx.js D src/plone/staticresources/static/components/react/grunt/tasks/npm-react-tools.js D src/plone/staticresources/static/components/react/grunt/tasks/npm-react.js D src/plone/staticresources/static/components/react/grunt/tasks/npm.js D src/plone/staticresources/static/components/react/grunt/tasks/populist.js D src/plone/staticresources/static/components/react/grunt/tasks/release.js D src/plone/staticresources/static/components/react/grunt/tasks/sauce-tunnel.js D src/plone/staticresources/static/components/react/grunt/tasks/version-check.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-all.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-jasmine.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-perf.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-phantomjs.js D src/plone/staticresources/static/components/react/lib/react/source.rb D src/plone/staticresources/static/components/react/main.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/.gitignore D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/README.md D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/package.json D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/run.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/react.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/xjs.js D src/plone/staticresources/static/components/react/npm-react/README.md D src/plone/staticresources/static/components/react/npm-react/addons.js D src/plone/staticresources/static/components/react/npm-react/package.json D src/plone/staticresources/static/components/react/npm-react/react.js D src/plone/staticresources/static/components/react/npm-shrinkwrap.json D src/plone/staticresources/static/components/react/package.json D src/plone/staticresources/static/components/react/perf/index.html D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerApp.react.js D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerContext.react.js D src/plone/staticresources/static/components/react/perf/lib/perf-test-runner.browser.js D src/plone/staticresources/static/components/react/perf/lib/todolist.browser.js D src/plone/staticresources/static/components/react/perf/lib/todolist.html D src/plone/staticresources/static/components/react/perf/runner.html D src/plone/staticresources/static/components/react/react-source.gemspec D src/plone/staticresources/static/components/react/scripts/authors D src/plone/staticresources/static/components/react/src/.jshintrc D src/plone/staticresources/static/components/react/src/addons/ReactComponentWithPureRenderMixin.js D src/plone/staticresources/static/components/react/src/addons/ReactRAFBatchingStrategy.js D src/plone/staticresources/static/components/react/src/addons/link/LinkedStateMixin.js D src/plone/staticresources/static/components/react/src/addons/link/ReactLink.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroup.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroupChild.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionChildMapping.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionEvents.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionGroup.js D src/plone/staticresources/static/components/react/src/addons/update.js D src/plone/staticresources/static/components/react/src/browser/ClientReactRootIndex.js D src/plone/staticresources/static/components/react/src/browser/ReactDOM.js D src/plone/staticresources/static/components/react/src/browser/ReactEventEmitter.js D src/plone/staticresources/static/components/react/src/browser/ReactPutListenerQueue.js D src/plone/staticresources/static/components/react/src/browser/ReactReconcileTransaction.js D src/plone/staticresources/static/components/react/src/browser/ReactTextComponent.js D src/plone/staticresources/static/components/react/src/browser/ReactWithAddons.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/AnalyticsEventPluginFactory.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ChangeEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/CompositionEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/DefaultEventPluginOrder.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/EnterLeaveEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/MobileSafariClickEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ResponderEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SelectEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SimpleEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/TapEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/server/ReactMarkupChecksum.js D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRendering.js D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRenderingTransaction.js D src/plone/staticresources/static/components/react/src/browser/server/ServerReactRootIndex.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticClipboardEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticCompositionEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticDragEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticFocusEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticKeyboardEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticMouseEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticTouchEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticUIEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticWheelEvent.js D src/plone/staticresources/static/components/react/src/browser/ui/React.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactBrowserComponentMixin.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactComponentBrowserEnvironment.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMComponent.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMIDOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMSelection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDefaultInjection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactEventTopLevelCallback.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactInjection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactInputSelection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactMount.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSProperty.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSPropertyOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMChildrenOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMProperty.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMPropertyOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/Danger.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DefaultDOMPropertyConfig.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/ViewportMetrics.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/AutoFocusMixin.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/LinkedValueUtils.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMButton.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMForm.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMImg.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMInput.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMOption.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMSelect.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMTextarea.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/createFullPageComponent.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/dangerousStyleValue.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/filterAttributes.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventKey.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventTarget.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getNodeForCharacterOffset.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getTextContentAccessor.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/isEventSupported.js D src/plone/staticresources/static/components/react/src/browser/ui/getReactRootElementInContainer.js D src/plone/staticresources/static/components/react/src/core/ReactComponent.js D src/plone/staticresources/static/components/react/src/core/ReactCompositeComponent.js D src/plone/staticresources/static/components/react/src/core/ReactContext.js D src/plone/staticresources/static/components/react/src/core/ReactCurrentOwner.js D src/plone/staticresources/static/components/react/src/core/ReactDefaultBatchingStrategy.js D src/plone/staticresources/static/components/react/src/core/ReactDoNotBindDeprecated.js D src/plone/staticresources/static/components/react/src/core/ReactEventEmitterMixin.js D src/plone/staticresources/static/components/react/src/core/ReactInstanceHandles.js D src/plone/staticresources/static/components/react/src/core/ReactMountReady.js D src/plone/staticresources/static/components/react/src/core/ReactMultiChild.js D src/plone/staticresources/static/components/react/src/core/ReactMultiChildUpdateTypes.js D src/plone/staticresources/static/components/react/src/core/ReactOwner.js D src/plone/staticresources/static/components/react/src/core/ReactPropTransferer.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocationNames.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocations.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypes.js D src/plone/staticresources/static/components/react/src/core/ReactRootIndex.js D src/plone/staticresources/static/components/react/src/core/ReactStateSetters.js D src/plone/staticresources/static/components/react/src/core/ReactUpdates.js D src/plone/staticresources/static/components/react/src/core/instantiateReactComponent.js D src/plone/staticresources/static/components/react/src/core/shouldUpdateReactComponent.js D src/plone/staticresources/static/components/react/src/event/EventConstants.js D src/plone/staticresources/static/components/react/src/event/EventPluginHub.js D src/plone/staticresources/static/components/react/src/event/EventPluginRegistry.js D src/plone/staticresources/static/components/react/src/event/EventPluginUtils.js D src/plone/staticresources/static/components/react/src/event/EventPropagators.js D src/plone/staticresources/static/components/react/src/package.json D src/plone/staticresources/static/components/react/src/utils/LegacyImmutableObject.js D src/plone/staticresources/static/components/react/src/utils/OrderedMap.js D src/plone/staticresources/static/components/react/src/utils/PooledClass.js D src/plone/staticresources/static/components/react/src/utils/ReactChildren.js D src/plone/staticresources/static/components/react/src/utils/Transaction.js D src/plone/staticresources/static/components/react/src/utils/accumulate.js D src/plone/staticresources/static/components/react/src/utils/adler32.js D src/plone/staticresources/static/components/react/src/utils/cloneWithProps.js D src/plone/staticresources/static/components/react/src/utils/escapeTextForBrowser.js D src/plone/staticresources/static/components/react/src/utils/flattenChildren.js D src/plone/staticresources/static/components/react/src/utils/forEachAccumulated.js D src/plone/staticresources/static/components/react/src/utils/isTextInputElement.js D src/plone/staticresources/static/components/react/src/utils/joinClasses.js D src/plone/staticresources/static/components/react/src/utils/keyMirror.js D src/plone/staticresources/static/components/react/src/utils/memoizeStringOnly.js D src/plone/staticresources/static/components/react/src/utils/mixInto.js D src/plone/staticresources/static/components/react/src/utils/objMapKeyVal.js D src/plone/staticresources/static/components/react/src/utils/onlyChild.js D src/plone/staticresources/static/components/react/src/utils/shallowEqual.js D src/plone/staticresources/static/components/react/src/utils/sliceChildren.js D src/plone/staticresources/static/components/react/src/utils/traverseAllChildren.js D src/plone/staticresources/static/components/react/src/vendor/core/CSSCore.js D src/plone/staticresources/static/components/react/src/vendor/core/ExecutionEnvironment.js D src/plone/staticresources/static/components/react/src/vendor/core/TouchEventUtils.js D src/plone/staticresources/static/components/react/src/vendor/core/copyProperties.js D src/plone/staticresources/static/components/react/src/vendor/core/createArrayFrom.js D src/plone/staticresources/static/components/react/src/vendor/core/createNodesFromMarkup.js D src/plone/staticresources/static/components/react/src/vendor/core/createObjectFrom.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/containsNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/focusNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/getActiveElement.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/getUnboundedScrollPosition.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/isNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/isTextNode.js D src/plone/staticresources/static/components/react/src/vendor/core/emptyFunction.js D src/plone/staticresources/static/components/react/src/vendor/core/emptyObject.js D src/plone/staticresources/static/components/react/src/vendor/core/getMarkupWrap.js D src/plone/staticresources/static/components/react/src/vendor/core/hyphenate.js D src/plone/staticresources/static/components/react/src/vendor/core/invariant.js D src/plone/staticresources/static/components/react/src/vendor/core/keyOf.js D src/plone/staticresources/static/components/react/src/vendor/core/merge.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeep.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeepInto.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeHelpers.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeInto.js D src/plone/staticresources/static/components/react/src/vendor/core/monitorCodeUse.js D src/plone/staticresources/static/components/react/src/vendor/core/nativeRequestAnimationFrame.js D src/plone/staticresources/static/components/react/src/vendor/core/objMap.js D src/plone/staticresources/static/components/react/src/vendor/core/requestAnimationFrame.js D src/plone/staticresources/static/components/react/src/vendor/core/toArray.js D src/plone/staticresources/static/components/react/src/vendor/core/warning.js D src/plone/staticresources/static/components/react/src/vendor/immutable/Immutable.js D src/plone/staticresources/static/components/react/src/vendor/immutable/ImmutableObject.js D src/plone/staticresources/static/components/react/src/vendor/stubs/EventListener.js D src/plone/staticresources/static/components/react/src/vendor/stubs/ReactErrorUtils.js D src/plone/staticresources/static/components/react/src/vendor/stubs/cx.js D src/plone/staticresources/static/components/react/starter/README.md D src/plone/staticresources/static/components/react/vendor/browser-transforms.js D src/plone/staticresources/static/components/react/vendor/constants.js D src/plone/staticresources/static/components/react/vendor/fbtransform/syntax.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/react.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/reactDisplayName.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/xjs.js D src/plone/staticresources/static/components/react/vendor/fbtransform/visitors.js D src/plone/staticresources/static/components/react/vendor/jasmine-jsreporter/jasmine-jsreporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/HtmlReporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/PrintReporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/ReporterView.js D src/plone/staticresources/static/components/react/vendor/jasmine/SpecView.js D src/plone/staticresources/static/components/react/vendor/jasmine/SuiteView.js D src/plone/staticresources/static/components/react/vendor/jasmine/all.js D src/plone/staticresources/static/components/react/vendor/jasmine/console.js D src/plone/staticresources/static/components/react/vendor/jasmine/diff.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-html.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-support.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.css D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.js D src/plone/staticresources/static/components/react/vendor/jasmine/phantom.js D src/plone/staticresources/static/components/recast/.travis.yml D src/plone/staticresources/static/components/recast/LICENSE D src/plone/staticresources/static/components/recast/README.md D src/plone/staticresources/static/components/recast/example/add-braces D src/plone/staticresources/static/components/recast/example/generic-identity D src/plone/staticresources/static/components/recast/example/identity D src/plone/staticresources/static/components/recast/example/to-while D src/plone/staticresources/static/components/recast/lib/comments.js D src/plone/staticresources/static/components/recast/lib/lines.js D src/plone/staticresources/static/components/recast/lib/mapping.js D src/plone/staticresources/static/components/recast/lib/options.js D src/plone/staticresources/static/components/recast/lib/parser.js D src/plone/staticresources/static/components/recast/lib/patcher.js D src/plone/staticresources/static/components/recast/lib/printer.js D src/plone/staticresources/static/components/recast/lib/types.js D src/plone/staticresources/static/components/recast/lib/util.js D src/plone/staticresources/static/components/recast/lib/visitor.js D src/plone/staticresources/static/components/recast/main.js D src/plone/staticresources/static/components/recast/node_modules/esprima-fb/esprima.js D src/plone/staticresources/static/components/recast/node_modules/source-map/LICENSE D src/plone/staticresources/static/components/recast/node_modules/source-map/Makefile.dryice.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/assert-shim.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/mini-require.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-source-map.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-utils.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-browser.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-source-map.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-utils.jsm D src/plone/staticresources/static/components/recast/package.json D src/plone/staticresources/static/components/sigmund/LICENSE D src/plone/staticresources/static/components/sigmund/README.md D src/plone/staticresources/static/components/sigmund/bench.js D src/plone/staticresources/static/components/sigmund/package.json D src/plone/staticresources/static/components/sigmund/sigmund.js Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) Commit: https://github.com/plone/plone.staticresources/commit/5b667d36e28f9692e0199a5b9b439cf0786bd3c0 compiled Files changed: M src/plone/staticresources/static/plone-editor-tools-compiled.css.map M src/plone/staticresources/static/plone-editor-tools-compiled.js M src/plone/staticresources/static/plone-editor-tools-compiled.min.js M src/plone/staticresources/static/plone-editor-tools-compiled.min.js.map Repository: plone.staticresources Branch: refs/heads/1.x Date: 2021-02-19T17:42:21+01:00 Author: Maurits van Rees (mauritsvanrees) Commit: https://github.com/plone/plone.staticresources/commit/9618e46b3c809b8f5bce7a4344308aa9ad6c9049 Merge pull request #125 from plone/thet-update-1.x Upgrade to latest mockup from 3.x branch with structure fixes. Files changed: A news/125.feature A src/plone/staticresources/static/components/marked/Gulpfile.js A src/plone/staticresources/static/components/marked/LICENSE A src/plone/staticresources/static/components/marked/Makefile A src/plone/staticresources/static/components/marked/README.md A src/plone/staticresources/static/components/marked/bin/marked A src/plone/staticresources/static/components/marked/bower.json A src/plone/staticresources/static/components/marked/component.json A src/plone/staticresources/static/components/marked/doc/broken.md A src/plone/staticresources/static/components/marked/doc/todo.md A src/plone/staticresources/static/components/marked/index.js A src/plone/staticresources/static/components/marked/lib/marked.js A src/plone/staticresources/static/components/marked/man/marked.1 A src/plone/staticresources/static/components/marked/marked.min.js A src/plone/staticresources/static/components/marked/package.json A src/plone/staticresources/static/components/mockup/1041.bugfix A src/plone/staticresources/static/components/react/JSXTransformer.js A src/plone/staticresources/static/components/react/bower.json A src/plone/staticresources/static/components/react/react-with-addons.js A src/plone/staticresources/static/components/react/react-with-addons.min.js A src/plone/staticresources/static/components/react/react.js A src/plone/staticresources/static/components/react/react.min.js A src/plone/staticresources/upgrades/14.zcml A src/plone/staticresources/upgrades/profiles/14/registry.xml M package.json M src/plone/staticresources/profiles/default/metadata.xml M src/plone/staticresources/profiles/default/registry/bundles.xml M src/plone/staticresources/setuphandlers.py M src/plone/staticresources/static/.gitignore M src/plone/staticresources/static/components/mockup/CHANGES.rst M src/plone/staticresources/static/components/mockup/Makefile M src/plone/staticresources/static/components/mockup/mockup/js/config.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js M src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js M src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js M src/plone/staticresources/static/components/mockup/package.json M src/plone/staticresources/static/components/mockup/yarn.lock M src/plone/staticresources/static/plone-editor-tools-compiled.css.map M src/plone/staticresources/static/plone-editor-tools-compiled.js M src/plone/staticresources/static/plone-editor-tools-compiled.min.js M src/plone/staticresources/static/plone-editor-tools-compiled.min.js.map M src/plone/staticresources/upgrades/configure.zcml M yarn.lock D src/plone/staticresources/static/components/amdefine/LICENSE D src/plone/staticresources/static/components/amdefine/README.md D src/plone/staticresources/static/components/amdefine/amdefine.js D src/plone/staticresources/static/components/amdefine/intercept.js D src/plone/staticresources/static/components/amdefine/package.json D src/plone/staticresources/static/components/ast-types/.travis.yml D src/plone/staticresources/static/components/ast-types/LICENSE D src/plone/staticresources/static/components/ast-types/README.md D src/plone/staticresources/static/components/ast-types/def/core.js D src/plone/staticresources/static/components/ast-types/def/e4x.js D src/plone/staticresources/static/components/ast-types/def/es6.js D src/plone/staticresources/static/components/ast-types/def/es7.js D src/plone/staticresources/static/components/ast-types/def/fb-harmony.js D src/plone/staticresources/static/components/ast-types/def/mozilla.js D src/plone/staticresources/static/components/ast-types/lib/equiv.js D src/plone/staticresources/static/components/ast-types/lib/node-path.js D src/plone/staticresources/static/components/ast-types/lib/path-visitor.js D src/plone/staticresources/static/components/ast-types/lib/path.js D src/plone/staticresources/static/components/ast-types/lib/scope.js D src/plone/staticresources/static/components/ast-types/lib/shared.js D src/plone/staticresources/static/components/ast-types/lib/traverse.js D src/plone/staticresources/static/components/ast-types/lib/types.js D src/plone/staticresources/static/components/ast-types/main.js D src/plone/staticresources/static/components/ast-types/package.json D src/plone/staticresources/static/components/base62/.travis.yml D src/plone/staticresources/static/components/base62/LICENSE D src/plone/staticresources/static/components/base62/Readme.md D src/plone/staticresources/static/components/base62/base62.js D src/plone/staticresources/static/components/base62/package.json D src/plone/staticresources/static/components/cls/.travis.yml D src/plone/staticresources/static/components/cls/LICENSE D src/plone/staticresources/static/components/cls/README.md D src/plone/staticresources/static/components/cls/main.js D src/plone/staticresources/static/components/cls/package.json D src/plone/staticresources/static/components/commander/Readme.md D src/plone/staticresources/static/components/commander/index.js D src/plone/staticresources/static/components/commander/package.json D src/plone/staticresources/static/components/commoner/.travis.yml D src/plone/staticresources/static/components/commoner/LICENSE D src/plone/staticresources/static/components/commoner/README.md D src/plone/staticresources/static/components/commoner/bin/commonize D src/plone/staticresources/static/components/commoner/lib/cache.js D src/plone/staticresources/static/components/commoner/lib/commoner.js D src/plone/staticresources/static/components/commoner/lib/context.js D src/plone/staticresources/static/components/commoner/lib/grep.js D src/plone/staticresources/static/components/commoner/lib/output.js D src/plone/staticresources/static/components/commoner/lib/reader.js D src/plone/staticresources/static/components/commoner/lib/relative.js D src/plone/staticresources/static/components/commoner/lib/util.js D src/plone/staticresources/static/components/commoner/lib/watcher.js D src/plone/staticresources/static/components/commoner/main.js D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/LICENSE D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/graceful-fs.js D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/polyfills.js D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/index.js D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/readme.markdown D src/plone/staticresources/static/components/commoner/package.json D src/plone/staticresources/static/components/depd/History.md D src/plone/staticresources/static/components/depd/LICENSE D src/plone/staticresources/static/components/depd/Readme.md D src/plone/staticresources/static/components/depd/index.js D src/plone/staticresources/static/components/depd/lib/compat/buffer-concat.js D src/plone/staticresources/static/components/depd/lib/compat/callsite-tostring.js D src/plone/staticresources/static/components/depd/lib/compat/index.js D src/plone/staticresources/static/components/depd/package.json D src/plone/staticresources/static/components/esprima-fb/ChangeLog D src/plone/staticresources/static/components/esprima-fb/LICENSE.BSD D src/plone/staticresources/static/components/esprima-fb/README.md D src/plone/staticresources/static/components/esprima-fb/bin/esparse.js D src/plone/staticresources/static/components/esprima-fb/bin/esvalidate.js D src/plone/staticresources/static/components/esprima-fb/component.json D src/plone/staticresources/static/components/esprima-fb/doc/index.html D src/plone/staticresources/static/components/esprima-fb/esprima.js D src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js D src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js D src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js D src/plone/staticresources/static/components/esprima-fb/index.html D src/plone/staticresources/static/components/esprima-fb/package.json D src/plone/staticresources/static/components/glob/.travis.yml D src/plone/staticresources/static/components/glob/LICENSE D src/plone/staticresources/static/components/glob/README.md D src/plone/staticresources/static/components/glob/examples/g.js D src/plone/staticresources/static/components/glob/examples/usr-local.js D src/plone/staticresources/static/components/glob/glob.js D src/plone/staticresources/static/components/glob/package.json D src/plone/staticresources/static/components/iconv-lite/.travis.yml D src/plone/staticresources/static/components/iconv-lite/LICENSE D src/plone/staticresources/static/components/iconv-lite/README.md D src/plone/staticresources/static/components/iconv-lite/encodings/big5.js D src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js D src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js D src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js D src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js D src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js D src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js D src/plone/staticresources/static/components/iconv-lite/index.js D src/plone/staticresources/static/components/iconv-lite/package.json D src/plone/staticresources/static/components/inherits/LICENSE D src/plone/staticresources/static/components/inherits/README.md D src/plone/staticresources/static/components/inherits/inherits.js D src/plone/staticresources/static/components/inherits/inherits_browser.js D src/plone/staticresources/static/components/inherits/package.json D src/plone/staticresources/static/components/install/LICENSE D src/plone/staticresources/static/components/install/README.md D src/plone/staticresources/static/components/install/docs/docco.css D src/plone/staticresources/static/components/install/docs/install.html D src/plone/staticresources/static/components/install/install.js D src/plone/staticresources/static/components/install/install.min.js D src/plone/staticresources/static/components/install/main.js D src/plone/staticresources/static/components/install/package.json D src/plone/staticresources/static/components/jstransform/.jshintrc D src/plone/staticresources/static/components/jstransform/LICENSE D src/plone/staticresources/static/components/jstransform/README.md D src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE D src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm D src/plone/staticresources/static/components/jstransform/package.json D src/plone/staticresources/static/components/jstransform/src/docblock.js D src/plone/staticresources/static/components/jstransform/src/jstransform.js D src/plone/staticresources/static/components/jstransform/src/utils.js D src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js D src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js D src/plone/staticresources/static/components/lru-cache/.travis.yml D src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS D src/plone/staticresources/static/components/lru-cache/LICENSE D src/plone/staticresources/static/components/lru-cache/README.md D src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js D src/plone/staticresources/static/components/lru-cache/package.json D src/plone/staticresources/static/components/minimatch/LICENSE D src/plone/staticresources/static/components/minimatch/README.md D src/plone/staticresources/static/components/minimatch/minimatch.js D src/plone/staticresources/static/components/minimatch/package.json D src/plone/staticresources/static/components/private/LICENSE D src/plone/staticresources/static/components/private/README.md D src/plone/staticresources/static/components/private/package.json D src/plone/staticresources/static/components/private/private.js D src/plone/staticresources/static/components/q/CONTRIBUTING.md D src/plone/staticresources/static/components/q/LICENSE D src/plone/staticresources/static/components/q/README.md D src/plone/staticresources/static/components/q/benchmark/compare-with-callbacks.js D src/plone/staticresources/static/components/q/benchmark/scenarios.js D src/plone/staticresources/static/components/q/package.json D src/plone/staticresources/static/components/q/q.js D src/plone/staticresources/static/components/q/queue.js D src/plone/staticresources/static/components/react/.editorconfig D src/plone/staticresources/static/components/react/.gitattributes D src/plone/staticresources/static/components/react/.gitignore D src/plone/staticresources/static/components/react/.jshintrc D src/plone/staticresources/static/components/react/.travis.yml D src/plone/staticresources/static/components/react/AUTHORS D src/plone/staticresources/static/components/react/CHANGELOG.md D src/plone/staticresources/static/components/react/CONTRIBUTING.md D src/plone/staticresources/static/components/react/Gruntfile.js D src/plone/staticresources/static/components/react/LICENSE D src/plone/staticresources/static/components/react/README.md D src/plone/staticresources/static/components/react/bin/jsx D src/plone/staticresources/static/components/react/bin/jsx-internal D src/plone/staticresources/static/components/react/docs/Gemfile.lock D src/plone/staticresources/static/components/react/docs/Rakefile D src/plone/staticresources/static/components/react/docs/_includes/blog_post.html D src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html D src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html D src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js D src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js D src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js D src/plone/staticresources/static/components/react/docs/_js/html-jsx.js D src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js D src/plone/staticresources/static/components/react/docs/_js/jsx-compiler.js D src/plone/staticresources/static/components/react/docs/_js/live_editor.js D src/plone/staticresources/static/components/react/docs/_layouts/default.html D src/plone/staticresources/static/components/react/docs/_layouts/docs.html D src/plone/staticresources/static/components/react/docs/_layouts/page.html D src/plone/staticresources/static/components/react/docs/_layouts/post.html D src/plone/staticresources/static/components/react/docs/_layouts/redirect.html D src/plone/staticresources/static/components/react/docs/_layouts/single.html D src/plone/staticresources/static/components/react/docs/_layouts/tips.html D src/plone/staticresources/static/components/react/docs/_plugins/header_links.rb D src/plone/staticresources/static/components/react/docs/_plugins/highlight_lines.rb D src/plone/staticresources/static/components/react/docs/blog/all.html D src/plone/staticresources/static/components/react/docs/blog/index.html D src/plone/staticresources/static/components/react/docs/css/codemirror.css D src/plone/staticresources/static/components/react/docs/css/main.css D src/plone/staticresources/static/components/react/docs/css/syntax.css D src/plone/staticresources/static/components/react/docs/docs/index.html D src/plone/staticresources/static/components/react/docs/docs/reference.html D src/plone/staticresources/static/components/react/docs/extractCode.js D src/plone/staticresources/static/components/react/docs/favicon.ico D src/plone/staticresources/static/components/react/docs/feed.xml D src/plone/staticresources/static/components/react/docs/img/blog/animal-sounds.jpg D src/plone/staticresources/static/components/react/docs/img/blog/chatapp.png D src/plone/staticresources/static/components/react/docs/img/blog/dog-tutorial.png D src/plone/staticresources/static/components/react/docs/img/blog/genesis_skeleton.png D src/plone/staticresources/static/components/react/docs/img/blog/guess_filter.jpg D src/plone/staticresources/static/components/react/docs/img/blog/jsx-compiler.png D src/plone/staticresources/static/components/react/docs/img/blog/khan-academy-editor.png D src/plone/staticresources/static/components/react/docs/img/blog/landoflisp.png D src/plone/staticresources/static/components/react/docs/img/blog/lights-out.png D src/plone/staticresources/static/components/react/docs/img/blog/makona-editor.png D src/plone/staticresources/static/components/react/docs/img/blog/markdown_refactor.png D src/plone/staticresources/static/components/react/docs/img/blog/monkeys.gif D src/plone/staticresources/static/components/react/docs/img/blog/ngreact.png D src/plone/staticresources/static/components/react/docs/img/blog/om-backbone.png D src/plone/staticresources/static/components/react/docs/img/blog/propeller-logo.png D src/plone/staticresources/static/components/react/docs/img/blog/quiztime.png D src/plone/staticresources/static/components/react/docs/img/blog/react-dev-tools.jpg D src/plone/staticresources/static/components/react/docs/img/blog/react-diff-tree.png D src/plone/staticresources/static/components/react/docs/img/blog/react-hackathon.jpg D src/plone/staticresources/static/components/react/docs/img/blog/react-page.png D src/plone/staticresources/static/components/react/docs/img/blog/react-php.png D src/plone/staticresources/static/components/react/docs/img/blog/react-svg-fbp.png D src/plone/staticresources/static/components/react/docs/img/blog/reactive-bookmarklet.png D src/plone/staticresources/static/components/react/docs/img/blog/resistance-calculator.png D src/plone/staticresources/static/components/react/docs/img/blog/snake.png D src/plone/staticresources/static/components/react/docs/img/blog/steve_reverse.gif D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-components.png D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-mock.png D src/plone/staticresources/static/components/react/docs/img/blog/todomvc.png D src/plone/staticresources/static/components/react/docs/img/blog/turboreact.png D src/plone/staticresources/static/components/react/docs/img/blog/tutsplus.png D src/plone/staticresources/static/components/react/docs/img/blog/unite.png D src/plone/staticresources/static/components/react/docs/img/blog/wolfenstein_react.png D src/plone/staticresources/static/components/react/docs/img/blog/xoxo2013.png D src/plone/staticresources/static/components/react/docs/img/blog/xreact.png D src/plone/staticresources/static/components/react/docs/img/docs/codewinds-004.png D src/plone/staticresources/static/components/react/docs/img/docs/javascript-jabber.png D src/plone/staticresources/static/components/react/docs/img/logo_og.png D src/plone/staticresources/static/components/react/docs/img/logo_small.png D src/plone/staticresources/static/components/react/docs/img/logo_small@2x.png D src/plone/staticresources/static/components/react/docs/img/noise.png D src/plone/staticresources/static/components/react/examples/README.md D src/plone/staticresources/static/components/react/examples/ballmer-peak/ballmer_peak.png D src/plone/staticresources/static/components/react/examples/ballmer-peak/example.js D src/plone/staticresources/static/components/react/examples/ballmer-peak/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx-external/example.js D src/plone/staticresources/static/components/react/examples/basic-jsx-external/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/example.js D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/index.html D src/plone/staticresources/static/components/react/examples/basic-jsx/index.html D src/plone/staticresources/static/components/react/examples/basic/index.html D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/css/example.css D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/index.html D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/js/app.js D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.css D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.js D src/plone/staticresources/static/components/react/examples/jquery-mobile/README.md D src/plone/staticresources/static/components/react/examples/jquery-mobile/index.html D src/plone/staticresources/static/components/react/examples/jquery-mobile/js/app.js D src/plone/staticresources/static/components/react/examples/shared/css/base.css D src/plone/staticresources/static/components/react/examples/shared/thirdparty/jquery.min.js D src/plone/staticresources/static/components/react/examples/transitions/index.html D src/plone/staticresources/static/components/react/examples/transitions/transition.css D src/plone/staticresources/static/components/react/grunt/config/browserify.js D src/plone/staticresources/static/components/react/grunt/config/compare_size.js D src/plone/staticresources/static/components/react/grunt/config/complexity.js D src/plone/staticresources/static/components/react/grunt/config/compress.js D src/plone/staticresources/static/components/react/grunt/config/copy.js D src/plone/staticresources/static/components/react/grunt/config/jshint.js D src/plone/staticresources/static/components/react/grunt/config/jsx.js D src/plone/staticresources/static/components/react/grunt/config/npm.js D src/plone/staticresources/static/components/react/grunt/config/populist.js D src/plone/staticresources/static/components/react/grunt/config/server.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-all.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-jasmine.js D src/plone/staticresources/static/components/react/grunt/config/webdriver-perf.js D src/plone/staticresources/static/components/react/grunt/tasks/browserify.js D src/plone/staticresources/static/components/react/grunt/tasks/coverage-parse.js D src/plone/staticresources/static/components/react/grunt/tasks/download-previous-version.js D src/plone/staticresources/static/components/react/grunt/tasks/jsx.js D src/plone/staticresources/static/components/react/grunt/tasks/npm-react-tools.js D src/plone/staticresources/static/components/react/grunt/tasks/npm-react.js D src/plone/staticresources/static/components/react/grunt/tasks/npm.js D src/plone/staticresources/static/components/react/grunt/tasks/populist.js D src/plone/staticresources/static/components/react/grunt/tasks/release.js D src/plone/staticresources/static/components/react/grunt/tasks/sauce-tunnel.js D src/plone/staticresources/static/components/react/grunt/tasks/version-check.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-all.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-jasmine.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-perf.js D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-phantomjs.js D src/plone/staticresources/static/components/react/lib/react/source.rb D src/plone/staticresources/static/components/react/main.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/.gitignore D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/README.md D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/package.json D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/run.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/react.js D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/xjs.js D src/plone/staticresources/static/components/react/npm-react/README.md D src/plone/staticresources/static/components/react/npm-react/addons.js D src/plone/staticresources/static/components/react/npm-react/package.json D src/plone/staticresources/static/components/react/npm-react/react.js D src/plone/staticresources/static/components/react/npm-shrinkwrap.json D src/plone/staticresources/static/components/react/package.json D src/plone/staticresources/static/components/react/perf/index.html D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerApp.react.js D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerContext.react.js D src/plone/staticresources/static/components/react/perf/lib/perf-test-runner.browser.js D src/plone/staticresources/static/components/react/perf/lib/todolist.browser.js D src/plone/staticresources/static/components/react/perf/lib/todolist.html D src/plone/staticresources/static/components/react/perf/runner.html D src/plone/staticresources/static/components/react/react-source.gemspec D src/plone/staticresources/static/components/react/scripts/authors D src/plone/staticresources/static/components/react/src/.jshintrc D src/plone/staticresources/static/components/react/src/addons/ReactComponentWithPureRenderMixin.js D src/plone/staticresources/static/components/react/src/addons/ReactRAFBatchingStrategy.js D src/plone/staticresources/static/components/react/src/addons/link/LinkedStateMixin.js D src/plone/staticresources/static/components/react/src/addons/link/ReactLink.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroup.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroupChild.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionChildMapping.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionEvents.js D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionGroup.js D src/plone/staticresources/static/components/react/src/addons/update.js D src/plone/staticresources/static/components/react/src/browser/ClientReactRootIndex.js D src/plone/staticresources/static/components/react/src/browser/ReactDOM.js D src/plone/staticresources/static/components/react/src/browser/ReactEventEmitter.js D src/plone/staticresources/static/components/react/src/browser/ReactPutListenerQueue.js D src/plone/staticresources/static/components/react/src/browser/ReactReconcileTransaction.js D src/plone/staticresources/static/components/react/src/browser/ReactTextComponent.js D src/plone/staticresources/static/components/react/src/browser/ReactWithAddons.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/AnalyticsEventPluginFactory.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ChangeEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/CompositionEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/DefaultEventPluginOrder.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/EnterLeaveEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/MobileSafariClickEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ResponderEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SelectEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SimpleEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/eventPlugins/TapEventPlugin.js D src/plone/staticresources/static/components/react/src/browser/server/ReactMarkupChecksum.js D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRendering.js D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRenderingTransaction.js D src/plone/staticresources/static/components/react/src/browser/server/ServerReactRootIndex.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticClipboardEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticCompositionEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticDragEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticFocusEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticKeyboardEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticMouseEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticTouchEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticUIEvent.js D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticWheelEvent.js D src/plone/staticresources/static/components/react/src/browser/ui/React.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactBrowserComponentMixin.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactComponentBrowserEnvironment.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMComponent.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMIDOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMSelection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactDefaultInjection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactEventTopLevelCallback.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactInjection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactInputSelection.js D src/plone/staticresources/static/components/react/src/browser/ui/ReactMount.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSProperty.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSPropertyOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMChildrenOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMProperty.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMPropertyOperations.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/Danger.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/DefaultDOMPropertyConfig.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/ViewportMetrics.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/AutoFocusMixin.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/LinkedValueUtils.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMButton.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMForm.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMImg.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMInput.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMOption.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMSelect.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMTextarea.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/createFullPageComponent.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/dangerousStyleValue.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/filterAttributes.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventKey.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventTarget.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getNodeForCharacterOffset.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/getTextContentAccessor.js D src/plone/staticresources/static/components/react/src/browser/ui/dom/isEventSupported.js D src/plone/staticresources/static/components/react/src/browser/ui/getReactRootElementInContainer.js D src/plone/staticresources/static/components/react/src/core/ReactComponent.js D src/plone/staticresources/static/components/react/src/core/ReactCompositeComponent.js D src/plone/staticresources/static/components/react/src/core/ReactContext.js D src/plone/staticresources/static/components/react/src/core/ReactCurrentOwner.js D src/plone/staticresources/static/components/react/src/core/ReactDefaultBatchingStrategy.js D src/plone/staticresources/static/components/react/src/core/ReactDoNotBindDeprecated.js D src/plone/staticresources/static/components/react/src/core/ReactEventEmitterMixin.js D src/plone/staticresources/static/components/react/src/core/ReactInstanceHandles.js D src/plone/staticresources/static/components/react/src/core/ReactMountReady.js D src/plone/staticresources/static/components/react/src/core/ReactMultiChild.js D src/plone/staticresources/static/components/react/src/core/ReactMultiChildUpdateTypes.js D src/plone/staticresources/static/components/react/src/core/ReactOwner.js D src/plone/staticresources/static/components/react/src/core/ReactPropTransferer.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocationNames.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocations.js D src/plone/staticresources/static/components/react/src/core/ReactPropTypes.js D src/plone/staticresources/static/components/react/src/core/ReactRootIndex.js D src/plone/staticresources/static/components/react/src/core/ReactStateSetters.js D src/plone/staticresources/static/components/react/src/core/ReactUpdates.js D src/plone/staticresources/static/components/react/src/core/instantiateReactComponent.js D src/plone/staticresources/static/components/react/src/core/shouldUpdateReactComponent.js D src/plone/staticresources/static/components/react/src/event/EventConstants.js D src/plone/staticresources/static/components/react/src/event/EventPluginHub.js D src/plone/staticresources/static/components/react/src/event/EventPluginRegistry.js D src/plone/staticresources/static/components/react/src/event/EventPluginUtils.js D src/plone/staticresources/static/components/react/src/event/EventPropagators.js D src/plone/staticresources/static/components/react/src/package.json D src/plone/staticresources/static/components/react/src/utils/LegacyImmutableObject.js D src/plone/staticresources/static/components/react/src/utils/OrderedMap.js D src/plone/staticresources/static/components/react/src/utils/PooledClass.js D src/plone/staticresources/static/components/react/src/utils/ReactChildren.js D src/plone/staticresources/static/components/react/src/utils/Transaction.js D src/plone/staticresources/static/components/react/src/utils/accumulate.js D src/plone/staticresources/static/components/react/src/utils/adler32.js D src/plone/staticresources/static/components/react/src/utils/cloneWithProps.js D src/plone/staticresources/static/components/react/src/utils/escapeTextForBrowser.js D src/plone/staticresources/static/components/react/src/utils/flattenChildren.js D src/plone/staticresources/static/components/react/src/utils/forEachAccumulated.js D src/plone/staticresources/static/components/react/src/utils/isTextInputElement.js D src/plone/staticresources/static/components/react/src/utils/joinClasses.js D src/plone/staticresources/static/components/react/src/utils/keyMirror.js D src/plone/staticresources/static/components/react/src/utils/memoizeStringOnly.js D src/plone/staticresources/static/components/react/src/utils/mixInto.js D src/plone/staticresources/static/components/react/src/utils/objMapKeyVal.js D src/plone/staticresources/static/components/react/src/utils/onlyChild.js D src/plone/staticresources/static/components/react/src/utils/shallowEqual.js D src/plone/staticresources/static/components/react/src/utils/sliceChildren.js D src/plone/staticresources/static/components/react/src/utils/traverseAllChildren.js D src/plone/staticresources/static/components/react/src/vendor/core/CSSCore.js D src/plone/staticresources/static/components/react/src/vendor/core/ExecutionEnvironment.js D src/plone/staticresources/static/components/react/src/vendor/core/TouchEventUtils.js D src/plone/staticresources/static/components/react/src/vendor/core/copyProperties.js D src/plone/staticresources/static/components/react/src/vendor/core/createArrayFrom.js D src/plone/staticresources/static/components/react/src/vendor/core/createNodesFromMarkup.js D src/plone/staticresources/static/components/react/src/vendor/core/createObjectFrom.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/containsNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/focusNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/getActiveElement.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/getUnboundedScrollPosition.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/isNode.js D src/plone/staticresources/static/components/react/src/vendor/core/dom/isTextNode.js D src/plone/staticresources/static/components/react/src/vendor/core/emptyFunction.js D src/plone/staticresources/static/components/react/src/vendor/core/emptyObject.js D src/plone/staticresources/static/components/react/src/vendor/core/getMarkupWrap.js D src/plone/staticresources/static/components/react/src/vendor/core/hyphenate.js D src/plone/staticresources/static/components/react/src/vendor/core/invariant.js D src/plone/staticresources/static/components/react/src/vendor/core/keyOf.js D src/plone/staticresources/static/components/react/src/vendor/core/merge.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeep.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeepInto.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeHelpers.js D src/plone/staticresources/static/components/react/src/vendor/core/mergeInto.js D src/plone/staticresources/static/components/react/src/vendor/core/monitorCodeUse.js D src/plone/staticresources/static/components/react/src/vendor/core/nativeRequestAnimationFrame.js D src/plone/staticresources/static/components/react/src/vendor/core/objMap.js D src/plone/staticresources/static/components/react/src/vendor/core/requestAnimationFrame.js D src/plone/staticresources/static/components/react/src/vendor/core/toArray.js D src/plone/staticresources/static/components/react/src/vendor/core/warning.js D src/plone/staticresources/static/components/react/src/vendor/immutable/Immutable.js D src/plone/staticresources/static/components/react/src/vendor/immutable/ImmutableObject.js D src/plone/staticresources/static/components/react/src/vendor/stubs/EventListener.js D src/plone/staticresources/static/components/react/src/vendor/stubs/ReactErrorUtils.js D src/plone/staticresources/static/components/react/src/vendor/stubs/cx.js D src/plone/staticresources/static/components/react/starter/README.md D src/plone/staticresources/static/components/react/vendor/browser-transforms.js D src/plone/staticresources/static/components/react/vendor/constants.js D src/plone/staticresources/static/components/react/vendor/fbtransform/syntax.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/react.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/reactDisplayName.js D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/xjs.js D src/plone/staticresources/static/components/react/vendor/fbtransform/visitors.js D src/plone/staticresources/static/components/react/vendor/jasmine-jsreporter/jasmine-jsreporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/HtmlReporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/PrintReporter.js D src/plone/staticresources/static/components/react/vendor/jasmine/ReporterView.js D src/plone/staticresources/static/components/react/vendor/jasmine/SpecView.js D src/plone/staticresources/static/components/react/vendor/jasmine/SuiteView.js D src/plone/staticresources/static/components/react/vendor/jasmine/all.js D src/plone/staticresources/static/components/react/vendor/jasmine/console.js D src/plone/staticresources/static/components/react/vendor/jasmine/diff.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-html.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-support.js D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.css D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.js D src/plone/staticresources/static/components/react/vendor/jasmine/phantom.js D src/plone/staticresources/static/components/recast/.travis.yml D src/plone/staticresources/static/components/recast/LICENSE D src/plone/staticresources/static/components/recast/README.md D src/plone/staticresources/static/components/recast/example/add-braces D src/plone/staticresources/static/components/recast/example/generic-identity D src/plone/staticresources/static/components/recast/example/identity D src/plone/staticresources/static/components/recast/example/to-while D src/plone/staticresources/static/components/recast/lib/comments.js D src/plone/staticresources/static/components/recast/lib/lines.js D src/plone/staticresources/static/components/recast/lib/mapping.js D src/plone/staticresources/static/components/recast/lib/options.js D src/plone/staticresources/static/components/recast/lib/parser.js D src/plone/staticresources/static/components/recast/lib/patcher.js D src/plone/staticresources/static/components/recast/lib/printer.js D src/plone/staticresources/static/components/recast/lib/types.js D src/plone/staticresources/static/components/recast/lib/util.js D src/plone/staticresources/static/components/recast/lib/visitor.js D src/plone/staticresources/static/components/recast/main.js D src/plone/staticresources/static/components/recast/node_modules/esprima-fb/esprima.js D src/plone/staticresources/static/components/recast/node_modules/source-map/LICENSE D src/plone/staticresources/static/components/recast/node_modules/source-map/Makefile.dryice.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/assert-shim.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/mini-require.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-source-map.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-utils.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-browser.js D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-source-map.jsm D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-utils.jsm D src/plone/staticresources/static/components/recast/package.json D src/plone/staticresources/static/components/sigmund/LICENSE D src/plone/staticresources/static/components/sigmund/README.md D src/plone/staticresources/static/components/sigmund/bench.js D src/plone/staticresources/static/components/sigmund/package.json D src/plone/staticresources/static/components/sigmund/sigmund.js --- last_commit.txt | 1231 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1211 insertions(+), 20 deletions(-) diff --git a/last_commit.txt b/last_commit.txt index 0e9efe9503..5bdd28c6c3 100644 --- a/last_commit.txt +++ b/last_commit.txt @@ -2,50 +2,1241 @@ Repository: plone.staticresources Branch: refs/heads/1.x -Date: 2021-02-19T07:55:15-06:00 +Date: 2021-02-19T15:02:32+01:00 Author: Johannes Raggam (thet) -Commit: https://github.com/plone/plone.staticresources/commit/2f31803b187065e3b0f467e82afa9f69403da2c8 +Commit: https://github.com/plone/plone.staticresources/commit/eca07b17032998c0476c9f47238b1693946daef7 -Include upgrade step 12, which was missing. +Upgrade to latest mockup from 3.x branch with structure fixes. Files changed: -A news/123.bugfix +A news/125.feature +A src/plone/staticresources/upgrades/14.zcml +A src/plone/staticresources/upgrades/profiles/14/registry.xml +M package.json +M src/plone/staticresources/profiles/default/metadata.xml +M src/plone/staticresources/profiles/default/registry/bundles.xml M src/plone/staticresources/setuphandlers.py M src/plone/staticresources/upgrades/configure.zcml -b'diff --git a/news/123.bugfix b/news/123.bugfix\nnew file mode 100644\nindex 00000000..5b35f12a\n--- /dev/null\n+++ b/news/123.bugfix\n@@ -0,0 +1,2 @@\n+Include upgrade step 12, which was missing.\n+[thet]\ndiff --git a/src/plone/staticresources/setuphandlers.py b/src/plone/staticresources/setuphandlers.py\nindex 6b064be2..7136d63c 100644\n--- a/src/plone/staticresources/setuphandlers.py\n+++ b/src/plone/staticresources/setuphandlers.py\n@@ -29,4 +29,5 @@ def getNonInstallableProfiles(self):\n "plone.staticresources.upgrades:9",\n "plone.staticresources.upgrades:10",\n "plone.staticresources.upgrades:11",\n+ "plone.staticresources.upgrades:12",\n ]\ndiff --git a/src/plone/staticresources/upgrades/configure.zcml b/src/plone/staticresources/upgrades/configure.zcml\nindex a62744c3..2c2d0f09 100644\n--- a/src/plone/staticresources/upgrades/configure.zcml\n+++ b/src/plone/staticresources/upgrades/configure.zcml\n@@ -12,5 +12,6 @@\n \n \n \n+ \n \n \n' +b'diff --git a/news/125.feature b/news/125.feature\nnew file mode 100644\nindex 00000000..56f6acff\n--- /dev/null\n+++ b/news/125.feature\n@@ -0,0 +1,2 @@\n+Upgrade to latest mockup from 3.x branch with structure fixes.\n+[thet]\ndiff --git a/package.json b/package.json\nindex 4acf839c..9a86569f 100644\n--- a/package.json\n+++ b/package.json\n@@ -16,7 +16,7 @@\n "bootstrap-icons": "1.0.0",\n "jquery": "1.12.4",\n "less": "https://github.com/less/less.git#v2.7.3",\n- "mockup": "https://github.com/plone/mockup.git#bef28e95c374f645c8b0bdbb4ee33780f1e80a10",\n+ "mockup": "https://github.com/plone/mockup.git#c6cd47201bb1062446ce1d12a1382b33e78f733f",\n "requirejs": "^2.3.6"\n }\n }\ndiff --git a/src/plone/staticresources/profiles/default/metadata.xml b/src/plone/staticresources/profiles/default/metadata.xml\nindex 6ed29f19..4b2a6428 100644\n--- a/src/plone/staticresources/profiles/default/metadata.xml\n+++ b/src/plone/staticresources/profiles/default/metadata.xml\n@@ -1,6 +1,6 @@\n \n \n- 13\n+ 14\n \n profile-plone.resource:default\n \ndiff --git a/src/plone/staticresources/profiles/default/registry/bundles.xml b/src/plone/staticresources/profiles/default/registry/bundles.xml\nindex cdff3194..74dd72d8 100644\n--- a/src/plone/staticresources/profiles/default/registry/bundles.xml\n+++ b/src/plone/staticresources/profiles/default/registry/bundles.xml\n@@ -195,7 +195,7 @@\n python: member is not None\n ++plone++static/plone-editor-tools-compiled.min.js\n ++plone++static/plone-editor-tools-compiled.css\n- 2020-11-09 13:00:00\n+ 2021-02-19 14:44:00\n False\n False\n \ndiff --git a/src/plone/staticresources/setuphandlers.py b/src/plone/staticresources/setuphandlers.py\nindex 21a922cf..aa6817b0 100644\n--- a/src/plone/staticresources/setuphandlers.py\n+++ b/src/plone/staticresources/setuphandlers.py\n@@ -31,4 +31,5 @@ def getNonInstallableProfiles(self):\n "plone.staticresources.upgrades:11",\n "plone.staticresources.upgrades:12",\n "plone.staticresources.upgrades:13",\n+ "plone.staticresources.upgrades:14",\n ]\ndiff --git a/src/plone/staticresources/upgrades/14.zcml b/src/plone/staticresources/upgrades/14.zcml\nnew file mode 100644\nindex 00000000..2ab6e8c2\n--- /dev/null\n+++ b/src/plone/staticresources/upgrades/14.zcml\n@@ -0,0 +1,21 @@\n+\n+\n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+\ndiff --git a/src/plone/staticresources/upgrades/configure.zcml b/src/plone/staticresources/upgrades/configure.zcml\nindex 7355ff9c..fab5b404 100644\n--- a/src/plone/staticresources/upgrades/configure.zcml\n+++ b/src/plone/staticresources/upgrades/configure.zcml\n@@ -14,5 +14,6 @@\n \n \n \n+ \n \n \ndiff --git a/src/plone/staticresources/upgrades/profiles/14/registry.xml b/src/plone/staticresources/upgrades/profiles/14/registry.xml\nnew file mode 100644\nindex 00000000..db15b708\n--- /dev/null\n+++ b/src/plone/staticresources/upgrades/profiles/14/registry.xml\n@@ -0,0 +1,6 @@\n+\n+\n+ \n+ 2021-02-19 14:44:00\n+ \n+\n' Repository: plone.staticresources Branch: refs/heads/1.x -Date: 2021-02-19T07:55:15-06:00 -Author: Peter Mathis (petschki) -Commit: https://github.com/plone/plone.staticresources/commit/5d3a0b8303f273a7c79b2f3c3d6c3c755d00763d +Date: 2021-02-19T15:02:32+01:00 +Author: Johannes Raggam (thet) +Commit: https://github.com/plone/plone.staticresources/commit/bd7c1d9f5f7430e248a03ad6c5b9b1ee7929643f -remove wrong bundle with typo +yarn install Files changed: -A src/plone/staticresources/upgrades/13.zcml -A src/plone/staticresources/upgrades/profiles/13/registry.xml -M news/123.bugfix -M src/plone/staticresources/profiles/default/metadata.xml -M src/plone/staticresources/upgrades/configure.zcml +M yarn.lock -b'diff --git a/news/123.bugfix b/news/123.bugfix\nindex 5b35f12a..b1a31e76 100644\n--- a/news/123.bugfix\n+++ b/news/123.bugfix\n@@ -1,2 +1,5 @@\n Include upgrade step 12, which was missing.\n [thet]\n+\n+Remove bundle with typo.\n+[petschki]\ndiff --git a/src/plone/staticresources/profiles/default/metadata.xml b/src/plone/staticresources/profiles/default/metadata.xml\nindex a6ee2fc0..6ed29f19 100644\n--- a/src/plone/staticresources/profiles/default/metadata.xml\n+++ b/src/plone/staticresources/profiles/default/metadata.xml\n@@ -1,6 +1,6 @@\n \n \n- 12\n+ 13\n \n profile-plone.resource:default\n \ndiff --git a/src/plone/staticresources/upgrades/13.zcml b/src/plone/staticresources/upgrades/13.zcml\nnew file mode 100644\nindex 00000000..4d41bfa2\n--- /dev/null\n+++ b/src/plone/staticresources/upgrades/13.zcml\n@@ -0,0 +1,19 @@\n+\n+\n+ \n+\n+ \n+\n+\ndiff --git a/src/plone/staticresources/upgrades/configure.zcml b/src/plone/staticresources/upgrades/configure.zcml\nindex 2c2d0f09..7355ff9c 100644\n--- a/src/plone/staticresources/upgrades/configure.zcml\n+++ b/src/plone/staticresources/upgrades/configure.zcml\n@@ -13,5 +13,6 @@\n \n \n \n+ \n \n \ndiff --git a/src/plone/staticresources/upgrades/profiles/13/registry.xml b/src/plone/staticresources/upgrades/profiles/13/registry.xml\nnew file mode 100644\nindex 00000000..62a0d88b\n--- /dev/null\n+++ b/src/plone/staticresources/upgrades/profiles/13/registry.xml\n@@ -0,0 +1,4 @@\n+\n+\n+ \n+\n' +b'diff --git a/yarn.lock b/yarn.lock\nindex d5ec6667..717a2d8f 100644\n--- a/yarn.lock\n+++ b/yarn.lock\n@@ -14,11 +14,6 @@ ajv@^4.9.1:\n co "^4.6.0"\n json-stable-stringify "^1.0.1"\n \n-amdefine@>=0.0.4:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"\n- integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=\n-\n asap@~2.0.3:\n version "2.0.6"\n resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"\n@@ -41,13 +36,6 @@ assert-plus@^0.2.0:\n resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"\n integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ=\n \n-ast-types@~0.4.7:\n- version "0.4.13"\n- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.4.13.tgz#445bd0b0f235028f5dc5b532fca27dc7b19ed754"\n- integrity sha1-RFvQsPI1Ao9dxbUy/KJ9x7Ge11Q=\n- dependencies:\n- depd "~1.0.0"\n-\n asynckit@^0.4.0:\n version "0.4.0"\n resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"\n@@ -76,11 +64,6 @@ aws4@^1.2.1:\n dependencies:\n underscore ">=1.5.0"\n \n-base62@0.1.1:\n- version "0.1.1"\n- resolved "https://registry.yarnpkg.com/base62/-/base62-0.1.1.tgz#7b4174c2f94449753b11c2651c083da841a7b084"\n- integrity sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ=\n-\n bcrypt-pbkdf@^1.0.0:\n version "1.0.2"\n resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"\n@@ -109,11 +92,6 @@ caseless@~0.12.0:\n resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"\n integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\n \n-cls@~0.1.3:\n- version "0.1.5"\n- resolved "https://registry.yarnpkg.com/cls/-/cls-0.1.5.tgz#df3218cf9d1480747f584d88b19b74c6b281317b"\n- integrity sha1-3zIYz50UgHR/WE2IsZt0xrKBMXs=\n-\n co@^4.6.0:\n version "4.6.0"\n resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"\n@@ -126,26 +104,6 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:\n dependencies:\n delayed-stream "~1.0.0"\n \n-commander@~2.2.0:\n- version "2.2.0"\n- resolved "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz#175ad4b9317f3ff615f201c1e57224f55a3e91df"\n- integrity sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=\n-\n-commoner@^0.9.2:\n- version "0.9.8"\n- resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.9.8.tgz#22f59588f134a3afa04aaea97e8bb574972acded"\n- integrity sha1-IvWViPE0o6+gSq6pfou1dJcqze0=\n- dependencies:\n- commander "~2.2.0"\n- glob "~3.2.9"\n- graceful-fs "~2.0.3"\n- iconv-lite "~0.2.11"\n- install "~0.1.7"\n- mkdirp "~0.3.5"\n- private "~0.1.2"\n- q "~1.0.1"\n- recast "~0.7.0"\n-\n core-util-is@1.0.2:\n version "1.0.2"\n resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"\n@@ -339,11 +297,6 @@ delayed-stream@~1.0.0:\n resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"\n integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\n \n-depd@~1.0.0:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa"\n- integrity sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=\n-\n "dropzone@https://github.com/enyo/dropzone.git#v4.3.0":\n version "4.3.0"\n resolved "https://github.com/enyo/dropzone.git#d8ef7a82e6ab5447c1f2d9512c8e1bfd4de5ac9e"\n@@ -363,16 +316,6 @@ errno@^0.1.1:\n dependencies:\n prr "~1.0.1"\n \n-esprima-fb@~3001.1.0-dev-harmony-fb:\n- version "3001.1.0-dev-harmony-fb"\n- resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411"\n- integrity sha1-t303q8046gt3Qmu4vCkizmtCZBE=\n-\n-esprima-fb@~6001.1001.0-dev-harmony-fb:\n- version "6001.1001.0-dev-harmony-fb"\n- resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-6001.1001.0-dev-harmony-fb.tgz#a98821750fabadb164cdd199a94347a3919d1ac5"\n- integrity sha1-qYghdQ+rrbFkzdGZqUNHo5GdGsU=\n-\n extend@~3.0.0:\n version "3.0.2"\n resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"\n@@ -409,24 +352,11 @@ getpass@^0.1.1:\n dependencies:\n assert-plus "^1.0.0"\n \n-glob@~3.2.9:\n- version "3.2.11"\n- resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d"\n- integrity sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=\n- dependencies:\n- inherits "2"\n- minimatch "0.3"\n-\n graceful-fs@^4.1.2:\n version "4.2.4"\n resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"\n integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\n \n-graceful-fs@~2.0.3:\n- version "2.0.3"\n- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-2.0.3.tgz#7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0"\n- integrity sha1-fNLNsiiko/Nule+mzBQt59GhNtA=\n-\n har-schema@^1.0.5:\n version "1.0.5"\n resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"\n@@ -464,26 +394,11 @@ http-signature@~1.1.0:\n jsprim "^1.2.2"\n sshpk "^1.7.0"\n \n-iconv-lite@~0.2.11:\n- version "0.2.11"\n- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8"\n- integrity sha1-HOYKOleGSiktEyH/RgnKS7llrcg=\n-\n image-size@~0.5.0:\n version "0.5.5"\n resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"\n integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=\n \n-inherits@2:\n- version "2.0.4"\n- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"\n- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n-\n-install@~0.1.7:\n- version "0.1.8"\n- resolved "https://registry.yarnpkg.com/install/-/install-0.1.8.tgz#9980ef93e30dfb534778d163bc86ddd472ad5fe8"\n- integrity sha1-mYDvk+MN+1NHeNFjvIbd1HKtX+g=\n-\n is-typedarray@~1.0.0:\n version "1.0.0"\n resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"\n@@ -563,15 +478,6 @@ jsprim@^1.2.2:\n json-schema "0.2.3"\n verror "1.10.0"\n \n-jstransform@~3.0.0:\n- version "3.0.0"\n- resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-3.0.0.tgz#a2591ab6cee8d97bf3be830dbfa2313b87cd640b"\n- integrity sha1-olkats7o2XvzvoMNv6IxO4fNZAs=\n- dependencies:\n- base62 "0.1.1"\n- esprima-fb "~3001.1.0-dev-harmony-fb"\n- source-map "0.1.31"\n-\n "less@https://github.com/less/less.git#v2.7.3":\n version "2.7.3"\n resolved "https://github.com/less/less.git#60a5c3bd1f6807615d017a5019031da47e1f480d"\n@@ -589,10 +495,9 @@ jstransform@~3.0.0:\n version "1.0.2"\n resolved "https://github.com/Patternslib/logging.git#a31a550c2083089de2c677c169d7e0b0fb7a7967"\n \n-lru-cache@2:\n- version "2.7.3"\n- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"\n- integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=\n+"marked@https://github.com/chjj/marked.git#0.3.5":\n+ version "0.3.5"\n+ resolved "https://github.com/chjj/marked.git#88ce4df47c4d994dc1b1df1477a21fb893e11ddc"\n \n mime-db@1.44.0:\n version "1.44.0"\n@@ -611,14 +516,6 @@ mime@^1.2.11:\n resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"\n integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\n \n-minimatch@0.3:\n- version "0.3.0"\n- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"\n- integrity sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=\n- dependencies:\n- lru-cache "2"\n- sigmund "~1.0.0"\n-\n minimist@^1.2.5:\n version "1.2.5"\n resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"\n@@ -631,14 +528,9 @@ mkdirp@^0.5.0:\n dependencies:\n minimist "^1.2.5"\n \n-mkdirp@~0.3.5:\n- version "0.3.5"\n- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7"\n- integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=\n-\n-"mockup@https://github.com/plone/mockup.git#e69dad0c4bd9c8df1e9f558474a9661578608cf2":\n- version "3.2.2"\n- resolved "https://github.com/plone/mockup.git#e69dad0c4bd9c8df1e9f558474a9661578608cf2"\n+"mockup@https://github.com/plone/mockup.git#c6cd47201bb1062446ce1d12a1382b33e78f733f":\n+ version "3.2.5"\n+ resolved "https://github.com/plone/mockup.git#c6cd47201bb1062446ce1d12a1382b33e78f733f"\n dependencies:\n ace-builds "https://github.com/ajaxorg/ace-builds.git#v1.2.6"\n backbone "https://github.com/jashkenas/backbone.git#1.1.2"\n@@ -675,10 +567,11 @@ mkdirp@~0.3.5:\n jquery.cookie "https://github.com/carhartl/jquery-cookie.git#v1.4.1"\n jquery.recurrenceinput.js "https://github.com/collective/jquery.recurrenceinput.js.git#master"\n logging "https://github.com/Patternslib/logging.git#1.0.2"\n+ marked "https://github.com/chjj/marked.git#0.3.5"\n moment "2.24.0"\n patternslib "https://github.com/Patternslib/Patterns.git#2.1.3"\n pickadate "https://github.com/amsul/pickadate.js.git#3.6.4"\n- react "https://github.com/facebook/react.git#v0.10.0"\n+ react "https://github.com/reactjs/react-bower.git#v0.10.0"\n requirejs-text "https://github.com/requirejs/text.git#2.0.15"\n select2 "https://github.com/ivaynberg/select2.git#3.5.4"\n tinymce-builded "https://github.com/artursmirnov/tinymce_builded.git#4.7.13"\n@@ -708,11 +601,6 @@ performance-now@^0.2.0:\n dependencies:\n jquery ">=1.7"\n \n-private@~0.1.2, private@~0.1.5:\n- version "0.1.8"\n- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"\n- integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==\n-\n promise@^7.1.1:\n version "7.3.1"\n resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"\n@@ -730,34 +618,14 @@ punycode@^1.4.1:\n resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"\n integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=\n \n-q@~1.0.1:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/q/-/q-1.0.1.tgz#11872aeedee89268110b10a718448ffb10112a14"\n- integrity sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=\n-\n qs@~6.4.0:\n version "6.4.0"\n resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"\n integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=\n \n-"react@https://github.com/facebook/react.git#v0.10.0":\n- version "0.10.0"\n- resolved "https://github.com/facebook/react.git#dedf0c20da67872b5dff21a25cb9075e6019c12e"\n- dependencies:\n- commoner "^0.9.2"\n- esprima-fb "~3001.1.0-dev-harmony-fb"\n- jstransform "~3.0.0"\n-\n-recast@~0.7.0:\n- version "0.7.5"\n- resolved "https://registry.yarnpkg.com/recast/-/recast-0.7.5.tgz#124e7cf63e2a737cd69243e379196c45549b1f2e"\n- integrity sha1-Ek589j4qc3zWkkPjeRlsRVSbHy4=\n- dependencies:\n- ast-types "~0.4.7"\n- cls "~0.1.3"\n- esprima-fb "~6001.1001.0-dev-harmony-fb"\n- private "~0.1.5"\n- source-map "0.1.32"\n+"react@https://github.com/reactjs/react-bower.git#v0.10.0":\n+ version "0.0.0"\n+ resolved "https://github.com/reactjs/react-bower.git#4862309b39ceef32a65c160cd9987eccdfb29c38"\n \n request@2.81.0:\n version "2.81.0"\n@@ -810,11 +678,6 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:\n version "3.5.4"\n resolved "https://github.com/ivaynberg/select2.git#95a977f674b6938af55ec5f28b7772df93786c5c"\n \n-sigmund@~1.0.0:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"\n- integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=\n-\n sntp@1.x.x:\n version "1.0.9"\n resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"\n@@ -822,20 +685,6 @@ sntp@1.x.x:\n dependencies:\n hoek "2.x.x"\n \n-source-map@0.1.31:\n- version "0.1.31"\n- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.31.tgz#9f704d0d69d9e138a81badf6ebb4fde33d151c61"\n- integrity sha1-n3BNDWnZ4TioG63267T94z0VHGE=\n- dependencies:\n- amdefine ">=0.0.4"\n-\n-source-map@0.1.32:\n- version "0.1.32"\n- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"\n- integrity sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=\n- dependencies:\n- amdefine ">=0.0.4"\n-\n source-map@^0.5.3:\n version "0.5.7"\n resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"\n' Repository: plone.staticresources Branch: refs/heads/1.x -Date: 2021-02-19T07:55:15-06:00 -Author: Peter Mathis (petschki) -Commit: https://github.com/plone/plone.staticresources/commit/bc887dc9b08ea4cdbe689890de0e5d6e67a3202d +Date: 2021-02-19T15:02:32+01:00 +Author: Johannes Raggam (thet) +Commit: https://github.com/plone/plone.staticresources/commit/8fbd1c231ada322a637ecec4d50f243962dae8b6 -update non installable profiles +Ignore hidden .* files from components. Files changed: +M src/plone/staticresources/static/.gitignore + +b'diff --git a/src/plone/staticresources/static/.gitignore b/src/plone/staticresources/static/.gitignore\nindex a5f0151b..cc2ee9cf 100644\n--- a/src/plone/staticresources/static/.gitignore\n+++ b/src/plone/staticresources/static/.gitignore\n@@ -1,3 +1,4 @@\n+.*\n components/ace-builds/src-noconflict\n components/ace-builds/src-min-noconflict\n components/ace-builds/src-min\n' + +Repository: plone.staticresources + + +Branch: refs/heads/1.x +Date: 2021-02-19T15:02:32+01:00 +Author: Johannes Raggam (thet) +Commit: https://github.com/plone/plone.staticresources/commit/742ed4813494d9712389ed4aa7cbe111fcd3014d + +Installed + +Files changed: +A src/plone/staticresources/static/components/marked/Gulpfile.js +A src/plone/staticresources/static/components/marked/LICENSE +A src/plone/staticresources/static/components/marked/Makefile +A src/plone/staticresources/static/components/marked/README.md +A src/plone/staticresources/static/components/marked/bin/marked +A src/plone/staticresources/static/components/marked/bower.json +A src/plone/staticresources/static/components/marked/component.json +A src/plone/staticresources/static/components/marked/doc/broken.md +A src/plone/staticresources/static/components/marked/doc/todo.md +A src/plone/staticresources/static/components/marked/index.js +A src/plone/staticresources/static/components/marked/lib/marked.js +A src/plone/staticresources/static/components/marked/man/marked.1 +A src/plone/staticresources/static/components/marked/marked.min.js +A src/plone/staticresources/static/components/marked/package.json +A src/plone/staticresources/static/components/mockup/1041.bugfix +A src/plone/staticresources/static/components/react/JSXTransformer.js +A src/plone/staticresources/static/components/react/bower.json +A src/plone/staticresources/static/components/react/react-with-addons.js +A src/plone/staticresources/static/components/react/react-with-addons.min.js +A src/plone/staticresources/static/components/react/react.js +A src/plone/staticresources/static/components/react/react.min.js +M src/plone/staticresources/static/components/mockup/CHANGES.rst +M src/plone/staticresources/static/components/mockup/Makefile +M src/plone/staticresources/static/components/mockup/mockup/js/config.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js +M src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js +M src/plone/staticresources/static/components/mockup/package.json +M src/plone/staticresources/static/components/mockup/yarn.lock +D src/plone/staticresources/static/components/amdefine/LICENSE +D src/plone/staticresources/static/components/amdefine/README.md +D src/plone/staticresources/static/components/amdefine/amdefine.js +D src/plone/staticresources/static/components/amdefine/intercept.js +D src/plone/staticresources/static/components/amdefine/package.json +D src/plone/staticresources/static/components/ast-types/.travis.yml +D src/plone/staticresources/static/components/ast-types/LICENSE +D src/plone/staticresources/static/components/ast-types/README.md +D src/plone/staticresources/static/components/ast-types/def/core.js +D src/plone/staticresources/static/components/ast-types/def/e4x.js +D src/plone/staticresources/static/components/ast-types/def/es6.js +D src/plone/staticresources/static/components/ast-types/def/es7.js +D src/plone/staticresources/static/components/ast-types/def/fb-harmony.js +D src/plone/staticresources/static/components/ast-types/def/mozilla.js +D src/plone/staticresources/static/components/ast-types/lib/equiv.js +D src/plone/staticresources/static/components/ast-types/lib/node-path.js +D src/plone/staticresources/static/components/ast-types/lib/path-visitor.js +D src/plone/staticresources/static/components/ast-types/lib/path.js +D src/plone/staticresources/static/components/ast-types/lib/scope.js +D src/plone/staticresources/static/components/ast-types/lib/shared.js +D src/plone/staticresources/static/components/ast-types/lib/traverse.js +D src/plone/staticresources/static/components/ast-types/lib/types.js +D src/plone/staticresources/static/components/ast-types/main.js +D src/plone/staticresources/static/components/ast-types/package.json +D src/plone/staticresources/static/components/base62/.travis.yml +D src/plone/staticresources/static/components/base62/LICENSE +D src/plone/staticresources/static/components/base62/Readme.md +D src/plone/staticresources/static/components/base62/base62.js +D src/plone/staticresources/static/components/base62/package.json +D src/plone/staticresources/static/components/cls/.travis.yml +D src/plone/staticresources/static/components/cls/LICENSE +D src/plone/staticresources/static/components/cls/README.md +D src/plone/staticresources/static/components/cls/main.js +D src/plone/staticresources/static/components/cls/package.json +D src/plone/staticresources/static/components/commander/Readme.md +D src/plone/staticresources/static/components/commander/index.js +D src/plone/staticresources/static/components/commander/package.json +D src/plone/staticresources/static/components/commoner/.travis.yml +D src/plone/staticresources/static/components/commoner/LICENSE +D src/plone/staticresources/static/components/commoner/README.md +D src/plone/staticresources/static/components/commoner/bin/commonize +D src/plone/staticresources/static/components/commoner/lib/cache.js +D src/plone/staticresources/static/components/commoner/lib/commoner.js +D src/plone/staticresources/static/components/commoner/lib/context.js +D src/plone/staticresources/static/components/commoner/lib/grep.js +D src/plone/staticresources/static/components/commoner/lib/output.js +D src/plone/staticresources/static/components/commoner/lib/reader.js +D src/plone/staticresources/static/components/commoner/lib/relative.js +D src/plone/staticresources/static/components/commoner/lib/util.js +D src/plone/staticresources/static/components/commoner/lib/watcher.js +D src/plone/staticresources/static/components/commoner/main.js +D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/LICENSE +D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/graceful-fs.js +D src/plone/staticresources/static/components/commoner/node_modules/graceful-fs/polyfills.js +D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE +D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/index.js +D src/plone/staticresources/static/components/commoner/node_modules/mkdirp/readme.markdown +D src/plone/staticresources/static/components/commoner/package.json +D src/plone/staticresources/static/components/depd/History.md +D src/plone/staticresources/static/components/depd/LICENSE +D src/plone/staticresources/static/components/depd/Readme.md +D src/plone/staticresources/static/components/depd/index.js +D src/plone/staticresources/static/components/depd/lib/compat/buffer-concat.js +D src/plone/staticresources/static/components/depd/lib/compat/callsite-tostring.js +D src/plone/staticresources/static/components/depd/lib/compat/index.js +D src/plone/staticresources/static/components/depd/package.json +D src/plone/staticresources/static/components/esprima-fb/ChangeLog +D src/plone/staticresources/static/components/esprima-fb/LICENSE.BSD +D src/plone/staticresources/static/components/esprima-fb/README.md +D src/plone/staticresources/static/components/esprima-fb/bin/esparse.js +D src/plone/staticresources/static/components/esprima-fb/bin/esvalidate.js +D src/plone/staticresources/static/components/esprima-fb/component.json +D src/plone/staticresources/static/components/esprima-fb/doc/index.html +D src/plone/staticresources/static/components/esprima-fb/esprima.js +D src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js +D src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js +D src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js +D src/plone/staticresources/static/components/esprima-fb/index.html +D src/plone/staticresources/static/components/esprima-fb/package.json +D src/plone/staticresources/static/components/glob/.travis.yml +D src/plone/staticresources/static/components/glob/LICENSE +D src/plone/staticresources/static/components/glob/README.md +D src/plone/staticresources/static/components/glob/examples/g.js +D src/plone/staticresources/static/components/glob/examples/usr-local.js +D src/plone/staticresources/static/components/glob/glob.js +D src/plone/staticresources/static/components/glob/package.json +D src/plone/staticresources/static/components/iconv-lite/.travis.yml +D src/plone/staticresources/static/components/iconv-lite/LICENSE +D src/plone/staticresources/static/components/iconv-lite/README.md +D src/plone/staticresources/static/components/iconv-lite/encodings/big5.js +D src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js +D src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js +D src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js +D src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js +D src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js +D src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js +D src/plone/staticresources/static/components/iconv-lite/index.js +D src/plone/staticresources/static/components/iconv-lite/package.json +D src/plone/staticresources/static/components/inherits/LICENSE +D src/plone/staticresources/static/components/inherits/README.md +D src/plone/staticresources/static/components/inherits/inherits.js +D src/plone/staticresources/static/components/inherits/inherits_browser.js +D src/plone/staticresources/static/components/inherits/package.json +D src/plone/staticresources/static/components/install/LICENSE +D src/plone/staticresources/static/components/install/README.md +D src/plone/staticresources/static/components/install/docs/docco.css +D src/plone/staticresources/static/components/install/docs/install.html +D src/plone/staticresources/static/components/install/install.js +D src/plone/staticresources/static/components/install/install.min.js +D src/plone/staticresources/static/components/install/main.js +D src/plone/staticresources/static/components/install/package.json +D src/plone/staticresources/static/components/jstransform/.jshintrc +D src/plone/staticresources/static/components/jstransform/LICENSE +D src/plone/staticresources/static/components/jstransform/README.md +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm +D src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm +D src/plone/staticresources/static/components/jstransform/package.json +D src/plone/staticresources/static/components/jstransform/src/docblock.js +D src/plone/staticresources/static/components/jstransform/src/jstransform.js +D src/plone/staticresources/static/components/jstransform/src/utils.js +D src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js +D src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js +D src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js +D src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js +D src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js +D src/plone/staticresources/static/components/lru-cache/.travis.yml +D src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS +D src/plone/staticresources/static/components/lru-cache/LICENSE +D src/plone/staticresources/static/components/lru-cache/README.md +D src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js +D src/plone/staticresources/static/components/lru-cache/package.json +D src/plone/staticresources/static/components/minimatch/LICENSE +D src/plone/staticresources/static/components/minimatch/README.md +D src/plone/staticresources/static/components/minimatch/minimatch.js +D src/plone/staticresources/static/components/minimatch/package.json +D src/plone/staticresources/static/components/private/LICENSE +D src/plone/staticresources/static/components/private/README.md +D src/plone/staticresources/static/components/private/package.json +D src/plone/staticresources/static/components/private/private.js +D src/plone/staticresources/static/components/q/CONTRIBUTING.md +D src/plone/staticresources/static/components/q/LICENSE +D src/plone/staticresources/static/components/q/README.md +D src/plone/staticresources/static/components/q/benchmark/compare-with-callbacks.js +D src/plone/staticresources/static/components/q/benchmark/scenarios.js +D src/plone/staticresources/static/components/q/package.json +D src/plone/staticresources/static/components/q/q.js +D src/plone/staticresources/static/components/q/queue.js +D src/plone/staticresources/static/components/react/.editorconfig +D src/plone/staticresources/static/components/react/.gitattributes +D src/plone/staticresources/static/components/react/.gitignore +D src/plone/staticresources/static/components/react/.jshintrc +D src/plone/staticresources/static/components/react/.travis.yml +D src/plone/staticresources/static/components/react/AUTHORS +D src/plone/staticresources/static/components/react/CHANGELOG.md +D src/plone/staticresources/static/components/react/CONTRIBUTING.md +D src/plone/staticresources/static/components/react/Gruntfile.js +D src/plone/staticresources/static/components/react/LICENSE +D src/plone/staticresources/static/components/react/README.md +D src/plone/staticresources/static/components/react/bin/jsx +D src/plone/staticresources/static/components/react/bin/jsx-internal +D src/plone/staticresources/static/components/react/docs/Gemfile.lock +D src/plone/staticresources/static/components/react/docs/Rakefile +D src/plone/staticresources/static/components/react/docs/_includes/blog_post.html +D src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html +D src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html +D src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js +D src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js +D src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js +D src/plone/staticresources/static/components/react/docs/_js/html-jsx.js +D src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js +D src/plone/staticresources/static/components/react/docs/_js/jsx-compiler.js +D src/plone/staticresources/static/components/react/docs/_js/live_editor.js +D src/plone/staticresources/static/components/react/docs/_layouts/default.html +D src/plone/staticresources/static/components/react/docs/_layouts/docs.html +D src/plone/staticresources/static/components/react/docs/_layouts/page.html +D src/plone/staticresources/static/components/react/docs/_layouts/post.html +D src/plone/staticresources/static/components/react/docs/_layouts/redirect.html +D src/plone/staticresources/static/components/react/docs/_layouts/single.html +D src/plone/staticresources/static/components/react/docs/_layouts/tips.html +D src/plone/staticresources/static/components/react/docs/_plugins/header_links.rb +D src/plone/staticresources/static/components/react/docs/_plugins/highlight_lines.rb +D src/plone/staticresources/static/components/react/docs/blog/all.html +D src/plone/staticresources/static/components/react/docs/blog/index.html +D src/plone/staticresources/static/components/react/docs/css/codemirror.css +D src/plone/staticresources/static/components/react/docs/css/main.css +D src/plone/staticresources/static/components/react/docs/css/syntax.css +D src/plone/staticresources/static/components/react/docs/docs/index.html +D src/plone/staticresources/static/components/react/docs/docs/reference.html +D src/plone/staticresources/static/components/react/docs/extractCode.js +D src/plone/staticresources/static/components/react/docs/favicon.ico +D src/plone/staticresources/static/components/react/docs/feed.xml +D src/plone/staticresources/static/components/react/docs/img/blog/animal-sounds.jpg +D src/plone/staticresources/static/components/react/docs/img/blog/chatapp.png +D src/plone/staticresources/static/components/react/docs/img/blog/dog-tutorial.png +D src/plone/staticresources/static/components/react/docs/img/blog/genesis_skeleton.png +D src/plone/staticresources/static/components/react/docs/img/blog/guess_filter.jpg +D src/plone/staticresources/static/components/react/docs/img/blog/jsx-compiler.png +D src/plone/staticresources/static/components/react/docs/img/blog/khan-academy-editor.png +D src/plone/staticresources/static/components/react/docs/img/blog/landoflisp.png +D src/plone/staticresources/static/components/react/docs/img/blog/lights-out.png +D src/plone/staticresources/static/components/react/docs/img/blog/makona-editor.png +D src/plone/staticresources/static/components/react/docs/img/blog/markdown_refactor.png +D src/plone/staticresources/static/components/react/docs/img/blog/monkeys.gif +D src/plone/staticresources/static/components/react/docs/img/blog/ngreact.png +D src/plone/staticresources/static/components/react/docs/img/blog/om-backbone.png +D src/plone/staticresources/static/components/react/docs/img/blog/propeller-logo.png +D src/plone/staticresources/static/components/react/docs/img/blog/quiztime.png +D src/plone/staticresources/static/components/react/docs/img/blog/react-dev-tools.jpg +D src/plone/staticresources/static/components/react/docs/img/blog/react-diff-tree.png +D src/plone/staticresources/static/components/react/docs/img/blog/react-hackathon.jpg +D src/plone/staticresources/static/components/react/docs/img/blog/react-page.png +D src/plone/staticresources/static/components/react/docs/img/blog/react-php.png +D src/plone/staticresources/static/components/react/docs/img/blog/react-svg-fbp.png +D src/plone/staticresources/static/components/react/docs/img/blog/reactive-bookmarklet.png +D src/plone/staticresources/static/components/react/docs/img/blog/resistance-calculator.png +D src/plone/staticresources/static/components/react/docs/img/blog/snake.png +D src/plone/staticresources/static/components/react/docs/img/blog/steve_reverse.gif +D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-components.png +D src/plone/staticresources/static/components/react/docs/img/blog/thinking-in-react-mock.png +D src/plone/staticresources/static/components/react/docs/img/blog/todomvc.png +D src/plone/staticresources/static/components/react/docs/img/blog/turboreact.png +D src/plone/staticresources/static/components/react/docs/img/blog/tutsplus.png +D src/plone/staticresources/static/components/react/docs/img/blog/unite.png +D src/plone/staticresources/static/components/react/docs/img/blog/wolfenstein_react.png +D src/plone/staticresources/static/components/react/docs/img/blog/xoxo2013.png +D src/plone/staticresources/static/components/react/docs/img/blog/xreact.png +D src/plone/staticresources/static/components/react/docs/img/docs/codewinds-004.png +D src/plone/staticresources/static/components/react/docs/img/docs/javascript-jabber.png +D src/plone/staticresources/static/components/react/docs/img/logo_og.png +D src/plone/staticresources/static/components/react/docs/img/logo_small.png +D src/plone/staticresources/static/components/react/docs/img/logo_small@2x.png +D src/plone/staticresources/static/components/react/docs/img/noise.png +D src/plone/staticresources/static/components/react/examples/README.md +D src/plone/staticresources/static/components/react/examples/ballmer-peak/ballmer_peak.png +D src/plone/staticresources/static/components/react/examples/ballmer-peak/example.js +D src/plone/staticresources/static/components/react/examples/ballmer-peak/index.html +D src/plone/staticresources/static/components/react/examples/basic-jsx-external/example.js +D src/plone/staticresources/static/components/react/examples/basic-jsx-external/index.html +D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/example.js +D src/plone/staticresources/static/components/react/examples/basic-jsx-precompile/index.html +D src/plone/staticresources/static/components/react/examples/basic-jsx/index.html +D src/plone/staticresources/static/components/react/examples/basic/index.html +D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/css/example.css +D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/index.html +D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/js/app.js +D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.css +D src/plone/staticresources/static/components/react/examples/jquery-bootstrap/thirdparty/bootstrap.min.js +D src/plone/staticresources/static/components/react/examples/jquery-mobile/README.md +D src/plone/staticresources/static/components/react/examples/jquery-mobile/index.html +D src/plone/staticresources/static/components/react/examples/jquery-mobile/js/app.js +D src/plone/staticresources/static/components/react/examples/shared/css/base.css +D src/plone/staticresources/static/components/react/examples/shared/thirdparty/jquery.min.js +D src/plone/staticresources/static/components/react/examples/transitions/index.html +D src/plone/staticresources/static/components/react/examples/transitions/transition.css +D src/plone/staticresources/static/components/react/grunt/config/browserify.js +D src/plone/staticresources/static/components/react/grunt/config/compare_size.js +D src/plone/staticresources/static/components/react/grunt/config/complexity.js +D src/plone/staticresources/static/components/react/grunt/config/compress.js +D src/plone/staticresources/static/components/react/grunt/config/copy.js +D src/plone/staticresources/static/components/react/grunt/config/jshint.js +D src/plone/staticresources/static/components/react/grunt/config/jsx.js +D src/plone/staticresources/static/components/react/grunt/config/npm.js +D src/plone/staticresources/static/components/react/grunt/config/populist.js +D src/plone/staticresources/static/components/react/grunt/config/server.js +D src/plone/staticresources/static/components/react/grunt/config/webdriver-all.js +D src/plone/staticresources/static/components/react/grunt/config/webdriver-jasmine.js +D src/plone/staticresources/static/components/react/grunt/config/webdriver-perf.js +D src/plone/staticresources/static/components/react/grunt/tasks/browserify.js +D src/plone/staticresources/static/components/react/grunt/tasks/coverage-parse.js +D src/plone/staticresources/static/components/react/grunt/tasks/download-previous-version.js +D src/plone/staticresources/static/components/react/grunt/tasks/jsx.js +D src/plone/staticresources/static/components/react/grunt/tasks/npm-react-tools.js +D src/plone/staticresources/static/components/react/grunt/tasks/npm-react.js +D src/plone/staticresources/static/components/react/grunt/tasks/npm.js +D src/plone/staticresources/static/components/react/grunt/tasks/populist.js +D src/plone/staticresources/static/components/react/grunt/tasks/release.js +D src/plone/staticresources/static/components/react/grunt/tasks/sauce-tunnel.js +D src/plone/staticresources/static/components/react/grunt/tasks/version-check.js +D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-all.js +D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-jasmine.js +D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-perf.js +D src/plone/staticresources/static/components/react/grunt/tasks/webdriver-phantomjs.js +D src/plone/staticresources/static/components/react/lib/react/source.rb +D src/plone/staticresources/static/components/react/main.js +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/.gitignore +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/README.md +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/package.json +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/run.js +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/react.js +D src/plone/staticresources/static/components/react/npm-jsx_whitespace_transformer/transforms/xjs.js +D src/plone/staticresources/static/components/react/npm-react/README.md +D src/plone/staticresources/static/components/react/npm-react/addons.js +D src/plone/staticresources/static/components/react/npm-react/package.json +D src/plone/staticresources/static/components/react/npm-react/react.js +D src/plone/staticresources/static/components/react/npm-shrinkwrap.json +D src/plone/staticresources/static/components/react/package.json +D src/plone/staticresources/static/components/react/perf/index.html +D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerApp.react.js +D src/plone/staticresources/static/components/react/perf/lib/BrowserPerfRunnerContext.react.js +D src/plone/staticresources/static/components/react/perf/lib/perf-test-runner.browser.js +D src/plone/staticresources/static/components/react/perf/lib/todolist.browser.js +D src/plone/staticresources/static/components/react/perf/lib/todolist.html +D src/plone/staticresources/static/components/react/perf/runner.html +D src/plone/staticresources/static/components/react/react-source.gemspec +D src/plone/staticresources/static/components/react/scripts/authors +D src/plone/staticresources/static/components/react/src/.jshintrc +D src/plone/staticresources/static/components/react/src/addons/ReactComponentWithPureRenderMixin.js +D src/plone/staticresources/static/components/react/src/addons/ReactRAFBatchingStrategy.js +D src/plone/staticresources/static/components/react/src/addons/link/LinkedStateMixin.js +D src/plone/staticresources/static/components/react/src/addons/link/ReactLink.js +D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroup.js +D src/plone/staticresources/static/components/react/src/addons/transitions/ReactCSSTransitionGroupChild.js +D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionChildMapping.js +D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionEvents.js +D src/plone/staticresources/static/components/react/src/addons/transitions/ReactTransitionGroup.js +D src/plone/staticresources/static/components/react/src/addons/update.js +D src/plone/staticresources/static/components/react/src/browser/ClientReactRootIndex.js +D src/plone/staticresources/static/components/react/src/browser/ReactDOM.js +D src/plone/staticresources/static/components/react/src/browser/ReactEventEmitter.js +D src/plone/staticresources/static/components/react/src/browser/ReactPutListenerQueue.js +D src/plone/staticresources/static/components/react/src/browser/ReactReconcileTransaction.js +D src/plone/staticresources/static/components/react/src/browser/ReactTextComponent.js +D src/plone/staticresources/static/components/react/src/browser/ReactWithAddons.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/AnalyticsEventPluginFactory.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ChangeEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/CompositionEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/DefaultEventPluginOrder.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/EnterLeaveEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/MobileSafariClickEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/ResponderEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SelectEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/SimpleEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/eventPlugins/TapEventPlugin.js +D src/plone/staticresources/static/components/react/src/browser/server/ReactMarkupChecksum.js +D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRendering.js +D src/plone/staticresources/static/components/react/src/browser/server/ReactServerRenderingTransaction.js +D src/plone/staticresources/static/components/react/src/browser/server/ServerReactRootIndex.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticClipboardEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticCompositionEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticDragEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticFocusEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticKeyboardEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticMouseEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticTouchEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticUIEvent.js +D src/plone/staticresources/static/components/react/src/browser/syntheticEvents/SyntheticWheelEvent.js +D src/plone/staticresources/static/components/react/src/browser/ui/React.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactBrowserComponentMixin.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactComponentBrowserEnvironment.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMComponent.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMIDOperations.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactDOMSelection.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactDefaultInjection.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactEventTopLevelCallback.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactInjection.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactInputSelection.js +D src/plone/staticresources/static/components/react/src/browser/ui/ReactMount.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSProperty.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/CSSPropertyOperations.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMChildrenOperations.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMProperty.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/DOMPropertyOperations.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/Danger.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/DefaultDOMPropertyConfig.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/ViewportMetrics.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/AutoFocusMixin.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/LinkedValueUtils.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMButton.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMForm.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMImg.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMInput.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMOption.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMSelect.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/ReactDOMTextarea.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/components/createFullPageComponent.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/dangerousStyleValue.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/filterAttributes.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventKey.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/getEventTarget.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/getNodeForCharacterOffset.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/getTextContentAccessor.js +D src/plone/staticresources/static/components/react/src/browser/ui/dom/isEventSupported.js +D src/plone/staticresources/static/components/react/src/browser/ui/getReactRootElementInContainer.js +D src/plone/staticresources/static/components/react/src/core/ReactComponent.js +D src/plone/staticresources/static/components/react/src/core/ReactCompositeComponent.js +D src/plone/staticresources/static/components/react/src/core/ReactContext.js +D src/plone/staticresources/static/components/react/src/core/ReactCurrentOwner.js +D src/plone/staticresources/static/components/react/src/core/ReactDefaultBatchingStrategy.js +D src/plone/staticresources/static/components/react/src/core/ReactDoNotBindDeprecated.js +D src/plone/staticresources/static/components/react/src/core/ReactEventEmitterMixin.js +D src/plone/staticresources/static/components/react/src/core/ReactInstanceHandles.js +D src/plone/staticresources/static/components/react/src/core/ReactMountReady.js +D src/plone/staticresources/static/components/react/src/core/ReactMultiChild.js +D src/plone/staticresources/static/components/react/src/core/ReactMultiChildUpdateTypes.js +D src/plone/staticresources/static/components/react/src/core/ReactOwner.js +D src/plone/staticresources/static/components/react/src/core/ReactPropTransferer.js +D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocationNames.js +D src/plone/staticresources/static/components/react/src/core/ReactPropTypeLocations.js +D src/plone/staticresources/static/components/react/src/core/ReactPropTypes.js +D src/plone/staticresources/static/components/react/src/core/ReactRootIndex.js +D src/plone/staticresources/static/components/react/src/core/ReactStateSetters.js +D src/plone/staticresources/static/components/react/src/core/ReactUpdates.js +D src/plone/staticresources/static/components/react/src/core/instantiateReactComponent.js +D src/plone/staticresources/static/components/react/src/core/shouldUpdateReactComponent.js +D src/plone/staticresources/static/components/react/src/event/EventConstants.js +D src/plone/staticresources/static/components/react/src/event/EventPluginHub.js +D src/plone/staticresources/static/components/react/src/event/EventPluginRegistry.js +D src/plone/staticresources/static/components/react/src/event/EventPluginUtils.js +D src/plone/staticresources/static/components/react/src/event/EventPropagators.js +D src/plone/staticresources/static/components/react/src/package.json +D src/plone/staticresources/static/components/react/src/utils/LegacyImmutableObject.js +D src/plone/staticresources/static/components/react/src/utils/OrderedMap.js +D src/plone/staticresources/static/components/react/src/utils/PooledClass.js +D src/plone/staticresources/static/components/react/src/utils/ReactChildren.js +D src/plone/staticresources/static/components/react/src/utils/Transaction.js +D src/plone/staticresources/static/components/react/src/utils/accumulate.js +D src/plone/staticresources/static/components/react/src/utils/adler32.js +D src/plone/staticresources/static/components/react/src/utils/cloneWithProps.js +D src/plone/staticresources/static/components/react/src/utils/escapeTextForBrowser.js +D src/plone/staticresources/static/components/react/src/utils/flattenChildren.js +D src/plone/staticresources/static/components/react/src/utils/forEachAccumulated.js +D src/plone/staticresources/static/components/react/src/utils/isTextInputElement.js +D src/plone/staticresources/static/components/react/src/utils/joinClasses.js +D src/plone/staticresources/static/components/react/src/utils/keyMirror.js +D src/plone/staticresources/static/components/react/src/utils/memoizeStringOnly.js +D src/plone/staticresources/static/components/react/src/utils/mixInto.js +D src/plone/staticresources/static/components/react/src/utils/objMapKeyVal.js +D src/plone/staticresources/static/components/react/src/utils/onlyChild.js +D src/plone/staticresources/static/components/react/src/utils/shallowEqual.js +D src/plone/staticresources/static/components/react/src/utils/sliceChildren.js +D src/plone/staticresources/static/components/react/src/utils/traverseAllChildren.js +D src/plone/staticresources/static/components/react/src/vendor/core/CSSCore.js +D src/plone/staticresources/static/components/react/src/vendor/core/ExecutionEnvironment.js +D src/plone/staticresources/static/components/react/src/vendor/core/TouchEventUtils.js +D src/plone/staticresources/static/components/react/src/vendor/core/copyProperties.js +D src/plone/staticresources/static/components/react/src/vendor/core/createArrayFrom.js +D src/plone/staticresources/static/components/react/src/vendor/core/createNodesFromMarkup.js +D src/plone/staticresources/static/components/react/src/vendor/core/createObjectFrom.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/containsNode.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/focusNode.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/getActiveElement.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/getUnboundedScrollPosition.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/isNode.js +D src/plone/staticresources/static/components/react/src/vendor/core/dom/isTextNode.js +D src/plone/staticresources/static/components/react/src/vendor/core/emptyFunction.js +D src/plone/staticresources/static/components/react/src/vendor/core/emptyObject.js +D src/plone/staticresources/static/components/react/src/vendor/core/getMarkupWrap.js +D src/plone/staticresources/static/components/react/src/vendor/core/hyphenate.js +D src/plone/staticresources/static/components/react/src/vendor/core/invariant.js +D src/plone/staticresources/static/components/react/src/vendor/core/keyOf.js +D src/plone/staticresources/static/components/react/src/vendor/core/merge.js +D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeep.js +D src/plone/staticresources/static/components/react/src/vendor/core/mergeDeepInto.js +D src/plone/staticresources/static/components/react/src/vendor/core/mergeHelpers.js +D src/plone/staticresources/static/components/react/src/vendor/core/mergeInto.js +D src/plone/staticresources/static/components/react/src/vendor/core/monitorCodeUse.js +D src/plone/staticresources/static/components/react/src/vendor/core/nativeRequestAnimationFrame.js +D src/plone/staticresources/static/components/react/src/vendor/core/objMap.js +D src/plone/staticresources/static/components/react/src/vendor/core/requestAnimationFrame.js +D src/plone/staticresources/static/components/react/src/vendor/core/toArray.js +D src/plone/staticresources/static/components/react/src/vendor/core/warning.js +D src/plone/staticresources/static/components/react/src/vendor/immutable/Immutable.js +D src/plone/staticresources/static/components/react/src/vendor/immutable/ImmutableObject.js +D src/plone/staticresources/static/components/react/src/vendor/stubs/EventListener.js +D src/plone/staticresources/static/components/react/src/vendor/stubs/ReactErrorUtils.js +D src/plone/staticresources/static/components/react/src/vendor/stubs/cx.js +D src/plone/staticresources/static/components/react/starter/README.md +D src/plone/staticresources/static/components/react/vendor/browser-transforms.js +D src/plone/staticresources/static/components/react/vendor/constants.js +D src/plone/staticresources/static/components/react/vendor/fbtransform/syntax.js +D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/react.js +D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/reactDisplayName.js +D src/plone/staticresources/static/components/react/vendor/fbtransform/transforms/xjs.js +D src/plone/staticresources/static/components/react/vendor/fbtransform/visitors.js +D src/plone/staticresources/static/components/react/vendor/jasmine-jsreporter/jasmine-jsreporter.js +D src/plone/staticresources/static/components/react/vendor/jasmine/HtmlReporter.js +D src/plone/staticresources/static/components/react/vendor/jasmine/PrintReporter.js +D src/plone/staticresources/static/components/react/vendor/jasmine/ReporterView.js +D src/plone/staticresources/static/components/react/vendor/jasmine/SpecView.js +D src/plone/staticresources/static/components/react/vendor/jasmine/SuiteView.js +D src/plone/staticresources/static/components/react/vendor/jasmine/all.js +D src/plone/staticresources/static/components/react/vendor/jasmine/console.js +D src/plone/staticresources/static/components/react/vendor/jasmine/diff.js +D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-html.js +D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine-support.js +D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.css +D src/plone/staticresources/static/components/react/vendor/jasmine/jasmine.js +D src/plone/staticresources/static/components/react/vendor/jasmine/phantom.js +D src/plone/staticresources/static/components/recast/.travis.yml +D src/plone/staticresources/static/components/recast/LICENSE +D src/plone/staticresources/static/components/recast/README.md +D src/plone/staticresources/static/components/recast/example/add-braces +D src/plone/staticresources/static/components/recast/example/generic-identity +D src/plone/staticresources/static/components/recast/example/identity +D src/plone/staticresources/static/components/recast/example/to-while +D src/plone/staticresources/static/components/recast/lib/comments.js +D src/plone/staticresources/static/components/recast/lib/lines.js +D src/plone/staticresources/static/components/recast/lib/mapping.js +D src/plone/staticresources/static/components/recast/lib/options.js +D src/plone/staticresources/static/components/recast/lib/parser.js +D src/plone/staticresources/static/components/recast/lib/patcher.js +D src/plone/staticresources/static/components/recast/lib/printer.js +D src/plone/staticresources/static/components/recast/lib/types.js +D src/plone/staticresources/static/components/recast/lib/util.js +D src/plone/staticresources/static/components/recast/lib/visitor.js +D src/plone/staticresources/static/components/recast/main.js +D src/plone/staticresources/static/components/recast/node_modules/esprima-fb/esprima.js +D src/plone/staticresources/static/components/recast/node_modules/source-map/LICENSE +D src/plone/staticresources/static/components/recast/node_modules/source-map/Makefile.dryice.js +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/assert-shim.js +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/mini-require.js +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-source-map.jsm +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/prefix-utils.jsm +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-browser.js +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-source-map.jsm +D src/plone/staticresources/static/components/recast/node_modules/source-map/build/suffix-utils.jsm +D src/plone/staticresources/static/components/recast/package.json +D src/plone/staticresources/static/components/sigmund/LICENSE +D src/plone/staticresources/static/components/sigmund/README.md +D src/plone/staticresources/static/components/sigmund/bench.js +D src/plone/staticresources/static/components/sigmund/package.json +D src/plone/staticresources/static/components/sigmund/sigmund.js + +b'diff --git a/src/plone/staticresources/static/components/amdefine/LICENSE b/src/plone/staticresources/static/components/amdefine/LICENSE\ndeleted file mode 100644\nindex 9b25ee00..00000000\n--- a/src/plone/staticresources/static/components/amdefine/LICENSE\n+++ /dev/null\n@@ -1,58 +0,0 @@\n-amdefine is released under two licenses: new BSD, and MIT. You may pick the\n-license that best suits your development needs. The text of both licenses are\n-provided below.\n-\n-\n-The "New" BSD License:\n-----------------------\n-\n-Copyright (c) 2011-2016, The Dojo Foundation\n-All rights reserved.\n-\n-Redistribution and use in source and binary forms, with or without\n-modification, are permitted provided that the following conditions are met:\n-\n- * Redistributions of source code must retain the above copyright notice, this\n- list of conditions and the following disclaimer.\n- * Redistributions in binary form must reproduce the above copyright notice,\n- this list of conditions and the following disclaimer in the documentation\n- and/or other materials provided with the distribution.\n- * Neither the name of the Dojo Foundation nor the names of its contributors\n- may be used to endorse or promote products derived from this software\n- without specific prior written permission.\n-\n-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\n-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n-\n-\n-\n-MIT License\n------------\n-\n-Copyright (c) 2011-2016, The Dojo Foundation\n-\n-Permission is hereby granted, free of charge, to any person obtaining a copy\n-of this software and associated documentation files (the "Software"), to deal\n-in the Software without restriction, including without limitation the rights\n-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n-copies of the Software, and to permit persons to whom the Software is\n-furnished to do so, subject to the following conditions:\n-\n-The above copyright notice and this permission notice shall be included in\n-all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n-THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/amdefine/README.md b/src/plone/staticresources/static/components/amdefine/README.md\ndeleted file mode 100644\nindex 037a6e81..00000000\n--- a/src/plone/staticresources/static/components/amdefine/README.md\n+++ /dev/null\n@@ -1,171 +0,0 @@\n-# amdefine\n-\n-A module that can be used to implement AMD\'s define() in Node. This allows you\n-to code to the AMD API and have the module work in node programs without\n-requiring those other programs to use AMD.\n-\n-## Usage\n-\n-**1)** Update your package.json to indicate amdefine as a dependency:\n-\n-```javascript\n- "dependencies": {\n- "amdefine": ">=0.1.0"\n- }\n-```\n-\n-Then run `npm install` to get amdefine into your project.\n-\n-**2)** At the top of each module that uses define(), place this code:\n-\n-```javascript\n-if (typeof define !== \'function\') { var define = require(\'amdefine\')(module) }\n-```\n-\n-**Only use these snippets** when loading amdefine. If you preserve the basic structure,\n-with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n-\n-You can add spaces, line breaks and even require amdefine with a local path, but\n-keep the rest of the structure to get the stripping behavior.\n-\n-As you may know, because `if` statements in JavaScript don\'t have their own scope, the var\n-declaration in the above snippet is made whether the `if` expression is truthy or not. If\n-RequireJS is loaded then the declaration is superfluous because `define` is already already\n-declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\n-declarations of the same variable in the same scope gracefully.\n-\n-If you want to deliver amdefine.js with your code rather than specifying it as a dependency\n-with npm, then just download the latest release and refer to it using a relative path:\n-\n-[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n-\n-### amdefine/intercept\n-\n-Consider this very experimental.\n-\n-Instead of pasting the piece of text for the amdefine setup of a `define`\n-variable in each module you create or consume, you can use `amdefine/intercept`\n-instead. It will automatically insert the above snippet in each .js file loaded\n-by Node.\n-\n-**Warning**: you should only use this if you are creating an application that\n-is consuming AMD style defined()\'d modules that are distributed via npm and want\n-to run that code in Node.\n-\n-For library code where you are not sure if it will be used by others in Node or\n-in the browser, then explicitly depending on amdefine and placing the code\n-snippet above is suggested path, instead of using `amdefine/intercept`. The\n-intercept module affects all .js files loaded in the Node app, and it is\n-inconsiderate to modify global state like that unless you are also controlling\n-the top level app.\n-\n-#### Why distribute AMD-style modules via npm?\n-\n-npm has a lot of weaknesses for front-end use (installed layout is not great,\n-should have better support for the `baseUrl + moduleID + \'.js\' style of loading,\n-single file JS installs), but some people want a JS package manager and are\n-willing to live with those constraints. If that is you, but still want to author\n-in AMD style modules to get dynamic require([]), better direct source usage and\n-powerful loader plugin support in the browser, then this tool can help.\n-\n-#### amdefine/intercept usage\n-\n-Just require it in your top level app module (for example index.js, server.js):\n-\n-```javascript\n-require(\'amdefine/intercept\');\n-```\n-\n-The module does not return a value, so no need to assign the result to a local\n-variable.\n-\n-Then just require() code as you normally would with Node\'s require(). Any .js\n-loaded after the intercept require will have the amdefine check injected in\n-the .js source as it is loaded. It does not modify the source on disk, just\n-prepends some content to the text of the module as it is loaded by Node.\n-\n-#### How amdefine/intercept works\n-\n-It overrides the `Module._extensions[\'.js\']` in Node to automatically prepend\n-the amdefine snippet above. So, it will affect any .js file loaded by your\n-app.\n-\n-## define() usage\n-\n-It is best if you use the anonymous forms of define() in your module:\n-\n-```javascript\n-define(function (require) {\n- var dependency = require(\'dependency\');\n-});\n-```\n-\n-or\n-\n-```javascript\n-define([\'dependency\'], function (dependency) {\n-\n-});\n-```\n-\n-## RequireJS optimizer integration. \n-\n-Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\n-will have support for stripping the `if (typeof define !== \'function\')` check\n-mentioned above, so you can include this snippet for code that runs in the\n-browser, but avoid taking the cost of the if() statement once the code is\n-optimized for deployment.\n-\n-## Node 0.4 Support\n-\n-If you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n-\n-```javascript\n-//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\n-if (typeof define !== \'function\') { var define = require(\'amdefine\')(module, require) }\n-```\n-\n-## Limitations\n-\n-### Synchronous vs Asynchronous\n-\n-amdefine creates a define() function that is callable by your code. It will\n-execute and trace dependencies and call the factory function *synchronously*,\n-to keep the behavior in line with Node\'s synchronous dependency tracing.\n-\n-The exception: calling AMD\'s callback-style require() from inside a factory\n-function. The require callback is called on process.nextTick():\n-\n-```javascript\n-define(function (require) {\n- require([\'a\'], function(a) {\n- //\'a\' is loaded synchronously, but\n- //this callback is called on process.nextTick().\n- });\n-});\n-```\n-\n-### Loader Plugins\n-\n-Loader plugins are supported as long as they call their load() callbacks\n-synchronously. So ones that do network requests will not work. However plugins\n-like [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n-\n-The plugin API\'s `load.fromText()` is **not supported** in amdefine, so this means\n-transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\n-will not work. This may be fixable, but it is a bit complex, and I do not have\n-enough node-fu to figure it out yet. See the source for amdefine.js if you want\n-to get an idea of the issues involved.\n-\n-## Tests\n-\n-To run the tests, cd to **tests** and run:\n-\n-```\n-node all.js\n-node all-intercept.js\n-```\n-\n-## License\n-\n-New BSD and MIT. Check the LICENSE file for all the details.\ndiff --git a/src/plone/staticresources/static/components/amdefine/amdefine.js b/src/plone/staticresources/static/components/amdefine/amdefine.js\ndeleted file mode 100644\nindex ca830ba4..00000000\n--- a/src/plone/staticresources/static/components/amdefine/amdefine.js\n+++ /dev/null\n@@ -1,301 +0,0 @@\n-/** vim: et:ts=4:sw=4:sts=4\n- * @license amdefine 1.0.1 Copyright (c) 2011-2016, The Dojo Foundation All Rights Reserved.\n- * Available via the MIT or new BSD license.\n- * see: http://github.com/jrburke/amdefine for details\n- */\n-\n-/*jslint node: true */\n-/*global module, process */\n-\'use strict\';\n-\n-/**\n- * Creates a define for node.\n- * @param {Object} module the "module" object that is defined by Node for the\n- * current module.\n- * @param {Function} [requireFn]. Node\'s require function for the current module.\n- * It only needs to be passed in Node versions before 0.5, when module.require\n- * did not exist.\n- * @returns {Function} a define function that is usable for the current node\n- * module.\n- */\n-function amdefine(module, requireFn) {\n- \'use strict\';\n- var defineCache = {},\n- loaderCache = {},\n- alreadyCalled = false,\n- path = require(\'path\'),\n- makeRequire, stringRequire;\n-\n- /**\n- * Trims the . and .. from an array of path segments.\n- * It will keep a leading path segment if a .. will become\n- * the first path segment, to help with module name lookups,\n- * which act like paths, but can be remapped. But the end result,\n- * all paths that use this function should look normalized.\n- * NOTE: this method MODIFIES the input array.\n- * @param {Array} ary the array of path segments.\n- */\n- function trimDots(ary) {\n- var i, part;\n- for (i = 0; ary[i]; i+= 1) {\n- part = ary[i];\n- if (part === \'.\') {\n- ary.splice(i, 1);\n- i -= 1;\n- } else if (part === \'..\') {\n- if (i === 1 && (ary[2] === \'..\' || ary[0] === \'..\')) {\n- //End of the line. Keep at least one non-dot\n- //path segment at the front so it can be mapped\n- //correctly to disk. Otherwise, there is likely\n- //no path mapping for a path starting with \'..\'.\n- //This can still fail, but catches the most reasonable\n- //uses of ..\n- break;\n- } else if (i > 0) {\n- ary.splice(i - 1, 2);\n- i -= 2;\n- }\n- }\n- }\n- }\n-\n- function normalize(name, baseName) {\n- var baseParts;\n-\n- //Adjust any relative paths.\n- if (name && name.charAt(0) === \'.\') {\n- //If have a base name, try to normalize against it,\n- //otherwise, assume it is a top-level require that will\n- //be relative to baseUrl in the end.\n- if (baseName) {\n- baseParts = baseName.split(\'/\');\n- baseParts = baseParts.slice(0, baseParts.length - 1);\n- baseParts = baseParts.concat(name.split(\'/\'));\n- trimDots(baseParts);\n- name = baseParts.join(\'/\');\n- }\n- }\n-\n- return name;\n- }\n-\n- /**\n- * Create the normalize() function passed to a loader plugin\'s\n- * normalize method.\n- */\n- function makeNormalize(relName) {\n- return function (name) {\n- return normalize(name, relName);\n- };\n- }\n-\n- function makeLoad(id) {\n- function load(value) {\n- loaderCache[id] = value;\n- }\n-\n- load.fromText = function (id, text) {\n- //This one is difficult because the text can/probably uses\n- //define, and any relative paths and requires should be relative\n- //to that id was it would be found on disk. But this would require\n- //bootstrapping a module/require fairly deeply from node core.\n- //Not sure how best to go about that yet.\n- throw new Error(\'amdefine does not implement load.fromText\');\n- };\n-\n- return load;\n- }\n-\n- makeRequire = function (systemRequire, exports, module, relId) {\n- function amdRequire(deps, callback) {\n- if (typeof deps === \'string\') {\n- //Synchronous, single module require(\'\')\n- return stringRequire(systemRequire, exports, module, deps, relId);\n- } else {\n- //Array of dependencies with a callback.\n-\n- //Convert the dependencies to modules.\n- deps = deps.map(function (depName) {\n- return stringRequire(systemRequire, exports, module, depName, relId);\n- });\n-\n- //Wait for next tick to call back the require call.\n- if (callback) {\n- process.nextTick(function () {\n- callback.apply(null, deps);\n- });\n- }\n- }\n- }\n-\n- amdRequire.toUrl = function (filePath) {\n- if (filePath.indexOf(\'.\') === 0) {\n- return normalize(filePath, path.dirname(module.filename));\n- } else {\n- return filePath;\n- }\n- };\n-\n- return amdRequire;\n- };\n-\n- //Favor explicit value, passed in if the module wants to support Node 0.4.\n- requireFn = requireFn || function req() {\n- return module.require.apply(module, arguments);\n- };\n-\n- function runFactory(id, deps, factory) {\n- var r, e, m, result;\n-\n- if (id) {\n- e = loaderCache[id] = {};\n- m = {\n- id: id,\n- uri: __filename,\n- exports: e\n- };\n- r = makeRequire(requireFn, e, m, id);\n- } else {\n- //Only support one define call per file\n- if (alreadyCalled) {\n- throw new Error(\'amdefine with no module ID cannot be called more than once per file.\');\n- }\n- alreadyCalled = true;\n-\n- //Use the real variables from node\n- //Use module.exports for exports, since\n- //the exports in here is amdefine exports.\n- e = module.exports;\n- m = module;\n- r = makeRequire(requireFn, e, m, module.id);\n- }\n-\n- //If there are dependencies, they are strings, so need\n- //to convert them to dependency values.\n- if (deps) {\n- deps = deps.map(function (depName) {\n- return r(depName);\n- });\n- }\n-\n- //Call the factory with the right dependencies.\n- if (typeof factory === \'function\') {\n- result = factory.apply(m.exports, deps);\n- } else {\n- result = factory;\n- }\n-\n- if (result !== undefined) {\n- m.exports = result;\n- if (id) {\n- loaderCache[id] = m.exports;\n- }\n- }\n- }\n-\n- stringRequire = function (systemRequire, exports, module, id, relId) {\n- //Split the ID by a ! so that\n- var index = id.indexOf(\'!\'),\n- originalId = id,\n- prefix, plugin;\n-\n- if (index === -1) {\n- id = normalize(id, relId);\n-\n- //Straight module lookup. If it is one of the special dependencies,\n- //deal with it, otherwise, delegate to node.\n- if (id === \'require\') {\n- return makeRequire(systemRequire, exports, module, relId);\n- } else if (id === \'exports\') {\n- return exports;\n- } else if (id === \'module\') {\n- return module;\n- } else if (loaderCache.hasOwnProperty(id)) {\n- return loaderCache[id];\n- } else if (defineCache[id]) {\n- runFactory.apply(null, defineCache[id]);\n- return loaderCache[id];\n- } else {\n- if(systemRequire) {\n- return systemRequire(originalId);\n- } else {\n- throw new Error(\'No module with ID: \' + id);\n- }\n- }\n- } else {\n- //There is a plugin in play.\n- prefix = id.substring(0, index);\n- id = id.substring(index + 1, id.length);\n-\n- plugin = stringRequire(systemRequire, exports, module, prefix, relId);\n-\n- if (plugin.normalize) {\n- id = plugin.normalize(id, makeNormalize(relId));\n- } else {\n- //Normalize the ID normally.\n- id = normalize(id, relId);\n- }\n-\n- if (loaderCache[id]) {\n- return loaderCache[id];\n- } else {\n- plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {});\n-\n- return loaderCache[id];\n- }\n- }\n- };\n-\n- //Create a define function specific to the module asking for amdefine.\n- function define(id, deps, factory) {\n- if (Array.isArray(id)) {\n- factory = deps;\n- deps = id;\n- id = undefined;\n- } else if (typeof id !== \'string\') {\n- factory = id;\n- id = deps = undefined;\n- }\n-\n- if (deps && !Array.isArray(deps)) {\n- factory = deps;\n- deps = undefined;\n- }\n-\n- if (!deps) {\n- deps = [\'require\', \'exports\', \'module\'];\n- }\n-\n- //Set up properties for this module. If an ID, then use\n- //internal cache. If no ID, then use the external variables\n- //for this node module.\n- if (id) {\n- //Put the module in deep freeze until there is a\n- //require call for it.\n- defineCache[id] = [id, deps, factory];\n- } else {\n- runFactory(id, deps, factory);\n- }\n- }\n-\n- //define.require, which has access to all the values in the\n- //cache. Useful for AMD modules that all have IDs in the file,\n- //but need to finally export a value to node based on one of those\n- //IDs.\n- define.require = function (id) {\n- if (loaderCache[id]) {\n- return loaderCache[id];\n- }\n-\n- if (defineCache[id]) {\n- runFactory.apply(null, defineCache[id]);\n- return loaderCache[id];\n- }\n- };\n-\n- define.amd = {};\n-\n- return define;\n-}\n-\n-module.exports = amdefine;\ndiff --git a/src/plone/staticresources/static/components/amdefine/intercept.js b/src/plone/staticresources/static/components/amdefine/intercept.js\ndeleted file mode 100644\nindex 771a9830..00000000\n--- a/src/plone/staticresources/static/components/amdefine/intercept.js\n+++ /dev/null\n@@ -1,36 +0,0 @@\n-/*jshint node: true */\n-var inserted,\n- Module = require(\'module\'),\n- fs = require(\'fs\'),\n- existingExtFn = Module._extensions[\'.js\'],\n- amdefineRegExp = /amdefine\\.js/;\n-\n-inserted = "if (typeof define !== \'function\') {var define = require(\'amdefine\')(module)}";\n-\n-//From the node/lib/module.js source:\n-function stripBOM(content) {\n- // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n- // because the buffer-to-string conversion in `fs.readFileSync()`\n- // translates it to FEFF, the UTF-16 BOM.\n- if (content.charCodeAt(0) === 0xFEFF) {\n- content = content.slice(1);\n- }\n- return content;\n-}\n-\n-//Also adapted from the node/lib/module.js source:\n-function intercept(module, filename) {\n- var content = stripBOM(fs.readFileSync(filename, \'utf8\'));\n-\n- if (!amdefineRegExp.test(module.id)) {\n- content = inserted + content;\n- }\n-\n- module._compile(content, filename);\n-}\n-\n-intercept._id = \'amdefine/intercept\';\n-\n-if (!existingExtFn._id || existingExtFn._id !== intercept._id) {\n- Module._extensions[\'.js\'] = intercept;\n-}\ndiff --git a/src/plone/staticresources/static/components/amdefine/package.json b/src/plone/staticresources/static/components/amdefine/package.json\ndeleted file mode 100644\nindex 8be17140..00000000\n--- a/src/plone/staticresources/static/components/amdefine/package.json\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-{\n- "name": "amdefine",\n- "description": "Provide AMD\'s define() API for declaring modules in the AMD format",\n- "version": "1.0.1",\n- "homepage": "http://github.com/jrburke/amdefine",\n- "author": "James Burke (http://github.com/jrburke)",\n- "license": "BSD-3-Clause OR MIT",\n- "repository": {\n- "type": "git",\n- "url": "https://github.com/jrburke/amdefine.git"\n- },\n- "main": "./amdefine.js",\n- "engines": {\n- "node": ">=0.4.2"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/ast-types/.travis.yml b/src/plone/staticresources/static/components/ast-types/.travis.yml\ndeleted file mode 100644\nindex ed05f88d..00000000\n--- a/src/plone/staticresources/static/components/ast-types/.travis.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-language: node_js\n-node_js:\n- - "0.11"\n- - "0.10"\n- - "0.8"\n- - "0.6"\ndiff --git a/src/plone/staticresources/static/components/ast-types/LICENSE b/src/plone/staticresources/static/components/ast-types/LICENSE\ndeleted file mode 100644\nindex 3f9d40b5..00000000\n--- a/src/plone/staticresources/static/components/ast-types/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2013 Ben Newman \n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/ast-types/README.md b/src/plone/staticresources/static/components/ast-types/README.md\ndeleted file mode 100644\nindex 70f07151..00000000\n--- a/src/plone/staticresources/static/components/ast-types/README.md\n+++ /dev/null\n@@ -1,475 +0,0 @@\n-AST Types\n-===\n-\n-This module provides an efficient, modular,\n-[Esprima](https://github.com/ariya/esprima)-compatible implementation of\n-the [abstract syntax\n-tree](http://en.wikipedia.org/wiki/Abstract_syntax_tree) type hierarchy\n-pioneered by the [Mozilla Parser\n-API](https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API).\n-\n-[![Build Status](https://travis-ci.org/benjamn/ast-types.png?branch=master)](https://travis-ci.org/benjamn/ast-types)\n-\n-Installation\n----\n-\n-From NPM:\n-\n- npm install ast-types\n-\n-From GitHub:\n-\n- cd path/to/node_modules\n- git clone git://github.com/benjamn/ast-types.git\n- cd ast-types\n- npm install .\n-\n-Basic Usage\n----\n-```js\n-var assert = require("assert");\n-var n = require("ast-types").namedTypes;\n-var b = require("ast-types").builders;\n-\n-var fooId = b.identifier("foo");\n-var ifFoo = b.ifStatement(fooId, b.blockStatement([\n- b.expressionStatement(b.callExpression(fooId, []))\n-]));\n-\n-assert.ok(n.IfStatement.check(ifFoo));\n-assert.ok(n.Statement.check(ifFoo));\n-assert.ok(n.Node.check(ifFoo));\n-\n-assert.ok(n.BlockStatement.check(ifFoo.consequent));\n-assert.strictEqual(\n- ifFoo.consequent.body[0].expression.arguments.length,\n- 0);\n-\n-assert.strictEqual(ifFoo.test, fooId);\n-assert.ok(n.Expression.check(ifFoo.test));\n-assert.ok(n.Identifier.check(ifFoo.test));\n-assert.ok(!n.Statement.check(ifFoo.test));\n-```\n-\n-AST Traversal\n----\n-\n-Because it understands the AST type system so thoroughly, this library\n-is able to provide excellent node iteration and traversal mechanisms.\n-\n-If you want complete control over the traversal, and all you need is a way\n-of enumerating the known fields of your AST nodes and getting their\n-values, you may be interested in the primitives `getFieldNames` and\n-`getFieldValue`:\n-```js\n-var types = require("ast-types");\n-var partialFunExpr = { type: "FunctionExpression" };\n-\n-// Even though partialFunExpr doesn\'t actually contain all the fields that\n-// are expected for a FunctionExpression, types.getFieldNames knows:\n-console.log(types.getFieldNames(partialFunExpr));\n-// [ \'type\', \'id\', \'params\', \'body\', \'generator\', \'expression\',\n-// \'defaults\', \'rest\', \'async\' ]\n-\n-// For fields that have default values, types.getFieldValue will return\n-// the default if the field is not actually defined.\n-console.log(types.getFieldValue(partialFunExpr, "generator"));\n-// false\n-```\n-\n-Two more low-level helper functions, `eachField` and `someField`, are\n-defined in terms of `getFieldNames` and `getFieldValue`:\n-```js\n-// Iterate over all defined fields of an object, including those missing\n-// or undefined, passing each field name and effective value (as returned\n-// by getFieldValue) to the callback. If the object has no corresponding\n-// Def, the callback will never be called.\n-exports.eachField = function(object, callback, context) {\n- getFieldNames(object).forEach(function(name) {\n- callback.call(this, name, getFieldValue(object, name));\n- }, context);\n-};\n-\n-// Similar to eachField, except that iteration stops as soon as the\n-// callback returns a truthy value. Like Array.prototype.some, the final\n-// result is either true or false to indicates whether the callback\n-// returned true for any element or not.\n-exports.someField = function(object, callback, context) {\n- return getFieldNames(object).some(function(name) {\n- return callback.call(this, name, getFieldValue(object, name));\n- }, context);\n-};\n-```\n-\n-So here\'s how you might make a copy of an AST node:\n-```js\n-var copy = {};\n-require("ast-types").eachField(node, function(name, value) {\n- // Note that undefined fields will be visited too, according to\n- // the rules associated with node.type, and default field values\n- // will be substituted if appropriate.\n- copy[name] = value;\n-})\n-```\n-\n-But that\'s not all! You can also easily visit entire syntax trees using\n-the powerful `types.visit` abstraction.\n-\n-Here\'s a trivial example of how you might assert that `arguments.callee`\n-is never used in `ast`:\n-```js\n-var assert = require("assert");\n-var types = require("ast-types");\n-var n = types.namedTypes;\n-\n-types.visit(ast, {\n- // This method will be called for any node with .type "MemberExpression":\n- visitMemberExpression: function(path) {\n- // Visitor methods receive a single argument, a NodePath object\n- // wrapping the node of interest.\n- var node = path.node;\n-\n- if (n.Identifier.check(node.object) &&\n- node.object.name === "arguments" &&\n- n.Identifier.check(node.property)) {\n- assert.notStrictEqual(node.property.name, "callee");\n- }\n-\n- // It\'s your responsibility to call this.traverse with some\n- // NodePath object (usually the one passed into the visitor\n- // method) before the visitor method returns, or return false to\n- // indicate that the traversal need not continue any further down\n- // this subtree.\n- this.traverse(path);\n- }\n-});\n-```\n-\n-Here\'s a slightly more involved example of transforming `...rest`\n-parameters into browser-runnable ES5 JavaScript:\n-\n-```js\n-var b = types.builders;\n-\n-// Reuse the same AST structure for Array.prototype.slice.call.\n-var sliceExpr = b.memberExpression(\n- b.memberExpression(\n- b.memberExpression(\n- b.identifier("Array"),\n- b.identifier("prototype"),\n- false\n- ),\n- b.identifier("slice"),\n- false\n- ),\n- b.identifier("call"),\n- false\n-);\n-\n-types.visit(ast, {\n- // This method will be called for any node whose type is a subtype of\n- // Function (e.g., FunctionDeclaration, FunctionExpression, and\n- // ArrowFunctionExpression). Note that types.visit precomputes a\n- // lookup table from every known type to the appropriate visitor\n- // method to call for nodes of that type, so the dispatch takes\n- // constant time.\n- visitFunction: function(path) {\n- // Visitor methods receive a single argument, a NodePath object\n- // wrapping the node of interest.\n- var node = path.node;\n-\n- // It\'s your responsibility to call this.traverse with some\n- // NodePath object (usually the one passed into the visitor\n- // method) before the visitor method returns, or return false to\n- // indicate that the traversal need not continue any further down\n- // this subtree. An assertion will fail if you forget, which is\n- // awesome, because it means you will never again make the\n- // disastrous mistake of forgetting to traverse a subtree. Also\n- // cool: because you can call this method at any point in the\n- // visitor method, it\'s up to you whether your traversal is\n- // pre-order, post-order, or both!\n- this.traverse(path);\n-\n- // This traversal is only concerned with Function nodes that have\n- // rest parameters.\n- if (!node.rest) {\n- return;\n- }\n-\n- // For the purposes of this example, we won\'t worry about functions\n- // with Expression bodies.\n- n.BlockStatement.assert(node.body);\n-\n- // Use types.builders to build a variable declaration of the form\n- //\n- // var rest = Array.prototype.slice.call(arguments, n);\n- //\n- // where `rest` is the name of the rest parameter, and `n` is a\n- // numeric literal specifying the number of named parameters the\n- // function takes.\n- var restVarDecl = b.variableDeclaration("var", [\n- b.variableDeclarator(\n- node.rest,\n- b.callExpression(sliceExpr, [\n- b.identifier("arguments"),\n- b.literal(node.params.length)\n- ])\n- )\n- ]);\n-\n- // Similar to doing node.body.body.unshift(restVarDecl), except\n- // that the other NodePath objects wrapping body statements will\n- // have their indexes updated to accommodate the new statement.\n- path.get("body", "body").unshift(restVarDecl);\n-\n- // Nullify node.rest now that we have simulated the behavior of\n- // the rest parameter using ordinary JavaScript.\n- path.get("rest").replace(null);\n-\n- // There\'s nothing wrong with doing node.rest = null, but I wanted\n- // to point out that the above statement has the same effect.\n- assert.strictEqual(node.rest, null);\n- }\n-});\n-```\n-\n-Here\'s how you might use `types.visit` to implement a function that\n-determines if a given function node refers to `this`:\n-\n-```js\n-function usesThis(funcNode) {\n- n.Function.assert(funcNode);\n- var result = false;\n-\n- types.visit(funcNode, {\n- visitThisExpression: function(path) {\n- result = true;\n-\n- // ThisExpression nodes don\'t have any children, so it\n- // wouldn\'t hurt to call this.traverse(path) here instead of\n- // returning false. Either way, we\'re done with this subtree.\n- return false;\n- },\n-\n- visitFunction: function(path) {\n- // ThisExpression nodes in nested scopes don\'t count as `this`\n- // references for the original function node, so we can safely\n- // avoid traversing this subtree.\n- return false;\n- },\n-\n- visitCallExpression: function(path) {\n- var node = path.node;\n-\n- // If the function contains CallExpression nodes involving\n- // super, those expressions will implicitly depend on the\n- // value of `this`, even though they do not explicitly contain\n- // any ThisExpression nodes.\n- if (this.isSuperCallExpression(node)) {\n- result = true;\n- return false;\n- }\n-\n- this.traverse(path);\n- },\n-\n- // Yes, you can define arbitrary helper methods.\n- isSuperCallExpression: function(callExpr) {\n- n.CallExpression.assert(callExpr);\n- return this.isSuperIdentifier(callExpr.callee)\n- || this.isSuperMemberExpression(callExpr.callee);\n- },\n-\n- // And even helper helper methods!\n- isSuperIdentifier: function(node) {\n- return n.Identifier.check(node.callee)\n- && node.callee.name === "super";\n- },\n-\n- isSuperMemberExpression: function(node) {\n- return n.MemberExpression.check(node.callee)\n- && n.Identifier.check(node.callee.object)\n- && node.callee.object.name === "super";\n- }\n- });\n-\n- return result;\n-}\n-```\n-\n-NodePath\n----\n-\n-The `NodePath` object passed to visitor methods is a wrapper around an AST\n-node, and it serves to provide access to the chain of ancestor objects\n-(all the way back to the root of the AST) and scope information.\n-\n-In general, `path.node` refers to the wrapped node, `path.parent.node`\n-refers to the nearest `Node` ancestor, `path.parent.parent.node` to the\n-grandparent, and so on.\n-\n-Note that `path.node` may not be a direct property value of\n-`path.parent.node`; for instance, it might be the case that `path.node` is\n-an element of an array that is a direct child of the parent node:\n-```js\n-path.node === path.parent.node.elements[3]\n-```\n-in which case you should know that `path.parentPath` provides\n-finer-grained access to the complete path of objects (not just the `Node`\n-ones) from the root of the AST:\n-```js\n-// In reality, path.parent is the grandparent of path:\n-path.parentPath.parentPath === path.parent\n-\n-// The path.parentPath object wraps the elements array (note that we use\n-// .value because the elements array is not a Node):\n-path.parentPath.value === path.parent.node.elements\n-\n-// The path.node object is the fourth element in that array:\n-path.parentPath.value[3] === path.node\n-\n-// Unlike path.node and path.value, which are synonyms because path.node\n-// is a Node object, path.parentPath.node is distinct from\n-// path.parentPath.value, because the elements array is not a\n-// Node. Instead, path.parentPath.node refers to the closest ancestor\n-// Node, which happens to be the same as path.parent.node:\n-path.parentPath.node === path.parent.node\n-\n-// The path is named for its index in the elements array:\n-path.name === 3\n-\n-// Likewise, path.parentPath is named for the property by which\n-// path.parent.node refers to it:\n-path.parentPath.name === "elements"\n-\n-// Putting it all together, we can follow the chain of object references\n-// from path.parent.node all the way to path.node by accessing each\n-// property by name:\n-path.parent.node[path.parentPath.name][path.name] === path.node\n-```\n-\n-These `NodePath` objects are created during the traversal without\n-modifying the AST nodes themselves, so it\'s not a problem if the same node\n-appears more than once in the AST (like `Array.prototype.slice.call` in\n-the example above), because it will be visited with a distict `NodePath`\n-each time it appears.\n-\n-Child `NodePath` objects are created lazily, by calling the `.get` method\n-of a parent `NodePath` object:\n-```js\n-// If a NodePath object for the elements array has never been created\n-// before, it will be created here and cached in the future:\n-path.get("elements").get(3).value === path.value.elements[3]\n-\n-// Alternatively, you can pass multiple property names to .get instead of\n-// chaining multiple .get calls:\n-path.get("elements", 0).value === path.value.elements[0]\n-```\n-\n-`NodePath` objects support a number of useful methods:\n-```js\n-// Replace one node with another node:\n-var fifth = path.get("elements", 4);\n-fifth.replace(newNode);\n-\n-// Now do some stuff that might rearrange the list, and this replacement\n-// remains safe:\n-fifth.replace(newerNode);\n-\n-// Replace the third element in an array with two new nodes:\n-path.get("elements", 2).replace(\n- b.identifier("foo"),\n- b.thisExpression()\n-);\n-\n-// Remove a node from a list of nodes:\n-path.get("elements", 3).replace();\n-\n-// Add three new nodes to the beginning of a list of nodes:\n-path.get("elements").unshift(a, b, c);\n-\n-// Remove and return the first node in a list of nodes:\n-path.get("elements").shift();\n-\n-// Push two new nodes onto the end of a list of nodes:\n-path.get("elements").push(d, e);\n-\n-// Remove and return the last node in a list of nodes:\n-path.get("elements").pop();\n-\n-// Insert a new node before/after the seventh node in a list of nodes:\n-var seventh = path.get("elements", 6);\n-seventh.insertBefore(newNode);\n-seventh.insertAfter(newNode);\n-\n-// Insert a new element at index 5 in a list of nodes:\n-path.get("elements").insertAt(5, newNode);\n-```\n-\n-Scope\n----\n-\n-The object exposed as `path.scope` during AST traversals provides\n-information about variable and function declarations in the scope that\n-contains `path.node`. See [scope.js](lib/scope.js) for its public\n-interface, which currently includes `.isGlobal`, `.getGlobalScope()`,\n-`.depth`, `.declares(name)`, `.lookup(name)`, and `.getBindings()`.\n-\n-Custom AST Node Types\n----\n-\n-The `ast-types` module was designed to be extended. To that end, it\n-provides a readable, declarative syntax for specifying new AST node types,\n-based primarily upon the `require("ast-types").Type.def` function:\n-```js\n-var types = require("ast-types");\n-var def = types.Type.def;\n-var string = types.builtInTypes.string;\n-var b = types.builders;\n-\n-// Suppose you need a named File type to wrap your Programs.\n-def("File")\n- .bases("Node")\n- .build("name", "program")\n- .field("name", string)\n- .field("program", def("Program"));\n-\n-// Prevent further modifications to the File type (and any other\n-// types newly introduced by def(...)).\n-types.finalize();\n-\n-// The b.file builder function is now available. It expects two\n-// arguments, as named by .build("name", "program") above.\n-var main = b.file("main.js", b.program([\n- // Pointless program contents included for extra color.\n- b.functionDeclaration(b.identifier("succ"), [\n- b.identifier("x")\n- ], b.blockStatement([\n- b.returnStatement(\n- b.binaryExpression(\n- "+", b.identifier("x"), b.literal(1)\n- )\n- )\n- ]))\n-]));\n-\n-assert.strictEqual(main.name, "main.js");\n-assert.strictEqual(main.program.body[0].params[0].name, "x");\n-// etc.\n-\n-// If you pass the wrong type of arguments, or fail to pass enough\n-// arguments, an AssertionError will be thrown.\n-\n-b.file(b.blockStatement([]));\n-// ==> AssertionError: {"body":[],"type":"BlockStatement","loc":null} does not match type string\n-\n-b.file("lib/types.js", b.thisExpression());\n-// ==> AssertionError: {"type":"ThisExpression","loc":null} does not match type Program\n-```\n-The `def` syntax is used to define all the default AST node types found in\n-[core.js](def/core.js),\n-[es6.js](def/es6.js),\n-[mozilla.js](def/mozilla.js),\n-[e4x.js](def/e4x.js), and\n-[fb-harmony.js](def/fb-harmony.js), so you have\n-no shortage of examples to learn from.\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/core.js b/src/plone/staticresources/static/components/ast-types/def/core.js\ndeleted file mode 100644\nindex 7f268fb2..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/core.js\n+++ /dev/null\n@@ -1,346 +0,0 @@\n-var types = require("../lib/types");\n-var Type = types.Type;\n-var def = Type.def;\n-var or = Type.or;\n-var builtin = types.builtInTypes;\n-var isString = builtin.string;\n-var isNumber = builtin.number;\n-var isBoolean = builtin.boolean;\n-var isRegExp = builtin.RegExp;\n-var shared = require("../lib/shared");\n-var defaults = shared.defaults;\n-var geq = shared.geq;\n-\n-def("Node")\n- .field("type", isString)\n- .field("loc", or(\n- def("SourceLocation"),\n- null\n- ), defaults["null"], true);\n-\n-def("SourceLocation")\n- .build("start", "end", "source")\n- .field("start", def("Position"))\n- .field("end", def("Position"))\n- .field("source", or(isString, null), defaults["null"]);\n-\n-def("Position")\n- .build("line", "column")\n- .field("line", geq(1))\n- .field("column", geq(0));\n-\n-def("Program")\n- .bases("Node")\n- .build("body")\n- .field("body", [def("Statement")]);\n-\n-def("Function")\n- .bases("Node")\n- .field("id", or(def("Identifier"), null), defaults["null"])\n- .field("params", [def("Pattern")])\n- .field("body", or(def("BlockStatement"), def("Expression")));\n-\n-def("Statement").bases("Node");\n-\n-// The empty .build() here means that an EmptyStatement can be constructed\n-// (i.e. it\'s not abstract) but that it needs no arguments.\n-def("EmptyStatement").bases("Statement").build();\n-\n-def("BlockStatement")\n- .bases("Statement")\n- .build("body")\n- .field("body", [def("Statement")]);\n-\n-// TODO Figure out how to silently coerce Expressions to\n-// ExpressionStatements where a Statement was expected.\n-def("ExpressionStatement")\n- .bases("Statement")\n- .build("expression")\n- .field("expression", def("Expression"));\n-\n-def("IfStatement")\n- .bases("Statement")\n- .build("test", "consequent", "alternate")\n- .field("test", def("Expression"))\n- .field("consequent", def("Statement"))\n- .field("alternate", or(def("Statement"), null), defaults["null"]);\n-\n-def("LabeledStatement")\n- .bases("Statement")\n- .build("label", "body")\n- .field("label", def("Identifier"))\n- .field("body", def("Statement"));\n-\n-def("BreakStatement")\n- .bases("Statement")\n- .build("label")\n- .field("label", or(def("Identifier"), null), defaults["null"]);\n-\n-def("ContinueStatement")\n- .bases("Statement")\n- .build("label")\n- .field("label", or(def("Identifier"), null), defaults["null"]);\n-\n-def("WithStatement")\n- .bases("Statement")\n- .build("object", "body")\n- .field("object", def("Expression"))\n- .field("body", def("Statement"));\n-\n-def("SwitchStatement")\n- .bases("Statement")\n- .build("discriminant", "cases", "lexical")\n- .field("discriminant", def("Expression"))\n- .field("cases", [def("SwitchCase")])\n- .field("lexical", isBoolean, defaults["false"]);\n-\n-def("ReturnStatement")\n- .bases("Statement")\n- .build("argument")\n- .field("argument", or(def("Expression"), null));\n-\n-def("ThrowStatement")\n- .bases("Statement")\n- .build("argument")\n- .field("argument", def("Expression"));\n-\n-def("TryStatement")\n- .bases("Statement")\n- .build("block", "handler", "finalizer")\n- .field("block", def("BlockStatement"))\n- .field("handler", or(def("CatchClause"), null), function() {\n- return this.handlers && this.handlers[0] || null;\n- })\n- .field("handlers", [def("CatchClause")], function() {\n- return this.handler ? [this.handler] : [];\n- }, true) // Indicates this field is hidden from eachField iteration.\n- .field("guardedHandlers", [def("CatchClause")], defaults.emptyArray)\n- .field("finalizer", or(def("BlockStatement"), null), defaults["null"]);\n-\n-def("CatchClause")\n- .bases("Node")\n- .build("param", "guard", "body")\n- .field("param", def("Pattern"))\n- .field("guard", or(def("Expression"), null), defaults["null"])\n- .field("body", def("BlockStatement"));\n-\n-def("WhileStatement")\n- .bases("Statement")\n- .build("test", "body")\n- .field("test", def("Expression"))\n- .field("body", def("Statement"));\n-\n-def("DoWhileStatement")\n- .bases("Statement")\n- .build("body", "test")\n- .field("body", def("Statement"))\n- .field("test", def("Expression"));\n-\n-def("ForStatement")\n- .bases("Statement")\n- .build("init", "test", "update", "body")\n- .field("init", or(\n- def("VariableDeclaration"),\n- def("Expression"),\n- null))\n- .field("test", or(def("Expression"), null))\n- .field("update", or(def("Expression"), null))\n- .field("body", def("Statement"));\n-\n-def("ForInStatement")\n- .bases("Statement")\n- .build("left", "right", "body", "each")\n- .field("left", or(\n- def("VariableDeclaration"),\n- def("Expression")))\n- .field("right", def("Expression"))\n- .field("body", def("Statement"))\n- .field("each", isBoolean);\n-\n-def("DebuggerStatement").bases("Statement").build();\n-\n-def("Declaration").bases("Statement");\n-\n-def("FunctionDeclaration")\n- .bases("Function", "Declaration")\n- .build("id", "params", "body")\n- .field("id", def("Identifier"));\n-\n-def("FunctionExpression")\n- .bases("Function", "Expression")\n- .build("id", "params", "body");\n-\n-def("VariableDeclaration")\n- .bases("Declaration")\n- .build("kind", "declarations")\n- .field("kind", or("var", "let", "const"))\n- .field("declarations", [or(\n- def("VariableDeclarator"),\n- def("Identifier") // TODO Esprima deviation.\n- )]);\n-\n-def("VariableDeclarator")\n- .bases("Node")\n- .build("id", "init")\n- .field("id", def("Pattern"))\n- .field("init", or(def("Expression"), null));\n-\n-// TODO Are all Expressions really Patterns?\n-def("Expression").bases("Node", "Pattern");\n-\n-def("ThisExpression").bases("Expression").build();\n-\n-def("ArrayExpression")\n- .bases("Expression")\n- .build("elements")\n- .field("elements", [or(def("Expression"), null)]);\n-\n-def("ObjectExpression")\n- .bases("Expression")\n- .build("properties")\n- .field("properties", [def("Property")]);\n-\n-// TODO Not in the Mozilla Parser API, but used by Esprima.\n-def("Property")\n- .bases("Node") // Want to be able to visit Property Nodes.\n- .build("kind", "key", "value")\n- .field("kind", or("init", "get", "set"))\n- .field("key", or(def("Literal"), def("Identifier")))\n- .field("value", def("Expression"));\n-\n-def("SequenceExpression")\n- .bases("Expression")\n- .build("expressions")\n- .field("expressions", [def("Expression")]);\n-\n-var UnaryOperator = or(\n- "-", "+", "!", "~",\n- "typeof", "void", "delete");\n-\n-def("UnaryExpression")\n- .bases("Expression")\n- .build("operator", "argument", "prefix")\n- .field("operator", UnaryOperator)\n- .field("argument", def("Expression"))\n- // TODO Esprima doesn\'t bother with this field, presumably because\n- // it\'s always true for unary operators.\n- .field("prefix", isBoolean, defaults["true"]);\n-\n-var BinaryOperator = or(\n- "==", "!=", "===", "!==",\n- "<", "<=", ">", ">=",\n- "<<", ">>", ">>>",\n- "+", "-", "*", "/", "%",\n- "&", // TODO Missing from the Parser API.\n- "|", "^", "in",\n- "instanceof", "..");\n-\n-def("BinaryExpression")\n- .bases("Expression")\n- .build("operator", "left", "right")\n- .field("operator", BinaryOperator)\n- .field("left", def("Expression"))\n- .field("right", def("Expression"));\n-\n-var AssignmentOperator = or(\n- "=", "+=", "-=", "*=", "/=", "%=",\n- "<<=", ">>=", ">>>=",\n- "|=", "^=", "&=");\n-\n-def("AssignmentExpression")\n- .bases("Expression")\n- .build("operator", "left", "right")\n- .field("operator", AssignmentOperator)\n- .field("left", def("Pattern"))\n- .field("right", def("Expression"));\n-\n-var UpdateOperator = or("++", "--");\n-\n-def("UpdateExpression")\n- .bases("Expression")\n- .build("operator", "argument", "prefix")\n- .field("operator", UpdateOperator)\n- .field("argument", def("Expression"))\n- .field("prefix", isBoolean);\n-\n-var LogicalOperator = or("||", "&&");\n-\n-def("LogicalExpression")\n- .bases("Expression")\n- .build("operator", "left", "right")\n- .field("operator", LogicalOperator)\n- .field("left", def("Expression"))\n- .field("right", def("Expression"));\n-\n-def("ConditionalExpression")\n- .bases("Expression")\n- .build("test", "consequent", "alternate")\n- .field("test", def("Expression"))\n- .field("consequent", def("Expression"))\n- .field("alternate", def("Expression"));\n-\n-def("NewExpression")\n- .bases("Expression")\n- .build("callee", "arguments")\n- .field("callee", def("Expression"))\n- // The Mozilla Parser API gives this type as [or(def("Expression"),\n- // null)], but null values don\'t really make sense at the call site.\n- // TODO Report this nonsense.\n- .field("arguments", [def("Expression")]);\n-\n-def("CallExpression")\n- .bases("Expression")\n- .build("callee", "arguments")\n- .field("callee", def("Expression"))\n- // See comment for NewExpression above.\n- .field("arguments", [def("Expression")]);\n-\n-def("MemberExpression")\n- .bases("Expression")\n- .build("object", "property", "computed")\n- .field("object", def("Expression"))\n- .field("property", or(def("Identifier"), def("Expression")))\n- .field("computed", isBoolean);\n-\n-def("Pattern").bases("Node");\n-\n-def("ObjectPattern")\n- .bases("Pattern")\n- .build("properties")\n- // TODO File a bug to get PropertyPattern added to the interfaces API.\n- .field("properties", [def("PropertyPattern")]);\n-\n-def("PropertyPattern")\n- .bases("Pattern")\n- .build("key", "pattern")\n- .field("key", or(def("Literal"), def("Identifier")))\n- .field("pattern", def("Pattern"));\n-\n-def("ArrayPattern")\n- .bases("Pattern")\n- .build("elements")\n- .field("elements", [or(def("Pattern"), null)]);\n-\n-def("SwitchCase")\n- .bases("Node")\n- .build("test", "consequent")\n- .field("test", or(def("Expression"), null))\n- .field("consequent", [def("Statement")]);\n-\n-def("Identifier")\n- // But aren\'t Expressions and Patterns already Nodes? TODO Report this.\n- .bases("Node", "Expression", "Pattern")\n- .build("name")\n- .field("name", isString);\n-\n-def("Literal")\n- // But aren\'t Expressions already Nodes? TODO Report this.\n- .bases("Node", "Expression")\n- .build("value")\n- .field("value", or(\n- isString,\n- isBoolean,\n- null, // isNull would also work here.\n- isNumber,\n- isRegExp\n- ));\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/e4x.js b/src/plone/staticresources/static/components/ast-types/def/e4x.js\ndeleted file mode 100644\nindex 4f761699..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/e4x.js\n+++ /dev/null\n@@ -1,87 +0,0 @@\n-require("./core");\n-var types = require("../lib/types");\n-var def = types.Type.def;\n-var or = types.Type.or;\n-var builtin = types.builtInTypes;\n-var isString = builtin.string;\n-var isBoolean = builtin.boolean;\n-\n-// Note that none of these types are buildable because the Mozilla Parser\n-// API doesn\'t specify any builder functions, and nobody uses E4X anymore.\n-\n-def("XMLDefaultDeclaration")\n- .bases("Declaration")\n- .field("namespace", def("Expression"));\n-\n-def("XMLAnyName").bases("Expression");\n-\n-def("XMLQualifiedIdentifier")\n- .bases("Expression")\n- .field("left", or(def("Identifier"), def("XMLAnyName")))\n- .field("right", or(def("Identifier"), def("Expression")))\n- .field("computed", isBoolean);\n-\n-def("XMLFunctionQualifiedIdentifier")\n- .bases("Expression")\n- .field("right", or(def("Identifier"), def("Expression")))\n- .field("computed", isBoolean);\n-\n-def("XMLAttributeSelector")\n- .bases("Expression")\n- .field("attribute", def("Expression"));\n-\n-def("XMLFilterExpression")\n- .bases("Expression")\n- .field("left", def("Expression"))\n- .field("right", def("Expression"));\n-\n-def("XMLElement")\n- .bases("XML", "Expression")\n- .field("contents", [def("XML")]);\n-\n-def("XMLList")\n- .bases("XML", "Expression")\n- .field("contents", [def("XML")]);\n-\n-def("XML").bases("Node");\n-\n-def("XMLEscape")\n- .bases("XML")\n- .field("expression", def("Expression"));\n-\n-def("XMLText")\n- .bases("XML")\n- .field("text", isString);\n-\n-def("XMLStartTag")\n- .bases("XML")\n- .field("contents", [def("XML")]);\n-\n-def("XMLEndTag")\n- .bases("XML")\n- .field("contents", [def("XML")]);\n-\n-def("XMLPointTag")\n- .bases("XML")\n- .field("contents", [def("XML")]);\n-\n-def("XMLName")\n- .bases("XML")\n- .field("contents", or(isString, [def("XML")]));\n-\n-def("XMLAttribute")\n- .bases("XML")\n- .field("value", isString);\n-\n-def("XMLCdata")\n- .bases("XML")\n- .field("contents", isString);\n-\n-def("XMLComment")\n- .bases("XML")\n- .field("contents", isString);\n-\n-def("XMLProcessingInstruction")\n- .bases("XML")\n- .field("target", isString)\n- .field("contents", or(isString, null));\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/es6.js b/src/plone/staticresources/static/components/ast-types/def/es6.js\ndeleted file mode 100644\nindex c266c8f0..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/es6.js\n+++ /dev/null\n@@ -1,205 +0,0 @@\n-require("./core");\n-var types = require("../lib/types");\n-var def = types.Type.def;\n-var or = types.Type.or;\n-var builtin = types.builtInTypes;\n-var isBoolean = builtin.boolean;\n-var isObject = builtin.object;\n-var isString = builtin.string;\n-var defaults = require("../lib/shared").defaults;\n-\n-def("Function")\n- .field("generator", isBoolean, defaults["false"])\n- .field("expression", isBoolean, defaults["false"])\n- .field("defaults", [or(def("Expression"), null)], defaults.emptyArray)\n- // TODO This could be represented as a SpreadElementPattern in .params.\n- .field("rest", or(def("Identifier"), null), defaults["null"]);\n-\n-def("FunctionDeclaration")\n- .build("id", "params", "body", "generator", "expression");\n-\n-def("FunctionExpression")\n- .build("id", "params", "body", "generator", "expression");\n-\n-// TODO The Parser API calls this ArrowExpression, but Esprima uses\n-// ArrowFunctionExpression.\n-def("ArrowFunctionExpression")\n- .bases("Function", "Expression")\n- .build("params", "body", "expression")\n- // The forced null value here is compatible with the overridden\n- // definition of the "id" field in the Function interface.\n- .field("id", null, defaults["null"])\n- // The current spec forbids arrow generators, so I have taken the\n- // liberty of enforcing that. TODO Report this.\n- .field("generator", false);\n-\n-def("YieldExpression")\n- .bases("Expression")\n- .build("argument", "delegate")\n- .field("argument", or(def("Expression"), null))\n- .field("delegate", isBoolean, defaults["false"]);\n-\n-def("GeneratorExpression")\n- .bases("Expression")\n- .build("body", "blocks", "filter")\n- .field("body", def("Expression"))\n- .field("blocks", [def("ComprehensionBlock")])\n- .field("filter", or(def("Expression"), null));\n-\n-def("ComprehensionExpression")\n- .bases("Expression")\n- .build("body", "blocks", "filter")\n- .field("body", def("Expression"))\n- .field("blocks", [def("ComprehensionBlock")])\n- .field("filter", or(def("Expression"), null));\n-\n-def("ComprehensionBlock")\n- .bases("Node")\n- .build("left", "right", "each")\n- .field("left", def("Pattern"))\n- .field("right", def("Expression"))\n- .field("each", isBoolean);\n-\n-// This would be the ideal definition for ModuleSpecifier, but alas we\n-// can\'t expect ASTs parsed by Esprima to use this custom subtype:\n-def("ModuleSpecifier")\n- .bases("Specifier", "Literal")\n-// .build("value") // Make it abstract/non-buildable for now.\n- .field("value", isString);\n-\n-// Instead we must settle for a cheap type alias:\n-var ModuleSpecifier = def("Literal");\n-\n-def("ModuleDeclaration")\n- .bases("Declaration")\n- .build("id", "from", "body")\n- .field("id", or(def("Literal"), def("Identifier")))\n- .field("source", or(ModuleSpecifier, null))\n- .field("body", or(def("BlockStatement"), null));\n-\n-def("Property")\n- // Esprima extensions not mentioned in the Mozilla Parser API:\n- .field("method", isBoolean, defaults["false"])\n- .field("shorthand", isBoolean, defaults["false"])\n- .field("computed", isBoolean, defaults["false"]);\n-\n-def("MethodDefinition")\n- .bases("Declaration")\n- .build("kind", "key", "value")\n- .field("kind", or("init", "get", "set", ""))\n- .field("key", or(def("Literal"), def("Identifier")))\n- .field("value", def("Function"));\n-\n-def("SpreadElement")\n- .bases("Node")\n- .build("argument")\n- .field("argument", def("Expression"));\n-\n-def("ArrayExpression")\n- .field("elements", [or(def("Expression"), def("SpreadElement"), null)]);\n-\n-def("NewExpression")\n- .field("arguments", [or(def("Expression"), def("SpreadElement"))]);\n-\n-def("CallExpression")\n- .field("arguments", [or(def("Expression"), def("SpreadElement"))]);\n-\n-def("SpreadElementPattern")\n- .bases("Pattern")\n- .build("argument")\n- .field("argument", def("Pattern"));\n-\n-var ClassBodyElement = or(\n- def("MethodDefinition"),\n- def("VariableDeclarator"),\n- def("ClassPropertyDefinition"),\n- def("ClassProperty")\n-);\n-\n-def("ClassProperty")\n- .bases("Declaration")\n- .build("id")\n- .field("id", def("Identifier"));\n-\n-def("ClassPropertyDefinition") // static property\n- .bases("Declaration")\n- .build("definition")\n- // Yes, Virginia, circular definitions are permitted.\n- .field("definition", ClassBodyElement);\n-\n-def("ClassBody")\n- .bases("Declaration")\n- .build("body")\n- .field("body", [ClassBodyElement]);\n-\n-def("ClassDeclaration")\n- .bases("Declaration")\n- .build("id", "body", "superClass")\n- .field("id", def("Identifier"))\n- .field("body", def("ClassBody"))\n- .field("superClass", or(def("Expression"), null), defaults["null"]);\n-\n-def("ClassExpression")\n- .bases("Expression")\n- .build("id", "body", "superClass")\n- .field("id", or(def("Identifier"), null), defaults["null"])\n- .field("body", def("ClassBody"))\n- .field("superClass", or(def("Expression"), null), defaults["null"]);\n-\n-// Specifier and NamedSpecifier are non-standard types that I introduced\n-// for definitional convenience.\n-def("Specifier").bases("Node");\n-def("NamedSpecifier")\n- .bases("Specifier")\n- .field("id", def("Identifier"))\n- .field("name", or(def("Identifier"), null), defaults["null"]);\n-\n-def("ExportSpecifier")\n- .bases("NamedSpecifier")\n- .build("id", "name");\n-\n-def("ExportBatchSpecifier")\n- .bases("Specifier")\n- .build();\n-\n-def("ImportSpecifier")\n- .bases("NamedSpecifier")\n- .build("id", "name");\n-\n-def("ExportDeclaration")\n- .bases("Declaration")\n- .build("default", "declaration", "specifiers", "source")\n- .field("default", isBoolean)\n- .field("declaration", or(\n- def("Declaration"),\n- def("Expression") // Implies default.\n- ))\n- .field("specifiers", [or(\n- def("ExportSpecifier"),\n- def("ExportBatchSpecifier")\n- )], defaults.emptyArray)\n- .field("source", or(ModuleSpecifier, null), defaults["null"]);\n-\n-def("ImportDeclaration")\n- .bases("Declaration")\n- .build("specifiers", "kind", "source")\n- .field("specifiers", [def("ImportSpecifier")])\n- .field("kind", or("named", "default", null))\n- .field("source", ModuleSpecifier);\n-\n-def("TaggedTemplateExpression")\n- .bases("Expression")\n- .field("tag", def("Expression"))\n- .field("quasi", def("TemplateLiteral"));\n-\n-def("TemplateLiteral")\n- .bases("Expression")\n- .build("quasis", "expressions")\n- .field("quasis", [def("TemplateElement")])\n- .field("expressions", [def("Expression")]);\n-\n-def("TemplateElement")\n- .bases("Node")\n- .build("value", "tail")\n- .field("value", {"cooked": isString, "raw": isString})\n- .field("tail", isBoolean);\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/es7.js b/src/plone/staticresources/static/components/ast-types/def/es7.js\ndeleted file mode 100644\nindex 90fefa92..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/es7.js\n+++ /dev/null\n@@ -1,35 +0,0 @@\n-require("./core");\n-var types = require("../lib/types");\n-var def = types.Type.def;\n-var or = types.Type.or;\n-var builtin = types.builtInTypes;\n-var isBoolean = builtin.boolean;\n-var defaults = require("../lib/shared").defaults;\n-\n-def("Function")\n- .field("async", isBoolean, defaults["false"]);\n-\n-def("SpreadProperty")\n- .bases("Node")\n- .build("argument")\n- .field("argument", def("Expression"));\n-\n-def("ObjectExpression")\n- .field("properties", [or(def("Property"), def("SpreadProperty"))]);\n-\n-def("SpreadPropertyPattern")\n- .bases("Pattern")\n- .build("argument")\n- .field("argument", def("Pattern"));\n-\n-def("ObjectPattern")\n- .field("properties", [or(\n- def("PropertyPattern"),\n- def("SpreadPropertyPattern")\n- )]);\n-\n-def("AwaitExpression")\n- .bases("Expression")\n- .build("argument", "all")\n- .field("argument", or(def("Expression"), null))\n- .field("all", isBoolean, defaults["false"]);\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/fb-harmony.js b/src/plone/staticresources/static/components/ast-types/def/fb-harmony.js\ndeleted file mode 100644\nindex 8d681601..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/fb-harmony.js\n+++ /dev/null\n@@ -1,119 +0,0 @@\n-require("./core");\n-var types = require("../lib/types");\n-var def = types.Type.def;\n-var or = types.Type.or;\n-var builtin = types.builtInTypes;\n-var isString = builtin.string;\n-var isBoolean = builtin.boolean;\n-var defaults = require("../lib/shared").defaults;\n-\n-def("XJSAttribute")\n- .bases("Node")\n- .build("name", "value")\n- .field("name", or(def("XJSIdentifier"), def("XJSNamespacedName")))\n- .field("value", or(\n- def("Literal"), // attr="value"\n- def("XJSExpressionContainer"), // attr={value}\n- null // attr= or just attr\n- ), defaults["null"]);\n-\n-def("XJSIdentifier")\n- .bases("Node")\n- .build("name")\n- .field("name", isString);\n-\n-def("XJSNamespacedName")\n- .bases("Node")\n- .build("namespace", "name")\n- .field("namespace", def("XJSIdentifier"))\n- .field("name", def("XJSIdentifier"));\n-\n-def("XJSMemberExpression")\n- .bases("MemberExpression")\n- .build("object", "property")\n- .field("object", or(def("XJSIdentifier"), def("XJSMemberExpression")))\n- .field("property", def("XJSIdentifier"))\n- .field("computed", isBoolean, defaults.false);\n-\n-var XJSElementName = or(\n- def("XJSIdentifier"),\n- def("XJSNamespacedName"),\n- def("XJSMemberExpression")\n-);\n-\n-def("XJSSpreadAttribute")\n- .bases("Node")\n- .build("argument")\n- .field("argument", def("Expression"));\n-\n-var XJSAttributes = [or(\n- def("XJSAttribute"),\n- def("XJSSpreadAttribute")\n-)];\n-\n-def("XJSExpressionContainer")\n- .bases("Expression")\n- .build("expression")\n- .field("expression", def("Expression"));\n-\n-def("XJSElement")\n- .bases("Expression")\n- .build("openingElement", "closingElement", "children")\n- .field("openingElement", def("XJSOpeningElement"))\n- .field("closingElement", or(def("XJSClosingElement"), null), defaults["null"])\n- .field("children", [or(\n- def("XJSElement"),\n- def("XJSExpressionContainer"),\n- def("XJSText"),\n- def("Literal") // TODO Esprima should return XJSText instead.\n- )], defaults.emptyArray)\n- .field("name", XJSElementName, function() {\n- // Little-known fact: the `this` object inside a default function\n- // is none other than the partially-built object itself, and any\n- // fields initialized directly from builder function arguments\n- // (like openingElement, closingElement, and children) are\n- // guaranteed to be available.\n- return this.openingElement.name;\n- })\n- .field("selfClosing", isBoolean, function() {\n- return this.openingElement.selfClosing;\n- })\n- .field("attributes", XJSAttributes, function() {\n- return this.openingElement.attributes;\n- });\n-\n-def("XJSOpeningElement")\n- .bases("Node") // TODO Does this make sense? Can\'t really be an XJSElement.\n- .build("name", "attributes", "selfClosing")\n- .field("name", XJSElementName)\n- .field("attributes", XJSAttributes, defaults.emptyArray)\n- .field("selfClosing", isBoolean, defaults["false"]);\n-\n-def("XJSClosingElement")\n- .bases("Node") // TODO Same concern.\n- .build("name")\n- .field("name", XJSElementName);\n-\n-def("XJSText")\n- .bases("Literal")\n- .build("value")\n- .field("value", isString);\n-\n-def("XJSEmptyExpression").bases("Expression").build();\n-\n-def("TypeAnnotatedIdentifier")\n- .bases("Pattern")\n- .build("annotation", "identifier")\n- .field("annotation", def("TypeAnnotation"))\n- .field("identifier", def("Identifier"));\n-\n-def("TypeAnnotation")\n- .bases("Pattern")\n- .build("annotatedType", "templateTypes", "paramTypes", "returnType", \n- "unionType", "nullable")\n- .field("annotatedType", def("Identifier"))\n- .field("templateTypes", or([def("TypeAnnotation")], null))\n- .field("paramTypes", or([def("TypeAnnotation")], null))\n- .field("returnType", or(def("TypeAnnotation"), null))\n- .field("unionType", or(def("TypeAnnotation"), null))\n- .field("nullable", isBoolean);\ndiff --git a/src/plone/staticresources/static/components/ast-types/def/mozilla.js b/src/plone/staticresources/static/components/ast-types/def/mozilla.js\ndeleted file mode 100644\nindex 35b4dc87..00000000\n--- a/src/plone/staticresources/static/components/ast-types/def/mozilla.js\n+++ /dev/null\n@@ -1,39 +0,0 @@\n-require("./core");\n-var types = require("../lib/types");\n-var def = types.Type.def;\n-var or = types.Type.or;\n-var geq = require("../lib/shared").geq;\n-\n-def("ForOfStatement")\n- .bases("Statement")\n- .build("left", "right", "body")\n- .field("left", or(\n- def("VariableDeclaration"),\n- def("Expression")))\n- .field("right", def("Expression"))\n- .field("body", def("Statement"));\n-\n-def("LetStatement")\n- .bases("Statement")\n- .build("head", "body")\n- // TODO Deviating from the spec by reusing VariableDeclarator here.\n- .field("head", [def("VariableDeclarator")])\n- .field("body", def("Statement"));\n-\n-def("LetExpression")\n- .bases("Expression")\n- .build("head", "body")\n- // TODO Deviating from the spec by reusing VariableDeclarator here.\n- .field("head", [def("VariableDeclarator")])\n- .field("body", def("Expression"));\n-\n-def("GraphExpression")\n- .bases("Expression")\n- .build("index", "expression")\n- .field("index", geq(0))\n- .field("expression", def("Literal"));\n-\n-def("GraphIndexExpression")\n- .bases("Expression")\n- .build("index")\n- .field("index", geq(0));\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/equiv.js b/src/plone/staticresources/static/components/ast-types/lib/equiv.js\ndeleted file mode 100644\nindex ffc53a0f..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/equiv.js\n+++ /dev/null\n@@ -1,178 +0,0 @@\n-var assert = require("assert");\n-var types = require("../main");\n-var getFieldNames = types.getFieldNames;\n-var getFieldValue = types.getFieldValue;\n-var isArray = types.builtInTypes.array;\n-var isObject = types.builtInTypes.object;\n-var isDate = types.builtInTypes.Date;\n-var isRegExp = types.builtInTypes.RegExp;\n-var hasOwn = Object.prototype.hasOwnProperty;\n-\n-function astNodesAreEquivalent(a, b, problemPath) {\n- if (isArray.check(problemPath)) {\n- problemPath.length = 0;\n- } else {\n- problemPath = null;\n- }\n-\n- return areEquivalent(a, b, problemPath);\n-}\n-\n-astNodesAreEquivalent.assert = function(a, b) {\n- var problemPath = [];\n- if (!astNodesAreEquivalent(a, b, problemPath)) {\n- if (problemPath.length === 0) {\n- assert.strictEqual(a, b);\n- } else {\n- assert.ok(\n- false,\n- "Nodes differ in the following path: " +\n- problemPath.map(subscriptForProperty).join("")\n- );\n- }\n- }\n-};\n-\n-function subscriptForProperty(property) {\n- if (/[_$a-z][_$a-z0-9]*/i.test(property)) {\n- return "." + property;\n- }\n- return "[" + JSON.stringify(property) + "]";\n-}\n-\n-function areEquivalent(a, b, problemPath) {\n- if (a === b) {\n- return true;\n- }\n-\n- if (isArray.check(a)) {\n- return arraysAreEquivalent(a, b, problemPath);\n- }\n-\n- if (isObject.check(a)) {\n- return objectsAreEquivalent(a, b, problemPath);\n- }\n-\n- if (isDate.check(a)) {\n- return isDate.check(b) && (+a === +b);\n- }\n-\n- if (isRegExp.check(a)) {\n- return isRegExp.check(b) && (\n- a.source === b.source &&\n- a.global === b.global &&\n- a.multiline === b.multiline &&\n- a.ignoreCase === b.ignoreCase\n- );\n- }\n-\n- return a == b;\n-}\n-\n-function arraysAreEquivalent(a, b, problemPath) {\n- isArray.assert(a);\n- var aLength = a.length;\n-\n- if (!isArray.check(b) || b.length !== aLength) {\n- if (problemPath) {\n- problemPath.push("length");\n- }\n- return false;\n- }\n-\n- for (var i = 0; i < aLength; ++i) {\n- if (problemPath) {\n- problemPath.push(i);\n- }\n-\n- if (i in a !== i in b) {\n- return false;\n- }\n-\n- if (!areEquivalent(a[i], b[i], problemPath)) {\n- return false;\n- }\n-\n- if (problemPath) {\n- assert.strictEqual(problemPath.pop(), i);\n- }\n- }\n-\n- return true;\n-}\n-\n-function objectsAreEquivalent(a, b, problemPath) {\n- isObject.assert(a);\n- if (!isObject.check(b)) {\n- return false;\n- }\n-\n- // Fast path for a common property of AST nodes.\n- if (a.type !== b.type) {\n- if (problemPath) {\n- problemPath.push("type");\n- }\n- return false;\n- }\n-\n- var aNames = getFieldNames(a);\n- var aNameCount = aNames.length;\n-\n- var bNames = getFieldNames(b);\n- var bNameCount = bNames.length;\n-\n- if (aNameCount === bNameCount) {\n- for (var i = 0; i < aNameCount; ++i) {\n- var name = aNames[i];\n- var aChild = getFieldValue(a, name);\n- var bChild = getFieldValue(b, name);\n-\n- if (problemPath) {\n- problemPath.push(name);\n- }\n-\n- if (!areEquivalent(aChild, bChild, problemPath)) {\n- return false;\n- }\n-\n- if (problemPath) {\n- assert.strictEqual(problemPath.pop(), name);\n- }\n- }\n-\n- return true;\n- }\n-\n- if (!problemPath) {\n- return false;\n- }\n-\n- // Since aNameCount !== bNameCount, we need to find some name that\'s\n- // missing in aNames but present in bNames, or vice-versa.\n-\n- var seenNames = Object.create(null);\n-\n- for (i = 0; i < aNameCount; ++i) {\n- seenNames[aNames[i]] = true;\n- }\n-\n- for (i = 0; i < bNameCount; ++i) {\n- name = bNames[i];\n-\n- if (!hasOwn.call(seenNames, name)) {\n- problemPath.push(name);\n- return false;\n- }\n-\n- delete seenNames[name];\n- }\n-\n- for (name in seenNames) {\n- problemPath.push(name);\n- break;\n- }\n-\n- return false;\n-}\n-\n-module.exports = astNodesAreEquivalent;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/node-path.js b/src/plone/staticresources/static/components/ast-types/lib/node-path.js\ndeleted file mode 100644\nindex c487b497..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/node-path.js\n+++ /dev/null\n@@ -1,377 +0,0 @@\n-var assert = require("assert");\n-var types = require("./types");\n-var n = types.namedTypes;\n-var isNumber = types.builtInTypes.number;\n-var isArray = types.builtInTypes.array;\n-var Path = require("./path");\n-var Scope = require("./scope");\n-\n-function NodePath(value, parentPath, name) {\n- assert.ok(this instanceof NodePath);\n- Path.call(this, value, parentPath, name);\n-}\n-\n-require("util").inherits(NodePath, Path);\n-var NPp = NodePath.prototype;\n-\n-Object.defineProperties(NPp, {\n- node: {\n- get: function() {\n- Object.defineProperty(this, "node", {\n- configurable: true, // Enable deletion.\n- value: this._computeNode()\n- });\n-\n- return this.node;\n- }\n- },\n-\n- parent: {\n- get: function() {\n- Object.defineProperty(this, "parent", {\n- configurable: true, // Enable deletion.\n- value: this._computeParent()\n- });\n-\n- return this.parent;\n- }\n- },\n-\n- scope: {\n- get: function() {\n- Object.defineProperty(this, "scope", {\n- configurable: true, // Enable deletion.\n- value: this._computeScope()\n- });\n-\n- return this.scope;\n- }\n- }\n-});\n-\n-NPp.replace = function() {\n- delete this.node;\n- delete this.parent;\n- delete this.scope;\n- return Path.prototype.replace.apply(this, arguments);\n-};\n-\n-// The value of the first ancestor Path whose value is a Node.\n-NPp._computeNode = function() {\n- var value = this.value;\n- if (n.Node.check(value)) {\n- return value;\n- }\n-\n- var pp = this.parentPath;\n- return pp && pp.node || null;\n-};\n-\n-// The first ancestor Path whose value is a Node distinct from this.node.\n-NPp._computeParent = function() {\n- var value = this.value;\n- var pp = this.parentPath;\n-\n- if (!n.Node.check(value)) {\n- while (pp && !n.Node.check(pp.value)) {\n- pp = pp.parentPath;\n- }\n-\n- if (pp) {\n- pp = pp.parentPath;\n- }\n- }\n-\n- while (pp && !n.Node.check(pp.value)) {\n- pp = pp.parentPath;\n- }\n-\n- return pp || null;\n-};\n-\n-// The closest enclosing scope that governs this node.\n-NPp._computeScope = function() {\n- var value = this.value;\n- var pp = this.parentPath;\n- var scope = pp && pp.scope;\n-\n- if (n.Node.check(value) &&\n- Scope.isEstablishedBy(value)) {\n- scope = new Scope(this, scope);\n- }\n-\n- return scope || null;\n-};\n-\n-NPp.getValueProperty = function(name) {\n- return types.getFieldValue(this.value, name);\n-};\n-\n-/**\n- * Determine whether this.node needs to be wrapped in parentheses in order\n- * for a parser to reproduce the same local AST structure.\n- *\n- * For instance, in the expression `(1 + 2) * 3`, the BinaryExpression\n- * whose operator is "+" needs parentheses, because `1 + 2 * 3` would\n- * parse differently.\n- *\n- * If assumeExpressionContext === true, we don\'t worry about edge cases\n- * like an anonymous FunctionExpression appearing lexically first in its\n- * enclosing statement and thus needing parentheses to avoid being parsed\n- * as a FunctionDeclaration with a missing name.\n- */\n-NPp.needsParens = function(assumeExpressionContext) {\n- if (!this.parent)\n- return false;\n-\n- var node = this.node;\n-\n- // If this NodePath object is not the direct owner of this.node, then\n- // we do not need parentheses here, though the direct owner might need\n- // parentheses.\n- if (node !== this.value)\n- return false;\n-\n- var parent = this.parent.node;\n-\n- assert.notStrictEqual(node, parent);\n-\n- if (!n.Expression.check(node))\n- return false;\n-\n- if (isUnaryLike(node))\n- return n.MemberExpression.check(parent)\n- && this.name === "object"\n- && parent.object === node;\n-\n- if (isBinary(node)) {\n- if (n.CallExpression.check(parent) &&\n- this.name === "callee") {\n- assert.strictEqual(parent.callee, node);\n- return true;\n- }\n-\n- if (isUnaryLike(parent))\n- return true;\n-\n- if (n.MemberExpression.check(parent) &&\n- this.name === "object") {\n- assert.strictEqual(parent.object, node);\n- return true;\n- }\n-\n- if (isBinary(parent)) {\n- var po = parent.operator;\n- var pp = PRECEDENCE[po];\n- var no = node.operator;\n- var np = PRECEDENCE[no];\n-\n- if (pp > np) {\n- return true;\n- }\n-\n- if (pp === np && this.name === "right") {\n- assert.strictEqual(parent.right, node);\n- return true;\n- }\n- }\n- }\n-\n- if (n.SequenceExpression.check(node)) {\n- if (n.ForStatement.check(parent)) {\n- // Although parentheses wouldn\'t hurt around sequence\n- // expressions in the head of for loops, traditional style\n- // dictates that e.g. i++, j++ should not be wrapped with\n- // parentheses.\n- return false;\n- }\n-\n- if (n.ExpressionStatement.check(parent) &&\n- this.name === "expression") {\n- return false;\n- }\n-\n- // Otherwise err on the side of overparenthesization, adding\n- // explicit exceptions above if this proves overzealous.\n- return true;\n- }\n-\n- if (n.YieldExpression.check(node))\n- return isBinary(parent)\n- || n.CallExpression.check(parent)\n- || n.MemberExpression.check(parent)\n- || n.NewExpression.check(parent)\n- || n.ConditionalExpression.check(parent)\n- || isUnaryLike(parent)\n- || n.YieldExpression.check(parent);\n-\n- if (n.NewExpression.check(parent) &&\n- this.name === "callee") {\n- assert.strictEqual(parent.callee, node);\n- return containsCallExpression(node);\n- }\n-\n- if (n.Literal.check(node) &&\n- isNumber.check(node.value) &&\n- n.MemberExpression.check(parent) &&\n- this.name === "object") {\n- assert.strictEqual(parent.object, node);\n- return true;\n- }\n-\n- if (n.AssignmentExpression.check(node) ||\n- n.ConditionalExpression.check(node)) {\n- if (isUnaryLike(parent))\n- return true;\n-\n- if (isBinary(parent))\n- return true;\n-\n- if (n.CallExpression.check(parent) &&\n- this.name === "callee") {\n- assert.strictEqual(parent.callee, node);\n- return true;\n- }\n-\n- if (n.ConditionalExpression.check(parent) &&\n- this.name === "test") {\n- assert.strictEqual(parent.test, node);\n- return true;\n- }\n-\n- if (n.MemberExpression.check(parent) &&\n- this.name === "object") {\n- assert.strictEqual(parent.object, node);\n- return true;\n- }\n- }\n-\n- if (assumeExpressionContext !== true &&\n- !this.canBeFirstInStatement() &&\n- this.firstInStatement())\n- return true;\n-\n- return false;\n-};\n-\n-function isBinary(node) {\n- return n.BinaryExpression.check(node)\n- || n.LogicalExpression.check(node);\n-}\n-\n-function isUnaryLike(node) {\n- return n.UnaryExpression.check(node)\n- // I considered making SpreadElement and SpreadProperty subtypes\n- // of UnaryExpression, but they\'re not really Expression nodes.\n- || (n.SpreadElement && n.SpreadElement.check(node))\n- || (n.SpreadProperty && n.SpreadProperty.check(node));\n-}\n-\n-var PRECEDENCE = {};\n-[["||"],\n- ["&&"],\n- ["|"],\n- ["^"],\n- ["&"],\n- ["==", "===", "!=", "!=="],\n- ["<", ">", "<=", ">=", "in", "instanceof"],\n- [">>", "<<", ">>>"],\n- ["+", "-"],\n- ["*", "/", "%"]\n-].forEach(function(tier, i) {\n- tier.forEach(function(op) {\n- PRECEDENCE[op] = i;\n- });\n-});\n-\n-function containsCallExpression(node) {\n- if (n.CallExpression.check(node)) {\n- return true;\n- }\n-\n- if (isArray.check(node)) {\n- return node.some(containsCallExpression);\n- }\n-\n- if (n.Node.check(node)) {\n- return types.someField(node, function(name, child) {\n- return containsCallExpression(child);\n- });\n- }\n-\n- return false;\n-}\n-\n-NPp.canBeFirstInStatement = function() {\n- var node = this.node;\n- return !n.FunctionExpression.check(node)\n- && !n.ObjectExpression.check(node);\n-};\n-\n-NPp.firstInStatement = function() {\n- return firstInStatement(this);\n-};\n-\n-function firstInStatement(path) {\n- for (var node, parent; path.parent; path = path.parent) {\n- node = path.node;\n- parent = path.parent.node;\n-\n- if (n.BlockStatement.check(parent) &&\n- path.parent.name === "body" &&\n- path.name === 0) {\n- assert.strictEqual(parent.body[0], node);\n- return true;\n- }\n-\n- if (n.ExpressionStatement.check(parent) &&\n- path.name === "expression") {\n- assert.strictEqual(parent.expression, node);\n- return true;\n- }\n-\n- if (n.SequenceExpression.check(parent) &&\n- path.parent.name === "expressions" &&\n- path.name === 0) {\n- assert.strictEqual(parent.expressions[0], node);\n- continue;\n- }\n-\n- if (n.CallExpression.check(parent) &&\n- path.name === "callee") {\n- assert.strictEqual(parent.callee, node);\n- continue;\n- }\n-\n- if (n.MemberExpression.check(parent) &&\n- path.name === "object") {\n- assert.strictEqual(parent.object, node);\n- continue;\n- }\n-\n- if (n.ConditionalExpression.check(parent) &&\n- path.name === "test") {\n- assert.strictEqual(parent.test, node);\n- continue;\n- }\n-\n- if (isBinary(parent) &&\n- path.name === "left") {\n- assert.strictEqual(parent.left, node);\n- continue;\n- }\n-\n- if (n.UnaryExpression.check(parent) &&\n- !parent.prefix &&\n- path.name === "argument") {\n- assert.strictEqual(parent.argument, node);\n- continue;\n- }\n-\n- return false;\n- }\n-\n- return true;\n-}\n-\n-module.exports = NodePath;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/path-visitor.js b/src/plone/staticresources/static/components/ast-types/lib/path-visitor.js\ndeleted file mode 100644\nindex ffde4d9c..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/path-visitor.js\n+++ /dev/null\n@@ -1,245 +0,0 @@\n-var assert = require("assert");\n-var types = require("./types");\n-var NodePath = require("./node-path");\n-var Node = types.namedTypes.Node;\n-var isArray = types.builtInTypes.array;\n-var isObject = types.builtInTypes.object;\n-var isFunction = types.builtInTypes.function;\n-var hasOwn = Object.prototype.hasOwnProperty;\n-var undefined;\n-\n-function PathVisitor() {\n- assert.ok(this instanceof PathVisitor);\n- this._reusableContextStack = [];\n- this._methodNameTable = computeMethodNameTable(this);\n- this.Context = makeContextConstructor(this);\n-}\n-\n-function computeMethodNameTable(visitor) {\n- var typeNames = Object.create(null);\n-\n- for (var methodName in visitor) {\n- if (/^visit[A-Z]/.test(methodName)) {\n- typeNames[methodName.slice("visit".length)] = true;\n- }\n- }\n-\n- var supertypeTable = types.computeSupertypeLookupTable(typeNames);\n- var methodNameTable = Object.create(null);\n-\n- for (var typeName in supertypeTable) {\n- if (hasOwn.call(supertypeTable, typeName)) {\n- methodName = "visit" + supertypeTable[typeName];\n- if (isFunction.check(visitor[methodName])) {\n- methodNameTable[typeName] = methodName;\n- }\n- }\n- }\n-\n- return methodNameTable;\n-}\n-\n-PathVisitor.fromMethodsObject = function fromMethodsObject(methods) {\n- if (methods instanceof PathVisitor) {\n- return methods;\n- }\n-\n- if (!isObject.check(methods)) {\n- // An empty visitor?\n- return new PathVisitor;\n- }\n-\n- function Visitor() {\n- assert.ok(this instanceof Visitor);\n- PathVisitor.call(this);\n- }\n-\n- var Vp = Visitor.prototype = Object.create(PVp);\n- Vp.constructor = Visitor;\n-\n- extend(Vp, methods);\n- extend(Visitor, PathVisitor);\n-\n- isFunction.assert(Visitor.fromMethodsObject);\n- isFunction.assert(Visitor.visit);\n-\n- return new Visitor;\n-};\n-\n-function extend(target, source) {\n- for (var property in source) {\n- if (hasOwn.call(source, property)) {\n- target[property] = source[property];\n- }\n- }\n-\n- return target;\n-}\n-\n-PathVisitor.visit = function visit(node, methods) {\n- var visitor = PathVisitor.fromMethodsObject(methods);\n-\n- if (node instanceof NodePath) {\n- visitor.visit(node);\n- return node.value;\n- }\n-\n- var rootPath = new NodePath({ root: node });\n- visitor.visit(rootPath.get("root"));\n- return rootPath.value.root;\n-};\n-\n-var PVp = PathVisitor.prototype;\n-\n-PVp.visit = function(path) {\n- if (this instanceof this.Context) {\n- // If we somehow end up calling context.visit, then we need to\n- // re-invoke the .visit method against context.visitor.\n- return this.visitor.visit(path);\n- }\n-\n- assert.ok(path instanceof NodePath);\n- var value = path.value;\n-\n- var methodName = Node.check(value) && this._methodNameTable[value.type];\n- if (methodName) {\n- var context = this.acquireContext(path);\n- try {\n- context.invokeVisitorMethod(methodName);\n- } finally {\n- this.releaseContext(context);\n- }\n-\n- } else {\n- // If there was no visitor method to call, visit the children of\n- // this node generically.\n- visitChildren(path, this);\n- }\n-};\n-\n-function visitChildren(path, visitor) {\n- assert.ok(path instanceof NodePath);\n- assert.ok(visitor instanceof PathVisitor);\n-\n- var value = path.value;\n-\n- if (isArray.check(value)) {\n- path.each(visitor.visit, visitor);\n- } else if (!isObject.check(value)) {\n- // No children to visit.\n- } else {\n- var name, names = types.getFieldNames(value);\n- for (var i = 0, len = names.length; i < len; ++i) {\n- if (!hasOwn.call(value, name = names[i])) {\n- value[name] = types.getFieldValue(value, name);\n- }\n- visitor.visit(path.get(name));\n- }\n- }\n-}\n-\n-PVp.acquireContext = function(path) {\n- if (this._reusableContextStack.length === 0) {\n- return new this.Context(path);\n- }\n- return this._reusableContextStack.pop().reset(path);\n-};\n-\n-PVp.releaseContext = function(context) {\n- assert.ok(context instanceof this.Context);\n- this._reusableContextStack.push(context);\n- context.currentPath = null;\n-};\n-\n-function makeContextConstructor(visitor) {\n- function Context(path) {\n- assert.ok(this instanceof Context);\n- assert.ok(this instanceof PathVisitor);\n- assert.ok(path instanceof NodePath);\n-\n- Object.defineProperty(this, "visitor", {\n- value: visitor,\n- writable: false,\n- enumerable: true,\n- configurable: false\n- });\n-\n- this.currentPath = path;\n- this.needToCallTraverse = true;\n-\n- Object.seal(this);\n- }\n-\n- assert.ok(visitor instanceof PathVisitor);\n-\n- // Note that the visitor object is the prototype of Context.prototype,\n- // so all visitor methods are inherited by context objects.\n- var Cp = Context.prototype = Object.create(visitor);\n-\n- Cp.constructor = Context;\n- extend(Cp, sharedContextProtoMethods);\n-\n- return Context;\n-}\n-\n-// Every PathVisitor has a different this.Context constructor and\n-// this.Context.prototype object, but those prototypes can all use the\n-// same reset, invokeVisitorMethod, and traverse function objects.\n-var sharedContextProtoMethods = Object.create(null);\n-\n-sharedContextProtoMethods.reset =\n-function reset(path) {\n- assert.ok(this instanceof this.Context);\n- assert.ok(path instanceof NodePath);\n-\n- this.currentPath = path;\n- this.needToCallTraverse = true;\n-\n- return this;\n-};\n-\n-sharedContextProtoMethods.invokeVisitorMethod =\n-function invokeVisitorMethod(methodName) {\n- assert.ok(this instanceof this.Context);\n- assert.ok(this.currentPath instanceof NodePath);\n-\n- var result = this.visitor[methodName].call(this, this.currentPath);\n-\n- if (result === false) {\n- // Visitor methods return false to indicate that they have handled\n- // their own traversal needs, and we should not complain if\n- // this.needToCallTraverse is still true.\n- this.needToCallTraverse = false;\n-\n- } else if (result !== undefined) {\n- // Any other non-undefined value returned from the visitor method\n- // is interpreted as a replacement value.\n- this.currentPath = this.currentPath.replace(result)[0];\n-\n- if (this.needToCallTraverse) {\n- // If this.traverse still hasn\'t been called, visit the\n- // children of the replacement node.\n- this.traverse(this.currentPath);\n- }\n- }\n-\n- assert.strictEqual(\n- this.needToCallTraverse, false,\n- "Must either call this.traverse or return false in " + methodName\n- );\n-};\n-\n-sharedContextProtoMethods.traverse =\n-function traverse(path, newVisitor) {\n- assert.ok(this instanceof this.Context);\n- assert.ok(path instanceof NodePath);\n- assert.ok(this.currentPath instanceof NodePath);\n-\n- this.needToCallTraverse = false;\n-\n- visitChildren(path, PathVisitor.fromMethodsObject(\n- newVisitor || this.visitor\n- ));\n-};\n-\n-module.exports = PathVisitor;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/path.js b/src/plone/staticresources/static/components/ast-types/lib/path.js\ndeleted file mode 100644\nindex 2c91700f..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/path.js\n+++ /dev/null\n@@ -1,348 +0,0 @@\n-var assert = require("assert");\n-var Op = Object.prototype;\n-var hasOwn = Op.hasOwnProperty;\n-var types = require("./types");\n-var isArray = types.builtInTypes.array;\n-var isNumber = types.builtInTypes.number;\n-var Ap = Array.prototype;\n-var slice = Ap.slice;\n-var map = Ap.map;\n-\n-function Path(value, parentPath, name) {\n- assert.ok(this instanceof Path);\n-\n- if (parentPath) {\n- assert.ok(parentPath instanceof Path);\n- } else {\n- parentPath = null;\n- name = null;\n- }\n-\n- // The value encapsulated by this Path, generally equal to\n- // parentPath.value[name] if we have a parentPath.\n- this.value = value;\n-\n- // The immediate parent Path of this Path.\n- this.parentPath = parentPath;\n-\n- // The name of the property of parentPath.value through which this\n- // Path\'s value was reached.\n- this.name = name;\n-\n- // Calling path.get("child") multiple times always returns the same\n- // child Path object, for both performance and consistency reasons.\n- this.__childCache = null;\n-}\n-\n-var Pp = Path.prototype;\n-\n-function getChildCache(path) {\n- // Lazily create the child cache. This also cheapens cache\n- // invalidation, since you can just reset path.__childCache to null.\n- return path.__childCache || (path.__childCache = Object.create(null));\n-}\n-\n-function getChildPath(path, name) {\n- var cache = getChildCache(path);\n- var actualChildValue = path.getValueProperty(name);\n- var childPath = cache[name];\n- if (!hasOwn.call(cache, name) ||\n- // Ensure consistency between cache and reality.\n- childPath.value !== actualChildValue) {\n- childPath = cache[name] = new path.constructor(\n- actualChildValue, path, name\n- );\n- }\n- return childPath;\n-}\n-\n-// This method is designed to be overridden by subclasses that need to\n-// handle missing properties, etc.\n-Pp.getValueProperty = function getValueProperty(name) {\n- return this.value[name];\n-};\n-\n-Pp.get = function get(name) {\n- var path = this;\n- var names = arguments;\n- var count = names.length;\n-\n- for (var i = 0; i < count; ++i) {\n- path = getChildPath(path, names[i]);\n- }\n-\n- return path;\n-};\n-\n-Pp.each = function each(callback, context) {\n- var childPaths = [];\n- var len = this.value.length;\n- var i = 0;\n-\n- // Collect all the original child paths before invoking the callback.\n- for (var i = 0; i < len; ++i) {\n- if (hasOwn.call(this.value, i)) {\n- childPaths[i] = this.get(i);\n- }\n- }\n-\n- // Invoke the callback on just the original child paths, regardless of\n- // any modifications made to the array by the callback. I chose these\n- // semantics over cleverly invoking the callback on new elements because\n- // this way is much easier to reason about.\n- context = context || this;\n- for (i = 0; i < len; ++i) {\n- if (hasOwn.call(childPaths, i)) {\n- callback.call(context, childPaths[i]);\n- }\n- }\n-};\n-\n-Pp.map = function map(callback, context) {\n- var result = [];\n-\n- this.each(function(childPath) {\n- result.push(callback.call(this, childPath));\n- }, context);\n-\n- return result;\n-};\n-\n-Pp.filter = function filter(callback, context) {\n- var result = [];\n-\n- this.each(function(childPath) {\n- if (callback.call(this, childPath)) {\n- result.push(childPath);\n- }\n- }, context);\n-\n- return result;\n-};\n-\n-function emptyMoves() {}\n-function getMoves(path, offset, start, end) {\n- isArray.assert(path.value);\n-\n- if (offset === 0) {\n- return emptyMoves;\n- }\n-\n- var length = path.value.length;\n- if (length < 1) {\n- return emptyMoves;\n- }\n-\n- var argc = arguments.length;\n- if (argc === 2) {\n- start = 0;\n- end = length;\n- } else if (argc === 3) {\n- start = Math.max(start, 0);\n- end = length;\n- } else {\n- start = Math.max(start, 0);\n- end = Math.min(end, length);\n- }\n-\n- isNumber.assert(start);\n- isNumber.assert(end);\n-\n- var moves = Object.create(null);\n- var cache = getChildCache(path);\n-\n- for (var i = start; i < end; ++i) {\n- if (hasOwn.call(path.value, i)) {\n- var childPath = path.get(i);\n- assert.strictEqual(childPath.name, i);\n- var newIndex = i + offset;\n- childPath.name = newIndex;\n- moves[newIndex] = childPath;\n- delete cache[i];\n- }\n- }\n-\n- delete cache.length;\n-\n- return function() {\n- for (var newIndex in moves) {\n- var childPath = moves[newIndex];\n- assert.strictEqual(childPath.name, +newIndex);\n- cache[newIndex] = childPath;\n- path.value[newIndex] = childPath.value;\n- }\n- };\n-}\n-\n-Pp.shift = function shift() {\n- var move = getMoves(this, -1);\n- var result = this.value.shift();\n- move();\n- return result;\n-};\n-\n-Pp.unshift = function unshift(node) {\n- var move = getMoves(this, arguments.length);\n- var result = this.value.unshift.apply(this.value, arguments);\n- move();\n- return result;\n-};\n-\n-Pp.push = function push(node) {\n- isArray.assert(this.value);\n- delete getChildCache(this).length\n- return this.value.push.apply(this.value, arguments);\n-};\n-\n-Pp.pop = function pop() {\n- isArray.assert(this.value);\n- var cache = getChildCache(this);\n- delete cache[this.value.length - 1];\n- delete cache.length;\n- return this.value.pop();\n-};\n-\n-Pp.insertAt = function insertAt(index, node) {\n- var argc = arguments.length;\n- var move = getMoves(this, argc - 1, index);\n- if (move === emptyMoves) {\n- return this;\n- }\n-\n- index = Math.max(index, 0);\n-\n- for (var i = 1; i < argc; ++i) {\n- this.value[index + i - 1] = arguments[i];\n- }\n-\n- move();\n-\n- return this;\n-};\n-\n-Pp.insertBefore = function insertBefore(node) {\n- var pp = this.parentPath;\n- var argc = arguments.length;\n- var insertAtArgs = [this.name];\n- for (var i = 0; i < argc; ++i) {\n- insertAtArgs.push(arguments[i]);\n- }\n- return pp.insertAt.apply(pp, insertAtArgs);\n-};\n-\n-Pp.insertAfter = function insertAfter(node) {\n- var pp = this.parentPath;\n- var argc = arguments.length;\n- var insertAtArgs = [this.name + 1];\n- for (var i = 0; i < argc; ++i) {\n- insertAtArgs.push(arguments[i]);\n- }\n- return pp.insertAt.apply(pp, insertAtArgs);\n-};\n-\n-function repairRelationshipWithParent(path) {\n- assert.ok(path instanceof Path);\n-\n- var pp = path.parentPath;\n- if (!pp) {\n- // Orphan paths have no relationship to repair.\n- return path;\n- }\n-\n- var parentValue = pp.value;\n- var parentCache = getChildCache(pp);\n-\n- // Make sure parentCache[path.name] is populated.\n- if (parentValue[path.name] === path.value) {\n- parentCache[path.name] = path;\n- } else if (isArray.check(parentValue)) {\n- // Something caused path.name to become out of date, so attempt to\n- // recover by searching for path.value in parentValue.\n- var i = parentValue.indexOf(path.value);\n- if (i >= 0) {\n- parentCache[path.name = i] = path;\n- }\n- } else {\n- // If path.value disagrees with parentValue[path.name], and\n- // path.name is not an array index, let path.value become the new\n- // parentValue[path.name] and update parentCache accordingly.\n- parentValue[path.name] = path.value;\n- parentCache[path.name] = path;\n- }\n-\n- assert.strictEqual(parentValue[path.name], path.value);\n- assert.strictEqual(path.parentPath.get(path.name), path);\n-\n- return path;\n-}\n-\n-Pp.replace = function replace(replacement) {\n- var results = [];\n- var parentValue = this.parentPath.value;\n- var parentCache = getChildCache(this.parentPath);\n- var count = arguments.length;\n-\n- repairRelationshipWithParent(this);\n-\n- if (isArray.check(parentValue)) {\n- var originalLength = parentValue.length;\n- var move = getMoves(this.parentPath, count - 1, this.name + 1);\n-\n- var spliceArgs = [this.name, 1];\n- for (i = 0; i < count; ++i) {\n- spliceArgs.push(arguments[i]);\n- }\n-\n- var splicedOut = parentValue.splice.apply(parentValue, spliceArgs);\n-\n- assert.strictEqual(splicedOut[0], this.value);\n- assert.strictEqual(\n- parentValue.length,\n- originalLength - 1 + count\n- );\n-\n- move();\n-\n- if (count === 0) {\n- delete this.value;\n- delete parentCache[this.name];\n- this.__childCache = null;\n-\n- } else {\n- assert.strictEqual(parentValue[this.name], replacement);\n-\n- if (this.value !== replacement) {\n- this.value = replacement;\n- this.__childCache = null;\n- }\n-\n- for (i = 0; i < count; ++i) {\n- results.push(this.parentPath.get(this.name + i));\n- }\n-\n- assert.strictEqual(results[0], this);\n- }\n-\n- } else if (count === 1) {\n- if (this.value !== replacement) {\n- this.__childCache = null;\n- }\n- this.value = parentValue[this.name] = replacement;\n- results.push(this);\n-\n- } else if (count === 0) {\n- delete parentValue[this.name];\n- delete this.value;\n- this.__childCache = null;\n-\n- // Leave this path cached as parentCache[this.name], even though\n- // it no longer has a value defined.\n-\n- } else {\n- assert.ok(false, "Could not replace path");\n- }\n-\n- return results;\n-};\n-\n-module.exports = Path;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/scope.js b/src/plone/staticresources/static/components/ast-types/lib/scope.js\ndeleted file mode 100644\nindex 0d04d715..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/scope.js\n+++ /dev/null\n@@ -1,244 +0,0 @@\n-var assert = require("assert");\n-var types = require("./types");\n-var Type = types.Type;\n-var namedTypes = types.namedTypes;\n-var Node = namedTypes.Node;\n-var isArray = types.builtInTypes.array;\n-var hasOwn = Object.prototype.hasOwnProperty;\n-var b = types.builders;\n-\n-function Scope(path, parentScope) {\n- assert.ok(this instanceof Scope);\n- assert.ok(path instanceof require("./node-path"));\n- ScopeType.assert(path.value);\n-\n- var depth;\n-\n- if (parentScope) {\n- assert.ok(parentScope instanceof Scope);\n- depth = parentScope.depth + 1;\n- } else {\n- parentScope = null;\n- depth = 0;\n- }\n-\n- Object.defineProperties(this, {\n- path: { value: path },\n- node: { value: path.value },\n- isGlobal: { value: !parentScope, enumerable: true },\n- depth: { value: depth },\n- parent: { value: parentScope },\n- bindings: { value: {} }\n- });\n-}\n-\n-var scopeTypes = [\n- // Program nodes introduce global scopes.\n- namedTypes.Program,\n-\n- // Function is the supertype of FunctionExpression,\n- // FunctionDeclaration, ArrowExpression, etc.\n- namedTypes.Function,\n-\n- // In case you didn\'t know, the caught parameter shadows any variable\n- // of the same name in an outer scope.\n- namedTypes.CatchClause\n-];\n-\n-var ScopeType = Type.or.apply(Type, scopeTypes);\n-\n-Scope.isEstablishedBy = function(node) {\n- return ScopeType.check(node);\n-};\n-\n-var Sp = Scope.prototype;\n-\n-// Will be overridden after an instance lazily calls scanScope.\n-Sp.didScan = false;\n-\n-Sp.declares = function(name) {\n- this.scan();\n- return hasOwn.call(this.bindings, name);\n-};\n-\n-Sp.declareTemporary = function(prefix) {\n- if (prefix) {\n- assert.ok(/^[a-z$_]/i.test(prefix), prefix);\n- } else {\n- prefix = "t$";\n- }\n-\n- // Include this.depth in the name to make sure the name does not\n- // collide with any variables in nested/enclosing scopes.\n- prefix += this.depth.toString(36) + "$";\n-\n- this.scan();\n-\n- var index = 0;\n- while (this.declares(prefix + index)) {\n- ++index;\n- }\n-\n- var name = prefix + index;\n- return this.bindings[name] = types.builders.identifier(name);\n-};\n-\n-Sp.injectTemporary = function(identifier, init) {\n- identifier || (identifier = this.declareTemporary());\n-\n- var bodyPath = this.path.get("body");\n- if (namedTypes.BlockStatement.check(bodyPath.value)) {\n- bodyPath = bodyPath.get("body");\n- }\n-\n- bodyPath.unshift(\n- b.variableDeclaration(\n- "var",\n- [b.variableDeclarator(identifier, init || null)]\n- )\n- );\n-\n- return identifier;\n-};\n-\n-Sp.scan = function(force) {\n- if (force || !this.didScan) {\n- for (var name in this.bindings) {\n- // Empty out this.bindings, just in cases.\n- delete this.bindings[name];\n- }\n- scanScope(this.path, this.bindings);\n- this.didScan = true;\n- }\n-};\n-\n-Sp.getBindings = function () {\n- this.scan();\n- return this.bindings;\n-};\n-\n-function scanScope(path, bindings) {\n- var node = path.value;\n- ScopeType.assert(node);\n-\n- if (namedTypes.CatchClause.check(node)) {\n- // A catch clause establishes a new scope but the only variable\n- // bound in that scope is the catch parameter. Any other\n- // declarations create bindings in the outer scope.\n- addPattern(path.get("param"), bindings);\n-\n- } else {\n- recursiveScanScope(path, bindings);\n- }\n-}\n-\n-function recursiveScanScope(path, bindings) {\n- var node = path.value;\n-\n- if (path.parent &&\n- namedTypes.FunctionExpression.check(path.parent.node) &&\n- path.parent.node.id) {\n- addPattern(path.parent.get("id"), bindings);\n-\n- } else if (isArray.check(node)) {\n- path.each(function(childPath) {\n- recursiveScanChild(childPath, bindings);\n- });\n-\n- } else if (namedTypes.Function.check(node)) {\n- path.get("params").each(function(paramPath) {\n- addPattern(paramPath, bindings);\n- });\n-\n- recursiveScanChild(path.get("body"), bindings);\n-\n- } else if (namedTypes.VariableDeclarator.check(node)) {\n- addPattern(path.get("id"), bindings);\n- recursiveScanChild(path.get("init"), bindings);\n-\n- } else if (namedTypes.ImportSpecifier &&\n- namedTypes.ImportSpecifier.check(node)) {\n- addPattern(\n- node.name ? path.get("name") : path.get("id"),\n- bindings\n- );\n-\n- } else if (namedTypes.ModuleDeclaration &&\n- namedTypes.ModuleDeclaration.check(node)) {\n- addPattern(path.get("id"), bindings);\n-\n- } else if (Node.check(node)) {\n- types.eachField(node, function(name, child) {\n- var childPath = path.get(name);\n- assert.strictEqual(childPath.value, child);\n- recursiveScanChild(childPath, bindings);\n- });\n- }\n-}\n-\n-function recursiveScanChild(path, bindings) {\n- var node = path.value;\n-\n- if (namedTypes.FunctionDeclaration.check(node)) {\n- addPattern(path.get("id"), bindings);\n-\n- } else if (namedTypes.ClassDeclaration &&\n- namedTypes.ClassDeclaration.check(node)) {\n- addPattern(path.get("id"), bindings);\n-\n- } else if (Scope.isEstablishedBy(node)) {\n- if (namedTypes.CatchClause.check(node)) {\n- var catchParamName = node.param.name;\n- var hadBinding = hasOwn.call(bindings, catchParamName);\n-\n- // Any declarations that occur inside the catch body that do\n- // not have the same name as the catch parameter should count\n- // as bindings in the outer scope.\n- recursiveScanScope(path.get("body"), bindings);\n-\n- // If a new binding matching the catch parameter name was\n- // created while scanning the catch body, ignore it because it\n- // actually refers to the catch parameter and not the outer\n- // scope that we\'re currently scanning.\n- if (!hadBinding) {\n- delete bindings[catchParamName];\n- }\n- }\n-\n- } else {\n- recursiveScanScope(path, bindings);\n- }\n-}\n-\n-function addPattern(patternPath, bindings) {\n- var pattern = patternPath.value;\n- namedTypes.Pattern.assert(pattern);\n-\n- if (namedTypes.Identifier.check(pattern)) {\n- if (hasOwn.call(bindings, pattern.name)) {\n- bindings[pattern.name].push(patternPath);\n- } else {\n- bindings[pattern.name] = [patternPath];\n- }\n-\n- } else if (namedTypes.SpreadElement &&\n- namedTypes.SpreadElement.check(pattern)) {\n- addPattern(patternPath.get("argument"), bindings);\n- }\n-}\n-\n-Sp.lookup = function(name) {\n- for (var scope = this; scope; scope = scope.parent)\n- if (scope.declares(name))\n- break;\n- return scope;\n-};\n-\n-Sp.getGlobalScope = function() {\n- var scope = this;\n- while (!scope.isGlobal)\n- scope = scope.parent;\n- return scope;\n-};\n-\n-module.exports = Scope;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/shared.js b/src/plone/staticresources/static/components/ast-types/lib/shared.js\ndeleted file mode 100644\nindex 3e840862..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/shared.js\n+++ /dev/null\n@@ -1,41 +0,0 @@\n-var types = require("../lib/types");\n-var Type = types.Type;\n-var builtin = types.builtInTypes;\n-var isNumber = builtin.number;\n-\n-// An example of constructing a new type with arbitrary constraints from\n-// an existing type.\n-exports.geq = function(than) {\n- return new Type(function(value) {\n- return isNumber.check(value) && value >= than;\n- }, isNumber + " >= " + than);\n-};\n-\n-// Default value-returning functions that may optionally be passed as a\n-// third argument to Def.prototype.field.\n-exports.defaults = {\n- // Functions were used because (among other reasons) that\'s the most\n- // elegant way to allow for the emptyArray one always to give a new\n- // array instance.\n- "null": function() { return null },\n- "emptyArray": function() { return [] },\n- "false": function() { return false },\n- "true": function() { return true },\n- "undefined": function() {}\n-};\n-\n-var naiveIsPrimitive = Type.or(\n- builtin.string,\n- builtin.number,\n- builtin.boolean,\n- builtin.null,\n- builtin.undefined\n-);\n-\n-exports.isPrimitive = new Type(function(value) {\n- if (value === null)\n- return true;\n- var type = typeof value;\n- return !(type === "object" ||\n- type === "function");\n-}, naiveIsPrimitive.toString());\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/traverse.js b/src/plone/staticresources/static/components/ast-types/lib/traverse.js\ndeleted file mode 100644\nindex 3683c663..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/traverse.js\n+++ /dev/null\n@@ -1,23 +0,0 @@\n-var visit = require("./path-visitor").visit;\n-var deprecate = require("depd")(\'require("ast-types").traverse\');\n-\n-function traverseWithFullPathInfo(node, callback) {\n- return visit(node, {\n- visitNode: function(path) {\n- if (callback.call(path, path.value) !== false) {\n- this.traverse(path);\n- }\n-\n- return false;\n- }\n- });\n-}\n-\n-var deprecatedWrapper = deprecate.function(\n- traverseWithFullPathInfo,\n- \'Please use require("ast-types").visit instead of .traverse for \' +\n- \'syntax tree manipulation\'\n-);\n-\n-deprecatedWrapper.fast = deprecatedWrapper;\n-module.exports = deprecatedWrapper;\ndiff --git a/src/plone/staticresources/static/components/ast-types/lib/types.js b/src/plone/staticresources/static/components/ast-types/lib/types.js\ndeleted file mode 100644\nindex 0f7eedc1..00000000\n--- a/src/plone/staticresources/static/components/ast-types/lib/types.js\n+++ /dev/null\n@@ -1,724 +0,0 @@\n-var assert = require("assert");\n-var Ap = Array.prototype;\n-var slice = Ap.slice;\n-var map = Ap.map;\n-var each = Ap.forEach;\n-var Op = Object.prototype;\n-var objToStr = Op.toString;\n-var funObjStr = objToStr.call(function(){});\n-var strObjStr = objToStr.call("");\n-var hasOwn = Op.hasOwnProperty;\n-\n-// A type is an object with a .check method that takes a value and returns\n-// true or false according to whether the value matches the type.\n-\n-function Type(check, name) {\n- var self = this;\n- assert.ok(self instanceof Type, self);\n-\n- // Unfortunately we can\'t elegantly reuse isFunction and isString,\n- // here, because this code is executed while defining those types.\n- assert.strictEqual(objToStr.call(check), funObjStr,\n- check + " is not a function");\n-\n- // The `name` parameter can be either a function or a string.\n- var nameObjStr = objToStr.call(name);\n- assert.ok(nameObjStr === funObjStr ||\n- nameObjStr === strObjStr,\n- name + " is neither a function nor a string");\n-\n- Object.defineProperties(self, {\n- name: { value: name },\n- check: {\n- value: function(value, deep) {\n- var result = check.call(self, value, deep);\n- if (!result && deep && objToStr.call(deep) === funObjStr)\n- deep(self, value);\n- return result;\n- }\n- }\n- });\n-}\n-\n-var Tp = Type.prototype;\n-\n-// Throughout this file we use Object.defineProperty to prevent\n-// redefinition of exported properties.\n-exports.Type = Type;\n-\n-// Like .check, except that failure triggers an AssertionError.\n-Tp.assert = function(value, deep) {\n- if (!this.check(value, deep)) {\n- var str = shallowStringify(value);\n- assert.ok(false, str + " does not match type " + this);\n- return false;\n- }\n- return true;\n-};\n-\n-function shallowStringify(value) {\n- if (isObject.check(value))\n- return "{" + Object.keys(value).map(function(key) {\n- return key + ": " + value[key];\n- }).join(", ") + "}";\n-\n- if (isArray.check(value))\n- return "[" + value.map(shallowStringify).join(", ") + "]";\n-\n- return JSON.stringify(value);\n-}\n-\n-Tp.toString = function() {\n- var name = this.name;\n-\n- if (isString.check(name))\n- return name;\n-\n- if (isFunction.check(name))\n- return name.call(this) + "";\n-\n- return name + " type";\n-};\n-\n-var builtInTypes = {};\n-exports.builtInTypes = builtInTypes;\n-\n-function defBuiltInType(example, name) {\n- var objStr = objToStr.call(example);\n-\n- Object.defineProperty(builtInTypes, name, {\n- enumerable: true,\n- value: new Type(function(value) {\n- return objToStr.call(value) === objStr;\n- }, name)\n- });\n-\n- return builtInTypes[name];\n-}\n-\n-// These types check the underlying [[Class]] attribute of the given\n-// value, rather than using the problematic typeof operator. Note however\n-// that no subtyping is considered; so, for instance, isObject.check\n-// returns false for [], /./, new Date, and null.\n-var isString = defBuiltInType("", "string");\n-var isFunction = defBuiltInType(function(){}, "function");\n-var isArray = defBuiltInType([], "array");\n-var isObject = defBuiltInType({}, "object");\n-var isRegExp = defBuiltInType(/./, "RegExp");\n-var isDate = defBuiltInType(new Date, "Date");\n-var isNumber = defBuiltInType(3, "number");\n-var isBoolean = defBuiltInType(true, "boolean");\n-var isNull = defBuiltInType(null, "null");\n-var isUndefined = defBuiltInType(void 0, "undefined");\n-\n-// There are a number of idiomatic ways of expressing types, so this\n-// function serves to coerce them all to actual Type objects. Note that\n-// providing the name argument is not necessary in most cases.\n-function toType(from, name) {\n- // The toType function should of course be idempotent.\n- if (from instanceof Type)\n- return from;\n-\n- // The Def type is used as a helper for constructing compound\n- // interface types for AST nodes.\n- if (from instanceof Def)\n- return from.type;\n-\n- // Support [ElemType] syntax.\n- if (isArray.check(from))\n- return Type.fromArray(from);\n-\n- // Support { someField: FieldType, ... } syntax.\n- if (isObject.check(from))\n- return Type.fromObject(from);\n-\n- // If isFunction.check(from), assume that from is a binary predicate\n- // function we can use to define the type.\n- if (isFunction.check(from))\n- return new Type(from, name);\n-\n- // As a last resort, toType returns a type that matches any value that\n- // is === from. This is primarily useful for literal values like\n- // toType(null), but it has the additional advantage of allowing\n- // toType to be a total function.\n- return new Type(function(value) {\n- return value === from;\n- }, isUndefined.check(name) ? function() {\n- return from + "";\n- } : name);\n-}\n-\n-// Returns a type that matches the given value iff any of type1, type2,\n-// etc. match the value.\n-Type.or = function(/* type1, type2, ... */) {\n- var types = [];\n- var len = arguments.length;\n- for (var i = 0; i < len; ++i)\n- types.push(toType(arguments[i]));\n-\n- return new Type(function(value, deep) {\n- for (var i = 0; i < len; ++i)\n- if (types[i].check(value, deep))\n- return true;\n- return false;\n- }, function() {\n- return types.join(" | ");\n- });\n-};\n-\n-Type.fromArray = function(arr) {\n- assert.ok(isArray.check(arr));\n- assert.strictEqual(\n- arr.length, 1,\n- "only one element type is permitted for typed arrays");\n- return toType(arr[0]).arrayOf();\n-};\n-\n-Tp.arrayOf = function() {\n- var elemType = this;\n- return new Type(function(value, deep) {\n- return isArray.check(value) && value.every(function(elem) {\n- return elemType.check(elem, deep);\n- });\n- }, function() {\n- return "[" + elemType + "]";\n- });\n-};\n-\n-Type.fromObject = function(obj) {\n- var fields = Object.keys(obj).map(function(name) {\n- return new Field(name, obj[name]);\n- });\n-\n- return new Type(function(value, deep) {\n- return isObject.check(value) && fields.every(function(field) {\n- return field.type.check(value[field.name], deep);\n- });\n- }, function() {\n- return "{ " + fields.join(", ") + " }";\n- });\n-};\n-\n-function Field(name, type, defaultFn, hidden) {\n- var self = this;\n-\n- assert.ok(self instanceof Field);\n- isString.assert(name);\n-\n- type = toType(type);\n-\n- var properties = {\n- name: { value: name },\n- type: { value: type },\n- hidden: { value: !!hidden }\n- };\n-\n- if (isFunction.check(defaultFn)) {\n- properties.defaultFn = { value: defaultFn };\n- }\n-\n- Object.defineProperties(self, properties);\n-}\n-\n-var Fp = Field.prototype;\n-\n-Fp.toString = function() {\n- return JSON.stringify(this.name) + ": " + this.type;\n-};\n-\n-Fp.getValue = function(obj) {\n- var value = obj[this.name];\n-\n- if (!isUndefined.check(value))\n- return value;\n-\n- if (this.defaultFn)\n- value = this.defaultFn.call(obj);\n-\n- return value;\n-};\n-\n-// Define a type whose name is registered in a namespace (the defCache) so\n-// that future definitions will return the same type given the same name.\n-// In particular, this system allows for circular and forward definitions.\n-// The Def object d returned from Type.def may be used to configure the\n-// type d.type by calling methods such as d.bases, d.build, and d.field.\n-Type.def = function(typeName) {\n- isString.assert(typeName);\n- return hasOwn.call(defCache, typeName)\n- ? defCache[typeName]\n- : defCache[typeName] = new Def(typeName);\n-};\n-\n-// In order to return the same Def instance every time Type.def is called\n-// with a particular name, those instances need to be stored in a cache.\n-var defCache = Object.create(null);\n-\n-function Def(typeName) {\n- var self = this;\n- assert.ok(self instanceof Def);\n-\n- Object.defineProperties(self, {\n- typeName: { value: typeName },\n- baseNames: { value: [] },\n- ownFields: { value: Object.create(null) },\n-\n- // These two are populated during finalization.\n- allSupertypes: { value: Object.create(null) }, // Includes own typeName.\n- supertypeList: { value: [] }, // Linear inheritance hierarchy.\n- allFields: { value: Object.create(null) }, // Includes inherited fields.\n- fieldNames: { value: [] }, // Non-hidden keys of allFields.\n-\n- type: {\n- value: new Type(function(value, deep) {\n- return self.check(value, deep);\n- }, typeName)\n- }\n- });\n-}\n-\n-Def.fromValue = function(value) {\n- if (value && typeof value === "object") {\n- var type = value.type;\n- if (typeof type === "string" &&\n- hasOwn.call(defCache, type)) {\n- var d = defCache[type];\n- if (d.finalized) {\n- return d;\n- }\n- }\n- }\n-\n- return null;\n-};\n-\n-var Dp = Def.prototype;\n-\n-Dp.isSupertypeOf = function(that) {\n- if (that instanceof Def) {\n- assert.strictEqual(this.finalized, true);\n- assert.strictEqual(that.finalized, true);\n- return hasOwn.call(that.allSupertypes, this.typeName);\n- } else {\n- assert.ok(false, that + " is not a Def");\n- }\n-};\n-\n-// Note that the list returned by this function is a copy of the internal\n-// supertypeList, *without* the typeName itself as the first element.\n-exports.getSupertypeNames = function(typeName) {\n- assert.ok(hasOwn.call(defCache, typeName));\n- var d = defCache[typeName];\n- assert.strictEqual(d.finalized, true);\n- return d.supertypeList.slice(1);\n-};\n-\n-// Returns an object mapping from every known type in the defCache to the\n-// most specific supertype whose name is an own property of the candidates\n-// object.\n-exports.computeSupertypeLookupTable = function(candidates) {\n- var table = {};\n-\n- for (var typeName in defCache) {\n- if (hasOwn.call(defCache, typeName)) {\n- var d = defCache[typeName];\n- assert.strictEqual(d.finalized, true);\n- for (var i = 0; i < d.supertypeList.length; ++i) {\n- var superTypeName = d.supertypeList[i];\n- if (hasOwn.call(candidates, superTypeName)) {\n- table[typeName] = superTypeName;\n- break;\n- }\n- }\n- }\n- }\n-\n- return table;\n-};\n-\n-Dp.checkAllFields = function(value, deep) {\n- var allFields = this.allFields;\n- assert.strictEqual(this.finalized, true);\n-\n- function checkFieldByName(name) {\n- var field = allFields[name];\n- var type = field.type;\n- var child = field.getValue(value);\n- return type.check(child, deep);\n- }\n-\n- return isObject.check(value)\n- && Object.keys(allFields).every(checkFieldByName);\n-};\n-\n-Dp.check = function(value, deep) {\n- assert.strictEqual(\n- this.finalized, true,\n- "prematurely checking unfinalized type " + this.typeName);\n-\n- // A Def type can only match an object value.\n- if (!isObject.check(value))\n- return false;\n-\n- var vDef = Def.fromValue(value);\n- if (!vDef) {\n- // If we couldn\'t infer the Def associated with the given value,\n- // and we expected it to be a SourceLocation or a Position, it was\n- // probably just missing a "type" field (because Esprima does not\n- // assign a type property to such nodes). Be optimistic and let\n- // this.checkAllFields make the final decision.\n- if (this.typeName === "SourceLocation" ||\n- this.typeName === "Position") {\n- return this.checkAllFields(value, deep);\n- }\n-\n- // Calling this.checkAllFields for any other type of node is both\n- // bad for performance and way too forgiving.\n- return false;\n- }\n-\n- // If checking deeply and vDef === this, then we only need to call\n- // checkAllFields once. Calling checkAllFields is too strict when deep\n- // is false, because then we only care about this.isSupertypeOf(vDef).\n- if (deep && vDef === this)\n- return this.checkAllFields(value, deep);\n-\n- // In most cases we rely exclusively on isSupertypeOf to make O(1)\n- // subtyping determinations. This suffices in most situations outside\n- // of unit tests, since interface conformance is checked whenever new\n- // instances are created using builder functions.\n- if (!this.isSupertypeOf(vDef))\n- return false;\n-\n- // The exception is when deep is true; then, we recursively check all\n- // fields.\n- if (!deep)\n- return true;\n-\n- // Use the more specific Def (vDef) to perform the deep check, but\n- // shallow-check fields defined by the less specific Def (this).\n- return vDef.checkAllFields(value, deep)\n- && this.checkAllFields(value, false);\n-};\n-\n-Dp.bases = function() {\n- var bases = this.baseNames;\n-\n- assert.strictEqual(this.finalized, false);\n-\n- each.call(arguments, function(baseName) {\n- isString.assert(baseName);\n-\n- // This indexOf lookup may be O(n), but the typical number of base\n- // names is very small, and indexOf is a native Array method.\n- if (bases.indexOf(baseName) < 0)\n- bases.push(baseName);\n- });\n-\n- return this; // For chaining.\n-};\n-\n-// False by default until .build(...) is called on an instance.\n-Object.defineProperty(Dp, "buildable", { value: false });\n-\n-var builders = {};\n-exports.builders = builders;\n-\n-// This object is used as prototype for any node created by a builder.\n-var nodePrototype = {};\n-\n-// Call this function to define a new method to be shared by all AST\n-// nodes. The replaced method (if any) is returned for easy wrapping.\n-exports.defineMethod = function(name, func) {\n- var old = nodePrototype[name];\n-\n- // Pass undefined as func to delete nodePrototype[name].\n- if (isUndefined.check(func)) {\n- delete nodePrototype[name];\n-\n- } else {\n- isFunction.assert(func);\n-\n- Object.defineProperty(nodePrototype, name, {\n- enumerable: true, // For discoverability.\n- configurable: true, // For delete proto[name].\n- value: func\n- });\n- }\n-\n- return old;\n-};\n-\n-// Calling the .build method of a Def simultaneously marks the type as\n-// buildable (by defining builders[getBuilderName(typeName)]) and\n-// specifies the order of arguments that should be passed to the builder\n-// function to create an instance of the type.\n-Dp.build = function(/* param1, param2, ... */) {\n- var self = this;\n-\n- // Calling Def.prototype.build multiple times has the effect of merely\n- // redefining this property.\n- Object.defineProperty(self, "buildParams", {\n- value: slice.call(arguments),\n- writable: false,\n- enumerable: false,\n- configurable: true\n- });\n-\n- assert.strictEqual(self.finalized, false);\n- isString.arrayOf().assert(self.buildParams);\n-\n- if (self.buildable) {\n- // If this Def is already buildable, update self.buildParams and\n- // continue using the old builder function.\n- return self;\n- }\n-\n- // Every buildable type will have its "type" field filled in\n- // automatically. This includes types that are not subtypes of Node,\n- // like SourceLocation, but that seems harmless (TODO?).\n- self.field("type", self.typeName, function() { return self.typeName });\n-\n- // Override Dp.buildable for this Def instance.\n- Object.defineProperty(self, "buildable", { value: true });\n-\n- Object.defineProperty(builders, getBuilderName(self.typeName), {\n- enumerable: true,\n-\n- value: function() {\n- var args = arguments;\n- var argc = args.length;\n- var built = Object.create(nodePrototype);\n-\n- assert.ok(\n- self.finalized,\n- "attempting to instantiate unfinalized type " + self.typeName);\n-\n- function add(param, i) {\n- if (hasOwn.call(built, param))\n- return;\n-\n- var all = self.allFields;\n- assert.ok(hasOwn.call(all, param), param);\n-\n- var field = all[param];\n- var type = field.type;\n- var value;\n-\n- if (isNumber.check(i) && i < argc) {\n- value = args[i];\n- } else if (field.defaultFn) {\n- // Expose the partially-built object to the default\n- // function as its `this` object.\n- value = field.defaultFn.call(built);\n- } else {\n- var message = "no value or default function given for field " +\n- JSON.stringify(param) + " of " + self.typeName + "(" +\n- self.buildParams.map(function(name) {\n- return all[name];\n- }).join(", ") + ")";\n- assert.ok(false, message);\n- }\n-\n- assert.ok(\n- type.check(value),\n- shallowStringify(value) +\n- " does not match field " + field +\n- " of type " + self.typeName);\n-\n- // TODO Could attach getters and setters here to enforce\n- // dynamic type safety.\n- built[param] = value;\n- }\n-\n- self.buildParams.forEach(function(param, i) {\n- add(param, i);\n- });\n-\n- Object.keys(self.allFields).forEach(function(param) {\n- add(param); // Use the default value.\n- });\n-\n- // Make sure that the "type" field was filled automatically.\n- assert.strictEqual(built.type, self.typeName);\n-\n- return built;\n- }\n- });\n-\n- return self; // For chaining.\n-};\n-\n-function getBuilderName(typeName) {\n- return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) {\n- var len = upperCasePrefix.length;\n- switch (len) {\n- case 0: return "";\n- // If there\'s only one initial capital letter, just lower-case it.\n- case 1: return upperCasePrefix.toLowerCase();\n- default:\n- // If there\'s more than one initial capital letter, lower-case\n- // all but the last one, so that XMLDefaultDeclaration (for\n- // example) becomes xmlDefaultDeclaration.\n- return upperCasePrefix.slice(\n- 0, len - 1).toLowerCase() +\n- upperCasePrefix.charAt(len - 1);\n- }\n- });\n-}\n-\n-// The reason fields are specified using .field(...) instead of an object\n-// literal syntax is somewhat subtle: the object literal syntax would\n-// support only one key and one value, but with .field(...) we can pass\n-// any number of arguments to specify the field.\n-Dp.field = function(name, type, defaultFn, hidden) {\n- assert.strictEqual(this.finalized, false);\n- this.ownFields[name] = new Field(name, type, defaultFn, hidden);\n- return this; // For chaining.\n-};\n-\n-var namedTypes = {};\n-exports.namedTypes = namedTypes;\n-\n-// Like Object.keys, but aware of what fields each AST type should have.\n-function getFieldNames(object) {\n- var d = Def.fromValue(object);\n- if (d) {\n- return d.fieldNames.slice(0);\n- }\n-\n- assert.strictEqual(\n- "type" in object, false,\n- "did not recognize object of type " +\n- JSON.stringify(object.type)\n- );\n-\n- return Object.keys(object);\n-}\n-exports.getFieldNames = getFieldNames;\n-\n-// Get the value of an object property, taking object.type and default\n-// functions into account.\n-function getFieldValue(object, fieldName) {\n- var d = Def.fromValue(object);\n- if (d) {\n- var field = d.allFields[fieldName];\n- if (field) {\n- return field.getValue(object);\n- }\n- }\n-\n- return object[fieldName];\n-}\n-exports.getFieldValue = getFieldValue;\n-\n-// Iterate over all defined fields of an object, including those missing\n-// or undefined, passing each field name and effective value (as returned\n-// by getFieldValue) to the callback. If the object has no corresponding\n-// Def, the callback will never be called.\n-exports.eachField = function(object, callback, context) {\n- getFieldNames(object).forEach(function(name) {\n- callback.call(this, name, getFieldValue(object, name));\n- }, context);\n-};\n-\n-// Similar to eachField, except that iteration stops as soon as the\n-// callback returns a truthy value. Like Array.prototype.some, the final\n-// result is either true or false to indicates whether the callback\n-// returned true for any element or not.\n-exports.someField = function(object, callback, context) {\n- return getFieldNames(object).some(function(name) {\n- return callback.call(this, name, getFieldValue(object, name));\n- }, context);\n-};\n-\n-// This property will be overridden as true by individual Def instances\n-// when they are finalized.\n-Object.defineProperty(Dp, "finalized", { value: false });\n-\n-Dp.finalize = function() {\n- // It\'s not an error to finalize a type more than once, but only the\n- // first call to .finalize does anything.\n- if (!this.finalized) {\n- var allFields = this.allFields;\n- var allSupertypes = this.allSupertypes;\n-\n- this.baseNames.forEach(function(name) {\n- var def = defCache[name];\n- def.finalize();\n- extend(allFields, def.allFields);\n- extend(allSupertypes, def.allSupertypes);\n- });\n-\n- // TODO Warn if fields are overridden with incompatible types.\n- extend(allFields, this.ownFields);\n- allSupertypes[this.typeName] = this;\n-\n- this.fieldNames.length = 0;\n- for (var fieldName in allFields) {\n- if (hasOwn.call(allFields, fieldName) &&\n- !allFields[fieldName].hidden) {\n- this.fieldNames.push(fieldName);\n- }\n- }\n-\n- // Types are exported only once they have been finalized.\n- Object.defineProperty(namedTypes, this.typeName, {\n- enumerable: true,\n- value: this.type\n- });\n-\n- Object.defineProperty(this, "finalized", { value: true });\n-\n- // A linearization of the inheritance hierarchy.\n- populateSupertypeList(this.typeName, this.supertypeList);\n- }\n-};\n-\n-function populateSupertypeList(typeName, list) {\n- list.length = 0;\n- list.push(typeName);\n-\n- var lastSeen = Object.create(null);\n-\n- for (var pos = 0; pos < list.length; ++pos) {\n- typeName = list[pos];\n- var d = defCache[typeName];\n- assert.strictEqual(d.finalized, true);\n-\n- // If we saw typeName earlier in the breadth-first traversal,\n- // delete the last-seen occurrence.\n- if (hasOwn.call(lastSeen, typeName)) {\n- delete list[lastSeen[typeName]];\n- }\n-\n- // Record the new index of the last-seen occurrence of typeName.\n- lastSeen[typeName] = pos;\n-\n- // Enqueue the base names of this type.\n- list.push.apply(list, d.baseNames);\n- }\n-\n- // Compaction loop to remove array holes.\n- for (var to = 0, from = to, len = list.length; from < len; ++from) {\n- if (hasOwn.call(list, from)) {\n- list[to++] = list[from];\n- }\n- }\n-\n- list.length = to;\n-}\n-\n-function extend(into, from) {\n- Object.keys(from).forEach(function(name) {\n- into[name] = from[name];\n- });\n-\n- return into;\n-};\n-\n-exports.finalize = function() {\n- Object.keys(defCache).forEach(function(name) {\n- defCache[name].finalize();\n- });\n-};\ndiff --git a/src/plone/staticresources/static/components/ast-types/main.js b/src/plone/staticresources/static/components/ast-types/main.js\ndeleted file mode 100644\nindex 9b110b16..00000000\n--- a/src/plone/staticresources/static/components/ast-types/main.js\n+++ /dev/null\n@@ -1,32 +0,0 @@\n-var types = require("./lib/types");\n-\n-// This core module of AST types captures ES5 as it is parsed today by\n-// git://github.com/ariya/esprima.git#master.\n-require("./def/core");\n-\n-// Feel free to add to or remove from this list of extension modules to\n-// configure the precise type hierarchy that you need.\n-require("./def/es6");\n-require("./def/es7");\n-require("./def/mozilla");\n-require("./def/e4x");\n-require("./def/fb-harmony");\n-\n-types.finalize();\n-\n-exports.Type = types.Type;\n-exports.builtInTypes = types.builtInTypes;\n-exports.namedTypes = types.namedTypes;\n-exports.builders = types.builders;\n-exports.defineMethod = types.defineMethod;\n-exports.getFieldNames = types.getFieldNames;\n-exports.getFieldValue = types.getFieldValue;\n-exports.eachField = types.eachField;\n-exports.someField = types.someField;\n-exports.getSupertypeNames = types.getSupertypeNames;\n-exports.astNodesAreEquivalent = require("./lib/equiv");\n-exports.traverse = require("./lib/traverse");\n-exports.finalize = types.finalize;\n-exports.NodePath = require("./lib/node-path");\n-exports.PathVisitor = require("./lib/path-visitor");\n-exports.visit = exports.PathVisitor.visit;\ndiff --git a/src/plone/staticresources/static/components/ast-types/package.json b/src/plone/staticresources/static/components/ast-types/package.json\ndeleted file mode 100644\nindex 12557dec..00000000\n--- a/src/plone/staticresources/static/components/ast-types/package.json\n+++ /dev/null\n@@ -1,42 +0,0 @@\n-{\n- "author": "Ben Newman ",\n- "name": "ast-types",\n- "description": "Esprima-compatible implementation of the Mozilla JS Parser API",\n- "keywords": [\n- "ast",\n- "abstract syntax tree",\n- "hierarchy",\n- "mozilla",\n- "spidermonkey",\n- "parser api",\n- "esprima",\n- "types",\n- "type system",\n- "type checking",\n- "dynamic types",\n- "parsing",\n- "transformation",\n- "syntax"\n- ],\n- "version": "0.4.13",\n- "homepage": "http://github.com/benjamn/ast-types",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/benjamn/ast-types.git"\n- },\n- "license": "MIT",\n- "main": "main.js",\n- "scripts": {\n- "test": "mocha --reporter spec test/run.js"\n- },\n- "dependencies": {\n- "depd": "~1.0.0"\n- },\n- "devDependencies": {\n- "esprima": "~1.2.2",\n- "mocha": "~1.20.1"\n- },\n- "engines": {\n- "node": ">= 0.6"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/base62/.travis.yml b/src/plone/staticresources/static/components/base62/.travis.yml\ndeleted file mode 100644\nindex 81112458..00000000\n--- a/src/plone/staticresources/static/components/base62/.travis.yml\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-language: node_js\n-node_js:\n- - 0.6\n- - 0.8\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/base62/LICENSE b/src/plone/staticresources/static/components/base62/LICENSE\ndeleted file mode 100644\nindex 1f67b4ec..00000000\n--- a/src/plone/staticresources/static/components/base62/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2012 Andrew Nesbitt\n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/base62/Readme.md b/src/plone/staticresources/static/components/base62/Readme.md\ndeleted file mode 100644\nindex fef09c06..00000000\n--- a/src/plone/staticresources/static/components/base62/Readme.md\n+++ /dev/null\n@@ -1,30 +0,0 @@\n-# Base62.js \n-[![build status](https://secure.travis-ci.org/andrew/base62.js.png)](http://travis-ci.org/andrew/base62.js)\n-\n-A javascript Base62 encode/decoder for node.js\n-\n-## Install\n-\n- npm install base62\n-\n-## Usage\n-\n- Base62 = require(\'base62\')\n- Base62.encode(999) // \'g7\'\n- Base62.decode(\'g7\') // 999\n-\n-## Development\n-\n-Source hosted at [GitHub](http://github.com/andrew/base62.js).\n-Report Issues/Feature requests on [GitHub Issues](http://github.com/andrew/split/base62.js).\n-\n-### Note on Patches/Pull Requests\n-\n- * Fork the project.\n- * Make your feature addition or bug fix.\n- * Add tests for it. This is important so I don\'t break it in a future version unintentionally.\n- * Send me a pull request. Bonus points for topic branches.\n-\n-## Copyright\n-\n-Copyright (c) 2012 Andrew Nesbitt. See [LICENSE](https://github.com/andrew/base62.js/blob/master/LICENSE) for details.\ndiff --git a/src/plone/staticresources/static/components/base62/base62.js b/src/plone/staticresources/static/components/base62/base62.js\ndeleted file mode 100644\nindex 2dc05bfa..00000000\n--- a/src/plone/staticresources/static/components/base62/base62.js\n+++ /dev/null\n@@ -1,27 +0,0 @@\n-var Base62 = (function (my) {\n- my.chars = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]\n-\n- my.encode = function(i){\n- if (i === 0) {return \'0\'}\n- var s = \'\'\n- while (i > 0) {\n- s = this.chars[i % 62] + s\n- i = Math.floor(i/62)\n- }\n- return s\n- };\n- my.decode = function(a,b,c,d){\n- for (\n- b = c = (\n- a === (/\\W|_|^$/.test(a += "") || a)\n- ) - 1;\n- d = a.charCodeAt(c++);\n- )\n- b = b * 62 + d - [, 48, 29, 87][d >> 5];\n- return b\n- };\n-\n- return my;\n-}({}));\n-\n-module.exports = Base62\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/base62/package.json b/src/plone/staticresources/static/components/base62/package.json\ndeleted file mode 100644\nindex 49ed7d3b..00000000\n--- a/src/plone/staticresources/static/components/base62/package.json\n+++ /dev/null\n@@ -1,21 +0,0 @@\n-{\n- "author": "Andrew Nesbitt (http://andrew-nesbitt.com/)",\n- "name": "base62",\n- "description": "Javascript Base62 encode/decoder",\n- "keywords": ["base-62"],\n- "version": "0.1.1",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/andrew/base62.js.git"\n- },\n- "main": "base62.js",\n- "engines": {\n- "node": "*"\n- },\n- "scripts": {\n- "test": "mocha test"\n- },\n- "devDependencies": {\n- "mocha": "1.7.x"\n- }\n-}\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/cls/.travis.yml b/src/plone/staticresources/static/components/cls/.travis.yml\ndeleted file mode 100644\nindex ed05f88d..00000000\n--- a/src/plone/staticresources/static/components/cls/.travis.yml\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-language: node_js\n-node_js:\n- - "0.11"\n- - "0.10"\n- - "0.8"\n- - "0.6"\ndiff --git a/src/plone/staticresources/static/components/cls/LICENSE b/src/plone/staticresources/static/components/cls/LICENSE\ndeleted file mode 100644\nindex 6c2f144b..00000000\n--- a/src/plone/staticresources/static/components/cls/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2014 Ben Newman \n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/cls/README.md b/src/plone/staticresources/static/components/cls/README.md\ndeleted file mode 100644\nindex b962e12f..00000000\n--- a/src/plone/staticresources/static/components/cls/README.md\n+++ /dev/null\n@@ -1,92 +0,0 @@\n-Introduction\n----\n-\n-Standardized `class` syntax\n-[is coming](http://wiki.ecmascript.org/doku.php?id=strawman:maximally_minimal_classes)\n-in ECMAScript 6, supposedly, but until then I need a class factory that fills the gap.\n-\n-For me that means (in no particular order):\n-\n-* prototypal inheritance under the hood\n-* access to overridden properties (`super`)\n-* inheritance of `static` properties\n-* `static` constructors\n-* close correspondence to ES6 syntax\n-* ES5/browser compatibility\n-* only-pay-for-what-you-use performance\n-* excellent test coverage: [![Build Status](https://travis-ci.org/benjamn/cls.png?branch=master)](https://travis-ci.org/benjamn/cls)\n-\n-I have no delusions of persuading the world to use this tool. Just try\n-`npm search inheritance` some time to see how many other people have come\n-up with solutions that work for them.\n-\n-If you have a special interest in the tired me-too sport of\n-pure-JavaScript class factory implementations, you might find this one\n-interesting for its solutions to each of the requirements listed above,\n-particularly the lazy (just-in-time) population of prototype properties.\n-\n-Note that I did not mention privacy enforcement as a requirement. If you\n-need a mechanism like the `private` keyword in other languages, I have a\n-separate [project](https://npmjs.org/package/private) that works\n-seamlessly alongside this one.\n-\n-Installation\n----\n-From NPM:\n-\n- npm install cls\n-\n-From GitHub:\n-\n- cd path/to/node_modules\n- git clone git://github.com/benjamn/cls.git\n- cd cls\n- npm install .\n-\n-Usage\n----\n-\n-One example will have to suffice for now:\n-```js\n-var cls = require("cls");\n-\n-var BaseClass = cls.extend({\n- init: function(a, b) {\n- this.sum = a + b;\n- },\n-\n- getSum: function() {\n- return this.sum;\n- },\n-\n- statics: {\n- name: "BaseClass",\n-\n- init: function(cls) {\n- cls.zero = new cls(0, 0);\n- }\n- }\n-});\n-\n-var SubClass = BaseClass.extend({\n- init: function(arg) {\n- this._super(arg, arg);\n- this.sum += 1;\n- },\n-\n- statics: {\n- name: "SubClass"\n- }\n-});\n-\n-assert(BaseClass.name === "BaseClass");\n-assert(SubClass.name === "SubClass");\n-\n-assert(new BaseClass(2).getSum() === 4);\n-assert(new SubClass(2).getSum() === 5);\n-\n-assert(SubClass.zero !== BaseClass.zero);\n-assert(SubClass.zero instanceof SubClass);\n-assert(SubClass.zero.getSum() === 1);\n-```\n-For more complex examples, see `test/run.js`.\ndiff --git a/src/plone/staticresources/static/components/cls/main.js b/src/plone/staticresources/static/components/cls/main.js\ndeleted file mode 100644\nindex 66ac6d37..00000000\n--- a/src/plone/staticresources/static/components/cls/main.js\n+++ /dev/null\n@@ -1,124 +0,0 @@\n-// Sentinel value passed to base constructors to skip invoking this.init.\n-var populating = {};\n-\n-function makeClass(base, newProps) {\n- var baseProto = base.prototype;\n- var ownProto = Object.create(baseProto);\n- var newStatics = newProps.statics;\n- var populated;\n-\n- function constructor() {\n- if (!populated) {\n- if (base.extend === extend) {\n- // Ensure population of baseProto if base created by makeClass.\n- base.call(populating);\n- }\n-\n- // Wrap override methods to make this._super available.\n- populate(ownProto, newProps, baseProto);\n-\n- // Help the garbage collector reclaim this object, since we\n- // don\'t need it anymore.\n- newProps = null;\n-\n- populated = true;\n- }\n-\n- // When we invoke a constructor just for the sake of making sure\n- // its prototype has been populated, the receiver object (this)\n- // will be strictly equal to the populating object, which means we\n- // want to avoid invoking this.init.\n- if (this === populating) {\n- return;\n- }\n-\n- // Evaluate this.init only once to avoid looking up .init in the\n- // prototype chain twice.\n- var init = this.init;\n- if (init) {\n- init.apply(this, arguments);\n- }\n- }\n-\n- // Copy any static properties that have been assigned to the base\n- // class over to the subclass.\n- populate(constructor, base);\n-\n- if (newStatics) {\n- // Remove the statics property from newProps so that it does not\n- // get copied to the prototype.\n- delete newProps.statics;\n-\n- // We re-use populate for static properties, so static methods\n- // have the same access to this._super that normal methods have.\n- populate(constructor, newStatics, base);\n-\n- // Help the GC reclaim this object.\n- newStatics = null;\n- }\n-\n- // These property assignments overwrite any properties of the same\n- // name that may have been copied from base, above. Note that ownProto\n- // has not been populated with any methods or properties, yet, because\n- // we postpone that work until the subclass is instantiated for the\n- // first time. Also note that we share a single implementation of\n- // extend between all classes.\n- constructor.prototype = ownProto;\n- constructor.extend = extend;\n- constructor.base = baseProto;\n-\n- // Setting constructor.prototype.constructor = constructor is\n- // important so that instanceof works properly in all browsers.\n- ownProto.constructor = constructor;\n-\n- // Setting .cls as a shorthand for .constructor is purely a\n- // convenience to make calling static methods easier.\n- ownProto.cls = constructor;\n-\n- // If there is a static initializer, call it now. This needs to happen\n- // last so that the constructor is ready to be used if, for example,\n- // constructor.init needs to create an instance of the new class.\n- if (constructor.init) {\n- constructor.init(constructor);\n- }\n-\n- return constructor;\n-}\n-\n-function populate(target, source, parent) {\n- for (var name in source) {\n- if (source.hasOwnProperty(name)) {\n- target[name] = parent ? maybeWrap(name, source, parent) : source[name];\n- }\n- }\n-}\n-\n-var hasOwnExp = /\\bhasOwnProperty\\b/;\n-var superExp = hasOwnExp.test(populate) ? /\\b_super\\b/ : /.*/;\n-\n-function maybeWrap(name, child, parent) {\n- var cval = child && child[name];\n- var pval = parent && parent[name];\n-\n- if (typeof cval === "function" &&\n- typeof pval === "function" &&\n- cval !== pval && // Avoid infinite recursion.\n- cval.extend !== extend && // Don\'t wrap classes.\n- superExp.test(cval)) // Only wrap if this._super needed.\n- {\n- return function() {\n- var saved = this._super;\n- this._super = parent[name];\n- try { return cval.apply(this, arguments) }\n- finally { this._super = saved };\n- };\n- }\n-\n- return cval;\n-}\n-\n-function extend(newProps) {\n- return makeClass(this, newProps || {});\n-}\n-\n-module.exports = extend.call(function(){});\ndiff --git a/src/plone/staticresources/static/components/cls/package.json b/src/plone/staticresources/static/components/cls/package.json\ndeleted file mode 100644\nindex f80bf901..00000000\n--- a/src/plone/staticresources/static/components/cls/package.json\n+++ /dev/null\n@@ -1,32 +0,0 @@\n-{\n- "author": "Ben Newman ",\n- "name": "cls",\n- "description": "Class factory featuring inheritance of static properties, static constructors, lazy population of prototypes, and this._super.",\n- "keywords": [\n- "class",\n- "inheritance",\n- "static",\n- "lazy",\n- "super",\n- "prototype",\n- "extend"\n- ],\n- "version": "0.1.5",\n- "homepage": "http://github.com/benjamn/cls",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/benjamn/cls.git"\n- },\n- "license": "MIT",\n- "main": "main.js",\n- "scripts": {\n- "test": "node ./node_modules/mocha/bin/mocha --reporter spec"\n- },\n- "dependencies": {},\n- "devDependencies": {\n- "mocha": "~1.18.2"\n- },\n- "engines": {\n- "node": ">= 0.6"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/commander/Readme.md b/src/plone/staticresources/static/components/commander/Readme.md\ndeleted file mode 100644\nindex 54eb6266..00000000\n--- a/src/plone/staticresources/static/components/commander/Readme.md\n+++ /dev/null\n@@ -1,208 +0,0 @@\n-# Commander.js\n-\n- The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby\'s [commander](https://github.com/visionmedia/commander).\n-\n- [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n-\n-## Installation\n-\n- $ npm install commander\n-\n-## Option parsing\n-\n- Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n-\n-```js\n-#!/usr/bin/env node\n-\n-/**\n- * Module dependencies.\n- */\n-\n-var program = require(\'commander\');\n-\n-program\n- .version(\'0.0.1\')\n- .option(\'-p, --peppers\', \'Add peppers\')\n- .option(\'-P, --pineapple\', \'Add pineapple\')\n- .option(\'-b, --bbq\', \'Add bbq sauce\')\n- .option(\'-c, --cheese [type]\', \'Add the specified type of cheese [marble]\', \'marble\')\n- .parse(process.argv);\n-\n-console.log(\'you ordered a pizza with:\');\n-if (program.peppers) console.log(\' - peppers\');\n-if (program.pineapple) console.log(\' - pineapple\');\n-if (program.bbq) console.log(\' - bbq\');\n-console.log(\' - %s cheese\', program.cheese);\n-```\n-\n- Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.\n-\n-## Automated --help\n-\n- The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n-\n-``` \n- $ ./examples/pizza --help\n-\n- Usage: pizza [options]\n-\n- Options:\n-\n- -V, --version output the version number\n- -p, --peppers Add peppers\n- -P, --pineapple Add pineapple\n- -b, --bbq Add bbq sauce\n- -c, --cheese Add the specified type of cheese [marble]\n- -h, --help output usage information\n-\n-```\n-\n-## Coercion\n-\n-```js\n-function range(val) {\n- return val.split(\'..\').map(Number);\n-}\n-\n-function list(val) {\n- return val.split(\',\');\n-}\n-\n-function collect(val, memo) {\n- memo.push(val);\n- return memo;\n-}\n-\n-function increaseVerbosity(v, total) {\n- return total + 1;\n-}\n-\n-program\n- .version(\'0.0.1\')\n- .usage(\'[options] \')\n- .option(\'-i, --integer \', \'An integer argument\', parseInt)\n- .option(\'-f, --float \', \'A float argument\', parseFloat)\n- .option(\'-r, --range ..\', \'A range\', range)\n- .option(\'-l, --list \', \'A list\', list)\n- .option(\'-o, --optional [value]\', \'An optional value\')\n- .option(\'-c, --collect [value]\', \'A repeatable value\', [])\n- .option(\'-v, --verbose\', \'A value that can be increased\', increaseVerbosity, 0)\n- .parse(process.argv);\n-\n-console.log(\' int: %j\', program.integer);\n-console.log(\' float: %j\', program.float);\n-console.log(\' optional: %j\', program.optional);\n-program.range = program.range || [];\n-console.log(\' range: %j..%j\', program.range[0], program.range[1]);\n-console.log(\' list: %j\', program.list);\n-console.log(\' collect: %j\', program.collect);\n-console.log(\' verbosity: %j\', program.verbose);\n-console.log(\' args: %j\', program.args);\n-```\n-\n-## Custom help\n-\n- You can display arbitrary `-h, --help` information\n- by listening for "--help". Commander will automatically\n- exit once you are done so that the remainder of your program\n- does not execute causing undesired behaviours, for example\n- in the following executable "stuff" will not output when\n- `--help` is used.\n-\n-```js\n-#!/usr/bin/env node\n-\n-/**\n- * Module dependencies.\n- */\n-\n-var program = require(\'../\');\n-\n-function list(val) {\n- return val.split(\',\').map(Number);\n-}\n-\n-program\n- .version(\'0.0.1\')\n- .option(\'-f, --foo\', \'enable some foo\')\n- .option(\'-b, --bar\', \'enable some bar\')\n- .option(\'-B, --baz\', \'enable some baz\');\n-\n-// must be before .parse() since\n-// node\'s emit() is immediate\n-\n-program.on(\'--help\', function(){\n- console.log(\' Examples:\');\n- console.log(\'\');\n- console.log(\' $ custom-help --help\');\n- console.log(\' $ custom-help -h\');\n- console.log(\'\');\n-});\n-\n-program.parse(process.argv);\n-\n-console.log(\'stuff\');\n-```\n-\n-yielding the following help output:\n-\n-```\n-\n-Usage: custom-help [options]\n-\n-Options:\n-\n- -h, --help output usage information\n- -V, --version output the version number\n- -f, --foo enable some foo\n- -b, --bar enable some bar\n- -B, --baz enable some baz\n-\n-Examples:\n-\n- $ custom-help --help\n- $ custom-help -h\n-\n-```\n-\n-## .outputHelp()\n-\n- Output help information without exiting.\n-\n-## .help()\n-\n- Output help information and exit immediately.\n-\n-## Links\n-\n- - [API documentation](http://visionmedia.github.com/commander.js/)\n- - [ascii tables](https://github.com/LearnBoost/cli-table)\n- - [progress bars](https://github.com/visionmedia/node-progress)\n- - [more progress bars](https://github.com/substack/node-multimeter)\n- - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\n-\n-## License \n-\n-(The MIT License)\n-\n-Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>\n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-\'Software\'), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/commander/index.js b/src/plone/staticresources/static/components/commander/index.js\ndeleted file mode 100644\nindex 3dcf16e1..00000000\n--- a/src/plone/staticresources/static/components/commander/index.js\n+++ /dev/null\n@@ -1,852 +0,0 @@\n-\n-/**\n- * Module dependencies.\n- */\n-\n-var EventEmitter = require(\'events\').EventEmitter;\n-var spawn = require(\'child_process\').spawn;\n-var fs = require(\'fs\');\n-var exists = fs.existsSync;\n-var path = require(\'path\');\n-var dirname = path.dirname;\n-var basename = path.basename;\n-\n-/**\n- * Expose the root command.\n- */\n-\n-exports = module.exports = new Command;\n-\n-/**\n- * Expose `Command`.\n- */\n-\n-exports.Command = Command;\n-\n-/**\n- * Expose `Option`.\n- */\n-\n-exports.Option = Option;\n-\n-/**\n- * Initialize a new `Option` with the given `flags` and `description`.\n- *\n- * @param {String} flags\n- * @param {String} description\n- * @api public\n- */\n-\n-function Option(flags, description) {\n- this.flags = flags;\n- this.required = ~flags.indexOf(\'<\');\n- this.optional = ~flags.indexOf(\'[\');\n- this.bool = !~flags.indexOf(\'-no-\');\n- flags = flags.split(/[ ,|]+/);\n- if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift();\n- this.long = flags.shift();\n- this.description = description || \'\';\n-}\n-\n-/**\n- * Return option name.\n- *\n- * @return {String}\n- * @api private\n- */\n-\n-Option.prototype.name = function(){\n- return this.long\n- .replace(\'--\', \'\')\n- .replace(\'no-\', \'\');\n-};\n-\n-/**\n- * Check if `arg` matches the short or long flag.\n- *\n- * @param {String} arg\n- * @return {Boolean}\n- * @api private\n- */\n-\n-Option.prototype.is = function(arg){\n- return arg == this.short\n- || arg == this.long;\n-};\n-\n-/**\n- * Initialize a new `Command`.\n- *\n- * @param {String} name\n- * @api public\n- */\n-\n-function Command(name) {\n- this.commands = [];\n- this.options = [];\n- this._execs = [];\n- this._args = [];\n- this._name = name;\n-}\n-\n-/**\n- * Inherit from `EventEmitter.prototype`.\n- */\n-\n-Command.prototype.__proto__ = EventEmitter.prototype;\n-\n-/**\n- * Add command `name`.\n- *\n- * The `.action()` callback is invoked when the\n- * command `name` is specified via __ARGV__,\n- * and the remaining arguments are applied to the\n- * function for access.\n- *\n- * When the `name` is "*" an un-matched command\n- * will be passed as the first arg, followed by\n- * the rest of __ARGV__ remaining.\n- *\n- * Examples:\n- *\n- * program\n- * .version(\'0.0.1\')\n- * .option(\'-C, --chdir \', \'change the working directory\')\n- * .option(\'-c, --config \', \'set config path. defaults to ./deploy.conf\')\n- * .option(\'-T, --no-tests\', \'ignore test hook\')\n- *\n- * program\n- * .command(\'setup\')\n- * .description(\'run remote setup commands\')\n- * .action(function(){\n- * console.log(\'setup\');\n- * });\n- *\n- * program\n- * .command(\'exec \')\n- * .description(\'run the given remote command\')\n- * .action(function(cmd){\n- * console.log(\'exec "%s"\', cmd);\n- * });\n- *\n- * program\n- * .command(\'*\')\n- * .description(\'deploy the given env\')\n- * .action(function(env){\n- * console.log(\'deploying "%s"\', env);\n- * });\n- *\n- * program.parse(process.argv);\n- *\n- * @param {String} name\n- * @param {String} [desc]\n- * @return {Command} the new command\n- * @api public\n- */\n-\n-Command.prototype.command = function(name, desc){\n- var args = name.split(/ +/);\n- var cmd = new Command(args.shift());\n- if (desc) cmd.description(desc);\n- if (desc) this.executables = true;\n- if (desc) this._execs[cmd._name] = true;\n- this.commands.push(cmd);\n- cmd.parseExpectedArgs(args);\n- cmd.parent = this;\n- if (desc) return this;\n- return cmd;\n-};\n-\n-/**\n- * Add an implicit `help [cmd]` subcommand\n- * which invokes `--help` for the given command.\n- *\n- * @api private\n- */\n-\n-Command.prototype.addImplicitHelpCommand = function() {\n- this.command(\'help [cmd]\', \'display help for [cmd]\');\n-};\n-\n-/**\n- * Parse expected `args`.\n- *\n- * For example `["[type]"]` becomes `[{ required: false, name: \'type\' }]`.\n- *\n- * @param {Array} args\n- * @return {Command} for chaining\n- * @api public\n- */\n-\n-Command.prototype.parseExpectedArgs = function(args){\n- if (!args.length) return;\n- var self = this;\n- args.forEach(function(arg){\n- switch (arg[0]) {\n- case \'<\':\n- self._args.push({ required: true, name: arg.slice(1, -1) });\n- break;\n- case \'[\':\n- self._args.push({ required: false, name: arg.slice(1, -1) });\n- break;\n- }\n- });\n- return this;\n-};\n-\n-/**\n- * Register callback `fn` for the command.\n- *\n- * Examples:\n- *\n- * program\n- * .command(\'help\')\n- * .description(\'display verbose help\')\n- * .action(function(){\n- * // output help here\n- * });\n- *\n- * @param {Function} fn\n- * @return {Command} for chaining\n- * @api public\n- */\n-\n-Command.prototype.action = function(fn){\n- var self = this;\n- this.parent.on(this._name, function(args, unknown){\n- // Parse any so-far unknown options\n- unknown = unknown || [];\n- var parsed = self.parseOptions(unknown);\n-\n- // Output help if necessary\n- outputHelpIfNecessary(self, parsed.unknown);\n-\n- // If there are still any unknown options, then we simply\n- // die, unless someone asked for help, in which case we give it\n- // to them, and then we die.\n- if (parsed.unknown.length > 0) {\n- self.unknownOption(parsed.unknown[0]);\n- }\n-\n- // Leftover arguments need to be pushed back. Fixes issue #56\n- if (parsed.args.length) args = parsed.args.concat(args);\n-\n- self._args.forEach(function(arg, i){\n- if (arg.required && null == args[i]) {\n- self.missingArgument(arg.name);\n- }\n- });\n-\n- // Always append ourselves to the end of the arguments,\n- // to make sure we match the number of arguments the user\n- // expects\n- if (self._args.length) {\n- args[self._args.length] = self;\n- } else {\n- args.push(self);\n- }\n-\n- fn.apply(this, args);\n- });\n- return this;\n-};\n-\n-/**\n- * Define option with `flags`, `description` and optional\n- * coercion `fn`.\n- *\n- * The `flags` string should contain both the short and long flags,\n- * separated by comma, a pipe or space. The following are all valid\n- * all will output this way when `--help` is used.\n- *\n- * "-p, --pepper"\n- * "-p|--pepper"\n- * "-p --pepper"\n- *\n- * Examples:\n- *\n- * // simple boolean defaulting to false\n- * program.option(\'-p, --pepper\', \'add pepper\');\n- *\n- * --pepper\n- * program.pepper\n- * // => Boolean\n- *\n- * // simple boolean defaulting to false\n- * program.option(\'-C, --no-cheese\', \'remove cheese\');\n- *\n- * program.cheese\n- * // => true\n- *\n- * --no-cheese\n- * program.cheese\n- * // => true\n- *\n- * // required argument\n- * program.option(\'-C, --chdir \', \'change the working directory\');\n- *\n- * --chdir /tmp\n- * program.chdir\n- * // => "/tmp"\n- *\n- * // optional argument\n- * program.option(\'-c, --cheese [type]\', \'add cheese [marble]\');\n- *\n- * @param {String} flags\n- * @param {String} description\n- * @param {Function|Mixed} fn or default\n- * @param {Mixed} defaultValue\n- * @return {Command} for chaining\n- * @api public\n- */\n-\n-Command.prototype.option = function(flags, description, fn, defaultValue){\n- var self = this\n- , option = new Option(flags, description)\n- , oname = option.name()\n- , name = camelcase(oname);\n-\n- // default as 3rd arg\n- if (\'function\' != typeof fn) defaultValue = fn, fn = null;\n-\n- // preassign default value only for --no-*, [optional], or \n- if (false == option.bool || option.optional || option.required) {\n- // when --no-* we make sure default is true\n- if (false == option.bool) defaultValue = true;\n- // preassign only if we have a default\n- if (undefined !== defaultValue) self[name] = defaultValue;\n- }\n-\n- // register the option\n- this.options.push(option);\n-\n- // when it\'s passed assign the value\n- // and conditionally invoke the callback\n- this.on(oname, function(val){\n- // coercion\n- if (null !== val && fn) val = fn(val, undefined === self[name] ? defaultValue : self[name]);\n-\n- // unassigned or bool\n- if (\'boolean\' == typeof self[name] || \'undefined\' == typeof self[name]) {\n- // if no value, bool true, and we have a default, then use it!\n- if (null == val) {\n- self[name] = option.bool\n- ? defaultValue || true\n- : false;\n- } else {\n- self[name] = val;\n- }\n- } else if (null !== val) {\n- // reassign\n- self[name] = val;\n- }\n- });\n-\n- return this;\n-};\n-\n-/**\n- * Parse `argv`, settings options and invoking commands when defined.\n- *\n- * @param {Array} argv\n- * @return {Command} for chaining\n- * @api public\n- */\n-\n-Command.prototype.parse = function(argv){\n- // implicit help\n- if (this.executables) this.addImplicitHelpCommand();\n-\n- // store raw args\n- this.rawArgs = argv;\n-\n- // guess name\n- this._name = this._name || basename(argv[1], \'.js\');\n-\n- // process argv\n- var parsed = this.parseOptions(this.normalize(argv.slice(2)));\n- var args = this.args = parsed.args;\n-\n- var result = this.parseArgs(this.args, parsed.unknown);\n-\n- // executable sub-commands\n- var name = result.args[0];\n- if (this._execs[name]) return this.executeSubCommand(argv, args, parsed.unknown);\n-\n- return result;\n-};\n-\n-/**\n- * Execute a sub-command executable.\n- *\n- * @param {Array} argv\n- * @param {Array} args\n- * @param {Array} unknown\n- * @api private\n- */\n-\n-Command.prototype.executeSubCommand = function(argv, args, unknown) {\n- args = args.concat(unknown);\n-\n- if (!args.length) this.help();\n- if (\'help\' == args[0] && 1 == args.length) this.help();\n-\n- // --help\n- if (\'help\' == args[0]) {\n- args[0] = args[1];\n- args[1] = \'--help\';\n- }\n-\n- // executable\n- var dir = dirname(argv[1]);\n- var bin = basename(argv[1], \'.js\') + \'-\' + args[0];\n-\n- // check for ./ first\n- var local = path.join(dir, bin);\n-\n- // run it\n- args = args.slice(1);\n- args.unshift(local);\n- var proc = spawn(\'node\', args, { stdio: \'inherit\', customFds: [0, 1, 2] });\n- proc.on(\'error\', function(err){\n- if (err.code == "ENOENT") {\n- console.error(\'\\n %s(1) does not exist, try --help\\n\', bin);\n- } else if (err.code == "EACCES") {\n- console.error(\'\\n %s(1) not executable. try chmod or run with root\\n\', bin);\n- }\n- });\n-\n- this.runningCommand = proc;\n-};\n-\n-/**\n- * Normalize `args`, splitting joined short flags. For example\n- * the arg "-abc" is equivalent to "-a -b -c".\n- * This also normalizes equal sign and splits "--abc=def" into "--abc def".\n- *\n- * @param {Array} args\n- * @return {Array}\n- * @api private\n- */\n-\n-Command.prototype.normalize = function(args){\n- var ret = []\n- , arg\n- , lastOpt\n- , index;\n-\n- for (var i = 0, len = args.length; i < len; ++i) {\n- arg = args[i];\n- i > 0 && (lastOpt = this.optionFor(args[i-1]));\n-\n- if (lastOpt && lastOpt.required) {\n- \tret.push(arg);\n- } else if (arg.length > 1 && \'-\' == arg[0] && \'-\' != arg[1]) {\n- arg.slice(1).split(\'\').forEach(function(c){\n- ret.push(\'-\' + c);\n- });\n- } else if (/^--/.test(arg) && ~(index = arg.indexOf(\'=\'))) {\n- ret.push(arg.slice(0, index), arg.slice(index + 1));\n- } else {\n- ret.push(arg);\n- }\n- }\n-\n- return ret;\n-};\n-\n-/**\n- * Parse command `args`.\n- *\n- * When listener(s) are available those\n- * callbacks are invoked, otherwise the "*"\n- * event is emitted and those actions are invoked.\n- *\n- * @param {Array} args\n- * @return {Command} for chaining\n- * @api private\n- */\n-\n-Command.prototype.parseArgs = function(args, unknown){\n- var cmds = this.commands\n- , len = cmds.length\n- , name;\n-\n- if (args.length) {\n- name = args[0];\n- if (this.listeners(name).length) {\n- this.emit(args.shift(), args, unknown);\n- } else {\n- this.emit(\'*\', args);\n- }\n- } else {\n- outputHelpIfNecessary(this, unknown);\n-\n- // If there were no args and we have unknown options,\n- // then they are extraneous and we need to error.\n- if (unknown.length > 0) {\n- this.unknownOption(unknown[0]);\n- }\n- }\n-\n- return this;\n-};\n-\n-/**\n- * Return an option matching `arg` if any.\n- *\n- * @param {String} arg\n- * @return {Option}\n- * @api private\n- */\n-\n-Command.prototype.optionFor = function(arg){\n- for (var i = 0, len = this.options.length; i < len; ++i) {\n- if (this.options[i].is(arg)) {\n- return this.options[i];\n- }\n- }\n-};\n-\n-/**\n- * Parse options from `argv` returning `argv`\n- * void of these options.\n- *\n- * @param {Array} argv\n- * @return {Array}\n- * @api public\n- */\n-\n-Command.prototype.parseOptions = function(argv){\n- var args = []\n- , len = argv.length\n- , literal\n- , option\n- , arg;\n-\n- var unknownOptions = [];\n-\n- // parse options\n- for (var i = 0; i < len; ++i) {\n- arg = argv[i];\n-\n- // literal args after --\n- if (\'--\' == arg) {\n- literal = true;\n- continue;\n- }\n-\n- if (literal) {\n- args.push(arg);\n- continue;\n- }\n-\n- // find matching Option\n- option = this.optionFor(arg);\n-\n- // option is defined\n- if (option) {\n- // requires arg\n- if (option.required) {\n- arg = argv[++i];\n- if (null == arg) return this.optionMissingArgument(option);\n- this.emit(option.name(), arg);\n- // optional arg\n- } else if (option.optional) {\n- arg = argv[i+1];\n- if (null == arg || (\'-\' == arg[0] && \'-\' != arg)) {\n- arg = null;\n- } else {\n- ++i;\n- }\n- this.emit(option.name(), arg);\n- // bool\n- } else {\n- this.emit(option.name());\n- }\n- continue;\n- }\n-\n- // looks like an option\n- if (arg.length > 1 && \'-\' == arg[0]) {\n- unknownOptions.push(arg);\n-\n- // If the next argument looks like it might be\n- // an argument for this option, we pass it on.\n- // If it isn\'t, then it\'ll simply be ignored\n- if (argv[i+1] && \'-\' != argv[i+1][0]) {\n- unknownOptions.push(argv[++i]);\n- }\n- continue;\n- }\n-\n- // arg\n- args.push(arg);\n- }\n-\n- return { args: args, unknown: unknownOptions };\n-};\n-\n-/**\n- * Argument `name` is missing.\n- *\n- * @param {String} name\n- * @api private\n- */\n-\n-Command.prototype.missingArgument = function(name){\n- console.error();\n- console.error(" error: missing required argument `%s\'", name);\n- console.error();\n- process.exit(1);\n-};\n-\n-/**\n- * `Option` is missing an argument, but received `flag` or nothing.\n- *\n- * @param {String} option\n- * @param {String} flag\n- * @api private\n- */\n-\n-Command.prototype.optionMissingArgument = function(option, flag){\n- console.error();\n- if (flag) {\n- console.error(" error: option `%s\' argument missing, got `%s\'", option.flags, flag);\n- } else {\n- console.error(" error: option `%s\' argument missing", option.flags);\n- }\n- console.error();\n- process.exit(1);\n-};\n-\n-/**\n- * Unknown option `flag`.\n- *\n- * @param {String} flag\n- * @api private\n- */\n-\n-Command.prototype.unknownOption = function(flag){\n- console.error();\n- console.error(" error: unknown option `%s\'", flag);\n- console.error();\n- process.exit(1);\n-};\n-\n-\n-/**\n- * Set the program version to `str`.\n- *\n- * This method auto-registers the "-V, --version" flag\n- * which will print the version number when passed.\n- *\n- * @param {String} str\n- * @param {String} flags\n- * @return {Command} for chaining\n- * @api public\n- */\n-\n-Command.prototype.version = function(str, flags){\n- if (0 == arguments.length) return this._version;\n- this._version = str;\n- flags = flags || \'-V, --version\';\n- this.option(flags, \'output the version number\');\n- this.on(\'version\', function(){\n- console.log(str);\n- process.exit(0);\n- });\n- return this;\n-};\n-\n-/**\n- * Set the description `str`.\n- *\n- * @param {String} str\n- * @return {String|Command}\n- * @api public\n- */\n-\n-Command.prototype.description = function(str){\n- if (0 == arguments.length) return this._description;\n- this._description = str;\n- return this;\n-};\n-\n-/**\n- * Set / get the command usage `str`.\n- *\n- * @param {String} str\n- * @return {String|Command}\n- * @api public\n- */\n-\n-Command.prototype.usage = function(str){\n- var args = this._args.map(function(arg){\n- return arg.required\n- ? \'<\' + arg.name + \'>\'\n- : \'[\' + arg.name + \']\';\n- });\n-\n- var usage = \'[options\'\n- + (this.commands.length ? \'] [command\' : \'\')\n- + \']\'\n- + (this._args.length ? \' \' + args : \'\');\n-\n- if (0 == arguments.length) return this._usage || usage;\n- this._usage = str;\n-\n- return this;\n-};\n-\n-/**\n- * Return the largest option length.\n- *\n- * @return {Number}\n- * @api private\n- */\n-\n-Command.prototype.largestOptionLength = function(){\n- return this.options.reduce(function(max, option){\n- return Math.max(max, option.flags.length);\n- }, 0);\n-};\n-\n-/**\n- * Return help for options.\n- *\n- * @return {String}\n- * @api private\n- */\n-\n-Command.prototype.optionHelp = function(){\n- var width = this.largestOptionLength();\n-\n- // Prepend the help information\n- return [pad(\'-h, --help\', width) + \' \' + \'output usage information\']\n- .concat(this.options.map(function(option){\n- return pad(option.flags, width)\n- + \' \' + option.description;\n- }))\n- .join(\'\\n\');\n-};\n-\n-/**\n- * Return command help documentation.\n- *\n- * @return {String}\n- * @api private\n- */\n-\n-Command.prototype.commandHelp = function(){\n- if (!this.commands.length) return \'\';\n- return [\n- \'\'\n- , \' Commands:\'\n- , \'\'\n- , this.commands.map(function(cmd){\n- var args = cmd._args.map(function(arg){\n- return arg.required\n- ? \'<\' + arg.name + \'>\'\n- : \'[\' + arg.name + \']\';\n- }).join(\' \');\n-\n- return pad(cmd._name\n- + (cmd.options.length\n- ? \' [options]\'\n- : \'\') + \' \' + args, 22)\n- + (cmd.description()\n- ? \' \' + cmd.description()\n- : \'\');\n- }).join(\'\\n\').replace(/^/gm, \' \')\n- , \'\'\n- ].join(\'\\n\');\n-};\n-\n-/**\n- * Return program help documentation.\n- *\n- * @return {String}\n- * @api private\n- */\n-\n-Command.prototype.helpInformation = function(){\n- return [\n- \'\'\n- , \' Usage: \' + this._name + \' \' + this.usage()\n- , \'\' + this.commandHelp()\n- , \' Options:\'\n- , \'\'\n- , \'\' + this.optionHelp().replace(/^/gm, \' \')\n- , \'\'\n- , \'\'\n- ].join(\'\\n\');\n-};\n-\n-/**\n- * Output help information for this command\n- *\n- * @api public\n- */\n-\n-Command.prototype.outputHelp = function(){\n- process.stdout.write(this.helpInformation());\n- this.emit(\'--help\');\n-};\n-\n-/**\n- * Output help information and exit.\n- *\n- * @api public\n- */\n-\n-Command.prototype.help = function(){\n- this.outputHelp();\n- process.exit();\n-};\n-\n-/**\n- * Camel-case the given `flag`\n- *\n- * @param {String} flag\n- * @return {String}\n- * @api private\n- */\n-\n-function camelcase(flag) {\n- return flag.split(\'-\').reduce(function(str, word){\n- return str + word[0].toUpperCase() + word.slice(1);\n- });\n-}\n-\n-/**\n- * Pad `str` to `width`.\n- *\n- * @param {String} str\n- * @param {Number} width\n- * @return {String}\n- * @api private\n- */\n-\n-function pad(str, width) {\n- var len = Math.max(0, width - str.length);\n- return str + Array(len + 1).join(\' \');\n-}\n-\n-/**\n- * Output help information if necessary\n- *\n- * @param {Command} command to output help for\n- * @param {Array} array of options to search for -h or --help\n- * @api private\n- */\n-\n-function outputHelpIfNecessary(cmd, options) {\n- options = options || [];\n- for (var i = 0; i < options.length; i++) {\n- if (options[i] == \'--help\' || options[i] == \'-h\') {\n- cmd.outputHelp();\n- process.exit(0);\n- }\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/commander/package.json b/src/plone/staticresources/static/components/commander/package.json\ndeleted file mode 100644\nindex 62727c2a..00000000\n--- a/src/plone/staticresources/static/components/commander/package.json\n+++ /dev/null\n@@ -1,13 +0,0 @@\n-{\n- "name": "commander"\n- , "version": "2.2.0"\n- , "description": "the complete solution for node.js command-line programs"\n- , "keywords": ["command", "option", "parser", "prompt", "stdin"]\n- , "author": "TJ Holowaychuk "\n- , "repository": { "type": "git", "url": "https://github.com/visionmedia/commander.js.git" }\n- , "devDependencies": { "should": ">= 0.0.1" }\n- , "scripts": { "test": "make test" }\n- , "main": "index"\n- , "engines": { "node": ">= 0.6.x" }\n- , "files": ["index.js"]\n-}\ndiff --git a/src/plone/staticresources/static/components/commoner/.travis.yml b/src/plone/staticresources/static/components/commoner/.travis.yml\ndeleted file mode 100644\nindex 4a83e22d..00000000\n--- a/src/plone/staticresources/static/components/commoner/.travis.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-language: node_js\n-node_js:\n- - "0.11"\n- - "0.10"\n- - "0.8"\ndiff --git a/src/plone/staticresources/static/components/commoner/LICENSE b/src/plone/staticresources/static/components/commoner/LICENSE\ndeleted file mode 100644\nindex 3f9d40b5..00000000\n--- a/src/plone/staticresources/static/components/commoner/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2013 Ben Newman \n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/commoner/README.md b/src/plone/staticresources/static/components/commoner/README.md\ndeleted file mode 100644\nindex ac0bc91e..00000000\n--- a/src/plone/staticresources/static/components/commoner/README.md\n+++ /dev/null\n@@ -1,379 +0,0 @@\n-Commoner [![Build Status](https://travis-ci.org/reactjs/commoner.png?branch=master)](https://travis-ci.org/reactjs/commoner)\n----\n-\n-Commoner makes it easy to write scripts that flexibly and efficiently\n-transpile any dialect of JavaScript into a directory structure of\n-Node-compatible CommonJS module files.\n-\n-This task is made possible by\n-\n- 1. a declarative syntax for defining how module source code should be\n- found and processed,\n- 2. the use of [promises](https://github.com/kriskowal/q) to manage an\n- asynchronous build pipeline, and\n- 3. never rebuilding modules that have already been built.\n-\n-The output files can be required seamlessly by Node, or served by any\n-static file server, or bundled together using a tool such as\n-[Browserify](https://github.com/substack/node-browserify),\n-[WrapUp](https://github.com/kamicane/wrapup), or\n-[Stitch](https://github.com/sstephenson/stitch) for delivery to a web\n-browser.\n-\n-If you pass the `--relativize` option, Commoner also takes care to rewrite\n-all `require` calls to use [relative module\n-identifiers](http://wiki.commonjs.org/wiki/Modules/1.1#Module_Identifiers),\n-so that the output files can be installed into any subdirectory of a\n-larger project, and external tools do not have to give special treatment\n-to top-level modules (or even know which modules are top-level and which\n-are nested).\n-\n-Commoner was derived from an earlier, more opinionated tool called\n-[Brigade](https://github.com/benjamn/brigade) that provided additional\n-support for packaging modules together into multiple non-overlapping\n-bundles. Commoner grew out of the realization that many tools already\n-exist for bundling CommonJS modules, but that fewer tools focus on getting\n-to that point.\n-\n-Installation\n----\n-\n-From NPM:\n-\n- npm install commoner\n-\n-From GitHub:\n-\n- cd path/to/node_modules\n- git clone git://github.com/reactjs/commoner.git\n- cd commoner\n- npm install .\n-\n-Usage\n----\n-\n-Here\'s the output of `bin/commonize --help`:\n-```\n-Usage: commonize [options] [ [ ...]]\n-\n-Options:\n-\n- -h, --help output usage information\n- -V, --version output the version number\n- -c, --config [file] JSON configuration file (no file means STDIN)\n- -w, --watch Continually rebuild\n- -x, --extension File extension to assume when resolving module identifiers\n- --relativize Rewrite all module identifiers to be relative\n- --follow-requires Scan modules for required dependencies\n- --cache-dir Alternate directory to use for disk cache\n- --no-cache-dir Disable the disk cache\n- --source-charset Charset of source (default: utf8)\n- --output-charset Charset of output (default: utf8)\n-```\n-\n-In a single sentence: the `commonize` command finds modules with the given\n-module identifiers in the source directory and places a processed copy of\n-each module into the output directory, along with processed copies of all\n-required modules.\n-\n-If you do not provide any module identifiers, `commonize` will process all\n-files that it can find under the source directory that have the preferred\n-file extension (`.js` by default). If your source files have a file\n-extension other than `.js`, use the `-x` or `--extension` option to\n-specify it. For example, `--extension coffee` to find `.coffee` files.\n-\n-Output\n----\n-\n-Commoner prints various status messages to `STDERR`, so that you can see\n-what it\'s doing, or figure out why it\'s not doing what you thought it\n-would do.\n-\n-The only information it prints to `STDOUT` is a JSON array of module\n-identifiers, which includes the identifiers passed on the command line and\n-all their dependencies. This array contains no duplicates.\n-\n-Internally, each module that Commoner generates has a hash computed from\n-the module\'s identifier, source code, and processing steps. Since this\n-hash can be computed before processing takes place, Commoner is able to\n-avoid processing a module if it has ever previously processed the same\n-module in the same way.\n-\n-If you dig into [the\n-code](https://github.com/reactjs/commoner/blob/5e7f65cab2/lib/context.js#L94),\n-you\'ll find that Commoner maintains a cache directory (by default,\n-`~/.commoner/module-cache/`) containing files with names like\n-`9ffc5c853aac07bc106da1dc1b2486903ca688bf.js`. When Commoner is about to\n-process a module, it checks its hash against the file names in this\n-directory. If no match is found, processing procedes and the resulting\n-file is written to the cache directory with a new hash. If the appropriate\n-hash file is already present in the cache directory, however, Commoner\n-merely creates a hard link between the hash file and a file with a more\n-meaningful name in the output directory.\n-\n-When you pass the `--watch` flag to `bin/commonize`, Commoner avoids\n-exiting after the first build and instead watches for changes to\n-previously read files, printing a new JSON array of module identifiers to\n-`STDOUT` each time rebuilding finishes. Thanks to the caching of processed\n-modules, the time taken to rebuild is roughly proportional to the number\n-of modified files.\n-\n-Customization\n----\n-\n-The `bin/commonize` script is actually quite simple, and you can write\n-similar scripts yourself. Let\'s have a look:\n-```js\n-#!/usr/bin/env node\n-\n-require("commoner").resolve(function(id) {\n- var context = this;\n-\n- return context.getProvidedP().then(function(idToPath) {\n- // If a module declares its own identifier using @providesModule\n- // then that identifier will be a key in the idToPath object.\n- if (idToPath.hasOwnProperty(id))\n- return context.readFileP(idToPath[id]);\n- });\n-\n-}, function(id) {\n- // Otherwise assume the identifier maps directly to a filesystem path.\n- // The readModuleP method simply appends the preferred file extension\n- // (usually .js) to the given module identifier and opens that file.\n- return this.readModuleP(id);\n-});\n-```\n-The scriptable interface of the `commoner` module abstracts away many of\n-the annoyances of writing a command-line script. In particular, you don\'t\n-have to do any parsing of command-line arguments, and you don\'t have to\n-worry about installing any dependencies other than `commoner` in your\n-`$NODE_PATH`.\n-\n-What you are responsible for, at a minimum, is telling Commoner how to\n-find the source of a module given a module identifier, and you do this by\n-passing callback functions to `require("commoner").resolve`. The script\n-above uses two strategies that will be tried in sequence: first, it calls\n-the helper function `this.getProvidedP` to retrieve an object mapping\n-identifiers to file paths (more about this below); and, if that doesn\'t\n-work, it falls back to interpreting the identifier as a path relative to\n-the source directory.\n-\n-Now, you might not care about `this.getProvidedP`. It\'s really just a\n-proof of concept that Commoner can support modules that declare their own\n-identifiers using the `// @providesModule ` syntax, and I\n-included it by default because it doesn\'t make a difference unless you\n-decide to use `@providesModule`. If you don\'t like it, you could write an\n-even simpler script:\n-```js\n-#!/usr/bin/env node\n-\n-require("commoner").resolve(function(id) {\n- return this.readModuleP(id);\n-});\n-```\n-The point is, it\'s entirely up to you to define how module identifiers are\n-interpreted. In fact, the source you return doesn\'t even have to be valid\n-JavaScript. It could be [CoffeeScript](http://coffeescript.org/), or\n-[LESS](http://lesscss.org/), or whatever language you prefer to write by\n-hand. Commoner doesn\'t care what your source code looks like, because\n-Commoner allows you to define arbitrary build steps to turn that source\n-code into plain old CommonJS.\n-\n-Let\'s consider the example of using LESS to write dynamic CSS\n-modules. First, let\'s apply what we already know to give special meaning\n-to `.less` files:\n-```js\n-#!/usr/bin/env node\n-\n-require("commoner").resolve(function(id) {\n- if (isLess(id))\n- return this.readFileP(id);\n-}, function(id) {\n- return this.readModuleP(id);\n-});\n-\n-function isLess(id) {\n- return /\\.less$/i.test(id);\n-}\n-```\n-All this really accomplishes is to avoid appending the `.js` file\n-extension to identifiers that already have the `.less` extension.\n-\n-Now we need to make sure the contents of `.less` files somehow get\n-transformed into plain old CommonJS, and for that we need\n-`require("commoner").process`:\n-```js\n-require("commoner").resolve(function(id) {\n- if (isLess(id))\n- return this.readFileP(id);\n-}, function(id) {\n- return this.readModuleP(id);\n-}).process(function(id, source) {\n- if (isLess(id))\n- return compileLessToJs(source);\n- return source;\n-});\n-```\n-How should `compileLessToJs` be implemented? At a high level, I propose\n-that we generate a CommonJS module that will append a new `\n-\n-\n-\n-\n- \n- \n-\n- \n-
\n-
\n-

Documentation on using Esprima

\n-
\n-
\n-\n- \n-
\n-
\n-\n-

Basic Usage

\n-\n-

Esprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as\n-Rhino and Node.js.

\n-\n-
In a web browser
\n-\n-

Just include the source file:

\n-\n-
\n-<script src="esprima.js"></script>\n-
\n-\n-

The module esprima will be available as part of the global window object:

\n-\n-
\n-var syntax = esprima.parse(\'var answer = 42\');\n-
\n-\n-

Since Esprima supports AMD (Asynchronous Module Definition), it can be loaded via a module loader such as RequireJS:

\n-\n-
\n-require([\'esprima\'], function (parser) {\n-    // Do something with parser, e.g.\n-    var syntax = parser.parse(\'var answer = 42\');\n-    console.log(JSON.stringify(syntax, null, 4));\n-});\n-
\n-\n-

Since Esprima is available as a Bower component, it can be installed with:

\n-\n-
\n-bower install esprima\n-
\n-\n-

Obviously, it can be used with Yeoman as well:

\n-\n-
\n-yeoman install esprima\n-
\n-\n-
With Node.js
\n-\n-

Esprima is available as a Node.js package, install it using npm:

\n-\n-
\n-npm install esprima\n-
\n-\n-

Load the module with require and use it:

\n-\n-
\n-var esprima = require(\'esprima\');\n-console.log(JSON.stringify(esprima.parse(\'var answer = 42\'), null, 4));\n-
\n-\n-
With Rhino
\n-\n-

Load the source file from another script:

\n-\n-
\n-load(\'/path/to/esprima.js\');\n-
\n-\n-

The module esprima will be available as part of the global object:

\n-\n-
\n-var syntax = esprima.parse(\'42\');\n-print(JSON.stringify(syntax, null, 2));\n-
\n-\n-
Parsing Interface
\n-\n-

Basic usage:\n-\n-

\n-esprima.parse(code, options);\n-
\n-\n-

The output of the parser is the syntax tree formatted in JSON, see the following Syntax Tree Format section.

\n-\n-

Available options so far (by default, every option false):

\n-\n-\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n-
OptionWhen set to true
locNodes have line and column-based location info
rangeNodes have an index-based location range (array)
rawLiterals have extra property which stores the verbatim source
tokensAn extra array containing all found tokens
commentAn extra array containing all line and block comments
tolerantAn extra array containing all errors found,\n- attempts to continue parsing when an error is encountered
\n-\n-\n-

The easiest way to see the different output based on various option settings is to use the online parser demo.\n-\n-

Note: In version > 1.0, raw is ignored since literals always include the verbatim source.

\n-\n-

Examples

\n-\n-
Detect Nested Ternary Conditionals
\n-\n-

The script detectnestedternary.js in the examples/ subdirectory is using Esprima to look for a ternary conditional, i.e. operator ?:, which is immediately followed (in one of its code paths) by another ternary conditional. The script can be invoked from the command-line with Node.js:

\n-\n-
\n-node detectnestedternary.js /some/path\n-
\n-\n-

An example code fragment which will be flagged by this script as having a nested ternary conditional:

\n-\n-
\n-var str = (age < 1) ? "baby" :\n-    (age < 5) ? "toddler" :\n-    (age < 18) ? "child": "adult";\n-
\n-\n-

which will yield the following report:

\n-\n-
\n-  Line 1 : Nested ternary for "age < 1"\n-  Line 2 : Nested ternary for "age < 5"\n-
\n-\n-
Find Possible Boolean Traps
\n-\n-

The script findbooleantrap.js in the examples/ subdirectory is using Esprima to detect some possible cases of Boolean trap, i.e. the use of Boolean literal which may lead to ambiguities and lack of readability. The script can be invoked from command-line with Node.js:

\n-\n-
\n-node findbooleantrap.js /some/path\n-
\n-\n-It will search for all files (recursively) in the given path, try to parse each file, and then look for signs of Boolean traps:\n-\n-
    \n-
  • Literal used with a non-setter function (assumption: setter starts with the "set" prefix):
  • \n-
    this.refresh(true);
    \n-
  • Literal used with a function whose name may have a double-negative interpretation:
  • \n-
    item.setHidden(false);
    \n-
  • Two different literals in a single function call:
  • \n-
    element.stop(true, false);
    \n-
  • Multiple literals in a single function invocation:
  • \n-
    event.initKeyEvent("keypress", true, true, null, null,\n-    false, false, false, false, 9, 0);
    \n-
  • Ambiguous Boolean literal as the last argument:
  • \n-
    return getSomething(obj, false);
    \n-
\n-\n-For some more info, read also the blog post on Boolean trap.\n-\n-

Syntax Tree Format

\n-\n-

The output of the parser is expected to be compatible with Mozilla SpiderMonkey Parser API.\n-The best way to understand various different constructs is the online parser demo which shows the syntax tree (formatted with JSON.stringify) corresponding to the typed code.\n-\n-The simplest example is as follows. If the following code is executed:\n-\n-

\n-esprima.parse(\'var answer = 42;\');\n-
\n-\n-then the return value will be (JSON formatted):\n-\n-
\n-{\n-    type: \'Program\',\n-    body: [\n-        {\n-            type: \'VariableDeclaration\',\n-            declarations: [\n-                {\n-                    type: \'AssignmentExpression\',\n-                    operator: =,\n-                    left: {\n-                        type: \'Identifier\',\n-                        name: \'answer\'\n-                    },\n-                    right: {\n-                        type: \'Literal\',\n-                        value: 42\n-                    }\n-                }\n-            ]\n-        }\n-    ]\n-}\n-
\n-\n-

Contribution Guide

\n-\n-
Guidelines
\n-\n-

Contributors are mandated to follow the guides described in the following sections. Any contribution which do not conform to the guides may be rejected.

\n-\n-

Laundry list

\n-\n-

Before creating pull requests, make sure the following applies.

\n-\n-

There is a corresponding issue. If there is no issue yet, create one in the issue tracker.

\n-\n-

The commit log links the corresponding issue (usually as the last line).

\n-\n-

No functional regression. Run all unit tests.

\n-\n-

No coverage regression. Run the code coverage analysis.

\n-\n-

Each commit must be granular. Big changes should be splitted into smaller commits.

\n-\n-

Write understandable code. No need to be too terse (or even obfuscated).

\n-\n-

JSLint does not complain.

\n-\n-

A new feature must be accompanied with unit tests. No compromise.

\n-\n-

A new feature should not cause performance loss. Verify with the benchmark tests.

\n-\n-

Performance improvement should be backed up by actual conclusive speed-up in the benchmark suite.

\n-\n-

Coding style

\n-\n-

Indentation is 4 spaces.

\n-\n-

Open curly brace is at the end of the line.

\n-\n-

String literal uses single quote (\') and not double quote (").

\n-\n-

Commit message

\n-\n-

Bad:

\n-\n-
\n-    Fix a problem with Firefox.\n-
\n-\n-

The above commit is too short and useless in the long term.

\n-\n-

Good:

\n-\n-
\n-    Add support for labeled statement.\n-\n-    It is covered in ECMAScript Language Specification Section 12.12.\n-    This also fixes parsing MooTools and JSLint code.\n-\n-    Running the benchmarks suite show negligible performance loss.\n-\n-    http://code.google.com/p/esprima/issues/detail?id=10\n-    http://code.google.com/p/esprima/issues/detail?id=15\n-    http://code.google.com/p/esprima/issues/detail?id=16\n-
\n-\n-

Important aspects:

\n-\n-
    \n-
  • The first line is the short description, useful for per-line commit view and thus keep it under 80 characters.
  • \n-
  • The next paragraphs should provide more explanation (if needed).
  • \n-
  • Describe the testing situation (new unit/benchmark test, change in performance, etc).
  • \n-
  • Put the link to the issues for cross-ref.
  • \n-
\n-\n-

Baseline syntax tree as the expected result

\n-\n-

The test suite contains a collection of a pair of code and its syntax tree. To generate the syntax tree suitably formatted for the test fixture, use the included helper script tools/generate-test-fixture.js (with Node.js), e.g.:\n-\n-

\n-node tools/generate-test-fixture.js "var answer = 42"\n-
\n-\n-The syntax tree will be printed out to the console. This can be used in the test fixture.\n-\n-
Test Workflow
\n-\n-

Before running the tests, prepare the tools via:

\n-\n-
\n-npm install\n-
\n-\n-

Unit tests

\n-\n-

Browser-based unit testing is available by opening test/index.html in the source tree. The online version is esprima.org/test.

\n-\n-

Command-line testing using Node.js:

\n-\n-
npm test
\n-\n-

Code coverage test

\n-\n-

Note: you need to use Node.js 0.6 or later version.

\n-\n-

Install istanbul:

\n-\n-
sudo npm install -g istanbul
\n-\n-

Run it in Esprima source tree:

\n-\n-
istanbul cover test/runner.js
\n-\n-

To get the detailed report, open coverage/lcov-report/index.html file and choose esprima.js from the list.

\n-\n-

Benchmark tests

\n-\n-

Available by opening test/benchmarks.html in the source tree. The online version is esprima.org/test/benchmarks.html.

\n-\n-

Note: Because the corpus is fetched via XML HTTP Request, the benchmarks test needs to be served via a web server and not local file.

\n-\n-

It is important to run this with various browsers to cover different JavaScript engines.

\n-\n-

Command-line benchmark using Node.js:

\n-\n-
node test/benchmark.js
\n-\n-

Command-line benchmark using V8 shell:

\n-\n-
/path/to/v8/shell test/benchmark.js
\n-\n-

Speed comparison tests

\n-\n-

Available by opening test/compare.html. The online version is esprima.org/test/compare.html.

\n-\n-

Note: Because the corpus is fetched via XML HTTP Request, the benchmarks test needs to be served via a web server and not local file.

\n-\n-

Warning: Since each parser has a different format for the syntax tree, the speed is not fully comparable (the cost of constructing different result is not taken into account). These tests exist only to ensure that Esprima parser is not ridiculously slow, e.g. one magnitude slower compare to other parsers.

\n-\n-

License

\n-\n-

Copyright (C) 2012, 2011 Ariya Hidayat and other contributors.

\n-\n-

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

\n-
    \n-
  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • \n-
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • \n-
\n-\n-

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

\n-\n-
\n-\n-
\n-
\n-

Contents

\n-
    \n-
  1. Basic Usage
  2. \n-
  3. Examples
  4. \n-
  5. Syntax Tree Format
  6. \n-
  7. Contribution Guide
  8. \n-
  9. License
  10. \n-
\n-
\n-
\n-
\n-\n- \n- \n-\n-\n-\ndiff --git a/src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js b/src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js\ndeleted file mode 100644\nindex f144955d..00000000\n--- a/src/plone/staticresources/static/components/esprima-fb/examples/detectnestedternary.js\n+++ /dev/null\n@@ -1,106 +0,0 @@\n-// Usage: node detectnestedternary.js /path/to/some/directory\n-// For more details, please read http://esprima.org/doc/#nestedternary\n-\n-/*jslint node:true sloppy:true plusplus:true */\n-\n-var fs = require(\'fs\'),\n- esprima = require(\'../esprima\'),\n- dirname = process.argv[2];\n-\n-\n-// Executes visitor on the object and its children (recursively).\n-function traverse(object, visitor) {\n- var key, child;\n-\n- visitor.call(null, object);\n- for (key in object) {\n- if (object.hasOwnProperty(key)) {\n- child = object[key];\n- if (typeof child === \'object\' && child !== null) {\n- traverse(child, visitor);\n- }\n- }\n- }\n-}\n-\n-// http://stackoverflow.com/q/5827612/\n-function walk(dir, done) {\n- var results = [];\n- fs.readdir(dir, function (err, list) {\n- if (err) {\n- return done(err);\n- }\n- var i = 0;\n- (function next() {\n- var file = list[i++];\n- if (!file) {\n- return done(null, results);\n- }\n- file = dir + \'/\' + file;\n- fs.stat(file, function (err, stat) {\n- if (stat && stat.isDirectory()) {\n- walk(file, function (err, res) {\n- results = results.concat(res);\n- next();\n- });\n- } else {\n- results.push(file);\n- next();\n- }\n- });\n- }());\n- });\n-}\n-\n-walk(dirname, function (err, results) {\n- if (err) {\n- console.log(\'Error\', err);\n- return;\n- }\n-\n- results.forEach(function (filename) {\n- var shortname, first, content, syntax;\n-\n- shortname = filename;\n- first = true;\n-\n- if (shortname.substr(0, dirname.length) === dirname) {\n- shortname = shortname.substr(dirname.length + 1, shortname.length);\n- }\n-\n- function report(node, problem) {\n- if (first === true) {\n- console.log(shortname + \': \');\n- first = false;\n- }\n- console.log(\' Line\', node.loc.start.line, \':\', problem);\n- }\n-\n- function checkConditional(node) {\n- var condition;\n-\n- if (node.consequent.type === \'ConditionalExpression\' ||\n- node.alternate.type === \'ConditionalExpression\') {\n-\n- condition = content.substring(node.test.range[0], node.test.range[1]);\n- if (condition.length > 20) {\n- condition = condition.substring(0, 20) + \'...\';\n- }\n- condition = \'"\' + condition + \'"\';\n- report(node, \'Nested ternary for \' + condition);\n- }\n- }\n-\n- try {\n- content = fs.readFileSync(filename, \'utf-8\');\n- syntax = esprima.parse(content, { tolerant: true, loc: true, range: true });\n- traverse(syntax, function (node) {\n- if (node.type === \'ConditionalExpression\') {\n- checkConditional(node);\n- }\n- });\n- } catch (e) {\n- }\n-\n- });\n-});\ndiff --git a/src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js b/src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js\ndeleted file mode 100644\nindex dc6d1d9c..00000000\n--- a/src/plone/staticresources/static/components/esprima-fb/examples/findbooleantrap.js\n+++ /dev/null\n@@ -1,173 +0,0 @@\n-// Usage: node findbooleantrap.js /path/to/some/directory\n-// For more details, please read http://esprima.org/doc/#booleantrap.\n-\n-/*jslint node:true sloppy:true plusplus:true */\n-\n-var fs = require(\'fs\'),\n- esprima = require(\'../esprima\'),\n- dirname = process.argv[2],\n- doubleNegativeList = [];\n-\n-\n-// Black-list of terms with double-negative meaning.\n-doubleNegativeList = [\n- \'hidden\',\n- \'caseinsensitive\',\n- \'disabled\'\n-];\n-\n-\n-// Executes visitor on the object and its children (recursively).\n-function traverse(object, visitor) {\n- var key, child;\n-\n- if (visitor.call(null, object) === false) {\n- return;\n- }\n- for (key in object) {\n- if (object.hasOwnProperty(key)) {\n- child = object[key];\n- if (typeof child === \'object\' && child !== null) {\n- traverse(child, visitor);\n- }\n- }\n- }\n-}\n-\n-// http://stackoverflow.com/q/5827612/\n-function walk(dir, done) {\n- var results = [];\n- fs.readdir(dir, function (err, list) {\n- if (err) {\n- return done(err);\n- }\n- var i = 0;\n- (function next() {\n- var file = list[i++];\n- if (!file) {\n- return done(null, results);\n- }\n- file = dir + \'/\' + file;\n- fs.stat(file, function (err, stat) {\n- if (stat && stat.isDirectory()) {\n- walk(file, function (err, res) {\n- results = results.concat(res);\n- next();\n- });\n- } else {\n- results.push(file);\n- next();\n- }\n- });\n- }());\n- });\n-}\n-\n-walk(dirname, function (err, results) {\n- if (err) {\n- console.log(\'Error\', err);\n- return;\n- }\n-\n- results.forEach(function (filename) {\n- var shortname, first, content, syntax;\n-\n- shortname = filename;\n- first = true;\n-\n- if (shortname.substr(0, dirname.length) === dirname) {\n- shortname = shortname.substr(dirname.length + 1, shortname.length);\n- }\n-\n- function getFunctionName(node) {\n- if (node.callee.type === \'Identifier\') {\n- return node.callee.name;\n- }\n- if (node.callee.type === \'MemberExpression\') {\n- return node.callee.property.name;\n- }\n- }\n-\n- function report(node, problem) {\n- if (first === true) {\n- console.log(shortname + \': \');\n- first = false;\n- }\n- console.log(\' Line\', node.loc.start.line, \'in function\',\n- getFunctionName(node) + \':\', problem);\n- }\n-\n- function checkSingleArgument(node) {\n- var args = node[\'arguments\'],\n- functionName = getFunctionName(node);\n-\n- if ((args.length !== 1) || (typeof args[0].value !== \'boolean\')) {\n- return;\n- }\n-\n- // Check if the method is a setter, i.e. starts with \'set\',\n- // e.g. \'setEnabled(false)\'.\n- if (functionName.substr(0, 3) !== \'set\') {\n- report(node, \'Boolean literal with a non-setter function\');\n- }\n-\n- // Does it contain a term with double-negative meaning?\n- doubleNegativeList.forEach(function (term) {\n- if (functionName.toLowerCase().indexOf(term.toLowerCase()) >= 0) {\n- report(node, \'Boolean literal with confusing double-negative\');\n- }\n- });\n- }\n-\n- function checkMultipleArguments(node) {\n- var args = node[\'arguments\'],\n- literalCount = 0;\n-\n- args.forEach(function (arg) {\n- if (typeof arg.value === \'boolean\') {\n- literalCount++;\n- }\n- });\n-\n- // At least two arguments must be Boolean literals.\n- if (literalCount >= 2) {\n-\n- // Check for two different Boolean literals in one call.\n- if (literalCount === 2 && args.length === 2) {\n- if (args[0].value !== args[1].value) {\n- report(node, \'Confusing true vs false\');\n- return;\n- }\n- }\n-\n- report(node, \'Multiple Boolean literals\');\n- }\n- }\n-\n- function checkLastArgument(node) {\n- var args = node[\'arguments\'];\n-\n- if (args.length < 2) {\n- return;\n- }\n-\n- if (typeof args[args.length - 1].value === \'boolean\') {\n- report(node, \'Ambiguous Boolean literal as the last argument\');\n- }\n- }\n-\n- try {\n- content = fs.readFileSync(filename, \'utf-8\');\n- syntax = esprima.parse(content, { tolerant: true, loc: true });\n- traverse(syntax, function (node) {\n- if (node.type === \'CallExpression\') {\n- checkSingleArgument(node);\n- checkLastArgument(node);\n- checkMultipleArguments(node);\n- }\n- });\n- } catch (e) {\n- }\n-\n- });\n-});\ndiff --git a/src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js b/src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js\ndeleted file mode 100644\nindex bdd7761c..00000000\n--- a/src/plone/staticresources/static/components/esprima-fb/examples/tokendist.js\n+++ /dev/null\n@@ -1,33 +0,0 @@\n-/*jslint node:true */\n-var fs = require(\'fs\'),\n- esprima = require(\'../esprima\'),\n- files = process.argv.splice(2),\n- histogram,\n- type;\n-\n-histogram = {\n- Boolean: 0,\n- Identifier: 0,\n- Keyword: 0,\n- Null: 0,\n- Numeric: 0,\n- Punctuator: 0,\n- RegularExpression: 0,\n- String: 0\n-};\n-\n-files.forEach(function (filename) {\n- \'use strict\';\n- var content = fs.readFileSync(filename, \'utf-8\'),\n- tokens = esprima.parse(content, { tokens: true }).tokens;\n-\n- tokens.forEach(function (token) {\n- histogram[token.type] += 1;\n- });\n-});\n-\n-for (type in histogram) {\n- if (histogram.hasOwnProperty(type)) {\n- console.log(type, histogram[type]);\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/esprima-fb/index.html b/src/plone/staticresources/static/components/esprima-fb/index.html\ndeleted file mode 100644\nindex 4d412ab1..00000000\n--- a/src/plone/staticresources/static/components/esprima-fb/index.html\n+++ /dev/null\n@@ -1,136 +0,0 @@\n-\n-\n- \n-\n-\n- \n- Esprima\n- \n- \n- \n-\n-\n-\n-\n- \n-
\n-
\n- \n-
\n-
\n-\n- \n-
\n-
\n-

ECMAScript parsing infrastructure for multipurpose analysis

\n-
\n-
\n-\n- \n-
\n-
\n-

Esprima is a high performance, standard-compliant\n- ECMAScript parser written in ECMAScript (also popularly known as\n- JavaScript).

\n-\n-
\n-
\n-

Features

\n-
    \n-
  • Full support for ECMAScript 5.1 (ECMA-262)
  • \n-
  • Sensible syntax tree format, compatible with Mozilla Parser AST
  • \n-
  • Optional tracking of syntax node location (index-based and line-column)
  • \n-
  • Heavily tested (> 600 tests with solid statement and branch coverage)
  • \n-
  • Experimental support for ES6/Harmony (module, class, destructuring, ...)
  • \n-
\n-

\n-

Esprima serves as an important building block for some JavaScript language tools,\n- from code instrumentation to editor autocompletion.

\n- Autocomplete

\n-
\n-
\n-
\n-\n-
\n-
\n-

Once the full syntax tree is obtained, various static code analysis\n- can be applied to give an insight to the code: \n- syntax visualization,\n- code validation,\n- editing autocomplete (with type inferencing)\n- and many others.

\n-
\n-
\n-

Regenerating the code from the syntax tree permits a few different types of code transformation,\n- from a simple rewriting (with specific formatting) to\n- a more complicated minification.

\n-
\n-

Esprima runs on many popular web browsers, as well as other ECMAScript platforms such as\n- Rhino and\n- Node.js. It is distributed under the\n- BSD license.

\n-
\n-
\n-\n- \n- \n-\n-\n-\ndiff --git a/src/plone/staticresources/static/components/esprima-fb/package.json b/src/plone/staticresources/static/components/esprima-fb/package.json\ndeleted file mode 100644\nindex 181a0109..00000000\n--- a/src/plone/staticresources/static/components/esprima-fb/package.json\n+++ /dev/null\n@@ -1,49 +0,0 @@\n-{\n- "name": "esprima-fb",\n- "description": "Facebook-specific fork of the esprima project",\n- "homepage": "https://github.com/facebook/esprima/tree/fb-harmony",\n- "main": "esprima.js",\n- "bin": {\n- "esparse": "./bin/esparse.js",\n- "esvalidate": "./bin/esvalidate.js"\n- },\n- "version": "3001.0001.0000-dev-harmony-fb",\n- "engines": {\n- "node": ">=0.4.0"\n- },\n- "maintainers": [{\n- "name": "Jeff Morrison",\n- "email": "jeffmo@fb.com",\n- "web": "https://www.facebook.com/lbljeffmo"\n- }],\n- "repository": {\n- "type": "git",\n- "url": "http://github.com/facebook/esprima.git"\n- },\n- "licenses": [{\n- "type": "BSD",\n- "url": "http://github.com/facebook/esprima/raw/master/LICENSE.BSD"\n- }],\n- "devDependencies": {\n- "jslint": "~0.1.9",\n- "eslint": "~0.1.0",\n- "istanbul": "~0.1.27",\n- "complexity-report": "~0.6.1",\n- "regenerate": "~0.5.4",\n- "unicode-6.3.0": "~0.1.0",\n- "json-diff": "~0.3.1"\n- },\n- "scripts": {\n- "test": "npm run-script lint && node test/run.js && npm run-script coverage && npm run-script complexity",\n- "lint": "node tools/check-version.js && node_modules/eslint/bin/eslint.js esprima.js && node_modules/jslint/bin/jslint.js esprima.js",\n- "coverage": "npm run-script analyze-coverage && npm run-script check-coverage",\n- "analyze-coverage": "node node_modules/istanbul/lib/cli.js cover test/runner.js",\n- "check-coverage": "node node_modules/istanbul/lib/cli.js check-coverage --statement -8 --branch -28 --function 99.69",\n- "complexity": "npm run-script analyze-complexity && npm run-script check-complexity",\n- "analyze-complexity": "node tools/list-complexity.js",\n- "check-complexity": "node node_modules/complexity-report/src/cli.js --maxcc 31 --silent -l -w esprima.js",\n-\n- "benchmark": "node test/benchmarks.js",\n- "benchmark-quick": "node test/benchmarks.js quick"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/glob/.travis.yml b/src/plone/staticresources/static/components/glob/.travis.yml\ndeleted file mode 100644\nindex baa0031d..00000000\n--- a/src/plone/staticresources/static/components/glob/.travis.yml\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-language: node_js\n-node_js:\n- - 0.8\ndiff --git a/src/plone/staticresources/static/components/glob/LICENSE b/src/plone/staticresources/static/components/glob/LICENSE\ndeleted file mode 100644\nindex 0c44ae71..00000000\n--- a/src/plone/staticresources/static/components/glob/LICENSE\n+++ /dev/null\n@@ -1,27 +0,0 @@\n-Copyright (c) Isaac Z. Schlueter ("Author")\n-All rights reserved.\n-\n-The BSD License\n-\n-Redistribution and use in source and binary forms, with or without\n-modification, are permitted provided that the following conditions\n-are met:\n-\n-1. Redistributions of source code must retain the above copyright\n- notice, this list of conditions and the following disclaimer.\n-\n-2. Redistributions in binary form must reproduce the above copyright\n- notice, this list of conditions and the following disclaimer in the\n- documentation and/or other materials provided with the distribution.\n-\n-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS\'\' AND\n-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS\n-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN\n-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\ndiff --git a/src/plone/staticresources/static/components/glob/README.md b/src/plone/staticresources/static/components/glob/README.md\ndeleted file mode 100644\nindex cc691645..00000000\n--- a/src/plone/staticresources/static/components/glob/README.md\n+++ /dev/null\n@@ -1,250 +0,0 @@\n-# Glob\n-\n-Match files using the patterns the shell uses, like stars and stuff.\n-\n-This is a glob implementation in JavaScript. It uses the `minimatch`\n-library to do its matching.\n-\n-## Attention: node-glob users!\n-\n-The API has changed dramatically between 2.x and 3.x. This library is\n-now 100% JavaScript, and the integer flags have been replaced with an\n-options object.\n-\n-Also, there\'s an event emitter class, proper tests, and all the other\n-things you\'ve come to expect from node modules.\n-\n-And best of all, no compilation!\n-\n-## Usage\n-\n-```javascript\n-var glob = require("glob")\n-\n-// options is optional\n-glob("**/*.js", options, function (er, files) {\n- // files is an array of filenames.\n- // If the `nonull` option is set, and nothing\n- // was found, then files is ["**/*.js"]\n- // er is an error object or null.\n-})\n-```\n-\n-## Features\n-\n-Please see the [minimatch\n-documentation](https://github.com/isaacs/minimatch) for more details.\n-\n-Supports these glob features:\n-\n-* Brace Expansion\n-* Extended glob matching\n-* "Globstar" `**` matching\n-\n-See:\n-\n-* `man sh`\n-* `man bash`\n-* `man 3 fnmatch`\n-* `man 5 gitignore`\n-* [minimatch documentation](https://github.com/isaacs/minimatch)\n-\n-## glob(pattern, [options], cb)\n-\n-* `pattern` {String} Pattern to be matched\n-* `options` {Object}\n-* `cb` {Function}\n- * `err` {Error | null}\n- * `matches` {Array} filenames found matching the pattern\n-\n-Perform an asynchronous glob search.\n-\n-## glob.sync(pattern, [options])\n-\n-* `pattern` {String} Pattern to be matched\n-* `options` {Object}\n-* return: {Array} filenames found matching the pattern\n-\n-Perform a synchronous glob search.\n-\n-## Class: glob.Glob\n-\n-Create a Glob object by instanting the `glob.Glob` class.\n-\n-```javascript\n-var Glob = require("glob").Glob\n-var mg = new Glob(pattern, options, cb)\n-```\n-\n-It\'s an EventEmitter, and starts walking the filesystem to find matches\n-immediately.\n-\n-### new glob.Glob(pattern, [options], [cb])\n-\n-* `pattern` {String} pattern to search for\n-* `options` {Object}\n-* `cb` {Function} Called when an error occurs, or matches are found\n- * `err` {Error | null}\n- * `matches` {Array} filenames found matching the pattern\n-\n-Note that if the `sync` flag is set in the options, then matches will\n-be immediately available on the `g.found` member.\n-\n-### Properties\n-\n-* `minimatch` The minimatch object that the glob uses.\n-* `options` The options object passed in.\n-* `error` The error encountered. When an error is encountered, the\n- glob object is in an undefined state, and should be discarded.\n-* `aborted` Boolean which is set to true when calling `abort()`. There\n- is no way at this time to continue a glob search after aborting, but\n- you can re-use the statCache to avoid having to duplicate syscalls.\n-* `statCache` Collection of all the stat results the glob search\n- performed.\n-* `cache` Convenience object. Each field has the following possible\n- values:\n- * `false` - Path does not exist\n- * `true` - Path exists\n- * `1` - Path exists, and is not a directory\n- * `2` - Path exists, and is a directory\n- * `[file, entries, ...]` - Path exists, is a directory, and the\n- array value is the results of `fs.readdir`\n-\n-### Events\n-\n-* `end` When the matching is finished, this is emitted with all the\n- matches found. If the `nonull` option is set, and no match was found,\n- then the `matches` list contains the original pattern. The matches\n- are sorted, unless the `nosort` flag is set.\n-* `match` Every time a match is found, this is emitted with the matched.\n-* `error` Emitted when an unexpected error is encountered, or whenever\n- any fs error occurs if `options.strict` is set.\n-* `abort` When `abort()` is called, this event is raised.\n-\n-### Methods\n-\n-* `abort` Stop the search.\n-\n-### Options\n-\n-All the options that can be passed to Minimatch can also be passed to\n-Glob to change pattern matching behavior. Also, some have been added,\n-or have glob-specific ramifications.\n-\n-All options are false by default, unless otherwise noted.\n-\n-All options are added to the glob object, as well.\n-\n-* `cwd` The current working directory in which to search. Defaults\n- to `process.cwd()`.\n-* `root` The place where patterns starting with `/` will be mounted\n- onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n- systems, and `C:\\` or some such on Windows.)\n-* `dot` Include `.dot` files in normal matches and `globstar` matches.\n- Note that an explicit dot in a portion of the pattern will always\n- match dot files.\n-* `nomount` By default, a pattern starting with a forward-slash will be\n- "mounted" onto the root setting, so that a valid filesystem path is\n- returned. Set this flag to disable that behavior.\n-* `mark` Add a `/` character to directory matches. Note that this\n- requires additional stat calls.\n-* `nosort` Don\'t sort the results.\n-* `stat` Set to true to stat *all* results. This reduces performance\n- somewhat, and is completely unnecessary, unless `readdir` is presumed\n- to be an untrustworthy indicator of file existence. It will cause\n- ELOOP to be triggered one level sooner in the case of cyclical\n- symbolic links.\n-* `silent` When an unusual error is encountered\n- when attempting to read a directory, a warning will be printed to\n- stderr. Set the `silent` option to true to suppress these warnings.\n-* `strict` When an unusual error is encountered\n- when attempting to read a directory, the process will just continue on\n- in search of other matches. Set the `strict` option to raise an error\n- in these cases.\n-* `cache` See `cache` property above. Pass in a previously generated\n- cache object to save some fs calls.\n-* `statCache` A cache of results of filesystem information, to prevent\n- unnecessary stat calls. While it should not normally be necessary to\n- set this, you may pass the statCache from one glob() call to the\n- options object of another, if you know that the filesystem will not\n- change between calls. (See "Race Conditions" below.)\n-* `sync` Perform a synchronous glob search.\n-* `nounique` In some cases, brace-expanded patterns can result in the\n- same file showing up multiple times in the result set. By default,\n- this implementation prevents duplicates in the result set.\n- Set this flag to disable that behavior.\n-* `nonull` Set to never return an empty set, instead returning a set\n- containing the pattern itself. This is the default in glob(3).\n-* `nocase` Perform a case-insensitive match. Note that case-insensitive\n- filesystems will sometimes result in glob returning results that are\n- case-insensitively matched anyway, since readdir and stat will not\n- raise an error.\n-* `debug` Set to enable debug logging in minimatch and glob.\n-* `globDebug` Set to enable debug logging in glob, but not minimatch.\n-\n-## Comparisons to other fnmatch/glob implementations\n-\n-While strict compliance with the existing standards is a worthwhile\n-goal, some discrepancies exist between node-glob and other\n-implementations, and are intentional.\n-\n-If the pattern starts with a `!` character, then it is negated. Set the\n-`nonegate` flag to suppress this behavior, and treat leading `!`\n-characters normally. This is perhaps relevant if you wish to start the\n-pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\n-characters at the start of a pattern will negate the pattern multiple\n-times.\n-\n-If a pattern starts with `#`, then it is treated as a comment, and\n-will not match anything. Use `\\#` to match a literal `#` at the\n-start of a line, or set the `nocomment` flag to suppress this behavior.\n-\n-The double-star character `**` is supported by default, unless the\n-`noglobstar` flag is set. This is supported in the manner of bsdglob\n-and bash 4.1, where `**` only has special significance if it is the only\n-thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n-`a/**b` will not.\n-\n-If an escaped pattern has no matches, and the `nonull` flag is set,\n-then glob returns the pattern as-provided, rather than\n-interpreting the character escapes. For example,\n-`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n-`"*a?"`. This is akin to setting the `nullglob` option in bash, except\n-that it does not resolve escaped pattern characters.\n-\n-If brace expansion is not disabled, then it is performed before any\n-other interpretation of the glob pattern. Thus, a pattern like\n-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\n-checked for validity. Since those two are valid, matching proceeds.\n-\n-## Windows\n-\n-**Please only use forward-slashes in glob expressions.**\n-\n-Though windows uses either `/` or `\\` as its path separator, only `/`\n-characters are used by this glob implementation. You must use\n-forward-slashes **only** in glob expressions. Back-slashes will always\n-be interpreted as escape characters, not path separators.\n-\n-Results from absolute patterns such as `/foo/*` are mounted onto the\n-root setting using `path.join`. On windows, this will by default result\n-in `/foo/*` matching `C:\\foo\\bar.txt`.\n-\n-## Race Conditions\n-\n-Glob searching, by its very nature, is susceptible to race conditions,\n-since it relies on directory walking and such.\n-\n-As a result, it is possible that a file that exists when glob looks for\n-it may have been deleted or modified by the time it returns the result.\n-\n-As part of its internal implementation, this program caches all stat\n-and readdir calls that it makes, in order to cut down on system\n-overhead. However, this also makes it even more susceptible to races,\n-especially if the cache or statCache objects are reused between glob\n-calls.\n-\n-Users are thus advised not to use a glob result as a guarantee of\n-filesystem state in the face of rapid changes. For the vast majority\n-of operations, this is never a problem.\ndiff --git a/src/plone/staticresources/static/components/glob/examples/g.js b/src/plone/staticresources/static/components/glob/examples/g.js\ndeleted file mode 100644\nindex be122df0..00000000\n--- a/src/plone/staticresources/static/components/glob/examples/g.js\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-var Glob = require("../").Glob\n-\n-var pattern = "test/a/**/[cg]/../[cg]"\n-console.log(pattern)\n-\n-var mg = new Glob(pattern, {mark: true, sync:true}, function (er, matches) {\n- console.log("matches", matches)\n-})\n-console.log("after")\ndiff --git a/src/plone/staticresources/static/components/glob/examples/usr-local.js b/src/plone/staticresources/static/components/glob/examples/usr-local.js\ndeleted file mode 100644\nindex 327a425e..00000000\n--- a/src/plone/staticresources/static/components/glob/examples/usr-local.js\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-var Glob = require("../").Glob\n-\n-var pattern = "{./*/*,/*,/usr/local/*}"\n-console.log(pattern)\n-\n-var mg = new Glob(pattern, {mark: true}, function (er, matches) {\n- console.log("matches", matches)\n-})\n-console.log("after")\ndiff --git a/src/plone/staticresources/static/components/glob/glob.js b/src/plone/staticresources/static/components/glob/glob.js\ndeleted file mode 100644\nindex f646c448..00000000\n--- a/src/plone/staticresources/static/components/glob/glob.js\n+++ /dev/null\n@@ -1,728 +0,0 @@\n-// Approach:\n-//\n-// 1. Get the minimatch set\n-// 2. For each pattern in the set, PROCESS(pattern)\n-// 3. Store matches per-set, then uniq them\n-//\n-// PROCESS(pattern)\n-// Get the first [n] items from pattern that are all strings\n-// Join these together. This is PREFIX.\n-// If there is no more remaining, then stat(PREFIX) and\n-// add to matches if it succeeds. END.\n-// readdir(PREFIX) as ENTRIES\n-// If fails, END\n-// If pattern[n] is GLOBSTAR\n-// // handle the case where the globstar match is empty\n-// // by pruning it out, and testing the resulting pattern\n-// PROCESS(pattern[0..n] + pattern[n+1 .. $])\n-// // handle other cases.\n-// for ENTRY in ENTRIES (not dotfiles)\n-// // attach globstar + tail onto the entry\n-// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $])\n-//\n-// else // not globstar\n-// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n-// Test ENTRY against pattern[n]\n-// If fails, continue\n-// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n-//\n-// Caveat:\n-// Cache all stats and readdirs results to minimize syscall. Since all\n-// we ever care about is existence and directory-ness, we can just keep\n-// `true` for files, and [children,...] for directories, or `false` for\n-// things that don\'t exist.\n-\n-\n-\n-module.exports = glob\n-\n-var fs = require("fs")\n-, minimatch = require("minimatch")\n-, Minimatch = minimatch.Minimatch\n-, inherits = require("inherits")\n-, EE = require("events").EventEmitter\n-, path = require("path")\n-, isDir = {}\n-, assert = require("assert").ok\n-\n-function glob (pattern, options, cb) {\n- if (typeof options === "function") cb = options, options = {}\n- if (!options) options = {}\n-\n- if (typeof options === "number") {\n- deprecated()\n- return\n- }\n-\n- var g = new Glob(pattern, options, cb)\n- return g.sync ? g.found : g\n-}\n-\n-glob.fnmatch = deprecated\n-\n-function deprecated () {\n- throw new Error("glob\'s interface has changed. Please see the docs.")\n-}\n-\n-glob.sync = globSync\n-function globSync (pattern, options) {\n- if (typeof options === "number") {\n- deprecated()\n- return\n- }\n-\n- options = options || {}\n- options.sync = true\n- return glob(pattern, options)\n-}\n-\n-this._processingEmitQueue = false\n-\n-glob.Glob = Glob\n-inherits(Glob, EE)\n-function Glob (pattern, options, cb) {\n- if (!(this instanceof Glob)) {\n- return new Glob(pattern, options, cb)\n- }\n-\n- if (typeof options === "function") {\n- cb = options\n- options = null\n- }\n-\n- if (typeof cb === "function") {\n- this.on("error", cb)\n- this.on("end", function (matches) {\n- cb(null, matches)\n- })\n- }\n-\n- options = options || {}\n-\n- this._endEmitted = false\n- this.EOF = {}\n- this._emitQueue = []\n-\n- this.paused = false\n- this._processingEmitQueue = false\n-\n- this.maxDepth = options.maxDepth || 1000\n- this.maxLength = options.maxLength || Infinity\n- this.cache = options.cache || {}\n- this.statCache = options.statCache || {}\n-\n- this.changedCwd = false\n- var cwd = process.cwd()\n- if (!options.hasOwnProperty("cwd")) this.cwd = cwd\n- else {\n- this.cwd = options.cwd\n- this.changedCwd = path.resolve(options.cwd) !== cwd\n- }\n-\n- this.root = options.root || path.resolve(this.cwd, "/")\n- this.root = path.resolve(this.root)\n- if (process.platform === "win32")\n- this.root = this.root.replace(/\\\\/g, "/")\n-\n- this.nomount = !!options.nomount\n-\n- if (!pattern) {\n- throw new Error("must provide pattern")\n- }\n-\n- // base-matching: just use globstar for that.\n- if (options.matchBase && -1 === pattern.indexOf("/")) {\n- if (options.noglobstar) {\n- throw new Error("base matching requires globstar")\n- }\n- pattern = "**/" + pattern\n- }\n-\n- this.strict = options.strict !== false\n- this.dot = !!options.dot\n- this.mark = !!options.mark\n- this.sync = !!options.sync\n- this.nounique = !!options.nounique\n- this.nonull = !!options.nonull\n- this.nosort = !!options.nosort\n- this.nocase = !!options.nocase\n- this.stat = !!options.stat\n-\n- this.debug = !!options.debug || !!options.globDebug\n- if (this.debug)\n- this.log = console.error\n-\n- this.silent = !!options.silent\n-\n- var mm = this.minimatch = new Minimatch(pattern, options)\n- this.options = mm.options\n- pattern = this.pattern = mm.pattern\n-\n- this.error = null\n- this.aborted = false\n-\n- // list of all the patterns that ** has resolved do, so\n- // we can avoid visiting multiple times.\n- this._globstars = {}\n-\n- EE.call(this)\n-\n- // process each pattern in the minimatch set\n- var n = this.minimatch.set.length\n-\n- // The matches are stored as {: true,...} so that\n- // duplicates are automagically pruned.\n- // Later, we do an Object.keys() on these.\n- // Keep them as a list so we can fill in when nonull is set.\n- this.matches = new Array(n)\n-\n- this.minimatch.set.forEach(iterator.bind(this))\n- function iterator (pattern, i, set) {\n- this._process(pattern, 0, i, function (er) {\n- if (er) this.emit("error", er)\n- if (-- n <= 0) this._finish()\n- })\n- }\n-}\n-\n-Glob.prototype.log = function () {}\n-\n-Glob.prototype._finish = function () {\n- assert(this instanceof Glob)\n-\n- var nou = this.nounique\n- , all = nou ? [] : {}\n-\n- for (var i = 0, l = this.matches.length; i < l; i ++) {\n- var matches = this.matches[i]\n- this.log("matches[%d] =", i, matches)\n- // do like the shell, and spit out the literal glob\n- if (!matches) {\n- if (this.nonull) {\n- var literal = this.minimatch.globSet[i]\n- if (nou) all.push(literal)\n- else all[literal] = true\n- }\n- } else {\n- // had matches\n- var m = Object.keys(matches)\n- if (nou) all.push.apply(all, m)\n- else m.forEach(function (m) {\n- all[m] = true\n- })\n- }\n- }\n-\n- if (!nou) all = Object.keys(all)\n-\n- if (!this.nosort) {\n- all = all.sort(this.nocase ? alphasorti : alphasort)\n- }\n-\n- if (this.mark) {\n- // at *some* point we statted all of these\n- all = all.map(this._mark, this)\n- }\n-\n- this.log("emitting end", all)\n-\n- this.EOF = this.found = all\n- this.emitMatch(this.EOF)\n-}\n-\n-function alphasorti (a, b) {\n- a = a.toLowerCase()\n- b = b.toLowerCase()\n- return alphasort(a, b)\n-}\n-\n-function alphasort (a, b) {\n- return a > b ? 1 : a < b ? -1 : 0\n-}\n-\n-Glob.prototype._mark = function (p) {\n- var c = this.cache[p]\n- var m = p\n- if (c) {\n- var isDir = c === 2 || Array.isArray(c)\n- var slash = p.slice(-1) === \'/\'\n-\n- if (isDir && !slash)\n- m += \'/\'\n- else if (!isDir && slash)\n- m = m.slice(0, -1)\n-\n- if (m !== p) {\n- this.statCache[m] = this.statCache[p]\n- this.cache[m] = this.cache[p]\n- }\n- }\n-\n- return m\n-}\n-\n-Glob.prototype.abort = function () {\n- this.aborted = true\n- this.emit("abort")\n-}\n-\n-Glob.prototype.pause = function () {\n- if (this.paused) return\n- if (this.sync)\n- this.emit("error", new Error("Can\'t pause/resume sync glob"))\n- this.paused = true\n- this.emit("pause")\n-}\n-\n-Glob.prototype.resume = function () {\n- if (!this.paused) return\n- if (this.sync)\n- this.emit("error", new Error("Can\'t pause/resume sync glob"))\n- this.paused = false\n- this.emit("resume")\n- this._processEmitQueue()\n- //process.nextTick(this.emit.bind(this, "resume"))\n-}\n-\n-Glob.prototype.emitMatch = function (m) {\n- this.log(\'emitMatch\', m)\n- this._emitQueue.push(m)\n- this._processEmitQueue()\n-}\n-\n-Glob.prototype._processEmitQueue = function (m) {\n- this.log("pEQ paused=%j processing=%j m=%j", this.paused,\n- this._processingEmitQueue, m)\n- var done = false\n- while (!this._processingEmitQueue &&\n- !this.paused) {\n- this._processingEmitQueue = true\n- var m = this._emitQueue.shift()\n- this.log(">processEmitQueue", m === this.EOF ? ":EOF:" : m)\n- if (!m) {\n- this.log(">processEmitQueue, falsey m")\n- this._processingEmitQueue = false\n- break\n- }\n-\n- if (m === this.EOF || !(this.mark && !this.stat)) {\n- this.log("peq: unmarked, or eof")\n- next.call(this, 0, false)\n- } else if (this.statCache[m]) {\n- var sc = this.statCache[m]\n- var exists\n- if (sc)\n- exists = sc.isDirectory() ? 2 : 1\n- this.log("peq: stat cached")\n- next.call(this, exists, exists === 2)\n- } else {\n- this.log("peq: _stat, then next")\n- this._stat(m, next)\n- }\n-\n- function next(exists, isDir) {\n- this.log("next", m, exists, isDir)\n- var ev = m === this.EOF ? "end" : "match"\n-\n- // "end" can only happen once.\n- assert(!this._endEmitted)\n- if (ev === "end")\n- this._endEmitted = true\n-\n- if (exists) {\n- // Doesn\'t mean it necessarily doesn\'t exist, it\'s possible\n- // we just didn\'t check because we don\'t care that much, or\n- // this is EOF anyway.\n- if (isDir && !m.match(/\\/$/)) {\n- m = m + "/"\n- } else if (!isDir && m.match(/\\/$/)) {\n- m = m.replace(/\\/+$/, "")\n- }\n- }\n- this.log("emit", ev, m)\n- this.emit(ev, m)\n- this._processingEmitQueue = false\n- if (done && m !== this.EOF && !this.paused)\n- this._processEmitQueue()\n- }\n- }\n- done = true\n-}\n-\n-Glob.prototype._process = function (pattern, depth, index, cb_) {\n- assert(this instanceof Glob)\n-\n- var cb = function cb (er, res) {\n- assert(this instanceof Glob)\n- if (this.paused) {\n- if (!this._processQueue) {\n- this._processQueue = []\n- this.once("resume", function () {\n- var q = this._processQueue\n- this._processQueue = null\n- q.forEach(function (cb) { cb() })\n- })\n- }\n- this._processQueue.push(cb_.bind(this, er, res))\n- } else {\n- cb_.call(this, er, res)\n- }\n- }.bind(this)\n-\n- if (this.aborted) return cb()\n-\n- if (depth > this.maxDepth) return cb()\n-\n- // Get the first [n] parts of pattern that are all strings.\n- var n = 0\n- while (typeof pattern[n] === "string") {\n- n ++\n- }\n- // now n is the index of the first one that is *not* a string.\n-\n- // see if there\'s anything else\n- var prefix\n- switch (n) {\n- // if not, then this is rather simple\n- case pattern.length:\n- prefix = pattern.join("/")\n- this._stat(prefix, function (exists, isDir) {\n- // either it\'s there, or it isn\'t.\n- // nothing more to do, either way.\n- if (exists) {\n- if (prefix && isAbsolute(prefix) && !this.nomount) {\n- if (prefix.charAt(0) === "/") {\n- prefix = path.join(this.root, prefix)\n- } else {\n- prefix = path.resolve(this.root, prefix)\n- }\n- }\n-\n- if (process.platform === "win32")\n- prefix = prefix.replace(/\\\\/g, "/")\n-\n- this.matches[index] = this.matches[index] || {}\n- this.matches[index][prefix] = true\n- this.emitMatch(prefix)\n- }\n- return cb()\n- })\n- return\n-\n- case 0:\n- // pattern *starts* with some non-trivial item.\n- // going to readdir(cwd), but not include the prefix in matches.\n- prefix = null\n- break\n-\n- default:\n- // pattern has some string bits in the front.\n- // whatever it starts with, whether that\'s "absolute" like /foo/bar,\n- // or "relative" like "../baz"\n- prefix = pattern.slice(0, n)\n- prefix = prefix.join("/")\n- break\n- }\n-\n- // get the list of entries.\n- var read\n- if (prefix === null) read = "."\n- else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {\n- if (!prefix || !isAbsolute(prefix)) {\n- prefix = path.join("/", prefix)\n- }\n- read = prefix = path.resolve(prefix)\n-\n- // if (process.platform === "win32")\n- // read = prefix = prefix.replace(/^[a-zA-Z]:|\\\\/g, "/")\n-\n- this.log(\'absolute: \', prefix, this.root, pattern, read)\n- } else {\n- read = prefix\n- }\n-\n- this.log(\'readdir(%j)\', read, this.cwd, this.root)\n-\n- return this._readdir(read, function (er, entries) {\n- if (er) {\n- // not a directory!\n- // this means that, whatever else comes after this, it can never match\n- return cb()\n- }\n-\n- // globstar is special\n- if (pattern[n] === minimatch.GLOBSTAR) {\n- // test without the globstar, and with every child both below\n- // and replacing the globstar.\n- var s = [ pattern.slice(0, n).concat(pattern.slice(n + 1)) ]\n- entries.forEach(function (e) {\n- if (e.charAt(0) === "." && !this.dot) return\n- // instead of the globstar\n- s.push(pattern.slice(0, n).concat(e).concat(pattern.slice(n + 1)))\n- // below the globstar\n- s.push(pattern.slice(0, n).concat(e).concat(pattern.slice(n)))\n- }, this)\n-\n- s = s.filter(function (pattern) {\n- var key = gsKey(pattern)\n- var seen = !this._globstars[key]\n- this._globstars[key] = true\n- return seen\n- }, this)\n-\n- if (!s.length)\n- return cb()\n-\n- // now asyncForEach over this\n- var l = s.length\n- , errState = null\n- s.forEach(function (gsPattern) {\n- this._process(gsPattern, depth + 1, index, function (er) {\n- if (errState) return\n- if (er) return cb(errState = er)\n- if (--l <= 0) return cb()\n- })\n- }, this)\n-\n- return\n- }\n-\n- // not a globstar\n- // It will only match dot entries if it starts with a dot, or if\n- // dot is set. Stuff like @(.foo|.bar) isn\'t allowed.\n- var pn = pattern[n]\n- var rawGlob = pattern[n]._glob\n- , dotOk = this.dot || rawGlob.charAt(0) === "."\n-\n- entries = entries.filter(function (e) {\n- return (e.charAt(0) !== "." || dotOk) &&\n- e.match(pattern[n])\n- })\n-\n- // If n === pattern.length - 1, then there\'s no need for the extra stat\n- // *unless* the user has specified "mark" or "stat" explicitly.\n- // We know that they exist, since the readdir returned them.\n- if (n === pattern.length - 1 &&\n- !this.mark &&\n- !this.stat) {\n- entries.forEach(function (e) {\n- if (prefix) {\n- if (prefix !== "/") e = prefix + "/" + e\n- else e = prefix + e\n- }\n- if (e.charAt(0) === "/" && !this.nomount) {\n- e = path.join(this.root, e)\n- }\n-\n- if (process.platform === "win32")\n- e = e.replace(/\\\\/g, "/")\n-\n- this.matches[index] = this.matches[index] || {}\n- this.matches[index][e] = true\n- this.emitMatch(e)\n- }, this)\n- return cb.call(this)\n- }\n-\n-\n- // now test all the remaining entries as stand-ins for that part\n- // of the pattern.\n- var l = entries.length\n- , errState = null\n- if (l === 0) return cb() // no matches possible\n- entries.forEach(function (e) {\n- var p = pattern.slice(0, n).concat(e).concat(pattern.slice(n + 1))\n- this._process(p, depth + 1, index, function (er) {\n- if (errState) return\n- if (er) return cb(errState = er)\n- if (--l === 0) return cb.call(this)\n- })\n- }, this)\n- })\n-\n-}\n-\n-function gsKey (pattern) {\n- return \'**\' + pattern.map(function (p) {\n- return (p === minimatch.GLOBSTAR) ? \'**\' : (\'\'+p)\n- }).join(\'/\')\n-}\n-\n-Glob.prototype._stat = function (f, cb) {\n- assert(this instanceof Glob)\n- var abs = f\n- if (f.charAt(0) === "/") {\n- abs = path.join(this.root, f)\n- } else if (this.changedCwd) {\n- abs = path.resolve(this.cwd, f)\n- }\n-\n- if (f.length > this.maxLength) {\n- var er = new Error("Path name too long")\n- er.code = "ENAMETOOLONG"\n- er.path = f\n- return this._afterStat(f, abs, cb, er)\n- }\n-\n- this.log(\'stat\', [this.cwd, f, \'=\', abs])\n-\n- if (!this.stat && this.cache.hasOwnProperty(f)) {\n- var exists = this.cache[f]\n- , isDir = exists && (Array.isArray(exists) || exists === 2)\n- if (this.sync) return cb.call(this, !!exists, isDir)\n- return process.nextTick(cb.bind(this, !!exists, isDir))\n- }\n-\n- var stat = this.statCache[abs]\n- if (this.sync || stat) {\n- var er\n- try {\n- stat = fs.statSync(abs)\n- } catch (e) {\n- er = e\n- }\n- this._afterStat(f, abs, cb, er, stat)\n- } else {\n- fs.stat(abs, this._afterStat.bind(this, f, abs, cb))\n- }\n-}\n-\n-Glob.prototype._afterStat = function (f, abs, cb, er, stat) {\n- var exists\n- assert(this instanceof Glob)\n-\n- if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) {\n- this.log("should be ENOTDIR, fake it")\n-\n- er = new Error("ENOTDIR, not a directory \'" + abs + "\'")\n- er.path = abs\n- er.code = "ENOTDIR"\n- stat = null\n- }\n-\n- var emit = !this.statCache[abs]\n- this.statCache[abs] = stat\n-\n- if (er || !stat) {\n- exists = false\n- } else {\n- exists = stat.isDirectory() ? 2 : 1\n- if (emit)\n- this.emit(\'stat\', f, stat)\n- }\n- this.cache[f] = this.cache[f] || exists\n- cb.call(this, !!exists, exists === 2)\n-}\n-\n-Glob.prototype._readdir = function (f, cb) {\n- assert(this instanceof Glob)\n- var abs = f\n- if (f.charAt(0) === "/") {\n- abs = path.join(this.root, f)\n- } else if (isAbsolute(f)) {\n- abs = f\n- } else if (this.changedCwd) {\n- abs = path.resolve(this.cwd, f)\n- }\n-\n- if (f.length > this.maxLength) {\n- var er = new Error("Path name too long")\n- er.code = "ENAMETOOLONG"\n- er.path = f\n- return this._afterReaddir(f, abs, cb, er)\n- }\n-\n- this.log(\'readdir\', [this.cwd, f, abs])\n- if (this.cache.hasOwnProperty(f)) {\n- var c = this.cache[f]\n- if (Array.isArray(c)) {\n- if (this.sync) return cb.call(this, null, c)\n- return process.nextTick(cb.bind(this, null, c))\n- }\n-\n- if (!c || c === 1) {\n- // either ENOENT or ENOTDIR\n- var code = c ? "ENOTDIR" : "ENOENT"\n- , er = new Error((c ? "Not a directory" : "Not found") + ": " + f)\n- er.path = f\n- er.code = code\n- this.log(f, er)\n- if (this.sync) return cb.call(this, er)\n- return process.nextTick(cb.bind(this, er))\n- }\n-\n- // at this point, c === 2, meaning it\'s a dir, but we haven\'t\n- // had to read it yet, or c === true, meaning it\'s *something*\n- // but we don\'t have any idea what. Need to read it, either way.\n- }\n-\n- if (this.sync) {\n- var er, entries\n- try {\n- entries = fs.readdirSync(abs)\n- } catch (e) {\n- er = e\n- }\n- return this._afterReaddir(f, abs, cb, er, entries)\n- }\n-\n- fs.readdir(abs, this._afterReaddir.bind(this, f, abs, cb))\n-}\n-\n-Glob.prototype._afterReaddir = function (f, abs, cb, er, entries) {\n- assert(this instanceof Glob)\n- if (entries && !er) {\n- this.cache[f] = entries\n- // if we haven\'t asked to stat everything for suresies, then just\n- // assume that everything in there exists, so we can avoid\n- // having to stat it a second time. This also gets us one step\n- // further into ELOOP territory.\n- if (!this.mark && !this.stat) {\n- entries.forEach(function (e) {\n- if (f === "/") e = f + e\n- else e = f + "/" + e\n- this.cache[e] = true\n- }, this)\n- }\n-\n- return cb.call(this, er, entries)\n- }\n-\n- // now handle errors, and cache the information\n- if (er) switch (er.code) {\n- case "ENOTDIR": // totally normal. means it *does* exist.\n- this.cache[f] = 1\n- return cb.call(this, er)\n- case "ENOENT": // not terribly unusual\n- case "ELOOP":\n- case "ENAMETOOLONG":\n- case "UNKNOWN":\n- this.cache[f] = false\n- return cb.call(this, er)\n- default: // some unusual error. Treat as failure.\n- this.cache[f] = false\n- if (this.strict) this.emit("error", er)\n- if (!this.silent) console.error("glob error", er)\n- return cb.call(this, er)\n- }\n-}\n-\n-var isAbsolute = process.platform === "win32" ? absWin : absUnix\n-\n-function absWin (p) {\n- if (absUnix(p)) return true\n- // pull off the device/UNC bit from a windows path.\n- // from node\'s lib/path.js\n- var splitDeviceRe =\n- /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/\n- , result = splitDeviceRe.exec(p)\n- , device = result[1] || \'\'\n- , isUnc = device && device.charAt(1) !== \':\'\n- , isAbsolute = !!result[2] || isUnc // UNC paths are always absolute\n-\n- return isAbsolute\n-}\n-\n-function absUnix (p) {\n- return p.charAt(0) === "/" || p === ""\n-}\ndiff --git a/src/plone/staticresources/static/components/glob/package.json b/src/plone/staticresources/static/components/glob/package.json\ndeleted file mode 100644\nindex b48bc630..00000000\n--- a/src/plone/staticresources/static/components/glob/package.json\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-{\n- "author": "Isaac Z. Schlueter (http://blog.izs.me/)",\n- "name": "glob",\n- "description": "a little globber",\n- "version": "3.2.11",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/isaacs/node-glob.git"\n- },\n- "main": "glob.js",\n- "engines": {\n- "node": "*"\n- },\n- "dependencies": {\n- "inherits": "2",\n- "minimatch": "0.3"\n- },\n- "devDependencies": {\n- "tap": "~0.4.0",\n- "mkdirp": "0",\n- "rimraf": "1"\n- },\n- "scripts": {\n- "test": "tap test/*.js",\n- "test-regen": "TEST_REGEN=1 node test/00-setup.js"\n- },\n- "license": "BSD"\n-}\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/.travis.yml b/src/plone/staticresources/static/components/iconv-lite/.travis.yml\ndeleted file mode 100644\nindex 0bab9cd8..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/.travis.yml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n- language: node_js\n- node_js:\n- - 0.4\n- - 0.6\n- - 0.8\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/LICENSE b/src/plone/staticresources/static/components/iconv-lite/LICENSE\ndeleted file mode 100644\nindex d518d837..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/LICENSE\n+++ /dev/null\n@@ -1,21 +0,0 @@\n-Copyright (c) 2011 Alexander Shtuchkin\n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n-\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/README.md b/src/plone/staticresources/static/components/iconv-lite/README.md\ndeleted file mode 100644\nindex ba30a32c..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/README.md\n+++ /dev/null\n@@ -1,72 +0,0 @@\n-iconv-lite - pure javascript character encoding conversion\n-======================================================================\n-\n-[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite)\n-\n-## Features\n-\n-* Pure javascript. Doesn\'t need native code compilation.\n-* Easy API.\n-* Works on Windows and in sandboxed environments like [Cloud9](http://c9.io).\n-* Encoding is much faster than node-iconv (see below for performance comparison).\n-\n-## Usage\n-\n- var iconv = require(\'iconv-lite\');\n- \n- // Convert from an encoded buffer to string.\n- str = iconv.decode(buf, \'win1251\');\n- \n- // Convert from string to an encoded buffer.\n- buf = iconv.encode("Sample input string", \'win1251\');\n-\n- // Check if encoding is supported\n- iconv.encodingExists("us-ascii")\n-\n-\n-## Supported encodings\n-\n-* All node.js native encodings: \'utf8\', \'ucs2\', \'ascii\', \'binary\', \'base64\'\n-* All widespread single byte encodings: Windows 125x family, ISO-8859 family, \n- IBM/DOS codepages, Macintosh family, KOI8 family. \n- Aliases like \'latin1\', \'us-ascii\' also supported.\n-* Multibyte encodings: \'gbk\', \'gb2313\', \'Big5\', \'cp950\'.\n-\n-Others are easy to add, see the source. Please, participate.\n-Most encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors!\n-\n-Not supported yet: EUC family, Shift_JIS.\n-\n-\n-## Encoding/decoding speed\n-\n-Comparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). \n-Note: your results may vary, so please always check on your hardware.\n-\n- operation iconv@1.2.4 iconv-lite@0.2.4 \n- ----------------------------------------------------------\n- encode(\'win1251\') ~115 Mb/s ~230 Mb/s\n- decode(\'win1251\') ~95 Mb/s ~130 Mb/s\n-\n-\n-## Notes\n-\n-When decoding, a \'binary\'-encoded string can be used as a source buffer. \n-Untranslatable characters are set to \xef\xbf\xbd or ?. No transliteration is currently supported, pull requests are welcome.\n-\n-## Testing\n-\n- git clone git@github.com:ashtuchkin/iconv-lite.git\n- cd iconv-lite\n- npm install\n- npm test\n- \n- # To view performance:\n- node test/performance.js\n-\n-## TODO\n-\n-* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream(\'latin1\')).\n-* Add more encodings.\n-* Add transliteration (best fit char).\n-* Add tests and correct support of variable-byte encodings (currently work is delegated to node).\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/encodings/big5.js b/src/plone/staticresources/static/components/iconv-lite/encodings/big5.js\ndeleted file mode 100644\nindex 0423d63a..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/encodings/big5.js\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-var big5Table = require(\'./table/big5.js\');\n-module.exports = {\n-\t\'windows950\': \'big5\',\n-\t\'cp950\': \'big5\',\n-\t\'big5\': {\n-\t\ttype: \'table\',\n-\t\ttable: big5Table\n-\t}\n-}\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js b/src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js\ndeleted file mode 100644\nindex 78a63ec5..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/encodings/gbk.js\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-var gbkTable = require(\'./table/gbk.js\');\n-module.exports = {\n-\t\'windows936\': \'gbk\',\n-\t\'gb2312\': \'gbk\',\n-\t\'gbk\': {\n-\t\ttype: \'table\',\n-\t\ttable: gbkTable\n-\t}\n-}\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js b/src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js\ndeleted file mode 100644\nindex f41a7ea7..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/encodings/singlebyte.js\n+++ /dev/null\n@@ -1,340 +0,0 @@\n-module.exports = {\n- "437": "cp437",\n- "737": "cp737",\n- "775": "cp775",\n- "850": "cp850",\n- "852": "cp852",\n- "855": "cp855",\n- "857": "cp857",\n- "858": "cp858",\n- "860": "cp860",\n- "861": "cp861",\n- "862": "cp862",\n- "863": "cp863",\n- "864": "cp864",\n- "865": "cp865",\n- "866": "cp866",\n- "869": "cp869",\n- "874": "iso885911",\n- "1250": "windows1250",\n- "1251": "windows1251",\n- "1252": "windows1252",\n- "1253": "windows1253",\n- "1254": "windows1254",\n- "1255": "windows1255",\n- "1256": "windows1256",\n- "1257": "windows1257",\n- "1258": "windows1258",\n- "10000": "macroman",\n- "10006": "macgreek",\n- "10007": "maccyrillic",\n- "10029": "maccenteuro",\n- "10079": "maciceland",\n- "10081": "macturkish",\n- "20866": "koi8r",\n- "21866": "koi8u",\n- "28591": "iso88591",\n- "28592": "iso88592",\n- "28593": "iso88593",\n- "28594": "iso88594",\n- "28595": "iso88595",\n- "28596": "iso88596",\n- "28597": "iso88597",\n- "28598": "iso88598",\n- "28599": "iso88599",\n- "28600": "iso885910",\n- "28601": "iso885911",\n- "28603": "iso885913",\n- "28604": "iso885914",\n- "28605": "iso885915",\n- "28606": "iso885916",\n- "ascii8bit": "ascii",\n- "usascii": "ascii",\n- "latin1": "iso88591",\n- "latin2": "iso88592",\n- "latin3": "iso88593",\n- "latin4": "iso88594",\n- "latin6": "iso885910",\n- "latin7": "iso885913",\n- "latin8": "iso885914",\n- "latin9": "iso885915",\n- "latin10": "iso885916",\n- "cp819": "iso88951",\n- "arabic": "iso88596",\n- "arabic8": "iso88596",\n- "greek": "iso88597",\n- "greek8": "iso88597",\n- "hebrew": "iso88598",\n- "hebrew8": "iso88598",\n- "turkish": "iso88599",\n- "turkish8": "iso88599",\n- "thai": "iso885911",\n- "thai8": "iso885911",\n- "tis620": "iso885911",\n- "windows874": "iso885911",\n- "win874": "iso885911",\n- "cp874": "iso885911",\n- "celtic": "iso885914",\n- "celtic8": "iso885914",\n- "cp20866": "koi8r",\n- "ibm878": "koi8r",\n- "cp21866": "koi8u",\n- "ibm1168": "koi8u",\n- "windows1250": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xef\xbf\xbd\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xef\xbf\xbd\xe2\x80\xb0\xc5\xa0\xe2\x80\xb9\xc5\x9a\xc5\xa4\xc5\xbd\xc5\xb9\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xef\xbf\xbd\xe2\x84\xa2\xc5\xa1\xe2\x80\xba\xc5\x9b\xc5\xa5\xc5\xbe\xc5\xba\xc2\xa0\xcb\x87\xcb\x98\xc5\x81\xc2\xa4\xc4\x84\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc5\x9e\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc5\xbb\xc2\xb0\xc2\xb1\xcb\x9b\xc5\x82\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc4\x85\xc5\x9f\xc2\xbb\xc4\xbd\xcb\x9d\xc4\xbe\xc5\xbc\xc5\x94\xc3\x81\xc3\x82\xc4\x82\xc3\x84\xc4\xb9\xc4\x86\xc3\x87\xc4\x8c\xc3\x89\xc4\x98\xc3\x8b\xc4\x9a\xc3\x8d\xc3\x8e\xc4\x8e\xc4\x90\xc5\x83\xc5\x87\xc3\x93\xc3\x94\xc5\x90\xc3\x96\xc3\x97\xc5\x98\xc5\xae\xc3\x9a\xc5\xb0\xc3\x9c\xc3\x9d\xc5\xa2\xc3\x9f\xc5\x95\xc3\xa1\xc3\xa2\xc4\x83\xc3\xa4\xc4\xba\xc4\x87\xc3\xa7\xc4\x8d\xc3\xa9\xc4\x99\xc3\xab\xc4\x9b\xc3\xad\xc3\xae\xc4\x8f\xc4\x91\xc5\x84\xc5\x88\xc3\xb3\xc3\xb4\xc5\x91\xc3\xb6\xc3\xb7\xc5\x99\xc5\xaf\xc3\xba\xc5\xb1\xc3\xbc\xc3\xbd\xc5\xa3\xcb\x99"\n- },\n- "win1250": "windows1250",\n- "cp1250": "windows1250",\n- "windows1251": {\n- "type": "singlebyte",\n- "chars": "\xd0\x82\xd0\x83\xe2\x80\x9a\xd1\x93\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xe2\x82\xac\xe2\x80\xb0\xd0\x89\xe2\x80\xb9\xd0\x8a\xd0\x8c\xd0\x8b\xd0\x8f\xd1\x92\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xef\xbf\xbd\xe2\x84\xa2\xd1\x99\xe2\x80\xba\xd1\x9a\xd1\x9c\xd1\x9b\xd1\x9f\xc2\xa0\xd0\x8e\xd1\x9e\xd0\x88\xc2\xa4\xd2\x90\xc2\xa6\xc2\xa7\xd0\x81\xc2\xa9\xd0\x84\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xd0\x87\xc2\xb0\xc2\xb1\xd0\x86\xd1\x96\xd2\x91\xc2\xb5\xc2\xb6\xc2\xb7\xd1\x91\xe2\x84\x96\xd1\x94\xc2\xbb\xd1\x98\xd0\x85\xd1\x95\xd1\x97\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xd1\x8f"\n- },\n- "win1251": "windows1251",\n- "cp1251": "windows1251",\n- "windows1252": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xcb\x86\xe2\x80\xb0\xc5\xa0\xe2\x80\xb9\xc5\x92\xef\xbf\xbd\xc5\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xcb\x9c\xe2\x84\xa2\xc5\xa1\xe2\x80\xba\xc5\x93\xef\xbf\xbd\xc5\xbe\xc5\xb8\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc3\xbf"\n- },\n- "win1252": "windows1252",\n- "cp1252": "windows1252",\n- "windows1253": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xef\xbf\xbd\xe2\x80\xb0\xef\xbf\xbd\xe2\x80\xb9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xef\xbf\xbd\xe2\x84\xa2\xef\xbf\xbd\xe2\x80\xba\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xa0\xce\x85\xce\x86\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xef\xbf\xbd\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xe2\x80\x95\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xce\x84\xc2\xb5\xc2\xb6\xc2\xb7\xce\x88\xce\x89\xce\x8a\xc2\xbb\xce\x8c\xc2\xbd\xce\x8e\xce\x8f\xce\x90\xce\x91\xce\x92\xce\x93\xce\x94\xce\x95\xce\x96\xce\x97\xce\x98\xce\x99\xce\x9a\xce\x9b\xce\x9c\xce\x9d\xce\x9e\xce\x9f\xce\xa0\xce\xa1\xef\xbf\xbd\xce\xa3\xce\xa4\xce\xa5\xce\xa6\xce\xa7\xce\xa8\xce\xa9\xce\xaa\xce\xab\xce\xac\xce\xad\xce\xae\xce\xaf\xce\xb0\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xce\xb5\xce\xb6\xce\xb7\xce\xb8\xce\xb9\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbe\xce\xbf\xcf\x80\xcf\x81\xcf\x82\xcf\x83\xcf\x84\xcf\x85\xcf\x86\xcf\x87\xcf\x88\xcf\x89\xcf\x8a\xcf\x8b\xcf\x8c\xcf\x8d\xcf\x8e\xef\xbf\xbd"\n- },\n- "win1253": "windows1253",\n- "cp1253": "windows1253",\n- "windows1254": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xcb\x86\xe2\x80\xb0\xc5\xa0\xe2\x80\xb9\xc5\x92\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xcb\x9c\xe2\x84\xa2\xc5\xa1\xe2\x80\xba\xc5\x93\xef\xbf\xbd\xef\xbf\xbd\xc5\xb8\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc4\x9e\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc4\xb0\xc5\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc4\x9f\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc4\xb1\xc5\x9f\xc3\xbf"\n- },\n- "win1254": "windows1254",\n- "cp1254": "windows1254",\n- "windows1255": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xcb\x86\xe2\x80\xb0\xef\xbf\xbd\xe2\x80\xb9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xcb\x9c\xe2\x84\xa2\xef\xbf\xbd\xe2\x80\xba\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xe2\x82\xaa\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc3\x97\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc3\xb7\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xd6\xb0\xd6\xb1\xd6\xb2\xd6\xb3\xd6\xb4\xd6\xb5\xd6\xb6\xd6\xb7\xd6\xb8\xd6\xb9\xef\xbf\xbd\xd6\xbb\xd6\xbc\xd6\xbd\xd6\xbe\xd6\xbf\xd7\x80\xd7\x81\xd7\x82\xd7\x83\xd7\xb0\xd7\xb1\xd7\xb2\xd7\xb3\xd7\xb4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd7\x90\xd7\x91\xd7\x92\xd7\x93\xd7\x94\xd7\x95\xd7\x96\xd7\x97\xd7\x98\xd7\x99\xd7\x9a\xd7\x9b\xd7\x9c\xd7\x9d\xd7\x9e\xd7\x9f\xd7\xa0\xd7\xa1\xd7\xa2\xd7\xa3\xd7\xa4\xd7\xa5\xd7\xa6\xd7\xa7\xd7\xa8\xd7\xa9\xd7\xaa\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x8e\xe2\x80\x8f\xef\xbf\xbd"\n- },\n- "win1255": "windows1255",\n- "cp1255": "windows1255",\n- "windows1256": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xd9\xbe\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xcb\x86\xe2\x80\xb0\xd9\xb9\xe2\x80\xb9\xc5\x92\xda\x86\xda\x98\xda\x88\xda\xaf\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xda\xa9\xe2\x84\xa2\xda\x91\xe2\x80\xba\xc5\x93\xe2\x80\x8c\xe2\x80\x8d\xda\xba\xc2\xa0\xd8\x8c\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xda\xbe\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xd8\x9b\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xd8\x9f\xdb\x81\xd8\xa1\xd8\xa2\xd8\xa3\xd8\xa4\xd8\xa5\xd8\xa6\xd8\xa7\xd8\xa8\xd8\xa9\xd8\xaa\xd8\xab\xd8\xac\xd8\xad\xd8\xae\xd8\xaf\xd8\xb0\xd8\xb1\xd8\xb2\xd8\xb3\xd8\xb4\xd8\xb5\xd8\xb6\xc3\x97\xd8\xb7\xd8\xb8\xd8\xb9\xd8\xba\xd9\x80\xd9\x81\xd9\x82\xd9\x83\xc3\xa0\xd9\x84\xc3\xa2\xd9\x85\xd9\x86\xd9\x87\xd9\x88\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xd9\x89\xd9\x8a\xc3\xae\xc3\xaf\xd9\x8b\xd9\x8c\xd9\x8d\xd9\x8e\xc3\xb4\xd9\x8f\xd9\x90\xc3\xb7\xd9\x91\xc3\xb9\xd9\x92\xc3\xbb\xc3\xbc\xe2\x80\x8e\xe2\x80\x8f\xdb\x92"\n- },\n- "win1256": "windows1256",\n- "cp1256": "windows1256",\n- "windows1257": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xef\xbf\xbd\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xef\xbf\xbd\xe2\x80\xb0\xef\xbf\xbd\xe2\x80\xb9\xef\xbf\xbd\xc2\xa8\xcb\x87\xc2\xb8\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xef\xbf\xbd\xe2\x84\xa2\xef\xbf\xbd\xe2\x80\xba\xef\xbf\xbd\xc2\xaf\xcb\x9b\xef\xbf\xbd\xc2\xa0\xef\xbf\xbd\xc2\xa2\xc2\xa3\xc2\xa4\xef\xbf\xbd\xc2\xa6\xc2\xa7\xc3\x98\xc2\xa9\xc5\x96\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc3\x86\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc3\xb8\xc2\xb9\xc5\x97\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc3\xa6\xc4\x84\xc4\xae\xc4\x80\xc4\x86\xc3\x84\xc3\x85\xc4\x98\xc4\x92\xc4\x8c\xc3\x89\xc5\xb9\xc4\x96\xc4\xa2\xc4\xb6\xc4\xaa\xc4\xbb\xc5\xa0\xc5\x83\xc5\x85\xc3\x93\xc5\x8c\xc3\x95\xc3\x96\xc3\x97\xc5\xb2\xc5\x81\xc5\x9a\xc5\xaa\xc3\x9c\xc5\xbb\xc5\xbd\xc3\x9f\xc4\x85\xc4\xaf\xc4\x81\xc4\x87\xc3\xa4\xc3\xa5\xc4\x99\xc4\x93\xc4\x8d\xc3\xa9\xc5\xba\xc4\x97\xc4\xa3\xc4\xb7\xc4\xab\xc4\xbc\xc5\xa1\xc5\x84\xc5\x86\xc3\xb3\xc5\x8d\xc3\xb5\xc3\xb6\xc3\xb7\xc5\xb3\xc5\x82\xc5\x9b\xc5\xab\xc3\xbc\xc5\xbc\xc5\xbe\xcb\x99"\n- },\n- "win1257": "windows1257",\n- "cp1257": "windows1257",\n- "windows1258": {\n- "type": "singlebyte",\n- "chars": "\xe2\x82\xac\xef\xbf\xbd\xe2\x80\x9a\xc6\x92\xe2\x80\x9e\xe2\x80\xa6\xe2\x80\xa0\xe2\x80\xa1\xcb\x86\xe2\x80\xb0\xef\xbf\xbd\xe2\x80\xb9\xc5\x92\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x98\xe2\x80\x99\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\xa2\xe2\x80\x93\xe2\x80\x94\xcb\x9c\xe2\x84\xa2\xef\xbf\xbd\xe2\x80\xba\xc5\x93\xef\xbf\xbd\xef\xbf\xbd\xc5\xb8\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc4\x82\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xcc\x80\xc3\x8d\xc3\x8e\xc3\x8f\xc4\x90\xc3\x91\xcc\x89\xc3\x93\xc3\x94\xc6\xa0\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc6\xaf\xcc\x83\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc4\x83\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xcc\x81\xc3\xad\xc3\xae\xc3\xaf\xc4\x91\xc3\xb1\xcc\xa3\xc3\xb3\xc3\xb4\xc6\xa1\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc6\xb0\xe2\x82\xab\xc3\xbf"\n- },\n- "win1258": "windows1258",\n- "cp1258": "windows1258",\n- "iso88591": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc3\xbf"\n- },\n- "cp28591": "iso88591",\n- "iso88592": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc4\x84\xcb\x98\xc5\x81\xc2\xa4\xc4\xbd\xc5\x9a\xc2\xa7\xc2\xa8\xc5\xa0\xc5\x9e\xc5\xa4\xc5\xb9\xc2\xad\xc5\xbd\xc5\xbb\xc2\xb0\xc4\x85\xcb\x9b\xc5\x82\xc2\xb4\xc4\xbe\xc5\x9b\xcb\x87\xc2\xb8\xc5\xa1\xc5\x9f\xc5\xa5\xc5\xba\xcb\x9d\xc5\xbe\xc5\xbc\xc5\x94\xc3\x81\xc3\x82\xc4\x82\xc3\x84\xc4\xb9\xc4\x86\xc3\x87\xc4\x8c\xc3\x89\xc4\x98\xc3\x8b\xc4\x9a\xc3\x8d\xc3\x8e\xc4\x8e\xc4\x90\xc5\x83\xc5\x87\xc3\x93\xc3\x94\xc5\x90\xc3\x96\xc3\x97\xc5\x98\xc5\xae\xc3\x9a\xc5\xb0\xc3\x9c\xc3\x9d\xc5\xa2\xc3\x9f\xc5\x95\xc3\xa1\xc3\xa2\xc4\x83\xc3\xa4\xc4\xba\xc4\x87\xc3\xa7\xc4\x8d\xc3\xa9\xc4\x99\xc3\xab\xc4\x9b\xc3\xad\xc3\xae\xc4\x8f\xc4\x91\xc5\x84\xc5\x88\xc3\xb3\xc3\xb4\xc5\x91\xc3\xb6\xc3\xb7\xc5\x99\xc5\xaf\xc3\xba\xc5\xb1\xc3\xbc\xc3\xbd\xc5\xa3\xcb\x99"\n- },\n- "cp28592": "iso88592",\n- "iso88593": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc4\xa6\xcb\x98\xc2\xa3\xc2\xa4\xef\xbf\xbd\xc4\xa4\xc2\xa7\xc2\xa8\xc4\xb0\xc5\x9e\xc4\x9e\xc4\xb4\xc2\xad\xef\xbf\xbd\xc5\xbb\xc2\xb0\xc4\xa7\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc4\xa5\xc2\xb7\xc2\xb8\xc4\xb1\xc5\x9f\xc4\x9f\xc4\xb5\xc2\xbd\xef\xbf\xbd\xc5\xbc\xc3\x80\xc3\x81\xc3\x82\xef\xbf\xbd\xc3\x84\xc4\x8a\xc4\x88\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xef\xbf\xbd\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc4\xa0\xc3\x96\xc3\x97\xc4\x9c\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc5\xac\xc5\x9c\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xef\xbf\xbd\xc3\xa4\xc4\x8b\xc4\x89\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xef\xbf\xbd\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc4\xa1\xc3\xb6\xc3\xb7\xc4\x9d\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc5\xad\xc5\x9d\xcb\x99"\n- },\n- "cp28593": "iso88593",\n- "iso88594": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc4\x84\xc4\xb8\xc5\x96\xc2\xa4\xc4\xa8\xc4\xbb\xc2\xa7\xc2\xa8\xc5\xa0\xc4\x92\xc4\xa2\xc5\xa6\xc2\xad\xc5\xbd\xc2\xaf\xc2\xb0\xc4\x85\xcb\x9b\xc5\x97\xc2\xb4\xc4\xa9\xc4\xbc\xcb\x87\xc2\xb8\xc5\xa1\xc4\x93\xc4\xa3\xc5\xa7\xc5\x8a\xc5\xbe\xc5\x8b\xc4\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc4\xae\xc4\x8c\xc3\x89\xc4\x98\xc3\x8b\xc4\x96\xc3\x8d\xc3\x8e\xc4\xaa\xc4\x90\xc5\x85\xc5\x8c\xc4\xb6\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc5\xb2\xc3\x9a\xc3\x9b\xc3\x9c\xc5\xa8\xc5\xaa\xc3\x9f\xc4\x81\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc4\xaf\xc4\x8d\xc3\xa9\xc4\x99\xc3\xab\xc4\x97\xc3\xad\xc3\xae\xc4\xab\xc4\x91\xc5\x86\xc5\x8d\xc4\xb7\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc5\xb3\xc3\xba\xc3\xbb\xc3\xbc\xc5\xa9\xc5\xab\xcb\x99"\n- },\n- "cp28594": "iso88594",\n- "iso88595": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xd0\x81\xd0\x82\xd0\x83\xd0\x84\xd0\x85\xd0\x86\xd0\x87\xd0\x88\xd0\x89\xd0\x8a\xd0\x8b\xd0\x8c\xc2\xad\xd0\x8e\xd0\x8f\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xd1\x8f\xe2\x84\x96\xd1\x91\xd1\x92\xd1\x93\xd1\x94\xd1\x95\xd1\x96\xd1\x97\xd1\x98\xd1\x99\xd1\x9a\xd1\x9b\xd1\x9c\xc2\xa7\xd1\x9e\xd1\x9f"\n- },\n- "cp28595": "iso88595",\n- "iso88596": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xa4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd8\x8c\xc2\xad\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd8\x9b\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd8\x9f\xef\xbf\xbd\xd8\xa1\xd8\xa2\xd8\xa3\xd8\xa4\xd8\xa5\xd8\xa6\xd8\xa7\xd8\xa8\xd8\xa9\xd8\xaa\xd8\xab\xd8\xac\xd8\xad\xd8\xae\xd8\xaf\xd8\xb0\xd8\xb1\xd8\xb2\xd8\xb3\xd8\xb4\xd8\xb5\xd8\xb6\xd8\xb7\xd8\xb8\xd8\xb9\xd8\xba\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd9\x80\xd9\x81\xd9\x82\xd9\x83\xd9\x84\xd9\x85\xd9\x86\xd9\x87\xd9\x88\xd9\x89\xd9\x8a\xd9\x8b\xd9\x8c\xd9\x8d\xd9\x8e\xd9\x8f\xd9\x90\xd9\x91\xd9\x92\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"\n- },\n- "cp28596": "iso88596",\n- "iso88597": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xe2\x80\x98\xe2\x80\x99\xc2\xa3\xe2\x82\xac\xe2\x82\xaf\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xcd\xba\xc2\xab\xc2\xac\xc2\xad\xef\xbf\xbd\xe2\x80\x95\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xce\x84\xce\x85\xce\x86\xc2\xb7\xce\x88\xce\x89\xce\x8a\xc2\xbb\xce\x8c\xc2\xbd\xce\x8e\xce\x8f\xce\x90\xce\x91\xce\x92\xce\x93\xce\x94\xce\x95\xce\x96\xce\x97\xce\x98\xce\x99\xce\x9a\xce\x9b\xce\x9c\xce\x9d\xce\x9e\xce\x9f\xce\xa0\xce\xa1\xef\xbf\xbd\xce\xa3\xce\xa4\xce\xa5\xce\xa6\xce\xa7\xce\xa8\xce\xa9\xce\xaa\xce\xab\xce\xac\xce\xad\xce\xae\xce\xaf\xce\xb0\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xce\xb5\xce\xb6\xce\xb7\xce\xb8\xce\xb9\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbe\xce\xbf\xcf\x80\xcf\x81\xcf\x82\xcf\x83\xcf\x84\xcf\x85\xcf\x86\xcf\x87\xcf\x88\xcf\x89\xcf\x8a\xcf\x8b\xcf\x8c\xcf\x8d\xcf\x8e\xef\xbf\xbd"\n- },\n- "cp28597": "iso88597",\n- "iso88598": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xef\xbf\xbd\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc3\x97\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc3\xb7\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x97\xd7\x90\xd7\x91\xd7\x92\xd7\x93\xd7\x94\xd7\x95\xd7\x96\xd7\x97\xd7\x98\xd7\x99\xd7\x9a\xd7\x9b\xd7\x9c\xd7\x9d\xd7\x9e\xd7\x9f\xd7\xa0\xd7\xa1\xd7\xa2\xd7\xa3\xd7\xa4\xd7\xa5\xd7\xa6\xd7\xa7\xd7\xa8\xd7\xa9\xd7\xaa\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\x8e\xe2\x80\x8f\xef\xbf\xbd"\n- },\n- "cp28598": "iso88598",\n- "iso88599": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc4\x9e\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc4\xb0\xc5\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc4\x9f\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc4\xb1\xc5\x9f\xc3\xbf"\n- },\n- "cp28599": "iso88599",\n- "iso885910": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc4\x84\xc4\x92\xc4\xa2\xc4\xaa\xc4\xa8\xc4\xb6\xc2\xa7\xc4\xbb\xc4\x90\xc5\xa0\xc5\xa6\xc5\xbd\xc2\xad\xc5\xaa\xc5\x8a\xc2\xb0\xc4\x85\xc4\x93\xc4\xa3\xc4\xab\xc4\xa9\xc4\xb7\xc2\xb7\xc4\xbc\xc4\x91\xc5\xa1\xc5\xa7\xc5\xbe\xe2\x80\x95\xc5\xab\xc5\x8b\xc4\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc4\xae\xc4\x8c\xc3\x89\xc4\x98\xc3\x8b\xc4\x96\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc5\x85\xc5\x8c\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc5\xa8\xc3\x98\xc5\xb2\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc4\x81\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc4\xaf\xc4\x8d\xc3\xa9\xc4\x99\xc3\xab\xc4\x97\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc5\x86\xc5\x8d\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc5\xa9\xc3\xb8\xc5\xb3\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc4\xb8"\n- },\n- "cp28600": "iso885910",\n- "iso885911": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xe0\xb8\x81\xe0\xb8\x82\xe0\xb8\x83\xe0\xb8\x84\xe0\xb8\x85\xe0\xb8\x86\xe0\xb8\x87\xe0\xb8\x88\xe0\xb8\x89\xe0\xb8\x8a\xe0\xb8\x8b\xe0\xb8\x8c\xe0\xb8\x8d\xe0\xb8\x8e\xe0\xb8\x8f\xe0\xb8\x90\xe0\xb8\x91\xe0\xb8\x92\xe0\xb8\x93\xe0\xb8\x94\xe0\xb8\x95\xe0\xb8\x96\xe0\xb8\x97\xe0\xb8\x98\xe0\xb8\x99\xe0\xb8\x9a\xe0\xb8\x9b\xe0\xb8\x9c\xe0\xb8\x9d\xe0\xb8\x9e\xe0\xb8\x9f\xe0\xb8\xa0\xe0\xb8\xa1\xe0\xb8\xa2\xe0\xb8\xa3\xe0\xb8\xa4\xe0\xb8\xa5\xe0\xb8\xa6\xe0\xb8\xa7\xe0\xb8\xa8\xe0\xb8\xa9\xe0\xb8\xaa\xe0\xb8\xab\xe0\xb8\xac\xe0\xb8\xad\xe0\xb8\xae\xe0\xb8\xaf\xe0\xb8\xb0\xe0\xb8\xb1\xe0\xb8\xb2\xe0\xb8\xb3\xe0\xb8\xb4\xe0\xb8\xb5\xe0\xb8\xb6\xe0\xb8\xb7\xe0\xb8\xb8\xe0\xb8\xb9\xe0\xb8\xba\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe0\xb8\xbf\xe0\xb9\x80\xe0\xb9\x81\xe0\xb9\x82\xe0\xb9\x83\xe0\xb9\x84\xe0\xb9\x85\xe0\xb9\x86\xe0\xb9\x87\xe0\xb9\x88\xe0\xb9\x89\xe0\xb9\x8a\xe0\xb9\x8b\xe0\xb9\x8c\xe0\xb9\x8d\xe0\xb9\x8e\xe0\xb9\x8f\xe0\xb9\x90\xe0\xb9\x91\xe0\xb9\x92\xe0\xb9\x93\xe0\xb9\x94\xe0\xb9\x95\xe0\xb9\x96\xe0\xb9\x97\xe0\xb9\x98\xe0\xb9\x99\xe0\xb9\x9a\xe0\xb9\x9b\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"\n- },\n- "cp28601": "iso885911",\n- "iso885913": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xe2\x80\x9d\xc2\xa2\xc2\xa3\xc2\xa4\xe2\x80\x9e\xc2\xa6\xc2\xa7\xc3\x98\xc2\xa9\xc5\x96\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc3\x86\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xe2\x80\x9c\xc2\xb5\xc2\xb6\xc2\xb7\xc3\xb8\xc2\xb9\xc5\x97\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc3\xa6\xc4\x84\xc4\xae\xc4\x80\xc4\x86\xc3\x84\xc3\x85\xc4\x98\xc4\x92\xc4\x8c\xc3\x89\xc5\xb9\xc4\x96\xc4\xa2\xc4\xb6\xc4\xaa\xc4\xbb\xc5\xa0\xc5\x83\xc5\x85\xc3\x93\xc5\x8c\xc3\x95\xc3\x96\xc3\x97\xc5\xb2\xc5\x81\xc5\x9a\xc5\xaa\xc3\x9c\xc5\xbb\xc5\xbd\xc3\x9f\xc4\x85\xc4\xaf\xc4\x81\xc4\x87\xc3\xa4\xc3\xa5\xc4\x99\xc4\x93\xc4\x8d\xc3\xa9\xc5\xba\xc4\x97\xc4\xa3\xc4\xb7\xc4\xab\xc4\xbc\xc5\xa1\xc5\x84\xc5\x86\xc3\xb3\xc5\x8d\xc3\xb5\xc3\xb6\xc3\xb7\xc5\xb3\xc5\x82\xc5\x9b\xc5\xab\xc3\xbc\xc5\xbc\xc5\xbe\xe2\x80\x99"\n- },\n- "cp28603": "iso885913",\n- "iso885914": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xe1\xb8\x82\xe1\xb8\x83\xc2\xa3\xc4\x8a\xc4\x8b\xe1\xb8\x8a\xc2\xa7\xe1\xba\x80\xc2\xa9\xe1\xba\x82\xe1\xb8\x8b\xe1\xbb\xb2\xc2\xad\xc2\xae\xc5\xb8\xe1\xb8\x9e\xe1\xb8\x9f\xc4\xa0\xc4\xa1\xe1\xb9\x80\xe1\xb9\x81\xc2\xb6\xe1\xb9\x96\xe1\xba\x81\xe1\xb9\x97\xe1\xba\x83\xe1\xb9\xa0\xe1\xbb\xb3\xe1\xba\x84\xe1\xba\x85\xe1\xb9\xa1\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc5\xb4\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xe1\xb9\xaa\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc5\xb6\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc5\xb5\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xe1\xb9\xab\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc5\xb7\xc3\xbf"\n- },\n- "cp28604": "iso885914",\n- "iso885915": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xe2\x82\xac\xc2\xa5\xc5\xa0\xc2\xa7\xc5\xa1\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc5\xbd\xc2\xb5\xc2\xb6\xc2\xb7\xc5\xbe\xc2\xb9\xc2\xba\xc2\xbb\xc5\x92\xc5\x93\xc5\xb8\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc3\xbf"\n- },\n- "cp28605": "iso885915",\n- "iso885916": {\n- "type": "singlebyte",\n- "chars": "\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc4\x84\xc4\x85\xc5\x81\xe2\x82\xac\xe2\x80\x9e\xc5\xa0\xc2\xa7\xc5\xa1\xc2\xa9\xc8\x98\xc2\xab\xc5\xb9\xc2\xad\xc5\xba\xc5\xbb\xc2\xb0\xc2\xb1\xc4\x8c\xc5\x82\xc5\xbd\xe2\x80\x9d\xc2\xb6\xc2\xb7\xc5\xbe\xc4\x8d\xc8\x99\xc2\xbb\xc5\x92\xc5\x93\xc5\xb8\xc5\xbc\xc3\x80\xc3\x81\xc3\x82\xc4\x82\xc3\x84\xc4\x86\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc4\x90\xc5\x83\xc3\x92\xc3\x93\xc3\x94\xc5\x90\xc3\x96\xc5\x9a\xc5\xb0\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc4\x98\xc8\x9a\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc4\x83\xc3\xa4\xc4\x87\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc4\x91\xc5\x84\xc3\xb2\xc3\xb3\xc3\xb4\xc5\x91\xc3\xb6\xc5\x9b\xc5\xb1\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc4\x99\xc8\x9b\xc3\xbf"\n- },\n- "cp28606": "iso885916",\n- "cp437": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc3\xac\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc3\xbf\xc3\x96\xc3\x9c\xc2\xa2\xc2\xa3\xc2\xa5\xe2\x82\xa7\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm437": "cp437",\n- "cp737": {\n- "type": "singlebyte",\n- "chars": "\xce\x91\xce\x92\xce\x93\xce\x94\xce\x95\xce\x96\xce\x97\xce\x98\xce\x99\xce\x9a\xce\x9b\xce\x9c\xce\x9d\xce\x9e\xce\x9f\xce\xa0\xce\xa1\xce\xa3\xce\xa4\xce\xa5\xce\xa6\xce\xa7\xce\xa8\xce\xa9\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xce\xb5\xce\xb6\xce\xb7\xce\xb8\xce\xb9\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbe\xce\xbf\xcf\x80\xcf\x81\xcf\x83\xcf\x82\xcf\x84\xcf\x85\xcf\x86\xcf\x87\xcf\x88\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xcf\x89\xce\xac\xce\xad\xce\xae\xcf\x8a\xce\xaf\xcf\x8c\xcf\x8d\xcf\x8b\xcf\x8e\xce\x86\xce\x88\xce\x89\xce\x8a\xce\x8c\xce\x8e\xce\x8f\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xce\xaa\xce\xab\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm737": "cp737",\n- "cp775": {\n- "type": "singlebyte",\n- "chars": "\xc4\x86\xc3\xbc\xc3\xa9\xc4\x81\xc3\xa4\xc4\xa3\xc3\xa5\xc4\x87\xc5\x82\xc4\x93\xc5\x96\xc5\x97\xc4\xab\xc5\xb9\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc5\x8d\xc3\xb6\xc4\xa2\xc2\xa2\xc5\x9a\xc5\x9b\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xc3\x97\xc2\xa4\xc4\x80\xc4\xaa\xc3\xb3\xc5\xbb\xc5\xbc\xc5\xba\xe2\x80\x9d\xc2\xa6\xc2\xa9\xc2\xae\xc2\xac\xc2\xbd\xc2\xbc\xc5\x81\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xc4\x84\xc4\x8c\xc4\x98\xc4\x96\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xc4\xae\xc5\xa0\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xc5\xb2\xc5\xaa\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc5\xbd\xc4\x85\xc4\x8d\xc4\x99\xc4\x97\xc4\xaf\xc5\xa1\xc5\xb3\xc5\xab\xc5\xbe\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xc3\x93\xc3\x9f\xc5\x8c\xc5\x83\xc3\xb5\xc3\x95\xc2\xb5\xc5\x84\xc4\xb6\xc4\xb7\xc4\xbb\xc4\xbc\xc5\x86\xc4\x92\xc5\x85\xe2\x80\x99\xc2\xad\xc2\xb1\xe2\x80\x9c\xc2\xbe\xc2\xb6\xc2\xa7\xc3\xb7\xe2\x80\x9e\xc2\xb0\xe2\x88\x99\xc2\xb7\xc2\xb9\xc2\xb3\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm775": "cp775",\n- "cp850": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc3\xac\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc3\xbf\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xc3\x97\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xc2\xae\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xc3\x81\xc3\x82\xc3\x80\xc2\xa9\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xc2\xa2\xc2\xa5\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xc3\xa3\xc3\x83\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc2\xa4\xc3\xb0\xc3\x90\xc3\x8a\xc3\x8b\xc3\x88\xc4\xb1\xc3\x8d\xc3\x8e\xc3\x8f\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xc2\xa6\xc3\x8c\xe2\x96\x80\xc3\x93\xc3\x9f\xc3\x94\xc3\x92\xc3\xb5\xc3\x95\xc2\xb5\xc3\xbe\xc3\x9e\xc3\x9a\xc3\x9b\xc3\x99\xc3\xbd\xc3\x9d\xc2\xaf\xc2\xb4\xc2\xad\xc2\xb1\xe2\x80\x97\xc2\xbe\xc2\xb6\xc2\xa7\xc3\xb7\xc2\xb8\xc2\xb0\xc2\xa8\xc2\xb7\xc2\xb9\xc2\xb3\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm850": "cp850",\n- "cp852": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc5\xaf\xc4\x87\xc3\xa7\xc5\x82\xc3\xab\xc5\x90\xc5\x91\xc3\xae\xc5\xb9\xc3\x84\xc4\x86\xc3\x89\xc4\xb9\xc4\xba\xc3\xb4\xc3\xb6\xc4\xbd\xc4\xbe\xc5\x9a\xc5\x9b\xc3\x96\xc3\x9c\xc5\xa4\xc5\xa5\xc5\x81\xc3\x97\xc4\x8d\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc4\x84\xc4\x85\xc5\xbd\xc5\xbe\xc4\x98\xc4\x99\xc2\xac\xc5\xba\xc4\x8c\xc5\x9f\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xc3\x81\xc3\x82\xc4\x9a\xc5\x9e\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xc5\xbb\xc5\xbc\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xc4\x82\xc4\x83\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc2\xa4\xc4\x91\xc4\x90\xc4\x8e\xc3\x8b\xc4\x8f\xc5\x87\xc3\x8d\xc3\x8e\xc4\x9b\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xc5\xa2\xc5\xae\xe2\x96\x80\xc3\x93\xc3\x9f\xc3\x94\xc5\x83\xc5\x84\xc5\x88\xc5\xa0\xc5\xa1\xc5\x94\xc3\x9a\xc5\x95\xc5\xb0\xc3\xbd\xc3\x9d\xc5\xa3\xc2\xb4\xc2\xad\xcb\x9d\xcb\x9b\xcb\x87\xcb\x98\xc2\xa7\xc3\xb7\xc2\xb8\xc2\xb0\xc2\xa8\xcb\x99\xc5\xb1\xc5\x98\xc5\x99\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm852": "cp852",\n- "cp855": {\n- "type": "singlebyte",\n- "chars": "\xd1\x92\xd0\x82\xd1\x93\xd0\x83\xd1\x91\xd0\x81\xd1\x94\xd0\x84\xd1\x95\xd0\x85\xd1\x96\xd0\x86\xd1\x97\xd0\x87\xd1\x98\xd0\x88\xd1\x99\xd0\x89\xd1\x9a\xd0\x8a\xd1\x9b\xd0\x8b\xd1\x9c\xd0\x8c\xd1\x9e\xd0\x8e\xd1\x9f\xd0\x8f\xd1\x8e\xd0\xae\xd1\x8a\xd0\xaa\xd0\xb0\xd0\x90\xd0\xb1\xd0\x91\xd1\x86\xd0\xa6\xd0\xb4\xd0\x94\xd0\xb5\xd0\x95\xd1\x84\xd0\xa4\xd0\xb3\xd0\x93\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xd1\x85\xd0\xa5\xd0\xb8\xd0\x98\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xd0\xb9\xd0\x99\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xd0\xba\xd0\x9a\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc2\xa4\xd0\xbb\xd0\x9b\xd0\xbc\xd0\x9c\xd0\xbd\xd0\x9d\xd0\xbe\xd0\x9e\xd0\xbf\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xd0\x9f\xd1\x8f\xe2\x96\x80\xd0\xaf\xd1\x80\xd0\xa0\xd1\x81\xd0\xa1\xd1\x82\xd0\xa2\xd1\x83\xd0\xa3\xd0\xb6\xd0\x96\xd0\xb2\xd0\x92\xd1\x8c\xd0\xac\xe2\x84\x96\xc2\xad\xd1\x8b\xd0\xab\xd0\xb7\xd0\x97\xd1\x88\xd0\xa8\xd1\x8d\xd0\xad\xd1\x89\xd0\xa9\xd1\x87\xd0\xa7\xc2\xa7\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm855": "cp855",\n- "cp857": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc4\xb1\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc4\xb0\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xc5\x9e\xc5\x9f\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc4\x9e\xc4\x9f\xc2\xbf\xc2\xae\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xc3\x81\xc3\x82\xc3\x80\xc2\xa9\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xc2\xa2\xc2\xa5\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xc3\xa3\xc3\x83\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc2\xa4\xc2\xba\xc2\xaa\xc3\x8a\xc3\x8b\xc3\x88\xef\xbf\xbd\xc3\x8d\xc3\x8e\xc3\x8f\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xc2\xa6\xc3\x8c\xe2\x96\x80\xc3\x93\xc3\x9f\xc3\x94\xc3\x92\xc3\xb5\xc3\x95\xc2\xb5\xef\xbf\xbd\xc3\x97\xc3\x9a\xc3\x9b\xc3\x99\xc3\xac\xc3\xbf\xc2\xaf\xc2\xb4\xc2\xad\xc2\xb1\xef\xbf\xbd\xc2\xbe\xc2\xb6\xc2\xa7\xc3\xb7\xc2\xb8\xc2\xb0\xc2\xa8\xc2\xb7\xc2\xb9\xc2\xb3\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm857": "cp857",\n- "cp858": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc3\xac\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc3\xbf\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xc3\x97\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xc2\xae\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xc3\x81\xc3\x82\xc3\x80\xc2\xa9\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xc2\xa2\xc2\xa5\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xc3\xa3\xc3\x83\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xc2\xa4\xc3\xb0\xc3\x90\xc3\x8a\xc3\x8b\xc3\x88\xe2\x82\xac\xc3\x8d\xc3\x8e\xc3\x8f\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xc2\xa6\xc3\x8c\xe2\x96\x80\xc3\x93\xc3\x9f\xc3\x94\xc3\x92\xc3\xb5\xc3\x95\xc2\xb5\xc3\xbe\xc3\x9e\xc3\x9a\xc3\x9b\xc3\x99\xc3\xbd\xc3\x9d\xc2\xaf\xc2\xb4\xc2\xad\xc2\xb1\xe2\x80\x97\xc2\xbe\xc2\xb6\xc2\xa7\xc3\xb7\xc2\xb8\xc2\xb0\xc2\xa8\xc2\xb7\xc2\xb9\xc2\xb3\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm858": "cp858",\n- "cp860": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa3\xc3\xa0\xc3\x81\xc3\xa7\xc3\xaa\xc3\x8a\xc3\xa8\xc3\x8d\xc3\x94\xc3\xac\xc3\x83\xc3\x82\xc3\x89\xc3\x80\xc3\x88\xc3\xb4\xc3\xb5\xc3\xb2\xc3\x9a\xc3\xb9\xc3\x8c\xc3\x95\xc3\x9c\xc2\xa2\xc2\xa3\xc3\x99\xe2\x82\xa7\xc3\x93\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xc3\x92\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm860": "cp860",\n- "cp861": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\x90\xc3\xb0\xc3\x9e\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xbe\xc3\xbb\xc3\x9d\xc3\xbd\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xe2\x82\xa7\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\x81\xc3\x8d\xc3\x93\xc3\x9a\xc2\xbf\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm861": "cp861",\n- "cp862": {\n- "type": "singlebyte",\n- "chars": "\xd7\x90\xd7\x91\xd7\x92\xd7\x93\xd7\x94\xd7\x95\xd7\x96\xd7\x97\xd7\x98\xd7\x99\xd7\x9a\xd7\x9b\xd7\x9c\xd7\x9d\xd7\x9e\xd7\x9f\xd7\xa0\xd7\xa1\xd7\xa2\xd7\xa3\xd7\xa4\xd7\xa5\xd7\xa6\xd7\xa7\xd7\xa8\xd7\xa9\xd7\xaa\xc2\xa2\xc2\xa3\xc2\xa5\xe2\x82\xa7\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm862": "cp862",\n- "cp863": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\x82\xc3\xa0\xc2\xb6\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xe2\x80\x97\xc3\x80\xc2\xa7\xc3\x89\xc3\x88\xc3\x8a\xc3\xb4\xc3\x8b\xc3\x8f\xc3\xbb\xc3\xb9\xc2\xa4\xc3\x94\xc3\x9c\xc2\xa2\xc2\xa3\xc3\x99\xc3\x9b\xc6\x92\xc2\xa6\xc2\xb4\xc3\xb3\xc3\xba\xc2\xa8\xc2\xb8\xc2\xb3\xc2\xaf\xc3\x8e\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xbe\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm863": "cp863",\n- "cp864": {\n- "type": "singlebyte",\n- "chars": "\xc2\xb0\xc2\xb7\xe2\x88\x99\xe2\x88\x9a\xe2\x96\x92\xe2\x94\x80\xe2\x94\x82\xe2\x94\xbc\xe2\x94\xa4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\xb4\xe2\x94\x90\xe2\x94\x8c\xe2\x94\x94\xe2\x94\x98\xce\xb2\xe2\x88\x9e\xcf\x86\xc2\xb1\xc2\xbd\xc2\xbc\xe2\x89\x88\xc2\xab\xc2\xbb\xef\xbb\xb7\xef\xbb\xb8\xef\xbf\xbd\xef\xbf\xbd\xef\xbb\xbb\xef\xbb\xbc\xef\xbf\xbd\xc2\xa0\xc2\xad\xef\xba\x82\xc2\xa3\xc2\xa4\xef\xba\x84\xef\xbf\xbd\xef\xbf\xbd\xef\xba\x8e\xef\xba\x8f\xef\xba\x95\xef\xba\x99\xd8\x8c\xef\xba\x9d\xef\xba\xa1\xef\xba\xa5\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xa7\xd9\xa8\xd9\xa9\xef\xbb\x91\xd8\x9b\xef\xba\xb1\xef\xba\xb5\xef\xba\xb9\xd8\x9f\xc2\xa2\xef\xba\x80\xef\xba\x81\xef\xba\x83\xef\xba\x85\xef\xbb\x8a\xef\xba\x8b\xef\xba\x8d\xef\xba\x91\xef\xba\x93\xef\xba\x97\xef\xba\x9b\xef\xba\x9f\xef\xba\xa3\xef\xba\xa7\xef\xba\xa9\xef\xba\xab\xef\xba\xad\xef\xba\xaf\xef\xba\xb3\xef\xba\xb7\xef\xba\xbb\xef\xba\xbf\xef\xbb\x81\xef\xbb\x85\xef\xbb\x8b\xef\xbb\x8f\xc2\xa6\xc2\xac\xc3\xb7\xc3\x97\xef\xbb\x89\xd9\x80\xef\xbb\x93\xef\xbb\x97\xef\xbb\x9b\xef\xbb\x9f\xef\xbb\xa3\xef\xbb\xa7\xef\xbb\xab\xef\xbb\xad\xef\xbb\xaf\xef\xbb\xb3\xef\xba\xbd\xef\xbb\x8c\xef\xbb\x8e\xef\xbb\x8d\xef\xbb\xa1\xef\xb9\xbd\xd9\x91\xef\xbb\xa5\xef\xbb\xa9\xef\xbb\xac\xef\xbb\xb0\xef\xbb\xb2\xef\xbb\x90\xef\xbb\x95\xef\xbb\xb5\xef\xbb\xb6\xef\xbb\x9d\xef\xbb\x99\xef\xbb\xb1\xe2\x96\xa0\xef\xbf\xbd"\n- },\n- "ibm864": "cp864",\n- "cp865": {\n- "type": "singlebyte",\n- "chars": "\xc3\x87\xc3\xbc\xc3\xa9\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa5\xc3\xa7\xc3\xaa\xc3\xab\xc3\xa8\xc3\xaf\xc3\xae\xc3\xac\xc3\x84\xc3\x85\xc3\x89\xc3\xa6\xc3\x86\xc3\xb4\xc3\xb6\xc3\xb2\xc3\xbb\xc3\xb9\xc3\xbf\xc3\x96\xc3\x9c\xc3\xb8\xc2\xa3\xc3\x98\xe2\x82\xa7\xc6\x92\xc3\xa1\xc3\xad\xc3\xb3\xc3\xba\xc3\xb1\xc3\x91\xc2\xaa\xc2\xba\xc2\xbf\xe2\x8c\x90\xc2\xac\xc2\xbd\xc2\xbc\xc2\xa1\xc2\xab\xc2\xa4\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xce\xb1\xc3\x9f\xce\x93\xcf\x80\xce\xa3\xcf\x83\xc2\xb5\xcf\x84\xce\xa6\xce\x98\xce\xa9\xce\xb4\xe2\x88\x9e\xcf\x86\xce\xb5\xe2\x88\xa9\xe2\x89\xa1\xc2\xb1\xe2\x89\xa5\xe2\x89\xa4\xe2\x8c\xa0\xe2\x8c\xa1\xc3\xb7\xe2\x89\x88\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x81\xbf\xc2\xb2\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm865": "cp865",\n- "cp866": {\n- "type": "singlebyte",\n- "chars": "\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\x96\xe2\x95\x95\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xe2\x95\x9c\xe2\x95\x9b\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\x99\xe2\x95\x98\xe2\x95\x92\xe2\x95\x93\xe2\x95\xab\xe2\x95\xaa\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x80\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xd1\x8f\xd0\x81\xd1\x91\xd0\x84\xd1\x94\xd0\x87\xd1\x97\xd0\x8e\xd1\x9e\xc2\xb0\xe2\x88\x99\xc2\xb7\xe2\x88\x9a\xe2\x84\x96\xc2\xa4\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm866": "cp866",\n- "cp869": {\n- "type": "singlebyte",\n- "chars": "\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xce\x86\xef\xbf\xbd\xc2\xb7\xc2\xac\xc2\xa6\xe2\x80\x98\xe2\x80\x99\xce\x88\xe2\x80\x95\xce\x89\xce\x8a\xce\xaa\xce\x8c\xef\xbf\xbd\xef\xbf\xbd\xce\x8e\xce\xab\xc2\xa9\xce\x8f\xc2\xb2\xc2\xb3\xce\xac\xc2\xa3\xce\xad\xce\xae\xce\xaf\xcf\x8a\xce\x90\xcf\x8c\xcf\x8d\xce\x91\xce\x92\xce\x93\xce\x94\xce\x95\xce\x96\xce\x97\xc2\xbd\xce\x98\xce\x99\xc2\xab\xc2\xbb\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x94\x82\xe2\x94\xa4\xce\x9a\xce\x9b\xce\x9c\xce\x9d\xe2\x95\xa3\xe2\x95\x91\xe2\x95\x97\xe2\x95\x9d\xce\x9e\xce\x9f\xe2\x94\x90\xe2\x94\x94\xe2\x94\xb4\xe2\x94\xac\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xbc\xce\xa0\xce\xa1\xe2\x95\x9a\xe2\x95\x94\xe2\x95\xa9\xe2\x95\xa6\xe2\x95\xa0\xe2\x95\x90\xe2\x95\xac\xce\xa3\xce\xa4\xce\xa5\xce\xa6\xce\xa7\xce\xa8\xce\xa9\xce\xb1\xce\xb2\xce\xb3\xe2\x94\x98\xe2\x94\x8c\xe2\x96\x88\xe2\x96\x84\xce\xb4\xce\xb5\xe2\x96\x80\xce\xb6\xce\xb7\xce\xb8\xce\xb9\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbe\xce\xbf\xcf\x80\xcf\x81\xcf\x83\xcf\x82\xcf\x84\xce\x84\xc2\xad\xc2\xb1\xcf\x85\xcf\x86\xcf\x87\xc2\xa7\xcf\x88\xce\x85\xc2\xb0\xc2\xa8\xcf\x89\xcf\x8b\xce\xb0\xcf\x8e\xe2\x96\xa0\xc2\xa0"\n- },\n- "ibm869": "cp869",\n- "maccenteuro": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc4\x80\xc4\x81\xc3\x89\xc4\x84\xc3\x96\xc3\x9c\xc3\xa1\xc4\x85\xc4\x8c\xc3\xa4\xc4\x8d\xc4\x86\xc4\x87\xc3\xa9\xc5\xb9\xc5\xba\xc4\x8e\xc3\xad\xc4\x8f\xc4\x92\xc4\x93\xc4\x96\xc3\xb3\xc4\x97\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc4\x9a\xc4\x9b\xc3\xbc\xe2\x80\xa0\xc2\xb0\xc4\x98\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc2\xa9\xe2\x84\xa2\xc4\x99\xc2\xa8\xe2\x89\xa0\xc4\xa3\xc4\xae\xc4\xaf\xc4\xaa\xe2\x89\xa4\xe2\x89\xa5\xc4\xab\xc4\xb6\xe2\x88\x82\xe2\x88\x91\xc5\x82\xc4\xbb\xc4\xbc\xc4\xbd\xc4\xbe\xc4\xb9\xc4\xba\xc5\x85\xc5\x86\xc5\x83\xc2\xac\xe2\x88\x9a\xc5\x84\xc5\x87\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xc5\x88\xc5\x90\xc3\x95\xc5\x91\xc5\x8c\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xc5\x8d\xc5\x94\xc5\x95\xc5\x98\xe2\x80\xb9\xe2\x80\xba\xc5\x99\xc5\x96\xc5\x97\xc5\xa0\xe2\x80\x9a\xe2\x80\x9e\xc5\xa1\xc5\x9a\xc5\x9b\xc3\x81\xc5\xa4\xc5\xa5\xc3\x8d\xc5\xbd\xc5\xbe\xc5\xaa\xc3\x93\xc3\x94\xc5\xab\xc5\xae\xc3\x9a\xc5\xaf\xc5\xb0\xc5\xb1\xc5\xb2\xc5\xb3\xc3\x9d\xc3\xbd\xc4\xb7\xc5\xbb\xc5\x81\xc5\xbc\xc4\xa2\xcb\x87"\n- },\n- "maccroatian": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc3\x85\xc3\x87\xc3\x89\xc3\x91\xc3\x96\xc3\x9c\xc3\xa1\xc3\xa0\xc3\xa2\xc3\xa4\xc3\xa3\xc3\xa5\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xad\xc3\xac\xc3\xae\xc3\xaf\xc3\xb1\xc3\xb3\xc3\xb2\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc3\xb9\xc3\xbb\xc3\xbc\xe2\x80\xa0\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc5\xa0\xe2\x84\xa2\xc2\xb4\xc2\xa8\xe2\x89\xa0\xc5\xbd\xc3\x98\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xe2\x88\x86\xc2\xb5\xe2\x88\x82\xe2\x88\x91\xe2\x88\x8f\xc5\xa1\xe2\x88\xab\xc2\xaa\xc2\xba\xe2\x84\xa6\xc5\xbe\xc3\xb8\xc2\xbf\xc2\xa1\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xc4\x86\xc2\xab\xc4\x8c\xe2\x80\xa6\xc2\xa0\xc3\x80\xc3\x83\xc3\x95\xc5\x92\xc5\x93\xc4\x90\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xef\xbf\xbd\xc2\xa9\xe2\x81\x84\xc2\xa4\xe2\x80\xb9\xe2\x80\xba\xc3\x86\xc2\xbb\xe2\x80\x93\xc2\xb7\xe2\x80\x9a\xe2\x80\x9e\xe2\x80\xb0\xc3\x82\xc4\x87\xc3\x81\xc4\x8d\xc3\x88\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x8c\xc3\x93\xc3\x94\xc4\x91\xc3\x92\xc3\x9a\xc3\x9b\xc3\x99\xc4\xb1\xcb\x86\xcb\x9c\xc2\xaf\xcf\x80\xc3\x8b\xcb\x9a\xc2\xb8\xc3\x8a\xc3\xa6\xcb\x87"\n- },\n- "maccyrillic": {\n- "type": "singlebyte",\n- "chars": "\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf\xe2\x80\xa0\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xd0\x86\xc2\xae\xc2\xa9\xe2\x84\xa2\xd0\x82\xd1\x92\xe2\x89\xa0\xd0\x83\xd1\x93\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xd1\x96\xc2\xb5\xe2\x88\x82\xd0\x88\xd0\x84\xd1\x94\xd0\x87\xd1\x97\xd0\x89\xd1\x99\xd0\x8a\xd1\x9a\xd1\x98\xd0\x85\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xd0\x8b\xd1\x9b\xd0\x8c\xd1\x9c\xd1\x95\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x80\x9e\xd0\x8e\xd1\x9e\xd0\x8f\xd1\x9f\xe2\x84\x96\xd0\x81\xd1\x91\xd1\x8f\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xc2\xa4"\n- },\n- "macgreek": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc2\xb9\xc2\xb2\xc3\x89\xc2\xb3\xc3\x96\xc3\x9c\xce\x85\xc3\xa0\xc3\xa2\xc3\xa4\xce\x84\xc2\xa8\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc2\xa3\xe2\x84\xa2\xc3\xae\xc3\xaf\xe2\x80\xa2\xc2\xbd\xe2\x80\xb0\xc3\xb4\xc3\xb6\xc2\xa6\xc2\xad\xc3\xb9\xc3\xbb\xc3\xbc\xe2\x80\xa0\xce\x93\xce\x94\xce\x98\xce\x9b\xce\x9e\xce\xa0\xc3\x9f\xc2\xae\xc2\xa9\xce\xa3\xce\xaa\xc2\xa7\xe2\x89\xa0\xc2\xb0\xce\x87\xce\x91\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xc2\xa5\xce\x92\xce\x95\xce\x96\xce\x97\xce\x99\xce\x9a\xce\x9c\xce\xa6\xce\xab\xce\xa8\xce\xa9\xce\xac\xce\x9d\xc2\xac\xce\x9f\xce\xa1\xe2\x89\x88\xce\xa4\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xce\xa5\xce\xa7\xce\x86\xce\x88\xc5\x93\xe2\x80\x93\xe2\x80\x95\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xce\x89\xce\x8a\xce\x8c\xce\x8e\xce\xad\xce\xae\xce\xaf\xcf\x8c\xce\x8f\xcf\x8d\xce\xb1\xce\xb2\xcf\x88\xce\xb4\xce\xb5\xcf\x86\xce\xb3\xce\xb7\xce\xb9\xce\xbe\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbf\xcf\x80\xcf\x8e\xcf\x81\xcf\x83\xcf\x84\xce\xb8\xcf\x89\xcf\x82\xcf\x87\xcf\x85\xce\xb6\xcf\x8a\xcf\x8b\xce\x90\xce\xb0\xef\xbf\xbd"\n- },\n- "maciceland": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc3\x85\xc3\x87\xc3\x89\xc3\x91\xc3\x96\xc3\x9c\xc3\xa1\xc3\xa0\xc3\xa2\xc3\xa4\xc3\xa3\xc3\xa5\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xad\xc3\xac\xc3\xae\xc3\xaf\xc3\xb1\xc3\xb3\xc3\xb2\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc3\xb9\xc3\xbb\xc3\xbc\xc3\x9d\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc2\xa9\xe2\x84\xa2\xc2\xb4\xc2\xa8\xe2\x89\xa0\xc3\x86\xc3\x98\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xc2\xa5\xc2\xb5\xe2\x88\x82\xe2\x88\x91\xe2\x88\x8f\xcf\x80\xe2\x88\xab\xc2\xaa\xc2\xba\xe2\x84\xa6\xc3\xa6\xc3\xb8\xc2\xbf\xc2\xa1\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xc3\x80\xc3\x83\xc3\x95\xc5\x92\xc5\x93\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xc3\xbf\xc5\xb8\xe2\x81\x84\xc2\xa4\xc3\x90\xc3\xb0\xc3\x9e\xc3\xbe\xc3\xbd\xc2\xb7\xe2\x80\x9a\xe2\x80\x9e\xe2\x80\xb0\xc3\x82\xc3\x8a\xc3\x81\xc3\x8b\xc3\x88\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x8c\xc3\x93\xc3\x94\xef\xbf\xbd\xc3\x92\xc3\x9a\xc3\x9b\xc3\x99\xc4\xb1\xcb\x86\xcb\x9c\xc2\xaf\xcb\x98\xcb\x99\xcb\x9a\xc2\xb8\xcb\x9d\xcb\x9b\xcb\x87"\n- },\n- "macroman": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc3\x85\xc3\x87\xc3\x89\xc3\x91\xc3\x96\xc3\x9c\xc3\xa1\xc3\xa0\xc3\xa2\xc3\xa4\xc3\xa3\xc3\xa5\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xad\xc3\xac\xc3\xae\xc3\xaf\xc3\xb1\xc3\xb3\xc3\xb2\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc3\xb9\xc3\xbb\xc3\xbc\xe2\x80\xa0\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc2\xa9\xe2\x84\xa2\xc2\xb4\xc2\xa8\xe2\x89\xa0\xc3\x86\xc3\x98\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xc2\xa5\xc2\xb5\xe2\x88\x82\xe2\x88\x91\xe2\x88\x8f\xcf\x80\xe2\x88\xab\xc2\xaa\xc2\xba\xe2\x84\xa6\xc3\xa6\xc3\xb8\xc2\xbf\xc2\xa1\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xc3\x80\xc3\x83\xc3\x95\xc5\x92\xc5\x93\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xc3\xbf\xc5\xb8\xe2\x81\x84\xc2\xa4\xe2\x80\xb9\xe2\x80\xba\xef\xac\x81\xef\xac\x82\xe2\x80\xa1\xc2\xb7\xe2\x80\x9a\xe2\x80\x9e\xe2\x80\xb0\xc3\x82\xc3\x8a\xc3\x81\xc3\x8b\xc3\x88\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x8c\xc3\x93\xc3\x94\xef\xbf\xbd\xc3\x92\xc3\x9a\xc3\x9b\xc3\x99\xc4\xb1\xcb\x86\xcb\x9c\xc2\xaf\xcb\x98\xcb\x99\xcb\x9a\xc2\xb8\xcb\x9d\xcb\x9b\xcb\x87"\n- },\n- "macromania": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc3\x85\xc3\x87\xc3\x89\xc3\x91\xc3\x96\xc3\x9c\xc3\xa1\xc3\xa0\xc3\xa2\xc3\xa4\xc3\xa3\xc3\xa5\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xad\xc3\xac\xc3\xae\xc3\xaf\xc3\xb1\xc3\xb3\xc3\xb2\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc3\xb9\xc3\xbb\xc3\xbc\xe2\x80\xa0\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc2\xa9\xe2\x84\xa2\xc2\xb4\xc2\xa8\xe2\x89\xa0\xc4\x82\xc5\x9e\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xc2\xa5\xc2\xb5\xe2\x88\x82\xe2\x88\x91\xe2\x88\x8f\xcf\x80\xe2\x88\xab\xc2\xaa\xc2\xba\xe2\x84\xa6\xc4\x83\xc5\x9f\xc2\xbf\xc2\xa1\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xc3\x80\xc3\x83\xc3\x95\xc5\x92\xc5\x93\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xc3\xbf\xc5\xb8\xe2\x81\x84\xc2\xa4\xe2\x80\xb9\xe2\x80\xba\xc5\xa2\xc5\xa3\xe2\x80\xa1\xc2\xb7\xe2\x80\x9a\xe2\x80\x9e\xe2\x80\xb0\xc3\x82\xc3\x8a\xc3\x81\xc3\x8b\xc3\x88\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x8c\xc3\x93\xc3\x94\xef\xbf\xbd\xc3\x92\xc3\x9a\xc3\x9b\xc3\x99\xc4\xb1\xcb\x86\xcb\x9c\xc2\xaf\xcb\x98\xcb\x99\xcb\x9a\xc2\xb8\xcb\x9d\xcb\x9b\xcb\x87"\n- },\n- "macthai": {\n- "type": "singlebyte",\n- "chars": "\xc2\xab\xc2\xbb\xe2\x80\xa6\xef\xa2\x8c\xef\xa2\x8f\xef\xa2\x92\xef\xa2\x95\xef\xa2\x98\xef\xa2\x8b\xef\xa2\x8e\xef\xa2\x91\xef\xa2\x94\xef\xa2\x97\xe2\x80\x9c\xe2\x80\x9d\xef\xa2\x99\xef\xbf\xbd\xe2\x80\xa2\xef\xa2\x84\xef\xa2\x89\xef\xa2\x85\xef\xa2\x86\xef\xa2\x87\xef\xa2\x88\xef\xa2\x8a\xef\xa2\x8d\xef\xa2\x90\xef\xa2\x93\xef\xa2\x96\xe2\x80\x98\xe2\x80\x99\xef\xbf\xbd\xc2\xa0\xe0\xb8\x81\xe0\xb8\x82\xe0\xb8\x83\xe0\xb8\x84\xe0\xb8\x85\xe0\xb8\x86\xe0\xb8\x87\xe0\xb8\x88\xe0\xb8\x89\xe0\xb8\x8a\xe0\xb8\x8b\xe0\xb8\x8c\xe0\xb8\x8d\xe0\xb8\x8e\xe0\xb8\x8f\xe0\xb8\x90\xe0\xb8\x91\xe0\xb8\x92\xe0\xb8\x93\xe0\xb8\x94\xe0\xb8\x95\xe0\xb8\x96\xe0\xb8\x97\xe0\xb8\x98\xe0\xb8\x99\xe0\xb8\x9a\xe0\xb8\x9b\xe0\xb8\x9c\xe0\xb8\x9d\xe0\xb8\x9e\xe0\xb8\x9f\xe0\xb8\xa0\xe0\xb8\xa1\xe0\xb8\xa2\xe0\xb8\xa3\xe0\xb8\xa4\xe0\xb8\xa5\xe0\xb8\xa6\xe0\xb8\xa7\xe0\xb8\xa8\xe0\xb8\xa9\xe0\xb8\xaa\xe0\xb8\xab\xe0\xb8\xac\xe0\xb8\xad\xe0\xb8\xae\xe0\xb8\xaf\xe0\xb8\xb0\xe0\xb8\xb1\xe0\xb8\xb2\xe0\xb8\xb3\xe0\xb8\xb4\xe0\xb8\xb5\xe0\xb8\xb6\xe0\xb8\xb7\xe0\xb8\xb8\xe0\xb8\xb9\xe0\xb8\xba\xef\xbb\xbf\xe2\x80\x8b\xe2\x80\x93\xe2\x80\x94\xe0\xb8\xbf\xe0\xb9\x80\xe0\xb9\x81\xe0\xb9\x82\xe0\xb9\x83\xe0\xb9\x84\xe0\xb9\x85\xe0\xb9\x86\xe0\xb9\x87\xe0\xb9\x88\xe0\xb9\x89\xe0\xb9\x8a\xe0\xb9\x8b\xe0\xb9\x8c\xe0\xb9\x8d\xe2\x84\xa2\xe0\xb9\x8f\xe0\xb9\x90\xe0\xb9\x91\xe0\xb9\x92\xe0\xb9\x93\xe0\xb9\x94\xe0\xb9\x95\xe0\xb9\x96\xe0\xb9\x97\xe0\xb9\x98\xe0\xb9\x99\xc2\xae\xc2\xa9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"\n- },\n- "macturkish": {\n- "type": "singlebyte",\n- "chars": "\xc3\x84\xc3\x85\xc3\x87\xc3\x89\xc3\x91\xc3\x96\xc3\x9c\xc3\xa1\xc3\xa0\xc3\xa2\xc3\xa4\xc3\xa3\xc3\xa5\xc3\xa7\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xad\xc3\xac\xc3\xae\xc3\xaf\xc3\xb1\xc3\xb3\xc3\xb2\xc3\xb4\xc3\xb6\xc3\xb5\xc3\xba\xc3\xb9\xc3\xbb\xc3\xbc\xe2\x80\xa0\xc2\xb0\xc2\xa2\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xc3\x9f\xc2\xae\xc2\xa9\xe2\x84\xa2\xc2\xb4\xc2\xa8\xe2\x89\xa0\xc3\x86\xc3\x98\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xc2\xa5\xc2\xb5\xe2\x88\x82\xe2\x88\x91\xe2\x88\x8f\xcf\x80\xe2\x88\xab\xc2\xaa\xc2\xba\xe2\x84\xa6\xc3\xa6\xc3\xb8\xc2\xbf\xc2\xa1\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xc3\x80\xc3\x83\xc3\x95\xc5\x92\xc5\x93\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x97\x8a\xc3\xbf\xc5\xb8\xc4\x9e\xc4\x9f\xc4\xb0\xc4\xb1\xc5\x9e\xc5\x9f\xe2\x80\xa1\xc2\xb7\xe2\x80\x9a\xe2\x80\x9e\xe2\x80\xb0\xc3\x82\xc3\x8a\xc3\x81\xc3\x8b\xc3\x88\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x8c\xc3\x93\xc3\x94\xef\xbf\xbd\xc3\x92\xc3\x9a\xc3\x9b\xc3\x99\xef\xbf\xbd\xcb\x86\xcb\x9c\xc2\xaf\xcb\x98\xcb\x99\xcb\x9a\xc2\xb8\xcb\x9d\xcb\x9b\xcb\x87"\n- },\n- "macukraine": {\n- "type": "singlebyte",\n- "chars": "\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf\xe2\x80\xa0\xc2\xb0\xd2\x90\xc2\xa3\xc2\xa7\xe2\x80\xa2\xc2\xb6\xd0\x86\xc2\xae\xc2\xa9\xe2\x84\xa2\xd0\x82\xd1\x92\xe2\x89\xa0\xd0\x83\xd1\x93\xe2\x88\x9e\xc2\xb1\xe2\x89\xa4\xe2\x89\xa5\xd1\x96\xc2\xb5\xd2\x91\xd0\x88\xd0\x84\xd1\x94\xd0\x87\xd1\x97\xd0\x89\xd1\x99\xd0\x8a\xd1\x9a\xd1\x98\xd0\x85\xc2\xac\xe2\x88\x9a\xc6\x92\xe2\x89\x88\xe2\x88\x86\xc2\xab\xc2\xbb\xe2\x80\xa6\xc2\xa0\xd0\x8b\xd1\x9b\xd0\x8c\xd1\x9c\xd1\x95\xe2\x80\x93\xe2\x80\x94\xe2\x80\x9c\xe2\x80\x9d\xe2\x80\x98\xe2\x80\x99\xc3\xb7\xe2\x80\x9e\xd0\x8e\xd1\x9e\xd0\x8f\xd1\x9f\xe2\x84\x96\xd0\x81\xd1\x91\xd1\x8f\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xc2\xa4"\n- },\n- "koi8r": {\n- "type": "singlebyte",\n- "chars": "\xe2\x94\x80\xe2\x94\x82\xe2\x94\x8c\xe2\x94\x90\xe2\x94\x94\xe2\x94\x98\xe2\x94\x9c\xe2\x94\xa4\xe2\x94\xac\xe2\x94\xb4\xe2\x94\xbc\xe2\x96\x80\xe2\x96\x84\xe2\x96\x88\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x8c\xa0\xe2\x96\xa0\xe2\x88\x99\xe2\x88\x9a\xe2\x89\x88\xe2\x89\xa4\xe2\x89\xa5\xc2\xa0\xe2\x8c\xa1\xc2\xb0\xc2\xb2\xc2\xb7\xc3\xb7\xe2\x95\x90\xe2\x95\x91\xe2\x95\x92\xd1\x91\xe2\x95\x93\xe2\x95\x94\xe2\x95\x95\xe2\x95\x96\xe2\x95\x97\xe2\x95\x98\xe2\x95\x99\xe2\x95\x9a\xe2\x95\x9b\xe2\x95\x9c\xe2\x95\x9d\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\xa0\xe2\x95\xa1\xd0\x81\xe2\x95\xa2\xe2\x95\xa3\xe2\x95\xa4\xe2\x95\xa5\xe2\x95\xa6\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa9\xe2\x95\xaa\xe2\x95\xab\xe2\x95\xac\xc2\xa9\xd1\x8e\xd0\xb0\xd0\xb1\xd1\x86\xd0\xb4\xd0\xb5\xd1\x84\xd0\xb3\xd1\x85\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x8f\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd0\xb6\xd0\xb2\xd1\x8c\xd1\x8b\xd0\xb7\xd1\x88\xd1\x8d\xd1\x89\xd1\x87\xd1\x8a\xd0\xae\xd0\x90\xd0\x91\xd0\xa6\xd0\x94\xd0\x95\xd0\xa4\xd0\x93\xd0\xa5\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xaf\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\x96\xd0\x92\xd0\xac\xd0\xab\xd0\x97\xd0\xa8\xd0\xad\xd0\xa9\xd0\xa7\xd0\xaa"\n- },\n- "koi8u": {\n- "type": "singlebyte",\n- "chars": "\xe2\x94\x80\xe2\x94\x82\xe2\x94\x8c\xe2\x94\x90\xe2\x94\x94\xe2\x94\x98\xe2\x94\x9c\xe2\x94\xa4\xe2\x94\xac\xe2\x94\xb4\xe2\x94\xbc\xe2\x96\x80\xe2\x96\x84\xe2\x96\x88\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x91\xe2\x96\x92\xe2\x96\x93\xe2\x8c\xa0\xe2\x96\xa0\xe2\x88\x99\xe2\x88\x9a\xe2\x89\x88\xe2\x89\xa4\xe2\x89\xa5\xc2\xa0\xe2\x8c\xa1\xc2\xb0\xc2\xb2\xc2\xb7\xc3\xb7\xe2\x95\x90\xe2\x95\x91\xe2\x95\x92\xd1\x91\xd1\x94\xe2\x95\x94\xd1\x96\xd1\x97\xe2\x95\x97\xe2\x95\x98\xe2\x95\x99\xe2\x95\x9a\xe2\x95\x9b\xd2\x91\xe2\x95\x9d\xe2\x95\x9e\xe2\x95\x9f\xe2\x95\xa0\xe2\x95\xa1\xd0\x81\xd0\x84\xe2\x95\xa3\xd0\x86\xd0\x87\xe2\x95\xa6\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa9\xe2\x95\xaa\xd2\x90\xe2\x95\xac\xc2\xa9\xd1\x8e\xd0\xb0\xd0\xb1\xd1\x86\xd0\xb4\xd0\xb5\xd1\x84\xd0\xb3\xd1\x85\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x8f\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd0\xb6\xd0\xb2\xd1\x8c\xd1\x8b\xd0\xb7\xd1\x88\xd1\x8d\xd1\x89\xd1\x87\xd1\x8a\xd0\xae\xd0\x90\xd0\x91\xd0\xa6\xd0\x94\xd0\x95\xd0\xa4\xd0\x93\xd0\xa5\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xaf\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\x96\xd0\x92\xd0\xac\xd0\xab\xd0\x97\xd0\xa8\xd0\xad\xd0\xa9\xd0\xa7\xd0\xaa"\n- }\n-};\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js b/src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js\ndeleted file mode 100644\nindex 605c72d3..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/encodings/table/big5.js\n+++ /dev/null\n@@ -1 +0,0 @@\n-module.exports={"33088":19991,"33089":20002,"33090":20012,"33091":20053,"33092":20066,"33093":20106,"33094":20144,"33095":20203,"33096":20205,"33097":20220,"33098":20252,"33099":20362,"33100":20479,"33101":20546,"33102":20560,"33103":20600,"33104":20696,"33105":20702,"33106":20724,"33107":20758,"33108":20810,"33109":20817,"33110":20836,"33111":20842,"33112":20869,"33113":20880,"33114":20893,"33115":20902,"33116":20904,"33117":20905,"33118":20935,"33119":20950,"33120":20955,"33121":20972,"33122":20988,"33123":21003,"33124":21012,"33125":21013,"33126":21024,"33127":21035,"33128":21049,"33129":21071,"33130":21105,"33131":21136,"33132":21138,"33133":21140,"33134":21148,"33135":21167,"33136":21173,"33137":21200,"33138":21248,"33139":21255,"33140":21284,"33141":21318,"33142":21343,"33143":21395,"33144":21424,"33145":21469,"33146":21539,"33147":21584,"33148":21585,"33149":21642,"33150":21661,"33185":21667,"33186":21684,"33187":21712,"33188":21795,"33189":21823,"33190":21836,"33191":21843,"33192":21853,"33193":21868,"33194":21918,"33195":21929,"33196":21996,"33197":22005,"33198":22051,"33199":22096,"33200":22140,"33201":22154,"33202":22164,"33203":22176,"33204":22191,"33205":22232,"33206":22272,"33207":22361,"33208":22373,"33209":22399,"33210":22405,"33211":22409,"33212":22433,"33213":22444,"33214":22452,"33215":22464,"33216":22472,"33217":22483,"33218":22511,"33219":22596,"33220":22636,"33221":22674,"33222":22682,"33223":22706,"33224":22712,"33225":22757,"33226":22779,"33227":22786,"33228":22795,"33229":22800,"33230":22808,"33231":22811,"33232":29836,"33233":29837,"33234":29849,"33235":29851,"33236":29860,"33237":29876,"33238":29881,"33239":29896,"33240":29900,"33241":29904,"33242":29907,"33243":30018,"33244":30037,"33245":30062,"33246":30093,"33247":30110,"33248":30172,"33249":30252,"33250":30287,"33251":30289,"33252":30323,"33253":30324,"33254":30373,"33255":30425,"33256":30478,"33257":30479,"33258":30552,"33259":30578,"33260":30583,"33261":30584,"33262":30586,"33263":30587,"33264":30616,"33265":30639,"33266":30654,"33267":30659,"33268":30661,"33269":30667,"33270":30685,"33271":30694,"33272":30708,"33273":30750,"33274":30781,"33275":30786,"33276":30788,"33277":30795,"33278":30801,"33344":21782,"33345":22775,"33346":38964,"33347":33883,"33348":28948,"33349":33398,"33350":35158,"33351":40236,"33352":40206,"33353":36527,"33354":24674,"33355":26214,"33356":34510,"33357":25785,"33358":37772,"33359":22107,"33360":28485,"33361":35532,"33362":29001,"33363":24012,"33364":34633,"33365":39464,"33366":31658,"33367":36107,"33368":39255,"33369":23597,"33370":32331,"33371":38938,"33372":20518,"33373":25458,"33374":40568,"33375":30783,"33376":40633,"33377":40634,"33378":36046,"33379":35715,"33380":61305,"33381":33931,"33382":37284,"33383":31331,"33384":25776,"33385":24061,"33386":24214,"33387":32865,"33388":26965,"33389":31466,"33390":28710,"33391":26812,"33392":31095,"33393":28060,"33394":36841,"33395":31074,"33396":22178,"33397":34687,"33398":21093,"33399":31108,"33400":28300,"33401":37271,"33402":31622,"33403":38956,"33404":26717,"33405":20397,"33406":34222,"33441":31725,"33442":34635,"33443":20534,"33444":26893,"33445":27542,"33446":24910,"33447":20855,"33448":30495,"33449":20516,"33450":32622,"33451":30452,"33452":27097,"33453":24803,"33454":25334,"33455":21599,"33456":38788,"33457":22092,"33458":20677,"33459":22040,"33460":34398,"33461":22834,"33462":22875,"33463":22877,"33464":22883,"33465":22892,"33466":22939,"33467":22999,"33468":23019,"33469":23066,"33470":23210,"33471":23248,"33472":23281,"33473":23350,"33474":23497,"33475":23539,"33476":23571,"33477":23580,"33478":23582,"33479":23635,"33480":23705,"33481":23708,"33482":23738,"33483":23739,"33484":23745,"33485":23797,"33486":23802,"33487":23829,"33488":23832,"33489":23870,"33490":23891,"33491":23900,"33492":23917,"33493":23923,"33494":23924,"33495":23948,"33496":23952,"33497":23993,"33498":24016,"33499":24019,"33500":24135,"33501":24164,"33502":24271,"33503":24272,"33504":24298,"33505":24304,"33506":24329,"33507":24332,"33508":24337,"33509":24353,"33510":24372,"33511":24385,"33512":24389,"33513":24401,"33514":24412,"33515":24422,"33516":24451,"33517":24560,"33518":24650,"33519":24672,"33520":24715,"33521":24742,"33522":24798,"33523":24849,"33524":24864,"33525":24865,"33526":24892,"33527":24893,"33528":24984,"33529":25015,"33530":25076,"33531":25107,"33532":25117,"33533":25118,"33534":25143,"33600":24186,"33601":27664,"33602":21454,"33603":20267,"33604":20302,"33605":21556,"33606":22257,"33607":22766,"33608":22841,"33609":22918,"33610":23596,"33611":20915,"33612":20914,"33613":28798,"33614":35265,"33615":35282,"33616":36125,"33617":36710,"33618":20122,"33619":26469,"33620":20177,"33621":20004,"33622":21327,"33623":23626,"33624":20872,"33625":24213,"33626":25269,"33627":19996,"33628":20105,"33629":29366,"33630":31868,"33631":32416,"33632":21351,"33633":36711,"33634":37048,"33635":38271,"33636":38376,"33637":20384,"33638":20387,"33639":20822,"33640":21017,"33641":21170,"33642":21364,"33643":22850,"33644":24069,"33645":26594,"33646":27769,"33647":20026,"33648":32419,"33649":32418,"33650":32426,"33651":32427,"33652":32421,"33653":32422,"33654":32417,"33655":32989,"33656":33486,"33657":35745,"33658":35746,"33659":35747,"33660":36126,"33661":36127,"33662":20891,"33697":36712,"33698":38377,"33699":38886,"33700":39029,"33701":39118,"33702":39134,"33703":20457,"33704":20204,"33705":20261,"33706":20010,"33707":20262,"33708":20179,"33709":20923,"33710":21018,"33711":21093,"33712":21592,"33713":23089,"33714":23385,"33715":23777,"33716":23707,"33717":23704,"33718":24072,"33719":24211,"33720":24452,"33721":25375,"33722":26102,"33723":26187,"33724":20070,"33725":27902,"33726":27971,"33727":20044,"33728":29421,"33729":29384,"33730":20137,"33731":30757,"33732":31210,"33733":32442,"33734":32433,"33735":32441,"33736":32431,"33737":32445,"33738":32432,"33739":32423,"33740":32429,"33741":32435,"33742":32440,"33743":32439,"33744":32961,"33745":33033,"33746":21005,"33747":35760,"33748":35750,"33749":35752,"33750":35751,"33751":35754,"33752":35759,"33753":35757,"33754":35755,"33755":23682,"33756":36130,"33757":36129,"33758":36713,"33759":36715,"33760":38025,"33761":38024,"33762":38026,"33763":38027,"33764":38378,"33765":38453,"33766":38485,"33767":38473,"33768":39269,"33769":39532,"33770":39592,"33771":20266,"33772":20255,"33773":20390,"33774":20391,"33775":21153,"33776":21160,"33777":21306,"33778":21442,"33779":21713,"33780":38382,"33781":34900,"33782":22269,"33783":22362,"33784":22441,"33785":25191,"33786":22815,"33787":23044,"33788":22919,"33789":19987,"33790":23558,"33856":23625,"33857":23781,"33858":23703,"33859":24102,"33860":24080,"33861":24352,"33862":24378,"33863":20174,"33864":24469,"33865":20932,"33866":24581,"33867":25195,"33868":25346,"33869":25194,"33870":25249,"33871":25379,"33872":36133,"33873":21551,"33874":26011,"33875":26025,"33876":26172,"33877":21206,"33878":24323,"33879":26465,"33880":26541,"33881":26432,"33882":27682,"33883":20937,"33884":27973,"33885":28170,"33886":27882,"33887":27814,"33888":20928,"33889":29301,"33890":29424,"33891":29616,"33892":20135,"33893":27605,"33894":24322,"33895":20247,"33896":32458,"33897":32479,"33898":32461,"33899":32459,"33900":32460,"33901":32454,"33902":32453,"33903":32452,"33904":32456,"33905":32449,"33906":32450,"33907":38069,"33908":20064,"33909":33626,"33910":33550,"33911":33682,"33912":24196,"33913":33483,"33914":22788,"33915":26415,"33916":34926,"33917":35269,"33918":35268,"33953":35775,"33954":35766,"33955":35776,"33956":35767,"33957":35768,"33958":35774,"33959":35772,"33960":35769,"33961":36137,"33962":36131,"33963":36143,"33964":36135,"33965":36138,"33966":36139,"33967":36717,"33968":36719,"33969":36825,"33970":36830,"33971":36851,"33972":38039,"33973":38035,"33974":38031,"33975":38034,"33976":38381,"33977":38472,"33978":38470,"33979":38452,"33980":39030,"33981":39031,"33982":40060,"33983":40479,"33984":21348,"33985":40614,"33986":22791,"33987":20263,"33988":20254,"33989":20975,"33990":21056,"33991":21019,"33992":21171,"33993":21195,"33994":20007,"33995":21333,"33996":21727,"33997":21796,"33998":20052,"33999":22260,"34000":23591,"34001":22330,"34002":25253,"34003":22490,"34004":22774,"34005":23090,"34006":23547,"34007":23706,"34008":24103,"34009":24079,"34010":21397,"34011":21417,"34012":24694,"34013":38391,"34014":24812,"34015":24699,"34016":24700,"34017":25315,"34018":25381,"34019":25442,"34020":25196,"34021":26531,"34022":26635,"34023":26632,"34024":38054,"34025":27531,"34026":22771,"34027":27695,"34028":27689,"34029":28044,"34030":20945,"34031":28270,"34032":28065,"34033":27748,"34034":27979,"34035":27985,"34036":28067,"34037":26080,"34038":29369,"34039":33487,"34040":30011,"34041":30153,"34042":21457,"34043":30423,"34044":30746,"34045":31174,"34046":31383,"34112":31508,"34113":31499,"34114":32478,"34115":32467,"34116":32466,"34117":32477,"34118":19997,"34119":32476,"34120":32473,"34121":32474,"34122":32470,"34123":32475,"34124":32899,"34125":32958,"34126":32960,"34127":21326,"34128":33713,"34129":33484,"34130":34394,"34131":35270,"34132":35780,"34133":35789,"34134":35777,"34135":35778,"34136":35791,"34137":35781,"34138":35784,"34139":35787,"34140":35785,"34141":35786,"34142":35779,"34143":36142,"34144":36148,"34145":36144,"34146":36155,"34147":36146,"34148":36153,"34149":36154,"34150":36149,"34151":20080,"34152":36140,"34153":36152,"34154":36151,"34155":36722,"34156":36724,"34157":36726,"34158":36827,"34159":37038,"34160":20065,"34161":38046,"34162":38062,"34163":38041,"34164":38048,"34165":38055,"34166":38045,"34167":38052,"34168":38051,"34169":38389,"34170":38384,"34171":24320,"34172":38386,"34173":38388,"34174":38387,"34209":38431,"34210":38454,"34211":38451,"34212":38887,"34213":39033,"34214":39034,"34215":39035,"34216":39274,"34217":39277,"34218":39272,"34219":39278,"34220":39276,"34221":20911,"34222":39533,"34223":20081,"34224":20538,"34225":20256,"34226":20165,"34227":20542,"34228":20260,"34229":20588,"34230":38130,"34231":21183,"34232":31215,"34233":27719,"34234":21527,"34235":21596,"34236":21595,"34237":22253,"34238":22278,"34239":28034,"34240":22359,"34241":22366,"34242":22488,"34243":33556,"34244":22885,"34245":22920,"34246":29233,"34247":24574,"34248":24582,"34249":24698,"34250":25439,"34251":25250,"34252":25443,"34253":26500,"34254":26198,"34255":26197,"34256":26104,"34257":20250,"34258":19994,"34259":26497,"34260":26472,"34261":26722,"34262":26539,"34263":23681,"34264":27807,"34265":28781,"34266":28287,"34267":28369,"34268":27815,"34269":28902,"34270":28860,"34271":28800,"34272":28949,"34273":29239,"34274":29422,"34275":29502,"34276":29682,"34277":24403,"34278":30415,"34279":30544,"34280":30529,"34281":38606,"34282":30860,"34283":33410,"34284":31509,"34285":31908,"34286":32463,"34287":32482,"34288":32465,"34289":32485,"34290":32486,"34291":20041,"34292":32673,"34293":22307,"34294":32928,"34295":33050,"34296":32959,"34297":33041,"34298":33636,"34299":33479,"34300":21494,"34301":33716,"34302":34398,"34368":34383,"34369":21495,"34370":34568,"34371":34476,"34372":34917,"34373":35013,"34374":35815,"34375":35813,"34376":35814,"34377":35797,"34378":35799,"34379":35800,"34380":35801,"34381":35811,"34382":35802,"34383":35805,"34384":35803,"34385":35809,"34386":35810,"34387":35808,"34388":35807,"34389":36156,"34390":36164,"34391":36158,"34392":36159,"34393":36160,"34394":36161,"34395":36162,"34396":36165,"34397":36739,"34398":36733,"34399":36732,"34400":36734,"34401":20892,"34402":36816,"34403":36798,"34404":36829,"34405":36807,"34406":37049,"34407":38068,"34408":38067,"34409":38073,"34410":38072,"34411":38078,"34412":38080,"34413":38085,"34414":38057,"34415":38082,"34416":38083,"34417":38089,"34418":38091,"34419":38044,"34420":38093,"34421":38079,"34422":38086,"34423":38392,"34424":38504,"34425":38589,"34426":30005,"34427":39044,"34428":39037,"34429":39039,"34430":39036,"34465":39041,"34466":39042,"34467":39282,"34468":39284,"34469":39281,"34470":39280,"34471":39536,"34472":39534,"34473":39535,"34474":40480,"34475":20389,"34476":20392,"34477":21294,"34478":21388,"34479":23581,"34480":21589,"34481":21497,"34482":21949,"34483":21863,"34484":21716,"34485":22242,"34486":22270,"34487":23576,"34488":22443,"34489":22545,"34490":23551,"34491":26790,"34492":22842,"34493":22849,"34494":22954,"34495":23454,"34496":23517,"34497":23545,"34498":23649,"34499":23853,"34500":23702,"34501":24065,"34502":24124,"34503":24443,"34504":24577,"34505":24815,"34506":24696,"34507":24813,"34508":24808,"34509":25602,"34510":25524,"34511":25530,"34512":30021,"34513":33635,"34514":26538,"34515":28378,"34516":28173,"34517":27721,"34518":28385,"34519":28382,"34520":28176,"34521":28072,"34522":28063,"34523":27818,"34524":28180,"34525":28183,"34526":28068,"34527":33639,"34528":23572,"34529":33638,"34530":29425,"34531":29712,"34532":29595,"34533":30111,"34534":30113,"34535":30127,"34536":30186,"34537":23613,"34538":30417,"34539":30805,"34540":31087,"34541":31096,"34542":31181,"34543":31216,"34544":27964,"34545":31389,"34546":31546,"34547":31581,"34548":32509,"34549":32510,"34550":32508,"34551":32496,"34552":32491,"34553":32511,"34554":32039,"34555":32512,"34556":32434,"34557":32494,"34558":32504,"34624":32501,"34625":32438,"34626":32500,"34627":32490,"34628":32513,"34629":32502,"34630":32602,"34631":38395,"34632":33669,"34633":30422,"34634":33642,"34635":33485,"34636":34432,"34637":35829,"34638":35821,"34639":35820,"34640":35748,"34641":35819,"34642":35823,"34643":35828,"34644":35824,"34645":35826,"34646":35825,"34647":35827,"34648":35822,"34649":23486,"34650":36168,"34651":36170,"34652":36213,"34653":36214,"34654":36741,"34655":36740,"34656":36731,"34657":36828,"34658":36874,"34659":36882,"34660":38128,"34661":38134,"34662":38108,"34663":38125,"34664":38114,"34665":38124,"34666":38120,"34667":38133,"34668":38115,"34669":38402,"34670":38394,"34671":38397,"34672":38401,"34673":38400,"34674":38469,"34675":39047,"34676":39046,"34677":39122,"34678":39290,"34679":39292,"34680":39285,"34681":39287,"34682":39539,"34683":32942,"34684":39600,"34685":40483,"34686":40482,"34721":20964,"34722":40784,"34723":20159,"34724":20202,"34725":20215,"34726":20396,"34727":20393,"34728":20461,"34729":21095,"34730":21016,"34731":21073,"34732":21053,"34733":21385,"34734":21792,"34735":22068,"34736":21719,"34737":22040,"34738":21943,"34739":21880,"34740":21501,"34741":22687,"34742":22367,"34743":22368,"34744":22549,"34745":23092,"34746":23157,"34747":22953,"34748":23047,"34749":23046,"34750":23485,"34751":23457,"34752":20889,"34753":23618,"34754":23956,"34755":24092,"34756":24223,"34757":21416,"34758":24217,"34759":21422,"34760":24191,"34761":24377,"34762":24198,"34763":34385,"34764":24551,"34765":24578,"34766":24751,"34767":24814,"34768":24868,"34769":24579,"34770":25370,"34771":25169,"34772":25438,"34773":25320,"34774":25376,"34775":25242,"34776":25528,"34777":25599,"34778":25932,"34779":25968,"34780":26242,"34781":26165,"34782":26679,"34783":26729,"34784":26530,"34785":26631,"34786":27004,"34787":26728,"34788":20048,"34789":26526,"34790":27431,"34791":27527,"34792":27572,"34793":27974,"34794":27900,"34795":27905,"34796":27975,"34797":28291,"34798":28070,"34799":28071,"34800":27988,"34801":28909,"34802":22870,"34803":33721,"34804":30126,"34805":30353,"34806":30385,"34807":30424,"34808":30830,"34809":30721,"34810":31377,"34811":31351,"34812":32532,"34813":32451,"34814":32428,"34880":32516,"34881":32517,"34882":32521,"34883":32534,"34884":32536,"34885":32447,"34886":32526,"34887":32531,"34888":32525,"34889":32514,"34890":32520,"34891":32519,"34892":39554,"34893":32610,"34894":33014,"34895":32932,"34896":33714,"34897":33643,"34898":33931,"34899":34430,"34900":34583,"34901":21355,"34902":35850,"34903":35845,"34904":35848,"34905":35846,"34906":35806,"34907":35831,"34908":35832,"34909":35838,"34910":35839,"34911":35844,"34912":35843,"34913":35841,"34914":35770,"34915":35812,"34916":35847,"34917":35837,"34918":35840,"34919":31446,"34920":36180,"34921":36175,"34922":36171,"34923":36145,"34924":36134,"34925":36172,"34926":36132,"34927":21334,"34928":36176,"34929":36136,"34930":36179,"34931":36341,"34932":36745,"34933":36742,"34934":36749,"34935":36744,"34936":36743,"34937":36718,"34938":36750,"34939":36747,"34940":36746,"34941":36866,"34942":36801,"34977":37051,"34978":37073,"34979":37011,"34980":38156,"34981":38161,"34982":38144,"34983":38138,"34984":38096,"34985":38148,"34986":38109,"34987":38160,"34988":38153,"34989":38155,"34990":38049,"34991":38146,"34992":38398,"34993":38405,"34994":24041,"34995":39049,"34996":39052,"34997":20859,"34998":39295,"34999":39297,"35000":39548,"35001":39547,"35002":39543,"35003":39542,"35004":39549,"35005":39550,"35006":39545,"35007":39544,"35008":39607,"35009":38393,"35010":40063,"35011":40065,"35012":40489,"35013":40486,"35014":40632,"35015":40831,"35016":20454,"35017":20647,"35018":20394,"35019":24130,"35020":21058,"35021":21544,"35022":21725,"35023":22003,"35024":22438,"35025":22363,"35026":22859,"35027":34949,"35028":23398,"35029":23548,"35030":23466,"35031":20973,"35032":24811,"35033":25044,"35034":24518,"35035":25112,"35036":25317,"35037":25377,"35038":25374,"35039":25454,"35040":25523,"35041":25321,"35042":25441,"35043":25285,"35044":25373,"35045":21382,"35046":26195,"35047":26196,"35048":26137,"35049":26726,"35050":27178,"35051":26641,"35052":26925,"35053":26725,"35054":26426,"35055":26721,"35056":28096,"35057":27987,"35058":27901,"35059":27978,"35060":27811,"35061":28582,"35062":28177,"35063":28861,"35064":28903,"35065":28783,"35066":28907,"35067":28950,"35068":29420,"35069":29585,"35070":29935,"35136":30232,"35137":21346,"35138":30610,"35139":30742,"35140":30875,"35141":31215,"35142":39062,"35143":31267,"35144":31397,"35145":31491,"35146":31579,"35147":32546,"35148":32547,"35149":33830,"35150":32538,"35151":21439,"35152":32543,"35153":32540,"35154":32537,"35155":32457,"35156":33147,"35157":20852,"35158":33329,"35159":33633,"35160":33831,"35161":33436,"35162":34434,"35163":33828,"35164":35044,"35165":20146,"35166":35278,"35167":35867,"35168":35866,"35169":35855,"35170":35763,"35171":35851,"35172":35853,"35173":35856,"35174":35864,"35175":35834,"35176":35858,"35177":35859,"35178":35773,"35179":35861,"35180":35865,"35181":35852,"35182":35862,"35183":36182,"35184":36752,"35185":36753,"35186":36755,"35187":36751,"35188":21150,"35189":36873,"35190":36831,"35191":36797,"35192":36951,"35193":37050,"35194":38189,"35195":38191,"35196":38192,"35197":38169,"35198":38065,"35233":38050,"35234":38177,"35235":24405,"35236":38126,"35237":38181,"35238":38182,"35239":38175,"35240":38178,"35241":38193,"35242":38414,"35243":38543,"35244":38505,"35245":38745,"35246":33148,"35247":39050,"35248":39048,"35249":39057,"35250":39060,"35251":22836,"35252":39059,"35253":39056,"35254":39302,"35255":39279,"35256":39300,"35257":39301,"35258":39559,"35259":39560,"35260":39558,"35261":39608,"35262":39612,"35263":40077,"35264":40501,"35265":40490,"35266":40495,"35267":40493,"35268":40499,"35269":40857,"35270":40863,"35271":20248,"35272":20607,"35273":20648,"35274":21169,"35275":21659,"35276":21523,"35277":21387,"35278":22489,"35279":23156,"35280":23252,"35281":23351,"35282":23604,"35283":23654,"35284":23679,"35285":23896,"35286":24110,"35287":24357,"35288":24212,"35289":24691,"35290":25103,"35291":20987,"35292":25380,"35293":25319,"35294":25311,"35295":25601,"35296":25947,"35297":27609,"35298":26279,"35299":26723,"35300":26816,"35301":26727,"35302":26633,"35303":27183,"35304":27539,"35305":27617,"35306":27870,"35307":28392,"35308":27982,"35309":28059,"35310":28389,"35311":28073,"35312":28493,"35313":33829,"35314":28799,"35315":28891,"35316":28905,"35317":22681,"35318":29406,"35319":33719,"35320":29615,"35321":29815,"35322":30184,"35323":30103,"35324":30699,"35325":30970,"35326":30710,"35392":31699,"35393":31914,"35394":38214,"35395":31937,"35396":32553,"35397":32489,"35398":32554,"35399":32533,"35400":32551,"35401":32503,"35402":32541,"35403":24635,"35404":32437,"35405":32555,"35406":32420,"35407":32549,"35408":32358,"35409":32550,"35410":22768,"35411":32874,"35412":32852,"35413":32824,"35414":33043,"35415":32966,"35416":33080,"35417":33037,"35418":20020,"35419":20030,"35420":33392,"35421":34103,"35422":34015,"35423":20111,"35424":34684,"35425":34632,"35426":20149,"35427":35099,"35428":35274,"35429":35868,"35430":35876,"35431":35878,"35432":35762,"35433":35854,"35434":35875,"35435":35874,"35436":35466,"35437":35879,"35438":36186,"35439":36187,"35440":36141,"35441":36185,"35442":36235,"35443":36758,"35444":36759,"35445":27586,"35446":36757,"35447":33286,"35448":36824,"35449":36808,"35450":37213,"35451":38208,"35452":38209,"35453":38170,"35454":38190,"35489":38194,"35490":38149,"35491":38180,"35492":38202,"35493":38201,"35494":38203,"35495":38206,"35496":38199,"35497":38420,"35498":38421,"35499":38417,"35500":38385,"35501":38544,"35502":38582,"35503":34429,"35504":38889,"35505":39063,"35506":39123,"35507":39563,"35508":39567,"35509":40092,"35510":40091,"35511":40084,"35512":40081,"35513":40511,"35514":40509,"35515":28857,"35516":25995,"35517":19995,"35518":22108,"35519":22329,"35520":22418,"35521":23158,"35522":25041,"35523":25193,"35524":25527,"35525":25200,"35526":25781,"35527":25670,"35528":25822,"35529":25783,"35530":26029,"35531":27103,"35532":26588,"35533":27099,"35534":26592,"35535":27428,"35536":24402,"35537":27553,"35538":27899,"35539":28182,"35540":28388,"35541":28174,"35542":28293,"35543":27983,"35544":28908,"35545":28952,"35546":29367,"35547":29454,"35548":29934,"35549":30112,"35550":30545,"35551":30784,"35552":31036,"35553":31313,"35554":31229,"35555":31388,"35556":31373,"35557":31659,"35558":31783,"35559":31658,"35560":31697,"35561":31616,"35562":31918,"35563":32455,"35564":32558,"35565":32469,"35566":32557,"35567":32483,"35568":32559,"35569":32728,"35570":32844,"35571":32834,"35572":33040,"35573":33169,"35574":26087,"35575":33832,"35576":34013,"35577":33632,"35578":34546,"35579":34633,"35580":35280,"35581":35294,"35582":35871,"35648":35880,"35649":35884,"35650":35882,"35651":36184,"35652":36434,"35653":36857,"35654":36344,"35655":36527,"35656":36716,"35657":36761,"35658":36841,"35659":21307,"35660":37233,"35661":38225,"35662":38145,"35663":38056,"35664":38221,"35665":38215,"35666":38224,"35667":38226,"35668":38217,"35669":38422,"35670":38383,"35671":38423,"35672":38425,"35673":26434,"35674":21452,"35675":38607,"35676":40481,"35677":39069,"35678":39068,"35679":39064,"35680":39066,"35681":39067,"35682":39311,"35683":39306,"35684":39304,"35685":39569,"35686":39617,"35687":40104,"35688":40100,"35689":40107,"35690":40103,"35691":40515,"35692":40517,"35693":40516,"35694":22404,"35695":22364,"35696":23456,"35697":24222,"35698":24208,"35699":24809,"35700":24576,"35701":25042,"35702":25314,"35703":26103,"35704":27249,"35705":26911,"35706":27016,"35707":27257,"35708":28487,"35709":28625,"35710":27813,"35745":28626,"35746":27896,"35747":28865,"35748":29261,"35749":29322,"35750":20861,"35751":29549,"35752":29626,"35753":29756,"35754":30068,"35755":30250,"35756":30861,"35757":31095,"35758":31283,"35759":31614,"35760":33575,"35761":32462,"35762":32499,"35763":32472,"35764":32599,"35765":32564,"35766":33211,"35767":33402,"35768":34222,"35769":33647,"35770":34433,"35771":34631,"35772":35014,"35773":34948,"35774":35889,"35775":35782,"35776":35885,"35777":35890,"35778":35749,"35779":35887,"35780":36192,"35781":36190,"35782":36343,"35783":36762,"35784":36735,"35785":36766,"35786":36793,"35787":38236,"35788":38237,"35789":38238,"35790":38142,"35791":38231,"35792":38232,"35793":38230,"35794":38233,"35795":38197,"35796":38210,"35797":38143,"35798":37694,"35799":20851,"35800":38471,"35801":38590,"35802":38654,"35803":38892,"35804":38901,"35805":31867,"35806":39072,"35807":39125,"35808":39314,"35809":39313,"35810":39579,"35811":39575,"35812":40120,"35813":40115,"35814":40109,"35815":40119,"35816":40529,"35817":40521,"35818":40522,"35819":40524,"35820":40527,"35821":20029,"35822":40628,"35823":21149,"35824":21657,"35825":22052,"35826":20005,"35827":23453,"35828":24748,"35829":24527,"35830":25318,"35831":25600,"35832":32999,"35833":27015,"35834":28572,"35835":28491,"35836":28809,"35837":29649,"35838":30719,"35904":30778,"35905":30718,"35906":30782,"35907":31398,"35908":31454,"35909":31609,"35910":31726,"35911":36779,"35912":32548,"35913":32487,"35914":32578,"35915":33002,"35916":33328,"35917":34108,"35918":34106,"35919":33446,"35920":33529,"35921":34164,"35922":34461,"35923":35124,"35924":35273,"35925":35302,"35926":35758,"35927":35793,"35928":35893,"35929":36194,"35930":36193,"35931":36280,"35932":37322,"35933":38047,"35934":38105,"35935":38152,"35936":38416,"35937":39128,"35938":39286,"35939":39269,"35940":39582,"35941":33150,"35942":39578,"35943":40131,"35944":40133,"35945":20826,"35946":40835,"35947":40836,"35948":20458,"35949":21995,"35950":21869,"35951":22179,"35952":23646,"35953":24807,"35954":24913,"35955":25668,"35956":25658,"35957":26003,"35958":27185,"35959":26639,"35960":26818,"35961":27516,"35962":28866,"35963":29306,"35964":38262,"35965":29838,"35966":30302,"36001":32544,"36002":32493,"36003":20848,"36004":34259,"36005":34510,"36006":35272,"36007":35892,"36008":25252,"36009":35465,"36010":36163,"36011":36364,"36012":36291,"36013":36347,"36014":36720,"36015":36777,"36016":38256,"36017":38253,"36018":38081,"36019":38107,"36020":38094,"36021":38255,"36022":38220,"36023":21709,"36024":39038,"36025":39074,"36026":39144,"36027":39537,"36028":39584,"36029":34022,"36030":39585,"36031":39621,"36032":40141,"36033":40143,"36034":33722,"36035":40548,"36036":40542,"36037":40839,"36038":40840,"36039":21870,"36040":20456,"36041":20645,"36042":21587,"36043":23402,"36044":24005,"36045":23782,"36046":24367,"36047":25674,"36048":26435,"36049":27426,"36050":28393,"36051":29473,"36052":21472,"36053":30270,"36054":30307,"36055":31548,"36056":31809,"36057":32843,"36058":33039,"36059":34989,"36060":34924,"36061":35835,"36062":36174,"36063":36189,"36064":36399,"36065":36396,"36066":36756,"36067":37094,"36068":38136,"36069":37492,"36070":38657,"36071":38801,"36072":32366,"36073":39076,"36074":39556,"36075":39553,"36076":40150,"36077":40098,"36078":40148,"36079":40151,"36080":40551,"36081":40485,"36082":40761,"36083":40841,"36084":40842,"36085":40858,"36086":24651,"36087":25371,"36088":25605,"36089":29906,"36090":31363,"36091":32552,"36092":33250,"36093":33821,"36094":34506,"36160":21464,"36161":36902,"36162":36923,"36163":38259,"36164":38084,"36165":38757,"36166":26174,"36167":39181,"36168":24778,"36169":39551,"36170":39564,"36171":39635,"36172":39633,"36173":40157,"36174":40158,"36175":40156,"36176":40502,"36177":22065,"36178":22365,"36179":25597,"36180":30251,"36181":30315,"36182":32641,"36183":34453,"36184":35753,"36185":35863,"36186":35894,"36187":33395,"36188":36195,"36189":37247,"36190":38643,"36191":28789,"36192":38701,"36193":39078,"36194":39588,"36195":39699,"36196":39751,"36197":40078,"36198":40560,"36199":40557,"36200":30839,"36201":30416,"36202":40140,"36203":40844,"36204":40843,"36205":21381,"36206":27012,"36207":28286,"36208":31729,"36209":31657,"36210":34542,"36211":35266,"36212":36433,"36213":34885,"36214":38053,"36215":39045,"36216":39307,"36217":39627,"36218":40649,"36219":28390,"36220":30633,"36221":38218,"36222":38831,"36257":39540,"36258":39589,"36259":32518,"36260":35872,"36261":36495,"36262":37245,"36263":38075,"36264":37550,"36265":38179,"36266":40132,"36267":40072,"36268":40681,"36269":20991,"36270":40550,"36271":39562,"36272":40563,"36273":40510,"36274":38074,"36275":20162,"36276":34381,"36277":27538,"36278":22439,"36279":22395,"36280":25099,"36281":20451,"36282":21037,"36283":21389,"36284":21593,"36285":21370,"36286":32424,"36287":33543,"36288":38023,"36289":38022,"36290":21591,"36291":24362,"36292":31059,"36293":32446,"36294":37071,"36295":38028,"36296":21072,"36297":21286,"36298":22261,"36299":22445,"36300":23045,"36301":23741,"36302":23811,"36303":28062,"36304":28172,"36305":28867,"36306":30502,"36307":32448,"36308":32464,"36309":33003,"36310":38030,"36311":38032,"36312":38037,"36313":38029,"36314":38379,"36315":22955,"36316":23899,"36317":24701,"36318":26720,"36319":26536,"36320":27817,"36321":27976,"36322":30066,"36323":30743,"36324":32471,"36325":33757,"36326":35271,"36327":35765,"36328":35790,"36329":35794,"36330":36150,"36331":36147,"36332":36730,"36333":36725,"36334":36728,"36335":36911,"36336":37075,"36337":37124,"36338":38059,"36339":38060,"36340":38043,"36341":38063,"36342":38061,"36343":38058,"36344":38390,"36345":38503,"36346":39032,"36347":39275,"36348":40697,"36349":20251,"36350":20603,"36416":20325,"36417":21794,"36418":22450,"36419":24047,"36420":24493,"36421":28828,"36422":33557,"36423":29426,"36424":29614,"36425":32488,"36426":32480,"36427":32481,"36428":32671,"36429":33645,"36430":34545,"36431":35795,"36432":35798,"36433":35817,"36434":35796,"36435":35804,"36436":36241,"36437":36738,"36438":36737,"36439":37036,"36440":38090,"36441":38088,"36442":38064,"36443":38066,"36444":38070,"36445":38157,"36446":38092,"36447":38077,"36448":38076,"36449":39043,"36450":39040,"36451":20971,"36452":40702,"36453":20606,"36454":21787,"36455":23901,"36456":24123,"36457":24747,"36458":24749,"36459":24580,"36460":25132,"36461":25111,"36462":25247,"36463":25248,"36464":25532,"36465":26724,"36466":26473,"36467":33637,"36468":27986,"36469":27812,"36470":28829,"36471":30386,"36472":30720,"36473":32507,"36474":32498,"36475":32495,"36476":32506,"36477":33715,"36478":35275,"36513":35830,"36514":36167,"36515":38129,"36516":38098,"36517":38097,"36518":38101,"36519":38111,"36520":38123,"36521":38127,"36522":38122,"36523":38135,"36524":38102,"36525":38117,"36526":39121,"36527":21055,"36528":21154,"36529":21715,"36530":21586,"36531":23810,"36532":23780,"36533":24209,"36534":24870,"36535":25378,"36536":26912,"36537":27637,"36538":39053,"36539":28061,"36540":28514,"36541":28064,"36542":28375,"36543":29711,"36544":29825,"36545":30231,"36546":32515,"36547":32535,"36548":32524,"36549":32527,"36550":32529,"36551":33628,"36552":33932,"36553":33553,"36554":33473,"36555":35833,"36556":35836,"36557":35842,"36558":36181,"36559":37112,"36560":38162,"36561":38103,"36562":38141,"36563":38163,"36564":38154,"36565":38116,"36566":38150,"36567":38151,"36568":38164,"36569":38406,"36570":38403,"36571":38739,"36572":39055,"36573":39293,"36574":39541,"36575":39552,"36576":40066,"36577":40488,"36578":21714,"36579":21717,"36580":21721,"36581":23250,"36582":23748,"36583":24639,"36584":27546,"36585":27981,"36586":28904,"36587":29443,"36588":29423,"36589":30876,"36590":31405,"36591":32279,"36592":32539,"36593":33927,"36594":33640,"36595":33929,"36596":33630,"36597":33720,"36598":33431,"36599":34547,"36600":35816,"36601":35857,"36602":35860,"36603":35869,"36604":37072,"36605":38185,"36606":38188,"36672":38166,"36673":38167,"36674":38140,"36675":38171,"36676":38165,"36677":38174,"36678":38036,"36679":38415,"36680":38408,"36681":38409,"36682":38410,"36683":38412,"36684":38413,"36685":40498,"36686":40497,"36687":21724,"36688":24113,"36689":24697,"36690":25672,"36691":58305,"36692":27894,"36693":29461,"36694":29971,"36695":30213,"36696":30187,"36697":30807,"36698":31654,"36699":31578,"36700":31976,"36701":32545,"36702":32807,"36703":33631,"36704":33718,"36705":34544,"36706":35042,"36707":35279,"36708":35873,"36709":35788,"36710":35877,"36711":36292,"36712":38200,"36713":38196,"36714":38113,"36715":38198,"36716":38418,"36717":39271,"36718":40082,"36719":40085,"36720":40504,"36721":40505,"36722":40506,"36723":40832,"36724":24636,"36725":25669,"36726":25784,"36727":27898,"36728":30102,"36729":32523,"36730":32873,"36731":33641,"36732":34789,"36733":34414,"36734":35764,"36769":35881,"36770":36188,"36771":36157,"36772":36760,"36773":37021,"36774":38227,"36775":38112,"36776":38204,"36777":38223,"36778":34021,"36779":38890,"36780":39273,"36781":39568,"36782":39570,"36783":39571,"36784":38411,"36785":40105,"36786":40096,"36787":40520,"36788":40513,"36789":40518,"36790":21411,"36791":21590,"36792":22406,"36793":27104,"36794":26638,"36795":27655,"36796":27895,"36797":28486,"36798":31074,"36799":32562,"36800":32563,"36801":32628,"36802":33315,"36803":34511,"36804":34431,"36805":35043,"36806":35281,"36807":35311,"36808":35886,"36809":38235,"36810":38239,"36811":38250,"36812":38214,"36813":38121,"36814":38891,"36815":39073,"36816":39312,"36817":39618,"36818":40117,"36819":40118,"36820":40123,"36821":40113,"36822":40526,"36823":40491,"36824":40700,"36825":21950,"36826":25732,"36827":26634,"36828":26533,"36829":26636,"36830":32561,"36831":32845,"36832":33551,"36833":33480,"36834":34162,"36835":34548,"36836":34686,"36837":38132,"36838":38246,"36839":38248,"36840":38241,"36841":38243,"36842":38212,"36843":38251,"36844":38119,"36845":38244,"36846":38137,"36847":38426,"36848":39071,"36849":39316,"36850":39546,"36851":39581,"36852":39583,"36853":39576,"36854":40535,"36855":40538,"36856":40540,"36857":40838,"36858":40837,"36859":20649,"36860":23743,"36861":30152,"36862":25786,"36928":27017,"36929":28384,"36930":30779,"36931":31901,"36932":32425,"36933":32556,"36934":34105,"36935":36166,"36936":38257,"36937":38396,"36938":39129,"36939":39586,"36940":39574,"36941":39580,"36942":40101,"36943":40142,"36944":40144,"36945":40547,"36946":40536,"36947":40574,"36948":20865,"36949":23048,"36950":28757,"36951":25874,"36952":30271,"36953":31656,"36954":31860,"36955":33339,"36956":35276,"36957":36345,"36958":36318,"36959":36729,"36960":38228,"36961":38252,"36962":39587,"36963":39557,"36964":40149,"36965":40099,"36966":40102,"36967":40552,"36968":40503,"36969":40859,"36970":26686,"36971":26916,"36972":34016,"36973":38624,"36974":36723,"36975":40159,"36976":40095,"36977":40553,"36978":40556,"36979":40554,"36980":40555,"36981":40519,"36982":28751,"36983":31766,"36984":35888,"36985":39628,"36986":31550,"36987":31900,"36988":32565,"36989":33044,"36990":36479,"37025":38247,"37026":40090,"37027":36273,"37028":36508,"37029":37246,"37030":35891,"37031":39070,"37032":39079,"37033":39591,"37034":40492,"37035":25094,"37036":38404,"37037":40097,"37038":40514,"37039":31160,"37040":25300,"37041":36299,"37042":29648,"37043":23467,"37044":25296,"37045":27585,"37046":20943,"37047":31108,"37048":21525,"37049":28508,"37050":34972,"37051":37095,"37052":20857,"37053":25144,"37054":25243,"37055":25383,"37056":25531,"37057":25566,"37058":25594,"37059":25745,"37060":25792,"37061":25825,"37062":25846,"37063":25861,"37064":25909,"37065":25934,"37066":25963,"37067":25992,"37068":26073,"37069":26142,"37070":26171,"37071":26175,"37072":26180,"37073":26199,"37074":26217,"37075":26227,"37076":26243,"37077":26300,"37078":26303,"37079":26305,"37080":26357,"37081":26362,"37082":26363,"37083":26382,"37084":26390,"37085":26423,"37086":26468,"37087":26470,"37088":26534,"37089":26535,"37090":26537,"37091":26619,"37092":26621,"37093":26624,"37094":26625,"37095":26629,"37096":26654,"37097":26698,"37098":26706,"37099":26709,"37100":26713,"37101":26765,"37102":26809,"37103":26831,"37104":20616,"37105":38184,"37106":40087,"37107":26914,"37108":26918,"37109":220,"37110":58591,"37111":58592,"37112":252,"37113":58594,"37114":58595,"37115":220,"37116":252,"37117":26934,"37118":26977,"37184":33477,"37185":33482,"37186":33496,"37187":33560,"37188":33562,"37189":33571,"37190":33606,"37191":33627,"37192":33634,"37193":33644,"37194":33646,"37195":33692,"37196":33695,"37197":33717,"37198":33724,"37199":33783,"37200":33834,"37201":33864,"37202":33884,"37203":33890,"37204":33924,"37205":33928,"37206":34012,"37207":34019,"37208":34104,"37209":34138,"37210":34199,"37211":34219,"37212":34241,"37213":34323,"37214":34326,"37215":8715,"37216":34581,"37217":34672,"37218":34685,"37219":34699,"37220":34728,"37221":34759,"37222":34768,"37223":34823,"37224":34830,"37225":34855,"37226":34990,"37227":8712,"37228":34997,"37229":35007,"37230":35045,"37231":35061,"37232":35100,"37233":35101,"37234":35191,"37235":35303,"37236":35383,"37237":35500,"37238":35546,"37239":35675,"37240":35697,"37241":35883,"37242":35898,"37243":35964,"37244":35982,"37245":36014,"37246":36114,"37281":36169,"37282":36173,"37283":36209,"37284":36360,"37285":36410,"37286":36464,"37287":36505,"37288":36528,"37289":36529,"37290":36549,"37291":36550,"37292":36558,"37293":36579,"37294":36620,"37295":36721,"37296":36727,"37297":36775,"37298":36847,"37299":36878,"37300":36921,"37301":36965,"37302":37001,"37303":37086,"37304":37141,"37305":37334,"37306":37339,"37307":37342,"37308":37345,"37309":37349,"37310":37366,"37311":37372,"37312":37417,"37313":37420,"37314":65287,"37315":37465,"37316":37495,"37317":37613,"37318":37690,"37319":58701,"37320":58702,"37321":29227,"37322":20866,"37323":20886,"37324":20023,"37325":20843,"37326":20799,"37327":58709,"37328":58710,"37329":26409,"37330":27706,"37331":21378,"37332":30098,"37333":32896,"37334":34916,"37335":19974,"37336":58718,"37337":58719,"37338":58720,"37339":11927,"37340":21241,"37341":21269,"37342":8225,"37343":58725,"37344":13316,"37345":58727,"37346":58728,"37347":58729,"37348":58730,"37349":58731,"37350":20981,"37351":58733,"37352":23662,"37353":58735,"37354":22231,"37355":20128,"37356":20907,"37357":11904,"37358":27079,"37359":58741,"37360":9550,"37361":9688,"37362":9689,"37363":9794,"37364":9654,"37365":9668,"37366":8597,"37367":8252,"37368":182,"37369":8704,"37370":8616,"37371":8596,"37372":8962,"37373":58755,"37374":58756,"37440":20124,"37441":24746,"37442":22311,"37443":22258,"37444":21307,"37445":22769,"37446":36920,"37447":38560,"37448":26628,"37449":21942,"37450":39365,"37451":35585,"37452":20870,"37453":32257,"37454":24540,"37455":27431,"37456":27572,"37457":26716,"37458":22885,"37459":31311,"37460":20206,"37461":20385,"37462":30011,"37463":28784,"37464":20250,"37465":24724,"37466":28023,"37467":32117,"37468":22730,"37469":25040,"37470":25313,"37471":27579,"37472":35226,"37473":23398,"37474":27005,"37475":21917,"37476":28167,"37477":58794,"37478":24059,"37479":38501,"37480":21223,"37481":23515,"37482":28450,"37483":38306,"37484":27475,"37485":35251,"37486":27671,"37487":24112,"37488":25135,"37489":29344,"37490":34384,"37491":26087,"37492":24613,"37493":25312,"37494":25369,"37495":34394,"37496":23777,"37497":25375,"37498":29421,"37499":37111,"37500":38911,"37501":26241,"37502":21220,"37537":35641,"37538":21306,"37539":39366,"37540":21234,"37541":58824,"37542":24452,"37543":33550,"37544":24693,"37545":25522,"37546":28179,"37547":32076,"37548":34509,"37549":36605,"37550":32153,"37551":40335,"37552":25731,"37553":30476,"37554":20537,"37555":21091,"37556":38522,"37557":22287,"37558":26908,"37559":27177,"37560":38997,"37561":39443,"37562":21427,"37563":21577,"37564":23087,"37565":35492,"37566":24195,"37567":28207,"37568":37489,"37569":21495,"37570":22269,"37571":40658,"37572":31296,"37573":30741,"37574":28168,"37575":25998,"37576":27507,"37577":21092,"37578":38609,"37579":21442,"37580":26719,"37581":24808,"37582":36059,"37583":27531,"37584":27503,"37585":20816,"37586":36766,"37587":28287,"37588":23455,"37589":20889,"37590":33294,"37591":25448,"37592":37320,"37593":23551,"37594":21454,"37595":34886,"37596":24467,"37597":28171,"37598":29539,"37599":32294,"37600":31899,"37601":20966,"37602":23558,"37603":31216,"37604":28169,"37605":28988,"37606":22888,"37607":26465,"37608":29366,"37609":20055,"37610":27972,"37611":21104,"37612":30067,"37613":32260,"37614":22732,"37615":23330,"37616":35698,"37617":37304,"37618":35302,"37619":22065,"37620":23517,"37621":23613,"37622":22259,"37623":31883,"37624":37204,"37625":31298,"37626":38543,"37627":39620,"37628":26530,"37629":25968,"37630":25454,"37696":28716,"37697":22768,"37698":25993,"37699":38745,"37700":31363,"37701":25666,"37702":32118,"37703":23554,"37704":27973,"37705":25126,"37706":36341,"37707":37549,"37708":28508,"37709":36983,"37710":36984,"37711":32330,"37712":31109,"37713":30094,"37714":22766,"37715":20105,"37716":33624,"37717":25436,"37718":25407,"37719":24035,"37720":31379,"37721":35013,"37722":20711,"37723":23652,"37724":32207,"37725":39442,"37726":22679,"37727":24974,"37728":34101,"37729":36104,"37730":33235,"37731":23646,"37732":32154,"37733":22549,"37734":23550,"37735":24111,"37736":28382,"37737":28381,"37738":25246,"37739":27810,"37740":28655,"37741":21336,"37742":22022,"37743":22243,"37744":26029,"37745":24382,"37746":36933,"37747":26172,"37748":37619,"37749":24193,"37750":24500,"37751":32884,"37752":25074,"37753":22618,"37754":36883,"37755":37444,"37756":28857,"37757":36578,"37758":20253,"37793":38651,"37794":28783,"37795":24403,"37796":20826,"37797":30423,"37798":31282,"37799":38360,"37800":24499,"37801":27602,"37802":29420,"37803":35501,"37804":23626,"37805":38627,"37806":24336,"37807":24745,"37808":33075,"37809":25309,"37810":24259,"37811":22770,"37812":26757,"37813":21338,"37814":34180,"37815":40614,"37816":32283,"37817":30330,"37818":39658,"37819":25244,"37820":27996,"37821":27996,"37822":25935,"37823":25975,"37824":20398,"37825":25173,"37826":20175,"37827":36794,"37828":22793,"37829":27497,"37830":33303,"37831":31807,"37832":21253,"37833":23453,"37834":25265,"37835":27873,"37836":32990,"37837":30770,"37838":35914,"37839":39165,"37840":22696,"37841":27598,"37842":28288,"37843":33032,"37844":40665,"37845":35379,"37846":34220,"37847":36493,"37848":19982,"37849":35465,"37850":25671,"37851":27096,"37852":35617,"37853":26332,"37854":26469,"37855":38972,"37856":20081,"37857":35239,"37858":31452,"37859":38534,"37860":26053,"37861":20001,"37862":29471,"37863":32209,"37864":28057,"37865":22593,"37866":31036,"37867":21169,"37868":25147,"37869":38666,"37870":40802,"37871":26278,"37872":27508,"37873":24651,"37874":32244,"37875":37676,"37876":28809,"37877":21172,"37878":27004,"37879":37682,"37880":28286,"37881":24357,"37882":20096,"37883":26365,"37884":22985,"37885":23437,"37886":23947,"37952":27179,"37953":26907,"37954":21936,"37955":31874,"37956":36796,"37957":27018,"37958":21682,"37959":40235,"37960":38635,"37961":26905,"37962":25539,"37963":39364,"37964":20967,"37965":26626,"37966":36795,"37967":20685,"37968":23776,"37969":26627,"37970":20970,"37971":21250,"37972":30834,"37973":30033,"37974":30048,"37975":22138,"37976":37618,"37977":22592,"37978":26622,"37979":20451,"37980":26466,"37981":31870,"37982":21249,"37983":20452,"37984":20453,"37985":20969,"37986":21498,"37987":21720,"37988":22222,"37989":22310,"37990":22327,"37991":22328,"37992":22408,"37993":22451,"37994":22442,"37995":22448,"37996":22486,"37997":22640,"37998":22713,"37999":22743,"38000":23670,"38001":23740,"38002":23749,"38003":23742,"38004":23926,"38005":24342,"38006":24634,"38007":25525,"38008":26433,"38009":26467,"38010":26529,"38011":26810,"38012":26917,"38013":26920,"38014":27258,"38049":26915,"38050":26913,"38051":27006,"38052":27009,"38053":27101,"38054":27182,"38055":27250,"38056":27423,"38057":27615,"38058":28181,"38059":29077,"38060":29927,"38061":29938,"38062":29936,"38063":29937,"38064":29944,"38065":29957,"38066":30057,"38067":30314,"38068":30836,"38069":31437,"38070":31439,"38071":31445,"38072":31443,"38073":31457,"38074":31472,"38075":31490,"38076":31763,"38077":31767,"38078":31888,"38079":31917,"38080":31936,"38081":31960,"38082":32155,"38083":32261,"38084":32359,"38085":32387,"38086":32400,"38087":33188,"38088":33373,"38089":33826,"38090":34009,"38091":34352,"38092":34475,"38093":34543,"38094":34992,"38095":35011,"38096":35012,"38097":35076,"38098":59183,"38099":36542,"38100":36552,"38101":36684,"38102":36791,"38103":36826,"38104":36903,"38105":36950,"38106":37685,"38107":37691,"38108":37817,"38109":38282,"38110":38294,"38111":38777,"38112":38790,"38113":38800,"38114":39082,"38115":39830,"38116":39831,"38117":39860,"38118":39887,"38119":39889,"38120":39890,"38121":39922,"38122":39921,"38123":39984,"38124":40007,"38125":40026,"38126":40176,"38127":40262,"38128":40292,"38129":40363,"38130":20036,"38131":21583,"38132":25368,"38133":39857,"38134":40041,"38135":40263,"38136":40293,"38137":39983,"38138":40639,"38139":20916,"38140":21610,"38141":26528,"38142":39822,"38208":37032,"38209":20914,"38210":13869,"38211":25285,"38212":21189,"38213":26545,"38214":21709,"38215":24658,"38216":21441,"38217":28913,"38218":22531,"38219":21855,"38220":37390,"38221":30528,"38222":29756,"38223":29002,"38224":28377,"38225":21472,"38226":29486,"38227":35023,"38228":30861,"38229":32675,"38230":32171,"38231":36394,"38232":37979,"38233":25452,"38234":24487,"38235":23557,"38236":32827,"38237":23791,"38238":14776,"38239":29009,"38240":36045,"38241":38894,"38242":22642,"38243":23139,"38244":32632,"38245":23895,"38246":24943,"38247":27032,"38248":32137,"38249":31918,"38250":32179,"38251":28545,"38252":23290,"38253":22715,"38254":29269,"38255":30286,"38256":36653,"38257":37561,"38258":40286,"38259":40623,"38260":32583,"38261":40388,"38262":36120,"38263":20915,"38264":34412,"38265":21668,"38266":21414,"38267":21030,"38268":26422,"38269":20001,"38270":21364,"38305":24313,"38306":21177,"38307":21647,"38308":24312,"38309":22956,"38310":24625,"38311":29248,"38312":33047,"38313":30267,"38314":24333,"38315":26187,"38316":26280,"38317":24932,"38318":25423,"38319":28895,"38320":27940,"38321":31911,"38322":31945,"38323":21465,"38324":25933,"38325":22338,"38326":29647,"38327":32966,"38328":13649,"38329":27445,"38330":30849,"38331":21452,"38332":29483,"38333":29482,"38334":29641,"38335":30026,"38336":23033,"38337":29124,"38338":29966,"38339":32220,"38340":39393,"38341":35241,"38342":28662,"38343":14935,"38344":25834,"38345":15341,"38346":27809,"38347":28284,"38348":30055,"38349":22633,"38350":22633,"38351":20996,"38352":59338,"38353":24967,"38354":25658,"38355":33263,"38356":59342,"38357":20917,"38358":20945,"38359":27769,"38360":22815,"38361":36857,"38362":39153,"38363":25911,"38364":33033,"38365":34996,"38366":14890,"38367":36525,"38368":32663,"38369":39440,"38370":32037,"38371":27336,"38372":20876,"38373":21031,"38374":59360,"38375":33050,"38376":21408,"38377":21410,"38378":27738,"38379":27703,"38380":33304,"38381":21894,"38382":24315,"38383":20937,"38384":30897,"38385":37474,"38386":21357,"38387":20931,"38388":59374,"38389":33905,"38390":35207,"38391":38765,"38392":35728,"38393":38563,"38394":24316,"38395":38583,"38396":20814,"38397":39952,"38398":26160,"38464":37461,"38465":30728,"38466":37701,"38467":37491,"38468":37737,"38469":59390,"38470":59391,"38471":59392,"38472":59393,"38473":37343,"38474":37338,"38475":30804,"38476":30822,"38477":30856,"38478":30902,"38479":30919,"38480":30930,"38481":30935,"38482":8491,"38483":8651,"38484":30948,"38485":30958,"38486":30960,"38487":30961,"38488":30965,"38489":31026,"38490":31027,"38491":31030,"38492":31064,"38493":12307,"38494":31065,"38495":31089,"38496":31102,"38497":31107,"38498":31110,"38499":31111,"38500":31121,"38501":31129,"38502":31135,"38503":31141,"38504":31202,"38505":31217,"38506":31220,"38507":31274,"38508":31290,"38509":31301,"38510":31333,"38511":31420,"38512":31426,"38513":31433,"38514":31451,"38515":31465,"38516":31486,"38517":31500,"38518":31527,"38519":31529,"38520":31554,"38521":31555,"38522":31573,"38523":31599,"38524":31666,"38525":27102,"38526":27129,"38561":37238,"38562":33114,"38563":33527,"38564":21579,"38565":33074,"38566":32957,"38567":33816,"38568":37214,"38569":37232,"38570":37260,"38571":33096,"38572":59459,"38573":17462,"38574":33113,"38575":32927,"38576":59463,"38577":21833,"38578":21537,"38579":21722,"38580":21554,"38581":21945,"38582":21652,"38583":59470,"38584":30802,"38585":30789,"38586":30796,"38587":59474,"38588":33981,"38589":33820,"38590":33476,"38591":59478,"38592":33915,"38593":35629,"38594":59481,"38595":22347,"38596":59483,"38597":59484,"38598":22341,"38599":34766,"38600":22112,"38601":21994,"38602":22139,"38603":32956,"38604":59491,"38605":30904,"38606":27148,"38607":21708,"38608":31696,"38609":31724,"38610":31738,"38611":31765,"38612":31771,"38613":31797,"38614":31812,"38615":31853,"38616":31886,"38617":31928,"38618":31939,"38619":31974,"38620":31981,"38621":31987,"38622":31989,"38623":31993,"38624":59511,"38625":31996,"38626":32139,"38627":32151,"38628":32164,"38629":32168,"38630":32205,"38631":32208,"38632":32211,"38633":32229,"38634":32253,"38635":27154,"38636":27170,"38637":27184,"38638":27190,"38639":27237,"38640":59527,"38641":59528,"38642":59529,"38643":59530,"38644":59531,"38645":59532,"38646":59533,"38647":59534,"38648":27251,"38649":27256,"38650":59537,"38651":59538,"38652":27260,"38653":27305,"38654":27306,"38720":9450,"38721":9312,"38722":9313,"38723":9314,"38724":9315,"38725":9316,"38726":9317,"38727":9318,"38728":9319,"38729":9320,"38730":9321,"38731":9322,"38732":9323,"38733":9324,"38734":9325,"38735":9326,"38736":9327,"38737":9328,"38738":9329,"38739":9330,"38740":9331,"38741":37700,"38742":37805,"38743":37830,"38744":37861,"38745":37914,"38746":37921,"38747":37950,"38748":37953,"38749":37971,"38750":37978,"38751":38042,"38752":38071,"38753":38104,"38754":38110,"38755":38131,"38756":38147,"38757":38158,"38758":38159,"38759":38168,"38760":38173,"38761":38186,"38762":38187,"38763":38207,"38764":38213,"38765":38222,"38766":38242,"38767":38245,"38768":38249,"38769":38258,"38770":38279,"38771":38297,"38772":38304,"38773":38322,"38774":38502,"38775":38557,"38776":38575,"38777":38578,"38778":38707,"38779":38715,"38780":38733,"38781":38735,"38782":38737,"38817":38741,"38818":38756,"38819":38763,"38820":38769,"38821":38802,"38822":38834,"38823":38898,"38824":38973,"38825":38996,"38826":39077,"38827":39107,"38828":39130,"38829":39150,"38830":39197,"38831":39200,"38832":39267,"38833":39296,"38834":39303,"38835":39309,"38836":39315,"38837":39317,"38838":39356,"38839":39368,"38840":39410,"38841":39606,"38842":39641,"38843":39646,"38844":39695,"38845":39753,"38846":39794,"38847":39811,"38848":39839,"38849":39867,"38850":39907,"38851":39925,"38852":39936,"38853":39940,"38854":39963,"38855":9398,"38856":9399,"38857":9400,"38858":9401,"38859":9402,"38860":9403,"38861":9404,"38862":9405,"38863":9406,"38864":9407,"38865":9408,"38866":9409,"38867":9410,"38868":9411,"38869":9412,"38870":9413,"38871":9414,"38872":9415,"38873":9416,"38874":9417,"38875":9418,"38876":9419,"38877":9420,"38878":9421,"38879":9422,"38880":9423,"38881":9424,"38882":9425,"38883":9426,"38884":9427,"38885":9428,"38886":9429,"38887":9430,"38888":9431,"38889":9432,"38890":9433,"38891":9434,"38892":9435,"38893":9436,"38894":9437,"38895":9438,"38896":9439,"38897":9440,"38898":9441,"38899":9442,"38900":9443,"38901":9444,"38902":9445,"38903":9446,"38904":9447,"38905":9448,"38906":9449,"38907":174,"38908":8482,"38909":59697,"38910":59698,"38976":40054,"38977":10122,"38978":10123,"38979":10124,"38980":10125,"38981":10126,"38982":10127,"38983":10128,"38984":10129,"38985":10130,"38986":10131,"38987":40069,"38988":40070,"38989":40071,"38990":40075,"38991":40080,"38992":40094,"38993":40110,"38994":40112,"38995":40114,"38996":40116,"38997":40122,"38998":40124,"38999":40125,"39000":40134,"39001":40135,"39002":40138,"39003":40139,"39004":40147,"39005":40152,"39006":40153,"39007":40162,"39008":40171,"39009":40172,"39010":40234,"39011":40264,"39012":40272,"39013":40314,"39014":40390,"39015":40523,"39016":40533,"39017":40539,"39018":40561,"39019":40618,"39020":40637,"39021":40644,"39022":40674,"39023":40682,"39024":40712,"39025":40715,"39026":40717,"39027":40737,"39028":40772,"39029":40785,"39030":40861,"39031":64014,"39032":64015,"39033":64017,"39034":64019,"39035":64020,"39036":64024,"39037":64031,"39038":64032,"39073":64033,"39074":64035,"39075":64036,"39076":64039,"39077":64040,"39078":64041,"39079":19972,"39080":20015,"39081":20097,"39082":20103,"39083":20131,"39084":20151,"39085":20156,"39086":20216,"39087":20264,"39088":20265,"39089":20279,"39090":20290,"39091":20293,"39092":20299,"39093":20338,"39094":20386,"39095":20400,"39096":20413,"39097":20424,"39098":20428,"39099":20464,"39100":20466,"39101":20473,"39102":20483,"39103":20488,"39104":20532,"39105":20539,"39106":20568,"39107":20582,"39108":20609,"39109":20624,"39110":20668,"39111":20688,"39112":20703,"39113":20705,"39114":20732,"39115":20749,"39116":20779,"39117":20832,"39118":20910,"39119":20920,"39120":20946,"39121":20962,"39122":20997,"39123":21044,"39124":21052,"39125":21081,"39126":21096,"39127":21113,"39128":21156,"39129":21196,"39130":21287,"39131":21314,"39132":21341,"39133":21373,"39134":21374,"39135":21445,"39136":21456,"39137":21458,"39138":21502,"39139":21613,"39140":21637,"39141":21651,"39142":21662,"39143":21689,"39144":21731,"39145":21743,"39146":21773,"39147":21784,"39148":21797,"39149":21800,"39150":21803,"39151":21831,"39152":21881,"39153":21904,"39154":21940,"39155":21953,"39156":21975,"39157":21976,"39158":22011,"39159":20404,"39160":22049,"39161":8707,"39162":22098,"39163":59852,"39164":9787,"39165":59854,"39166":59855,"39232":22109,"39233":9332,"39234":9333,"39235":9334,"39236":9335,"39237":9336,"39238":9337,"39239":9338,"39240":9339,"39241":9340,"39242":9341,"39243":9342,"39244":9343,"39245":9344,"39246":9345,"39247":9346,"39248":9347,"39249":9348,"39250":9349,"39251":9350,"39252":9351,"39253":22113,"39254":22153,"39255":22155,"39256":22174,"39257":22177,"39258":22193,"39259":22201,"39260":22207,"39261":22230,"39262":22255,"39263":22293,"39264":22301,"39265":22322,"39266":22333,"39267":22335,"39268":22339,"39269":8660,"39270":22398,"39271":22410,"39272":22413,"39273":22416,"39274":22428,"39275":22459,"39276":22462,"39277":22468,"39278":22494,"39279":22526,"39280":22546,"39281":22562,"39282":22599,"39283":22620,"39284":22623,"39285":22643,"39286":22695,"39287":22698,"39288":22704,"39289":22709,"39290":22710,"39291":22731,"39292":22736,"39293":22752,"39294":22789,"39329":22801,"39330":22921,"39331":22932,"39332":22938,"39333":22943,"39334":22960,"39335":22968,"39336":22980,"39337":23023,"39338":23024,"39339":23032,"39340":23042,"39341":23051,"39342":23053,"39343":23058,"39344":23073,"39345":23076,"39346":23079,"39347":23082,"39348":23083,"39349":23084,"39350":23101,"39351":23109,"39352":23124,"39353":23129,"39354":23137,"39355":23144,"39356":23147,"39357":23150,"39358":23153,"39359":23161,"39360":23166,"39361":23169,"39362":23170,"39363":23174,"39364":23176,"39365":23185,"39366":23193,"39367":23200,"39368":23201,"39369":23211,"39370":23235,"39371":23246,"39372":23247,"39373":23251,"39374":23268,"39375":23280,"39376":23294,"39377":23309,"39378":23313,"39379":23317,"39380":23327,"39381":23339,"39382":23361,"39383":23364,"39384":23366,"39385":23370,"39386":23375,"39387":23400,"39388":23412,"39389":23414,"39390":23420,"39391":23426,"39392":23440,"39393":9372,"39394":9373,"39395":9374,"39396":9375,"39397":9376,"39398":9377,"39399":9378,"39400":9379,"39401":9380,"39402":9381,"39403":9382,"39404":9383,"39405":9384,"39406":9385,"39407":9386,"39408":9387,"39409":9388,"39410":9389,"39411":9390,"39412":9391,"39413":9392,"39414":9393,"39415":9394,"39416":9395,"39417":9396,"39418":9397,"39419":60009,"39420":12850,"39421":12849,"39422":27307,"39488":23446,"39489":9352,"39490":9353,"39491":9354,"39492":9355,"39493":9356,"39494":9357,"39495":9358,"39496":9359,"39497":9360,"39498":9361,"39499":9362,"39500":9363,"39501":9364,"39502":9365,"39503":9366,"39504":9367,"39505":9368,"39506":9369,"39507":9370,"39508":9371,"39509":23509,"39510":23511,"39511":23587,"39512":23685,"39513":23710,"39514":23746,"39515":23824,"39516":23852,"39517":23855,"39518":23880,"39519":23894,"39520":23920,"39521":23931,"39522":23941,"39523":23972,"39524":23979,"39525":23990,"39526":24001,"39527":24023,"39528":24073,"39529":24136,"39530":24210,"39531":24253,"39532":24334,"39533":24434,"39534":24497,"39535":24514,"39536":24539,"39537":24543,"39538":24611,"39539":24702,"39540":24791,"39541":24839,"39542":24844,"39543":24857,"39544":24866,"39545":24912,"39546":24928,"39547":24961,"39548":24981,"39549":25017,"39550":25024,"39585":25039,"39586":25043,"39587":25050,"39588":25232,"39589":25393,"39590":8835,"39591":25399,"39592":25465,"39593":25483,"39594":25537,"39595":25570,"39596":25574,"39597":25595,"39598":25598,"39599":25607,"39600":25650,"39601":25656,"39602":25659,"39603":25690,"39604":25713,"39605":25724,"39606":25741,"39607":25775,"39608":25780,"39609":25782,"39610":25821,"39611":25829,"39612":25866,"39613":25873,"39614":25887,"39615":25951,"39616":25965,"39617":25990,"39618":26037,"39619":26046,"39620":26065,"39621":26068,"39622":26083,"39623":26111,"39624":26136,"39625":26147,"39626":26211,"39627":26219,"39628":26237,"39629":26245,"39630":26258,"39631":26266,"39632":26276,"39633":26285,"39634":26291,"39635":26294,"39636":26317,"39637":26318,"39638":26370,"39639":26380,"39640":26393,"39641":26436,"39642":26475,"39643":26511,"39644":26532,"39645":26559,"39646":26582,"39647":26583,"39648":8834,"39649":26637,"39650":26640,"39651":26651,"39652":26678,"39653":26695,"39654":26710,"39655":26756,"39656":26760,"39657":26813,"39658":26819,"39659":26821,"39660":26882,"39661":26883,"39662":26889,"39663":26904,"39664":26947,"39665":26950,"39666":26980,"39667":26983,"39668":26994,"39669":27013,"39670":27039,"39671":27042,"39672":27089,"39673":27093,"39674":27094,"39675":39457,"39676":39462,"39677":39471,"39678":27329,"39744":22975,"39745":27105,"39746":27139,"39747":27162,"39748":27164,"39749":27180,"39750":27181,"39751":27187,"39752":27203,"39753":27205,"39754":27212,"39755":27219,"39756":27223,"39757":27235,"39758":27252,"39759":27266,"39760":27274,"39761":27279,"39762":27289,"39763":27303,"39764":27313,"39765":27317,"39766":27326,"39767":27337,"39768":27348,"39769":27352,"39770":27382,"39771":27479,"39772":27514,"39773":27612,"39774":27676,"39775":27697,"39776":27736,"39777":27758,"39778":27765,"39779":27775,"39780":27823,"39781":27851,"39782":27871,"39783":27903,"39784":27906,"39785":27909,"39786":27910,"39787":27942,"39788":27991,"39789":27995,"39790":28017,"39791":28033,"39792":28047,"39793":28069,"39794":28081,"39795":28158,"39796":28162,"39797":28164,"39798":28175,"39799":28184,"39800":28202,"39801":28240,"39802":28249,"39803":28314,"39804":28341,"39805":28344,"39806":28379,"39841":28410,"39842":28420,"39843":28427,"39844":28428,"39845":28438,"39846":28439,"39847":28468,"39848":28477,"39849":28502,"39850":28537,"39851":28554,"39852":28573,"39853":28575,"39854":28603,"39855":28606,"39856":28627,"39857":28633,"39858":28664,"39859":28675,"39860":28747,"39861":28749,"39862":28752,"39863":28756,"39864":28764,"39865":28775,"39866":28791,"39867":28793,"39868":28811,"39869":28815,"39870":28832,"39871":28835,"39872":28837,"39873":28838,"39874":28839,"39875":28868,"39876":28876,"39877":28880,"39878":28886,"39879":618,"39880":603,"39881":230,"39882":652,"39883":593,"39884":596,"39885":650,"39886":605,"39887":601,"39888":602,"39889":604,"39890":609,"39891":7747,"39892":7753,"39893":330,"39894":7739,"39895":629,"39896":240,"39897":643,"39898":658,"39899":679,"39900":676,"39901":227,"39902":60294,"39903":60295,"39904":623,"39905":632,"39906":647,"39907":60299,"39908":199,"39909":339,"39910":594,"39911":65351,"39912":715,"39913":719,"39914":65345,"39915":65346,"39916":65348,"39917":65349,"39918":65350,"39919":65352,"39920":65353,"39921":65354,"39922":65355,"39923":65356,"39924":65357,"39925":65358,"39926":65359,"39927":65360,"39928":65362,"39929":65363,"39930":65364,"39931":65365,"39932":65366,"39933":65367,"39934":65370,"40000":28917,"40001":12832,"40002":12833,"40003":12834,"40004":12835,"40005":12836,"40006":12837,"40007":12838,"40008":12839,"40009":12840,"40010":12841,"40011":28926,"40012":28933,"40013":28957,"40014":28969,"40015":28971,"40016":28972,"40017":28979,"40018":28981,"40019":28987,"40020":28990,"40021":28992,"40022":29007,"40023":29035,"40024":29045,"40025":29047,"40026":29052,"40027":29054,"40028":29068,"40029":29070,"40030":29073,"40031":29078,"40032":29090,"40033":29091,"40034":29101,"40035":29108,"40036":29111,"40037":29114,"40038":29137,"40039":29149,"40040":29163,"40041":29184,"40042":29193,"40043":29198,"40044":29199,"40045":29206,"40046":29207,"40047":29220,"40048":23204,"40049":29230,"40050":8838,"40051":29271,"40052":29276,"40053":29332,"40054":29444,"40055":29456,"40056":29505,"40057":29556,"40058":29580,"40059":29583,"40060":29592,"40061":29596,"40062":29598,"40097":29607,"40098":29610,"40099":29653,"40100":29665,"40101":29666,"40102":29668,"40103":29670,"40104":29679,"40105":29683,"40106":8839,"40107":29689,"40108":29691,"40109":29698,"40110":29713,"40111":29714,"40112":29716,"40113":29717,"40114":29719,"40115":29721,"40116":29724,"40117":29726,"40118":29727,"40119":29751,"40120":29752,"40121":29753,"40122":29763,"40123":29765,"40124":29767,"40125":29768,"40126":29769,"40127":29779,"40128":29782,"40129":29797,"40130":29803,"40131":29804,"40132":29812,"40133":29818,"40134":29826,"40135":21378,"40136":24191,"40137":20008,"40138":24186,"40139":20886,"40140":23424,"40141":21353,"40142":11911,"40143":60436,"40144":21251,"40145":9746,"40146":33401,"40147":17553,"40148":11916,"40149":11914,"40150":20022,"40151":60444,"40152":21274,"40153":60446,"40154":60447,"40155":11925,"40156":60449,"40157":60450,"40158":9492,"40159":20058,"40160":36790,"40161":24308,"40162":20872,"40163":20101,"40164":60457,"40165":20031,"40166":60459,"40167":60460,"40168":20059,"40169":21430,"40170":36710,"40171":32415,"40172":35744,"40173":36125,"40174":40479,"40175":38376,"40176":38021,"40177":38429,"40178":25164,"40179":27701,"40180":20155,"40181":24516,"40182":28780,"40183":11950,"40184":21475,"40185":27362,"40186":39483,"40187":39484,"40188":39512,"40189":39516,"40190":39523,"40256":9742,"40257":8594,"40258":8592,"40259":8593,"40260":8595,"40261":8680,"40262":8678,"40263":8679,"40264":8681,"40265":8680,"40266":8678,"40267":8679,"40268":8681,"40269":9758,"40270":9756,"40271":9755,"40272":9759,"40273":12310,"40274":12311,"40275":9675,"40276":10005,"40277":10003,"40278":22267,"40279":9789,"40280":22813,"40281":26189,"40282":29221,"40283":10025,"40284":10017,"40285":9786,"40286":9785,"40287":60515,"40288":60516,"40289":60517,"40290":60518,"40291":60519,"40292":23672,"40293":9836,"40294":9834,"40295":23249,"40296":23479,"40297":23804,"40298":60526,"40299":9993,"40300":9986,"40301":60529,"40302":60530,"40303":60531,"40304":60532,"40305":23765,"40306":26478,"40307":29793,"40308":29853,"40309":32595,"40310":34195,"40311":10063,"40312":60540,"40313":60541,"40314":23928,"40315":24379,"40316":60544,"40317":9473,"40318":9475,"40353":60547,"40354":60548,"40355":60549,"40356":60550,"40357":60551,"40358":60552,"40359":60553,"40360":60554,"40361":60555,"40362":60556,"40363":60557,"40364":60558,"40365":60559,"40366":60560,"40367":60561,"40368":39602,"40369":39648,"40370":39700,"40371":39732,"40372":39737,"40373":39744,"40374":39760,"40375":39807,"40376":9788,"40377":32149,"40378":9729,"40379":38708,"40380":9730,"40381":60575,"40382":60576,"40383":60577,"40384":9992,"40385":60579,"40386":60580,"40387":60581,"40388":60582,"40389":60583,"40390":60584,"40391":60585,"40392":8507,"40393":8481,"40394":26343,"40395":28247,"40396":60590,"40397":29015,"40398":31178,"40399":8470,"40400":33132,"40401":35577,"40402":38998,"40403":60597,"40404":60598,"40405":9760,"40406":60600,"40407":9828,"40408":9824,"40409":9831,"40410":9827,"40411":9826,"40412":9830,"40413":9825,"40414":9829,"40415":60609,"40416":60610,"40417":27364,"40418":8478,"40419":13250,"40420":13272,"40421":13217,"40422":60616,"40423":13221,"40424":60618,"40425":60619,"40426":60620,"40427":60621,"40428":60622,"40429":9745,"40430":39809,"40431":39819,"40432":39821,"40433":39901,"40434":39913,"40435":39917,"40436":39924,"40437":39967,"40438":39968,"40439":39974,"40440":40019,"40441":40029,"40442":40059,"40443":40204,"40444":40214,"40445":8626,"40446":27397,"40512":36073,"40513":36082,"40514":36099,"40515":36113,"40516":36124,"40517":36218,"40518":36265,"40519":36288,"40520":36353,"40521":36366,"40522":36422,"40523":36456,"40524":36465,"40525":36478,"40526":36480,"40527":36534,"40528":36537,"40529":36540,"40530":36547,"40531":36580,"40532":36589,"40533":36594,"40534":36656,"40535":36673,"40536":36682,"40537":36773,"40538":36787,"40539":36792,"40540":36810,"40541":36815,"40542":36872,"40543":36915,"40544":36919,"40545":36964,"40546":36972,"40547":37289,"40548":37302,"40549":37316,"40550":37370,"40551":37384,"40552":37395,"40553":37409,"40554":37416,"40555":37419,"40556":37429,"40557":37436,"40558":37441,"40559":37464,"40560":37469,"40561":37471,"40562":37483,"40563":37486,"40564":37505,"40565":37508,"40566":37513,"40567":37519,"40568":37553,"40569":37562,"40570":37567,"40571":37588,"40572":37595,"40573":37603,"40574":37605,"40609":37611,"40610":37612,"40611":37620,"40612":37622,"40613":37629,"40614":37635,"40615":37639,"40616":37680,"40617":37681,"40618":37696,"40619":37698,"40620":37699,"40621":37727,"40622":37730,"40623":37734,"40624":37736,"40625":37747,"40626":37748,"40627":37752,"40628":37757,"40629":37761,"40630":37764,"40631":37766,"40632":37767,"40633":37776,"40634":37788,"40635":37792,"40636":37816,"40637":37819,"40638":37821,"40639":37823,"40640":37835,"40641":37843,"40642":37851,"40643":37856,"40644":37872,"40645":37873,"40646":37875,"40647":37876,"40648":37889,"40649":37892,"40650":37896,"40651":37911,"40652":37915,"40653":37917,"40654":37924,"40655":37925,"40656":37926,"40657":37933,"40658":37954,"40659":37955,"40660":37965,"40661":37972,"40662":37976,"40663":37989,"40664":37991,"40665":37996,"40666":38009,"40667":38011,"40668":38264,"40669":38277,"40670":38310,"40671":38314,"40672":38486,"40673":38523,"40674":38565,"40675":38644,"40676":38683,"40677":38710,"40678":38720,"40679":38721,"40680":38743,"40681":38791,"40682":38793,"40683":38811,"40684":38833,"40685":38845,"40686":38848,"40687":38850,"40688":38866,"40689":38880,"40690":38932,"40691":38933,"40692":38947,"40693":38963,"40694":39016,"40695":39095,"40696":39097,"40697":39111,"40698":39114,"40699":39136,"40700":39137,"40701":39148,"40702":39157,"40768":40225,"40769":40244,"40770":40249,"40771":40265,"40772":40270,"40773":40301,"40774":8759,"40775":40302,"40776":40316,"40777":40323,"40778":40339,"40779":40357,"40780":8748,"40781":40381,"40782":27521,"40783":27569,"40784":40015,"40785":40592,"40786":40384,"40787":60817,"40788":60818,"40789":9775,"40790":9776,"40791":9783,"40792":9779,"40793":9780,"40794":9781,"40795":9778,"40796":9782,"40797":9777,"40798":40393,"40799":40404,"40800":40444,"40801":40458,"40802":40460,"40803":40462,"40804":40472,"40805":40571,"40806":40581,"40807":40610,"40808":40620,"40809":40625,"40810":40641,"40811":40646,"40812":40647,"40813":40689,"40814":40696,"40815":40743,"40816":39182,"40817":39193,"40818":39196,"40819":39223,"40820":39261,"40821":39266,"40822":39323,"40823":39332,"40824":39338,"40825":39352,"40826":39392,"40827":39398,"40828":39413,"40829":39455,"40830":32254,"40865":32263,"40866":32347,"40867":32357,"40868":32364,"40869":32567,"40870":32576,"40871":32577,"40872":32585,"40873":32594,"40874":32655,"40875":32659,"40876":32692,"40877":32733,"40878":32743,"40879":32762,"40880":32770,"40881":32776,"40882":32814,"40883":32815,"40884":32828,"40885":32935,"40886":33036,"40887":33066,"40888":33076,"40889":33090,"40890":33110,"40891":33156,"40892":33189,"40893":33252,"40894":33364,"40895":33381,"40896":33403,"40897":33415,"40898":33471,"40899":33506,"40900":33518,"40901":33528,"40902":33532,"40903":33535,"40904":33547,"40905":33565,"40906":33597,"40907":33623,"40908":33681,"40909":33708,"40910":33741,"40911":33773,"40912":33797,"40913":33812,"40914":33814,"40915":33825,"40916":33838,"40917":33854,"40918":33866,"40919":33875,"40920":33877,"40921":33880,"40922":33892,"40923":33906,"40924":33919,"40925":33920,"40926":33938,"40927":33939,"40928":33942,"40929":33955,"40930":33982,"40931":34014,"40932":34017,"40933":34018,"40934":34020,"40935":34040,"40936":34051,"40937":34053,"40938":34064,"40939":34099,"40940":8208,"40941":34114,"40942":34124,"40943":34130,"40944":34143,"40945":34159,"40946":34160,"40947":34163,"40948":34262,"40949":34272,"40950":34286,"40951":34300,"40952":34317,"40953":34319,"40954":34324,"40955":34344,"40956":34370,"40957":34373,"40958":34418,"41024":34972,"41025":23405,"41026":33079,"41027":60958,"41028":39224,"41029":21874,"41030":21867,"41031":60962,"41032":13774,"41033":21873,"41034":21946,"41035":22001,"41036":13778,"41037":22000,"41038":22021,"41039":22050,"41040":22061,"41041":22083,"41042":22046,"41043":22162,"41044":31949,"41045":21530,"41046":21523,"41047":21655,"41048":26353,"41049":30004,"41050":21581,"41051":22180,"41052":22175,"41053":25811,"41054":25390,"41055":25592,"41056":25886,"41057":20088,"41058":27626,"41059":27698,"41060":27709,"41061":27746,"41062":27826,"41063":28152,"41064":28201,"41065":28278,"41066":28290,"41067":28294,"41068":28347,"41069":28383,"41070":28386,"41071":28433,"41072":28452,"41073":28532,"41074":28561,"41075":28597,"41076":28659,"41077":28661,"41078":28859,"41079":28864,"41080":28943,"41081":8706,"41082":29013,"41083":29043,"41084":29050,"41085":61016,"41086":21027,"41121":61018,"41122":13393,"41123":61020,"41124":36812,"41125":61022,"41126":61023,"41127":192,"41128":200,"41129":204,"41130":210,"41131":217,"41132":193,"41133":205,"41134":211,"41135":218,"41136":257,"41137":275,"41138":299,"41139":333,"41140":363,"41141":470,"41142":196,"41143":203,"41144":207,"41145":214,"41146":220,"41147":198,"41148":199,"41149":209,"41150":195,"41151":213,"41152":225,"41153":233,"41154":237,"41155":243,"41156":250,"41157":472,"41158":228,"41159":235,"41160":239,"41161":246,"41162":252,"41163":230,"41164":231,"41165":241,"41166":227,"41167":245,"41168":462,"41169":283,"41170":464,"41171":466,"41172":468,"41173":474,"41174":197,"41175":201,"41176":29064,"41177":216,"41178":208,"41179":7922,"41180":222,"41181":223,"41182":170,"41183":161,"41184":224,"41185":232,"41186":236,"41187":242,"41188":249,"41189":476,"41190":229,"41191":29080,"41192":29143,"41193":248,"41194":240,"41195":7923,"41196":254,"41197":255,"41198":186,"41199":191,"41200":226,"41201":234,"41202":238,"41203":244,"41204":251,"41205":29173,"41206":194,"41207":202,"41208":206,"41209":212,"41210":219,"41211":184,"41212":164,"41213":61110,"41214":402,"41280":12288,"41281":65292,"41282":12289,"41283":12290,"41284":65294,"41285":8231,"41286":65307,"41287":65306,"41288":65311,"41289":65281,"41290":65072,"41291":8230,"41292":8229,"41293":65104,"41294":65105,"41295":65106,"41296":183,"41297":65108,"41298":65109,"41299":65110,"41300":65111,"41301":65372,"41302":8211,"41303":65073,"41304":8212,"41305":65075,"41306":9588,"41307":65076,"41308":65103,"41309":65288,"41310":65289,"41311":65077,"41312":65078,"41313":65371,"41314":65373,"41315":65079,"41316":65080,"41317":12308,"41318":12309,"41319":65081,"41320":65082,"41321":12304,"41322":12305,"41323":65083,"41324":65084,"41325":12298,"41326":12299,"41327":65085,"41328":65086,"41329":12296,"41330":12297,"41331":65087,"41332":65088,"41333":12300,"41334":12301,"41335":65089,"41336":65090,"41337":12302,"41338":12303,"41339":65091,"41340":65092,"41341":65113,"41342":65114,"41377":65115,"41378":65116,"41379":65117,"41380":65118,"41381":8216,"41382":8217,"41383":8220,"41384":8221,"41385":12317,"41386":12318,"41387":8245,"41388":8242,"41389":65283,"41390":65286,"41391":65290,"41392":8251,"41393":167,"41394":12291,"41395":9675,"41396":9679,"41397":9651,"41398":9650,"41399":9678,"41400":9734,"41401":9733,"41402":9671,"41403":9670,"41404":9633,"41405":9632,"41406":9661,"41407":9660,"41408":12963,"41409":8453,"41410":175,"41411":65507,"41412":65343,"41413":717,"41414":65097,"41415":65098,"41416":65101,"41417":65102,"41418":65099,"41419":65100,"41420":65119,"41421":65120,"41422":65121,"41423":65291,"41424":65293,"41425":215,"41426":247,"41427":177,"41428":8730,"41429":65308,"41430":65310,"41431":65309,"41432":8806,"41433":8807,"41434":8800,"41435":8734,"41436":8786,"41437":8801,"41438":65122,"41439":65123,"41440":65124,"41441":65125,"41442":65126,"41443":65374,"41444":8745,"41445":8746,"41446":8869,"41447":8736,"41448":8735,"41449":8895,"41450":13266,"41451":13265,"41452":8747,"41453":8750,"41454":8757,"41455":8756,"41456":9792,"41457":9794,"41458":8853,"41459":8857,"41460":8593,"41461":8595,"41462":8592,"41463":8594,"41464":8598,"41465":8599,"41466":8601,"41467":8600,"41468":8741,"41469":8739,"41470":65295,"41536":65340,"41537":8725,"41538":65128,"41539":65284,"41540":65509,"41541":12306,"41542":65504,"41543":65505,"41544":65285,"41545":65312,"41546":8451,"41547":8457,"41548":65129,"41549":65130,"41550":65131,"41551":13269,"41552":13212,"41553":13213,"41554":13214,"41555":13262,"41556":13217,"41557":13198,"41558":13199,"41559":13252,"41560":176,"41561":20825,"41562":20827,"41563":20830,"41564":20829,"41565":20833,"41566":20835,"41567":21991,"41568":29929,"41569":31950,"41570":9601,"41571":9602,"41572":9603,"41573":9604,"41574":9605,"41575":9606,"41576":9607,"41577":9608,"41578":9615,"41579":9614,"41580":9613,"41581":9612,"41582":9611,"41583":9610,"41584":9609,"41585":9532,"41586":9524,"41587":9516,"41588":9508,"41589":9500,"41590":9620,"41591":9472,"41592":9474,"41593":9621,"41594":9484,"41595":9488,"41596":9492,"41597":9496,"41598":9581,"41633":9582,"41634":9584,"41635":9583,"41636":9552,"41637":9566,"41638":9578,"41639":9569,"41640":9698,"41641":9699,"41642":9701,"41643":9700,"41644":9585,"41645":9586,"41646":9587,"41647":65296,"41648":65297,"41649":65298,"41650":65299,"41651":65300,"41652":65301,"41653":65302,"41654":65303,"41655":65304,"41656":65305,"41657":8544,"41658":8545,"41659":8546,"41660":8547,"41661":8548,"41662":8549,"41663":8550,"41664":8551,"41665":8552,"41666":8553,"41667":12321,"41668":12322,"41669":12323,"41670":12324,"41671":12325,"41672":12326,"41673":12327,"41674":12328,"41675":12329,"41676":21313,"41677":21316,"41678":21317,"41679":65313,"41680":65314,"41681":65315,"41682":65316,"41683":65317,"41684":65318,"41685":65319,"41686":65320,"41687":65321,"41688":65322,"41689":65323,"41690":65324,"41691":65325,"41692":65326,"41693":65327,"41694":65328,"41695":65329,"41696":65330,"41697":65331,"41698":65332,"41699":65333,"41700":65334,"41701":65335,"41702":65336,"41703":65337,"41704":65338,"41705":65345,"41706":65346,"41707":65347,"41708":65348,"41709":65349,"41710":65350,"41711":65351,"41712":65352,"41713":65353,"41714":65354,"41715":65355,"41716":65356,"41717":65357,"41718":65358,"41719":65359,"41720":65360,"41721":65361,"41722":65362,"41723":65363,"41724":65364,"41725":65365,"41726":65366,"41792":65367,"41793":65368,"41794":65369,"41795":65370,"41796":913,"41797":914,"41798":915,"41799":916,"41800":917,"41801":918,"41802":919,"41803":920,"41804":921,"41805":922,"41806":923,"41807":924,"41808":925,"41809":926,"41810":927,"41811":928,"41812":929,"41813":931,"41814":932,"41815":933,"41816":934,"41817":935,"41818":936,"41819":937,"41820":945,"41821":946,"41822":947,"41823":948,"41824":949,"41825":950,"41826":951,"41827":952,"41828":953,"41829":954,"41830":955,"41831":956,"41832":957,"41833":958,"41834":959,"41835":960,"41836":961,"41837":963,"41838":964,"41839":965,"41840":966,"41841":967,"41842":968,"41843":969,"41844":12549,"41845":12550,"41846":12551,"41847":12552,"41848":12553,"41849":12554,"41850":12555,"41851":12556,"41852":12557,"41853":12558,"41854":12559,"41889":12560,"41890":12561,"41891":12562,"41892":12563,"41893":12564,"41894":12565,"41895":12566,"41896":12567,"41897":12568,"41898":12569,"41899":12570,"41900":12571,"41901":12572,"41902":12573,"41903":12574,"41904":12575,"41905":12576,"41906":12577,"41907":12578,"41908":12579,"41909":12580,"41910":12581,"41911":12582,"41912":12583,"41913":12584,"41914":12585,"41915":729,"41916":713,"41917":714,"41918":711,"41919":715,"41920":9216,"41921":9217,"41922":9218,"41923":9219,"41924":9220,"41925":9221,"41926":9222,"41927":9223,"41928":9224,"41929":9225,"41930":9226,"41931":9227,"41932":9228,"41933":9229,"41934":9230,"41935":9231,"41936":9232,"41937":9233,"41938":9234,"41939":9235,"41940":9236,"41941":9237,"41942":9238,"41943":9239,"41944":9240,"41945":9241,"41946":9242,"41947":9243,"41948":9244,"41949":9245,"41950":9246,"41951":9247,"41952":9249,"41953":8364,"41954":63561,"41955":63562,"41956":63563,"41957":63564,"41958":63565,"41959":63566,"41960":63567,"41961":63568,"41962":63569,"41963":63570,"41964":63571,"41965":63572,"41966":63573,"41967":63574,"41968":63575,"41969":63576,"41970":63577,"41971":63578,"41972":63579,"41973":63580,"41974":63581,"41975":63582,"41976":63583,"41977":63584,"41978":63585,"41979":63586,"41980":63587,"41981":63588,"41982":63589,"42048":19968,"42049":20057,"42050":19969,"42051":19971,"42052":20035,"42053":20061,"42054":20102,"42055":20108,"42056":20154,"42057":20799,"42058":20837,"42059":20843,"42060":20960,"42061":20992,"42062":20993,"42063":21147,"42064":21269,"42065":21313,"42066":21340,"42067":21448,"42068":19977,"42069":19979,"42070":19976,"42071":19978,"42072":20011,"42073":20024,"42074":20961,"42075":20037,"42076":20040,"42077":20063,"42078":20062,"42079":20110,"42080":20129,"42081":20800,"42082":20995,"42083":21242,"42084":21315,"42085":21449,"42086":21475,"42087":22303,"42088":22763,"42089":22805,"42090":22823,"42091":22899,"42092":23376,"42093":23377,"42094":23379,"42095":23544,"42096":23567,"42097":23586,"42098":23608,"42099":23665,"42100":24029,"42101":24037,"42102":24049,"42103":24050,"42104":24051,"42105":24062,"42106":24178,"42107":24318,"42108":24331,"42109":24339,"42110":25165,"42145":19985,"42146":19984,"42147":19981,"42148":20013,"42149":20016,"42150":20025,"42151":20043,"42152":23609,"42153":20104,"42154":20113,"42155":20117,"42156":20114,"42157":20116,"42158":20130,"42159":20161,"42160":20160,"42161":20163,"42162":20166,"42163":20167,"42164":20173,"42165":20170,"42166":20171,"42167":20164,"42168":20803,"42169":20801,"42170":20839,"42171":20845,"42172":20846,"42173":20844,"42174":20887,"42175":20982,"42176":20998,"42177":20999,"42178":21000,"42179":21243,"42180":21246,"42181":21247,"42182":21270,"42183":21305,"42184":21320,"42185":21319,"42186":21317,"42187":21342,"42188":21380,"42189":21451,"42190":21450,"42191":21453,"42192":22764,"42193":22825,"42194":22827,"42195":22826,"42196":22829,"42197":23380,"42198":23569,"42199":23588,"42200":23610,"42201":23663,"42202":24052,"42203":24187,"42204":24319,"42205":24340,"42206":24341,"42207":24515,"42208":25096,"42209":25142,"42210":25163,"42211":25166,"42212":25903,"42213":25991,"42214":26007,"42215":26020,"42216":26041,"42217":26085,"42218":26352,"42219":26376,"42220":26408,"42221":27424,"42222":27490,"42223":27513,"42224":27595,"42225":27604,"42226":27611,"42227":27663,"42228":27700,"42229":28779,"42230":29226,"42231":29238,"42232":29243,"42233":29255,"42234":29273,"42235":29275,"42236":29356,"42237":29579,"42238":19993,"42304":19990,"42305":19989,"42306":19988,"42307":19992,"42308":20027,"42309":20045,"42310":20047,"42311":20046,"42312":20197,"42313":20184,"42314":20180,"42315":20181,"42316":20182,"42317":20183,"42318":20195,"42319":20196,"42320":20185,"42321":20190,"42322":20805,"42323":20804,"42324":20873,"42325":20874,"42326":20908,"42327":20985,"42328":20986,"42329":20984,"42330":21002,"42331":21152,"42332":21151,"42333":21253,"42334":21254,"42335":21271,"42336":21277,"42337":20191,"42338":21322,"42339":21321,"42340":21345,"42341":21344,"42342":21359,"42343":21358,"42344":21435,"42345":21487,"42346":21476,"42347":21491,"42348":21484,"42349":21486,"42350":21481,"42351":21480,"42352":21500,"42353":21496,"42354":21493,"42355":21483,"42356":21478,"42357":21482,"42358":21490,"42359":21489,"42360":21488,"42361":21477,"42362":21485,"42363":21499,"42364":22235,"42365":22234,"42366":22806,"42401":22830,"42402":22833,"42403":22900,"42404":22902,"42405":23381,"42406":23427,"42407":23612,"42408":24040,"42409":24039,"42410":24038,"42411":24066,"42412":24067,"42413":24179,"42414":24188,"42415":24321,"42416":24344,"42417":24343,"42418":24517,"42419":25098,"42420":25171,"42421":25172,"42422":25170,"42423":25169,"42424":26021,"42425":26086,"42426":26414,"42427":26412,"42428":26410,"42429":26411,"42430":26413,"42431":27491,"42432":27597,"42433":27665,"42434":27664,"42435":27704,"42436":27713,"42437":27712,"42438":27710,"42439":29359,"42440":29572,"42441":29577,"42442":29916,"42443":29926,"42444":29976,"42445":29983,"42446":29992,"42447":29993,"42448":30000,"42449":30001,"42450":30002,"42451":30003,"42452":30091,"42453":30333,"42454":30382,"42455":30399,"42456":30446,"42457":30683,"42458":30690,"42459":30707,"42460":31034,"42461":31166,"42462":31348,"42463":31435,"42464":19998,"42465":19999,"42466":20050,"42467":20051,"42468":20073,"42469":20121,"42470":20132,"42471":20134,"42472":20133,"42473":20223,"42474":20233,"42475":20249,"42476":20234,"42477":20245,"42478":20237,"42479":20240,"42480":20241,"42481":20239,"42482":20210,"42483":20214,"42484":20219,"42485":20208,"42486":20211,"42487":20221,"42488":20225,"42489":20235,"42490":20809,"42491":20807,"42492":20806,"42493":20808,"42494":20840,"42560":20849,"42561":20877,"42562":20912,"42563":21015,"42564":21009,"42565":21010,"42566":21006,"42567":21014,"42568":21155,"42569":21256,"42570":21281,"42571":21280,"42572":21360,"42573":21361,"42574":21513,"42575":21519,"42576":21516,"42577":21514,"42578":21520,"42579":21505,"42580":21515,"42581":21508,"42582":21521,"42583":21517,"42584":21512,"42585":21507,"42586":21518,"42587":21510,"42588":21522,"42589":22240,"42590":22238,"42591":22237,"42592":22323,"42593":22320,"42594":22312,"42595":22317,"42596":22316,"42597":22319,"42598":22313,"42599":22809,"42600":22810,"42601":22839,"42602":22840,"42603":22916,"42604":22904,"42605":22915,"42606":22909,"42607":22905,"42608":22914,"42609":22913,"42610":23383,"42611":23384,"42612":23431,"42613":23432,"42614":23429,"42615":23433,"42616":23546,"42617":23574,"42618":23673,"42619":24030,"42620":24070,"42621":24182,"42622":24180,"42657":24335,"42658":24347,"42659":24537,"42660":24534,"42661":25102,"42662":25100,"42663":25101,"42664":25104,"42665":25187,"42666":25179,"42667":25176,"42668":25910,"42669":26089,"42670":26088,"42671":26092,"42672":26093,"42673":26354,"42674":26355,"42675":26377,"42676":26429,"42677":26420,"42678":26417,"42679":26421,"42680":27425,"42681":27492,"42682":27515,"42683":27670,"42684":27741,"42685":27735,"42686":27737,"42687":27743,"42688":27744,"42689":27728,"42690":27733,"42691":27745,"42692":27739,"42693":27725,"42694":27726,"42695":28784,"42696":29279,"42697":29277,"42698":30334,"42699":31481,"42700":31859,"42701":31992,"42702":32566,"42703":32650,"42704":32701,"42705":32769,"42706":32771,"42707":32780,"42708":32786,"42709":32819,"42710":32895,"42711":32905,"42712":32907,"42713":32908,"42714":33251,"42715":33258,"42716":33267,"42717":33276,"42718":33292,"42719":33307,"42720":33311,"42721":33390,"42722":33394,"42723":33406,"42724":34411,"42725":34880,"42726":34892,"42727":34915,"42728":35199,"42729":38433,"42730":20018,"42731":20136,"42732":20301,"42733":20303,"42734":20295,"42735":20311,"42736":20318,"42737":20276,"42738":20315,"42739":20309,"42740":20272,"42741":20304,"42742":20305,"42743":20285,"42744":20282,"42745":20280,"42746":20291,"42747":20308,"42748":20284,"42749":20294,"42750":20323,"42816":20316,"42817":20320,"42818":20271,"42819":20302,"42820":20278,"42821":20313,"42822":20317,"42823":20296,"42824":20314,"42825":20812,"42826":20811,"42827":20813,"42828":20853,"42829":20918,"42830":20919,"42831":21029,"42832":21028,"42833":21033,"42834":21034,"42835":21032,"42836":21163,"42837":21161,"42838":21162,"42839":21164,"42840":21283,"42841":21363,"42842":21365,"42843":21533,"42844":21549,"42845":21534,"42846":21566,"42847":21542,"42848":21582,"42849":21543,"42850":21574,"42851":21571,"42852":21555,"42853":21576,"42854":21570,"42855":21531,"42856":21545,"42857":21578,"42858":21561,"42859":21563,"42860":21560,"42861":21550,"42862":21557,"42863":21558,"42864":21536,"42865":21564,"42866":21568,"42867":21553,"42868":21547,"42869":21535,"42870":21548,"42871":22250,"42872":22256,"42873":22244,"42874":22251,"42875":22346,"42876":22353,"42877":22336,"42878":22349,"42913":22343,"42914":22350,"42915":22334,"42916":22352,"42917":22351,"42918":22331,"42919":22767,"42920":22846,"42921":22941,"42922":22930,"42923":22952,"42924":22942,"42925":22947,"42926":22937,"42927":22934,"42928":22925,"42929":22948,"42930":22931,"42931":22922,"42932":22949,"42933":23389,"42934":23388,"42935":23386,"42936":23387,"42937":23436,"42938":23435,"42939":23439,"42940":23596,"42941":23616,"42942":23617,"42943":23615,"42944":23614,"42945":23696,"42946":23697,"42947":23700,"42948":23692,"42949":24043,"42950":24076,"42951":24207,"42952":24199,"42953":24202,"42954":24311,"42955":24324,"42956":24351,"42957":24420,"42958":24418,"42959":24439,"42960":24441,"42961":24536,"42962":24524,"42963":24535,"42964":24525,"42965":24561,"42966":24555,"42967":24568,"42968":24554,"42969":25106,"42970":25105,"42971":25220,"42972":25239,"42973":25238,"42974":25216,"42975":25206,"42976":25225,"42977":25197,"42978":25226,"42979":25212,"42980":25214,"42981":25209,"42982":25203,"42983":25234,"42984":25199,"42985":25240,"42986":25198,"42987":25237,"42988":25235,"42989":25233,"42990":25222,"42991":25913,"42992":25915,"42993":25912,"42994":26097,"42995":26356,"42996":26463,"42997":26446,"42998":26447,"42999":26448,"43000":26449,"43001":26460,"43002":26454,"43003":26462,"43004":26441,"43005":26438,"43006":26464,"43072":26451,"43073":26455,"43074":27493,"43075":27599,"43076":27714,"43077":27742,"43078":27801,"43079":27777,"43080":27784,"43081":27785,"43082":27781,"43083":27803,"43084":27754,"43085":27770,"43086":27792,"43087":27760,"43088":27788,"43089":27752,"43090":27798,"43091":27794,"43092":27773,"43093":27779,"43094":27762,"43095":27774,"43096":27764,"43097":27782,"43098":27766,"43099":27789,"43100":27796,"43101":27800,"43102":27778,"43103":28790,"43104":28796,"43105":28797,"43106":28792,"43107":29282,"43108":29281,"43109":29280,"43110":29380,"43111":29378,"43112":29590,"43113":29996,"43114":29995,"43115":30007,"43116":30008,"43117":30338,"43118":30447,"43119":30691,"43120":31169,"43121":31168,"43122":31167,"43123":31350,"43124":31995,"43125":32597,"43126":32918,"43127":32915,"43128":32925,"43129":32920,"43130":32923,"43131":32922,"43132":32946,"43133":33391,"43134":33426,"43169":33419,"43170":33421,"43171":35211,"43172":35282,"43173":35328,"43174":35895,"43175":35910,"43176":35925,"43177":35997,"43178":36196,"43179":36208,"43180":36275,"43181":36523,"43182":36554,"43183":36763,"43184":36784,"43185":36802,"43186":36806,"43187":36805,"43188":36804,"43189":24033,"43190":37009,"43191":37026,"43192":37034,"43193":37030,"43194":37027,"43195":37193,"43196":37318,"43197":37324,"43198":38450,"43199":38446,"43200":38449,"43201":38442,"43202":38444,"43203":20006,"43204":20054,"43205":20083,"43206":20107,"43207":20123,"43208":20126,"43209":20139,"43210":20140,"43211":20335,"43212":20381,"43213":20365,"43214":20339,"43215":20351,"43216":20332,"43217":20379,"43218":20363,"43219":20358,"43220":20355,"43221":20336,"43222":20341,"43223":20360,"43224":20329,"43225":20347,"43226":20374,"43227":20350,"43228":20367,"43229":20369,"43230":20346,"43231":20820,"43232":20818,"43233":20821,"43234":20841,"43235":20855,"43236":20854,"43237":20856,"43238":20925,"43239":20989,"43240":21051,"43241":21048,"43242":21047,"43243":21050,"43244":21040,"43245":21038,"43246":21046,"43247":21057,"43248":21182,"43249":21179,"43250":21330,"43251":21332,"43252":21331,"43253":21329,"43254":21350,"43255":21367,"43256":21368,"43257":21369,"43258":21462,"43259":21460,"43260":21463,"43261":21619,"43262":21621,"43328":21654,"43329":21624,"43330":21653,"43331":21632,"43332":21627,"43333":21623,"43334":21636,"43335":21650,"43336":21638,"43337":21628,"43338":21648,"43339":21617,"43340":21622,"43341":21644,"43342":21658,"43343":21602,"43344":21608,"43345":21643,"43346":21629,"43347":21646,"43348":22266,"43349":22403,"43350":22391,"43351":22378,"43352":22377,"43353":22369,"43354":22374,"43355":22372,"43356":22396,"43357":22812,"43358":22857,"43359":22855,"43360":22856,"43361":22852,"43362":22868,"43363":22974,"43364":22971,"43365":22996,"43366":22969,"43367":22958,"43368":22993,"43369":22982,"43370":22992,"43371":22989,"43372":22987,"43373":22995,"43374":22986,"43375":22959,"43376":22963,"43377":22994,"43378":22981,"43379":23391,"43380":23396,"43381":23395,"43382":23447,"43383":23450,"43384":23448,"43385":23452,"43386":23449,"43387":23451,"43388":23578,"43389":23624,"43390":23621,"43425":23622,"43426":23735,"43427":23713,"43428":23736,"43429":23721,"43430":23723,"43431":23729,"43432":23731,"43433":24088,"43434":24090,"43435":24086,"43436":24085,"43437":24091,"43438":24081,"43439":24184,"43440":24218,"43441":24215,"43442":24220,"43443":24213,"43444":24214,"43445":24310,"43446":24358,"43447":24359,"43448":24361,"43449":24448,"43450":24449,"43451":24447,"43452":24444,"43453":24541,"43454":24544,"43455":24573,"43456":24565,"43457":24575,"43458":24591,"43459":24596,"43460":24623,"43461":24629,"43462":24598,"43463":24618,"43464":24597,"43465":24609,"43466":24615,"43467":24617,"43468":24619,"43469":24603,"43470":25110,"43471":25109,"43472":25151,"43473":25150,"43474":25152,"43475":25215,"43476":25289,"43477":25292,"43478":25284,"43479":25279,"43480":25282,"43481":25273,"43482":25298,"43483":25307,"43484":25259,"43485":25299,"43486":25300,"43487":25291,"43488":25288,"43489":25256,"43490":25277,"43491":25276,"43492":25296,"43493":25305,"43494":25287,"43495":25293,"43496":25269,"43497":25306,"43498":25265,"43499":25304,"43500":25302,"43501":25303,"43502":25286,"43503":25260,"43504":25294,"43505":25918,"43506":26023,"43507":26044,"43508":26106,"43509":26132,"43510":26131,"43511":26124,"43512":26118,"43513":26114,"43514":26126,"43515":26112,"43516":26127,"43517":26133,"43518":26122,"43584":26119,"43585":26381,"43586":26379,"43587":26477,"43588":26507,"43589":26517,"43590":26481,"43591":26524,"43592":26483,"43593":26487,"43594":26503,"43595":26525,"43596":26519,"43597":26479,"43598":26480,"43599":26495,"43600":26505,"43601":26494,"43602":26512,"43603":26485,"43604":26522,"43605":26515,"43606":26492,"43607":26474,"43608":26482,"43609":27427,"43610":27494,"43611":27495,"43612":27519,"43613":27667,"43614":27675,"43615":27875,"43616":27880,"43617":27891,"43618":27825,"43619":27852,"43620":27877,"43621":27827,"43622":27837,"43623":27838,"43624":27836,"43625":27874,"43626":27819,"43627":27861,"43628":27859,"43629":27832,"43630":27844,"43631":27833,"43632":27841,"43633":27822,"43634":27863,"43635":27845,"43636":27889,"43637":27839,"43638":27835,"43639":27873,"43640":27867,"43641":27850,"43642":27820,"43643":27887,"43644":27868,"43645":27862,"43646":27872,"43681":28821,"43682":28814,"43683":28818,"43684":28810,"43685":28825,"43686":29228,"43687":29229,"43688":29240,"43689":29256,"43690":29287,"43691":29289,"43692":29376,"43693":29390,"43694":29401,"43695":29399,"43696":29392,"43697":29609,"43698":29608,"43699":29599,"43700":29611,"43701":29605,"43702":30013,"43703":30109,"43704":30105,"43705":30106,"43706":30340,"43707":30402,"43708":30450,"43709":30452,"43710":30693,"43711":30717,"43712":31038,"43713":31040,"43714":31041,"43715":31177,"43716":31176,"43717":31354,"43718":31353,"43719":31482,"43720":31998,"43721":32596,"43722":32652,"43723":32651,"43724":32773,"43725":32954,"43726":32933,"43727":32930,"43728":32945,"43729":32929,"43730":32939,"43731":32937,"43732":32948,"43733":32938,"43734":32943,"43735":33253,"43736":33278,"43737":33293,"43738":33459,"43739":33437,"43740":33433,"43741":33453,"43742":33469,"43743":33439,"43744":33465,"43745":33457,"43746":33452,"43747":33445,"43748":33455,"43749":33464,"43750":33443,"43751":33456,"43752":33470,"43753":33463,"43754":34382,"43755":34417,"43756":21021,"43757":34920,"43758":36555,"43759":36814,"43760":36820,"43761":36817,"43762":37045,"43763":37048,"43764":37041,"43765":37046,"43766":37319,"43767":37329,"43768":38263,"43769":38272,"43770":38428,"43771":38464,"43772":38463,"43773":38459,"43774":38468,"43840":38466,"43841":38585,"43842":38632,"43843":38738,"43844":38750,"43845":20127,"43846":20141,"43847":20142,"43848":20449,"43849":20405,"43850":20399,"43851":20415,"43852":20448,"43853":20433,"43854":20431,"43855":20445,"43856":20419,"43857":20406,"43858":20440,"43859":20447,"43860":20426,"43861":20439,"43862":20398,"43863":20432,"43864":20420,"43865":20418,"43866":20442,"43867":20430,"43868":20446,"43869":20407,"43870":20823,"43871":20882,"43872":20881,"43873":20896,"43874":21070,"43875":21059,"43876":21066,"43877":21069,"43878":21068,"43879":21067,"43880":21063,"43881":21191,"43882":21193,"43883":21187,"43884":21185,"43885":21261,"43886":21335,"43887":21371,"43888":21402,"43889":21467,"43890":21676,"43891":21696,"43892":21672,"43893":21710,"43894":21705,"43895":21688,"43896":21670,"43897":21683,"43898":21703,"43899":21698,"43900":21693,"43901":21674,"43902":21697,"43937":21700,"43938":21704,"43939":21679,"43940":21675,"43941":21681,"43942":21691,"43943":21673,"43944":21671,"43945":21695,"43946":22271,"43947":22402,"43948":22411,"43949":22432,"43950":22435,"43951":22434,"43952":22478,"43953":22446,"43954":22419,"43955":22869,"43956":22865,"43957":22863,"43958":22862,"43959":22864,"43960":23004,"43961":23000,"43962":23039,"43963":23011,"43964":23016,"43965":23043,"43966":23013,"43967":23018,"43968":23002,"43969":23014,"43970":23041,"43971":23035,"43972":23401,"43973":23459,"43974":23462,"43975":23460,"43976":23458,"43977":23461,"43978":23553,"43979":23630,"43980":23631,"43981":23629,"43982":23627,"43983":23769,"43984":23762,"43985":24055,"43986":24093,"43987":24101,"43988":24095,"43989":24189,"43990":24224,"43991":24230,"43992":24314,"43993":24328,"43994":24365,"43995":24421,"43996":24456,"43997":24453,"43998":24458,"43999":24459,"44000":24455,"44001":24460,"44002":24457,"44003":24594,"44004":24605,"44005":24608,"44006":24613,"44007":24590,"44008":24616,"44009":24653,"44010":24688,"44011":24680,"44012":24674,"44013":24646,"44014":24643,"44015":24684,"44016":24683,"44017":24682,"44018":24676,"44019":25153,"44020":25308,"44021":25366,"44022":25353,"44023":25340,"44024":25325,"44025":25345,"44026":25326,"44027":25341,"44028":25351,"44029":25329,"44030":25335,"44096":25327,"44097":25324,"44098":25342,"44099":25332,"44100":25361,"44101":25346,"44102":25919,"44103":25925,"44104":26027,"44105":26045,"44106":26082,"44107":26149,"44108":26157,"44109":26144,"44110":26151,"44111":26159,"44112":26143,"44113":26152,"44114":26161,"44115":26148,"44116":26359,"44117":26623,"44118":26579,"44119":26609,"44120":26580,"44121":26576,"44122":26604,"44123":26550,"44124":26543,"44125":26613,"44126":26601,"44127":26607,"44128":26564,"44129":26577,"44130":26548,"44131":26586,"44132":26597,"44133":26552,"44134":26575,"44135":26590,"44136":26611,"44137":26544,"44138":26585,"44139":26594,"44140":26589,"44141":26578,"44142":27498,"44143":27523,"44144":27526,"44145":27573,"44146":27602,"44147":27607,"44148":27679,"44149":27849,"44150":27915,"44151":27954,"44152":27946,"44153":27969,"44154":27941,"44155":27916,"44156":27953,"44157":27934,"44158":27927,"44193":27963,"44194":27965,"44195":27966,"44196":27958,"44197":27931,"44198":27893,"44199":27961,"44200":27943,"44201":27960,"44202":27945,"44203":27950,"44204":27957,"44205":27918,"44206":27947,"44207":28843,"44208":28858,"44209":28851,"44210":28844,"44211":28847,"44212":28845,"44213":28856,"44214":28846,"44215":28836,"44216":29232,"44217":29298,"44218":29295,"44219":29300,"44220":29417,"44221":29408,"44222":29409,"44223":29623,"44224":29642,"44225":29627,"44226":29618,"44227":29645,"44228":29632,"44229":29619,"44230":29978,"44231":29997,"44232":30031,"44233":30028,"44234":30030,"44235":30027,"44236":30123,"44237":30116,"44238":30117,"44239":30114,"44240":30115,"44241":30328,"44242":30342,"44243":30343,"44244":30344,"44245":30408,"44246":30406,"44247":30403,"44248":30405,"44249":30465,"44250":30457,"44251":30456,"44252":30473,"44253":30475,"44254":30462,"44255":30460,"44256":30471,"44257":30684,"44258":30722,"44259":30740,"44260":30732,"44261":30733,"44262":31046,"44263":31049,"44264":31048,"44265":31047,"44266":31161,"44267":31162,"44268":31185,"44269":31186,"44270":31179,"44271":31359,"44272":31361,"44273":31487,"44274":31485,"44275":31869,"44276":32002,"44277":32005,"44278":32000,"44279":32009,"44280":32007,"44281":32004,"44282":32006,"44283":32568,"44284":32654,"44285":32703,"44286":32772,"44352":32784,"44353":32781,"44354":32785,"44355":32822,"44356":32982,"44357":32997,"44358":32986,"44359":32963,"44360":32964,"44361":32972,"44362":32993,"44363":32987,"44364":32974,"44365":32990,"44366":32996,"44367":32989,"44368":33268,"44369":33314,"44370":33511,"44371":33539,"44372":33541,"44373":33507,"44374":33499,"44375":33510,"44376":33540,"44377":33509,"44378":33538,"44379":33545,"44380":33490,"44381":33495,"44382":33521,"44383":33537,"44384":33500,"44385":33492,"44386":33489,"44387":33502,"44388":33491,"44389":33503,"44390":33519,"44391":33542,"44392":34384,"44393":34425,"44394":34427,"44395":34426,"44396":34893,"44397":34923,"44398":35201,"44399":35284,"44400":35336,"44401":35330,"44402":35331,"44403":35998,"44404":36000,"44405":36212,"44406":36211,"44407":36276,"44408":36557,"44409":36556,"44410":36848,"44411":36838,"44412":36834,"44413":36842,"44414":36837,"44449":36845,"44450":36843,"44451":36836,"44452":36840,"44453":37066,"44454":37070,"44455":37057,"44456":37059,"44457":37195,"44458":37194,"44459":37325,"44460":38274,"44461":38480,"44462":38475,"44463":38476,"44464":38477,"44465":38754,"44466":38761,"44467":38859,"44468":38893,"44469":38899,"44470":38913,"44471":39080,"44472":39131,"44473":39135,"44474":39318,"44475":39321,"44476":20056,"44477":20147,"44478":20492,"44479":20493,"44480":20515,"44481":20463,"44482":20518,"44483":20517,"44484":20472,"44485":20521,"44486":20502,"44487":20486,"44488":20540,"44489":20511,"44490":20506,"44491":20498,"44492":20497,"44493":20474,"44494":20480,"44495":20500,"44496":20520,"44497":20465,"44498":20513,"44499":20491,"44500":20505,"44501":20504,"44502":20467,"44503":20462,"44504":20525,"44505":20522,"44506":20478,"44507":20523,"44508":20489,"44509":20860,"44510":20900,"44511":20901,"44512":20898,"44513":20941,"44514":20940,"44515":20934,"44516":20939,"44517":21078,"44518":21084,"44519":21076,"44520":21083,"44521":21085,"44522":21290,"44523":21375,"44524":21407,"44525":21405,"44526":21471,"44527":21736,"44528":21776,"44529":21761,"44530":21815,"44531":21756,"44532":21733,"44533":21746,"44534":21766,"44535":21754,"44536":21780,"44537":21737,"44538":21741,"44539":21729,"44540":21769,"44541":21742,"44542":21738,"44608":21734,"44609":21799,"44610":21767,"44611":21757,"44612":21775,"44613":22275,"44614":22276,"44615":22466,"44616":22484,"44617":22475,"44618":22467,"44619":22537,"44620":22799,"44621":22871,"44622":22872,"44623":22874,"44624":23057,"44625":23064,"44626":23068,"44627":23071,"44628":23067,"44629":23059,"44630":23020,"44631":23072,"44632":23075,"44633":23081,"44634":23077,"44635":23052,"44636":23049,"44637":23403,"44638":23640,"44639":23472,"44640":23475,"44641":23478,"44642":23476,"44643":23470,"44644":23477,"44645":23481,"44646":23480,"44647":23556,"44648":23633,"44649":23637,"44650":23632,"44651":23789,"44652":23805,"44653":23803,"44654":23786,"44655":23784,"44656":23792,"44657":23798,"44658":23809,"44659":23796,"44660":24046,"44661":24109,"44662":24107,"44663":24235,"44664":24237,"44665":24231,"44666":24369,"44667":24466,"44668":24465,"44669":24464,"44670":24665,"44705":24675,"44706":24677,"44707":24656,"44708":24661,"44709":24685,"44710":24681,"44711":24687,"44712":24708,"44713":24735,"44714":24730,"44715":24717,"44716":24724,"44717":24716,"44718":24709,"44719":24726,"44720":25159,"44721":25331,"44722":25352,"44723":25343,"44724":25422,"44725":25406,"44726":25391,"44727":25429,"44728":25410,"44729":25414,"44730":25423,"44731":25417,"44732":25402,"44733":25424,"44734":25405,"44735":25386,"44736":25387,"44737":25384,"44738":25421,"44739":25420,"44740":25928,"44741":25929,"44742":26009,"44743":26049,"44744":26053,"44745":26178,"44746":26185,"44747":26191,"44748":26179,"44749":26194,"44750":26188,"44751":26181,"44752":26177,"44753":26360,"44754":26388,"44755":26389,"44756":26391,"44757":26657,"44758":26680,"44759":26696,"44760":26694,"44761":26707,"44762":26681,"44763":26690,"44764":26708,"44765":26665,"44766":26803,"44767":26647,"44768":26700,"44769":26705,"44770":26685,"44771":26612,"44772":26704,"44773":26688,"44774":26684,"44775":26691,"44776":26666,"44777":26693,"44778":26643,"44779":26648,"44780":26689,"44781":27530,"44782":27529,"44783":27575,"44784":27683,"44785":27687,"44786":27688,"44787":27686,"44788":27684,"44789":27888,"44790":28010,"44791":28053,"44792":28040,"44793":28039,"44794":28006,"44795":28024,"44796":28023,"44797":27993,"44798":28051,"44864":28012,"44865":28041,"44866":28014,"44867":27994,"44868":28020,"44869":28009,"44870":28044,"44871":28042,"44872":28025,"44873":28037,"44874":28005,"44875":28052,"44876":28874,"44877":28888,"44878":28900,"44879":28889,"44880":28872,"44881":28879,"44882":29241,"44883":29305,"44884":29436,"44885":29433,"44886":29437,"44887":29432,"44888":29431,"44889":29574,"44890":29677,"44891":29705,"44892":29678,"44893":29664,"44894":29674,"44895":29662,"44896":30036,"44897":30045,"44898":30044,"44899":30042,"44900":30041,"44901":30142,"44902":30149,"44903":30151,"44904":30130,"44905":30131,"44906":30141,"44907":30140,"44908":30137,"44909":30146,"44910":30136,"44911":30347,"44912":30384,"44913":30410,"44914":30413,"44915":30414,"44916":30505,"44917":30495,"44918":30496,"44919":30504,"44920":30697,"44921":30768,"44922":30759,"44923":30776,"44924":30749,"44925":30772,"44926":30775,"44961":30757,"44962":30765,"44963":30752,"44964":30751,"44965":30770,"44966":31061,"44967":31056,"44968":31072,"44969":31071,"44970":31062,"44971":31070,"44972":31069,"44973":31063,"44974":31066,"44975":31204,"44976":31203,"44977":31207,"44978":31199,"44979":31206,"44980":31209,"44981":31192,"44982":31364,"44983":31368,"44984":31449,"44985":31494,"44986":31505,"44987":31881,"44988":32033,"44989":32023,"44990":32011,"44991":32010,"44992":32032,"44993":32034,"44994":32020,"44995":32016,"44996":32021,"44997":32026,"44998":32028,"44999":32013,"45000":32025,"45001":32027,"45002":32570,"45003":32607,"45004":32660,"45005":32709,"45006":32705,"45007":32774,"45008":32792,"45009":32789,"45010":32793,"45011":32791,"45012":32829,"45013":32831,"45014":33009,"45015":33026,"45016":33008,"45017":33029,"45018":33005,"45019":33012,"45020":33030,"45021":33016,"45022":33011,"45023":33032,"45024":33021,"45025":33034,"45026":33020,"45027":33007,"45028":33261,"45029":33260,"45030":33280,"45031":33296,"45032":33322,"45033":33323,"45034":33320,"45035":33324,"45036":33467,"45037":33579,"45038":33618,"45039":33620,"45040":33610,"45041":33592,"45042":33616,"45043":33609,"45044":33589,"45045":33588,"45046":33615,"45047":33586,"45048":33593,"45049":33590,"45050":33559,"45051":33600,"45052":33585,"45053":33576,"45054":33603,"45120":34388,"45121":34442,"45122":34474,"45123":34451,"45124":34468,"45125":34473,"45126":34444,"45127":34467,"45128":34460,"45129":34928,"45130":34935,"45131":34945,"45132":34946,"45133":34941,"45134":34937,"45135":35352,"45136":35344,"45137":35342,"45138":35340,"45139":35349,"45140":35338,"45141":35351,"45142":35347,"45143":35350,"45144":35343,"45145":35345,"45146":35912,"45147":35962,"45148":35961,"45149":36001,"45150":36002,"45151":36215,"45152":36524,"45153":36562,"45154":36564,"45155":36559,"45156":36785,"45157":36865,"45158":36870,"45159":36855,"45160":36864,"45161":36858,"45162":36852,"45163":36867,"45164":36861,"45165":36869,"45166":36856,"45167":37013,"45168":37089,"45169":37085,"45170":37090,"45171":37202,"45172":37197,"45173":37196,"45174":37336,"45175":37341,"45176":37335,"45177":37340,"45178":37337,"45179":38275,"45180":38498,"45181":38499,"45182":38497,"45217":38491,"45218":38493,"45219":38500,"45220":38488,"45221":38494,"45222":38587,"45223":39138,"45224":39340,"45225":39592,"45226":39640,"45227":39717,"45228":39730,"45229":39740,"45230":20094,"45231":20602,"45232":20605,"45233":20572,"45234":20551,"45235":20547,"45236":20556,"45237":20570,"45238":20553,"45239":20581,"45240":20598,"45241":20558,"45242":20565,"45243":20597,"45244":20596,"45245":20599,"45246":20559,"45247":20495,"45248":20591,"45249":20589,"45250":20828,"45251":20885,"45252":20976,"45253":21098,"45254":21103,"45255":21202,"45256":21209,"45257":21208,"45258":21205,"45259":21264,"45260":21263,"45261":21273,"45262":21311,"45263":21312,"45264":21310,"45265":21443,"45266":26364,"45267":21830,"45268":21866,"45269":21862,"45270":21828,"45271":21854,"45272":21857,"45273":21827,"45274":21834,"45275":21809,"45276":21846,"45277":21839,"45278":21845,"45279":21807,"45280":21860,"45281":21816,"45282":21806,"45283":21852,"45284":21804,"45285":21859,"45286":21811,"45287":21825,"45288":21847,"45289":22280,"45290":22283,"45291":22281,"45292":22495,"45293":22533,"45294":22538,"45295":22534,"45296":22496,"45297":22500,"45298":22522,"45299":22530,"45300":22581,"45301":22519,"45302":22521,"45303":22816,"45304":22882,"45305":23094,"45306":23105,"45307":23113,"45308":23142,"45309":23146,"45310":23104,"45376":23100,"45377":23138,"45378":23130,"45379":23110,"45380":23114,"45381":23408,"45382":23495,"45383":23493,"45384":23492,"45385":23490,"45386":23487,"45387":23494,"45388":23561,"45389":23560,"45390":23559,"45391":23648,"45392":23644,"45393":23645,"45394":23815,"45395":23814,"45396":23822,"45397":23835,"45398":23830,"45399":23842,"45400":23825,"45401":23849,"45402":23828,"45403":23833,"45404":23844,"45405":23847,"45406":23831,"45407":24034,"45408":24120,"45409":24118,"45410":24115,"45411":24119,"45412":24247,"45413":24248,"45414":24246,"45415":24245,"45416":24254,"45417":24373,"45418":24375,"45419":24407,"45420":24428,"45421":24425,"45422":24427,"45423":24471,"45424":24473,"45425":24478,"45426":24472,"45427":24481,"45428":24480,"45429":24476,"45430":24703,"45431":24739,"45432":24713,"45433":24736,"45434":24744,"45435":24779,"45436":24756,"45437":24806,"45438":24765,"45473":24773,"45474":24763,"45475":24757,"45476":24796,"45477":24764,"45478":24792,"45479":24789,"45480":24774,"45481":24799,"45482":24760,"45483":24794,"45484":24775,"45485":25114,"45486":25115,"45487":25160,"45488":25504,"45489":25511,"45490":25458,"45491":25494,"45492":25506,"45493":25509,"45494":25463,"45495":25447,"45496":25496,"45497":25514,"45498":25457,"45499":25513,"45500":25481,"45501":25475,"45502":25499,"45503":25451,"45504":25512,"45505":25476,"45506":25480,"45507":25497,"45508":25505,"45509":25516,"45510":25490,"45511":25487,"45512":25472,"45513":25467,"45514":25449,"45515":25448,"45516":25466,"45517":25949,"45518":25942,"45519":25937,"45520":25945,"45521":25943,"45522":21855,"45523":25935,"45524":25944,"45525":25941,"45526":25940,"45527":26012,"45528":26011,"45529":26028,"45530":26063,"45531":26059,"45532":26060,"45533":26062,"45534":26205,"45535":26202,"45536":26212,"45537":26216,"45538":26214,"45539":26206,"45540":26361,"45541":21207,"45542":26395,"45543":26753,"45544":26799,"45545":26786,"45546":26771,"45547":26805,"45548":26751,"45549":26742,"45550":26801,"45551":26791,"45552":26775,"45553":26800,"45554":26755,"45555":26820,"45556":26797,"45557":26758,"45558":26757,"45559":26772,"45560":26781,"45561":26792,"45562":26783,"45563":26785,"45564":26754,"45565":27442,"45566":27578,"45632":27627,"45633":27628,"45634":27691,"45635":28046,"45636":28092,"45637":28147,"45638":28121,"45639":28082,"45640":28129,"45641":28108,"45642":28132,"45643":28155,"45644":28154,"45645":28165,"45646":28103,"45647":28107,"45648":28079,"45649":28113,"45650":28078,"45651":28126,"45652":28153,"45653":28088,"45654":28151,"45655":28149,"45656":28101,"45657":28114,"45658":28186,"45659":28085,"45660":28122,"45661":28139,"45662":28120,"45663":28138,"45664":28145,"45665":28142,"45666":28136,"45667":28102,"45668":28100,"45669":28074,"45670":28140,"45671":28095,"45672":28134,"45673":28921,"45674":28937,"45675":28938,"45676":28925,"45677":28911,"45678":29245,"45679":29309,"45680":29313,"45681":29468,"45682":29467,"45683":29462,"45684":29459,"45685":29465,"45686":29575,"45687":29701,"45688":29706,"45689":29699,"45690":29702,"45691":29694,"45692":29709,"45693":29920,"45694":29942,"45729":29943,"45730":29980,"45731":29986,"45732":30053,"45733":30054,"45734":30050,"45735":30064,"45736":30095,"45737":30164,"45738":30165,"45739":30133,"45740":30154,"45741":30157,"45742":30350,"45743":30420,"45744":30418,"45745":30427,"45746":30519,"45747":30526,"45748":30524,"45749":30518,"45750":30520,"45751":30522,"45752":30827,"45753":30787,"45754":30798,"45755":31077,"45756":31080,"45757":31085,"45758":31227,"45759":31378,"45760":31381,"45761":31520,"45762":31528,"45763":31515,"45764":31532,"45765":31526,"45766":31513,"45767":31518,"45768":31534,"45769":31890,"45770":31895,"45771":31893,"45772":32070,"45773":32067,"45774":32113,"45775":32046,"45776":32057,"45777":32060,"45778":32064,"45779":32048,"45780":32051,"45781":32068,"45782":32047,"45783":32066,"45784":32050,"45785":32049,"45786":32573,"45787":32670,"45788":32666,"45789":32716,"45790":32718,"45791":32722,"45792":32796,"45793":32842,"45794":32838,"45795":33071,"45796":33046,"45797":33059,"45798":33067,"45799":33065,"45800":33072,"45801":33060,"45802":33282,"45803":33333,"45804":33335,"45805":33334,"45806":33337,"45807":33678,"45808":33694,"45809":33688,"45810":33656,"45811":33698,"45812":33686,"45813":33725,"45814":33707,"45815":33682,"45816":33674,"45817":33683,"45818":33673,"45819":33696,"45820":33655,"45821":33659,"45822":33660,"45888":33670,"45889":33703,"45890":34389,"45891":24426,"45892":34503,"45893":34496,"45894":34486,"45895":34500,"45896":34485,"45897":34502,"45898":34507,"45899":34481,"45900":34479,"45901":34505,"45902":34899,"45903":34974,"45904":34952,"45905":34987,"45906":34962,"45907":34966,"45908":34957,"45909":34955,"45910":35219,"45911":35215,"45912":35370,"45913":35357,"45914":35363,"45915":35365,"45916":35377,"45917":35373,"45918":35359,"45919":35355,"45920":35362,"45921":35913,"45922":35930,"45923":36009,"45924":36012,"45925":36011,"45926":36008,"45927":36010,"45928":36007,"45929":36199,"45930":36198,"45931":36286,"45932":36282,"45933":36571,"45934":36575,"45935":36889,"45936":36877,"45937":36890,"45938":36887,"45939":36899,"45940":36895,"45941":36893,"45942":36880,"45943":36885,"45944":36894,"45945":36896,"45946":36879,"45947":36898,"45948":36886,"45949":36891,"45950":36884,"45985":37096,"45986":37101,"45987":37117,"45988":37207,"45989":37326,"45990":37365,"45991":37350,"45992":37347,"45993":37351,"45994":37357,"45995":37353,"45996":38281,"45997":38506,"45998":38517,"45999":38515,"46000":38520,"46001":38512,"46002":38516,"46003":38518,"46004":38519,"46005":38508,"46006":38592,"46007":38634,"46008":38633,"46009":31456,"46010":31455,"46011":38914,"46012":38915,"46013":39770,"46014":40165,"46015":40565,"46016":40575,"46017":40613,"46018":40635,"46019":20642,"46020":20621,"46021":20613,"46022":20633,"46023":20625,"46024":20608,"46025":20630,"46026":20632,"46027":20634,"46028":26368,"46029":20977,"46030":21106,"46031":21108,"46032":21109,"46033":21097,"46034":21214,"46035":21213,"46036":21211,"46037":21338,"46038":21413,"46039":21883,"46040":21888,"46041":21927,"46042":21884,"46043":21898,"46044":21917,"46045":21912,"46046":21890,"46047":21916,"46048":21930,"46049":21908,"46050":21895,"46051":21899,"46052":21891,"46053":21939,"46054":21934,"46055":21919,"46056":21822,"46057":21938,"46058":21914,"46059":21947,"46060":21932,"46061":21937,"46062":21886,"46063":21897,"46064":21931,"46065":21913,"46066":22285,"46067":22575,"46068":22570,"46069":22580,"46070":22564,"46071":22576,"46072":22577,"46073":22561,"46074":22557,"46075":22560,"46076":22777,"46077":22778,"46078":22880,"46144":23159,"46145":23194,"46146":23167,"46147":23186,"46148":23195,"46149":23207,"46150":23411,"46151":23409,"46152":23506,"46153":23500,"46154":23507,"46155":23504,"46156":23562,"46157":23563,"46158":23601,"46159":23884,"46160":23888,"46161":23860,"46162":23879,"46163":24061,"46164":24133,"46165":24125,"46166":24128,"46167":24131,"46168":24190,"46169":24266,"46170":24257,"46171":24258,"46172":24260,"46173":24380,"46174":24429,"46175":24489,"46176":24490,"46177":24488,"46178":24785,"46179":24801,"46180":24754,"46181":24758,"46182":24800,"46183":24860,"46184":24867,"46185":24826,"46186":24853,"46187":24816,"46188":24827,"46189":24820,"46190":24936,"46191":24817,"46192":24846,"46193":24822,"46194":24841,"46195":24832,"46196":24850,"46197":25119,"46198":25161,"46199":25507,"46200":25484,"46201":25551,"46202":25536,"46203":25577,"46204":25545,"46205":25542,"46206":25549,"46241":25554,"46242":25571,"46243":25552,"46244":25569,"46245":25558,"46246":25581,"46247":25582,"46248":25462,"46249":25588,"46250":25578,"46251":25563,"46252":25682,"46253":25562,"46254":25593,"46255":25950,"46256":25958,"46257":25954,"46258":25955,"46259":26001,"46260":26000,"46261":26031,"46262":26222,"46263":26224,"46264":26228,"46265":26230,"46266":26223,"46267":26257,"46268":26234,"46269":26238,"46270":26231,"46271":26366,"46272":26367,"46273":26399,"46274":26397,"46275":26874,"46276":26837,"46277":26848,"46278":26840,"46279":26839,"46280":26885,"46281":26847,"46282":26869,"46283":26862,"46284":26855,"46285":26873,"46286":26834,"46287":26866,"46288":26851,"46289":26827,"46290":26829,"46291":26893,"46292":26898,"46293":26894,"46294":26825,"46295":26842,"46296":26990,"46297":26875,"46298":27454,"46299":27450,"46300":27453,"46301":27544,"46302":27542,"46303":27580,"46304":27631,"46305":27694,"46306":27695,"46307":27692,"46308":28207,"46309":28216,"46310":28244,"46311":28193,"46312":28210,"46313":28263,"46314":28234,"46315":28192,"46316":28197,"46317":28195,"46318":28187,"46319":28251,"46320":28248,"46321":28196,"46322":28246,"46323":28270,"46324":28205,"46325":28198,"46326":28271,"46327":28212,"46328":28237,"46329":28218,"46330":28204,"46331":28227,"46332":28189,"46333":28222,"46334":28363,"46400":28297,"46401":28185,"46402":28238,"46403":28259,"46404":28228,"46405":28274,"46406":28265,"46407":28255,"46408":28953,"46409":28954,"46410":28966,"46411":28976,"46412":28961,"46413":28982,"46414":29038,"46415":28956,"46416":29260,"46417":29316,"46418":29312,"46419":29494,"46420":29477,"46421":29492,"46422":29481,"46423":29754,"46424":29738,"46425":29747,"46426":29730,"46427":29733,"46428":29749,"46429":29750,"46430":29748,"46431":29743,"46432":29723,"46433":29734,"46434":29736,"46435":29989,"46436":29990,"46437":30059,"46438":30058,"46439":30178,"46440":30171,"46441":30179,"46442":30169,"46443":30168,"46444":30174,"46445":30176,"46446":30331,"46447":30332,"46448":30358,"46449":30355,"46450":30388,"46451":30428,"46452":30543,"46453":30701,"46454":30813,"46455":30828,"46456":30831,"46457":31245,"46458":31240,"46459":31243,"46460":31237,"46461":31232,"46462":31384,"46497":31383,"46498":31382,"46499":31461,"46500":31459,"46501":31561,"46502":31574,"46503":31558,"46504":31568,"46505":31570,"46506":31572,"46507":31565,"46508":31563,"46509":31567,"46510":31569,"46511":31903,"46512":31909,"46513":32094,"46514":32080,"46515":32104,"46516":32085,"46517":32043,"46518":32110,"46519":32114,"46520":32097,"46521":32102,"46522":32098,"46523":32112,"46524":32115,"46525":21892,"46526":32724,"46527":32725,"46528":32779,"46529":32850,"46530":32901,"46531":33109,"46532":33108,"46533":33099,"46534":33105,"46535":33102,"46536":33081,"46537":33094,"46538":33086,"46539":33100,"46540":33107,"46541":33140,"46542":33298,"46543":33308,"46544":33769,"46545":33795,"46546":33784,"46547":33805,"46548":33760,"46549":33733,"46550":33803,"46551":33729,"46552":33775,"46553":33777,"46554":33780,"46555":33879,"46556":33802,"46557":33776,"46558":33804,"46559":33740,"46560":33789,"46561":33778,"46562":33738,"46563":33848,"46564":33806,"46565":33796,"46566":33756,"46567":33799,"46568":33748,"46569":33759,"46570":34395,"46571":34527,"46572":34521,"46573":34541,"46574":34516,"46575":34523,"46576":34532,"46577":34512,"46578":34526,"46579":34903,"46580":35009,"46581":35010,"46582":34993,"46583":35203,"46584":35222,"46585":35387,"46586":35424,"46587":35413,"46588":35422,"46589":35388,"46590":35393,"46656":35412,"46657":35419,"46658":35408,"46659":35398,"46660":35380,"46661":35386,"46662":35382,"46663":35414,"46664":35937,"46665":35970,"46666":36015,"46667":36028,"46668":36019,"46669":36029,"46670":36033,"46671":36027,"46672":36032,"46673":36020,"46674":36023,"46675":36022,"46676":36031,"46677":36024,"46678":36234,"46679":36229,"46680":36225,"46681":36302,"46682":36317,"46683":36299,"46684":36314,"46685":36305,"46686":36300,"46687":36315,"46688":36294,"46689":36603,"46690":36600,"46691":36604,"46692":36764,"46693":36910,"46694":36917,"46695":36913,"46696":36920,"46697":36914,"46698":36918,"46699":37122,"46700":37109,"46701":37129,"46702":37118,"46703":37219,"46704":37221,"46705":37327,"46706":37396,"46707":37397,"46708":37411,"46709":37385,"46710":37406,"46711":37389,"46712":37392,"46713":37383,"46714":37393,"46715":38292,"46716":38287,"46717":38283,"46718":38289,"46753":38291,"46754":38290,"46755":38286,"46756":38538,"46757":38542,"46758":38539,"46759":38525,"46760":38533,"46761":38534,"46762":38541,"46763":38514,"46764":38532,"46765":38593,"46766":38597,"46767":38596,"46768":38598,"46769":38599,"46770":38639,"46771":38642,"46772":38860,"46773":38917,"46774":38918,"46775":38920,"46776":39143,"46777":39146,"46778":39151,"46779":39145,"46780":39154,"46781":39149,"46782":39342,"46783":39341,"46784":40643,"46785":40653,"46786":40657,"46787":20098,"46788":20653,"46789":20661,"46790":20658,"46791":20659,"46792":20677,"46793":20670,"46794":20652,"46795":20663,"46796":20667,"46797":20655,"46798":20679,"46799":21119,"46800":21111,"46801":21117,"46802":21215,"46803":21222,"46804":21220,"46805":21218,"46806":21219,"46807":21295,"46808":21983,"46809":21992,"46810":21971,"46811":21990,"46812":21966,"46813":21980,"46814":21959,"46815":21969,"46816":21987,"46817":21988,"46818":21999,"46819":21978,"46820":21985,"46821":21957,"46822":21958,"46823":21989,"46824":21961,"46825":22290,"46826":22291,"46827":22622,"46828":22609,"46829":22616,"46830":22615,"46831":22618,"46832":22612,"46833":22635,"46834":22604,"46835":22637,"46836":22602,"46837":22626,"46838":22610,"46839":22603,"46840":22887,"46841":23233,"46842":23241,"46843":23244,"46844":23230,"46845":23229,"46846":23228,"46912":23219,"46913":23234,"46914":23218,"46915":23913,"46916":23919,"46917":24140,"46918":24185,"46919":24265,"46920":24264,"46921":24338,"46922":24409,"46923":24492,"46924":24494,"46925":24858,"46926":24847,"46927":24904,"46928":24863,"46929":24819,"46930":24859,"46931":24825,"46932":24833,"46933":24840,"46934":24910,"46935":24908,"46936":24900,"46937":24909,"46938":24894,"46939":24884,"46940":24871,"46941":24845,"46942":24838,"46943":24887,"46944":25121,"46945":25122,"46946":25619,"46947":25662,"46948":25630,"46949":25642,"46950":25645,"46951":25661,"46952":25644,"46953":25615,"46954":25628,"46955":25620,"46956":25613,"46957":25654,"46958":25622,"46959":25623,"46960":25606,"46961":25964,"46962":26015,"46963":26032,"46964":26263,"46965":26249,"46966":26247,"46967":26248,"46968":26262,"46969":26244,"46970":26264,"46971":26253,"46972":26371,"46973":27028,"46974":26989,"47009":26970,"47010":26999,"47011":26976,"47012":26964,"47013":26997,"47014":26928,"47015":27010,"47016":26954,"47017":26984,"47018":26987,"47019":26974,"47020":26963,"47021":27001,"47022":27014,"47023":26973,"47024":26979,"47025":26971,"47026":27463,"47027":27506,"47028":27584,"47029":27583,"47030":27603,"47031":27645,"47032":28322,"47033":28335,"47034":28371,"47035":28342,"47036":28354,"47037":28304,"47038":28317,"47039":28359,"47040":28357,"47041":28325,"47042":28312,"47043":28348,"47044":28346,"47045":28331,"47046":28369,"47047":28310,"47048":28316,"47049":28356,"47050":28372,"47051":28330,"47052":28327,"47053":28340,"47054":29006,"47055":29017,"47056":29033,"47057":29028,"47058":29001,"47059":29031,"47060":29020,"47061":29036,"47062":29030,"47063":29004,"47064":29029,"47065":29022,"47066":28998,"47067":29032,"47068":29014,"47069":29242,"47070":29266,"47071":29495,"47072":29509,"47073":29503,"47074":29502,"47075":29807,"47076":29786,"47077":29781,"47078":29791,"47079":29790,"47080":29761,"47081":29759,"47082":29785,"47083":29787,"47084":29788,"47085":30070,"47086":30072,"47087":30208,"47088":30192,"47089":30209,"47090":30194,"47091":30193,"47092":30202,"47093":30207,"47094":30196,"47095":30195,"47096":30430,"47097":30431,"47098":30555,"47099":30571,"47100":30566,"47101":30558,"47102":30563,"47168":30585,"47169":30570,"47170":30572,"47171":30556,"47172":30565,"47173":30568,"47174":30562,"47175":30702,"47176":30862,"47177":30896,"47178":30871,"47179":30872,"47180":30860,"47181":30857,"47182":30844,"47183":30865,"47184":30867,"47185":30847,"47186":31098,"47187":31103,"47188":31105,"47189":33836,"47190":31165,"47191":31260,"47192":31258,"47193":31264,"47194":31252,"47195":31263,"47196":31262,"47197":31391,"47198":31392,"47199":31607,"47200":31680,"47201":31584,"47202":31598,"47203":31591,"47204":31921,"47205":31923,"47206":31925,"47207":32147,"47208":32121,"47209":32145,"47210":32129,"47211":32143,"47212":32091,"47213":32622,"47214":32617,"47215":32618,"47216":32626,"47217":32681,"47218":32680,"47219":32676,"47220":32854,"47221":32856,"47222":32902,"47223":32900,"47224":33137,"47225":33136,"47226":33144,"47227":33125,"47228":33134,"47229":33139,"47230":33131,"47265":33145,"47266":33146,"47267":33126,"47268":33285,"47269":33351,"47270":33922,"47271":33911,"47272":33853,"47273":33841,"47274":33909,"47275":33894,"47276":33899,"47277":33865,"47278":33900,"47279":33883,"47280":33852,"47281":33845,"47282":33889,"47283":33891,"47284":33897,"47285":33901,"47286":33862,"47287":34398,"47288":34396,"47289":34399,"47290":34553,"47291":34579,"47292":34568,"47293":34567,"47294":34560,"47295":34558,"47296":34555,"47297":34562,"47298":34563,"47299":34566,"47300":34570,"47301":34905,"47302":35039,"47303":35028,"47304":35033,"47305":35036,"47306":35032,"47307":35037,"47308":35041,"47309":35018,"47310":35029,"47311":35026,"47312":35228,"47313":35299,"47314":35435,"47315":35442,"47316":35443,"47317":35430,"47318":35433,"47319":35440,"47320":35463,"47321":35452,"47322":35427,"47323":35488,"47324":35441,"47325":35461,"47326":35437,"47327":35426,"47328":35438,"47329":35436,"47330":35449,"47331":35451,"47332":35390,"47333":35432,"47334":35938,"47335":35978,"47336":35977,"47337":36042,"47338":36039,"47339":36040,"47340":36036,"47341":36018,"47342":36035,"47343":36034,"47344":36037,"47345":36321,"47346":36319,"47347":36328,"47348":36335,"47349":36339,"47350":36346,"47351":36330,"47352":36324,"47353":36326,"47354":36530,"47355":36611,"47356":36617,"47357":36606,"47358":36618,"47424":36767,"47425":36786,"47426":36939,"47427":36938,"47428":36947,"47429":36930,"47430":36948,"47431":36924,"47432":36949,"47433":36944,"47434":36935,"47435":36943,"47436":36942,"47437":36941,"47438":36945,"47439":36926,"47440":36929,"47441":37138,"47442":37143,"47443":37228,"47444":37226,"47445":37225,"47446":37321,"47447":37431,"47448":37463,"47449":37432,"47450":37437,"47451":37440,"47452":37438,"47453":37467,"47454":37451,"47455":37476,"47456":37457,"47457":37428,"47458":37449,"47459":37453,"47460":37445,"47461":37433,"47462":37439,"47463":37466,"47464":38296,"47465":38552,"47466":38548,"47467":38549,"47468":38605,"47469":38603,"47470":38601,"47471":38602,"47472":38647,"47473":38651,"47474":38649,"47475":38646,"47476":38742,"47477":38772,"47478":38774,"47479":38928,"47480":38929,"47481":38931,"47482":38922,"47483":38930,"47484":38924,"47485":39164,"47486":39156,"47521":39165,"47522":39166,"47523":39347,"47524":39345,"47525":39348,"47526":39649,"47527":40169,"47528":40578,"47529":40718,"47530":40723,"47531":40736,"47532":20711,"47533":20718,"47534":20709,"47535":20694,"47536":20717,"47537":20698,"47538":20693,"47539":20687,"47540":20689,"47541":20721,"47542":20686,"47543":20713,"47544":20834,"47545":20979,"47546":21123,"47547":21122,"47548":21297,"47549":21421,"47550":22014,"47551":22016,"47552":22043,"47553":22039,"47554":22013,"47555":22036,"47556":22022,"47557":22025,"47558":22029,"47559":22030,"47560":22007,"47561":22038,"47562":22047,"47563":22024,"47564":22032,"47565":22006,"47566":22296,"47567":22294,"47568":22645,"47569":22654,"47570":22659,"47571":22675,"47572":22666,"47573":22649,"47574":22661,"47575":22653,"47576":22781,"47577":22821,"47578":22818,"47579":22820,"47580":22890,"47581":22889,"47582":23265,"47583":23270,"47584":23273,"47585":23255,"47586":23254,"47587":23256,"47588":23267,"47589":23413,"47590":23518,"47591":23527,"47592":23521,"47593":23525,"47594":23526,"47595":23528,"47596":23522,"47597":23524,"47598":23519,"47599":23565,"47600":23650,"47601":23940,"47602":23943,"47603":24155,"47604":24163,"47605":24149,"47606":24151,"47607":24148,"47608":24275,"47609":24278,"47610":24330,"47611":24390,"47612":24432,"47613":24505,"47614":24903,"47680":24895,"47681":24907,"47682":24951,"47683":24930,"47684":24931,"47685":24927,"47686":24922,"47687":24920,"47688":24949,"47689":25130,"47690":25735,"47691":25688,"47692":25684,"47693":25764,"47694":25720,"47695":25695,"47696":25722,"47697":25681,"47698":25703,"47699":25652,"47700":25709,"47701":25723,"47702":25970,"47703":26017,"47704":26071,"47705":26070,"47706":26274,"47707":26280,"47708":26269,"47709":27036,"47710":27048,"47711":27029,"47712":27073,"47713":27054,"47714":27091,"47715":27083,"47716":27035,"47717":27063,"47718":27067,"47719":27051,"47720":27060,"47721":27088,"47722":27085,"47723":27053,"47724":27084,"47725":27046,"47726":27075,"47727":27043,"47728":27465,"47729":27468,"47730":27699,"47731":28467,"47732":28436,"47733":28414,"47734":28435,"47735":28404,"47736":28457,"47737":28478,"47738":28448,"47739":28460,"47740":28431,"47741":28418,"47742":28450,"47777":28415,"47778":28399,"47779":28422,"47780":28465,"47781":28472,"47782":28466,"47783":28451,"47784":28437,"47785":28459,"47786":28463,"47787":28552,"47788":28458,"47789":28396,"47790":28417,"47791":28402,"47792":28364,"47793":28407,"47794":29076,"47795":29081,"47796":29053,"47797":29066,"47798":29060,"47799":29074,"47800":29246,"47801":29330,"47802":29334,"47803":29508,"47804":29520,"47805":29796,"47806":29795,"47807":29802,"47808":29808,"47809":29805,"47810":29956,"47811":30097,"47812":30247,"47813":30221,"47814":30219,"47815":30217,"47816":30227,"47817":30433,"47818":30435,"47819":30596,"47820":30589,"47821":30591,"47822":30561,"47823":30913,"47824":30879,"47825":30887,"47826":30899,"47827":30889,"47828":30883,"47829":31118,"47830":31119,"47831":31117,"47832":31278,"47833":31281,"47834":31402,"47835":31401,"47836":31469,"47837":31471,"47838":31649,"47839":31637,"47840":31627,"47841":31605,"47842":31639,"47843":31645,"47844":31636,"47845":31631,"47846":31672,"47847":31623,"47848":31620,"47849":31929,"47850":31933,"47851":31934,"47852":32187,"47853":32176,"47854":32156,"47855":32189,"47856":32190,"47857":32160,"47858":32202,"47859":32180,"47860":32178,"47861":32177,"47862":32186,"47863":32162,"47864":32191,"47865":32181,"47866":32184,"47867":32173,"47868":32210,"47869":32199,"47870":32172,"47936":32624,"47937":32736,"47938":32737,"47939":32735,"47940":32862,"47941":32858,"47942":32903,"47943":33104,"47944":33152,"47945":33167,"47946":33160,"47947":33162,"47948":33151,"47949":33154,"47950":33255,"47951":33274,"47952":33287,"47953":33300,"47954":33310,"47955":33355,"47956":33993,"47957":33983,"47958":33990,"47959":33988,"47960":33945,"47961":33950,"47962":33970,"47963":33948,"47964":33995,"47965":33976,"47966":33984,"47967":34003,"47968":33936,"47969":33980,"47970":34001,"47971":33994,"47972":34623,"47973":34588,"47974":34619,"47975":34594,"47976":34597,"47977":34612,"47978":34584,"47979":34645,"47980":34615,"47981":34601,"47982":35059,"47983":35074,"47984":35060,"47985":35065,"47986":35064,"47987":35069,"47988":35048,"47989":35098,"47990":35055,"47991":35494,"47992":35468,"47993":35486,"47994":35491,"47995":35469,"47996":35489,"47997":35475,"47998":35492,"48033":35498,"48034":35493,"48035":35496,"48036":35480,"48037":35473,"48038":35482,"48039":35495,"48040":35946,"48041":35981,"48042":35980,"48043":36051,"48044":36049,"48045":36050,"48046":36203,"48047":36249,"48048":36245,"48049":36348,"48050":36628,"48051":36626,"48052":36629,"48053":36627,"48054":36771,"48055":36960,"48056":36952,"48057":36956,"48058":36963,"48059":36953,"48060":36958,"48061":36962,"48062":36957,"48063":36955,"48064":37145,"48065":37144,"48066":37150,"48067":37237,"48068":37240,"48069":37239,"48070":37236,"48071":37496,"48072":37504,"48073":37509,"48074":37528,"48075":37526,"48076":37499,"48077":37523,"48078":37532,"48079":37544,"48080":37500,"48081":37521,"48082":38305,"48083":38312,"48084":38313,"48085":38307,"48086":38309,"48087":38308,"48088":38553,"48089":38556,"48090":38555,"48091":38604,"48092":38610,"48093":38656,"48094":38780,"48095":38789,"48096":38902,"48097":38935,"48098":38936,"48099":39087,"48100":39089,"48101":39171,"48102":39173,"48103":39180,"48104":39177,"48105":39361,"48106":39599,"48107":39600,"48108":39654,"48109":39745,"48110":39746,"48111":40180,"48112":40182,"48113":40179,"48114":40636,"48115":40763,"48116":40778,"48117":20740,"48118":20736,"48119":20731,"48120":20725,"48121":20729,"48122":20738,"48123":20744,"48124":20745,"48125":20741,"48126":20956,"48192":21127,"48193":21128,"48194":21129,"48195":21133,"48196":21130,"48197":21232,"48198":21426,"48199":22062,"48200":22075,"48201":22073,"48202":22066,"48203":22079,"48204":22068,"48205":22057,"48206":22099,"48207":22094,"48208":22103,"48209":22132,"48210":22070,"48211":22063,"48212":22064,"48213":22656,"48214":22687,"48215":22686,"48216":22707,"48217":22684,"48218":22702,"48219":22697,"48220":22694,"48221":22893,"48222":23305,"48223":23291,"48224":23307,"48225":23285,"48226":23308,"48227":23304,"48228":23534,"48229":23532,"48230":23529,"48231":23531,"48232":23652,"48233":23653,"48234":23965,"48235":23956,"48236":24162,"48237":24159,"48238":24161,"48239":24290,"48240":24282,"48241":24287,"48242":24285,"48243":24291,"48244":24288,"48245":24392,"48246":24433,"48247":24503,"48248":24501,"48249":24950,"48250":24935,"48251":24942,"48252":24925,"48253":24917,"48254":24962,"48289":24956,"48290":24944,"48291":24939,"48292":24958,"48293":24999,"48294":24976,"48295":25003,"48296":24974,"48297":25004,"48298":24986,"48299":24996,"48300":24980,"48301":25006,"48302":25134,"48303":25705,"48304":25711,"48305":25721,"48306":25758,"48307":25778,"48308":25736,"48309":25744,"48310":25776,"48311":25765,"48312":25747,"48313":25749,"48314":25769,"48315":25746,"48316":25774,"48317":25773,"48318":25771,"48319":25754,"48320":25772,"48321":25753,"48322":25762,"48323":25779,"48324":25973,"48325":25975,"48326":25976,"48327":26286,"48328":26283,"48329":26292,"48330":26289,"48331":27171,"48332":27167,"48333":27112,"48334":27137,"48335":27166,"48336":27161,"48337":27133,"48338":27169,"48339":27155,"48340":27146,"48341":27123,"48342":27138,"48343":27141,"48344":27117,"48345":27153,"48346":27472,"48347":27470,"48348":27556,"48349":27589,"48350":27590,"48351":28479,"48352":28540,"48353":28548,"48354":28497,"48355":28518,"48356":28500,"48357":28550,"48358":28525,"48359":28507,"48360":28536,"48361":28526,"48362":28558,"48363":28538,"48364":28528,"48365":28516,"48366":28567,"48367":28504,"48368":28373,"48369":28527,"48370":28512,"48371":28511,"48372":29087,"48373":29100,"48374":29105,"48375":29096,"48376":29270,"48377":29339,"48378":29518,"48379":29527,"48380":29801,"48381":29835,"48382":29827,"48448":29822,"48449":29824,"48450":30079,"48451":30240,"48452":30249,"48453":30239,"48454":30244,"48455":30246,"48456":30241,"48457":30242,"48458":30362,"48459":30394,"48460":30436,"48461":30606,"48462":30599,"48463":30604,"48464":30609,"48465":30603,"48466":30923,"48467":30917,"48468":30906,"48469":30922,"48470":30910,"48471":30933,"48472":30908,"48473":30928,"48474":31295,"48475":31292,"48476":31296,"48477":31293,"48478":31287,"48479":31291,"48480":31407,"48481":31406,"48482":31661,"48483":31665,"48484":31684,"48485":31668,"48486":31686,"48487":31687,"48488":31681,"48489":31648,"48490":31692,"48491":31946,"48492":32224,"48493":32244,"48494":32239,"48495":32251,"48496":32216,"48497":32236,"48498":32221,"48499":32232,"48500":32227,"48501":32218,"48502":32222,"48503":32233,"48504":32158,"48505":32217,"48506":32242,"48507":32249,"48508":32629,"48509":32631,"48510":32687,"48545":32745,"48546":32806,"48547":33179,"48548":33180,"48549":33181,"48550":33184,"48551":33178,"48552":33176,"48553":34071,"48554":34109,"48555":34074,"48556":34030,"48557":34092,"48558":34093,"48559":34067,"48560":34065,"48561":34083,"48562":34081,"48563":34068,"48564":34028,"48565":34085,"48566":34047,"48567":34054,"48568":34690,"48569":34676,"48570":34678,"48571":34656,"48572":34662,"48573":34680,"48574":34664,"48575":34649,"48576":34647,"48577":34636,"48578":34643,"48579":34907,"48580":34909,"48581":35088,"48582":35079,"48583":35090,"48584":35091,"48585":35093,"48586":35082,"48587":35516,"48588":35538,"48589":35527,"48590":35524,"48591":35477,"48592":35531,"48593":35576,"48594":35506,"48595":35529,"48596":35522,"48597":35519,"48598":35504,"48599":35542,"48600":35533,"48601":35510,"48602":35513,"48603":35547,"48604":35916,"48605":35918,"48606":35948,"48607":36064,"48608":36062,"48609":36070,"48610":36068,"48611":36076,"48612":36077,"48613":36066,"48614":36067,"48615":36060,"48616":36074,"48617":36065,"48618":36205,"48619":36255,"48620":36259,"48621":36395,"48622":36368,"48623":36381,"48624":36386,"48625":36367,"48626":36393,"48627":36383,"48628":36385,"48629":36382,"48630":36538,"48631":36637,"48632":36635,"48633":36639,"48634":36649,"48635":36646,"48636":36650,"48637":36636,"48638":36638,"48704":36645,"48705":36969,"48706":36974,"48707":36968,"48708":36973,"48709":36983,"48710":37168,"48711":37165,"48712":37159,"48713":37169,"48714":37255,"48715":37257,"48716":37259,"48717":37251,"48718":37573,"48719":37563,"48720":37559,"48721":37610,"48722":37548,"48723":37604,"48724":37569,"48725":37555,"48726":37564,"48727":37586,"48728":37575,"48729":37616,"48730":37554,"48731":38317,"48732":38321,"48733":38660,"48734":38662,"48735":38663,"48736":38665,"48737":38752,"48738":38797,"48739":38795,"48740":38799,"48741":38945,"48742":38955,"48743":38940,"48744":39091,"48745":39178,"48746":39187,"48747":39186,"48748":39192,"48749":39389,"48750":39376,"48751":39391,"48752":39387,"48753":39377,"48754":39381,"48755":39378,"48756":39385,"48757":39607,"48758":39662,"48759":39663,"48760":39719,"48761":39749,"48762":39748,"48763":39799,"48764":39791,"48765":40198,"48766":40201,"48801":40195,"48802":40617,"48803":40638,"48804":40654,"48805":22696,"48806":40786,"48807":20754,"48808":20760,"48809":20756,"48810":20752,"48811":20757,"48812":20864,"48813":20906,"48814":20957,"48815":21137,"48816":21139,"48817":21235,"48818":22105,"48819":22123,"48820":22137,"48821":22121,"48822":22116,"48823":22136,"48824":22122,"48825":22120,"48826":22117,"48827":22129,"48828":22127,"48829":22124,"48830":22114,"48831":22134,"48832":22721,"48833":22718,"48834":22727,"48835":22725,"48836":22894,"48837":23325,"48838":23348,"48839":23416,"48840":23536,"48841":23566,"48842":24394,"48843":25010,"48844":24977,"48845":25001,"48846":24970,"48847":25037,"48848":25014,"48849":25022,"48850":25034,"48851":25032,"48852":25136,"48853":25797,"48854":25793,"48855":25803,"48856":25787,"48857":25788,"48858":25818,"48859":25796,"48860":25799,"48861":25794,"48862":25805,"48863":25791,"48864":25810,"48865":25812,"48866":25790,"48867":25972,"48868":26310,"48869":26313,"48870":26297,"48871":26308,"48872":26311,"48873":26296,"48874":27197,"48875":27192,"48876":27194,"48877":27225,"48878":27243,"48879":27224,"48880":27193,"48881":27204,"48882":27234,"48883":27233,"48884":27211,"48885":27207,"48886":27189,"48887":27231,"48888":27208,"48889":27481,"48890":27511,"48891":27653,"48892":28610,"48893":28593,"48894":28577,"48960":28611,"48961":28580,"48962":28609,"48963":28583,"48964":28595,"48965":28608,"48966":28601,"48967":28598,"48968":28582,"48969":28576,"48970":28596,"48971":29118,"48972":29129,"48973":29136,"48974":29138,"48975":29128,"48976":29141,"48977":29113,"48978":29134,"48979":29145,"48980":29148,"48981":29123,"48982":29124,"48983":29544,"48984":29852,"48985":29859,"48986":29848,"48987":29855,"48988":29854,"48989":29922,"48990":29964,"48991":29965,"48992":30260,"48993":30264,"48994":30266,"48995":30439,"48996":30437,"48997":30624,"48998":30622,"48999":30623,"49000":30629,"49001":30952,"49002":30938,"49003":30956,"49004":30951,"49005":31142,"49006":31309,"49007":31310,"49008":31302,"49009":31308,"49010":31307,"49011":31418,"49012":31705,"49013":31761,"49014":31689,"49015":31716,"49016":31707,"49017":31713,"49018":31721,"49019":31718,"49020":31957,"49021":31958,"49022":32266,"49057":32273,"49058":32264,"49059":32283,"49060":32291,"49061":32286,"49062":32285,"49063":32265,"49064":32272,"49065":32633,"49066":32690,"49067":32752,"49068":32753,"49069":32750,"49070":32808,"49071":33203,"49072":33193,"49073":33192,"49074":33275,"49075":33288,"49076":33368,"49077":33369,"49078":34122,"49079":34137,"49080":34120,"49081":34152,"49082":34153,"49083":34115,"49084":34121,"49085":34157,"49086":34154,"49087":34142,"49088":34691,"49089":34719,"49090":34718,"49091":34722,"49092":34701,"49093":34913,"49094":35114,"49095":35122,"49096":35109,"49097":35115,"49098":35105,"49099":35242,"49100":35238,"49101":35558,"49102":35578,"49103":35563,"49104":35569,"49105":35584,"49106":35548,"49107":35559,"49108":35566,"49109":35582,"49110":35585,"49111":35586,"49112":35575,"49113":35565,"49114":35571,"49115":35574,"49116":35580,"49117":35947,"49118":35949,"49119":35987,"49120":36084,"49121":36420,"49122":36401,"49123":36404,"49124":36418,"49125":36409,"49126":36405,"49127":36667,"49128":36655,"49129":36664,"49130":36659,"49131":36776,"49132":36774,"49133":36981,"49134":36980,"49135":36984,"49136":36978,"49137":36988,"49138":36986,"49139":37172,"49140":37266,"49141":37664,"49142":37686,"49143":37624,"49144":37683,"49145":37679,"49146":37666,"49147":37628,"49148":37675,"49149":37636,"49150":37658,"49216":37648,"49217":37670,"49218":37665,"49219":37653,"49220":37678,"49221":37657,"49222":38331,"49223":38567,"49224":38568,"49225":38570,"49226":38613,"49227":38670,"49228":38673,"49229":38678,"49230":38669,"49231":38675,"49232":38671,"49233":38747,"49234":38748,"49235":38758,"49236":38808,"49237":38960,"49238":38968,"49239":38971,"49240":38967,"49241":38957,"49242":38969,"49243":38948,"49244":39184,"49245":39208,"49246":39198,"49247":39195,"49248":39201,"49249":39194,"49250":39405,"49251":39394,"49252":39409,"49253":39608,"49254":39612,"49255":39675,"49256":39661,"49257":39720,"49258":39825,"49259":40213,"49260":40227,"49261":40230,"49262":40232,"49263":40210,"49264":40219,"49265":40664,"49266":40660,"49267":40845,"49268":40860,"49269":20778,"49270":20767,"49271":20769,"49272":20786,"49273":21237,"49274":22158,"49275":22144,"49276":22160,"49277":22149,"49278":22151,"49313":22159,"49314":22741,"49315":22739,"49316":22737,"49317":22734,"49318":23344,"49319":23338,"49320":23332,"49321":23418,"49322":23607,"49323":23656,"49324":23996,"49325":23994,"49326":23997,"49327":23992,"49328":24171,"49329":24396,"49330":24509,"49331":25033,"49332":25026,"49333":25031,"49334":25062,"49335":25035,"49336":25138,"49337":25140,"49338":25806,"49339":25802,"49340":25816,"49341":25824,"49342":25840,"49343":25830,"49344":25836,"49345":25841,"49346":25826,"49347":25837,"49348":25986,"49349":25987,"49350":26329,"49351":26326,"49352":27264,"49353":27284,"49354":27268,"49355":27298,"49356":27292,"49357":27355,"49358":27299,"49359":27262,"49360":27287,"49361":27280,"49362":27296,"49363":27484,"49364":27566,"49365":27610,"49366":27656,"49367":28632,"49368":28657,"49369":28639,"49370":28640,"49371":28635,"49372":28644,"49373":28651,"49374":28655,"49375":28544,"49376":28652,"49377":28641,"49378":28649,"49379":28629,"49380":28654,"49381":28656,"49382":29159,"49383":29151,"49384":29166,"49385":29158,"49386":29157,"49387":29165,"49388":29164,"49389":29172,"49390":29152,"49391":29237,"49392":29254,"49393":29552,"49394":29554,"49395":29865,"49396":29872,"49397":29862,"49398":29864,"49399":30278,"49400":30274,"49401":30284,"49402":30442,"49403":30643,"49404":30634,"49405":30640,"49406":30636,"49472":30631,"49473":30637,"49474":30703,"49475":30967,"49476":30970,"49477":30964,"49478":30959,"49479":30977,"49480":31143,"49481":31146,"49482":31319,"49483":31423,"49484":31751,"49485":31757,"49486":31742,"49487":31735,"49488":31756,"49489":31712,"49490":31968,"49491":31964,"49492":31966,"49493":31970,"49494":31967,"49495":31961,"49496":31965,"49497":32302,"49498":32318,"49499":32326,"49500":32311,"49501":32306,"49502":32323,"49503":32299,"49504":32317,"49505":32305,"49506":32325,"49507":32321,"49508":32308,"49509":32313,"49510":32328,"49511":32309,"49512":32319,"49513":32303,"49514":32580,"49515":32755,"49516":32764,"49517":32881,"49518":32882,"49519":32880,"49520":32879,"49521":32883,"49522":33222,"49523":33219,"49524":33210,"49525":33218,"49526":33216,"49527":33215,"49528":33213,"49529":33225,"49530":33214,"49531":33256,"49532":33289,"49533":33393,"49534":34218,"49569":34180,"49570":34174,"49571":34204,"49572":34193,"49573":34196,"49574":34223,"49575":34203,"49576":34183,"49577":34216,"49578":34186,"49579":34407,"49580":34752,"49581":34769,"49582":34739,"49583":34770,"49584":34758,"49585":34731,"49586":34747,"49587":34746,"49588":34760,"49589":34763,"49590":35131,"49591":35126,"49592":35140,"49593":35128,"49594":35133,"49595":35244,"49596":35598,"49597":35607,"49598":35609,"49599":35611,"49600":35594,"49601":35616,"49602":35613,"49603":35588,"49604":35600,"49605":35905,"49606":35903,"49607":35955,"49608":36090,"49609":36093,"49610":36092,"49611":36088,"49612":36091,"49613":36264,"49614":36425,"49615":36427,"49616":36424,"49617":36426,"49618":36676,"49619":36670,"49620":36674,"49621":36677,"49622":36671,"49623":36991,"49624":36989,"49625":36996,"49626":36993,"49627":36994,"49628":36992,"49629":37177,"49630":37283,"49631":37278,"49632":37276,"49633":37709,"49634":37762,"49635":37672,"49636":37749,"49637":37706,"49638":37733,"49639":37707,"49640":37656,"49641":37758,"49642":37740,"49643":37723,"49644":37744,"49645":37722,"49646":37716,"49647":38346,"49648":38347,"49649":38348,"49650":38344,"49651":38342,"49652":38577,"49653":38584,"49654":38614,"49655":38684,"49656":38686,"49657":38816,"49658":38867,"49659":38982,"49660":39094,"49661":39221,"49662":39425,"49728":39423,"49729":39854,"49730":39851,"49731":39850,"49732":39853,"49733":40251,"49734":40255,"49735":40587,"49736":40655,"49737":40670,"49738":40668,"49739":40669,"49740":40667,"49741":40766,"49742":40779,"49743":21474,"49744":22165,"49745":22190,"49746":22745,"49747":22744,"49748":23352,"49749":24413,"49750":25059,"49751":25139,"49752":25844,"49753":25842,"49754":25854,"49755":25862,"49756":25850,"49757":25851,"49758":25847,"49759":26039,"49760":26332,"49761":26406,"49762":27315,"49763":27308,"49764":27331,"49765":27323,"49766":27320,"49767":27330,"49768":27310,"49769":27311,"49770":27487,"49771":27512,"49772":27567,"49773":28681,"49774":28683,"49775":28670,"49776":28678,"49777":28666,"49778":28689,"49779":28687,"49780":29179,"49781":29180,"49782":29182,"49783":29176,"49784":29559,"49785":29557,"49786":29863,"49787":29887,"49788":29973,"49789":30294,"49790":30296,"49825":30290,"49826":30653,"49827":30655,"49828":30651,"49829":30652,"49830":30990,"49831":31150,"49832":31329,"49833":31330,"49834":31328,"49835":31428,"49836":31429,"49837":31787,"49838":31783,"49839":31786,"49840":31774,"49841":31779,"49842":31777,"49843":31975,"49844":32340,"49845":32341,"49846":32350,"49847":32346,"49848":32353,"49849":32338,"49850":32345,"49851":32584,"49852":32761,"49853":32763,"49854":32887,"49855":32886,"49856":33229,"49857":33231,"49858":33290,"49859":34255,"49860":34217,"49861":34253,"49862":34256,"49863":34249,"49864":34224,"49865":34234,"49866":34233,"49867":34214,"49868":34799,"49869":34796,"49870":34802,"49871":34784,"49872":35206,"49873":35250,"49874":35316,"49875":35624,"49876":35641,"49877":35628,"49878":35627,"49879":35920,"49880":36101,"49881":36441,"49882":36451,"49883":36454,"49884":36452,"49885":36447,"49886":36437,"49887":36544,"49888":36681,"49889":36685,"49890":36999,"49891":36995,"49892":37000,"49893":37291,"49894":37292,"49895":37328,"49896":37780,"49897":37770,"49898":37782,"49899":37794,"49900":37811,"49901":37806,"49902":37804,"49903":37808,"49904":37784,"49905":37786,"49906":37783,"49907":38356,"49908":38358,"49909":38352,"49910":38357,"49911":38626,"49912":38620,"49913":38617,"49914":38619,"49915":38622,"49916":38692,"49917":38819,"49918":38822,"49984":38829,"49985":38905,"49986":38989,"49987":38991,"49988":38988,"49989":38990,"49990":38995,"49991":39098,"49992":39230,"49993":39231,"49994":39229,"49995":39214,"49996":39333,"49997":39438,"49998":39617,"49999":39683,"50000":39686,"50001":39759,"50002":39758,"50003":39757,"50004":39882,"50005":39881,"50006":39933,"50007":39880,"50008":39872,"50009":40273,"50010":40285,"50011":40288,"50012":40672,"50013":40725,"50014":40748,"50015":20787,"50016":22181,"50017":22750,"50018":22751,"50019":22754,"50020":23541,"50021":40848,"50022":24300,"50023":25074,"50024":25079,"50025":25078,"50026":25077,"50027":25856,"50028":25871,"50029":26336,"50030":26333,"50031":27365,"50032":27357,"50033":27354,"50034":27347,"50035":28699,"50036":28703,"50037":28712,"50038":28698,"50039":28701,"50040":28693,"50041":28696,"50042":29190,"50043":29197,"50044":29272,"50045":29346,"50046":29560,"50081":29562,"50082":29885,"50083":29898,"50084":29923,"50085":30087,"50086":30086,"50087":30303,"50088":30305,"50089":30663,"50090":31001,"50091":31153,"50092":31339,"50093":31337,"50094":31806,"50095":31807,"50096":31800,"50097":31805,"50098":31799,"50099":31808,"50100":32363,"50101":32365,"50102":32377,"50103":32361,"50104":32362,"50105":32645,"50106":32371,"50107":32694,"50108":32697,"50109":32696,"50110":33240,"50111":34281,"50112":34269,"50113":34282,"50114":34261,"50115":34276,"50116":34277,"50117":34295,"50118":34811,"50119":34821,"50120":34829,"50121":34809,"50122":34814,"50123":35168,"50124":35167,"50125":35158,"50126":35166,"50127":35649,"50128":35676,"50129":35672,"50130":35657,"50131":35674,"50132":35662,"50133":35663,"50134":35654,"50135":35673,"50136":36104,"50137":36106,"50138":36476,"50139":36466,"50140":36487,"50141":36470,"50142":36460,"50143":36474,"50144":36468,"50145":36692,"50146":36686,"50147":36781,"50148":37002,"50149":37003,"50150":37297,"50151":37294,"50152":37857,"50153":37841,"50154":37855,"50155":37827,"50156":37832,"50157":37852,"50158":37853,"50159":37846,"50160":37858,"50161":37837,"50162":37848,"50163":37860,"50164":37847,"50165":37864,"50166":38364,"50167":38580,"50168":38627,"50169":38698,"50170":38695,"50171":38753,"50172":38876,"50173":38907,"50174":39006,"50240":39000,"50241":39003,"50242":39100,"50243":39237,"50244":39241,"50245":39446,"50246":39449,"50247":39693,"50248":39912,"50249":39911,"50250":39894,"50251":39899,"50252":40329,"50253":40289,"50254":40306,"50255":40298,"50256":40300,"50257":40594,"50258":40599,"50259":40595,"50260":40628,"50261":21240,"50262":22184,"50263":22199,"50264":22198,"50265":22196,"50266":22204,"50267":22756,"50268":23360,"50269":23363,"50270":23421,"50271":23542,"50272":24009,"50273":25080,"50274":25082,"50275":25880,"50276":25876,"50277":25881,"50278":26342,"50279":26407,"50280":27372,"50281":28734,"50282":28720,"50283":28722,"50284":29200,"50285":29563,"50286":29903,"50287":30306,"50288":30309,"50289":31014,"50290":31018,"50291":31020,"50292":31019,"50293":31431,"50294":31478,"50295":31820,"50296":31811,"50297":31821,"50298":31983,"50299":31984,"50300":36782,"50301":32381,"50302":32380,"50337":32386,"50338":32588,"50339":32768,"50340":33242,"50341":33382,"50342":34299,"50343":34297,"50344":34321,"50345":34298,"50346":34310,"50347":34315,"50348":34311,"50349":34314,"50350":34836,"50351":34837,"50352":35172,"50353":35258,"50354":35320,"50355":35696,"50356":35692,"50357":35686,"50358":35695,"50359":35679,"50360":35691,"50361":36111,"50362":36109,"50363":36489,"50364":36481,"50365":36485,"50366":36482,"50367":37300,"50368":37323,"50369":37912,"50370":37891,"50371":37885,"50372":38369,"50373":38704,"50374":39108,"50375":39250,"50376":39249,"50377":39336,"50378":39467,"50379":39472,"50380":39479,"50381":39477,"50382":39955,"50383":39949,"50384":40569,"50385":40629,"50386":40680,"50387":40751,"50388":40799,"50389":40803,"50390":40801,"50391":20791,"50392":20792,"50393":22209,"50394":22208,"50395":22210,"50396":22804,"50397":23660,"50398":24013,"50399":25084,"50400":25086,"50401":25885,"50402":25884,"50403":26005,"50404":26345,"50405":27387,"50406":27396,"50407":27386,"50408":27570,"50409":28748,"50410":29211,"50411":29351,"50412":29910,"50413":29908,"50414":30313,"50415":30675,"50416":31824,"50417":32399,"50418":32396,"50419":32700,"50420":34327,"50421":34349,"50422":34330,"50423":34851,"50424":34850,"50425":34849,"50426":34847,"50427":35178,"50428":35180,"50429":35261,"50430":35700,"50496":35703,"50497":35709,"50498":36115,"50499":36490,"50500":36493,"50501":36491,"50502":36703,"50503":36783,"50504":37306,"50505":37934,"50506":37939,"50507":37941,"50508":37946,"50509":37944,"50510":37938,"50511":37931,"50512":38370,"50513":38712,"50514":38713,"50515":38706,"50516":38911,"50517":39015,"50518":39013,"50519":39255,"50520":39493,"50521":39491,"50522":39488,"50523":39486,"50524":39631,"50525":39764,"50526":39761,"50527":39981,"50528":39973,"50529":40367,"50530":40372,"50531":40386,"50532":40376,"50533":40605,"50534":40687,"50535":40729,"50536":40796,"50537":40806,"50538":40807,"50539":20796,"50540":20795,"50541":22216,"50542":22218,"50543":22217,"50544":23423,"50545":24020,"50546":24018,"50547":24398,"50548":25087,"50549":25892,"50550":27402,"50551":27489,"50552":28753,"50553":28760,"50554":29568,"50555":29924,"50556":30090,"50557":30318,"50558":30316,"50593":31155,"50594":31840,"50595":31839,"50596":32894,"50597":32893,"50598":33247,"50599":35186,"50600":35183,"50601":35324,"50602":35712,"50603":36118,"50604":36119,"50605":36497,"50606":36499,"50607":36705,"50608":37192,"50609":37956,"50610":37969,"50611":37970,"50612":38717,"50613":38718,"50614":38851,"50615":38849,"50616":39019,"50617":39253,"50618":39509,"50619":39501,"50620":39634,"50621":39706,"50622":40009,"50623":39985,"50624":39998,"50625":39995,"50626":40403,"50627":40407,"50628":40756,"50629":40812,"50630":40810,"50631":40852,"50632":22220,"50633":24022,"50634":25088,"50635":25891,"50636":25899,"50637":25898,"50638":26348,"50639":27408,"50640":29914,"50641":31434,"50642":31844,"50643":31843,"50644":31845,"50645":32403,"50646":32406,"50647":32404,"50648":33250,"50649":34360,"50650":34367,"50651":34865,"50652":35722,"50653":37008,"50654":37007,"50655":37987,"50656":37984,"50657":37988,"50658":38760,"50659":39023,"50660":39260,"50661":39514,"50662":39515,"50663":39511,"50664":39635,"50665":39636,"50666":39633,"50667":40020,"50668":40023,"50669":40022,"50670":40421,"50671":40607,"50672":40692,"50673":22225,"50674":22761,"50675":25900,"50676":28766,"50677":30321,"50678":30322,"50679":30679,"50680":32592,"50681":32648,"50682":34870,"50683":34873,"50684":34914,"50685":35731,"50686":35730,"50752":35734,"50753":33399,"50754":36123,"50755":37312,"50756":37994,"50757":38722,"50758":38728,"50759":38724,"50760":38854,"50761":39024,"50762":39519,"50763":39714,"50764":39768,"50765":40031,"50766":40441,"50767":40442,"50768":40572,"50769":40573,"50770":40711,"50771":40823,"50772":40818,"50773":24307,"50774":27414,"50775":28771,"50776":31852,"50777":31854,"50778":34875,"50779":35264,"50780":36513,"50781":37313,"50782":38002,"50783":38000,"50784":39025,"50785":39262,"50786":39638,"50787":39715,"50788":40652,"50789":28772,"50790":30682,"50791":35738,"50792":38007,"50793":38857,"50794":39522,"50795":39525,"50796":32412,"50797":35740,"50798":36522,"50799":37317,"50800":38013,"50801":38014,"50802":38012,"50803":40055,"50804":40056,"50805":40695,"50806":35924,"50807":38015,"50808":40474,"50809":29224,"50810":39530,"50811":39729,"50812":40475,"50813":40478,"50814":31858,"50849":9312,"50850":9313,"50851":9314,"50852":9315,"50853":9316,"50854":9317,"50855":9318,"50856":9319,"50857":9320,"50858":9321,"50859":9332,"50860":9333,"50861":9334,"50862":9335,"50863":9336,"50864":9337,"50865":9338,"50866":9339,"50867":9340,"50868":9341,"50869":8560,"50870":8561,"50871":8562,"50872":8563,"50873":8564,"50874":8565,"50875":8566,"50876":8567,"50877":8568,"50878":8569,"50879":20022,"50880":20031,"50881":20101,"50882":20128,"50883":20866,"50884":20886,"50885":20907,"50886":21241,"50887":21304,"50888":21353,"50889":21430,"50890":22794,"50891":23424,"50892":24027,"50893":24186,"50894":24191,"50895":24308,"50896":24400,"50897":24417,"50898":25908,"50899":26080,"50900":30098,"50901":30326,"50902":36789,"50903":38582,"50904":168,"50905":710,"50906":12541,"50907":12542,"50908":12445,"50909":12446,"50910":12291,"50911":20189,"50912":12293,"50913":12294,"50914":12295,"50915":12540,"50916":65339,"50917":65341,"50918":10045,"50919":12353,"50920":12354,"50921":12355,"50922":12356,"50923":12357,"50924":12358,"50925":12359,"50926":12360,"50927":12361,"50928":12362,"50929":12363,"50930":12364,"50931":12365,"50932":12366,"50933":12367,"50934":12368,"50935":12369,"50936":12370,"50937":12371,"50938":12372,"50939":12373,"50940":12374,"50941":12375,"50942":12376,"51008":12377,"51009":12378,"51010":12379,"51011":12380,"51012":12381,"51013":12382,"51014":12383,"51015":12384,"51016":12385,"51017":12386,"51018":12387,"51019":12388,"51020":12389,"51021":12390,"51022":12391,"51023":12392,"51024":12393,"51025":12394,"51026":12395,"51027":12396,"51028":12397,"51029":12398,"51030":12399,"51031":12400,"51032":12401,"51033":12402,"51034":12403,"51035":12404,"51036":12405,"51037":12406,"51038":12407,"51039":12408,"51040":12409,"51041":12410,"51042":12411,"51043":12412,"51044":12413,"51045":12414,"51046":12415,"51047":12416,"51048":12417,"51049":12418,"51050":12419,"51051":12420,"51052":12421,"51053":12422,"51054":12423,"51055":12424,"51056":12425,"51057":12426,"51058":12427,"51059":12428,"51060":12429,"51061":12430,"51062":12431,"51063":12432,"51064":12433,"51065":12434,"51066":12435,"51067":12449,"51068":12450,"51069":12451,"51070":12452,"51105":12453,"51106":12454,"51107":12455,"51108":12456,"51109":12457,"51110":12458,"51111":12459,"51112":12460,"51113":12461,"51114":12462,"51115":12463,"51116":12464,"51117":12465,"51118":12466,"51119":12467,"51120":12468,"51121":12469,"51122":12470,"51123":12471,"51124":12472,"51125":12473,"51126":12474,"51127":12475,"51128":12476,"51129":12477,"51130":12478,"51131":12479,"51132":12480,"51133":12481,"51134":12482,"51135":12483,"51136":12484,"51137":12485,"51138":12486,"51139":12487,"51140":12488,"51141":12489,"51142":12490,"51143":12491,"51144":12492,"51145":12493,"51146":12494,"51147":12495,"51148":12496,"51149":12497,"51150":12498,"51151":12499,"51152":12500,"51153":12501,"51154":12502,"51155":12503,"51156":12504,"51157":12505,"51158":12506,"51159":12507,"51160":12508,"51161":12509,"51162":12510,"51163":12511,"51164":12512,"51165":12513,"51166":12514,"51167":12515,"51168":12516,"51169":12517,"51170":12518,"51171":12519,"51172":12520,"51173":12521,"51174":12522,"51175":12523,"51176":12524,"51177":12525,"51178":12526,"51179":12527,"51180":12528,"51181":12529,"51182":12530,"51183":12531,"51184":12532,"51185":12533,"51186":12534,"51187":1040,"51188":1041,"51189":1042,"51190":1043,"51191":1044,"51192":1045,"51193":1025,"51194":1046,"51195":1047,"51196":1048,"51197":1049,"51198":1050,"51264":1051,"51265":1052,"51266":1053,"51267":1054,"51268":1055,"51269":1056,"51270":1057,"51271":1058,"51272":1059,"51273":1060,"51274":1061,"51275":1062,"51276":1063,"51277":1064,"51278":1065,"51279":1066,"51280":1067,"51281":1068,"51282":1069,"51283":1070,"51284":1071,"51285":1072,"51286":1073,"51287":1074,"51288":1075,"51289":1076,"51290":1077,"51291":1105,"51292":1078,"51293":1079,"51294":1080,"51295":1081,"51296":1082,"51297":1083,"51298":1084,"51299":1085,"51300":1086,"51301":1087,"51302":1088,"51303":1089,"51304":1090,"51305":1091,"51306":1092,"51307":1093,"51308":1094,"51309":1095,"51310":1096,"51311":1097,"51312":1098,"51313":1099,"51314":1100,"51315":1101,"51316":1102,"51317":1103,"51318":8679,"51319":8632,"51320":8633,"51321":12751,"51322":63462,"51323":20058,"51324":63464,"51325":20994,"51326":17553,"51361":40880,"51362":20872,"51363":40881,"51364":63470,"51365":63471,"51366":63472,"51367":63473,"51368":63474,"51369":63475,"51370":63476,"51371":63477,"51372":63478,"51373":63479,"51374":63480,"51375":63481,"51376":63482,"51377":12443,"51378":12444,"51379":12436,"51380":12535,"51381":12536,"51382":12537,"51383":12538,"51384":12539,"51385":65377,"51386":65378,"51387":65379,"51388":65380,"51389":65381,"51390":65382,"51391":65383,"51392":65384,"51393":65385,"51394":65386,"51395":65387,"51396":65388,"51397":65389,"51398":65390,"51399":65391,"51400":65392,"51401":65393,"51402":65394,"51403":65395,"51404":65396,"51405":65506,"51406":65508,"51407":65287,"51408":65282,"51409":12849,"51410":8470,"51411":8481,"51412":65397,"51413":65398,"51414":65399,"51415":65400,"51416":65401,"51417":65402,"51418":65403,"51419":65404,"51420":65405,"51421":65406,"51422":65407,"51423":65408,"51424":65409,"51425":65410,"51426":65411,"51427":65412,"51428":65413,"51429":65414,"51430":65415,"51431":65416,"51432":65417,"51433":65418,"51434":65419,"51435":65420,"51436":65421,"51437":65422,"51438":65423,"51439":65424,"51440":65425,"51441":65426,"51442":65427,"51443":65428,"51444":65429,"51445":65430,"51446":65431,"51447":65432,"51448":65433,"51449":65434,"51450":65435,"51451":65436,"51452":65437,"51453":65438,"51454":65439,"51520":20034,"51521":20060,"51522":20981,"51523":21274,"51524":21378,"51525":19975,"51526":19980,"51527":20039,"51528":20109,"51529":22231,"51530":64012,"51531":23662,"51532":24435,"51533":19983,"51534":20871,"51535":19982,"51536":20014,"51537":20115,"51538":20162,"51539":20169,"51540":20168,"51541":20888,"51542":21244,"51543":21356,"51544":21433,"51545":22304,"51546":22787,"51547":22828,"51548":23568,"51549":24063,"51550":26081,"51551":27571,"51552":27596,"51553":27668,"51554":29247,"51555":20017,"51556":20028,"51557":20200,"51558":20188,"51559":20201,"51560":20193,"51561":20189,"51562":20186,"51563":21004,"51564":21276,"51565":21324,"51566":22306,"51567":22307,"51568":22807,"51569":22831,"51570":23425,"51571":23428,"51572":23570,"51573":23611,"51574":23668,"51575":23667,"51576":24068,"51577":24192,"51578":24194,"51579":24521,"51580":25097,"51581":25168,"51582":27669,"51617":27702,"51618":27715,"51619":27711,"51620":27707,"51621":29358,"51622":29360,"51623":29578,"51624":31160,"51625":32906,"51626":38430,"51627":20238,"51628":20248,"51629":20268,"51630":20213,"51631":20244,"51632":20209,"51633":20224,"51634":20215,"51635":20232,"51636":20253,"51637":20226,"51638":20229,"51639":20258,"51640":20243,"51641":20228,"51642":20212,"51643":20242,"51644":20913,"51645":21011,"51646":21001,"51647":21008,"51648":21158,"51649":21282,"51650":21279,"51651":21325,"51652":21386,"51653":21511,"51654":22241,"51655":22239,"51656":22318,"51657":22314,"51658":22324,"51659":22844,"51660":22912,"51661":22908,"51662":22917,"51663":22907,"51664":22910,"51665":22903,"51666":22911,"51667":23382,"51668":23573,"51669":23589,"51670":23676,"51671":23674,"51672":23675,"51673":23678,"51674":24031,"51675":24181,"51676":24196,"51677":24322,"51678":24346,"51679":24436,"51680":24533,"51681":24532,"51682":24527,"51683":25180,"51684":25182,"51685":25188,"51686":25185,"51687":25190,"51688":25186,"51689":25177,"51690":25184,"51691":25178,"51692":25189,"51693":26095,"51694":26094,"51695":26430,"51696":26425,"51697":26424,"51698":26427,"51699":26426,"51700":26431,"51701":26428,"51702":26419,"51703":27672,"51704":27718,"51705":27730,"51706":27740,"51707":27727,"51708":27722,"51709":27732,"51710":27723,"51776":27724,"51777":28785,"51778":29278,"51779":29364,"51780":29365,"51781":29582,"51782":29994,"51783":30335,"51784":31349,"51785":32593,"51786":33400,"51787":33404,"51788":33408,"51789":33405,"51790":33407,"51791":34381,"51792":35198,"51793":37017,"51794":37015,"51795":37016,"51796":37019,"51797":37012,"51798":38434,"51799":38436,"51800":38432,"51801":38435,"51802":20310,"51803":20283,"51804":20322,"51805":20297,"51806":20307,"51807":20324,"51808":20286,"51809":20327,"51810":20306,"51811":20319,"51812":20289,"51813":20312,"51814":20269,"51815":20275,"51816":20287,"51817":20321,"51818":20879,"51819":20921,"51820":21020,"51821":21022,"51822":21025,"51823":21165,"51824":21166,"51825":21257,"51826":21347,"51827":21362,"51828":21390,"51829":21391,"51830":21552,"51831":21559,"51832":21546,"51833":21588,"51834":21573,"51835":21529,"51836":21532,"51837":21541,"51838":21528,"51873":21565,"51874":21583,"51875":21569,"51876":21544,"51877":21540,"51878":21575,"51879":22254,"51880":22247,"51881":22245,"51882":22337,"51883":22341,"51884":22348,"51885":22345,"51886":22347,"51887":22354,"51888":22790,"51889":22848,"51890":22950,"51891":22936,"51892":22944,"51893":22935,"51894":22926,"51895":22946,"51896":22928,"51897":22927,"51898":22951,"51899":22945,"51900":23438,"51901":23442,"51902":23592,"51903":23594,"51904":23693,"51905":23695,"51906":23688,"51907":23691,"51908":23689,"51909":23698,"51910":23690,"51911":23686,"51912":23699,"51913":23701,"51914":24032,"51915":24074,"51916":24078,"51917":24203,"51918":24201,"51919":24204,"51920":24200,"51921":24205,"51922":24325,"51923":24349,"51924":24440,"51925":24438,"51926":24530,"51927":24529,"51928":24528,"51929":24557,"51930":24552,"51931":24558,"51932":24563,"51933":24545,"51934":24548,"51935":24547,"51936":24570,"51937":24559,"51938":24567,"51939":24571,"51940":24576,"51941":24564,"51942":25146,"51943":25219,"51944":25228,"51945":25230,"51946":25231,"51947":25236,"51948":25223,"51949":25201,"51950":25211,"51951":25210,"51952":25200,"51953":25217,"51954":25224,"51955":25207,"51956":25213,"51957":25202,"51958":25204,"51959":25911,"51960":26096,"51961":26100,"51962":26099,"51963":26098,"51964":26101,"51965":26437,"51966":26439,"52032":26457,"52033":26453,"52034":26444,"52035":26440,"52036":26461,"52037":26445,"52038":26458,"52039":26443,"52040":27600,"52041":27673,"52042":27674,"52043":27768,"52044":27751,"52045":27755,"52046":27780,"52047":27787,"52048":27791,"52049":27761,"52050":27759,"52051":27753,"52052":27802,"52053":27757,"52054":27783,"52055":27797,"52056":27804,"52057":27750,"52058":27763,"52059":27749,"52060":27771,"52061":27790,"52062":28788,"52063":28794,"52064":29283,"52065":29375,"52066":29373,"52067":29379,"52068":29382,"52069":29377,"52070":29370,"52071":29381,"52072":29589,"52073":29591,"52074":29587,"52075":29588,"52076":29586,"52077":30010,"52078":30009,"52079":30100,"52080":30101,"52081":30337,"52082":31037,"52083":32820,"52084":32917,"52085":32921,"52086":32912,"52087":32914,"52088":32924,"52089":33424,"52090":33423,"52091":33413,"52092":33422,"52093":33425,"52094":33427,"52129":33418,"52130":33411,"52131":33412,"52132":35960,"52133":36809,"52134":36799,"52135":37023,"52136":37025,"52137":37029,"52138":37022,"52139":37031,"52140":37024,"52141":38448,"52142":38440,"52143":38447,"52144":38445,"52145":20019,"52146":20376,"52147":20348,"52148":20357,"52149":20349,"52150":20352,"52151":20359,"52152":20342,"52153":20340,"52154":20361,"52155":20356,"52156":20343,"52157":20300,"52158":20375,"52159":20330,"52160":20378,"52161":20345,"52162":20353,"52163":20344,"52164":20368,"52165":20380,"52166":20372,"52167":20382,"52168":20370,"52169":20354,"52170":20373,"52171":20331,"52172":20334,"52173":20894,"52174":20924,"52175":20926,"52176":21045,"52177":21042,"52178":21043,"52179":21062,"52180":21041,"52181":21180,"52182":21258,"52183":21259,"52184":21308,"52185":21394,"52186":21396,"52187":21639,"52188":21631,"52189":21633,"52190":21649,"52191":21634,"52192":21640,"52193":21611,"52194":21626,"52195":21630,"52196":21605,"52197":21612,"52198":21620,"52199":21606,"52200":21645,"52201":21615,"52202":21601,"52203":21600,"52204":21656,"52205":21603,"52206":21607,"52207":21604,"52208":22263,"52209":22265,"52210":22383,"52211":22386,"52212":22381,"52213":22379,"52214":22385,"52215":22384,"52216":22390,"52217":22400,"52218":22389,"52219":22395,"52220":22387,"52221":22388,"52222":22370,"52288":22376,"52289":22397,"52290":22796,"52291":22853,"52292":22965,"52293":22970,"52294":22991,"52295":22990,"52296":22962,"52297":22988,"52298":22977,"52299":22966,"52300":22972,"52301":22979,"52302":22998,"52303":22961,"52304":22973,"52305":22976,"52306":22984,"52307":22964,"52308":22983,"52309":23394,"52310":23397,"52311":23443,"52312":23445,"52313":23620,"52314":23623,"52315":23726,"52316":23716,"52317":23712,"52318":23733,"52319":23727,"52320":23720,"52321":23724,"52322":23711,"52323":23715,"52324":23725,"52325":23714,"52326":23722,"52327":23719,"52328":23709,"52329":23717,"52330":23734,"52331":23728,"52332":23718,"52333":24087,"52334":24084,"52335":24089,"52336":24360,"52337":24354,"52338":24355,"52339":24356,"52340":24404,"52341":24450,"52342":24446,"52343":24445,"52344":24542,"52345":24549,"52346":24621,"52347":24614,"52348":24601,"52349":24626,"52350":24587,"52385":24628,"52386":24586,"52387":24599,"52388":24627,"52389":24602,"52390":24606,"52391":24620,"52392":24610,"52393":24589,"52394":24592,"52395":24622,"52396":24595,"52397":24593,"52398":24588,"52399":24585,"52400":24604,"52401":25108,"52402":25149,"52403":25261,"52404":25268,"52405":25297,"52406":25278,"52407":25258,"52408":25270,"52409":25290,"52410":25262,"52411":25267,"52412":25263,"52413":25275,"52414":25257,"52415":25264,"52416":25272,"52417":25917,"52418":26024,"52419":26043,"52420":26121,"52421":26108,"52422":26116,"52423":26130,"52424":26120,"52425":26107,"52426":26115,"52427":26123,"52428":26125,"52429":26117,"52430":26109,"52431":26129,"52432":26128,"52433":26358,"52434":26378,"52435":26501,"52436":26476,"52437":26510,"52438":26514,"52439":26486,"52440":26491,"52441":26520,"52442":26502,"52443":26500,"52444":26484,"52445":26509,"52446":26508,"52447":26490,"52448":26527,"52449":26513,"52450":26521,"52451":26499,"52452":26493,"52453":26497,"52454":26488,"52455":26489,"52456":26516,"52457":27429,"52458":27520,"52459":27518,"52460":27614,"52461":27677,"52462":27795,"52463":27884,"52464":27883,"52465":27886,"52466":27865,"52467":27830,"52468":27860,"52469":27821,"52470":27879,"52471":27831,"52472":27856,"52473":27842,"52474":27834,"52475":27843,"52476":27846,"52477":27885,"52478":27890,"52544":27858,"52545":27869,"52546":27828,"52547":27786,"52548":27805,"52549":27776,"52550":27870,"52551":27840,"52552":27952,"52553":27853,"52554":27847,"52555":27824,"52556":27897,"52557":27855,"52558":27881,"52559":27857,"52560":28820,"52561":28824,"52562":28805,"52563":28819,"52564":28806,"52565":28804,"52566":28817,"52567":28822,"52568":28802,"52569":28826,"52570":28803,"52571":29290,"52572":29398,"52573":29387,"52574":29400,"52575":29385,"52576":29404,"52577":29394,"52578":29396,"52579":29402,"52580":29388,"52581":29393,"52582":29604,"52583":29601,"52584":29613,"52585":29606,"52586":29602,"52587":29600,"52588":29612,"52589":29597,"52590":29917,"52591":29928,"52592":30015,"52593":30016,"52594":30014,"52595":30092,"52596":30104,"52597":30383,"52598":30451,"52599":30449,"52600":30448,"52601":30453,"52602":30712,"52603":30716,"52604":30713,"52605":30715,"52606":30714,"52641":30711,"52642":31042,"52643":31039,"52644":31173,"52645":31352,"52646":31355,"52647":31483,"52648":31861,"52649":31997,"52650":32821,"52651":32911,"52652":32942,"52653":32931,"52654":32952,"52655":32949,"52656":32941,"52657":33312,"52658":33440,"52659":33472,"52660":33451,"52661":33434,"52662":33432,"52663":33435,"52664":33461,"52665":33447,"52666":33454,"52667":33468,"52668":33438,"52669":33466,"52670":33460,"52671":33448,"52672":33441,"52673":33449,"52674":33474,"52675":33444,"52676":33475,"52677":33462,"52678":33442,"52679":34416,"52680":34415,"52681":34413,"52682":34414,"52683":35926,"52684":36818,"52685":36811,"52686":36819,"52687":36813,"52688":36822,"52689":36821,"52690":36823,"52691":37042,"52692":37044,"52693":37039,"52694":37043,"52695":37040,"52696":38457,"52697":38461,"52698":38460,"52699":38458,"52700":38467,"52701":20429,"52702":20421,"52703":20435,"52704":20402,"52705":20425,"52706":20427,"52707":20417,"52708":20436,"52709":20444,"52710":20441,"52711":20411,"52712":20403,"52713":20443,"52714":20423,"52715":20438,"52716":20410,"52717":20416,"52718":20409,"52719":20460,"52720":21060,"52721":21065,"52722":21184,"52723":21186,"52724":21309,"52725":21372,"52726":21399,"52727":21398,"52728":21401,"52729":21400,"52730":21690,"52731":21665,"52732":21677,"52733":21669,"52734":21711,"52800":21699,"52801":33549,"52802":21687,"52803":21678,"52804":21718,"52805":21686,"52806":21701,"52807":21702,"52808":21664,"52809":21616,"52810":21692,"52811":21666,"52812":21694,"52813":21618,"52814":21726,"52815":21680,"52816":22453,"52817":22430,"52818":22431,"52819":22436,"52820":22412,"52821":22423,"52822":22429,"52823":22427,"52824":22420,"52825":22424,"52826":22415,"52827":22425,"52828":22437,"52829":22426,"52830":22421,"52831":22772,"52832":22797,"52833":22867,"52834":23009,"52835":23006,"52836":23022,"52837":23040,"52838":23025,"52839":23005,"52840":23034,"52841":23037,"52842":23036,"52843":23030,"52844":23012,"52845":23026,"52846":23031,"52847":23003,"52848":23017,"52849":23027,"52850":23029,"52851":23008,"52852":23038,"52853":23028,"52854":23021,"52855":23464,"52856":23628,"52857":23760,"52858":23768,"52859":23756,"52860":23767,"52861":23755,"52862":23771,"52897":23774,"52898":23770,"52899":23753,"52900":23751,"52901":23754,"52902":23766,"52903":23763,"52904":23764,"52905":23759,"52906":23752,"52907":23750,"52908":23758,"52909":23775,"52910":23800,"52911":24057,"52912":24097,"52913":24098,"52914":24099,"52915":24096,"52916":24100,"52917":24240,"52918":24228,"52919":24226,"52920":24219,"52921":24227,"52922":24229,"52923":24327,"52924":24366,"52925":24406,"52926":24454,"52927":24631,"52928":24633,"52929":24660,"52930":24690,"52931":24670,"52932":24645,"52933":24659,"52934":24647,"52935":24649,"52936":24667,"52937":24652,"52938":24640,"52939":24642,"52940":24671,"52941":24612,"52942":24644,"52943":24664,"52944":24678,"52945":24686,"52946":25154,"52947":25155,"52948":25295,"52949":25357,"52950":25355,"52951":25333,"52952":25358,"52953":25347,"52954":25323,"52955":25337,"52956":25359,"52957":25356,"52958":25336,"52959":25334,"52960":25344,"52961":25363,"52962":25364,"52963":25338,"52964":25365,"52965":25339,"52966":25328,"52967":25921,"52968":25923,"52969":26026,"52970":26047,"52971":26166,"52972":26145,"52973":26162,"52974":26165,"52975":26140,"52976":26150,"52977":26146,"52978":26163,"52979":26155,"52980":26170,"52981":26141,"52982":26164,"52983":26169,"52984":26158,"52985":26383,"52986":26384,"52987":26561,"52988":26610,"52989":26568,"52990":26554,"53056":26588,"53057":26555,"53058":26616,"53059":26584,"53060":26560,"53061":26551,"53062":26565,"53063":26603,"53064":26596,"53065":26591,"53066":26549,"53067":26573,"53068":26547,"53069":26615,"53070":26614,"53071":26606,"53072":26595,"53073":26562,"53074":26553,"53075":26574,"53076":26599,"53077":26608,"53078":26546,"53079":26620,"53080":26566,"53081":26605,"53082":26572,"53083":26542,"53084":26598,"53085":26587,"53086":26618,"53087":26569,"53088":26570,"53089":26563,"53090":26602,"53091":26571,"53092":27432,"53093":27522,"53094":27524,"53095":27574,"53096":27606,"53097":27608,"53098":27616,"53099":27680,"53100":27681,"53101":27944,"53102":27956,"53103":27949,"53104":27935,"53105":27964,"53106":27967,"53107":27922,"53108":27914,"53109":27866,"53110":27955,"53111":27908,"53112":27929,"53113":27962,"53114":27930,"53115":27921,"53116":27904,"53117":27933,"53118":27970,"53153":27905,"53154":27928,"53155":27959,"53156":27907,"53157":27919,"53158":27968,"53159":27911,"53160":27936,"53161":27948,"53162":27912,"53163":27938,"53164":27913,"53165":27920,"53166":28855,"53167":28831,"53168":28862,"53169":28849,"53170":28848,"53171":28833,"53172":28852,"53173":28853,"53174":28841,"53175":29249,"53176":29257,"53177":29258,"53178":29292,"53179":29296,"53180":29299,"53181":29294,"53182":29386,"53183":29412,"53184":29416,"53185":29419,"53186":29407,"53187":29418,"53188":29414,"53189":29411,"53190":29573,"53191":29644,"53192":29634,"53193":29640,"53194":29637,"53195":29625,"53196":29622,"53197":29621,"53198":29620,"53199":29675,"53200":29631,"53201":29639,"53202":29630,"53203":29635,"53204":29638,"53205":29624,"53206":29643,"53207":29932,"53208":29934,"53209":29998,"53210":30023,"53211":30024,"53212":30119,"53213":30122,"53214":30329,"53215":30404,"53216":30472,"53217":30467,"53218":30468,"53219":30469,"53220":30474,"53221":30455,"53222":30459,"53223":30458,"53224":30695,"53225":30696,"53226":30726,"53227":30737,"53228":30738,"53229":30725,"53230":30736,"53231":30735,"53232":30734,"53233":30729,"53234":30723,"53235":30739,"53236":31050,"53237":31052,"53238":31051,"53239":31045,"53240":31044,"53241":31189,"53242":31181,"53243":31183,"53244":31190,"53245":31182,"53246":31360,"53312":31358,"53313":31441,"53314":31488,"53315":31489,"53316":31866,"53317":31864,"53318":31865,"53319":31871,"53320":31872,"53321":31873,"53322":32003,"53323":32008,"53324":32001,"53325":32600,"53326":32657,"53327":32653,"53328":32702,"53329":32775,"53330":32782,"53331":32783,"53332":32788,"53333":32823,"53334":32984,"53335":32967,"53336":32992,"53337":32977,"53338":32968,"53339":32962,"53340":32976,"53341":32965,"53342":32995,"53343":32985,"53344":32988,"53345":32970,"53346":32981,"53347":32969,"53348":32975,"53349":32983,"53350":32998,"53351":32973,"53352":33279,"53353":33313,"53354":33428,"53355":33497,"53356":33534,"53357":33529,"53358":33543,"53359":33512,"53360":33536,"53361":33493,"53362":33594,"53363":33515,"53364":33494,"53365":33524,"53366":33516,"53367":33505,"53368":33522,"53369":33525,"53370":33548,"53371":33531,"53372":33526,"53373":33520,"53374":33514,"53409":33508,"53410":33504,"53411":33530,"53412":33523,"53413":33517,"53414":34423,"53415":34420,"53416":34428,"53417":34419,"53418":34881,"53419":34894,"53420":34919,"53421":34922,"53422":34921,"53423":35283,"53424":35332,"53425":35335,"53426":36210,"53427":36835,"53428":36833,"53429":36846,"53430":36832,"53431":37105,"53432":37053,"53433":37055,"53434":37077,"53435":37061,"53436":37054,"53437":37063,"53438":37067,"53439":37064,"53440":37332,"53441":37331,"53442":38484,"53443":38479,"53444":38481,"53445":38483,"53446":38474,"53447":38478,"53448":20510,"53449":20485,"53450":20487,"53451":20499,"53452":20514,"53453":20528,"53454":20507,"53455":20469,"53456":20468,"53457":20531,"53458":20535,"53459":20524,"53460":20470,"53461":20471,"53462":20503,"53463":20508,"53464":20512,"53465":20519,"53466":20533,"53467":20527,"53468":20529,"53469":20494,"53470":20826,"53471":20884,"53472":20883,"53473":20938,"53474":20932,"53475":20933,"53476":20936,"53477":20942,"53478":21089,"53479":21082,"53480":21074,"53481":21086,"53482":21087,"53483":21077,"53484":21090,"53485":21197,"53486":21262,"53487":21406,"53488":21798,"53489":21730,"53490":21783,"53491":21778,"53492":21735,"53493":21747,"53494":21732,"53495":21786,"53496":21759,"53497":21764,"53498":21768,"53499":21739,"53500":21777,"53501":21765,"53502":21745,"53568":21770,"53569":21755,"53570":21751,"53571":21752,"53572":21728,"53573":21774,"53574":21763,"53575":21771,"53576":22273,"53577":22274,"53578":22476,"53579":22578,"53580":22485,"53581":22482,"53582":22458,"53583":22470,"53584":22461,"53585":22460,"53586":22456,"53587":22454,"53588":22463,"53589":22471,"53590":22480,"53591":22457,"53592":22465,"53593":22798,"53594":22858,"53595":23065,"53596":23062,"53597":23085,"53598":23086,"53599":23061,"53600":23055,"53601":23063,"53602":23050,"53603":23070,"53604":23091,"53605":23404,"53606":23463,"53607":23469,"53608":23468,"53609":23555,"53610":23638,"53611":23636,"53612":23788,"53613":23807,"53614":23790,"53615":23793,"53616":23799,"53617":23808,"53618":23801,"53619":24105,"53620":24104,"53621":24232,"53622":24238,"53623":24234,"53624":24236,"53625":24371,"53626":24368,"53627":24423,"53628":24669,"53629":24666,"53630":24679,"53665":24641,"53666":24738,"53667":24712,"53668":24704,"53669":24722,"53670":24705,"53671":24733,"53672":24707,"53673":24725,"53674":24731,"53675":24727,"53676":24711,"53677":24732,"53678":24718,"53679":25113,"53680":25158,"53681":25330,"53682":25360,"53683":25430,"53684":25388,"53685":25412,"53686":25413,"53687":25398,"53688":25411,"53689":25572,"53690":25401,"53691":25419,"53692":25418,"53693":25404,"53694":25385,"53695":25409,"53696":25396,"53697":25432,"53698":25428,"53699":25433,"53700":25389,"53701":25415,"53702":25395,"53703":25434,"53704":25425,"53705":25400,"53706":25431,"53707":25408,"53708":25416,"53709":25930,"53710":25926,"53711":26054,"53712":26051,"53713":26052,"53714":26050,"53715":26186,"53716":26207,"53717":26183,"53718":26193,"53719":26386,"53720":26387,"53721":26655,"53722":26650,"53723":26697,"53724":26674,"53725":26675,"53726":26683,"53727":26699,"53728":26703,"53729":26646,"53730":26673,"53731":26652,"53732":26677,"53733":26667,"53734":26669,"53735":26671,"53736":26702,"53737":26692,"53738":26676,"53739":26653,"53740":26642,"53741":26644,"53742":26662,"53743":26664,"53744":26670,"53745":26701,"53746":26682,"53747":26661,"53748":26656,"53749":27436,"53750":27439,"53751":27437,"53752":27441,"53753":27444,"53754":27501,"53755":32898,"53756":27528,"53757":27622,"53758":27620,"53824":27624,"53825":27619,"53826":27618,"53827":27623,"53828":27685,"53829":28026,"53830":28003,"53831":28004,"53832":28022,"53833":27917,"53834":28001,"53835":28050,"53836":27992,"53837":28002,"53838":28013,"53839":28015,"53840":28049,"53841":28045,"53842":28143,"53843":28031,"53844":28038,"53845":27998,"53846":28007,"53847":28000,"53848":28055,"53849":28016,"53850":28028,"53851":27999,"53852":28034,"53853":28056,"53854":27951,"53855":28008,"53856":28043,"53857":28030,"53858":28032,"53859":28036,"53860":27926,"53861":28035,"53862":28027,"53863":28029,"53864":28021,"53865":28048,"53866":28892,"53867":28883,"53868":28881,"53869":28893,"53870":28875,"53871":32569,"53872":28898,"53873":28887,"53874":28882,"53875":28894,"53876":28896,"53877":28884,"53878":28877,"53879":28869,"53880":28870,"53881":28871,"53882":28890,"53883":28878,"53884":28897,"53885":29250,"53886":29304,"53921":29303,"53922":29302,"53923":29440,"53924":29434,"53925":29428,"53926":29438,"53927":29430,"53928":29427,"53929":29435,"53930":29441,"53931":29651,"53932":29657,"53933":29669,"53934":29654,"53935":29628,"53936":29671,"53937":29667,"53938":29673,"53939":29660,"53940":29650,"53941":29659,"53942":29652,"53943":29661,"53944":29658,"53945":29655,"53946":29656,"53947":29672,"53948":29918,"53949":29919,"53950":29940,"53951":29941,"53952":29985,"53953":30043,"53954":30047,"53955":30128,"53956":30145,"53957":30139,"53958":30148,"53959":30144,"53960":30143,"53961":30134,"53962":30138,"53963":30346,"53964":30409,"53965":30493,"53966":30491,"53967":30480,"53968":30483,"53969":30482,"53970":30499,"53971":30481,"53972":30485,"53973":30489,"53974":30490,"53975":30498,"53976":30503,"53977":30755,"53978":30764,"53979":30754,"53980":30773,"53981":30767,"53982":30760,"53983":30766,"53984":30763,"53985":30753,"53986":30761,"53987":30771,"53988":30762,"53989":30769,"53990":31060,"53991":31067,"53992":31055,"53993":31068,"53994":31059,"53995":31058,"53996":31057,"53997":31211,"53998":31212,"53999":31200,"54000":31214,"54001":31213,"54002":31210,"54003":31196,"54004":31198,"54005":31197,"54006":31366,"54007":31369,"54008":31365,"54009":31371,"54010":31372,"54011":31370,"54012":31367,"54013":31448,"54014":31504,"54080":31492,"54081":31507,"54082":31493,"54083":31503,"54084":31496,"54085":31498,"54086":31502,"54087":31497,"54088":31506,"54089":31876,"54090":31889,"54091":31882,"54092":31884,"54093":31880,"54094":31885,"54095":31877,"54096":32030,"54097":32029,"54098":32017,"54099":32014,"54100":32024,"54101":32022,"54102":32019,"54103":32031,"54104":32018,"54105":32015,"54106":32012,"54107":32604,"54108":32609,"54109":32606,"54110":32608,"54111":32605,"54112":32603,"54113":32662,"54114":32658,"54115":32707,"54116":32706,"54117":32704,"54118":32790,"54119":32830,"54120":32825,"54121":33018,"54122":33010,"54123":33017,"54124":33013,"54125":33025,"54126":33019,"54127":33024,"54128":33281,"54129":33327,"54130":33317,"54131":33587,"54132":33581,"54133":33604,"54134":33561,"54135":33617,"54136":33573,"54137":33622,"54138":33599,"54139":33601,"54140":33574,"54141":33564,"54142":33570,"54177":33602,"54178":33614,"54179":33563,"54180":33578,"54181":33544,"54182":33596,"54183":33613,"54184":33558,"54185":33572,"54186":33568,"54187":33591,"54188":33583,"54189":33577,"54190":33607,"54191":33605,"54192":33612,"54193":33619,"54194":33566,"54195":33580,"54196":33611,"54197":33575,"54198":33608,"54199":34387,"54200":34386,"54201":34466,"54202":34472,"54203":34454,"54204":34445,"54205":34449,"54206":34462,"54207":34439,"54208":34455,"54209":34438,"54210":34443,"54211":34458,"54212":34437,"54213":34469,"54214":34457,"54215":34465,"54216":34471,"54217":34453,"54218":34456,"54219":34446,"54220":34461,"54221":34448,"54222":34452,"54223":34883,"54224":34884,"54225":34925,"54226":34933,"54227":34934,"54228":34930,"54229":34944,"54230":34929,"54231":34943,"54232":34927,"54233":34947,"54234":34942,"54235":34932,"54236":34940,"54237":35346,"54238":35911,"54239":35927,"54240":35963,"54241":36004,"54242":36003,"54243":36214,"54244":36216,"54245":36277,"54246":36279,"54247":36278,"54248":36561,"54249":36563,"54250":36862,"54251":36853,"54252":36866,"54253":36863,"54254":36859,"54255":36868,"54256":36860,"54257":36854,"54258":37078,"54259":37088,"54260":37081,"54261":37082,"54262":37091,"54263":37087,"54264":37093,"54265":37080,"54266":37083,"54267":37079,"54268":37084,"54269":37092,"54270":37200,"54336":37198,"54337":37199,"54338":37333,"54339":37346,"54340":37338,"54341":38492,"54342":38495,"54343":38588,"54344":39139,"54345":39647,"54346":39727,"54347":20095,"54348":20592,"54349":20586,"54350":20577,"54351":20574,"54352":20576,"54353":20563,"54354":20555,"54355":20573,"54356":20594,"54357":20552,"54358":20557,"54359":20545,"54360":20571,"54361":20554,"54362":20578,"54363":20501,"54364":20549,"54365":20575,"54366":20585,"54367":20587,"54368":20579,"54369":20580,"54370":20550,"54371":20544,"54372":20590,"54373":20595,"54374":20567,"54375":20561,"54376":20944,"54377":21099,"54378":21101,"54379":21100,"54380":21102,"54381":21206,"54382":21203,"54383":21293,"54384":21404,"54385":21877,"54386":21878,"54387":21820,"54388":21837,"54389":21840,"54390":21812,"54391":21802,"54392":21841,"54393":21858,"54394":21814,"54395":21813,"54396":21808,"54397":21842,"54398":21829,"54433":21772,"54434":21810,"54435":21861,"54436":21838,"54437":21817,"54438":21832,"54439":21805,"54440":21819,"54441":21824,"54442":21835,"54443":22282,"54444":22279,"54445":22523,"54446":22548,"54447":22498,"54448":22518,"54449":22492,"54450":22516,"54451":22528,"54452":22509,"54453":22525,"54454":22536,"54455":22520,"54456":22539,"54457":22515,"54458":22479,"54459":22535,"54460":22510,"54461":22499,"54462":22514,"54463":22501,"54464":22508,"54465":22497,"54466":22542,"54467":22524,"54468":22544,"54469":22503,"54470":22529,"54471":22540,"54472":22513,"54473":22505,"54474":22512,"54475":22541,"54476":22532,"54477":22876,"54478":23136,"54479":23128,"54480":23125,"54481":23143,"54482":23134,"54483":23096,"54484":23093,"54485":23149,"54486":23120,"54487":23135,"54488":23141,"54489":23148,"54490":23123,"54491":23140,"54492":23127,"54493":23107,"54494":23133,"54495":23122,"54496":23108,"54497":23131,"54498":23112,"54499":23182,"54500":23102,"54501":23117,"54502":23097,"54503":23116,"54504":23152,"54505":23145,"54506":23111,"54507":23121,"54508":23126,"54509":23106,"54510":23132,"54511":23410,"54512":23406,"54513":23489,"54514":23488,"54515":23641,"54516":23838,"54517":23819,"54518":23837,"54519":23834,"54520":23840,"54521":23820,"54522":23848,"54523":23821,"54524":23846,"54525":23845,"54526":23823,"54592":23856,"54593":23826,"54594":23843,"54595":23839,"54596":23854,"54597":24126,"54598":24116,"54599":24241,"54600":24244,"54601":24249,"54602":24242,"54603":24243,"54604":24374,"54605":24376,"54606":24475,"54607":24470,"54608":24479,"54609":24714,"54610":24720,"54611":24710,"54612":24766,"54613":24752,"54614":24762,"54615":24787,"54616":24788,"54617":24783,"54618":24804,"54619":24793,"54620":24797,"54621":24776,"54622":24753,"54623":24795,"54624":24759,"54625":24778,"54626":24767,"54627":24771,"54628":24781,"54629":24768,"54630":25394,"54631":25445,"54632":25482,"54633":25474,"54634":25469,"54635":25533,"54636":25502,"54637":25517,"54638":25501,"54639":25495,"54640":25515,"54641":25486,"54642":25455,"54643":25479,"54644":25488,"54645":25454,"54646":25519,"54647":25461,"54648":25500,"54649":25453,"54650":25518,"54651":25468,"54652":25508,"54653":25403,"54654":25503,"54689":25464,"54690":25477,"54691":25473,"54692":25489,"54693":25485,"54694":25456,"54695":25939,"54696":26061,"54697":26213,"54698":26209,"54699":26203,"54700":26201,"54701":26204,"54702":26210,"54703":26392,"54704":26745,"54705":26759,"54706":26768,"54707":26780,"54708":26733,"54709":26734,"54710":26798,"54711":26795,"54712":26966,"54713":26735,"54714":26787,"54715":26796,"54716":26793,"54717":26741,"54718":26740,"54719":26802,"54720":26767,"54721":26743,"54722":26770,"54723":26748,"54724":26731,"54725":26738,"54726":26794,"54727":26752,"54728":26737,"54729":26750,"54730":26779,"54731":26774,"54732":26763,"54733":26784,"54734":26761,"54735":26788,"54736":26744,"54737":26747,"54738":26769,"54739":26764,"54740":26762,"54741":26749,"54742":27446,"54743":27443,"54744":27447,"54745":27448,"54746":27537,"54747":27535,"54748":27533,"54749":27534,"54750":27532,"54751":27690,"54752":28096,"54753":28075,"54754":28084,"54755":28083,"54756":28276,"54757":28076,"54758":28137,"54759":28130,"54760":28087,"54761":28150,"54762":28116,"54763":28160,"54764":28104,"54765":28128,"54766":28127,"54767":28118,"54768":28094,"54769":28133,"54770":28124,"54771":28125,"54772":28123,"54773":28148,"54774":28106,"54775":28093,"54776":28141,"54777":28144,"54778":28090,"54779":28117,"54780":28098,"54781":28111,"54782":28105,"54848":28112,"54849":28146,"54850":28115,"54851":28157,"54852":28119,"54853":28109,"54854":28131,"54855":28091,"54856":28922,"54857":28941,"54858":28919,"54859":28951,"54860":28916,"54861":28940,"54862":28912,"54863":28932,"54864":28915,"54865":28944,"54866":28924,"54867":28927,"54868":28934,"54869":28947,"54870":28928,"54871":28920,"54872":28918,"54873":28939,"54874":28930,"54875":28942,"54876":29310,"54877":29307,"54878":29308,"54879":29311,"54880":29469,"54881":29463,"54882":29447,"54883":29457,"54884":29464,"54885":29450,"54886":29448,"54887":29439,"54888":29455,"54889":29470,"54890":29576,"54891":29686,"54892":29688,"54893":29685,"54894":29700,"54895":29697,"54896":29693,"54897":29703,"54898":29696,"54899":29690,"54900":29692,"54901":29695,"54902":29708,"54903":29707,"54904":29684,"54905":29704,"54906":30052,"54907":30051,"54908":30158,"54909":30162,"54910":30159,"54945":30155,"54946":30156,"54947":30161,"54948":30160,"54949":30351,"54950":30345,"54951":30419,"54952":30521,"54953":30511,"54954":30509,"54955":30513,"54956":30514,"54957":30516,"54958":30515,"54959":30525,"54960":30501,"54961":30523,"54962":30517,"54963":30792,"54964":30802,"54965":30793,"54966":30797,"54967":30794,"54968":30796,"54969":30758,"54970":30789,"54971":30800,"54972":31076,"54973":31079,"54974":31081,"54975":31082,"54976":31075,"54977":31083,"54978":31073,"54979":31163,"54980":31226,"54981":31224,"54982":31222,"54983":31223,"54984":31375,"54985":31380,"54986":31376,"54987":31541,"54988":31559,"54989":31540,"54990":31525,"54991":31536,"54992":31522,"54993":31524,"54994":31539,"54995":31512,"54996":31530,"54997":31517,"54998":31537,"54999":31531,"55000":31533,"55001":31535,"55002":31538,"55003":31544,"55004":31514,"55005":31523,"55006":31892,"55007":31896,"55008":31894,"55009":31907,"55010":32053,"55011":32061,"55012":32056,"55013":32054,"55014":32058,"55015":32069,"55016":32044,"55017":32041,"55018":32065,"55019":32071,"55020":32062,"55021":32063,"55022":32074,"55023":32059,"55024":32040,"55025":32611,"55026":32661,"55027":32668,"55028":32669,"55029":32667,"55030":32714,"55031":32715,"55032":32717,"55033":32720,"55034":32721,"55035":32711,"55036":32719,"55037":32713,"55038":32799,"55104":32798,"55105":32795,"55106":32839,"55107":32835,"55108":32840,"55109":33048,"55110":33061,"55111":33049,"55112":33051,"55113":33069,"55114":33055,"55115":33068,"55116":33054,"55117":33057,"55118":33045,"55119":33063,"55120":33053,"55121":33058,"55122":33297,"55123":33336,"55124":33331,"55125":33338,"55126":33332,"55127":33330,"55128":33396,"55129":33680,"55130":33699,"55131":33704,"55132":33677,"55133":33658,"55134":33651,"55135":33700,"55136":33652,"55137":33679,"55138":33665,"55139":33685,"55140":33689,"55141":33653,"55142":33684,"55143":33705,"55144":33661,"55145":33667,"55146":33676,"55147":33693,"55148":33691,"55149":33706,"55150":33675,"55151":33662,"55152":33701,"55153":33711,"55154":33672,"55155":33687,"55156":33712,"55157":33663,"55158":33702,"55159":33671,"55160":33710,"55161":33654,"55162":33690,"55163":34393,"55164":34390,"55165":34495,"55166":34487,"55201":34498,"55202":34497,"55203":34501,"55204":34490,"55205":34480,"55206":34504,"55207":34489,"55208":34483,"55209":34488,"55210":34508,"55211":34484,"55212":34491,"55213":34492,"55214":34499,"55215":34493,"55216":34494,"55217":34898,"55218":34953,"55219":34965,"55220":34984,"55221":34978,"55222":34986,"55223":34970,"55224":34961,"55225":34977,"55226":34975,"55227":34968,"55228":34983,"55229":34969,"55230":34971,"55231":34967,"55232":34980,"55233":34988,"55234":34956,"55235":34963,"55236":34958,"55237":35202,"55238":35286,"55239":35289,"55240":35285,"55241":35376,"55242":35367,"55243":35372,"55244":35358,"55245":35897,"55246":35899,"55247":35932,"55248":35933,"55249":35965,"55250":36005,"55251":36221,"55252":36219,"55253":36217,"55254":36284,"55255":36290,"55256":36281,"55257":36287,"55258":36289,"55259":36568,"55260":36574,"55261":36573,"55262":36572,"55263":36567,"55264":36576,"55265":36577,"55266":36900,"55267":36875,"55268":36881,"55269":36892,"55270":36876,"55271":36897,"55272":37103,"55273":37098,"55274":37104,"55275":37108,"55276":37106,"55277":37107,"55278":37076,"55279":37099,"55280":37100,"55281":37097,"55282":37206,"55283":37208,"55284":37210,"55285":37203,"55286":37205,"55287":37356,"55288":37364,"55289":37361,"55290":37363,"55291":37368,"55292":37348,"55293":37369,"55294":37354,"55360":37355,"55361":37367,"55362":37352,"55363":37358,"55364":38266,"55365":38278,"55366":38280,"55367":38524,"55368":38509,"55369":38507,"55370":38513,"55371":38511,"55372":38591,"55373":38762,"55374":38916,"55375":39141,"55376":39319,"55377":20635,"55378":20629,"55379":20628,"55380":20638,"55381":20619,"55382":20643,"55383":20611,"55384":20620,"55385":20622,"55386":20637,"55387":20584,"55388":20636,"55389":20626,"55390":20610,"55391":20615,"55392":20831,"55393":20948,"55394":21266,"55395":21265,"55396":21412,"55397":21415,"55398":21905,"55399":21928,"55400":21925,"55401":21933,"55402":21879,"55403":22085,"55404":21922,"55405":21907,"55406":21896,"55407":21903,"55408":21941,"55409":21889,"55410":21923,"55411":21906,"55412":21924,"55413":21885,"55414":21900,"55415":21926,"55416":21887,"55417":21909,"55418":21921,"55419":21902,"55420":22284,"55421":22569,"55422":22583,"55457":22553,"55458":22558,"55459":22567,"55460":22563,"55461":22568,"55462":22517,"55463":22600,"55464":22565,"55465":22556,"55466":22555,"55467":22579,"55468":22591,"55469":22582,"55470":22574,"55471":22585,"55472":22584,"55473":22573,"55474":22572,"55475":22587,"55476":22881,"55477":23215,"55478":23188,"55479":23199,"55480":23162,"55481":23202,"55482":23198,"55483":23160,"55484":23206,"55485":23164,"55486":23205,"55487":23212,"55488":23189,"55489":23214,"55490":23095,"55491":23172,"55492":23178,"55493":23191,"55494":23171,"55495":23179,"55496":23209,"55497":23163,"55498":23165,"55499":23180,"55500":23196,"55501":23183,"55502":23187,"55503":23197,"55504":23530,"55505":23501,"55506":23499,"55507":23508,"55508":23505,"55509":23498,"55510":23502,"55511":23564,"55512":23600,"55513":23863,"55514":23875,"55515":23915,"55516":23873,"55517":23883,"55518":23871,"55519":23861,"55520":23889,"55521":23886,"55522":23893,"55523":23859,"55524":23866,"55525":23890,"55526":23869,"55527":23857,"55528":23897,"55529":23874,"55530":23865,"55531":23881,"55532":23864,"55533":23868,"55534":23858,"55535":23862,"55536":23872,"55537":23877,"55538":24132,"55539":24129,"55540":24408,"55541":24486,"55542":24485,"55543":24491,"55544":24777,"55545":24761,"55546":24780,"55547":24802,"55548":24782,"55549":24772,"55550":24852,"55616":24818,"55617":24842,"55618":24854,"55619":24837,"55620":24821,"55621":24851,"55622":24824,"55623":24828,"55624":24830,"55625":24769,"55626":24835,"55627":24856,"55628":24861,"55629":24848,"55630":24831,"55631":24836,"55632":24843,"55633":25162,"55634":25492,"55635":25521,"55636":25520,"55637":25550,"55638":25573,"55639":25576,"55640":25583,"55641":25539,"55642":25757,"55643":25587,"55644":25546,"55645":25568,"55646":25590,"55647":25557,"55648":25586,"55649":25589,"55650":25697,"55651":25567,"55652":25534,"55653":25565,"55654":25564,"55655":25540,"55656":25560,"55657":25555,"55658":25538,"55659":25543,"55660":25548,"55661":25547,"55662":25544,"55663":25584,"55664":25559,"55665":25561,"55666":25906,"55667":25959,"55668":25962,"55669":25956,"55670":25948,"55671":25960,"55672":25957,"55673":25996,"55674":26013,"55675":26014,"55676":26030,"55677":26064,"55678":26066,"55713":26236,"55714":26220,"55715":26235,"55716":26240,"55717":26225,"55718":26233,"55719":26218,"55720":26226,"55721":26369,"55722":26892,"55723":26835,"55724":26884,"55725":26844,"55726":26922,"55727":26860,"55728":26858,"55729":26865,"55730":26895,"55731":26838,"55732":26871,"55733":26859,"55734":26852,"55735":26870,"55736":26899,"55737":26896,"55738":26867,"55739":26849,"55740":26887,"55741":26828,"55742":26888,"55743":26992,"55744":26804,"55745":26897,"55746":26863,"55747":26822,"55748":26900,"55749":26872,"55750":26832,"55751":26877,"55752":26876,"55753":26856,"55754":26891,"55755":26890,"55756":26903,"55757":26830,"55758":26824,"55759":26845,"55760":26846,"55761":26854,"55762":26868,"55763":26833,"55764":26886,"55765":26836,"55766":26857,"55767":26901,"55768":26917,"55769":26823,"55770":27449,"55771":27451,"55772":27455,"55773":27452,"55774":27540,"55775":27543,"55776":27545,"55777":27541,"55778":27581,"55779":27632,"55780":27634,"55781":27635,"55782":27696,"55783":28156,"55784":28230,"55785":28231,"55786":28191,"55787":28233,"55788":28296,"55789":28220,"55790":28221,"55791":28229,"55792":28258,"55793":28203,"55794":28223,"55795":28225,"55796":28253,"55797":28275,"55798":28188,"55799":28211,"55800":28235,"55801":28224,"55802":28241,"55803":28219,"55804":28163,"55805":28206,"55806":28254,"55872":28264,"55873":28252,"55874":28257,"55875":28209,"55876":28200,"55877":28256,"55878":28273,"55879":28267,"55880":28217,"55881":28194,"55882":28208,"55883":28243,"55884":28261,"55885":28199,"55886":28280,"55887":28260,"55888":28279,"55889":28245,"55890":28281,"55891":28242,"55892":28262,"55893":28213,"55894":28214,"55895":28250,"55896":28960,"55897":28958,"55898":28975,"55899":28923,"55900":28974,"55901":28977,"55902":28963,"55903":28965,"55904":28962,"55905":28978,"55906":28959,"55907":28968,"55908":28986,"55909":28955,"55910":29259,"55911":29274,"55912":29320,"55913":29321,"55914":29318,"55915":29317,"55916":29323,"55917":29458,"55918":29451,"55919":29488,"55920":29474,"55921":29489,"55922":29491,"55923":29479,"55924":29490,"55925":29485,"55926":29478,"55927":29475,"55928":29493,"55929":29452,"55930":29742,"55931":29740,"55932":29744,"55933":29739,"55934":29718,"55969":29722,"55970":29729,"55971":29741,"55972":29745,"55973":29732,"55974":29731,"55975":29725,"55976":29737,"55977":29728,"55978":29746,"55979":29947,"55980":29999,"55981":30063,"55982":30060,"55983":30183,"55984":30170,"55985":30177,"55986":30182,"55987":30173,"55988":30175,"55989":30180,"55990":30167,"55991":30357,"55992":30354,"55993":30426,"55994":30534,"55995":30535,"55996":30532,"55997":30541,"55998":30533,"55999":30538,"56000":30542,"56001":30539,"56002":30540,"56003":30686,"56004":30700,"56005":30816,"56006":30820,"56007":30821,"56008":30812,"56009":30829,"56010":30833,"56011":30826,"56012":30830,"56013":30832,"56014":30825,"56015":30824,"56016":30814,"56017":30818,"56018":31092,"56019":31091,"56020":31090,"56021":31088,"56022":31234,"56023":31242,"56024":31235,"56025":31244,"56026":31236,"56027":31385,"56028":31462,"56029":31460,"56030":31562,"56031":31547,"56032":31556,"56033":31560,"56034":31564,"56035":31566,"56036":31552,"56037":31576,"56038":31557,"56039":31906,"56040":31902,"56041":31912,"56042":31905,"56043":32088,"56044":32111,"56045":32099,"56046":32083,"56047":32086,"56048":32103,"56049":32106,"56050":32079,"56051":32109,"56052":32092,"56053":32107,"56054":32082,"56055":32084,"56056":32105,"56057":32081,"56058":32095,"56059":32078,"56060":32574,"56061":32575,"56062":32613,"56128":32614,"56129":32674,"56130":32672,"56131":32673,"56132":32727,"56133":32849,"56134":32847,"56135":32848,"56136":33022,"56137":32980,"56138":33091,"56139":33098,"56140":33106,"56141":33103,"56142":33095,"56143":33085,"56144":33101,"56145":33082,"56146":33254,"56147":33262,"56148":33271,"56149":33272,"56150":33273,"56151":33284,"56152":33340,"56153":33341,"56154":33343,"56155":33397,"56156":33595,"56157":33743,"56158":33785,"56159":33827,"56160":33728,"56161":33768,"56162":33810,"56163":33767,"56164":33764,"56165":33788,"56166":33782,"56167":33808,"56168":33734,"56169":33736,"56170":33771,"56171":33763,"56172":33727,"56173":33793,"56174":33757,"56175":33765,"56176":33752,"56177":33791,"56178":33761,"56179":33739,"56180":33742,"56181":33750,"56182":33781,"56183":33737,"56184":33801,"56185":33807,"56186":33758,"56187":33809,"56188":33798,"56189":33730,"56190":33779,"56225":33749,"56226":33786,"56227":33735,"56228":33745,"56229":33770,"56230":33811,"56231":33731,"56232":33772,"56233":33774,"56234":33732,"56235":33787,"56236":33751,"56237":33762,"56238":33819,"56239":33755,"56240":33790,"56241":34520,"56242":34530,"56243":34534,"56244":34515,"56245":34531,"56246":34522,"56247":34538,"56248":34525,"56249":34539,"56250":34524,"56251":34540,"56252":34537,"56253":34519,"56254":34536,"56255":34513,"56256":34888,"56257":34902,"56258":34901,"56259":35002,"56260":35031,"56261":35001,"56262":35000,"56263":35008,"56264":35006,"56265":34998,"56266":35004,"56267":34999,"56268":35005,"56269":34994,"56270":35073,"56271":35017,"56272":35221,"56273":35224,"56274":35223,"56275":35293,"56276":35290,"56277":35291,"56278":35406,"56279":35405,"56280":35385,"56281":35417,"56282":35392,"56283":35415,"56284":35416,"56285":35396,"56286":35397,"56287":35410,"56288":35400,"56289":35409,"56290":35402,"56291":35404,"56292":35407,"56293":35935,"56294":35969,"56295":35968,"56296":36026,"56297":36030,"56298":36016,"56299":36025,"56300":36021,"56301":36228,"56302":36224,"56303":36233,"56304":36312,"56305":36307,"56306":36301,"56307":36295,"56308":36310,"56309":36316,"56310":36303,"56311":36309,"56312":36313,"56313":36296,"56314":36311,"56315":36293,"56316":36591,"56317":36599,"56318":36602,"56384":36601,"56385":36582,"56386":36590,"56387":36581,"56388":36597,"56389":36583,"56390":36584,"56391":36598,"56392":36587,"56393":36593,"56394":36588,"56395":36596,"56396":36585,"56397":36909,"56398":36916,"56399":36911,"56400":37126,"56401":37164,"56402":37124,"56403":37119,"56404":37116,"56405":37128,"56406":37113,"56407":37115,"56408":37121,"56409":37120,"56410":37127,"56411":37125,"56412":37123,"56413":37217,"56414":37220,"56415":37215,"56416":37218,"56417":37216,"56418":37377,"56419":37386,"56420":37413,"56421":37379,"56422":37402,"56423":37414,"56424":37391,"56425":37388,"56426":37376,"56427":37394,"56428":37375,"56429":37373,"56430":37382,"56431":37380,"56432":37415,"56433":37378,"56434":37404,"56435":37412,"56436":37401,"56437":37399,"56438":37381,"56439":37398,"56440":38267,"56441":38285,"56442":38284,"56443":38288,"56444":38535,"56445":38526,"56446":38536,"56481":38537,"56482":38531,"56483":38528,"56484":38594,"56485":38600,"56486":38595,"56487":38641,"56488":38640,"56489":38764,"56490":38768,"56491":38766,"56492":38919,"56493":39081,"56494":39147,"56495":40166,"56496":40697,"56497":20099,"56498":20100,"56499":20150,"56500":20669,"56501":20671,"56502":20678,"56503":20654,"56504":20676,"56505":20682,"56506":20660,"56507":20680,"56508":20674,"56509":20656,"56510":20673,"56511":20666,"56512":20657,"56513":20683,"56514":20681,"56515":20662,"56516":20664,"56517":20951,"56518":21114,"56519":21112,"56520":21115,"56521":21116,"56522":21955,"56523":21979,"56524":21964,"56525":21968,"56526":21963,"56527":21962,"56528":21981,"56529":21952,"56530":21972,"56531":21956,"56532":21993,"56533":21951,"56534":21970,"56535":21901,"56536":21967,"56537":21973,"56538":21986,"56539":21974,"56540":21960,"56541":22002,"56542":21965,"56543":21977,"56544":21954,"56545":22292,"56546":22611,"56547":22632,"56548":22628,"56549":22607,"56550":22605,"56551":22601,"56552":22639,"56553":22613,"56554":22606,"56555":22621,"56556":22617,"56557":22629,"56558":22619,"56559":22589,"56560":22627,"56561":22641,"56562":22780,"56563":23239,"56564":23236,"56565":23243,"56566":23226,"56567":23224,"56568":23217,"56569":23221,"56570":23216,"56571":23231,"56572":23240,"56573":23227,"56574":23238,"56640":23223,"56641":23232,"56642":23242,"56643":23220,"56644":23222,"56645":23245,"56646":23225,"56647":23184,"56648":23510,"56649":23512,"56650":23513,"56651":23583,"56652":23603,"56653":23921,"56654":23907,"56655":23882,"56656":23909,"56657":23922,"56658":23916,"56659":23902,"56660":23912,"56661":23911,"56662":23906,"56663":24048,"56664":24143,"56665":24142,"56666":24138,"56667":24141,"56668":24139,"56669":24261,"56670":24268,"56671":24262,"56672":24267,"56673":24263,"56674":24384,"56675":24495,"56676":24493,"56677":24823,"56678":24905,"56679":24906,"56680":24875,"56681":24901,"56682":24886,"56683":24882,"56684":24878,"56685":24902,"56686":24879,"56687":24911,"56688":24873,"56689":24896,"56690":25120,"56691":37224,"56692":25123,"56693":25125,"56694":25124,"56695":25541,"56696":25585,"56697":25579,"56698":25616,"56699":25618,"56700":25609,"56701":25632,"56702":25636,"56737":25651,"56738":25667,"56739":25631,"56740":25621,"56741":25624,"56742":25657,"56743":25655,"56744":25634,"56745":25635,"56746":25612,"56747":25638,"56748":25648,"56749":25640,"56750":25665,"56751":25653,"56752":25647,"56753":25610,"56754":25626,"56755":25664,"56756":25637,"56757":25639,"56758":25611,"56759":25575,"56760":25627,"56761":25646,"56762":25633,"56763":25614,"56764":25967,"56765":26002,"56766":26067,"56767":26246,"56768":26252,"56769":26261,"56770":26256,"56771":26251,"56772":26250,"56773":26265,"56774":26260,"56775":26232,"56776":26400,"56777":26982,"56778":26975,"56779":26936,"56780":26958,"56781":26978,"56782":26993,"56783":26943,"56784":26949,"56785":26986,"56786":26937,"56787":26946,"56788":26967,"56789":26969,"56790":27002,"56791":26952,"56792":26953,"56793":26933,"56794":26988,"56795":26931,"56796":26941,"56797":26981,"56798":26864,"56799":27000,"56800":26932,"56801":26985,"56802":26944,"56803":26991,"56804":26948,"56805":26998,"56806":26968,"56807":26945,"56808":26996,"56809":26956,"56810":26939,"56811":26955,"56812":26935,"56813":26972,"56814":26959,"56815":26961,"56816":26930,"56817":26962,"56818":26927,"56819":27003,"56820":26940,"56821":27462,"56822":27461,"56823":27459,"56824":27458,"56825":27464,"56826":27457,"56827":27547,"56828":64013,"56829":27643,"56830":27644,"56896":27641,"56897":27639,"56898":27640,"56899":28315,"56900":28374,"56901":28360,"56902":28303,"56903":28352,"56904":28319,"56905":28307,"56906":28308,"56907":28320,"56908":28337,"56909":28345,"56910":28358,"56911":28370,"56912":28349,"56913":28353,"56914":28318,"56915":28361,"56916":28343,"56917":28336,"56918":28365,"56919":28326,"56920":28367,"56921":28338,"56922":28350,"56923":28355,"56924":28380,"56925":28376,"56926":28313,"56927":28306,"56928":28302,"56929":28301,"56930":28324,"56931":28321,"56932":28351,"56933":28339,"56934":28368,"56935":28362,"56936":28311,"56937":28334,"56938":28323,"56939":28999,"56940":29012,"56941":29010,"56942":29027,"56943":29024,"56944":28993,"56945":29021,"56946":29026,"56947":29042,"56948":29048,"56949":29034,"56950":29025,"56951":28994,"56952":29016,"56953":28995,"56954":29003,"56955":29040,"56956":29023,"56957":29008,"56958":29011,"56993":28996,"56994":29005,"56995":29018,"56996":29263,"56997":29325,"56998":29324,"56999":29329,"57000":29328,"57001":29326,"57002":29500,"57003":29506,"57004":29499,"57005":29498,"57006":29504,"57007":29514,"57008":29513,"57009":29764,"57010":29770,"57011":29771,"57012":29778,"57013":29777,"57014":29783,"57015":29760,"57016":29775,"57017":29776,"57018":29774,"57019":29762,"57020":29766,"57021":29773,"57022":29780,"57023":29921,"57024":29951,"57025":29950,"57026":29949,"57027":29981,"57028":30073,"57029":30071,"57030":27011,"57031":30191,"57032":30223,"57033":30211,"57034":30199,"57035":30206,"57036":30204,"57037":30201,"57038":30200,"57039":30224,"57040":30203,"57041":30198,"57042":30189,"57043":30197,"57044":30205,"57045":30361,"57046":30389,"57047":30429,"57048":30549,"57049":30559,"57050":30560,"57051":30546,"57052":30550,"57053":30554,"57054":30569,"57055":30567,"57056":30548,"57057":30553,"57058":30573,"57059":30688,"57060":30855,"57061":30874,"57062":30868,"57063":30863,"57064":30852,"57065":30869,"57066":30853,"57067":30854,"57068":30881,"57069":30851,"57070":30841,"57071":30873,"57072":30848,"57073":30870,"57074":30843,"57075":31100,"57076":31106,"57077":31101,"57078":31097,"57079":31249,"57080":31256,"57081":31257,"57082":31250,"57083":31255,"57084":31253,"57085":31266,"57086":31251,"57152":31259,"57153":31248,"57154":31395,"57155":31394,"57156":31390,"57157":31467,"57158":31590,"57159":31588,"57160":31597,"57161":31604,"57162":31593,"57163":31602,"57164":31589,"57165":31603,"57166":31601,"57167":31600,"57168":31585,"57169":31608,"57170":31606,"57171":31587,"57172":31922,"57173":31924,"57174":31919,"57175":32136,"57176":32134,"57177":32128,"57178":32141,"57179":32127,"57180":32133,"57181":32122,"57182":32142,"57183":32123,"57184":32131,"57185":32124,"57186":32140,"57187":32148,"57188":32132,"57189":32125,"57190":32146,"57191":32621,"57192":32619,"57193":32615,"57194":32616,"57195":32620,"57196":32678,"57197":32677,"57198":32679,"57199":32731,"57200":32732,"57201":32801,"57202":33124,"57203":33120,"57204":33143,"57205":33116,"57206":33129,"57207":33115,"57208":33122,"57209":33138,"57210":26401,"57211":33118,"57212":33142,"57213":33127,"57214":33135,"57249":33092,"57250":33121,"57251":33309,"57252":33353,"57253":33348,"57254":33344,"57255":33346,"57256":33349,"57257":34033,"57258":33855,"57259":33878,"57260":33910,"57261":33913,"57262":33935,"57263":33933,"57264":33893,"57265":33873,"57266":33856,"57267":33926,"57268":33895,"57269":33840,"57270":33869,"57271":33917,"57272":33882,"57273":33881,"57274":33908,"57275":33907,"57276":33885,"57277":34055,"57278":33886,"57279":33847,"57280":33850,"57281":33844,"57282":33914,"57283":33859,"57284":33912,"57285":33842,"57286":33861,"57287":33833,"57288":33753,"57289":33867,"57290":33839,"57291":33858,"57292":33837,"57293":33887,"57294":33904,"57295":33849,"57296":33870,"57297":33868,"57298":33874,"57299":33903,"57300":33989,"57301":33934,"57302":33851,"57303":33863,"57304":33846,"57305":33843,"57306":33896,"57307":33918,"57308":33860,"57309":33835,"57310":33888,"57311":33876,"57312":33902,"57313":33872,"57314":34571,"57315":34564,"57316":34551,"57317":34572,"57318":34554,"57319":34518,"57320":34549,"57321":34637,"57322":34552,"57323":34574,"57324":34569,"57325":34561,"57326":34550,"57327":34573,"57328":34565,"57329":35030,"57330":35019,"57331":35021,"57332":35022,"57333":35038,"57334":35035,"57335":35034,"57336":35020,"57337":35024,"57338":35205,"57339":35227,"57340":35295,"57341":35301,"57342":35300,"57408":35297,"57409":35296,"57410":35298,"57411":35292,"57412":35302,"57413":35446,"57414":35462,"57415":35455,"57416":35425,"57417":35391,"57418":35447,"57419":35458,"57420":35460,"57421":35445,"57422":35459,"57423":35457,"57424":35444,"57425":35450,"57426":35900,"57427":35915,"57428":35914,"57429":35941,"57430":35940,"57431":35942,"57432":35974,"57433":35972,"57434":35973,"57435":36044,"57436":36200,"57437":36201,"57438":36241,"57439":36236,"57440":36238,"57441":36239,"57442":36237,"57443":36243,"57444":36244,"57445":36240,"57446":36242,"57447":36336,"57448":36320,"57449":36332,"57450":36337,"57451":36334,"57452":36304,"57453":36329,"57454":36323,"57455":36322,"57456":36327,"57457":36338,"57458":36331,"57459":36340,"57460":36614,"57461":36607,"57462":36609,"57463":36608,"57464":36613,"57465":36615,"57466":36616,"57467":36610,"57468":36619,"57469":36946,"57470":36927,"57505":36932,"57506":36937,"57507":36925,"57508":37136,"57509":37133,"57510":37135,"57511":37137,"57512":37142,"57513":37140,"57514":37131,"57515":37134,"57516":37230,"57517":37231,"57518":37448,"57519":37458,"57520":37424,"57521":37434,"57522":37478,"57523":37427,"57524":37477,"57525":37470,"57526":37507,"57527":37422,"57528":37450,"57529":37446,"57530":37485,"57531":37484,"57532":37455,"57533":37472,"57534":37479,"57535":37487,"57536":37430,"57537":37473,"57538":37488,"57539":37425,"57540":37460,"57541":37475,"57542":37456,"57543":37490,"57544":37454,"57545":37459,"57546":37452,"57547":37462,"57548":37426,"57549":38303,"57550":38300,"57551":38302,"57552":38299,"57553":38546,"57554":38547,"57555":38545,"57556":38551,"57557":38606,"57558":38650,"57559":38653,"57560":38648,"57561":38645,"57562":38771,"57563":38775,"57564":38776,"57565":38770,"57566":38927,"57567":38925,"57568":38926,"57569":39084,"57570":39158,"57571":39161,"57572":39343,"57573":39346,"57574":39344,"57575":39349,"57576":39597,"57577":39595,"57578":39771,"57579":40170,"57580":40173,"57581":40167,"57582":40576,"57583":40701,"57584":20710,"57585":20692,"57586":20695,"57587":20712,"57588":20723,"57589":20699,"57590":20714,"57591":20701,"57592":20708,"57593":20691,"57594":20716,"57595":20720,"57596":20719,"57597":20707,"57598":20704,"57664":20952,"57665":21120,"57666":21121,"57667":21225,"57668":21227,"57669":21296,"57670":21420,"57671":22055,"57672":22037,"57673":22028,"57674":22034,"57675":22012,"57676":22031,"57677":22044,"57678":22017,"57679":22035,"57680":22018,"57681":22010,"57682":22045,"57683":22020,"57684":22015,"57685":22009,"57686":22665,"57687":22652,"57688":22672,"57689":22680,"57690":22662,"57691":22657,"57692":22655,"57693":22644,"57694":22667,"57695":22650,"57696":22663,"57697":22673,"57698":22670,"57699":22646,"57700":22658,"57701":22664,"57702":22651,"57703":22676,"57704":22671,"57705":22782,"57706":22891,"57707":23260,"57708":23278,"57709":23269,"57710":23253,"57711":23274,"57712":23258,"57713":23277,"57714":23275,"57715":23283,"57716":23266,"57717":23264,"57718":23259,"57719":23276,"57720":23262,"57721":23261,"57722":23257,"57723":23272,"57724":23263,"57725":23415,"57726":23520,"57761":23523,"57762":23651,"57763":23938,"57764":23936,"57765":23933,"57766":23942,"57767":23930,"57768":23937,"57769":23927,"57770":23946,"57771":23945,"57772":23944,"57773":23934,"57774":23932,"57775":23949,"57776":23929,"57777":23935,"57778":24152,"57779":24153,"57780":24147,"57781":24280,"57782":24273,"57783":24279,"57784":24270,"57785":24284,"57786":24277,"57787":24281,"57788":24274,"57789":24276,"57790":24388,"57791":24387,"57792":24431,"57793":24502,"57794":24876,"57795":24872,"57796":24897,"57797":24926,"57798":24945,"57799":24947,"57800":24914,"57801":24915,"57802":24946,"57803":24940,"57804":24960,"57805":24948,"57806":24916,"57807":24954,"57808":24923,"57809":24933,"57810":24891,"57811":24938,"57812":24929,"57813":24918,"57814":25129,"57815":25127,"57816":25131,"57817":25643,"57818":25677,"57819":25691,"57820":25693,"57821":25716,"57822":25718,"57823":25714,"57824":25715,"57825":25725,"57826":25717,"57827":25702,"57828":25766,"57829":25678,"57830":25730,"57831":25694,"57832":25692,"57833":25675,"57834":25683,"57835":25696,"57836":25680,"57837":25727,"57838":25663,"57839":25708,"57840":25707,"57841":25689,"57842":25701,"57843":25719,"57844":25971,"57845":26016,"57846":26273,"57847":26272,"57848":26271,"57849":26373,"57850":26372,"57851":26402,"57852":27057,"57853":27062,"57854":27081,"57920":27040,"57921":27086,"57922":27030,"57923":27056,"57924":27052,"57925":27068,"57926":27025,"57927":27033,"57928":27022,"57929":27047,"57930":27021,"57931":27049,"57932":27070,"57933":27055,"57934":27071,"57935":27076,"57936":27069,"57937":27044,"57938":27092,"57939":27065,"57940":27082,"57941":27034,"57942":27087,"57943":27059,"57944":27027,"57945":27050,"57946":27041,"57947":27038,"57948":27097,"57949":27031,"57950":27024,"57951":27074,"57952":27061,"57953":27045,"57954":27078,"57955":27466,"57956":27469,"57957":27467,"57958":27550,"57959":27551,"57960":27552,"57961":27587,"57962":27588,"57963":27646,"57964":28366,"57965":28405,"57966":28401,"57967":28419,"57968":28453,"57969":28408,"57970":28471,"57971":28411,"57972":28462,"57973":28425,"57974":28494,"57975":28441,"57976":28442,"57977":28455,"57978":28440,"57979":28475,"57980":28434,"57981":28397,"57982":28426,"58017":28470,"58018":28531,"58019":28409,"58020":28398,"58021":28461,"58022":28480,"58023":28464,"58024":28476,"58025":28469,"58026":28395,"58027":28423,"58028":28430,"58029":28483,"58030":28421,"58031":28413,"58032":28406,"58033":28473,"58034":28444,"58035":28412,"58036":28474,"58037":28447,"58038":28429,"58039":28446,"58040":28424,"58041":28449,"58042":29063,"58043":29072,"58044":29065,"58045":29056,"58046":29061,"58047":29058,"58048":29071,"58049":29051,"58050":29062,"58051":29057,"58052":29079,"58053":29252,"58054":29267,"58055":29335,"58056":29333,"58057":29331,"58058":29507,"58059":29517,"58060":29521,"58061":29516,"58062":29794,"58063":29811,"58064":29809,"58065":29813,"58066":29810,"58067":29799,"58068":29806,"58069":29952,"58070":29954,"58071":29955,"58072":30077,"58073":30096,"58074":30230,"58075":30216,"58076":30220,"58077":30229,"58078":30225,"58079":30218,"58080":30228,"58081":30392,"58082":30593,"58083":30588,"58084":30597,"58085":30594,"58086":30574,"58087":30592,"58088":30575,"58089":30590,"58090":30595,"58091":30898,"58092":30890,"58093":30900,"58094":30893,"58095":30888,"58096":30846,"58097":30891,"58098":30878,"58099":30885,"58100":30880,"58101":30892,"58102":30882,"58103":30884,"58104":31128,"58105":31114,"58106":31115,"58107":31126,"58108":31125,"58109":31124,"58110":31123,"58176":31127,"58177":31112,"58178":31122,"58179":31120,"58180":31275,"58181":31306,"58182":31280,"58183":31279,"58184":31272,"58185":31270,"58186":31400,"58187":31403,"58188":31404,"58189":31470,"58190":31624,"58191":31644,"58192":31626,"58193":31633,"58194":31632,"58195":31638,"58196":31629,"58197":31628,"58198":31643,"58199":31630,"58200":31621,"58201":31640,"58202":21124,"58203":31641,"58204":31652,"58205":31618,"58206":31931,"58207":31935,"58208":31932,"58209":31930,"58210":32167,"58211":32183,"58212":32194,"58213":32163,"58214":32170,"58215":32193,"58216":32192,"58217":32197,"58218":32157,"58219":32206,"58220":32196,"58221":32198,"58222":32203,"58223":32204,"58224":32175,"58225":32185,"58226":32150,"58227":32188,"58228":32159,"58229":32166,"58230":32174,"58231":32169,"58232":32161,"58233":32201,"58234":32627,"58235":32738,"58236":32739,"58237":32741,"58238":32734,"58273":32804,"58274":32861,"58275":32860,"58276":33161,"58277":33158,"58278":33155,"58279":33159,"58280":33165,"58281":33164,"58282":33163,"58283":33301,"58284":33943,"58285":33956,"58286":33953,"58287":33951,"58288":33978,"58289":33998,"58290":33986,"58291":33964,"58292":33966,"58293":33963,"58294":33977,"58295":33972,"58296":33985,"58297":33997,"58298":33962,"58299":33946,"58300":33969,"58301":34000,"58302":33949,"58303":33959,"58304":33979,"58305":33954,"58306":33940,"58307":33991,"58308":33996,"58309":33947,"58310":33961,"58311":33967,"58312":33960,"58313":34006,"58314":33944,"58315":33974,"58316":33999,"58317":33952,"58318":34007,"58319":34004,"58320":34002,"58321":34011,"58322":33968,"58323":33937,"58324":34401,"58325":34611,"58326":34595,"58327":34600,"58328":34667,"58329":34624,"58330":34606,"58331":34590,"58332":34593,"58333":34585,"58334":34587,"58335":34627,"58336":34604,"58337":34625,"58338":34622,"58339":34630,"58340":34592,"58341":34610,"58342":34602,"58343":34605,"58344":34620,"58345":34578,"58346":34618,"58347":34609,"58348":34613,"58349":34626,"58350":34598,"58351":34599,"58352":34616,"58353":34596,"58354":34586,"58355":34608,"58356":34577,"58357":35063,"58358":35047,"58359":35057,"58360":35058,"58361":35066,"58362":35070,"58363":35054,"58364":35068,"58365":35062,"58366":35067,"58432":35056,"58433":35052,"58434":35051,"58435":35229,"58436":35233,"58437":35231,"58438":35230,"58439":35305,"58440":35307,"58441":35304,"58442":35499,"58443":35481,"58444":35467,"58445":35474,"58446":35471,"58447":35478,"58448":35901,"58449":35944,"58450":35945,"58451":36053,"58452":36047,"58453":36055,"58454":36246,"58455":36361,"58456":36354,"58457":36351,"58458":36365,"58459":36349,"58460":36362,"58461":36355,"58462":36359,"58463":36358,"58464":36357,"58465":36350,"58466":36352,"58467":36356,"58468":36624,"58469":36625,"58470":36622,"58471":36621,"58472":37155,"58473":37148,"58474":37152,"58475":37154,"58476":37151,"58477":37149,"58478":37146,"58479":37156,"58480":37153,"58481":37147,"58482":37242,"58483":37234,"58484":37241,"58485":37235,"58486":37541,"58487":37540,"58488":37494,"58489":37531,"58490":37498,"58491":37536,"58492":37524,"58493":37546,"58494":37517,"58529":37542,"58530":37530,"58531":37547,"58532":37497,"58533":37527,"58534":37503,"58535":37539,"58536":37614,"58537":37518,"58538":37506,"58539":37525,"58540":37538,"58541":37501,"58542":37512,"58543":37537,"58544":37514,"58545":37510,"58546":37516,"58547":37529,"58548":37543,"58549":37502,"58550":37511,"58551":37545,"58552":37533,"58553":37515,"58554":37421,"58555":38558,"58556":38561,"58557":38655,"58558":38744,"58559":38781,"58560":38778,"58561":38782,"58562":38787,"58563":38784,"58564":38786,"58565":38779,"58566":38788,"58567":38785,"58568":38783,"58569":38862,"58570":38861,"58571":38934,"58572":39085,"58573":39086,"58574":39170,"58575":39168,"58576":39175,"58577":39325,"58578":39324,"58579":39363,"58580":39353,"58581":39355,"58582":39354,"58583":39362,"58584":39357,"58585":39367,"58586":39601,"58587":39651,"58588":39655,"58589":39742,"58590":39743,"58591":39776,"58592":39777,"58593":39775,"58594":40177,"58595":40178,"58596":40181,"58597":40615,"58598":20735,"58599":20739,"58600":20784,"58601":20728,"58602":20742,"58603":20743,"58604":20726,"58605":20734,"58606":20747,"58607":20748,"58608":20733,"58609":20746,"58610":21131,"58611":21132,"58612":21233,"58613":21231,"58614":22088,"58615":22082,"58616":22092,"58617":22069,"58618":22081,"58619":22090,"58620":22089,"58621":22086,"58622":22104,"58688":22106,"58689":22080,"58690":22067,"58691":22077,"58692":22060,"58693":22078,"58694":22072,"58695":22058,"58696":22074,"58697":22298,"58698":22699,"58699":22685,"58700":22705,"58701":22688,"58702":22691,"58703":22703,"58704":22700,"58705":22693,"58706":22689,"58707":22783,"58708":23295,"58709":23284,"58710":23293,"58711":23287,"58712":23286,"58713":23299,"58714":23288,"58715":23298,"58716":23289,"58717":23297,"58718":23303,"58719":23301,"58720":23311,"58721":23655,"58722":23961,"58723":23959,"58724":23967,"58725":23954,"58726":23970,"58727":23955,"58728":23957,"58729":23968,"58730":23964,"58731":23969,"58732":23962,"58733":23966,"58734":24169,"58735":24157,"58736":24160,"58737":24156,"58738":32243,"58739":24283,"58740":24286,"58741":24289,"58742":24393,"58743":24498,"58744":24971,"58745":24963,"58746":24953,"58747":25009,"58748":25008,"58749":24994,"58750":24969,"58785":24987,"58786":24979,"58787":25007,"58788":25005,"58789":24991,"58790":24978,"58791":25002,"58792":24993,"58793":24973,"58794":24934,"58795":25011,"58796":25133,"58797":25710,"58798":25712,"58799":25750,"58800":25760,"58801":25733,"58802":25751,"58803":25756,"58804":25743,"58805":25739,"58806":25738,"58807":25740,"58808":25763,"58809":25759,"58810":25704,"58811":25777,"58812":25752,"58813":25974,"58814":25978,"58815":25977,"58816":25979,"58817":26034,"58818":26035,"58819":26293,"58820":26288,"58821":26281,"58822":26290,"58823":26295,"58824":26282,"58825":26287,"58826":27136,"58827":27142,"58828":27159,"58829":27109,"58830":27128,"58831":27157,"58832":27121,"58833":27108,"58834":27168,"58835":27135,"58836":27116,"58837":27106,"58838":27163,"58839":27165,"58840":27134,"58841":27175,"58842":27122,"58843":27118,"58844":27156,"58845":27127,"58846":27111,"58847":27200,"58848":27144,"58849":27110,"58850":27131,"58851":27149,"58852":27132,"58853":27115,"58854":27145,"58855":27140,"58856":27160,"58857":27173,"58858":27151,"58859":27126,"58860":27174,"58861":27143,"58862":27124,"58863":27158,"58864":27473,"58865":27557,"58866":27555,"58867":27554,"58868":27558,"58869":27649,"58870":27648,"58871":27647,"58872":27650,"58873":28481,"58874":28454,"58875":28542,"58876":28551,"58877":28614,"58878":28562,"58944":28557,"58945":28553,"58946":28556,"58947":28514,"58948":28495,"58949":28549,"58950":28506,"58951":28566,"58952":28534,"58953":28524,"58954":28546,"58955":28501,"58956":28530,"58957":28498,"58958":28496,"58959":28503,"58960":28564,"58961":28563,"58962":28509,"58963":28416,"58964":28513,"58965":28523,"58966":28541,"58967":28519,"58968":28560,"58969":28499,"58970":28555,"58971":28521,"58972":28543,"58973":28565,"58974":28515,"58975":28535,"58976":28522,"58977":28539,"58978":29106,"58979":29103,"58980":29083,"58981":29104,"58982":29088,"58983":29082,"58984":29097,"58985":29109,"58986":29085,"58987":29093,"58988":29086,"58989":29092,"58990":29089,"58991":29098,"58992":29084,"58993":29095,"58994":29107,"58995":29336,"58996":29338,"58997":29528,"58998":29522,"58999":29534,"59000":29535,"59001":29536,"59002":29533,"59003":29531,"59004":29537,"59005":29530,"59006":29529,"59041":29538,"59042":29831,"59043":29833,"59044":29834,"59045":29830,"59046":29825,"59047":29821,"59048":29829,"59049":29832,"59050":29820,"59051":29817,"59052":29960,"59053":29959,"59054":30078,"59055":30245,"59056":30238,"59057":30233,"59058":30237,"59059":30236,"59060":30243,"59061":30234,"59062":30248,"59063":30235,"59064":30364,"59065":30365,"59066":30366,"59067":30363,"59068":30605,"59069":30607,"59070":30601,"59071":30600,"59072":30925,"59073":30907,"59074":30927,"59075":30924,"59076":30929,"59077":30926,"59078":30932,"59079":30920,"59080":30915,"59081":30916,"59082":30921,"59083":31130,"59084":31137,"59085":31136,"59086":31132,"59087":31138,"59088":31131,"59089":27510,"59090":31289,"59091":31410,"59092":31412,"59093":31411,"59094":31671,"59095":31691,"59096":31678,"59097":31660,"59098":31694,"59099":31663,"59100":31673,"59101":31690,"59102":31669,"59103":31941,"59104":31944,"59105":31948,"59106":31947,"59107":32247,"59108":32219,"59109":32234,"59110":32231,"59111":32215,"59112":32225,"59113":32259,"59114":32250,"59115":32230,"59116":32246,"59117":32241,"59118":32240,"59119":32238,"59120":32223,"59121":32630,"59122":32684,"59123":32688,"59124":32685,"59125":32749,"59126":32747,"59127":32746,"59128":32748,"59129":32742,"59130":32744,"59131":32868,"59132":32871,"59133":33187,"59134":33183,"59200":33182,"59201":33173,"59202":33186,"59203":33177,"59204":33175,"59205":33302,"59206":33359,"59207":33363,"59208":33362,"59209":33360,"59210":33358,"59211":33361,"59212":34084,"59213":34107,"59214":34063,"59215":34048,"59216":34089,"59217":34062,"59218":34057,"59219":34061,"59220":34079,"59221":34058,"59222":34087,"59223":34076,"59224":34043,"59225":34091,"59226":34042,"59227":34056,"59228":34060,"59229":34036,"59230":34090,"59231":34034,"59232":34069,"59233":34039,"59234":34027,"59235":34035,"59236":34044,"59237":34066,"59238":34026,"59239":34025,"59240":34070,"59241":34046,"59242":34088,"59243":34077,"59244":34094,"59245":34050,"59246":34045,"59247":34078,"59248":34038,"59249":34097,"59250":34086,"59251":34023,"59252":34024,"59253":34032,"59254":34031,"59255":34041,"59256":34072,"59257":34080,"59258":34096,"59259":34059,"59260":34073,"59261":34095,"59262":34402,"59297":34646,"59298":34659,"59299":34660,"59300":34679,"59301":34785,"59302":34675,"59303":34648,"59304":34644,"59305":34651,"59306":34642,"59307":34657,"59308":34650,"59309":34641,"59310":34654,"59311":34669,"59312":34666,"59313":34640,"59314":34638,"59315":34655,"59316":34653,"59317":34671,"59318":34668,"59319":34682,"59320":34670,"59321":34652,"59322":34661,"59323":34639,"59324":34683,"59325":34677,"59326":34658,"59327":34663,"59328":34665,"59329":34906,"59330":35077,"59331":35084,"59332":35092,"59333":35083,"59334":35095,"59335":35096,"59336":35097,"59337":35078,"59338":35094,"59339":35089,"59340":35086,"59341":35081,"59342":35234,"59343":35236,"59344":35235,"59345":35309,"59346":35312,"59347":35308,"59348":35535,"59349":35526,"59350":35512,"59351":35539,"59352":35537,"59353":35540,"59354":35541,"59355":35515,"59356":35543,"59357":35518,"59358":35520,"59359":35525,"59360":35544,"59361":35523,"59362":35514,"59363":35517,"59364":35545,"59365":35902,"59366":35917,"59367":35983,"59368":36069,"59369":36063,"59370":36057,"59371":36072,"59372":36058,"59373":36061,"59374":36071,"59375":36256,"59376":36252,"59377":36257,"59378":36251,"59379":36384,"59380":36387,"59381":36389,"59382":36388,"59383":36398,"59384":36373,"59385":36379,"59386":36374,"59387":36369,"59388":36377,"59389":36390,"59390":36391,"59456":36372,"59457":36370,"59458":36376,"59459":36371,"59460":36380,"59461":36375,"59462":36378,"59463":36652,"59464":36644,"59465":36632,"59466":36634,"59467":36640,"59468":36643,"59469":36630,"59470":36631,"59471":36979,"59472":36976,"59473":36975,"59474":36967,"59475":36971,"59476":37167,"59477":37163,"59478":37161,"59479":37162,"59480":37170,"59481":37158,"59482":37166,"59483":37253,"59484":37254,"59485":37258,"59486":37249,"59487":37250,"59488":37252,"59489":37248,"59490":37584,"59491":37571,"59492":37572,"59493":37568,"59494":37593,"59495":37558,"59496":37583,"59497":37617,"59498":37599,"59499":37592,"59500":37609,"59501":37591,"59502":37597,"59503":37580,"59504":37615,"59505":37570,"59506":37608,"59507":37578,"59508":37576,"59509":37582,"59510":37606,"59511":37581,"59512":37589,"59513":37577,"59514":37600,"59515":37598,"59516":37607,"59517":37585,"59518":37587,"59553":37557,"59554":37601,"59555":37574,"59556":37556,"59557":38268,"59558":38316,"59559":38315,"59560":38318,"59561":38320,"59562":38564,"59563":38562,"59564":38611,"59565":38661,"59566":38664,"59567":38658,"59568":38746,"59569":38794,"59570":38798,"59571":38792,"59572":38864,"59573":38863,"59574":38942,"59575":38941,"59576":38950,"59577":38953,"59578":38952,"59579":38944,"59580":38939,"59581":38951,"59582":39090,"59583":39176,"59584":39162,"59585":39185,"59586":39188,"59587":39190,"59588":39191,"59589":39189,"59590":39388,"59591":39373,"59592":39375,"59593":39379,"59594":39380,"59595":39374,"59596":39369,"59597":39382,"59598":39384,"59599":39371,"59600":39383,"59601":39372,"59602":39603,"59603":39660,"59604":39659,"59605":39667,"59606":39666,"59607":39665,"59608":39750,"59609":39747,"59610":39783,"59611":39796,"59612":39793,"59613":39782,"59614":39798,"59615":39797,"59616":39792,"59617":39784,"59618":39780,"59619":39788,"59620":40188,"59621":40186,"59622":40189,"59623":40191,"59624":40183,"59625":40199,"59626":40192,"59627":40185,"59628":40187,"59629":40200,"59630":40197,"59631":40196,"59632":40579,"59633":40659,"59634":40719,"59635":40720,"59636":20764,"59637":20755,"59638":20759,"59639":20762,"59640":20753,"59641":20958,"59642":21300,"59643":21473,"59644":22128,"59645":22112,"59646":22126,"59712":22131,"59713":22118,"59714":22115,"59715":22125,"59716":22130,"59717":22110,"59718":22135,"59719":22300,"59720":22299,"59721":22728,"59722":22717,"59723":22729,"59724":22719,"59725":22714,"59726":22722,"59727":22716,"59728":22726,"59729":23319,"59730":23321,"59731":23323,"59732":23329,"59733":23316,"59734":23315,"59735":23312,"59736":23318,"59737":23336,"59738":23322,"59739":23328,"59740":23326,"59741":23535,"59742":23980,"59743":23985,"59744":23977,"59745":23975,"59746":23989,"59747":23984,"59748":23982,"59749":23978,"59750":23976,"59751":23986,"59752":23981,"59753":23983,"59754":23988,"59755":24167,"59756":24168,"59757":24166,"59758":24175,"59759":24297,"59760":24295,"59761":24294,"59762":24296,"59763":24293,"59764":24395,"59765":24508,"59766":24989,"59767":25000,"59768":24982,"59769":25029,"59770":25012,"59771":25030,"59772":25025,"59773":25036,"59774":25018,"59809":25023,"59810":25016,"59811":24972,"59812":25815,"59813":25814,"59814":25808,"59815":25807,"59816":25801,"59817":25789,"59818":25737,"59819":25795,"59820":25819,"59821":25843,"59822":25817,"59823":25907,"59824":25983,"59825":25980,"59826":26018,"59827":26312,"59828":26302,"59829":26304,"59830":26314,"59831":26315,"59832":26319,"59833":26301,"59834":26299,"59835":26298,"59836":26316,"59837":26403,"59838":27188,"59839":27238,"59840":27209,"59841":27239,"59842":27186,"59843":27240,"59844":27198,"59845":27229,"59846":27245,"59847":27254,"59848":27227,"59849":27217,"59850":27176,"59851":27226,"59852":27195,"59853":27199,"59854":27201,"59855":27242,"59856":27236,"59857":27216,"59858":27215,"59859":27220,"59860":27247,"59861":27241,"59862":27232,"59863":27196,"59864":27230,"59865":27222,"59866":27221,"59867":27213,"59868":27214,"59869":27206,"59870":27477,"59871":27476,"59872":27478,"59873":27559,"59874":27562,"59875":27563,"59876":27592,"59877":27591,"59878":27652,"59879":27651,"59880":27654,"59881":28589,"59882":28619,"59883":28579,"59884":28615,"59885":28604,"59886":28622,"59887":28616,"59888":28510,"59889":28612,"59890":28605,"59891":28574,"59892":28618,"59893":28584,"59894":28676,"59895":28581,"59896":28590,"59897":28602,"59898":28588,"59899":28586,"59900":28623,"59901":28607,"59902":28600,"59968":28578,"59969":28617,"59970":28587,"59971":28621,"59972":28591,"59973":28594,"59974":28592,"59975":29125,"59976":29122,"59977":29119,"59978":29112,"59979":29142,"59980":29120,"59981":29121,"59982":29131,"59983":29140,"59984":29130,"59985":29127,"59986":29135,"59987":29117,"59988":29144,"59989":29116,"59990":29126,"59991":29146,"59992":29147,"59993":29341,"59994":29342,"59995":29545,"59996":29542,"59997":29543,"59998":29548,"59999":29541,"60000":29547,"60001":29546,"60002":29823,"60003":29850,"60004":29856,"60005":29844,"60006":29842,"60007":29845,"60008":29857,"60009":29963,"60010":30080,"60011":30255,"60012":30253,"60013":30257,"60014":30269,"60015":30259,"60016":30268,"60017":30261,"60018":30258,"60019":30256,"60020":30395,"60021":30438,"60022":30618,"60023":30621,"60024":30625,"60025":30620,"60026":30619,"60027":30626,"60028":30627,"60029":30613,"60030":30617,"60065":30615,"60066":30941,"60067":30953,"60068":30949,"60069":30954,"60070":30942,"60071":30947,"60072":30939,"60073":30945,"60074":30946,"60075":30957,"60076":30943,"60077":30944,"60078":31140,"60079":31300,"60080":31304,"60081":31303,"60082":31414,"60083":31416,"60084":31413,"60085":31409,"60086":31415,"60087":31710,"60088":31715,"60089":31719,"60090":31709,"60091":31701,"60092":31717,"60093":31706,"60094":31720,"60095":31737,"60096":31700,"60097":31722,"60098":31714,"60099":31708,"60100":31723,"60101":31704,"60102":31711,"60103":31954,"60104":31956,"60105":31959,"60106":31952,"60107":31953,"60108":32274,"60109":32289,"60110":32279,"60111":32268,"60112":32287,"60113":32288,"60114":32275,"60115":32270,"60116":32284,"60117":32277,"60118":32282,"60119":32290,"60120":32267,"60121":32271,"60122":32278,"60123":32269,"60124":32276,"60125":32293,"60126":32292,"60127":32579,"60128":32635,"60129":32636,"60130":32634,"60131":32689,"60132":32751,"60133":32810,"60134":32809,"60135":32876,"60136":33201,"60137":33190,"60138":33198,"60139":33209,"60140":33205,"60141":33195,"60142":33200,"60143":33196,"60144":33204,"60145":33202,"60146":33207,"60147":33191,"60148":33266,"60149":33365,"60150":33366,"60151":33367,"60152":34134,"60153":34117,"60154":34155,"60155":34125,"60156":34131,"60157":34145,"60158":34136,"60224":34112,"60225":34118,"60226":34148,"60227":34113,"60228":34146,"60229":34116,"60230":34129,"60231":34119,"60232":34147,"60233":34110,"60234":34139,"60235":34161,"60236":34126,"60237":34158,"60238":34165,"60239":34133,"60240":34151,"60241":34144,"60242":34188,"60243":34150,"60244":34141,"60245":34132,"60246":34149,"60247":34156,"60248":34403,"60249":34405,"60250":34404,"60251":34715,"60252":34703,"60253":34711,"60254":34707,"60255":34706,"60256":34696,"60257":34689,"60258":34710,"60259":34712,"60260":34681,"60261":34695,"60262":34723,"60263":34693,"60264":34704,"60265":34705,"60266":34717,"60267":34692,"60268":34708,"60269":34716,"60270":34714,"60271":34697,"60272":35102,"60273":35110,"60274":35120,"60275":35117,"60276":35118,"60277":35111,"60278":35121,"60279":35106,"60280":35113,"60281":35107,"60282":35119,"60283":35116,"60284":35103,"60285":35313,"60286":35552,"60321":35554,"60322":35570,"60323":35572,"60324":35573,"60325":35549,"60326":35604,"60327":35556,"60328":35551,"60329":35568,"60330":35528,"60331":35550,"60332":35553,"60333":35560,"60334":35583,"60335":35567,"60336":35579,"60337":35985,"60338":35986,"60339":35984,"60340":36085,"60341":36078,"60342":36081,"60343":36080,"60344":36083,"60345":36204,"60346":36206,"60347":36261,"60348":36263,"60349":36403,"60350":36414,"60351":36408,"60352":36416,"60353":36421,"60354":36406,"60355":36412,"60356":36413,"60357":36417,"60358":36400,"60359":36415,"60360":36541,"60361":36662,"60362":36654,"60363":36661,"60364":36658,"60365":36665,"60366":36663,"60367":36660,"60368":36982,"60369":36985,"60370":36987,"60371":36998,"60372":37114,"60373":37171,"60374":37173,"60375":37174,"60376":37267,"60377":37264,"60378":37265,"60379":37261,"60380":37263,"60381":37671,"60382":37662,"60383":37640,"60384":37663,"60385":37638,"60386":37647,"60387":37754,"60388":37688,"60389":37692,"60390":37659,"60391":37667,"60392":37650,"60393":37633,"60394":37702,"60395":37677,"60396":37646,"60397":37645,"60398":37579,"60399":37661,"60400":37626,"60401":37669,"60402":37651,"60403":37625,"60404":37623,"60405":37684,"60406":37634,"60407":37668,"60408":37631,"60409":37673,"60410":37689,"60411":37685,"60412":37674,"60413":37652,"60414":37644,"60480":37643,"60481":37630,"60482":37641,"60483":37632,"60484":37627,"60485":37654,"60486":38332,"60487":38349,"60488":38334,"60489":38329,"60490":38330,"60491":38326,"60492":38335,"60493":38325,"60494":38333,"60495":38569,"60496":38612,"60497":38667,"60498":38674,"60499":38672,"60500":38809,"60501":38807,"60502":38804,"60503":38896,"60504":38904,"60505":38965,"60506":38959,"60507":38962,"60508":39204,"60509":39199,"60510":39207,"60511":39209,"60512":39326,"60513":39406,"60514":39404,"60515":39397,"60516":39396,"60517":39408,"60518":39395,"60519":39402,"60520":39401,"60521":39399,"60522":39609,"60523":39615,"60524":39604,"60525":39611,"60526":39670,"60527":39674,"60528":39673,"60529":39671,"60530":39731,"60531":39808,"60532":39813,"60533":39815,"60534":39804,"60535":39806,"60536":39803,"60537":39810,"60538":39827,"60539":39826,"60540":39824,"60541":39802,"60542":39829,"60577":39805,"60578":39816,"60579":40229,"60580":40215,"60581":40224,"60582":40222,"60583":40212,"60584":40233,"60585":40221,"60586":40216,"60587":40226,"60588":40208,"60589":40217,"60590":40223,"60591":40584,"60592":40582,"60593":40583,"60594":40622,"60595":40621,"60596":40661,"60597":40662,"60598":40698,"60599":40722,"60600":40765,"60601":20774,"60602":20773,"60603":20770,"60604":20772,"60605":20768,"60606":20777,"60607":21236,"60608":22163,"60609":22156,"60610":22157,"60611":22150,"60612":22148,"60613":22147,"60614":22142,"60615":22146,"60616":22143,"60617":22145,"60618":22742,"60619":22740,"60620":22735,"60621":22738,"60622":23341,"60623":23333,"60624":23346,"60625":23331,"60626":23340,"60627":23335,"60628":23334,"60629":23343,"60630":23342,"60631":23419,"60632":23537,"60633":23538,"60634":23991,"60635":24172,"60636":24170,"60637":24510,"60638":24507,"60639":25027,"60640":25013,"60641":25020,"60642":25063,"60643":25056,"60644":25061,"60645":25060,"60646":25064,"60647":25054,"60648":25839,"60649":25833,"60650":25827,"60651":25835,"60652":25828,"60653":25832,"60654":25985,"60655":25984,"60656":26038,"60657":26074,"60658":26322,"60659":27277,"60660":27286,"60661":27265,"60662":27301,"60663":27273,"60664":27295,"60665":27291,"60666":27297,"60667":27294,"60668":27271,"60669":27283,"60670":27278,"60736":27285,"60737":27267,"60738":27304,"60739":27300,"60740":27281,"60741":27263,"60742":27302,"60743":27290,"60744":27269,"60745":27276,"60746":27282,"60747":27483,"60748":27565,"60749":27657,"60750":28620,"60751":28585,"60752":28660,"60753":28628,"60754":28643,"60755":28636,"60756":28653,"60757":28647,"60758":28646,"60759":28638,"60760":28658,"60761":28637,"60762":28642,"60763":28648,"60764":29153,"60765":29169,"60766":29160,"60767":29170,"60768":29156,"60769":29168,"60770":29154,"60771":29555,"60772":29550,"60773":29551,"60774":29847,"60775":29874,"60776":29867,"60777":29840,"60778":29866,"60779":29869,"60780":29873,"60781":29861,"60782":29871,"60783":29968,"60784":29969,"60785":29970,"60786":29967,"60787":30084,"60788":30275,"60789":30280,"60790":30281,"60791":30279,"60792":30372,"60793":30441,"60794":30645,"60795":30635,"60796":30642,"60797":30647,"60798":30646,"60833":30644,"60834":30641,"60835":30632,"60836":30704,"60837":30963,"60838":30973,"60839":30978,"60840":30971,"60841":30972,"60842":30962,"60843":30981,"60844":30969,"60845":30974,"60846":30980,"60847":31147,"60848":31144,"60849":31324,"60850":31323,"60851":31318,"60852":31320,"60853":31316,"60854":31322,"60855":31422,"60856":31424,"60857":31425,"60858":31749,"60859":31759,"60860":31730,"60861":31744,"60862":31743,"60863":31739,"60864":31758,"60865":31732,"60866":31755,"60867":31731,"60868":31746,"60869":31753,"60870":31747,"60871":31745,"60872":31736,"60873":31741,"60874":31750,"60875":31728,"60876":31729,"60877":31760,"60878":31754,"60879":31976,"60880":32301,"60881":32316,"60882":32322,"60883":32307,"60884":38984,"60885":32312,"60886":32298,"60887":32329,"60888":32320,"60889":32327,"60890":32297,"60891":32332,"60892":32304,"60893":32315,"60894":32310,"60895":32324,"60896":32314,"60897":32581,"60898":32639,"60899":32638,"60900":32637,"60901":32756,"60902":32754,"60903":32812,"60904":33211,"60905":33220,"60906":33228,"60907":33226,"60908":33221,"60909":33223,"60910":33212,"60911":33257,"60912":33371,"60913":33370,"60914":33372,"60915":34179,"60916":34176,"60917":34191,"60918":34215,"60919":34197,"60920":34208,"60921":34187,"60922":34211,"60923":34171,"60924":34212,"60925":34202,"60926":34206,"60992":34167,"60993":34172,"60994":34185,"60995":34209,"60996":34170,"60997":34168,"60998":34135,"60999":34190,"61000":34198,"61001":34182,"61002":34189,"61003":34201,"61004":34205,"61005":34177,"61006":34210,"61007":34178,"61008":34184,"61009":34181,"61010":34169,"61011":34166,"61012":34200,"61013":34192,"61014":34207,"61015":34408,"61016":34750,"61017":34730,"61018":34733,"61019":34757,"61020":34736,"61021":34732,"61022":34745,"61023":34741,"61024":34748,"61025":34734,"61026":34761,"61027":34755,"61028":34754,"61029":34764,"61030":34743,"61031":34735,"61032":34756,"61033":34762,"61034":34740,"61035":34742,"61036":34751,"61037":34744,"61038":34749,"61039":34782,"61040":34738,"61041":35125,"61042":35123,"61043":35132,"61044":35134,"61045":35137,"61046":35154,"61047":35127,"61048":35138,"61049":35245,"61050":35247,"61051":35246,"61052":35314,"61053":35315,"61054":35614,"61089":35608,"61090":35606,"61091":35601,"61092":35589,"61093":35595,"61094":35618,"61095":35599,"61096":35602,"61097":35605,"61098":35591,"61099":35597,"61100":35592,"61101":35590,"61102":35612,"61103":35603,"61104":35610,"61105":35919,"61106":35952,"61107":35954,"61108":35953,"61109":35951,"61110":35989,"61111":35988,"61112":36089,"61113":36207,"61114":36430,"61115":36429,"61116":36435,"61117":36432,"61118":36428,"61119":36423,"61120":36675,"61121":36672,"61122":36997,"61123":36990,"61124":37176,"61125":37274,"61126":37282,"61127":37275,"61128":37273,"61129":37279,"61130":37281,"61131":37277,"61132":37280,"61133":37793,"61134":37763,"61135":37807,"61136":37732,"61137":37718,"61138":37703,"61139":37756,"61140":37720,"61141":37724,"61142":37750,"61143":37705,"61144":37712,"61145":37713,"61146":37728,"61147":37741,"61148":37775,"61149":37708,"61150":37738,"61151":37753,"61152":37719,"61153":37717,"61154":37714,"61155":37711,"61156":37745,"61157":37751,"61158":37755,"61159":37729,"61160":37726,"61161":37731,"61162":37735,"61163":37760,"61164":37710,"61165":37721,"61166":38343,"61167":38336,"61168":38345,"61169":38339,"61170":38341,"61171":38327,"61172":38574,"61173":38576,"61174":38572,"61175":38688,"61176":38687,"61177":38680,"61178":38685,"61179":38681,"61180":38810,"61181":38817,"61182":38812,"61248":38814,"61249":38813,"61250":38869,"61251":38868,"61252":38897,"61253":38977,"61254":38980,"61255":38986,"61256":38985,"61257":38981,"61258":38979,"61259":39205,"61260":39211,"61261":39212,"61262":39210,"61263":39219,"61264":39218,"61265":39215,"61266":39213,"61267":39217,"61268":39216,"61269":39320,"61270":39331,"61271":39329,"61272":39426,"61273":39418,"61274":39412,"61275":39415,"61276":39417,"61277":39416,"61278":39414,"61279":39419,"61280":39421,"61281":39422,"61282":39420,"61283":39427,"61284":39614,"61285":39678,"61286":39677,"61287":39681,"61288":39676,"61289":39752,"61290":39834,"61291":39848,"61292":39838,"61293":39835,"61294":39846,"61295":39841,"61296":39845,"61297":39844,"61298":39814,"61299":39842,"61300":39840,"61301":39855,"61302":40243,"61303":40257,"61304":40295,"61305":40246,"61306":40238,"61307":40239,"61308":40241,"61309":40248,"61310":40240,"61345":40261,"61346":40258,"61347":40259,"61348":40254,"61349":40247,"61350":40256,"61351":40253,"61352":32757,"61353":40237,"61354":40586,"61355":40585,"61356":40589,"61357":40624,"61358":40648,"61359":40666,"61360":40699,"61361":40703,"61362":40740,"61363":40739,"61364":40738,"61365":40788,"61366":40864,"61367":20785,"61368":20781,"61369":20782,"61370":22168,"61371":22172,"61372":22167,"61373":22170,"61374":22173,"61375":22169,"61376":22896,"61377":23356,"61378":23657,"61379":23658,"61380":24000,"61381":24173,"61382":24174,"61383":25048,"61384":25055,"61385":25069,"61386":25070,"61387":25073,"61388":25066,"61389":25072,"61390":25067,"61391":25046,"61392":25065,"61393":25855,"61394":25860,"61395":25853,"61396":25848,"61397":25857,"61398":25859,"61399":25852,"61400":26004,"61401":26075,"61402":26330,"61403":26331,"61404":26328,"61405":27333,"61406":27321,"61407":27325,"61408":27361,"61409":27334,"61410":27322,"61411":27318,"61412":27319,"61413":27335,"61414":27316,"61415":27309,"61416":27486,"61417":27593,"61418":27659,"61419":28679,"61420":28684,"61421":28685,"61422":28673,"61423":28677,"61424":28692,"61425":28686,"61426":28671,"61427":28672,"61428":28667,"61429":28710,"61430":28668,"61431":28663,"61432":28682,"61433":29185,"61434":29183,"61435":29177,"61436":29187,"61437":29181,"61438":29558,"61504":29880,"61505":29888,"61506":29877,"61507":29889,"61508":29886,"61509":29878,"61510":29883,"61511":29890,"61512":29972,"61513":29971,"61514":30300,"61515":30308,"61516":30297,"61517":30288,"61518":30291,"61519":30295,"61520":30298,"61521":30374,"61522":30397,"61523":30444,"61524":30658,"61525":30650,"61526":30975,"61527":30988,"61528":30995,"61529":30996,"61530":30985,"61531":30992,"61532":30994,"61533":30993,"61534":31149,"61535":31148,"61536":31327,"61537":31772,"61538":31785,"61539":31769,"61540":31776,"61541":31775,"61542":31789,"61543":31773,"61544":31782,"61545":31784,"61546":31778,"61547":31781,"61548":31792,"61549":32348,"61550":32336,"61551":32342,"61552":32355,"61553":32344,"61554":32354,"61555":32351,"61556":32337,"61557":32352,"61558":32343,"61559":32339,"61560":32693,"61561":32691,"61562":32759,"61563":32760,"61564":32885,"61565":33233,"61566":33234,"61601":33232,"61602":33375,"61603":33374,"61604":34228,"61605":34246,"61606":34240,"61607":34243,"61608":34242,"61609":34227,"61610":34229,"61611":34237,"61612":34247,"61613":34244,"61614":34239,"61615":34251,"61616":34254,"61617":34248,"61618":34245,"61619":34225,"61620":34230,"61621":34258,"61622":34340,"61623":34232,"61624":34231,"61625":34238,"61626":34409,"61627":34791,"61628":34790,"61629":34786,"61630":34779,"61631":34795,"61632":34794,"61633":34789,"61634":34783,"61635":34803,"61636":34788,"61637":34772,"61638":34780,"61639":34771,"61640":34797,"61641":34776,"61642":34787,"61643":34724,"61644":34775,"61645":34777,"61646":34817,"61647":34804,"61648":34792,"61649":34781,"61650":35155,"61651":35147,"61652":35151,"61653":35148,"61654":35142,"61655":35152,"61656":35153,"61657":35145,"61658":35626,"61659":35623,"61660":35619,"61661":35635,"61662":35632,"61663":35637,"61664":35655,"61665":35631,"61666":35644,"61667":35646,"61668":35633,"61669":35621,"61670":35639,"61671":35622,"61672":35638,"61673":35630,"61674":35620,"61675":35643,"61676":35645,"61677":35642,"61678":35906,"61679":35957,"61680":35993,"61681":35992,"61682":35991,"61683":36094,"61684":36100,"61685":36098,"61686":36096,"61687":36444,"61688":36450,"61689":36448,"61690":36439,"61691":36438,"61692":36446,"61693":36453,"61694":36455,"61760":36443,"61761":36442,"61762":36449,"61763":36445,"61764":36457,"61765":36436,"61766":36678,"61767":36679,"61768":36680,"61769":36683,"61770":37160,"61771":37178,"61772":37179,"61773":37182,"61774":37288,"61775":37285,"61776":37287,"61777":37295,"61778":37290,"61779":37813,"61780":37772,"61781":37778,"61782":37815,"61783":37787,"61784":37789,"61785":37769,"61786":37799,"61787":37774,"61788":37802,"61789":37790,"61790":37798,"61791":37781,"61792":37768,"61793":37785,"61794":37791,"61795":37773,"61796":37809,"61797":37777,"61798":37810,"61799":37796,"61800":37800,"61801":37812,"61802":37795,"61803":37797,"61804":38354,"61805":38355,"61806":38353,"61807":38579,"61808":38615,"61809":38618,"61810":24002,"61811":38623,"61812":38616,"61813":38621,"61814":38691,"61815":38690,"61816":38693,"61817":38828,"61818":38830,"61819":38824,"61820":38827,"61821":38820,"61822":38826,"61857":38818,"61858":38821,"61859":38871,"61860":38873,"61861":38870,"61862":38872,"61863":38906,"61864":38992,"61865":38993,"61866":38994,"61867":39096,"61868":39233,"61869":39228,"61870":39226,"61871":39439,"61872":39435,"61873":39433,"61874":39437,"61875":39428,"61876":39441,"61877":39434,"61878":39429,"61879":39431,"61880":39430,"61881":39616,"61882":39644,"61883":39688,"61884":39684,"61885":39685,"61886":39721,"61887":39733,"61888":39754,"61889":39756,"61890":39755,"61891":39879,"61892":39878,"61893":39875,"61894":39871,"61895":39873,"61896":39861,"61897":39864,"61898":39891,"61899":39862,"61900":39876,"61901":39865,"61902":39869,"61903":40284,"61904":40275,"61905":40271,"61906":40266,"61907":40283,"61908":40267,"61909":40281,"61910":40278,"61911":40268,"61912":40279,"61913":40274,"61914":40276,"61915":40287,"61916":40280,"61917":40282,"61918":40590,"61919":40588,"61920":40671,"61921":40705,"61922":40704,"61923":40726,"61924":40741,"61925":40747,"61926":40746,"61927":40745,"61928":40744,"61929":40780,"61930":40789,"61931":20788,"61932":20789,"61933":21142,"61934":21239,"61935":21428,"61936":22187,"61937":22189,"61938":22182,"61939":22183,"61940":22186,"61941":22188,"61942":22746,"61943":22749,"61944":22747,"61945":22802,"61946":23357,"61947":23358,"61948":23359,"61949":24003,"61950":24176,"62016":24511,"62017":25083,"62018":25863,"62019":25872,"62020":25869,"62021":25865,"62022":25868,"62023":25870,"62024":25988,"62025":26078,"62026":26077,"62027":26334,"62028":27367,"62029":27360,"62030":27340,"62031":27345,"62032":27353,"62033":27339,"62034":27359,"62035":27356,"62036":27344,"62037":27371,"62038":27343,"62039":27341,"62040":27358,"62041":27488,"62042":27568,"62043":27660,"62044":28697,"62045":28711,"62046":28704,"62047":28694,"62048":28715,"62049":28705,"62050":28706,"62051":28707,"62052":28713,"62053":28695,"62054":28708,"62055":28700,"62056":28714,"62057":29196,"62058":29194,"62059":29191,"62060":29186,"62061":29189,"62062":29349,"62063":29350,"62064":29348,"62065":29347,"62066":29345,"62067":29899,"62068":29893,"62069":29879,"62070":29891,"62071":29974,"62072":30304,"62073":30665,"62074":30666,"62075":30660,"62076":30705,"62077":31005,"62078":31003,"62113":31009,"62114":31004,"62115":30999,"62116":31006,"62117":31152,"62118":31335,"62119":31336,"62120":31795,"62121":31804,"62122":31801,"62123":31788,"62124":31803,"62125":31980,"62126":31978,"62127":32374,"62128":32373,"62129":32376,"62130":32368,"62131":32375,"62132":32367,"62133":32378,"62134":32370,"62135":32372,"62136":32360,"62137":32587,"62138":32586,"62139":32643,"62140":32646,"62141":32695,"62142":32765,"62143":32766,"62144":32888,"62145":33239,"62146":33237,"62147":33380,"62148":33377,"62149":33379,"62150":34283,"62151":34289,"62152":34285,"62153":34265,"62154":34273,"62155":34280,"62156":34266,"62157":34263,"62158":34284,"62159":34290,"62160":34296,"62161":34264,"62162":34271,"62163":34275,"62164":34268,"62165":34257,"62166":34288,"62167":34278,"62168":34287,"62169":34270,"62170":34274,"62171":34816,"62172":34810,"62173":34819,"62174":34806,"62175":34807,"62176":34825,"62177":34828,"62178":34827,"62179":34822,"62180":34812,"62181":34824,"62182":34815,"62183":34826,"62184":34818,"62185":35170,"62186":35162,"62187":35163,"62188":35159,"62189":35169,"62190":35164,"62191":35160,"62192":35165,"62193":35161,"62194":35208,"62195":35255,"62196":35254,"62197":35318,"62198":35664,"62199":35656,"62200":35658,"62201":35648,"62202":35667,"62203":35670,"62204":35668,"62205":35659,"62206":35669,"62272":35665,"62273":35650,"62274":35666,"62275":35671,"62276":35907,"62277":35959,"62278":35958,"62279":35994,"62280":36102,"62281":36103,"62282":36105,"62283":36268,"62284":36266,"62285":36269,"62286":36267,"62287":36461,"62288":36472,"62289":36467,"62290":36458,"62291":36463,"62292":36475,"62293":36546,"62294":36690,"62295":36689,"62296":36687,"62297":36688,"62298":36691,"62299":36788,"62300":37184,"62301":37183,"62302":37296,"62303":37293,"62304":37854,"62305":37831,"62306":37839,"62307":37826,"62308":37850,"62309":37840,"62310":37881,"62311":37868,"62312":37836,"62313":37849,"62314":37801,"62315":37862,"62316":37834,"62317":37844,"62318":37870,"62319":37859,"62320":37845,"62321":37828,"62322":37838,"62323":37824,"62324":37842,"62325":37863,"62326":38269,"62327":38362,"62328":38363,"62329":38625,"62330":38697,"62331":38699,"62332":38700,"62333":38696,"62334":38694,"62369":38835,"62370":38839,"62371":38838,"62372":38877,"62373":38878,"62374":38879,"62375":39004,"62376":39001,"62377":39005,"62378":38999,"62379":39103,"62380":39101,"62381":39099,"62382":39102,"62383":39240,"62384":39239,"62385":39235,"62386":39334,"62387":39335,"62388":39450,"62389":39445,"62390":39461,"62391":39453,"62392":39460,"62393":39451,"62394":39458,"62395":39456,"62396":39463,"62397":39459,"62398":39454,"62399":39452,"62400":39444,"62401":39618,"62402":39691,"62403":39690,"62404":39694,"62405":39692,"62406":39735,"62407":39914,"62408":39915,"62409":39904,"62410":39902,"62411":39908,"62412":39910,"62413":39906,"62414":39920,"62415":39892,"62416":39895,"62417":39916,"62418":39900,"62419":39897,"62420":39909,"62421":39893,"62422":39905,"62423":39898,"62424":40311,"62425":40321,"62426":40330,"62427":40324,"62428":40328,"62429":40305,"62430":40320,"62431":40312,"62432":40326,"62433":40331,"62434":40332,"62435":40317,"62436":40299,"62437":40308,"62438":40309,"62439":40304,"62440":40297,"62441":40325,"62442":40307,"62443":40315,"62444":40322,"62445":40303,"62446":40313,"62447":40319,"62448":40327,"62449":40296,"62450":40596,"62451":40593,"62452":40640,"62453":40700,"62454":40749,"62455":40768,"62456":40769,"62457":40781,"62458":40790,"62459":40791,"62460":40792,"62461":21303,"62462":22194,"62528":22197,"62529":22195,"62530":22755,"62531":23365,"62532":24006,"62533":24007,"62534":24302,"62535":24303,"62536":24512,"62537":24513,"62538":25081,"62539":25879,"62540":25878,"62541":25877,"62542":25875,"62543":26079,"62544":26344,"62545":26339,"62546":26340,"62547":27379,"62548":27376,"62549":27370,"62550":27368,"62551":27385,"62552":27377,"62553":27374,"62554":27375,"62555":28732,"62556":28725,"62557":28719,"62558":28727,"62559":28724,"62560":28721,"62561":28738,"62562":28728,"62563":28735,"62564":28730,"62565":28729,"62566":28736,"62567":28731,"62568":28723,"62569":28737,"62570":29203,"62571":29204,"62572":29352,"62573":29565,"62574":29564,"62575":29882,"62576":30379,"62577":30378,"62578":30398,"62579":30445,"62580":30668,"62581":30670,"62582":30671,"62583":30669,"62584":30706,"62585":31013,"62586":31011,"62587":31015,"62588":31016,"62589":31012,"62590":31017,"62625":31154,"62626":31342,"62627":31340,"62628":31341,"62629":31479,"62630":31817,"62631":31816,"62632":31818,"62633":31815,"62634":31813,"62635":31982,"62636":32379,"62637":32382,"62638":32385,"62639":32384,"62640":32698,"62641":32767,"62642":32889,"62643":33243,"62644":33241,"62645":33291,"62646":33384,"62647":33385,"62648":34338,"62649":34303,"62650":34305,"62651":34302,"62652":34331,"62653":34304,"62654":34294,"62655":34308,"62656":34313,"62657":34309,"62658":34316,"62659":34301,"62660":34841,"62661":34832,"62662":34833,"62663":34839,"62664":34835,"62665":34838,"62666":35171,"62667":35174,"62668":35257,"62669":35319,"62670":35680,"62671":35690,"62672":35677,"62673":35688,"62674":35683,"62675":35685,"62676":35687,"62677":35693,"62678":36270,"62679":36486,"62680":36488,"62681":36484,"62682":36697,"62683":36694,"62684":36695,"62685":36693,"62686":36696,"62687":36698,"62688":37005,"62689":37187,"62690":37185,"62691":37303,"62692":37301,"62693":37298,"62694":37299,"62695":37899,"62696":37907,"62697":37883,"62698":37920,"62699":37903,"62700":37908,"62701":37886,"62702":37909,"62703":37904,"62704":37928,"62705":37913,"62706":37901,"62707":37877,"62708":37888,"62709":37879,"62710":37895,"62711":37902,"62712":37910,"62713":37906,"62714":37882,"62715":37897,"62716":37880,"62717":37898,"62718":37887,"62784":37884,"62785":37900,"62786":37878,"62787":37905,"62788":37894,"62789":38366,"62790":38368,"62791":38367,"62792":38702,"62793":38703,"62794":38841,"62795":38843,"62796":38909,"62797":38910,"62798":39008,"62799":39010,"62800":39011,"62801":39007,"62802":39105,"62803":39106,"62804":39248,"62805":39246,"62806":39257,"62807":39244,"62808":39243,"62809":39251,"62810":39474,"62811":39476,"62812":39473,"62813":39468,"62814":39466,"62815":39478,"62816":39465,"62817":39470,"62818":39480,"62819":39469,"62820":39623,"62821":39626,"62822":39622,"62823":39696,"62824":39698,"62825":39697,"62826":39947,"62827":39944,"62828":39927,"62829":39941,"62830":39954,"62831":39928,"62832":40000,"62833":39943,"62834":39950,"62835":39942,"62836":39959,"62837":39956,"62838":39945,"62839":40351,"62840":40345,"62841":40356,"62842":40349,"62843":40338,"62844":40344,"62845":40336,"62846":40347,"62881":40352,"62882":40340,"62883":40348,"62884":40362,"62885":40343,"62886":40353,"62887":40346,"62888":40354,"62889":40360,"62890":40350,"62891":40355,"62892":40383,"62893":40361,"62894":40342,"62895":40358,"62896":40359,"62897":40601,"62898":40603,"62899":40602,"62900":40677,"62901":40676,"62902":40679,"62903":40678,"62904":40752,"62905":40750,"62906":40795,"62907":40800,"62908":40798,"62909":40797,"62910":40793,"62911":40849,"62912":20794,"62913":20793,"62914":21144,"62915":21143,"62916":22211,"62917":22205,"62918":22206,"62919":23368,"62920":23367,"62921":24011,"62922":24015,"62923":24305,"62924":25085,"62925":25883,"62926":27394,"62927":27388,"62928":27395,"62929":27384,"62930":27392,"62931":28739,"62932":28740,"62933":28746,"62934":28744,"62935":28745,"62936":28741,"62937":28742,"62938":29213,"62939":29210,"62940":29209,"62941":29566,"62942":29975,"62943":30314,"62944":30672,"62945":31021,"62946":31025,"62947":31023,"62948":31828,"62949":31827,"62950":31986,"62951":32394,"62952":32391,"62953":32392,"62954":32395,"62955":32390,"62956":32397,"62957":32589,"62958":32699,"62959":32816,"62960":33245,"62961":34328,"62962":34346,"62963":34342,"62964":34335,"62965":34339,"62966":34332,"62967":34329,"62968":34343,"62969":34350,"62970":34337,"62971":34336,"62972":34345,"62973":34334,"62974":34341,"63040":34857,"63041":34845,"63042":34843,"63043":34848,"63044":34852,"63045":34844,"63046":34859,"63047":34890,"63048":35181,"63049":35177,"63050":35182,"63051":35179,"63052":35322,"63053":35705,"63054":35704,"63055":35653,"63056":35706,"63057":35707,"63058":36112,"63059":36116,"63060":36271,"63061":36494,"63062":36492,"63063":36702,"63064":36699,"63065":36701,"63066":37190,"63067":37188,"63068":37189,"63069":37305,"63070":37951,"63071":37947,"63072":37942,"63073":37929,"63074":37949,"63075":37948,"63076":37936,"63077":37945,"63078":37930,"63079":37943,"63080":37932,"63081":37952,"63082":37937,"63083":38373,"63084":38372,"63085":38371,"63086":38709,"63087":38714,"63088":38847,"63089":38881,"63090":39012,"63091":39113,"63092":39110,"63093":39104,"63094":39256,"63095":39254,"63096":39481,"63097":39485,"63098":39494,"63099":39492,"63100":39490,"63101":39489,"63102":39482,"63137":39487,"63138":39629,"63139":39701,"63140":39703,"63141":39704,"63142":39702,"63143":39738,"63144":39762,"63145":39979,"63146":39965,"63147":39964,"63148":39980,"63149":39971,"63150":39976,"63151":39977,"63152":39972,"63153":39969,"63154":40375,"63155":40374,"63156":40380,"63157":40385,"63158":40391,"63159":40394,"63160":40399,"63161":40382,"63162":40389,"63163":40387,"63164":40379,"63165":40373,"63166":40398,"63167":40377,"63168":40378,"63169":40364,"63170":40392,"63171":40369,"63172":40365,"63173":40396,"63174":40371,"63175":40397,"63176":40370,"63177":40570,"63178":40604,"63179":40683,"63180":40686,"63181":40685,"63182":40731,"63183":40728,"63184":40730,"63185":40753,"63186":40782,"63187":40805,"63188":40804,"63189":40850,"63190":20153,"63191":22214,"63192":22213,"63193":22219,"63194":22897,"63195":23371,"63196":23372,"63197":24021,"63198":24017,"63199":24306,"63200":25889,"63201":25888,"63202":25894,"63203":25890,"63204":27403,"63205":27400,"63206":27401,"63207":27661,"63208":28757,"63209":28758,"63210":28759,"63211":28754,"63212":29214,"63213":29215,"63214":29353,"63215":29567,"63216":29912,"63217":29909,"63218":29913,"63219":29911,"63220":30317,"63221":30381,"63222":31029,"63223":31156,"63224":31344,"63225":31345,"63226":31831,"63227":31836,"63228":31833,"63229":31835,"63230":31834,"63296":31988,"63297":31985,"63298":32401,"63299":32591,"63300":32647,"63301":33246,"63302":33387,"63303":34356,"63304":34357,"63305":34355,"63306":34348,"63307":34354,"63308":34358,"63309":34860,"63310":34856,"63311":34854,"63312":34858,"63313":34853,"63314":35185,"63315":35263,"63316":35262,"63317":35323,"63318":35710,"63319":35716,"63320":35714,"63321":35718,"63322":35717,"63323":35711,"63324":36117,"63325":36501,"63326":36500,"63327":36506,"63328":36498,"63329":36496,"63330":36502,"63331":36503,"63332":36704,"63333":36706,"63334":37191,"63335":37964,"63336":37968,"63337":37962,"63338":37963,"63339":37967,"63340":37959,"63341":37957,"63342":37960,"63343":37961,"63344":37958,"63345":38719,"63346":38883,"63347":39018,"63348":39017,"63349":39115,"63350":39252,"63351":39259,"63352":39502,"63353":39507,"63354":39508,"63355":39500,"63356":39503,"63357":39496,"63358":39498,"63393":39497,"63394":39506,"63395":39504,"63396":39632,"63397":39705,"63398":39723,"63399":39739,"63400":39766,"63401":39765,"63402":40006,"63403":40008,"63404":39999,"63405":40004,"63406":39993,"63407":39987,"63408":40001,"63409":39996,"63410":39991,"63411":39988,"63412":39986,"63413":39997,"63414":39990,"63415":40411,"63416":40402,"63417":40414,"63418":40410,"63419":40395,"63420":40400,"63421":40412,"63422":40401,"63423":40415,"63424":40425,"63425":40409,"63426":40408,"63427":40406,"63428":40437,"63429":40405,"63430":40413,"63431":40630,"63432":40688,"63433":40757,"63434":40755,"63435":40754,"63436":40770,"63437":40811,"63438":40853,"63439":40866,"63440":20797,"63441":21145,"63442":22760,"63443":22759,"63444":22898,"63445":23373,"63446":24024,"63447":34863,"63448":24399,"63449":25089,"63450":25091,"63451":25092,"63452":25897,"63453":25893,"63454":26006,"63455":26347,"63456":27409,"63457":27410,"63458":27407,"63459":27594,"63460":28763,"63461":28762,"63462":29218,"63463":29570,"63464":29569,"63465":29571,"63466":30320,"63467":30676,"63468":31847,"63469":31846,"63470":32405,"63471":33388,"63472":34362,"63473":34368,"63474":34361,"63475":34364,"63476":34353,"63477":34363,"63478":34366,"63479":34864,"63480":34866,"63481":34862,"63482":34867,"63483":35190,"63484":35188,"63485":35187,"63486":35326,"63552":35724,"63553":35726,"63554":35723,"63555":35720,"63556":35909,"63557":36121,"63558":36504,"63559":36708,"63560":36707,"63561":37308,"63562":37986,"63563":37973,"63564":37981,"63565":37975,"63566":37982,"63567":38852,"63568":38853,"63569":38912,"63570":39510,"63571":39513,"63572":39710,"63573":39711,"63574":39712,"63575":40018,"63576":40024,"63577":40016,"63578":40010,"63579":40013,"63580":40011,"63581":40021,"63582":40025,"63583":40012,"63584":40014,"63585":40443,"63586":40439,"63587":40431,"63588":40419,"63589":40427,"63590":40440,"63591":40420,"63592":40438,"63593":40417,"63594":40430,"63595":40422,"63596":40434,"63597":40432,"63598":40418,"63599":40428,"63600":40436,"63601":40435,"63602":40424,"63603":40429,"63604":40642,"63605":40656,"63606":40690,"63607":40691,"63608":40710,"63609":40732,"63610":40760,"63611":40759,"63612":40758,"63613":40771,"63614":40783,"63649":40817,"63650":40816,"63651":40814,"63652":40815,"63653":22227,"63654":22221,"63655":23374,"63656":23661,"63657":25901,"63658":26349,"63659":26350,"63660":27411,"63661":28767,"63662":28769,"63663":28765,"63664":28768,"63665":29219,"63666":29915,"63667":29925,"63668":30677,"63669":31032,"63670":31159,"63671":31158,"63672":31850,"63673":32407,"63674":32649,"63675":33389,"63676":34371,"63677":34872,"63678":34871,"63679":34869,"63680":34891,"63681":35732,"63682":35733,"63683":36510,"63684":36511,"63685":36512,"63686":36509,"63687":37310,"63688":37309,"63689":37314,"63690":37995,"63691":37992,"63692":37993,"63693":38629,"63694":38726,"63695":38723,"63696":38727,"63697":38855,"63698":38885,"63699":39518,"63700":39637,"63701":39769,"63702":40035,"63703":40039,"63704":40038,"63705":40034,"63706":40030,"63707":40032,"63708":40450,"63709":40446,"63710":40455,"63711":40451,"63712":40454,"63713":40453,"63714":40448,"63715":40449,"63716":40457,"63717":40447,"63718":40445,"63719":40452,"63720":40608,"63721":40734,"63722":40774,"63723":40820,"63724":40821,"63725":40822,"63726":22228,"63727":25902,"63728":26040,"63729":27416,"63730":27417,"63731":27415,"63732":27418,"63733":28770,"63734":29222,"63735":29354,"63736":30680,"63737":30681,"63738":31033,"63739":31849,"63740":31851,"63741":31990,"63742":32410,"63808":32408,"63809":32411,"63810":32409,"63811":33248,"63812":33249,"63813":34374,"63814":34375,"63815":34376,"63816":35193,"63817":35194,"63818":35196,"63819":35195,"63820":35327,"63821":35736,"63822":35737,"63823":36517,"63824":36516,"63825":36515,"63826":37998,"63827":37997,"63828":37999,"63829":38001,"63830":38003,"63831":38729,"63832":39026,"63833":39263,"63834":40040,"63835":40046,"63836":40045,"63837":40459,"63838":40461,"63839":40464,"63840":40463,"63841":40466,"63842":40465,"63843":40609,"63844":40693,"63845":40713,"63846":40775,"63847":40824,"63848":40827,"63849":40826,"63850":40825,"63851":22302,"63852":28774,"63853":31855,"63854":34876,"63855":36274,"63856":36518,"63857":37315,"63858":38004,"63859":38008,"63860":38006,"63861":38005,"63862":39520,"63863":40052,"63864":40051,"63865":40049,"63866":40053,"63867":40468,"63868":40467,"63869":40694,"63870":40714,"63905":40868,"63906":28776,"63907":28773,"63908":31991,"63909":34410,"63910":34878,"63911":34877,"63912":34879,"63913":35742,"63914":35996,"63915":36521,"63916":36553,"63917":38731,"63918":39027,"63919":39028,"63920":39116,"63921":39265,"63922":39339,"63923":39524,"63924":39526,"63925":39527,"63926":39716,"63927":40469,"63928":40471,"63929":40776,"63930":25095,"63931":27422,"63932":29223,"63933":34380,"63934":36520,"63935":38018,"63936":38016,"63937":38017,"63938":39529,"63939":39528,"63940":39726,"63941":40473,"63942":29225,"63943":34379,"63944":35743,"63945":38019,"63946":40057,"63947":40631,"63948":30325,"63949":39531,"63950":40058,"63951":40477,"63952":28777,"63953":28778,"63954":40612,"63955":40830,"63956":40777,"63957":40856,"63958":30849,"63959":37561,"63960":35023,"63961":22715,"63962":24658,"63963":31911,"63964":23290,"63965":9556,"63966":9574,"63967":9559,"63968":9568,"63969":9580,"63970":9571,"63971":9562,"63972":9577,"63973":9565,"63974":9554,"63975":9572,"63976":9557,"63977":9566,"63978":9578,"63979":9569,"63980":9560,"63981":9575,"63982":9563,"63983":9555,"63984":9573,"63985":9558,"63986":9567,"63987":9579,"63988":9570,"63989":9561,"63990":9576,"63991":9564,"63992":9553,"63993":9552,"63994":9581,"63995":9582,"63996":9584,"63997":9583,"63998":9619,"64064":57344,"64065":57345,"64066":57346,"64067":57347,"64068":57348,"64069":57349,"64070":57350,"64071":57351,"64072":57352,"64073":57353,"64074":57354,"64075":57355,"64076":57356,"64077":57357,"64078":57358,"64079":57359,"64080":57360,"64081":57361,"64082":57362,"64083":57363,"64084":57364,"64085":57365,"64086":57366,"64087":57367,"64088":57368,"64089":57369,"64090":57370,"64091":57371,"64092":57372,"64093":57373,"64094":57374,"64095":57375,"64096":57376,"64097":57377,"64098":57378,"64099":57379,"64100":29234,"64101":29244,"64102":29286,"64103":29314,"64104":29327,"64105":29343,"64106":29357,"64107":29361,"64108":29368,"64109":29374,"64110":29389,"64111":29403,"64112":29476,"64113":29487,"64114":29496,"64115":29497,"64116":29629,"64117":29646,"64118":29681,"64119":29814,"64120":29858,"64121":29953,"64122":29977,"64123":29987,"64124":30012,"64125":30020,"64126":30025,"64161":30029,"64162":30061,"64163":30082,"64164":30083,"64165":30089,"64166":30124,"64167":30166,"64168":30185,"64169":30272,"64170":30285,"64171":30292,"64172":30312,"64173":30336,"64174":30339,"64175":30352,"64176":30391,"64177":30393,"64178":30477,"64179":30494,"64180":30531,"64181":30744,"64182":30748,"64183":30777,"64184":30780,"64185":30791,"64186":30806,"64187":30842,"64188":30901,"64189":30905,"64190":30918,"64191":30937,"64192":30983,"64193":31024,"64194":31028,"64195":31035,"64196":31104,"64197":31133,"64198":31171,"64199":31201,"64200":31238,"64201":31246,"64202":31299,"64203":31312,"64204":31427,"64205":31442,"64206":31458,"64207":31463,"64208":31480,"64209":31542,"64210":31586,"64211":31596,"64212":31610,"64213":31611,"64214":31642,"64215":31646,"64216":31647,"64217":31650,"64218":31655,"64219":31734,"64220":31762,"64221":31764,"64222":31823,"64223":31830,"64224":31832,"64225":31915,"64226":31994,"64227":32072,"64228":32075,"64229":32119,"64230":32212,"64231":32213,"64232":32214,"64233":32228,"64234":32333,"64235":32349,"64236":32383,"64237":32393,"64238":32398,"64239":32402,"64240":32468,"64241":32497,"64242":32530,"64243":32560,"64244":32625,"64245":32642,"64246":32686,"64247":32710,"64248":32800,"64249":32802,"64250":32805,"64251":32817,"64252":32863,"64253":32872,"64254":32940,"64320":32951,"64321":20890,"64322":21526,"64323":21524,"64324":13535,"64325":19581,"64326":25283,"64327":57508,"64328":57509,"64329":57510,"64330":21707,"64331":57512,"64332":21948,"64333":32950,"64334":20903,"64335":57516,"64336":57517,"64337":57518,"64338":21779,"64339":33318,"64340":57521,"64341":21790,"64342":21982,"64343":25529,"64344":26776,"64345":57526,"64346":21762,"64347":21865,"64348":30132,"64349":25596,"64350":40580,"64351":37418,"64352":57533,"64353":57534,"64354":57535,"64355":35015,"64356":24734,"64357":22053,"64358":28997,"64359":23282,"64360":57541,"64361":21135,"64362":22095,"64363":30611,"64364":34694,"64365":36397,"64366":33206,"64367":13822,"64368":29174,"64369":57550,"64370":34820,"64371":37765,"64372":57553,"64373":57554,"64374":30310,"64375":57556,"64376":40050,"64377":57558,"64378":25294,"64379":57560,"64380":40598,"64381":18825,"64382":31955,"64417":36570,"64418":40619,"64419":25831,"64420":57567,"64421":33450,"64422":26471,"64423":28018,"64424":30982,"64425":31172,"64426":32590,"64427":34798,"64428":57575,"64429":33726,"64430":34351,"64431":35237,"64432":17935,"64433":57580,"64434":39112,"64435":39232,"64436":39245,"64437":39436,"64438":39639,"64439":40600,"64440":40742,"64441":57588,"64442":20227,"64443":57590,"64444":20281,"64445":20274,"64446":20395,"64447":20566,"64448":57595,"64449":20526,"64450":20646,"64451":20697,"64452":20750,"64453":20717,"64454":20737,"64455":20980,"64456":21023,"64457":21088,"64458":21079,"64459":21146,"64460":21201,"64461":21216,"64462":21217,"64463":20947,"64464":20959,"64465":30022,"64466":20990,"64467":21298,"64468":21292,"64469":21299,"64470":21419,"64471":21418,"64472":40846,"64473":21609,"64474":21660,"64475":21466,"64476":27338,"64477":21875,"64478":57625,"64479":13782,"64480":57627,"64481":22033,"64482":22093,"64483":57630,"64484":22100,"64485":13811,"64486":57633,"64487":22342,"64488":22394,"64489":22375,"64490":22586,"64491":22502,"64492":22493,"64493":22592,"64494":57641,"64495":22566,"64496":22748,"64497":22967,"64498":23001,"64499":23584,"64500":57647,"64501":23761,"64502":23785,"64503":23878,"64504":23950,"64505":57652,"64506":24053,"64507":24075,"64508":24082,"64509":24110,"64510":24158,"64576":57658,"64577":24397,"64578":31357,"64579":23491,"64580":31419,"64581":57663,"64582":57664,"64583":24484,"64584":24506,"64585":24508,"64586":57668,"64587":24695,"64588":24740,"64589":24755,"64590":24829,"64591":24880,"64592":57674,"64593":24988,"64594":24921,"64595":24957,"64596":24924,"64597":25471,"64598":25058,"64599":28885,"64600":25145,"64601":25192,"64602":25221,"64603":25218,"64604":25254,"64605":25301,"64606":25444,"64607":25397,"64608":25744,"64609":14940,"64610":26184,"64611":26215,"64612":26398,"64613":26627,"64614":26540,"64615":26617,"64616":26806,"64617":26924,"64618":26881,"64619":26880,"64620":26826,"64621":26995,"64622":27008,"64623":26942,"64624":57706,"64625":27058,"64626":27072,"64627":27018,"64628":27130,"64629":27113,"64630":27314,"64631":27218,"64632":27293,"64633":27421,"64634":27474,"64635":27642,"64636":15569,"64637":27854,"64638":28239,"64673":28089,"64674":28484,"64675":57723,"64676":28634,"64677":28801,"64678":31180,"64679":28980,"64680":15820,"64681":29046,"64682":57730,"64683":57731,"64684":29205,"64685":29264,"64686":29319,"64687":29484,"64688":29362,"64689":29410,"64690":29442,"64691":29512,"64692":29480,"64693":29519,"64694":29553,"64695":25989,"64696":57744,"64697":29789,"64698":29800,"64699":29982,"64700":30035,"64701":30074,"64702":30369,"64703":30412,"64704":30500,"64705":30507,"64706":16485,"64707":30803,"64708":30931,"64709":30936,"64710":40318,"64711":30895,"64712":57760,"64713":24898,"64714":31145,"64715":39994,"64716":31188,"64717":57765,"64718":31277,"64719":31294,"64720":31305,"64721":31453,"64722":31450,"64723":30147,"64724":30215,"64725":30210,"64726":57774,"64727":30311,"64728":30319,"64729":22048,"64730":35431,"64731":40727,"64732":31519,"64733":31634,"64734":31651,"64735":31695,"64736":57784,"64737":31740,"64738":31810,"64739":31825,"64740":31837,"64741":31856,"64742":31870,"64743":31878,"64744":31875,"64745":31916,"64746":31943,"64747":31938,"64748":57796,"64749":31962,"64750":57798,"64751":32077,"64752":32090,"64753":32245,"64754":32295,"64755":32366,"64756":40597,"64757":21107,"64758":32797,"64759":32866,"64760":32867,"64761":32870,"64762":32859,"64763":32934,"64764":33027,"64765":40577,"64766":33224,"64832":57815,"64833":36768,"64834":33270,"64835":33306,"64836":57819,"64837":34673,"64838":34729,"64839":34700,"64840":40606,"64841":34753,"64842":40476,"64843":57826,"64844":34774,"64845":34805,"64846":34831,"64847":34840,"64848":34861,"64849":34882,"64850":34885,"64851":39989,"64852":34926,"64853":34986,"64854":34976,"64855":25245,"64856":35139,"64857":35149,"64858":29042,"64859":34910,"64860":57843,"64861":33533,"64862":17591,"64863":33488,"64864":33669,"64865":40194,"64866":40809,"64867":33824,"64868":57851,"64869":34010,"64870":33965,"64871":17659,"64872":34123,"64873":57856,"64874":34306,"64875":34320,"64876":25553,"64877":35209,"64878":35210,"64879":35220,"64880":40005,"64881":35260,"64882":35454,"64883":35401,"64884":35596,"64885":35651,"64886":35713,"64887":35660,"64888":57871,"64889":36013,"64890":36075,"64891":36087,"64892":36108,"64893":36226,"64894":36262,"64929":36308,"64930":36392,"64931":36431,"64932":36471,"64933":36469,"64934":36519,"64935":36633,"64936":57885,"64937":36700,"64938":40260,"64939":37060,"64940":37201,"64941":57890,"64942":37212,"64943":37209,"64944":37223,"64945":37244,"64946":37262,"64947":37307,"64948":40616,"64949":36950,"64950":36940,"64951":37374,"64952":37474,"64953":37566,"64954":37739,"64955":37742,"64956":37818,"64957":37927,"64958":38295,"64959":38311,"64960":57909,"64961":38456,"64962":57911,"64963":38531,"64964":38550,"64965":38529,"64966":38589,"64967":38659,"64968":38689,"64969":38705,"64970":38751,"64971":38815,"64972":38836,"64973":38840,"64974":38842,"64975":38846,"64976":38856,"64977":40639,"64978":38943,"64979":38958,"64980":40869,"64981":38983,"64982":38987,"64983":39014,"64984":39020,"64985":39092,"64986":40794,"64987":39132,"64988":39142,"64989":39234,"64990":39225,"64991":39227,"64992":40787,"64993":39242,"64994":40773,"64995":19326,"64996":39386,"64997":31432,"64998":39610,"64999":39613,"65000":40706,"65001":39722,"65002":57951,"65003":39725,"65004":39650,"65005":39682,"65006":39679,"65007":19463,"65008":39689,"65009":19460,"65010":19515,"65011":39823,"65012":39837,"65013":39856,"65014":39948,"65015":39957,"65016":39946,"65017":39935,"65018":39982,"65019":33000,"65020":33001,"65021":33004,"65022":33038,"65088":27705,"65089":20074,"65090":38465,"65091":22770,"65092":31074,"65093":26658,"65094":57978,"65095":57979,"65096":33031,"65097":22487,"65098":17642,"65099":25653,"65100":34100,"65101":16607,"65102":57986,"65103":26906,"65104":39938,"65105":30129,"65106":33747,"65107":29041,"65108":27147,"65109":57993,"65110":27258,"65111":39668,"65112":57996,"65113":57997,"65114":30649,"65115":25904,"65116":28054,"65117":22071,"65118":26405,"65119":27179,"65120":32093,"65121":36961,"65122":20120,"65123":31910,"65124":31545,"65125":58009,"65126":22901,"65127":14023,"65128":28799,"65129":58013,"65130":28299,"65131":58015,"65132":58016,"65133":38749,"65134":37584,"65135":22356,"65136":58020,"65137":16089,"65138":58022,"65139":58023,"65140":24985,"65141":29792,"65142":28991,"65143":31022,"65144":23190,"65145":37704,"65146":26254,"65147":20477,"65148":37697,"65149":13908,"65150":23925,"65185":28702,"65186":25979,"65187":28813,"65188":24269,"65189":58039,"65190":24743,"65191":31408,"65192":24419,"65193":58043,"65194":29687,"65195":58045,"65196":29800,"65197":30132,"65198":58048,"65199":39785,"65200":189,"65201":8531,"65202":8532,"65203":188,"65204":190,"65205":8533,"65206":8534,"65207":8535,"65208":8536,"65209":8537,"65210":8538,"65211":34450,"65212":34464,"65213":34477,"65214":34482,"65215":34725,"65216":34737,"65217":8539,"65218":8540,"65219":8541,"65220":8542,"65221":34778,"65222":34895,"65223":34912,"65224":34951,"65225":34959,"65226":34960,"65227":35046,"65228":35071,"65229":35072,"65230":35108,"65231":35143,"65232":35156,"65233":35173,"65234":35200,"65235":35217,"65236":35356,"65237":35369,"65238":35371,"65239":35384,"65240":35389,"65241":8978,"65242":35472,"65243":35476,"65244":35484,"65245":35497,"65246":35503,"65247":35508,"65248":35562,"65249":35615,"65250":8240,"65251":35647,"65252":35661,"65253":35678,"65254":35682,"65255":35689,"65256":35739,"65257":35921,"65258":35995,"65259":35999,"65260":36052,"65261":36054,"65262":33042,"65263":33073,"65264":33078,"65265":33119,"65266":33133,"65267":33149,"65268":33171,"65269":33194,"65270":33208,"65271":33217,"65272":33321,"65273":33325,"65274":33326,"65275":33342,"65276":33378,"65277":33386,"65278":33416,"NaN":null}\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js b/src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js\ndeleted file mode 100644\nindex c464623e..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/encodings/table/gbk.js\n+++ /dev/null\n@@ -1 +0,0 @@\n-module.exports={33088:19970,33089:19972,33090:19973,33091:19974,33092:19983,33093:19986,33094:19991,33095:19999,33096:20000,33097:20001,33098:20003,33099:20006,33100:20009,33101:20014,33102:20015,33103:20017,33104:20019,33105:20021,33106:20023,33107:20028,33108:20032,33109:20033,33110:20034,33111:20036,33112:20038,33113:20042,33114:20049,33115:20053,33116:20055,33117:20058,33118:20059,33119:20066,33120:20067,33121:20068,33122:20069,33123:20071,33124:20072,33125:20074,33126:20075,33127:20076,33128:20077,33129:20078,33130:20079,33131:20082,33132:20084,33133:20085,33134:20086,33135:20087,33136:20088,33137:20089,33138:20090,33139:20091,33140:20092,33141:20093,33142:20095,33143:20096,33144:20097,33145:20098,33146:20099,33147:20100,33148:20101,33149:20103,33150:20106,33152:20112,33153:20118,33154:20119,33155:20121,33156:20124,33157:20125,33158:20126,33159:20131,33160:20138,33161:20143,33162:20144,33163:20145,33164:20148,33165:20150,33166:20151,33167:20152,33168:20153,33169:20156,33170:20157,33171:20158,33172:20168,33173:20172,33174:20175,33175:20176,33176:20178,33177:20186,33178:20187,33179:20188,33180:20192,33181:20194,33182:20198,33183:20199,33184:20201,33185:20205,33186:20206,33187:20207,33188:20209,33189:20212,33190:20216,33191:20217,33192:20218,33193:20220,33194:20222,33195:20224,33196:20226,33197:20227,33198:20228,33199:20229,33200:20230,33201:20231,33202:20232,33203:20235,33204:20236,33205:20242,33206:20243,33207:20244,33208:20245,33209:20246,33210:20252,33211:20253,33212:20257,33213:20259,33214:20264,33215:20265,33216:20268,33217:20269,33218:20270,33219:20273,33220:20275,33221:20277,33222:20279,33223:20281,33224:20283,33225:20286,33226:20287,33227:20288,33228:20289,33229:20290,33230:20292,33231:20293,33232:20295,33233:20296,33234:20297,33235:20298,33236:20299,33237:20300,33238:20306,33239:20308,33240:20310,33241:20321,33242:20322,33243:20326,33244:20328,33245:20330,33246:20331,33247:20333,33248:20334,33249:20337,33250:20338,33251:20341,33252:20343,33253:20344,33254:20345,33255:20346,33256:20349,33257:20352,33258:20353,33259:20354,33260:20357,33261:20358,33262:20359,33263:20362,33264:20364,33265:20366,33266:20368,33267:20370,33268:20371,33269:20373,33270:20374,33271:20376,33272:20377,33273:20378,33274:20380,33275:20382,33276:20383,33277:20385,33278:20386,33344:20388,33345:20395,33346:20397,33347:20400,33348:20401,33349:20402,33350:20403,33351:20404,33352:20406,33353:20407,33354:20408,33355:20409,33356:20410,33357:20411,33358:20412,33359:20413,33360:20414,33361:20416,33362:20417,33363:20418,33364:20422,33365:20423,33366:20424,33367:20425,33368:20427,33369:20428,33370:20429,33371:20434,33372:20435,33373:20436,33374:20437,33375:20438,33376:20441,33377:20443,33378:20448,33379:20450,33380:20452,33381:20453,33382:20455,33383:20459,33384:20460,33385:20464,33386:20466,33387:20468,33388:20469,33389:20470,33390:20471,33391:20473,33392:20475,33393:20476,33394:20477,33395:20479,33396:20480,33397:20481,33398:20482,33399:20483,33400:20484,33401:20485,33402:20486,33403:20487,33404:20488,33405:20489,33406:20490,33408:20491,33409:20494,33410:20496,33411:20497,33412:20499,33413:20501,33414:20502,33415:20503,33416:20507,33417:20509,33418:20510,33419:20512,33420:20514,33421:20515,33422:20516,33423:20519,33424:20523,33425:20527,33426:20528,33427:20529,33428:20530,33429:20531,33430:20532,33431:20533,33432:20534,33433:20535,33434:20536,33435:20537,33436:20539,33437:20541,33438:20543,33439:20544,33440:20545,33441:20546,33442:20548,33443:20549,33444:20550,33445:20553,33446:20554,33447:20555,33448:20557,33449:20560,33450:20561,33451:20562,33452:20563,33453:20564,33454:20566,33455:20567,33456:20568,33457:20569,33458:20571,33459:20573,33460:20574,33461:20575,33462:20576,33463:20577,33464:20578,33465:20579,33466:20580,33467:20582,33468:20583,33469:20584,33470:20585,33471:20586,33472:20587,33473:20589,33474:20590,33475:20591,33476:20592,33477:20593,33478:20594,33479:20595,33480:20596,33481:20597,33482:20600,33483:20601,33484:20602,33485:20604,33486:20605,33487:20609,33488:20610,33489:20611,33490:20612,33491:20614,33492:20615,33493:20617,33494:20618,33495:20619,33496:20620,33497:20622,33498:20623,33499:20624,33500:20625,33501:20626,33502:20627,33503:20628,33504:20629,33505:20630,33506:20631,33507:20632,33508:20633,33509:20634,33510:20635,33511:20636,33512:20637,33513:20638,33514:20639,33515:20640,33516:20641,33517:20642,33518:20644,33519:20646,33520:20650,33521:20651,33522:20653,33523:20654,33524:20655,33525:20656,33526:20657,33527:20659,33528:20660,33529:20661,33530:20662,33531:20663,33532:20664,33533:20665,33534:20668,33600:20669,33601:20670,33602:20671,33603:20672,33604:20673,33605:20674,33606:20675,33607:20676,33608:20677,33609:20678,33610:20679,33611:20680,33612:20681,33613:20682,33614:20683,33615:20684,33616:20685,33617:20686,33618:20688,33619:20689,33620:20690,33621:20691,33622:20692,33623:20693,33624:20695,33625:20696,33626:20697,33627:20699,33628:20700,33629:20701,33630:20702,33631:20703,33632:20704,33633:20705,33634:20706,33635:20707,33636:20708,33637:20709,33638:20712,33639:20713,33640:20714,33641:20715,33642:20719,33643:20720,33644:20721,33645:20722,33646:20724,33647:20726,33648:20727,33649:20728,33650:20729,33651:20730,33652:20732,33653:20733,33654:20734,33655:20735,33656:20736,33657:20737,33658:20738,33659:20739,33660:20740,33661:20741,33662:20744,33664:20745,33665:20746,33666:20748,33667:20749,33668:20750,33669:20751,33670:20752,33671:20753,33672:20755,33673:20756,33674:20757,33675:20758,33676:20759,33677:20760,33678:20761,33679:20762,33680:20763,33681:20764,33682:20765,33683:20766,33684:20767,33685:20768,33686:20770,33687:20771,33688:20772,33689:20773,33690:20774,33691:20775,33692:20776,33693:20777,33694:20778,33695:20779,33696:20780,33697:20781,33698:20782,33699:20783,33700:20784,33701:20785,33702:20786,33703:20787,33704:20788,33705:20789,33706:20790,33707:20791,33708:20792,33709:20793,33710:20794,33711:20795,33712:20796,33713:20797,33714:20798,33715:20802,33716:20807,33717:20810,33718:20812,33719:20814,33720:20815,33721:20816,33722:20818,33723:20819,33724:20823,33725:20824,33726:20825,33727:20827,33728:20829,33729:20830,33730:20831,33731:20832,33732:20833,33733:20835,33734:20836,33735:20838,33736:20839,33737:20841,33738:20842,33739:20847,33740:20850,33741:20858,33742:20862,33743:20863,33744:20867,33745:20868,33746:20870,33747:20871,33748:20874,33749:20875,33750:20878,33751:20879,33752:20880,33753:20881,33754:20883,33755:20884,33756:20888,33757:20890,33758:20893,33759:20894,33760:20895,33761:20897,33762:20899,33763:20902,33764:20903,33765:20904,33766:20905,33767:20906,33768:20909,33769:20910,33770:20916,33771:20920,33772:20921,33773:20922,33774:20926,33775:20927,33776:20929,33777:20930,33778:20931,33779:20933,33780:20936,33781:20938,33782:20941,33783:20942,33784:20944,33785:20946,33786:20947,33787:20948,33788:20949,33789:20950,33790:20951,33856:20952,33857:20953,33858:20954,33859:20956,33860:20958,33861:20959,33862:20962,33863:20963,33864:20965,33865:20966,33866:20967,33867:20968,33868:20969,33869:20970,33870:20972,33871:20974,33872:20977,33873:20978,33874:20980,33875:20983,33876:20990,33877:20996,33878:20997,33879:21001,33880:21003,33881:21004,33882:21007,33883:21008,33884:21011,33885:21012,33886:21013,33887:21020,33888:21022,33889:21023,33890:21025,33891:21026,33892:21027,33893:21029,33894:21030,33895:21031,33896:21034,33897:21036,33898:21039,33899:21041,33900:21042,33901:21044,33902:21045,33903:21052,33904:21054,33905:21060,33906:21061,33907:21062,33908:21063,33909:21064,33910:21065,33911:21067,33912:21070,33913:21071,33914:21074,33915:21075,33916:21077,33917:21079,33918:21080,33920:21081,33921:21082,33922:21083,33923:21085,33924:21087,33925:21088,33926:21090,33927:21091,33928:21092,33929:21094,33930:21096,33931:21099,33932:21100,33933:21101,33934:21102,33935:21104,33936:21105,33937:21107,33938:21108,33939:21109,33940:21110,33941:21111,33942:21112,33943:21113,33944:21114,33945:21115,33946:21116,33947:21118,33948:21120,33949:21123,33950:21124,33951:21125,33952:21126,33953:21127,33954:21129,33955:21130,33956:21131,33957:21132,33958:21133,33959:21134,33960:21135,33961:21137,33962:21138,33963:21140,33964:21141,33965:21142,33966:21143,33967:21144,33968:21145,33969:21146,33970:21148,33971:21156,33972:21157,33973:21158,33974:21159,33975:21166,33976:21167,33977:21168,33978:21172,33979:21173,33980:21174,33981:21175,33982:21176,33983:21177,33984:21178,33985:21179,33986:21180,33987:21181,33988:21184,33989:21185,33990:21186,33991:21188,33992:21189,33993:21190,33994:21192,33995:21194,33996:21196,33997:21197,33998:21198,33999:21199,34000:21201,34001:21203,34002:21204,34003:21205,34004:21207,34005:21209,34006:21210,34007:21211,34008:21212,34009:21213,34010:21214,34011:21216,34012:21217,34013:21218,34014:21219,34015:21221,34016:21222,34017:21223,34018:21224,34019:21225,34020:21226,34021:21227,34022:21228,34023:21229,34024:21230,34025:21231,34026:21233,34027:21234,34028:21235,34029:21236,34030:21237,34031:21238,34032:21239,34033:21240,34034:21243,34035:21244,34036:21245,34037:21249,34038:21250,34039:21251,34040:21252,34041:21255,34042:21257,34043:21258,34044:21259,34045:21260,34046:21262,34112:21265,34113:21266,34114:21267,34115:21268,34116:21272,34117:21275,34118:21276,34119:21278,34120:21279,34121:21282,34122:21284,34123:21285,34124:21287,34125:21288,34126:21289,34127:21291,34128:21292,34129:21293,34130:21295,34131:21296,34132:21297,34133:21298,34134:21299,34135:21300,34136:21301,34137:21302,34138:21303,34139:21304,34140:21308,34141:21309,34142:21312,34143:21314,34144:21316,34145:21318,34146:21323,34147:21324,34148:21325,34149:21328,34150:21332,34151:21336,34152:21337,34153:21339,34154:21341,34155:21349,34156:21352,34157:21354,34158:21356,34159:21357,34160:21362,34161:21366,34162:21369,34163:21371,34164:21372,34165:21373,34166:21374,34167:21376,34168:21377,34169:21379,34170:21383,34171:21384,34172:21386,34173:21390,34174:21391,34176:21392,34177:21393,34178:21394,34179:21395,34180:21396,34181:21398,34182:21399,34183:21401,34184:21403,34185:21404,34186:21406,34187:21408,34188:21409,34189:21412,34190:21415,34191:21418,34192:21419,34193:21420,34194:21421,34195:21423,34196:21424,34197:21425,34198:21426,34199:21427,34200:21428,34201:21429,34202:21431,34203:21432,34204:21433,34205:21434,34206:21436,34207:21437,34208:21438,34209:21440,34210:21443,34211:21444,34212:21445,34213:21446,34214:21447,34215:21454,34216:21455,34217:21456,34218:21458,34219:21459,34220:21461,34221:21466,34222:21468,34223:21469,34224:21470,34225:21473,34226:21474,34227:21479,34228:21492,34229:21498,34230:21502,34231:21503,34232:21504,34233:21506,34234:21509,34235:21511,34236:21515,34237:21524,34238:21528,34239:21529,34240:21530,34241:21532,34242:21538,34243:21540,34244:21541,34245:21546,34246:21552,34247:21555,34248:21558,34249:21559,34250:21562,34251:21565,34252:21567,34253:21569,34254:21570,34255:21572,34256:21573,34257:21575,34258:21577,34259:21580,34260:21581,34261:21582,34262:21583,34263:21585,34264:21594,34265:21597,34266:21598,34267:21599,34268:21600,34269:21601,34270:21603,34271:21605,34272:21607,34273:21609,34274:21610,34275:21611,34276:21612,34277:21613,34278:21614,34279:21615,34280:21616,34281:21620,34282:21625,34283:21626,34284:21630,34285:21631,34286:21633,34287:21635,34288:21637,34289:21639,34290:21640,34291:21641,34292:21642,34293:21645,34294:21649,34295:21651,34296:21655,34297:21656,34298:21660,34299:21662,34300:21663,34301:21664,34302:21665,34368:21666,34369:21669,34370:21678,34371:21680,34372:21682,34373:21685,34374:21686,34375:21687,34376:21689,34377:21690,34378:21692,34379:21694,34380:21699,34381:21701,34382:21706,34383:21707,34384:21718,34385:21720,34386:21723,34387:21728,34388:21729,34389:21730,34390:21731,34391:21732,34392:21739,34393:21740,34394:21743,34395:21744,34396:21745,34397:21748,34398:21749,34399:21750,34400:21751,34401:21752,34402:21753,34403:21755,34404:21758,34405:21760,34406:21762,34407:21763,34408:21764,34409:21765,34410:21768,34411:21770,34412:21771,34413:21772,34414:21773,34415:21774,34416:21778,34417:21779,34418:21781,34419:21782,34420:21783,34421:21784,34422:21785,34423:21786,34424:21788,34425:21789,34426:21790,34427:21791,34428:21793,34429:21797,34430:21798,34432:21800,34433:21801,34434:21803,34435:21805,34436:21810,34437:21812,34438:21813,34439:21814,34440:21816,34441:21817,34442:21818,34443:21819,34444:21821,34445:21824,34446:21826,34447:21829,34448:21831,34449:21832,34450:21835,34451:21836,34452:21837,34453:21838,34454:21839,34455:21841,34456:21842,34457:21843,34458:21844,34459:21847,34460:21848,34461:21849,34462:21850,34463:21851,34464:21853,34465:21854,34466:21855,34467:21856,34468:21858,34469:21859,34470:21864,34471:21865,34472:21867,34473:21871,34474:21872,34475:21873,34476:21874,34477:21875,34478:21876,34479:21881,34480:21882,34481:21885,34482:21887,34483:21893,34484:21894,34485:21900,34486:21901,34487:21902,34488:21904,34489:21906,34490:21907,34491:21909,34492:21910,34493:21911,34494:21914,34495:21915,34496:21918,34497:21920,34498:21921,34499:21922,34500:21923,34501:21924,34502:21925,34503:21926,34504:21928,34505:21929,34506:21930,34507:21931,34508:21932,34509:21933,34510:21934,34511:21935,34512:21936,34513:21938,34514:21940,34515:21942,34516:21944,34517:21946,34518:21948,34519:21951,34520:21952,34521:21953,34522:21954,34523:21955,34524:21958,34525:21959,34526:21960,34527:21962,34528:21963,34529:21966,34530:21967,34531:21968,34532:21973,34533:21975,34534:21976,34535:21977,34536:21978,34537:21979,34538:21982,34539:21984,34540:21986,34541:21991,34542:21993,34543:21997,34544:21998,34545:22000,34546:22001,34547:22004,34548:22006,34549:22008,34550:22009,34551:22010,34552:22011,34553:22012,34554:22015,34555:22018,34556:22019,34557:22020,34558:22021,34624:22022,34625:22023,34626:22026,34627:22027,34628:22029,34629:22032,34630:22033,34631:22034,34632:22035,34633:22036,34634:22037,34635:22038,34636:22039,34637:22041,34638:22042,34639:22044,34640:22045,34641:22048,34642:22049,34643:22050,34644:22053,34645:22054,34646:22056,34647:22057,34648:22058,34649:22059,34650:22062,34651:22063,34652:22064,34653:22067,34654:22069,34655:22071,34656:22072,34657:22074,34658:22076,34659:22077,34660:22078,34661:22080,34662:22081,34663:22082,34664:22083,34665:22084,34666:22085,34667:22086,34668:22087,34669:22088,34670:22089,34671:22090,34672:22091,34673:22095,34674:22096,34675:22097,34676:22098,34677:22099,34678:22101,34679:22102,34680:22106,34681:22107,34682:22109,34683:22110,34684:22111,34685:22112,34686:22113,34688:22115,34689:22117,34690:22118,34691:22119,34692:22125,34693:22126,34694:22127,34695:22128,34696:22130,34697:22131,34698:22132,34699:22133,34700:22135,34701:22136,34702:22137,34703:22138,34704:22141,34705:22142,34706:22143,34707:22144,34708:22145,34709:22146,34710:22147,34711:22148,34712:22151,34713:22152,34714:22153,34715:22154,34716:22155,34717:22156,34718:22157,34719:22160,34720:22161,34721:22162,34722:22164,34723:22165,34724:22166,34725:22167,34726:22168,34727:22169,34728:22170,34729:22171,34730:22172,34731:22173,34732:22174,34733:22175,34734:22176,34735:22177,34736:22178,34737:22180,34738:22181,34739:22182,34740:22183,34741:22184,34742:22185,34743:22186,34744:22187,34745:22188,34746:22189,34747:22190,34748:22192,34749:22193,34750:22194,34751:22195,34752:22196,34753:22197,34754:22198,34755:22200,34756:22201,34757:22202,34758:22203,34759:22205,34760:22206,34761:22207,34762:22208,34763:22209,34764:22210,34765:22211,34766:22212,34767:22213,34768:22214,34769:22215,34770:22216,34771:22217,34772:22219,34773:22220,34774:22221,34775:22222,34776:22223,34777:22224,34778:22225,34779:22226,34780:22227,34781:22229,34782:22230,34783:22232,34784:22233,34785:22236,34786:22243,34787:22245,34788:22246,34789:22247,34790:22248,34791:22249,34792:22250,34793:22252,34794:22254,34795:22255,34796:22258,34797:22259,34798:22262,34799:22263,34800:22264,34801:22267,34802:22268,34803:22272,34804:22273,34805:22274,34806:22277,34807:22279,34808:22283,34809:22284,34810:22285,34811:22286,34812:22287,34813:22288,34814:22289,34880:22290,34881:22291,34882:22292,34883:22293,34884:22294,34885:22295,34886:22296,34887:22297,34888:22298,34889:22299,34890:22301,34891:22302,34892:22304,34893:22305,34894:22306,34895:22308,34896:22309,34897:22310,34898:22311,34899:22315,34900:22321,34901:22322,34902:22324,34903:22325,34904:22326,34905:22327,34906:22328,34907:22332,34908:22333,34909:22335,34910:22337,34911:22339,34912:22340,34913:22341,34914:22342,34915:22344,34916:22345,34917:22347,34918:22354,34919:22355,34920:22356,34921:22357,34922:22358,34923:22360,34924:22361,34925:22370,34926:22371,34927:22373,34928:22375,34929:22380,34930:22382,34931:22384,34932:22385,34933:22386,34934:22388,34935:22389,34936:22392,34937:22393,34938:22394,34939:22397,34940:22398,34941:22399,34942:22400,34944:22401,34945:22407,34946:22408,34947:22409,34948:22410,34949:22413,34950:22414,34951:22415,34952:22416,34953:22417,34954:22420,34955:22421,34956:22422,34957:22423,34958:22424,34959:22425,34960:22426,34961:22428,34962:22429,34963:22430,34964:22431,34965:22437,34966:22440,34967:22442,34968:22444,34969:22447,34970:22448,34971:22449,34972:22451,34973:22453,34974:22454,34975:22455,34976:22457,34977:22458,34978:22459,34979:22460,34980:22461,34981:22462,34982:22463,34983:22464,34984:22465,34985:22468,34986:22469,34987:22470,34988:22471,34989:22472,34990:22473,34991:22474,34992:22476,34993:22477,34994:22480,34995:22481,34996:22483,34997:22486,34998:22487,34999:22491,35000:22492,35001:22494,35002:22497,35003:22498,35004:22499,35005:22501,35006:22502,35007:22503,35008:22504,35009:22505,35010:22506,35011:22507,35012:22508,35013:22510,35014:22512,35015:22513,35016:22514,35017:22515,35018:22517,35019:22518,35020:22519,35021:22523,35022:22524,35023:22526,35024:22527,35025:22529,35026:22531,35027:22532,35028:22533,35029:22536,35030:22537,35031:22538,35032:22540,35033:22542,35034:22543,35035:22544,35036:22546,35037:22547,35038:22548,35039:22550,35040:22551,35041:22552,35042:22554,35043:22555,35044:22556,35045:22557,35046:22559,35047:22562,35048:22563,35049:22565,35050:22566,35051:22567,35052:22568,35053:22569,35054:22571,35055:22572,35056:22573,35057:22574,35058:22575,35059:22577,35060:22578,35061:22579,35062:22580,35063:22582,35064:22583,35065:22584,35066:22585,35067:22586,35068:22587,35069:22588,35070:22589,35136:22590,35137:22591,35138:22592,35139:22593,35140:22594,35141:22595,35142:22597,35143:22598,35144:22599,35145:22600,35146:22601,35147:22602,35148:22603,35149:22606,35150:22607,35151:22608,35152:22610,35153:22611,35154:22613,35155:22614,35156:22615,35157:22617,35158:22618,35159:22619,35160:22620,35161:22621,35162:22623,35163:22624,35164:22625,35165:22626,35166:22627,35167:22628,35168:22630,35169:22631,35170:22632,35171:22633,35172:22634,35173:22637,35174:22638,35175:22639,35176:22640,35177:22641,35178:22642,35179:22643,35180:22644,35181:22645,35182:22646,35183:22647,35184:22648,35185:22649,35186:22650,35187:22651,35188:22652,35189:22653,35190:22655,35191:22658,35192:22660,35193:22662,35194:22663,35195:22664,35196:22666,35197:22667,35198:22668,35200:22669,35201:22670,35202:22671,35203:22672,35204:22673,35205:22676,35206:22677,35207:22678,35208:22679,35209:22680,35210:22683,35211:22684,35212:22685,35213:22688,35214:22689,35215:22690,35216:22691,35217:22692,35218:22693,35219:22694,35220:22695,35221:22698,35222:22699,35223:22700,35224:22701,35225:22702,35226:22703,35227:22704,35228:22705,35229:22706,35230:22707,35231:22708,35232:22709,35233:22710,35234:22711,35235:22712,35236:22713,35237:22714,35238:22715,35239:22717,35240:22718,35241:22719,35242:22720,35243:22722,35244:22723,35245:22724,35246:22726,35247:22727,35248:22728,35249:22729,35250:22730,35251:22731,35252:22732,35253:22733,35254:22734,35255:22735,35256:22736,35257:22738,35258:22739,35259:22740,35260:22742,35261:22743,35262:22744,35263:22745,35264:22746,35265:22747,35266:22748,35267:22749,35268:22750,35269:22751,35270:22752,35271:22753,35272:22754,35273:22755,35274:22757,35275:22758,35276:22759,35277:22760,35278:22761,35279:22762,35280:22765,35281:22767,35282:22769,35283:22770,35284:22772,35285:22773,35286:22775,35287:22776,35288:22778,35289:22779,35290:22780,35291:22781,35292:22782,35293:22783,35294:22784,35295:22785,35296:22787,35297:22789,35298:22790,35299:22792,35300:22793,35301:22794,35302:22795,35303:22796,35304:22798,35305:22800,35306:22801,35307:22802,35308:22803,35309:22807,35310:22808,35311:22811,35312:22813,35313:22814,35314:22816,35315:22817,35316:22818,35317:22819,35318:22822,35319:22824,35320:22828,35321:22832,35322:22834,35323:22835,35324:22837,35325:22838,35326:22843,35392:22845,35393:22846,35394:22847,35395:22848,35396:22851,35397:22853,35398:22854,35399:22858,35400:22860,35401:22861,35402:22864,35403:22866,35404:22867,35405:22873,35406:22875,35407:22876,35408:22877,35409:22878,35410:22879,35411:22881,35412:22883,35413:22884,35414:22886,35415:22887,35416:22888,35417:22889,35418:22890,35419:22891,35420:22892,35421:22893,35422:22894,35423:22895,35424:22896,35425:22897,35426:22898,35427:22901,35428:22903,35429:22906,35430:22907,35431:22908,35432:22910,35433:22911,35434:22912,35435:22917,35436:22921,35437:22923,35438:22924,35439:22926,35440:22927,35441:22928,35442:22929,35443:22932,35444:22933,35445:22936,35446:22938,35447:22939,35448:22940,35449:22941,35450:22943,35451:22944,35452:22945,35453:22946,35454:22950,35456:22951,35457:22956,35458:22957,35459:22960,35460:22961,35461:22963,35462:22964,35463:22965,35464:22966,35465:22967,35466:22968,35467:22970,35468:22972,35469:22973,35470:22975,35471:22976,35472:22977,35473:22978,35474:22979,35475:22980,35476:22981,35477:22983,35478:22984,35479:22985,35480:22988,35481:22989,35482:22990,35483:22991,35484:22997,35485:22998,35486:23001,35487:23003,35488:23006,35489:23007,35490:23008,35491:23009,35492:23010,35493:23012,35494:23014,35495:23015,35496:23017,35497:23018,35498:23019,35499:23021,35500:23022,35501:23023,35502:23024,35503:23025,35504:23026,35505:23027,35506:23028,35507:23029,35508:23030,35509:23031,35510:23032,35511:23034,35512:23036,35513:23037,35514:23038,35515:23040,35516:23042,35517:23050,35518:23051,35519:23053,35520:23054,35521:23055,35522:23056,35523:23058,35524:23060,35525:23061,35526:23062,35527:23063,35528:23065,35529:23066,35530:23067,35531:23069,35532:23070,35533:23073,35534:23074,35535:23076,35536:23078,35537:23079,35538:23080,35539:23082,35540:23083,35541:23084,35542:23085,35543:23086,35544:23087,35545:23088,35546:23091,35547:23093,35548:23095,35549:23096,35550:23097,35551:23098,35552:23099,35553:23101,35554:23102,35555:23103,35556:23105,35557:23106,35558:23107,35559:23108,35560:23109,35561:23111,35562:23112,35563:23115,35564:23116,35565:23117,35566:23118,35567:23119,35568:23120,35569:23121,35570:23122,35571:23123,35572:23124,35573:23126,35574:23127,35575:23128,35576:23129,35577:23131,35578:23132,35579:23133,35580:23134,35581:23135,35582:23136,35648:23137,35649:23139,35650:23140,35651:23141,35652:23142,35653:23144,35654:23145,35655:23147,35656:23148,35657:23149,35658:23150,35659:23151,35660:23152,35661:23153,35662:23154,35663:23155,35664:23160,35665:23161,35666:23163,35667:23164,35668:23165,35669:23166,35670:23168,35671:23169,35672:23170,35673:23171,35674:23172,35675:23173,35676:23174,35677:23175,35678:23176,35679:23177,35680:23178,35681:23179,35682:23180,35683:23181,35684:23182,35685:23183,35686:23184,35687:23185,35688:23187,35689:23188,35690:23189,35691:23190,35692:23191,35693:23192,35694:23193,35695:23196,35696:23197,35697:23198,35698:23199,35699:23200,35700:23201,35701:23202,35702:23203,35703:23204,35704:23205,35705:23206,35706:23207,35707:23208,35708:23209,35709:23211,35710:23212,35712:23213,35713:23214,35714:23215,35715:23216,35716:23217,35717:23220,35718:23222,35719:23223,35720:23225,35721:23226,35722:23227,35723:23228,35724:23229,35725:23231,35726:23232,35727:23235,35728:23236,35729:23237,35730:23238,35731:23239,35732:23240,35733:23242,35734:23243,35735:23245,35736:23246,35737:23247,35738:23248,35739:23249,35740:23251,35741:23253,35742:23255,35743:23257,35744:23258,35745:23259,35746:23261,35747:23262,35748:23263,35749:23266,35750:23268,35751:23269,35752:23271,35753:23272,35754:23274,35755:23276,35756:23277,35757:23278,35758:23279,35759:23280,35760:23282,35761:23283,35762:23284,35763:23285,35764:23286,35765:23287,35766:23288,35767:23289,35768:23290,35769:23291,35770:23292,35771:23293,35772:23294,35773:23295,35774:23296,35775:23297,35776:23298,35777:23299,35778:23300,35779:23301,35780:23302,35781:23303,35782:23304,35783:23306,35784:23307,35785:23308,35786:23309,35787:23310,35788:23311,35789:23312,35790:23313,35791:23314,35792:23315,35793:23316,35794:23317,35795:23320,35796:23321,35797:23322,35798:23323,35799:23324,35800:23325,35801:23326,35802:23327,35803:23328,35804:23329,35805:23330,35806:23331,35807:23332,35808:23333,35809:23334,35810:23335,35811:23336,35812:23337,35813:23338,35814:23339,35815:23340,35816:23341,35817:23342,35818:23343,35819:23344,35820:23345,35821:23347,35822:23349,35823:23350,35824:23352,35825:23353,35826:23354,35827:23355,35828:23356,35829:23357,35830:23358,35831:23359,35832:23361,35833:23362,35834:23363,35835:23364,35836:23365,35837:23366,35838:23367,35904:23368,35905:23369,35906:23370,35907:23371,35908:23372,35909:23373,35910:23374,35911:23375,35912:23378,35913:23382,35914:23390,35915:23392,35916:23393,35917:23399,35918:23400,35919:23403,35920:23405,35921:23406,35922:23407,35923:23410,35924:23412,35925:23414,35926:23415,35927:23416,35928:23417,35929:23419,35930:23420,35931:23422,35932:23423,35933:23426,35934:23430,35935:23434,35936:23437,35937:23438,35938:23440,35939:23441,35940:23442,35941:23444,35942:23446,35943:23455,35944:23463,35945:23464,35946:23465,35947:23468,35948:23469,35949:23470,35950:23471,35951:23473,35952:23474,35953:23479,35954:23482,35955:23483,35956:23484,35957:23488,35958:23489,35959:23491,35960:23496,35961:23497,35962:23498,35963:23499,35964:23501,35965:23502,35966:23503,35968:23505,35969:23508,35970:23509,35971:23510,35972:23511,35973:23512,35974:23513,35975:23514,35976:23515,35977:23516,35978:23520,35979:23522,35980:23523,35981:23526,35982:23527,35983:23529,35984:23530,35985:23531,35986:23532,35987:23533,35988:23535,35989:23537,35990:23538,35991:23539,35992:23540,35993:23541,35994:23542,35995:23543,35996:23549,35997:23550,35998:23552,35999:23554,36000:23555,36001:23557,36002:23559,36003:23560,36004:23563,36005:23564,36006:23565,36007:23566,36008:23568,36009:23570,36010:23571,36011:23575,36012:23577,36013:23579,36014:23582,36015:23583,36016:23584,36017:23585,36018:23587,36019:23590,36020:23592,36021:23593,36022:23594,36023:23595,36024:23597,36025:23598,36026:23599,36027:23600,36028:23602,36029:23603,36030:23605,36031:23606,36032:23607,36033:23619,36034:23620,36035:23622,36036:23623,36037:23628,36038:23629,36039:23634,36040:23635,36041:23636,36042:23638,36043:23639,36044:23640,36045:23642,36046:23643,36047:23644,36048:23645,36049:23647,36050:23650,36051:23652,36052:23655,36053:23656,36054:23657,36055:23658,36056:23659,36057:23660,36058:23661,36059:23664,36060:23666,36061:23667,36062:23668,36063:23669,36064:23670,36065:23671,36066:23672,36067:23675,36068:23676,36069:23677,36070:23678,36071:23680,36072:23683,36073:23684,36074:23685,36075:23686,36076:23687,36077:23689,36078:23690,36079:23691,36080:23694,36081:23695,36082:23698,36083:23699,36084:23701,36085:23709,36086:23710,36087:23711,36088:23712,36089:23713,36090:23716,36091:23717,36092:23718,36093:23719,36094:23720,36160:23722,36161:23726,36162:23727,36163:23728,36164:23730,36165:23732,36166:23734,36167:23737,36168:23738,36169:23739,36170:23740,36171:23742,36172:23744,36173:23746,36174:23747,36175:23749,36176:23750,36177:23751,36178:23752,36179:23753,36180:23754,36181:23756,36182:23757,36183:23758,36184:23759,36185:23760,36186:23761,36187:23763,36188:23764,36189:23765,36190:23766,36191:23767,36192:23768,36193:23770,36194:23771,36195:23772,36196:23773,36197:23774,36198:23775,36199:23776,36200:23778,36201:23779,36202:23783,36203:23785,36204:23787,36205:23788,36206:23790,36207:23791,36208:23793,36209:23794,36210:23795,36211:23796,36212:23797,36213:23798,36214:23799,36215:23800,36216:23801,36217:23802,36218:23804,36219:23805,36220:23806,36221:23807,36222:23808,36224:23809,36225:23812,36226:23813,36227:23816,36228:23817,36229:23818,36230:23819,36231:23820,36232:23821,36233:23823,36234:23824,36235:23825,36236:23826,36237:23827,36238:23829,36239:23831,36240:23832,36241:23833,36242:23834,36243:23836,36244:23837,36245:23839,36246:23840,36247:23841,36248:23842,36249:23843,36250:23845,36251:23848,36252:23850,36253:23851,36254:23852,36255:23855,36256:23856,36257:23857,36258:23858,36259:23859,36260:23861,36261:23862,36262:23863,36263:23864,36264:23865,36265:23866,36266:23867,36267:23868,36268:23871,36269:23872,36270:23873,36271:23874,36272:23875,36273:23876,36274:23877,36275:23878,36276:23880,36277:23881,36278:23885,36279:23886,36280:23887,36281:23888,36282:23889,36283:23890,36284:23891,36285:23892,36286:23893,36287:23894,36288:23895,36289:23897,36290:23898,36291:23900,36292:23902,36293:23903,36294:23904,36295:23905,36296:23906,36297:23907,36298:23908,36299:23909,36300:23910,36301:23911,36302:23912,36303:23914,36304:23917,36305:23918,36306:23920,36307:23921,36308:23922,36309:23923,36310:23925,36311:23926,36312:23927,36313:23928,36314:23929,36315:23930,36316:23931,36317:23932,36318:23933,36319:23934,36320:23935,36321:23936,36322:23937,36323:23939,36324:23940,36325:23941,36326:23942,36327:23943,36328:23944,36329:23945,36330:23946,36331:23947,36332:23948,36333:23949,36334:23950,36335:23951,36336:23952,36337:23953,36338:23954,36339:23955,36340:23956,36341:23957,36342:23958,36343:23959,36344:23960,36345:23962,36346:23963,36347:23964,36348:23966,36349:23967,36350:23968,36416:23969,36417:23970,36418:23971,36419:23972,36420:23973,36421:23974,36422:23975,36423:23976,36424:23977,36425:23978,36426:23979,36427:23980,36428:23981,36429:23982,36430:23983,36431:23984,36432:23985,36433:23986,36434:23987,36435:23988,36436:23989,36437:23990,36438:23992,36439:23993,36440:23994,36441:23995,36442:23996,36443:23997,36444:23998,36445:23999,36446:24000,36447:24001,36448:24002,36449:24003,36450:24004,36451:24006,36452:24007,36453:24008,36454:24009,36455:24010,36456:24011,36457:24012,36458:24014,36459:24015,36460:24016,36461:24017,36462:24018,36463:24019,36464:24020,36465:24021,36466:24022,36467:24023,36468:24024,36469:24025,36470:24026,36471:24028,36472:24031,36473:24032,36474:24035,36475:24036,36476:24042,36477:24044,36478:24045,36480:24048,36481:24053,36482:24054,36483:24056,36484:24057,36485:24058,36486:24059,36487:24060,36488:24063,36489:24064,36490:24068,36491:24071,36492:24073,36493:24074,36494:24075,36495:24077,36496:24078,36497:24082,36498:24083,36499:24087,36500:24094,36501:24095,36502:24096,36503:24097,36504:24098,36505:24099,36506:24100,36507:24101,36508:24104,36509:24105,36510:24106,36511:24107,36512:24108,36513:24111,36514:24112,36515:24114,36516:24115,36517:24116,36518:24117,36519:24118,36520:24121,36521:24122,36522:24126,36523:24127,36524:24128,36525:24129,36526:24131,36527:24134,36528:24135,36529:24136,36530:24137,36531:24138,36532:24139,36533:24141,36534:24142,36535:24143,36536:24144,36537:24145,36538:24146,36539:24147,36540:24150,36541:24151,36542:24152,36543:24153,36544:24154,36545:24156,36546:24157,36547:24159,36548:24160,36549:24163,36550:24164,36551:24165,36552:24166,36553:24167,36554:24168,36555:24169,36556:24170,36557:24171,36558:24172,36559:24173,36560:24174,36561:24175,36562:24176,36563:24177,36564:24181,36565:24183,36566:24185,36567:24190,36568:24193,36569:24194,36570:24195,36571:24197,36572:24200,36573:24201,36574:24204,36575:24205,36576:24206,36577:24210,36578:24216,36579:24219,36580:24221,36581:24225,36582:24226,36583:24227,36584:24228,36585:24232,36586:24233,36587:24234,36588:24235,36589:24236,36590:24238,36591:24239,36592:24240,36593:24241,36594:24242,36595:24244,36596:24250,36597:24251,36598:24252,36599:24253,36600:24255,36601:24256,36602:24257,36603:24258,36604:24259,36605:24260,36606:24261,36672:24262,36673:24263,36674:24264,36675:24267,36676:24268,36677:24269,36678:24270,36679:24271,36680:24272,36681:24276,36682:24277,36683:24279,36684:24280,36685:24281,36686:24282,36687:24284,36688:24285,36689:24286,36690:24287,36691:24288,36692:24289,36693:24290,36694:24291,36695:24292,36696:24293,36697:24294,36698:24295,36699:24297,36700:24299,36701:24300,36702:24301,36703:24302,36704:24303,36705:24304,36706:24305,36707:24306,36708:24307,36709:24309,36710:24312,36711:24313,36712:24315,36713:24316,36714:24317,36715:24325,36716:24326,36717:24327,36718:24329,36719:24332,36720:24333,36721:24334,36722:24336,36723:24338,36724:24340,36725:24342,36726:24345,36727:24346,36728:24348,36729:24349,36730:24350,36731:24353,36732:24354,36733:24355,36734:24356,36736:24360,36737:24363,36738:24364,36739:24366,36740:24368,36741:24370,36742:24371,36743:24372,36744:24373,36745:24374,36746:24375,36747:24376,36748:24379,36749:24381,36750:24382,36751:24383,36752:24385,36753:24386,36754:24387,36755:24388,36756:24389,36757:24390,36758:24391,36759:24392,36760:24393,36761:24394,36762:24395,36763:24396,36764:24397,36765:24398,36766:24399,36767:24401,36768:24404,36769:24409,36770:24410,36771:24411,36772:24412,36773:24414,36774:24415,36775:24416,36776:24419,36777:24421,36778:24423,36779:24424,36780:24427,36781:24430,36782:24431,36783:24434,36784:24436,36785:24437,36786:24438,36787:24440,36788:24442,36789:24445,36790:24446,36791:24447,36792:24451,36793:24454,36794:24461,36795:24462,36796:24463,36797:24465,36798:24467,36799:24468,36800:24470,36801:24474,36802:24475,36803:24477,36804:24478,36805:24479,36806:24480,36807:24482,36808:24483,36809:24484,36810:24485,36811:24486,36812:24487,36813:24489,36814:24491,36815:24492,36816:24495,36817:24496,36818:24497,36819:24498,36820:24499,36821:24500,36822:24502,36823:24504,36824:24505,36825:24506,36826:24507,36827:24510,36828:24511,36829:24512,36830:24513,36831:24514,36832:24519,36833:24520,36834:24522,36835:24523,36836:24526,36837:24531,36838:24532,36839:24533,36840:24538,36841:24539,36842:24540,36843:24542,36844:24543,36845:24546,36846:24547,36847:24549,36848:24550,36849:24552,36850:24553,36851:24556,36852:24559,36853:24560,36854:24562,36855:24563,36856:24564,36857:24566,36858:24567,36859:24569,36860:24570,36861:24572,36862:24583,36928:24584,36929:24585,36930:24587,36931:24588,36932:24592,36933:24593,36934:24595,36935:24599,36936:24600,36937:24602,36938:24606,36939:24607,36940:24610,36941:24611,36942:24612,36943:24620,36944:24621,36945:24622,36946:24624,36947:24625,36948:24626,36949:24627,36950:24628,36951:24630,36952:24631,36953:24632,36954:24633,36955:24634,36956:24637,36957:24638,36958:24640,36959:24644,36960:24645,36961:24646,36962:24647,36963:24648,36964:24649,36965:24650,36966:24652,36967:24654,36968:24655,36969:24657,36970:24659,36971:24660,36972:24662,36973:24663,36974:24664,36975:24667,36976:24668,36977:24670,36978:24671,36979:24672,36980:24673,36981:24677,36982:24678,36983:24686,36984:24689,36985:24690,36986:24692,36987:24693,36988:24695,36989:24702,36990:24704,36992:24705,36993:24706,36994:24709,36995:24710,36996:24711,36997:24712,36998:24714,36999:24715,37000:24718,37001:24719,37002:24720,37003:24721,37004:24723,37005:24725,37006:24727,37007:24728,37008:24729,37009:24732,37010:24734,37011:24737,37012:24738,37013:24740,37014:24741,37015:24743,37016:24745,37017:24746,37018:24750,37019:24752,37020:24755,37021:24757,37022:24758,37023:24759,37024:24761,37025:24762,37026:24765,37027:24766,37028:24767,37029:24768,37030:24769,37031:24770,37032:24771,37033:24772,37034:24775,37035:24776,37036:24777,37037:24780,37038:24781,37039:24782,37040:24783,37041:24784,37042:24786,37043:24787,37044:24788,37045:24790,37046:24791,37047:24793,37048:24795,37049:24798,37050:24801,37051:24802,37052:24803,37053:24804,37054:24805,37055:24810,37056:24817,37057:24818,37058:24821,37059:24823,37060:24824,37061:24827,37062:24828,37063:24829,37064:24830,37065:24831,37066:24834,37067:24835,37068:24836,37069:24837,37070:24839,37071:24842,37072:24843,37073:24844,37074:24848,37075:24849,37076:24850,37077:24851,37078:24852,37079:24854,37080:24855,37081:24856,37082:24857,37083:24859,37084:24860,37085:24861,37086:24862,37087:24865,37088:24866,37089:24869,37090:24872,37091:24873,37092:24874,37093:24876,37094:24877,37095:24878,37096:24879,37097:24880,37098:24881,37099:24882,37100:24883,37101:24884,37102:24885,37103:24886,37104:24887,37105:24888,37106:24889,37107:24890,37108:24891,37109:24892,37110:24893,37111:24894,37112:24896,37113:24897,37114:24898,37115:24899,37116:24900,37117:24901,37118:24902,37184:24903,37185:24905,37186:24907,37187:24909,37188:24911,37189:24912,37190:24914,37191:24915,37192:24916,37193:24918,37194:24919,37195:24920,37196:24921,37197:24922,37198:24923,37199:24924,37200:24926,37201:24927,37202:24928,37203:24929,37204:24931,37205:24932,37206:24933,37207:24934,37208:24937,37209:24938,37210:24939,37211:24940,37212:24941,37213:24942,37214:24943,37215:24945,37216:24946,37217:24947,37218:24948,37219:24950,37220:24952,37221:24953,37222:24954,37223:24955,37224:24956,37225:24957,37226:24958,37227:24959,37228:24960,37229:24961,37230:24962,37231:24963,37232:24964,37233:24965,37234:24966,37235:24967,37236:24968,37237:24969,37238:24970,37239:24972,37240:24973,37241:24975,37242:24976,37243:24977,37244:24978,37245:24979,37246:24981,37248:24982,37249:24983,37250:24984,37251:24985,37252:24986,37253:24987,37254:24988,37255:24990,37256:24991,37257:24992,37258:24993,37259:24994,37260:24995,37261:24996,37262:24997,37263:24998,37264:25002,37265:25003,37266:25005,37267:25006,37268:25007,37269:25008,37270:25009,37271:25010,37272:25011,37273:25012,37274:25013,37275:25014,37276:25016,37277:25017,37278:25018,37279:25019,37280:25020,37281:25021,37282:25023,37283:25024,37284:25025,37285:25027,37286:25028,37287:25029,37288:25030,37289:25031,37290:25033,37291:25036,37292:25037,37293:25038,37294:25039,37295:25040,37296:25043,37297:25045,37298:25046,37299:25047,37300:25048,37301:25049,37302:25050,37303:25051,37304:25052,37305:25053,37306:25054,37307:25055,37308:25056,37309:25057,37310:25058,37311:25059,37312:25060,37313:25061,37314:25063,37315:25064,37316:25065,37317:25066,37318:25067,37319:25068,37320:25069,37321:25070,37322:25071,37323:25072,37324:25073,37325:25074,37326:25075,37327:25076,37328:25078,37329:25079,37330:25080,37331:25081,37332:25082,37333:25083,37334:25084,37335:25085,37336:25086,37337:25088,37338:25089,37339:25090,37340:25091,37341:25092,37342:25093,37343:25095,37344:25097,37345:25107,37346:25108,37347:25113,37348:25116,37349:25117,37350:25118,37351:25120,37352:25123,37353:25126,37354:25127,37355:25128,37356:25129,37357:25131,37358:25133,37359:25135,37360:25136,37361:25137,37362:25138,37363:25141,37364:25142,37365:25144,37366:25145,37367:25146,37368:25147,37369:25148,37370:25154,37371:25156,37372:25157,37373:25158,37374:25162,37440:25167,37441:25168,37442:25173,37443:25174,37444:25175,37445:25177,37446:25178,37447:25180,37448:25181,37449:25182,37450:25183,37451:25184,37452:25185,37453:25186,37454:25188,37455:25189,37456:25192,37457:25201,37458:25202,37459:25204,37460:25205,37461:25207,37462:25208,37463:25210,37464:25211,37465:25213,37466:25217,37467:25218,37468:25219,37469:25221,37470:25222,37471:25223,37472:25224,37473:25227,37474:25228,37475:25229,37476:25230,37477:25231,37478:25232,37479:25236,37480:25241,37481:25244,37482:25245,37483:25246,37484:25251,37485:25254,37486:25255,37487:25257,37488:25258,37489:25261,37490:25262,37491:25263,37492:25264,37493:25266,37494:25267,37495:25268,37496:25270,37497:25271,37498:25272,37499:25274,37500:25278,37501:25280,37502:25281,37504:25283,37505:25291,37506:25295,37507:25297,37508:25301,37509:25309,37510:25310,37511:25312,37512:25313,37513:25316,37514:25322,37515:25323,37516:25328,37517:25330,37518:25333,37519:25336,37520:25337,37521:25338,37522:25339,37523:25344,37524:25347,37525:25348,37526:25349,37527:25350,37528:25354,37529:25355,37530:25356,37531:25357,37532:25359,37533:25360,37534:25362,37535:25363,37536:25364,37537:25365,37538:25367,37539:25368,37540:25369,37541:25372,37542:25382,37543:25383,37544:25385,37545:25388,37546:25389,37547:25390,37548:25392,37549:25393,37550:25395,37551:25396,37552:25397,37553:25398,37554:25399,37555:25400,37556:25403,37557:25404,37558:25406,37559:25407,37560:25408,37561:25409,37562:25412,37563:25415,37564:25416,37565:25418,37566:25425,37567:25426,37568:25427,37569:25428,37570:25430,37571:25431,37572:25432,37573:25433,37574:25434,37575:25435,37576:25436,37577:25437,37578:25440,37579:25444,37580:25445,37581:25446,37582:25448,37583:25450,37584:25451,37585:25452,37586:25455,37587:25456,37588:25458,37589:25459,37590:25460,37591:25461,37592:25464,37593:25465,37594:25468,37595:25469,37596:25470,37597:25471,37598:25473,37599:25475,37600:25476,37601:25477,37602:25478,37603:25483,37604:25485,37605:25489,37606:25491,37607:25492,37608:25493,37609:25495,37610:25497,37611:25498,37612:25499,37613:25500,37614:25501,37615:25502,37616:25503,37617:25505,37618:25508,37619:25510,37620:25515,37621:25519,37622:25521,37623:25522,37624:25525,37625:25526,37626:25529,37627:25531,37628:25533,37629:25535,37630:25536,37696:25537,37697:25538,37698:25539,37699:25541,37700:25543,37701:25544,37702:25546,37703:25547,37704:25548,37705:25553,37706:25555,37707:25556,37708:25557,37709:25559,37710:25560,37711:25561,37712:25562,37713:25563,37714:25564,37715:25565,37716:25567,37717:25570,37718:25572,37719:25573,37720:25574,37721:25575,37722:25576,37723:25579,37724:25580,37725:25582,37726:25583,37727:25584,37728:25585,37729:25587,37730:25589,37731:25591,37732:25593,37733:25594,37734:25595,37735:25596,37736:25598,37737:25603,37738:25604,37739:25606,37740:25607,37741:25608,37742:25609,37743:25610,37744:25613,37745:25614,37746:25617,37747:25618,37748:25621,37749:25622,37750:25623,37751:25624,37752:25625,37753:25626,37754:25629,37755:25631,37756:25634,37757:25635,37758:25636,37760:25637,37761:25639,37762:25640,37763:25641,37764:25643,37765:25646,37766:25647,37767:25648,37768:25649,37769:25650,37770:25651,37771:25653,37772:25654,37773:25655,37774:25656,37775:25657,37776:25659,37777:25660,37778:25662,37779:25664,37780:25666,37781:25667,37782:25673,37783:25675,37784:25676,37785:25677,37786:25678,37787:25679,37788:25680,37789:25681,37790:25683,37791:25685,37792:25686,37793:25687,37794:25689,37795:25690,37796:25691,37797:25692,37798:25693,37799:25695,37800:25696,37801:25697,37802:25698,37803:25699,37804:25700,37805:25701,37806:25702,37807:25704,37808:25706,37809:25707,37810:25708,37811:25710,37812:25711,37813:25712,37814:25713,37815:25714,37816:25715,37817:25716,37818:25717,37819:25718,37820:25719,37821:25723,37822:25724,37823:25725,37824:25726,37825:25727,37826:25728,37827:25729,37828:25731,37829:25734,37830:25736,37831:25737,37832:25738,37833:25739,37834:25740,37835:25741,37836:25742,37837:25743,37838:25744,37839:25747,37840:25748,37841:25751,37842:25752,37843:25754,37844:25755,37845:25756,37846:25757,37847:25759,37848:25760,37849:25761,37850:25762,37851:25763,37852:25765,37853:25766,37854:25767,37855:25768,37856:25770,37857:25771,37858:25775,37859:25777,37860:25778,37861:25779,37862:25780,37863:25782,37864:25785,37865:25787,37866:25789,37867:25790,37868:25791,37869:25793,37870:25795,37871:25796,37872:25798,37873:25799,37874:25800,37875:25801,37876:25802,37877:25803,37878:25804,37879:25807,37880:25809,37881:25811,37882:25812,37883:25813,37884:25814,37885:25817,37886:25818,37952:25819,37953:25820,37954:25821,37955:25823,37956:25824,37957:25825,37958:25827,37959:25829,37960:25831,37961:25832,37962:25833,37963:25834,37964:25835,37965:25836,37966:25837,37967:25838,37968:25839,37969:25840,37970:25841,37971:25842,37972:25843,37973:25844,37974:25845,37975:25846,37976:25847,37977:25848,37978:25849,37979:25850,37980:25851,37981:25852,37982:25853,37983:25854,37984:25855,37985:25857,37986:25858,37987:25859,37988:25860,37989:25861,37990:25862,37991:25863,37992:25864,37993:25866,37994:25867,37995:25868,37996:25869,37997:25870,37998:25871,37999:25872,38000:25873,38001:25875,38002:25876,38003:25877,38004:25878,38005:25879,38006:25881,38007:25882,38008:25883,38009:25884,38010:25885,38011:25886,38012:25887,38013:25888,38014:25889,38016:25890,38017:25891,38018:25892,38019:25894,38020:25895,38021:25896,38022:25897,38023:25898,38024:25900,38025:25901,38026:25904,38027:25905,38028:25906,38029:25907,38030:25911,38031:25914,38032:25916,38033:25917,38034:25920,38035:25921,38036:25922,38037:25923,38038:25924,38039:25926,38040:25927,38041:25930,38042:25931,38043:25933,38044:25934,38045:25936,38046:25938,38047:25939,38048:25940,38049:25943,38050:25944,38051:25946,38052:25948,38053:25951,38054:25952,38055:25953,38056:25956,38057:25957,38058:25959,38059:25960,38060:25961,38061:25962,38062:25965,38063:25966,38064:25967,38065:25969,38066:25971,38067:25973,38068:25974,38069:25976,38070:25977,38071:25978,38072:25979,38073:25980,38074:25981,38075:25982,38076:25983,38077:25984,38078:25985,38079:25986,38080:25987,38081:25988,38082:25989,38083:25990,38084:25992,38085:25993,38086:25994,38087:25997,38088:25998,38089:25999,38090:26002,38091:26004,38092:26005,38093:26006,38094:26008,38095:26010,38096:26013,38097:26014,38098:26016,38099:26018,38100:26019,38101:26022,38102:26024,38103:26026,38104:26028,38105:26030,38106:26033,38107:26034,38108:26035,38109:26036,38110:26037,38111:26038,38112:26039,38113:26040,38114:26042,38115:26043,38116:26046,38117:26047,38118:26048,38119:26050,38120:26055,38121:26056,38122:26057,38123:26058,38124:26061,38125:26064,38126:26065,38127:26067,38128:26068,38129:26069,38130:26072,38131:26073,38132:26074,38133:26075,38134:26076,38135:26077,38136:26078,38137:26079,38138:26081,38139:26083,38140:26084,38141:26090,38142:26091,38208:26098,38209:26099,38210:26100,38211:26101,38212:26104,38213:26105,38214:26107,38215:26108,38216:26109,38217:26110,38218:26111,38219:26113,38220:26116,38221:26117,38222:26119,38223:26120,38224:26121,38225:26123,38226:26125,38227:26128,38228:26129,38229:26130,38230:26134,38231:26135,38232:26136,38233:26138,38234:26139,38235:26140,38236:26142,38237:26145,38238:26146,38239:26147,38240:26148,38241:26150,38242:26153,38243:26154,38244:26155,38245:26156,38246:26158,38247:26160,38248:26162,38249:26163,38250:26167,38251:26168,38252:26169,38253:26170,38254:26171,38255:26173,38256:26175,38257:26176,38258:26178,38259:26180,38260:26181,38261:26182,38262:26183,38263:26184,38264:26185,38265:26186,38266:26189,38267:26190,38268:26192,38269:26193,38270:26200,38272:26201,38273:26203,38274:26204,38275:26205,38276:26206,38277:26208,38278:26210,38279:26211,38280:26213,38281:26215,38282:26217,38283:26218,38284:26219,38285:26220,38286:26221,38287:26225,38288:26226,38289:26227,38290:26229,38291:26232,38292:26233,38293:26235,38294:26236,38295:26237,38296:26239,38297:26240,38298:26241,38299:26243,38300:26245,38301:26246,38302:26248,38303:26249,38304:26250,38305:26251,38306:26253,38307:26254,38308:26255,38309:26256,38310:26258,38311:26259,38312:26260,38313:26261,38314:26264,38315:26265,38316:26266,38317:26267,38318:26268,38319:26270,38320:26271,38321:26272,38322:26273,38323:26274,38324:26275,38325:26276,38326:26277,38327:26278,38328:26281,38329:26282,38330:26283,38331:26284,38332:26285,38333:26287,38334:26288,38335:26289,38336:26290,38337:26291,38338:26293,38339:26294,38340:26295,38341:26296,38342:26298,38343:26299,38344:26300,38345:26301,38346:26303,38347:26304,38348:26305,38349:26306,38350:26307,38351:26308,38352:26309,38353:26310,38354:26311,38355:26312,38356:26313,38357:26314,38358:26315,38359:26316,38360:26317,38361:26318,38362:26319,38363:26320,38364:26321,38365:26322,38366:26323,38367:26324,38368:26325,38369:26326,38370:26327,38371:26328,38372:26330,38373:26334,38374:26335,38375:26336,38376:26337,38377:26338,38378:26339,38379:26340,38380:26341,38381:26343,38382:26344,38383:26346,38384:26347,38385:26348,38386:26349,38387:26350,38388:26351,38389:26353,38390:26357,38391:26358,38392:26360,38393:26362,38394:26363,38395:26365,38396:26369,38397:26370,38398:26371,38464:26372,38465:26373,38466:26374,38467:26375,38468:26380,38469:26382,38470:26383,38471:26385,38472:26386,38473:26387,38474:26390,38475:26392,38476:26393,38477:26394,38478:26396,38479:26398,38480:26400,38481:26401,38482:26402,38483:26403,38484:26404,38485:26405,38486:26407,38487:26409,38488:26414,38489:26416,38490:26418,38491:26419,38492:26422,38493:26423,38494:26424,38495:26425,38496:26427,38497:26428,38498:26430,38499:26431,38500:26433,38501:26436,38502:26437,38503:26439,38504:26442,38505:26443,38506:26445,38507:26450,38508:26452,38509:26453,38510:26455,38511:26456,38512:26457,38513:26458,38514:26459,38515:26461,38516:26466,38517:26467,38518:26468,38519:26470,38520:26471,38521:26475,38522:26476,38523:26478,38524:26481,38525:26484,38526:26486,38528:26488,38529:26489,38530:26490,38531:26491,38532:26493,38533:26496,38534:26498,38535:26499,38536:26501,38537:26502,38538:26504,38539:26506,38540:26508,38541:26509,38542:26510,38543:26511,38544:26513,38545:26514,38546:26515,38547:26516,38548:26518,38549:26521,38550:26523,38551:26527,38552:26528,38553:26529,38554:26532,38555:26534,38556:26537,38557:26540,38558:26542,38559:26545,38560:26546,38561:26548,38562:26553,38563:26554,38564:26555,38565:26556,38566:26557,38567:26558,38568:26559,38569:26560,38570:26562,38571:26565,38572:26566,38573:26567,38574:26568,38575:26569,38576:26570,38577:26571,38578:26572,38579:26573,38580:26574,38581:26581,38582:26582,38583:26583,38584:26587,38585:26591,38586:26593,38587:26595,38588:26596,38589:26598,38590:26599,38591:26600,38592:26602,38593:26603,38594:26605,38595:26606,38596:26610,38597:26613,38598:26614,38599:26615,38600:26616,38601:26617,38602:26618,38603:26619,38604:26620,38605:26622,38606:26625,38607:26626,38608:26627,38609:26628,38610:26630,38611:26637,38612:26640,38613:26642,38614:26644,38615:26645,38616:26648,38617:26649,38618:26650,38619:26651,38620:26652,38621:26654,38622:26655,38623:26656,38624:26658,38625:26659,38626:26660,38627:26661,38628:26662,38629:26663,38630:26664,38631:26667,38632:26668,38633:26669,38634:26670,38635:26671,38636:26672,38637:26673,38638:26676,38639:26677,38640:26678,38641:26682,38642:26683,38643:26687,38644:26695,38645:26699,38646:26701,38647:26703,38648:26706,38649:26710,38650:26711,38651:26712,38652:26713,38653:26714,38654:26715,38720:26716,38721:26717,38722:26718,38723:26719,38724:26730,38725:26732,38726:26733,38727:26734,38728:26735,38729:26736,38730:26737,38731:26738,38732:26739,38733:26741,38734:26744,38735:26745,38736:26746,38737:26747,38738:26748,38739:26749,38740:26750,38741:26751,38742:26752,38743:26754,38744:26756,38745:26759,38746:26760,38747:26761,38748:26762,38749:26763,38750:26764,38751:26765,38752:26766,38753:26768,38754:26769,38755:26770,38756:26772,38757:26773,38758:26774,38759:26776,38760:26777,38761:26778,38762:26779,38763:26780,38764:26781,38765:26782,38766:26783,38767:26784,38768:26785,38769:26787,38770:26788,38771:26789,38772:26793,38773:26794,38774:26795,38775:26796,38776:26798,38777:26801,38778:26802,38779:26804,38780:26806,38781:26807,38782:26808,38784:26809,38785:26810,38786:26811,38787:26812,38788:26813,38789:26814,38790:26815,38791:26817,38792:26819,38793:26820,38794:26821,38795:26822,38796:26823,38797:26824,38798:26826,38799:26828,38800:26830,38801:26831,38802:26832,38803:26833,38804:26835,38805:26836,38806:26838,38807:26839,38808:26841,38809:26843,38810:26844,38811:26845,38812:26846,38813:26847,38814:26849,38815:26850,38816:26852,38817:26853,38818:26854,38819:26855,38820:26856,38821:26857,38822:26858,38823:26859,38824:26860,38825:26861,38826:26863,38827:26866,38828:26867,38829:26868,38830:26870,38831:26871,38832:26872,38833:26875,38834:26877,38835:26878,38836:26879,38837:26880,38838:26882,38839:26883,38840:26884,38841:26886,38842:26887,38843:26888,38844:26889,38845:26890,38846:26892,38847:26895,38848:26897,38849:26899,38850:26900,38851:26901,38852:26902,38853:26903,38854:26904,38855:26905,38856:26906,38857:26907,38858:26908,38859:26909,38860:26910,38861:26913,38862:26914,38863:26915,38864:26917,38865:26918,38866:26919,38867:26920,38868:26921,38869:26922,38870:26923,38871:26924,38872:26926,38873:26927,38874:26929,38875:26930,38876:26931,38877:26933,38878:26934,38879:26935,38880:26936,38881:26938,38882:26939,38883:26940,38884:26942,38885:26944,38886:26945,38887:26947,38888:26948,38889:26949,38890:26950,38891:26951,38892:26952,38893:26953,38894:26954,38895:26955,38896:26956,38897:26957,38898:26958,38899:26959,38900:26960,38901:26961,38902:26962,38903:26963,38904:26965,38905:26966,38906:26968,38907:26969,38908:26971,38909:26972,38910:26975,38976:26977,38977:26978,38978:26980,38979:26981,38980:26983,38981:26984,38982:26985,38983:26986,38984:26988,38985:26989,38986:26991,38987:26992,38988:26994,38989:26995,38990:26996,38991:26997,38992:26998,38993:27002,38994:27003,38995:27005,38996:27006,38997:27007,38998:27009,38999:27011,39000:27013,39001:27018,39002:27019,39003:27020,39004:27022,39005:27023,39006:27024,39007:27025,39008:27026,39009:27027,39010:27030,39011:27031,39012:27033,39013:27034,39014:27037,39015:27038,39016:27039,39017:27040,39018:27041,39019:27042,39020:27043,39021:27044,39022:27045,39023:27046,39024:27049,39025:27050,39026:27052,39027:27054,39028:27055,39029:27056,39030:27058,39031:27059,39032:27061,39033:27062,39034:27064,39035:27065,39036:27066,39037:27068,39038:27069,39040:27070,39041:27071,39042:27072,39043:27074,39044:27075,39045:27076,39046:27077,39047:27078,39048:27079,39049:27080,39050:27081,39051:27083,39052:27085,39053:27087,39054:27089,39055:27090,39056:27091,39057:27093,39058:27094,39059:27095,39060:27096,39061:27097,39062:27098,39063:27100,39064:27101,39065:27102,39066:27105,39067:27106,39068:27107,39069:27108,39070:27109,39071:27110,39072:27111,39073:27112,39074:27113,39075:27114,39076:27115,39077:27116,39078:27118,39079:27119,39080:27120,39081:27121,39082:27123,39083:27124,39084:27125,39085:27126,39086:27127,39087:27128,39088:27129,39089:27130,39090:27131,39091:27132,39092:27134,39093:27136,39094:27137,39095:27138,39096:27139,39097:27140,39098:27141,39099:27142,39100:27143,39101:27144,39102:27145,39103:27147,39104:27148,39105:27149,39106:27150,39107:27151,39108:27152,39109:27153,39110:27154,39111:27155,39112:27156,39113:27157,39114:27158,39115:27161,39116:27162,39117:27163,39118:27164,39119:27165,39120:27166,39121:27168,39122:27170,39123:27171,39124:27172,39125:27173,39126:27174,39127:27175,39128:27177,39129:27179,39130:27180,39131:27181,39132:27182,39133:27184,39134:27186,39135:27187,39136:27188,39137:27190,39138:27191,39139:27192,39140:27193,39141:27194,39142:27195,39143:27196,39144:27199,39145:27200,39146:27201,39147:27202,39148:27203,39149:27205,39150:27206,39151:27208,39152:27209,39153:27210,39154:27211,39155:27212,39156:27213,39157:27214,39158:27215,39159:27217,39160:27218,39161:27219,39162:27220,39163:27221,39164:27222,39165:27223,39166:27226,39232:27228,39233:27229,39234:27230,39235:27231,39236:27232,39237:27234,39238:27235,39239:27236,39240:27238,39241:27239,39242:27240,39243:27241,39244:27242,39245:27243,39246:27244,39247:27245,39248:27246,39249:27247,39250:27248,39251:27250,39252:27251,39253:27252,39254:27253,39255:27254,39256:27255,39257:27256,39258:27258,39259:27259,39260:27261,39261:27262,39262:27263,39263:27265,39264:27266,39265:27267,39266:27269,39267:27270,39268:27271,39269:27272,39270:27273,39271:27274,39272:27275,39273:27276,39274:27277,39275:27279,39276:27282,39277:27283,39278:27284,39279:27285,39280:27286,39281:27288,39282:27289,39283:27290,39284:27291,39285:27292,39286:27293,39287:27294,39288:27295,39289:27297,39290:27298,39291:27299,39292:27300,39293:27301,39294:27302,39296:27303,39297:27304,39298:27306,39299:27309,39300:27310,39301:27311,39302:27312,39303:27313,39304:27314,39305:27315,39306:27316,39307:27317,39308:27318,39309:27319,39310:27320,39311:27321,39312:27322,39313:27323,39314:27324,39315:27325,39316:27326,39317:27327,39318:27328,39319:27329,39320:27330,39321:27331,39322:27332,39323:27333,39324:27334,39325:27335,39326:27336,39327:27337,39328:27338,39329:27339,39330:27340,39331:27341,39332:27342,39333:27343,39334:27344,39335:27345,39336:27346,39337:27347,39338:27348,39339:27349,39340:27350,39341:27351,39342:27352,39343:27353,39344:27354,39345:27355,39346:27356,39347:27357,39348:27358,39349:27359,39350:27360,39351:27361,39352:27362,39353:27363,39354:27364,39355:27365,39356:27366,39357:27367,39358:27368,39359:27369,39360:27370,39361:27371,39362:27372,39363:27373,39364:27374,39365:27375,39366:27376,39367:27377,39368:27378,39369:27379,39370:27380,39371:27381,39372:27382,39373:27383,39374:27384,39375:27385,39376:27386,39377:27387,39378:27388,39379:27389,39380:27390,39381:27391,39382:27392,39383:27393,39384:27394,39385:27395,39386:27396,39387:27397,39388:27398,39389:27399,39390:27400,39391:27401,39392:27402,39393:27403,39394:27404,39395:27405,39396:27406,39397:27407,39398:27408,39399:27409,39400:27410,39401:27411,39402:27412,39403:27413,39404:27414,39405:27415,39406:27416,39407:27417,39408:27418,39409:27419,39410:27420,39411:27421,39412:27422,39413:27423,39414:27429,39415:27430,39416:27432,39417:27433,39418:27434,39419:27435,39420:27436,39421:27437,39422:27438,39488:27439,39489:27440,39490:27441,39491:27443,39492:27444,39493:27445,39494:27446,39495:27448,39496:27451,39497:27452,39498:27453,39499:27455,39500:27456,39501:27457,39502:27458,39503:27460,39504:27461,39505:27464,39506:27466,39507:27467,39508:27469,39509:27470,39510:27471,39511:27472,39512:27473,39513:27474,39514:27475,39515:27476,39516:27477,39517:27478,39518:27479,39519:27480,39520:27482,39521:27483,39522:27484,39523:27485,39524:27486,39525:27487,39526:27488,39527:27489,39528:27496,39529:27497,39530:27499,39531:27500,39532:27501,39533:27502,39534:27503,39535:27504,39536:27505,39537:27506,39538:27507,39539:27508,39540:27509,39541:27510,39542:27511,39543:27512,39544:27514,39545:27517,39546:27518,39547:27519,39548:27520,39549:27525,39550:27528,39552:27532,39553:27534,39554:27535,39555:27536,39556:27537,39557:27540,39558:27541,39559:27543,39560:27544,39561:27545,39562:27548,39563:27549,39564:27550,39565:27551,39566:27552,39567:27554,39568:27555,39569:27556,39570:27557,39571:27558,39572:27559,39573:27560,39574:27561,39575:27563,39576:27564,39577:27565,39578:27566,39579:27567,39580:27568,39581:27569,39582:27570,39583:27574,39584:27576,39585:27577,39586:27578,39587:27579,39588:27580,39589:27581,39590:27582,39591:27584,39592:27587,39593:27588,39594:27590,39595:27591,39596:27592,39597:27593,39598:27594,39599:27596,39600:27598,39601:27600,39602:27601,39603:27608,39604:27610,39605:27612,39606:27613,39607:27614,39608:27615,39609:27616,39610:27618,39611:27619,39612:27620,39613:27621,39614:27622,39615:27623,39616:27624,39617:27625,39618:27628,39619:27629,39620:27630,39621:27632,39622:27633,39623:27634,39624:27636,39625:27638,39626:27639,39627:27640,39628:27642,39629:27643,39630:27644,39631:27646,39632:27647,39633:27648,39634:27649,39635:27650,39636:27651,39637:27652,39638:27656,39639:27657,39640:27658,39641:27659,39642:27660,39643:27662,39644:27666,39645:27671,39646:27676,39647:27677,39648:27678,39649:27680,39650:27683,39651:27685,39652:27691,39653:27692,39654:27693,39655:27697,39656:27699,39657:27702,39658:27703,39659:27705,39660:27706,39661:27707,39662:27708,39663:27710,39664:27711,39665:27715,39666:27716,39667:27717,39668:27720,39669:27723,39670:27724,39671:27725,39672:27726,39673:27727,39674:27729,39675:27730,39676:27731,39677:27734,39678:27736,39744:27737,39745:27738,39746:27746,39747:27747,39748:27749,39749:27750,39750:27751,39751:27755,39752:27756,39753:27757,39754:27758,39755:27759,39756:27761,39757:27763,39758:27765,39759:27767,39760:27768,39761:27770,39762:27771,39763:27772,39764:27775,39765:27776,39766:27780,39767:27783,39768:27786,39769:27787,39770:27789,39771:27790,39772:27793,39773:27794,39774:27797,39775:27798,39776:27799,39777:27800,39778:27802,39779:27804,39780:27805,39781:27806,39782:27808,39783:27810,39784:27816,39785:27820,39786:27823,39787:27824,39788:27828,39789:27829,39790:27830,39791:27831,39792:27834,39793:27840,39794:27841,39795:27842,39796:27843,39797:27846,39798:27847,39799:27848,39800:27851,39801:27853,39802:27854,39803:27855,39804:27857,39805:27858,39806:27864,39808:27865,39809:27866,39810:27868,39811:27869,39812:27871,39813:27876,39814:27878,39815:27879,39816:27881,39817:27884,39818:27885,39819:27890,39820:27892,39821:27897,39822:27903,39823:27904,39824:27906,39825:27907,39826:27909,39827:27910,39828:27912,39829:27913,39830:27914,39831:27917,39832:27919,39833:27920,39834:27921,39835:27923,39836:27924,39837:27925,39838:27926,39839:27928,39840:27932,39841:27933,39842:27935,39843:27936,39844:27937,39845:27938,39846:27939,39847:27940,39848:27942,39849:27944,39850:27945,39851:27948,39852:27949,39853:27951,39854:27952,39855:27956,39856:27958,39857:27959,39858:27960,39859:27962,39860:27967,39861:27968,39862:27970,39863:27972,39864:27977,39865:27980,39866:27984,39867:27989,39868:27990,39869:27991,39870:27992,39871:27995,39872:27997,39873:27999,39874:28001,39875:28002,39876:28004,39877:28005,39878:28007,39879:28008,39880:28011,39881:28012,39882:28013,39883:28016,39884:28017,39885:28018,39886:28019,39887:28021,39888:28022,39889:28025,39890:28026,39891:28027,39892:28029,39893:28030,39894:28031,39895:28032,39896:28033,39897:28035,39898:28036,39899:28038,39900:28039,39901:28042,39902:28043,39903:28045,39904:28047,39905:28048,39906:28050,39907:28054,39908:28055,39909:28056,39910:28057,39911:28058,39912:28060,39913:28066,39914:28069,39915:28076,39916:28077,39917:28080,39918:28081,39919:28083,39920:28084,39921:28086,39922:28087,39923:28089,39924:28090,39925:28091,39926:28092,39927:28093,39928:28094,39929:28097,39930:28098,39931:28099,39932:28104,39933:28105,39934:28106,40000:28109,40001:28110,40002:28111,40003:28112,40004:28114,40005:28115,40006:28116,40007:28117,40008:28119,40009:28122,40010:28123,40011:28124,40012:28127,40013:28130,40014:28131,40015:28133,40016:28135,40017:28136,40018:28137,40019:28138,40020:28141,40021:28143,40022:28144,40023:28146,40024:28148,40025:28149,40026:28150,40027:28152,40028:28154,40029:28157,40030:28158,40031:28159,40032:28160,40033:28161,40034:28162,40035:28163,40036:28164,40037:28166,40038:28167,40039:28168,40040:28169,40041:28171,40042:28175,40043:28178,40044:28179,40045:28181,40046:28184,40047:28185,40048:28187,40049:28188,40050:28190,40051:28191,40052:28194,40053:28198,40054:28199,40055:28200,40056:28202,40057:28204,40058:28206,40059:28208,40060:28209,40061:28211,40062:28213,40064:28214,40065:28215,40066:28217,40067:28219,40068:28220,40069:28221,40070:28222,40071:28223,40072:28224,40073:28225,40074:28226,40075:28229,40076:28230,40077:28231,40078:28232,40079:28233,40080:28234,40081:28235,40082:28236,40083:28239,40084:28240,40085:28241,40086:28242,40087:28245,40088:28247,40089:28249,40090:28250,40091:28252,40092:28253,40093:28254,40094:28256,40095:28257,40096:28258,40097:28259,40098:28260,40099:28261,40100:28262,40101:28263,40102:28264,40103:28265,40104:28266,40105:28268,40106:28269,40107:28271,40108:28272,40109:28273,40110:28274,40111:28275,40112:28276,40113:28277,40114:28278,40115:28279,40116:28280,40117:28281,40118:28282,40119:28283,40120:28284,40121:28285,40122:28288,40123:28289,40124:28290,40125:28292,40126:28295,40127:28296,40128:28298,40129:28299,40130:28300,40131:28301,40132:28302,40133:28305,40134:28306,40135:28307,40136:28308,40137:28309,40138:28310,40139:28311,40140:28313,40141:28314,40142:28315,40143:28317,40144:28318,40145:28320,40146:28321,40147:28323,40148:28324,40149:28326,40150:28328,40151:28329,40152:28331,40153:28332,40154:28333,40155:28334,40156:28336,40157:28339,40158:28341,40159:28344,40160:28345,40161:28348,40162:28350,40163:28351,40164:28352,40165:28355,40166:28356,40167:28357,40168:28358,40169:28360,40170:28361,40171:28362,40172:28364,40173:28365,40174:28366,40175:28368,40176:28370,40177:28374,40178:28376,40179:28377,40180:28379,40181:28380,40182:28381,40183:28387,40184:28391,40185:28394,40186:28395,40187:28396,40188:28397,40189:28398,40190:28399,40256:28400,40257:28401,40258:28402,40259:28403,40260:28405,40261:28406,40262:28407,40263:28408,40264:28410,40265:28411,40266:28412,40267:28413,40268:28414,40269:28415,40270:28416,40271:28417,40272:28419,40273:28420,40274:28421,40275:28423,40276:28424,40277:28426,40278:28427,40279:28428,40280:28429,40281:28430,40282:28432,40283:28433,40284:28434,40285:28438,40286:28439,40287:28440,40288:28441,40289:28442,40290:28443,40291:28444,40292:28445,40293:28446,40294:28447,40295:28449,40296:28450,40297:28451,40298:28453,40299:28454,40300:28455,40301:28456,40302:28460,40303:28462,40304:28464,40305:28466,40306:28468,40307:28469,40308:28471,40309:28472,40310:28473,40311:28474,40312:28475,40313:28476,40314:28477,40315:28479,40316:28480,40317:28481,40318:28482,40320:28483,40321:28484,40322:28485,40323:28488,40324:28489,40325:28490,40326:28492,40327:28494,40328:28495,40329:28496,40330:28497,40331:28498,40332:28499,40333:28500,40334:28501,40335:28502,40336:28503,40337:28505,40338:28506,40339:28507,40340:28509,40341:28511,40342:28512,40343:28513,40344:28515,40345:28516,40346:28517,40347:28519,40348:28520,40349:28521,40350:28522,40351:28523,40352:28524,40353:28527,40354:28528,40355:28529,40356:28531,40357:28533,40358:28534,40359:28535,40360:28537,40361:28539,40362:28541,40363:28542,40364:28543,40365:28544,40366:28545,40367:28546,40368:28547,40369:28549,40370:28550,40371:28551,40372:28554,40373:28555,40374:28559,40375:28560,40376:28561,40377:28562,40378:28563,40379:28564,40380:28565,40381:28566,40382:28567,40383:28568,40384:28569,40385:28570,40386:28571,40387:28573,40388:28574,40389:28575,40390:28576,40391:28578,40392:28579,40393:28580,40394:28581,40395:28582,40396:28584,40397:28585,40398:28586,40399:28587,40400:28588,40401:28589,40402:28590,40403:28591,40404:28592,40405:28593,40406:28594,40407:28596,40408:28597,40409:28599,40410:28600,40411:28602,40412:28603,40413:28604,40414:28605,40415:28606,40416:28607,40417:28609,40418:28611,40419:28612,40420:28613,40421:28614,40422:28615,40423:28616,40424:28618,40425:28619,40426:28620,40427:28621,40428:28622,40429:28623,40430:28624,40431:28627,40432:28628,40433:28629,40434:28630,40435:28631,40436:28632,40437:28633,40438:28634,40439:28635,40440:28636,40441:28637,40442:28639,40443:28642,40444:28643,40445:28644,40446:28645,40512:28646,40513:28647,40514:28648,40515:28649,40516:28650,40517:28651,40518:28652,40519:28653,40520:28656,40521:28657,40522:28658,40523:28659,40524:28660,40525:28661,40526:28662,40527:28663,40528:28664,40529:28665,40530:28666,40531:28667,40532:28668,40533:28669,40534:28670,40535:28671,40536:28672,40537:28673,40538:28674,40539:28675,40540:28676,40541:28677,40542:28678,40543:28679,40544:28680,40545:28681,40546:28682,40547:28683,40548:28684,40549:28685,40550:28686,40551:28687,40552:28688,40553:28690,40554:28691,40555:28692,40556:28693,40557:28694,40558:28695,40559:28696,40560:28697,40561:28700,40562:28701,40563:28702,40564:28703,40565:28704,40566:28705,40567:28706,40568:28708,40569:28709,40570:28710,40571:28711,40572:28712,40573:28713,40574:28714,40576:28715,40577:28716,40578:28717,40579:28718,40580:28719,40581:28720,40582:28721,40583:28722,40584:28723,40585:28724,40586:28726,40587:28727,40588:28728,40589:28730,40590:28731,40591:28732,40592:28733,40593:28734,40594:28735,40595:28736,40596:28737,40597:28738,40598:28739,40599:28740,40600:28741,40601:28742,40602:28743,40603:28744,40604:28745,40605:28746,40606:28747,40607:28749,40608:28750,40609:28752,40610:28753,40611:28754,40612:28755,40613:28756,40614:28757,40615:28758,40616:28759,40617:28760,40618:28761,40619:28762,40620:28763,40621:28764,40622:28765,40623:28767,40624:28768,40625:28769,40626:28770,40627:28771,40628:28772,40629:28773,40630:28774,40631:28775,40632:28776,40633:28777,40634:28778,40635:28782,40636:28785,40637:28786,40638:28787,40639:28788,40640:28791,40641:28793,40642:28794,40643:28795,40644:28797,40645:28801,40646:28802,40647:28803,40648:28804,40649:28806,40650:28807,40651:28808,40652:28811,40653:28812,40654:28813,40655:28815,40656:28816,40657:28817,40658:28819,40659:28823,40660:28824,40661:28826,40662:28827,40663:28830,40664:28831,40665:28832,40666:28833,40667:28834,40668:28835,40669:28836,40670:28837,40671:28838,40672:28839,40673:28840,40674:28841,40675:28842,40676:28848,40677:28850,40678:28852,40679:28853,40680:28854,40681:28858,40682:28862,40683:28863,40684:28868,40685:28869,40686:28870,40687:28871,40688:28873,40689:28875,40690:28876,40691:28877,40692:28878,40693:28879,40694:28880,40695:28881,40696:28882,40697:28883,40698:28884,40699:28885,40700:28886,40701:28887,40702:28890,40768:28892,40769:28893,40770:28894,40771:28896,40772:28897,40773:28898,40774:28899,40775:28901,40776:28906,40777:28910,40778:28912,40779:28913,40780:28914,40781:28915,40782:28916,40783:28917,40784:28918,40785:28920,40786:28922,40787:28923,40788:28924,40789:28926,40790:28927,40791:28928,40792:28929,40793:28930,40794:28931,40795:28932,40796:28933,40797:28934,40798:28935,40799:28936,40800:28939,40801:28940,40802:28941,40803:28942,40804:28943,40805:28945,40806:28946,40807:28948,40808:28951,40809:28955,40810:28956,40811:28957,40812:28958,40813:28959,40814:28960,40815:28961,40816:28962,40817:28963,40818:28964,40819:28965,40820:28967,40821:28968,40822:28969,40823:28970,40824:28971,40825:28972,40826:28973,40827:28974,40828:28978,40829:28979,40830:28980,40832:28981,40833:28983,40834:28984,40835:28985,40836:28986,40837:28987,40838:28988,40839:28989,40840:28990,40841:28991,40842:28992,40843:28993,40844:28994,40845:28995,40846:28996,40847:28998,40848:28999,40849:29000,40850:29001,40851:29003,40852:29005,40853:29007,40854:29008,40855:29009,40856:29010,40857:29011,40858:29012,40859:29013,40860:29014,40861:29015,40862:29016,40863:29017,40864:29018,40865:29019,40866:29021,40867:29023,40868:29024,40869:29025,40870:29026,40871:29027,40872:29029,40873:29033,40874:29034,40875:29035,40876:29036,40877:29037,40878:29039,40879:29040,40880:29041,40881:29044,40882:29045,40883:29046,40884:29047,40885:29049,40886:29051,40887:29052,40888:29054,40889:29055,40890:29056,40891:29057,40892:29058,40893:29059,40894:29061,40895:29062,40896:29063,40897:29064,40898:29065,40899:29067,40900:29068,40901:29069,40902:29070,40903:29072,40904:29073,40905:29074,40906:29075,40907:29077,40908:29078,40909:29079,40910:29082,40911:29083,40912:29084,40913:29085,40914:29086,40915:29089,40916:29090,40917:29091,40918:29092,40919:29093,40920:29094,40921:29095,40922:29097,40923:29098,40924:29099,40925:29101,40926:29102,40927:29103,40928:29104,40929:29105,40930:29106,40931:29108,40932:29110,40933:29111,40934:29112,40935:29114,40936:29115,40937:29116,40938:29117,40939:29118,40940:29119,40941:29120,40942:29121,40943:29122,40944:29124,40945:29125,40946:29126,40947:29127,40948:29128,40949:29129,40950:29130,40951:29131,40952:29132,40953:29133,40954:29135,40955:29136,40956:29137,40957:29138,40958:29139,41024:29142,41025:29143,41026:29144,41027:29145,41028:29146,41029:29147,41030:29148,41031:29149,41032:29150,41033:29151,41034:29153,41035:29154,41036:29155,41037:29156,41038:29158,41039:29160,41040:29161,41041:29162,41042:29163,41043:29164,41044:29165,41045:29167,41046:29168,41047:29169,41048:29170,41049:29171,41050:29172,41051:29173,41052:29174,41053:29175,41054:29176,41055:29178,41056:29179,41057:29180,41058:29181,41059:29182,41060:29183,41061:29184,41062:29185,41063:29186,41064:29187,41065:29188,41066:29189,41067:29191,41068:29192,41069:29193,41070:29194,41071:29195,41072:29196,41073:29197,41074:29198,41075:29199,41076:29200,41077:29201,41078:29202,41079:29203,41080:29204,41081:29205,41082:29206,41083:29207,41084:29208,41085:29209,41086:29210,41088:29211,41089:29212,41090:29214,41091:29215,41092:29216,41093:29217,41094:29218,41095:29219,41096:29220,41097:29221,41098:29222,41099:29223,41100:29225,41101:29227,41102:29229,41103:29230,41104:29231,41105:29234,41106:29235,41107:29236,41108:29242,41109:29244,41110:29246,41111:29248,41112:29249,41113:29250,41114:29251,41115:29252,41116:29253,41117:29254,41118:29257,41119:29258,41120:29259,41121:29262,41122:29263,41123:29264,41124:29265,41125:29267,41126:29268,41127:29269,41128:29271,41129:29272,41130:29274,41131:29276,41132:29278,41133:29280,41134:29283,41135:29284,41136:29285,41137:29288,41138:29290,41139:29291,41140:29292,41141:29293,41142:29296,41143:29297,41144:29299,41145:29300,41146:29302,41147:29303,41148:29304,41149:29307,41150:29308,41151:29309,41152:29314,41153:29315,41154:29317,41155:29318,41156:29319,41157:29320,41158:29321,41159:29324,41160:29326,41161:29328,41162:29329,41163:29331,41164:29332,41165:29333,41166:29334,41167:29335,41168:29336,41169:29337,41170:29338,41171:29339,41172:29340,41173:29341,41174:29342,41175:29344,41176:29345,41177:29346,41178:29347,41179:29348,41180:29349,41181:29350,41182:29351,41183:29352,41184:29353,41185:29354,41186:29355,41187:29358,41188:29361,41189:29362,41190:29363,41191:29365,41192:29370,41193:29371,41194:29372,41195:29373,41196:29374,41197:29375,41198:29376,41199:29381,41200:29382,41201:29383,41202:29385,41203:29386,41204:29387,41205:29388,41206:29391,41207:29393,41208:29395,41209:29396,41210:29397,41211:29398,41212:29400,41213:29402,41214:29403,41280:58566,41281:58567,41282:58568,41283:58569,41284:58570,41285:58571,41286:58572,41287:58573,41288:58574,41289:58575,41290:58576,41291:58577,41292:58578,41293:58579,41294:58580,41295:58581,41296:58582,41297:58583,41298:58584,41299:58585,41300:58586,41301:58587,41302:58588,41303:58589,41304:58590,41305:58591,41306:58592,41307:58593,41308:58594,41309:58595,41310:58596,41311:58597,41312:58598,41313:58599,41314:58600,41315:58601,41316:58602,41317:58603,41318:58604,41319:58605,41320:58606,41321:58607,41322:58608,41323:58609,41324:58610,41325:58611,41326:58612,41327:58613,41328:58614,41329:58615,41330:58616,41331:58617,41332:58618,41333:58619,41334:58620,41335:58621,41336:58622,41337:58623,41338:58624,41339:58625,41340:58626,41341:58627,41342:58628,41344:58629,41345:58630,41346:58631,41347:58632,41348:58633,41349:58634,41350:58635,41351:58636,41352:58637,41353:58638,41354:58639,41355:58640,41356:58641,41357:58642,41358:58643,41359:58644,41360:58645,41361:58646,41362:58647,41363:58648,41364:58649,41365:58650,41366:58651,41367:58652,41368:58653,41369:58654,41370:58655,41371:58656,41372:58657,41373:58658,41374:58659,41375:58660,41376:58661,41377:12288,41378:12289,41379:12290,41380:183,41381:713,41382:711,41383:168,41384:12291,41385:12293,41386:8212,41387:65374,41388:8214,41389:8230,41390:8216,41391:8217,41392:8220,41393:8221,41394:12308,41395:12309,41396:12296,41397:12297,41398:12298,41399:12299,41400:12300,41401:12301,41402:12302,41403:12303,41404:12310,41405:12311,41406:12304,41407:12305,41408:177,41409:215,41410:247,41411:8758,41412:8743,41413:8744,41414:8721,41415:8719,41416:8746,41417:8745,41418:8712,41419:8759,41420:8730,41421:8869,41422:8741,41423:8736,41424:8978,41425:8857,41426:8747,41427:8750,41428:8801,41429:8780,41430:8776,41431:8765,41432:8733,41433:8800,41434:8814,41435:8815,41436:8804,41437:8805,41438:8734,41439:8757,41440:8756,41441:9794,41442:9792,41443:176,41444:8242,41445:8243,41446:8451,41447:65284,41448:164,41449:65504,41450:65505,41451:8240,41452:167,41453:8470,41454:9734,41455:9733,41456:9675,41457:9679,41458:9678,41459:9671,41460:9670,41461:9633,41462:9632,41463:9651,41464:9650,41465:8251,41466:8594,41467:8592,41468:8593,41469:8595,41470:12307,41536:58662,41537:58663,41538:58664,41539:58665,41540:58666,41541:58667,41542:58668,41543:58669,41544:58670,41545:58671,41546:58672,41547:58673,41548:58674,41549:58675,41550:58676,41551:58677,41552:58678,41553:58679,41554:58680,41555:58681,41556:58682,41557:58683,41558:58684,41559:58685,41560:58686,41561:58687,41562:58688,41563:58689,41564:58690,41565:58691,41566:58692,41567:58693,41568:58694,41569:58695,41570:58696,41571:58697,41572:58698,41573:58699,41574:58700,41575:58701,41576:58702,41577:58703,41578:58704,41579:58705,41580:58706,41581:58707,41582:58708,41583:58709,41584:58710,41585:58711,41586:58712,41587:58713,41588:58714,41589:58715,41590:58716,41591:58717,41592:58718,41593:58719,41594:58720,41595:58721,41596:58722,41597:58723,41598:58724,41600:58725,41601:58726,41602:58727,41603:58728,41604:58729,41605:58730,41606:58731,41607:58732,41608:58733,41609:58734,41610:58735,41611:58736,41612:58737,41613:58738,41614:58739,41615:58740,41616:58741,41617:58742,41618:58743,41619:58744,41620:58745,41621:58746,41622:58747,41623:58748,41624:58749,41625:58750,41626:58751,41627:58752,41628:58753,41629:58754,41630:58755,41631:58756,41632:58757,41633:8560,41634:8561,41635:8562,41636:8563,41637:8564,41638:8565,41639:8566,41640:8567,41641:8568,41642:8569,41643:59238,41644:59239,41645:59240,41646:59241,41647:59242,41648:59243,41649:9352,41650:9353,41651:9354,41652:9355,41653:9356,41654:9357,41655:9358,41656:9359,41657:9360,41658:9361,41659:9362,41660:9363,41661:9364,41662:9365,41663:9366,41664:9367,41665:9368,41666:9369,41667:9370,41668:9371,41669:9332,41670:9333,41671:9334,41672:9335,41673:9336,41674:9337,41675:9338,41676:9339,41677:9340,41678:9341,41679:9342,41680:9343,41681:9344,41682:9345,41683:9346,41684:9347,41685:9348,41686:9349,41687:9350,41688:9351,41689:9312,41690:9313,41691:9314,41692:9315,41693:9316,41694:9317,41695:9318,41696:9319,41697:9320,41698:9321,41699:8364,41700:59245,41701:12832,41702:12833,41703:12834,41704:12835,41705:12836,41706:12837,41707:12838,41708:12839,41709:12840,41710:12841,41711:59246,41712:59247,41713:8544,41714:8545,41715:8546,41716:8547,41717:8548,41718:8549,41719:8550,41720:8551,41721:8552,41722:8553,41723:8554,41724:8555,41725:59248,41726:59249,41792:58758,41793:58759,41794:58760,41795:58761,41796:58762,41797:58763,41798:58764,41799:58765,41800:58766,41801:58767,41802:58768,41803:58769,41804:58770,41805:58771,41806:58772,41807:58773,41808:58774,41809:58775,41810:58776,41811:58777,41812:58778,41813:58779,41814:58780,41815:58781,41816:58782,41817:58783,41818:58784,41819:58785,41820:58786,41821:58787,41822:58788,41823:58789,41824:58790,41825:58791,41826:58792,41827:58793,41828:58794,41829:58795,41830:58796,41831:58797,41832:58798,41833:58799,41834:58800,41835:58801,41836:58802,41837:58803,41838:58804,41839:58805,41840:58806,41841:58807,41842:58808,41843:58809,41844:58810,41845:58811,41846:58812,41847:58813,41848:58814,41849:58815,41850:58816,41851:58817,41852:58818,41853:58819,41854:58820,41856:58821,41857:58822,41858:58823,41859:58824,41860:58825,41861:58826,41862:58827,41863:58828,41864:58829,41865:58830,41866:58831,41867:58832,41868:58833,41869:58834,41870:58835,41871:58836,41872:58837,41873:58838,41874:58839,41875:58840,41876:58841,41877:58842,41878:58843,41879:58844,41880:58845,41881:58846,41882:58847,41883:58848,41884:58849,41885:58850,41886:58851,41887:58852,41888:58853,41889:65281,41890:65282,41891:65283,41892:65509,41893:65285,41894:65286,41895:65287,41896:65288,41897:65289,41898:65290,41899:65291,41900:65292,41901:65293,41902:65294,41903:65295,41904:65296,41905:65297,41906:65298,41907:65299,41908:65300,41909:65301,41910:65302,41911:65303,41912:65304,41913:65305,41914:65306,41915:65307,41916:65308,41917:65309,41918:65310,41919:65311,41920:65312,41921:65313,41922:65314,41923:65315,41924:65316,41925:65317,41926:65318,41927:65319,41928:65320,41929:65321,41930:65322,41931:65323,41932:65324,41933:65325,41934:65326,41935:65327,41936:65328,41937:65329,41938:65330,41939:65331,41940:65332,41941:65333,41942:65334,41943:65335,41944:65336,41945:65337,41946:65338,41947:65339,41948:65340,41949:65341,41950:65342,41951:65343,41952:65344,41953:65345,41954:65346,41955:65347,41956:65348,41957:65349,41958:65350,41959:65351,41960:65352,41961:65353,41962:65354,41963:65355,41964:65356,41965:65357,41966:65358,41967:65359,41968:65360,41969:65361,41970:65362,41971:65363,41972:65364,41973:65365,41974:65366,41975:65367,41976:65368,41977:65369,41978:65370,41979:65371,41980:65372,41981:65373,41982:65507,42048:58854,42049:58855,42050:58856,42051:58857,42052:58858,42053:58859,42054:58860,42055:58861,42056:58862,42057:58863,42058:58864,42059:58865,42060:58866,42061:58867,42062:58868,42063:58869,42064:58870,42065:58871,42066:58872,42067:58873,42068:58874,42069:58875,42070:58876,42071:58877,42072:58878,42073:58879,42074:58880,42075:58881,42076:58882,42077:58883,42078:58884,42079:58885,42080:58886,42081:58887,42082:58888,42083:58889,42084:58890,42085:58891,42086:58892,42087:58893,42088:58894,42089:58895,42090:58896,42091:58897,42092:58898,42093:58899,42094:58900,42095:58901,42096:58902,42097:58903,42098:58904,42099:58905,42100:58906,42101:58907,42102:58908,42103:58909,42104:58910,42105:58911,42106:58912,42107:58913,42108:58914,42109:58915,42110:58916,42112:58917,42113:58918,42114:58919,42115:58920,42116:58921,42117:58922,42118:58923,42119:58924,42120:58925,42121:58926,42122:58927,42123:58928,42124:58929,42125:58930,42126:58931,42127:58932,42128:58933,42129:58934,42130:58935,42131:58936,42132:58937,42133:58938,42134:58939,42135:58940,42136:58941,42137:58942,42138:58943,42139:58944,42140:58945,42141:58946,42142:58947,42143:58948,42144:58949,42145:12353,42146:12354,42147:12355,42148:12356,42149:12357,42150:12358,42151:12359,42152:12360,42153:12361,42154:12362,42155:12363,42156:12364,42157:12365,42158:12366,42159:12367,42160:12368,42161:12369,42162:12370,42163:12371,42164:12372,42165:12373,42166:12374,42167:12375,42168:12376,42169:12377,42170:12378,42171:12379,42172:12380,42173:12381,42174:12382,42175:12383,42176:12384,42177:12385,42178:12386,42179:12387,42180:12388,42181:12389,42182:12390,42183:12391,42184:12392,42185:12393,42186:12394,42187:12395,42188:12396,42189:12397,42190:12398,42191:12399,42192:12400,42193:12401,42194:12402,42195:12403,42196:12404,42197:12405,42198:12406,42199:12407,42200:12408,42201:12409,42202:12410,42203:12411,42204:12412,42205:12413,42206:12414,42207:12415,42208:12416,42209:12417,42210:12418,42211:12419,42212:12420,42213:12421,42214:12422,42215:12423,42216:12424,42217:12425,42218:12426,42219:12427,42220:12428,42221:12429,42222:12430,42223:12431,42224:12432,42225:12433,42226:12434,42227:12435,42228:59250,42229:59251,42230:59252,42231:59253,42232:59254,42233:59255,42234:59256,42235:59257,42236:59258,42237:59259,42238:59260,42304:58950,42305:58951,42306:58952,42307:58953,42308:58954,42309:58955,42310:58956,42311:58957,42312:58958,42313:58959,42314:58960,42315:58961,42316:58962,42317:58963,42318:58964,42319:58965,42320:58966,42321:58967,42322:58968,42323:58969,42324:58970,42325:58971,42326:58972,42327:58973,42328:58974,42329:58975,42330:58976,42331:58977,42332:58978,42333:58979,42334:58980,42335:58981,42336:58982,42337:58983,42338:58984,42339:58985,42340:58986,42341:58987,42342:58988,42343:58989,42344:58990,42345:58991,42346:58992,42347:58993,42348:58994,42349:58995,42350:58996,42351:58997,42352:58998,42353:58999,42354:59000,42355:59001,42356:59002,42357:59003,42358:59004,42359:59005,42360:59006,42361:59007,42362:59008,42363:59009,42364:59010,42365:59011,42366:59012,42368:59013,42369:59014,42370:59015,42371:59016,42372:59017,42373:59018,42374:59019,42375:59020,42376:59021,42377:59022,42378:59023,42379:59024,42380:59025,42381:59026,42382:59027,42383:59028,42384:59029,42385:59030,42386:59031,42387:59032,42388:59033,42389:59034,42390:59035,42391:59036,42392:59037,42393:59038,42394:59039,42395:59040,42396:59041,42397:59042,42398:59043,42399:59044,42400:59045,42401:12449,42402:12450,42403:12451,42404:12452,42405:12453,42406:12454,42407:12455,42408:12456,42409:12457,42410:12458,42411:12459,42412:12460,42413:12461,42414:12462,42415:12463,42416:12464,42417:12465,42418:12466,42419:12467,42420:12468,42421:12469,42422:12470,42423:12471,42424:12472,42425:12473,42426:12474,42427:12475,42428:12476,42429:12477,42430:12478,42431:12479,42432:12480,42433:12481,42434:12482,42435:12483,42436:12484,42437:12485,42438:12486,42439:12487,42440:12488,42441:12489,42442:12490,42443:12491,42444:12492,42445:12493,42446:12494,42447:12495,42448:12496,42449:12497,42450:12498,42451:12499,42452:12500,42453:12501,42454:12502,42455:12503,42456:12504,42457:12505,42458:12506,42459:12507,42460:12508,42461:12509,42462:12510,42463:12511,42464:12512,42465:12513,42466:12514,42467:12515,42468:12516,42469:12517,42470:12518,42471:12519,42472:12520,42473:12521,42474:12522,42475:12523,42476:12524,42477:12525,42478:12526,42479:12527,42480:12528,42481:12529,42482:12530,42483:12531,42484:12532,42485:12533,42486:12534,42487:59261,42488:59262,42489:59263,42490:59264,42491:59265,42492:59266,42493:59267,42494:59268,42560:59046,42561:59047,42562:59048,42563:59049,42564:59050,42565:59051,42566:59052,42567:59053,42568:59054,42569:59055,42570:59056,42571:59057,42572:59058,42573:59059,42574:59060,42575:59061,42576:59062,42577:59063,42578:59064,42579:59065,42580:59066,42581:59067,42582:59068,42583:59069,42584:59070,42585:59071,42586:59072,42587:59073,42588:59074,42589:59075,42590:59076,42591:59077,42592:59078,42593:59079,42594:59080,42595:59081,42596:59082,42597:59083,42598:59084,42599:59085,42600:59086,42601:59087,42602:59088,42603:59089,42604:59090,42605:59091,42606:59092,42607:59093,42608:59094,42609:59095,42610:59096,42611:59097,42612:59098,42613:59099,42614:59100,42615:59101,42616:59102,42617:59103,42618:59104,42619:59105,42620:59106,42621:59107,42622:59108,42624:59109,42625:59110,42626:59111,42627:59112,42628:59113,42629:59114,42630:59115,42631:59116,42632:59117,42633:59118,42634:59119,42635:59120,42636:59121,42637:59122,42638:59123,42639:59124,42640:59125,42641:59126,42642:59127,42643:59128,42644:59129,42645:59130,42646:59131,42647:59132,42648:59133,42649:59134,42650:59135,42651:59136,42652:59137,42653:59138,42654:59139,42655:59140,42656:59141,42657:913,42658:914,42659:915,42660:916,42661:917,42662:918,42663:919,42664:920,42665:921,42666:922,42667:923,42668:924,42669:925,42670:926,42671:927,42672:928,42673:929,42674:931,42675:932,42676:933,42677:934,42678:935,42679:936,42680:937,42681:59269,42682:59270,42683:59271,42684:59272,42685:59273,42686:59274,42687:59275,42688:59276,42689:945,42690:946,42691:947,42692:948,42693:949,42694:950,42695:951,42696:952,42697:953,42698:954,42699:955,42700:956,42701:957,42702:958,42703:959,42704:960,42705:961,42706:963,42707:964,42708:965,42709:966,42710:967,42711:968,42712:969,42713:59277,42714:59278,42715:59279,42716:59280,42717:59281,42718:59282,42719:59283,42720:65077,42721:65078,42722:65081,42723:65082,42724:65087,42725:65088,42726:65085,42727:65086,42728:65089,42729:65090,42730:65091,42731:65092,42732:59284,42733:59285,42734:65083,42735:65084,42736:65079,42737:65080,42738:65073,42739:59286,42740:65075,42741:65076,42742:59287,42743:59288,42744:59289,42745:59290,42746:59291,42747:59292,42748:59293,42749:59294,42750:59295,42816:59142,42817:59143,42818:59144,42819:59145,42820:59146,42821:59147,42822:59148,42823:59149,42824:59150,42825:59151,42826:59152,42827:59153,42828:59154,42829:59155,42830:59156,42831:59157,42832:59158,42833:59159,42834:59160,42835:59161,42836:59162,42837:59163,42838:59164,42839:59165,42840:59166,42841:59167,42842:59168,42843:59169,42844:59170,42845:59171,42846:59172,42847:59173,42848:59174,42849:59175,42850:59176,42851:59177,42852:59178,42853:59179,42854:59180,42855:59181,42856:59182,42857:59183,42858:59184,42859:59185,42860:59186,42861:59187,42862:59188,42863:59189,42864:59190,42865:59191,42866:59192,42867:59193,42868:59194,42869:59195,42870:59196,42871:59197,42872:59198,42873:59199,42874:59200,42875:59201,42876:59202,42877:59203,42878:59204,42880:59205,42881:59206,42882:59207,42883:59208,42884:59209,42885:59210,42886:59211,42887:59212,42888:59213,42889:59214,42890:59215,42891:59216,42892:59217,42893:59218,42894:59219,42895:59220,42896:59221,42897:59222,42898:59223,42899:59224,42900:59225,42901:59226,42902:59227,42903:59228,42904:59229,42905:59230,42906:59231,42907:59232,42908:59233,42909:59234,42910:59235,42911:59236,42912:59237,42913:1040,42914:1041,42915:1042,42916:1043,42917:1044,42918:1045,42919:1025,42920:1046,42921:1047,42922:1048,42923:1049,42924:1050,42925:1051,42926:1052,42927:1053,42928:1054,42929:1055,42930:1056,42931:1057,42932:1058,42933:1059,42934:1060,42935:1061,42936:1062,42937:1063,42938:1064,42939:1065,42940:1066,42941:1067,42942:1068,42943:1069,42944:1070,42945:1071,42946:59296,42947:59297,42948:59298,42949:59299,42950:59300,42951:59301,42952:59302,42953:59303,42954:59304,42955:59305,42956:59306,42957:59307,42958:59308,42959:59309,42960:59310,42961:1072,42962:1073,42963:1074,42964:1075,42965:1076,42966:1077,42967:1105,42968:1078,42969:1079,42970:1080,42971:1081,42972:1082,42973:1083,42974:1084,42975:1085,42976:1086,42977:1087,42978:1088,42979:1089,42980:1090,42981:1091,42982:1092,42983:1093,42984:1094,42985:1095,42986:1096,42987:1097,42988:1098,42989:1099,42990:1100,42991:1101,42992:1102,42993:1103,42994:59311,42995:59312,42996:59313,42997:59314,42998:59315,42999:59316,43000:59317,43001:59318,43002:59319,43003:59320,43004:59321,43005:59322,43006:59323,43072:714,43073:715,43074:729,43075:8211,43076:8213,43077:8229,43078:8245,43079:8453,43080:8457,43081:8598,43082:8599,43083:8600,43084:8601,43085:8725,43086:8735,43087:8739,43088:8786,43089:8806,43090:8807,43091:8895,43092:9552,43093:9553,43094:9554,43095:9555,43096:9556,43097:9557,43098:9558,43099:9559,43100:9560,43101:9561,43102:9562,43103:9563,43104:9564,43105:9565,43106:9566,43107:9567,43108:9568,43109:9569,43110:9570,43111:9571,43112:9572,43113:9573,43114:9574,43115:9575,43116:9576,43117:9577,43118:9578,43119:9579,43120:9580,43121:9581,43122:9582,43123:9583,43124:9584,43125:9585,43126:9586,43127:9587,43128:9601,43129:9602,43130:9603,43131:9604,43132:9605,43133:9606,43134:9607,43136:9608,43137:9609,43138:9610,43139:9611,43140:9612,43141:9613,43142:9614,43143:9615,43144:9619,43145:9620,43146:9621,43147:9660,43148:9661,43149:9698,43150:9699,43151:9700,43152:9701,43153:9737,43154:8853,43155:12306,43156:12317,43157:12318,43158:59324,43159:59325,43160:59326,43161:59327,43162:59328,43163:59329,43164:59330,43165:59331,43166:59332,43167:59333,43168:59334,43169:257,43170:225,43171:462,43172:224,43173:275,43174:233,43175:283,43176:232,43177:299,43178:237,43179:464,43180:236,43181:333,43182:243,43183:466,43184:242,43185:363,43186:250,43187:468,43188:249,43189:470,43190:472,43191:474,43192:476,43193:252,43194:234,43195:593,43196:59335,43197:324,43198:328,43199:505,43200:609,43201:59337,43202:59338,43203:59339,43204:59340,43205:12549,43206:12550,43207:12551,43208:12552,43209:12553,43210:12554,43211:12555,43212:12556,43213:12557,43214:12558,43215:12559,43216:12560,43217:12561,43218:12562,43219:12563,43220:12564,43221:12565,43222:12566,43223:12567,43224:12568,43225:12569,43226:12570,43227:12571,43228:12572,43229:12573,43230:12574,43231:12575,43232:12576,43233:12577,43234:12578,43235:12579,43236:12580,43237:12581,43238:12582,43239:12583,43240:12584,43241:12585,43242:59341,43243:59342,43244:59343,43245:59344,43246:59345,43247:59346,43248:59347,43249:59348,43250:59349,43251:59350,43252:59351,43253:59352,43254:59353,43255:59354,43256:59355,43257:59356,43258:59357,43259:59358,43260:59359,43261:59360,43262:59361,43328:12321,43329:12322,43330:12323,43331:12324,43332:12325,43333:12326,43334:12327,43335:12328,43336:12329,43337:12963,43338:13198,43339:13199,43340:13212,43341:13213,43342:13214,43343:13217,43344:13252,43345:13262,43346:13265,43347:13266,43348:13269,43349:65072,43350:65506,43351:65508,43352:59362,43353:8481,43354:12849,43355:59363,43356:8208,43357:59364,43358:59365,43359:59366,43360:12540,43361:12443,43362:12444,43363:12541,43364:12542,43365:12294,43366:12445,43367:12446,43368:65097,43369:65098,43370:65099,43371:65100,43372:65101,43373:65102,43374:65103,43375:65104,43376:65105,43377:65106,43378:65108,43379:65109,43380:65110,43381:65111,43382:65113,43383:65114,43384:65115,43385:65116,43386:65117,43387:65118,43388:65119,43389:65120,43390:65121,43392:65122,43393:65123,43394:65124,43395:65125,43396:65126,43397:65128,43398:65129,43399:65130,43400:65131,43401:12350,43402:12272,43403:12273,43404:12274,43405:12275,43406:12276,43407:12277,43408:12278,43409:12279,43410:12280,43411:12281,43412:12282,43413:12283,43414:12295,43415:59380,43416:59381,43417:59382,43418:59383,43419:59384,43420:59385,43421:59386,43422:59387,43423:59388,43424:59389,43425:59390,43426:59391,43427:59392,43428:9472,43429:9473,43430:9474,43431:9475,43432:9476,43433:9477,43434:9478,43435:9479,43436:9480,43437:9481,43438:9482,43439:9483,43440:9484,43441:9485,43442:9486,43443:9487,43444:9488,43445:9489,43446:9490,43447:9491,43448:9492,43449:9493,43450:9494,43451:9495,43452:9496,43453:9497,43454:9498,43455:9499,43456:9500,43457:9501,43458:9502,43459:9503,43460:9504,43461:9505,43462:9506,43463:9507,43464:9508,43465:9509,43466:9510,43467:9511,43468:9512,43469:9513,43470:9514,43471:9515,43472:9516,43473:9517,43474:9518,43475:9519,43476:9520,43477:9521,43478:9522,43479:9523,43480:9524,43481:9525,43482:9526,43483:9527,43484:9528,43485:9529,43486:9530,43487:9531,43488:9532,43489:9533,43490:9534,43491:9535,43492:9536,43493:9537,43494:9538,43495:9539,43496:9540,43497:9541,43498:9542,43499:9543,43500:9544,43501:9545,43502:9546,43503:9547,43504:59393,43505:59394,43506:59395,43507:59396,43508:59397,43509:59398,43510:59399,43511:59400,43512:59401,43513:59402,43514:59403,43515:59404,43516:59405,43517:59406,43518:59407,43584:29404,43585:29405,43586:29407,43587:29410,43588:29411,43589:29412,43590:29413,43591:29414,43592:29415,43593:29418,43594:29419,43595:29429,43596:29430,43597:29433,43598:29437,43599:29438,43600:29439,43601:29440,43602:29442,43603:29444,43604:29445,43605:29446,43606:29447,43607:29448,43608:29449,43609:29451,43610:29452,43611:29453,43612:29455,43613:29456,43614:29457,43615:29458,43616:29460,43617:29464,43618:29465,43619:29466,43620:29471,43621:29472,43622:29475,43623:29476,43624:29478,43625:29479,43626:29480,43627:29485,43628:29487,43629:29488,43630:29490,43631:29491,43632:29493,43633:29494,43634:29498,43635:29499,43636:29500,43637:29501,43638:29504,43639:29505,43640:29506,43641:29507,43642:29508,43643:29509,43644:29510,43645:29511,43646:29512,43648:29513,43649:29514,43650:29515,43651:29516,43652:29518,43653:29519,43654:29521,43655:29523,43656:29524,43657:29525,43658:29526,43659:29528,43660:29529,43661:29530,43662:29531,43663:29532,43664:29533,43665:29534,43666:29535,43667:29537,43668:29538,43669:29539,43670:29540,43671:29541,43672:29542,43673:29543,43674:29544,43675:29545,43676:29546,43677:29547,43678:29550,43679:29552,43680:29553,43681:57344,43682:57345,43683:57346,43684:57347,43685:57348,43686:57349,43687:57350,43688:57351,43689:57352,43690:57353,43691:57354,43692:57355,43693:57356,43694:57357,43695:57358,43696:57359,43697:57360,43698:57361,43699:57362,43700:57363,43701:57364,43702:57365,43703:57366,43704:57367,43705:57368,43706:57369,43707:57370,43708:57371,43709:57372,43710:57373,43711:57374,43712:57375,43713:57376,43714:57377,43715:57378,43716:57379,43717:57380,43718:57381,43719:57382,43720:57383,43721:57384,43722:57385,43723:57386,43724:57387,43725:57388,43726:57389,43727:57390,43728:57391,43729:57392,43730:57393,43731:57394,43732:57395,43733:57396,43734:57397,43735:57398,43736:57399,43737:57400,43738:57401,43739:57402,43740:57403,43741:57404,43742:57405,43743:57406,43744:57407,43745:57408,43746:57409,43747:57410,43748:57411,43749:57412,43750:57413,43751:57414,43752:57415,43753:57416,43754:57417,43755:57418,43756:57419,43757:57420,43758:57421,43759:57422,43760:57423,43761:57424,43762:57425,43763:57426,43764:57427,43765:57428,43766:57429,43767:57430,43768:57431,43769:57432,43770:57433,43771:57434,43772:57435,43773:57436,43774:57437,43840:29554,43841:29555,43842:29556,43843:29557,43844:29558,43845:29559,43846:29560,43847:29561,43848:29562,43849:29563,43850:29564,43851:29565,43852:29567,43853:29568,43854:29569,43855:29570,43856:29571,43857:29573,43858:29574,43859:29576,43860:29578,43861:29580,43862:29581,43863:29583,43864:29584,43865:29586,43866:29587,43867:29588,43868:29589,43869:29591,43870:29592,43871:29593,43872:29594,43873:29596,43874:29597,43875:29598,43876:29600,43877:29601,43878:29603,43879:29604,43880:29605,43881:29606,43882:29607,43883:29608,43884:29610,43885:29612,43886:29613,43887:29617,43888:29620,43889:29621,43890:29622,43891:29624,43892:29625,43893:29628,43894:29629,43895:29630,43896:29631,43897:29633,43898:29635,43899:29636,43900:29637,43901:29638,43902:29639,43904:29643,43905:29644,43906:29646,43907:29650,43908:29651,43909:29652,43910:29653,43911:29654,43912:29655,43913:29656,43914:29658,43915:29659,43916:29660,43917:29661,43918:29663,43919:29665,43920:29666,43921:29667,43922:29668,43923:29670,43924:29672,43925:29674,43926:29675,43927:29676,43928:29678,43929:29679,43930:29680,43931:29681,43932:29683,43933:29684,43934:29685,43935:29686,43936:29687,43937:57438,43938:57439,43939:57440,43940:57441,43941:57442,43942:57443,43943:57444,43944:57445,43945:57446,43946:57447,43947:57448,43948:57449,43949:57450,43950:57451,43951:57452,43952:57453,43953:57454,43954:57455,43955:57456,43956:57457,43957:57458,43958:57459,43959:57460,43960:57461,43961:57462,43962:57463,43963:57464,43964:57465,43965:57466,43966:57467,43967:57468,43968:57469,43969:57470,43970:57471,43971:57472,43972:57473,43973:57474,43974:57475,43975:57476,43976:57477,43977:57478,43978:57479,43979:57480,43980:57481,43981:57482,43982:57483,43983:57484,43984:57485,43985:57486,43986:57487,43987:57488,43988:57489,43989:57490,43990:57491,43991:57492,43992:57493,43993:57494,43994:57495,43995:57496,43996:57497,43997:57498,43998:57499,43999:57500,44000:57501,44001:57502,44002:57503,44003:57504,44004:57505,44005:57506,44006:57507,44007:57508,44008:57509,44009:57510,44010:57511,44011:57512,44012:57513,44013:57514,44014:57515,44015:57516,44016:57517,44017:57518,44018:57519,44019:57520,44020:57521,44021:57522,44022:57523,44023:57524,44024:57525,44025:57526,44026:57527,44027:57528,44028:57529,44029:57530,44030:57531,44096:29688,44097:29689,44098:29690,44099:29691,44100:29692,44101:29693,44102:29694,44103:29695,44104:29696,44105:29697,44106:29698,44107:29700,44108:29703,44109:29704,44110:29707,44111:29708,44112:29709,44113:29710,44114:29713,44115:29714,44116:29715,44117:29716,44118:29717,44119:29718,44120:29719,44121:29720,44122:29721,44123:29724,44124:29725,44125:29726,44126:29727,44127:29728,44128:29729,44129:29731,44130:29732,44131:29735,44132:29737,44133:29739,44134:29741,44135:29743,44136:29745,44137:29746,44138:29751,44139:29752,44140:29753,44141:29754,44142:29755,44143:29757,44144:29758,44145:29759,44146:29760,44147:29762,44148:29763,44149:29764,44150:29765,44151:29766,44152:29767,44153:29768,44154:29769,44155:29770,44156:29771,44157:29772,44158:29773,44160:29774,44161:29775,44162:29776,44163:29777,44164:29778,44165:29779,44166:29780,44167:29782,44168:29784,44169:29789,44170:29792,44171:29793,44172:29794,44173:29795,44174:29796,44175:29797,44176:29798,44177:29799,44178:29800,44179:29801,44180:29802,44181:29803,44182:29804,44183:29806,44184:29807,44185:29809,44186:29810,44187:29811,44188:29812,44189:29813,44190:29816,44191:29817,44192:29818,44193:57532,44194:57533,44195:57534,44196:57535,44197:57536,44198:57537,44199:57538,44200:57539,44201:57540,44202:57541,44203:57542,44204:57543,44205:57544,44206:57545,44207:57546,44208:57547,44209:57548,44210:57549,44211:57550,44212:57551,44213:57552,44214:57553,44215:57554,44216:57555,44217:57556,44218:57557,44219:57558,44220:57559,44221:57560,44222:57561,44223:57562,44224:57563,44225:57564,44226:57565,44227:57566,44228:57567,44229:57568,44230:57569,44231:57570,44232:57571,44233:57572,44234:57573,44235:57574,44236:57575,44237:57576,44238:57577,44239:57578,44240:57579,44241:57580,44242:57581,44243:57582,44244:57583,44245:57584,44246:57585,44247:57586,44248:57587,44249:57588,44250:57589,44251:57590,44252:57591,44253:57592,44254:57593,44255:57594,44256:57595,44257:57596,44258:57597,44259:57598,44260:57599,44261:57600,44262:57601,44263:57602,44264:57603,44265:57604,44266:57605,44267:57606,44268:57607,44269:57608,44270:57609,44271:57610,44272:57611,44273:57612,44274:57613,44275:57614,44276:57615,44277:57616,44278:57617,44279:57618,44280:57619,44281:57620,44282:57621,44283:57622,44284:57623,44285:57624,44286:57625,44352:29819,44353:29820,44354:29821,44355:29823,44356:29826,44357:29828,44358:29829,44359:29830,44360:29832,44361:29833,44362:29834,44363:29836,44364:29837,44365:29839,44366:29841,44367:29842,44368:29843,44369:29844,44370:29845,44371:29846,44372:29847,44373:29848,44374:29849,44375:29850,44376:29851,44377:29853,44378:29855,44379:29856,44380:29857,44381:29858,44382:29859,44383:29860,44384:29861,44385:29862,44386:29866,44387:29867,44388:29868,44389:29869,44390:29870,44391:29871,44392:29872,44393:29873,44394:29874,44395:29875,44396:29876,44397:29877,44398:29878,44399:29879,44400:29880,44401:29881,44402:29883,44403:29884,44404:29885,44405:29886,44406:29887,44407:29888,44408:29889,44409:29890,44410:29891,44411:29892,44412:29893,44413:29894,44414:29895,44416:29896,44417:29897,44418:29898,44419:29899,44420:29900,44421:29901,44422:29902,44423:29903,44424:29904,44425:29905,44426:29907,44427:29908,44428:29909,44429:29910,44430:29911,44431:29912,44432:29913,44433:29914,44434:29915,44435:29917,44436:29919,44437:29921,44438:29925,44439:29927,44440:29928,44441:29929,44442:29930,44443:29931,44444:29932,44445:29933,44446:29936,44447:29937,44448:29938,44449:57626,44450:57627,44451:57628,44452:57629,44453:57630,44454:57631,44455:57632,44456:57633,44457:57634,44458:57635,44459:57636,44460:57637,44461:57638,44462:57639,44463:57640,44464:57641,44465:57642,44466:57643,44467:57644,44468:57645,44469:57646,44470:57647,44471:57648,44472:57649,44473:57650,44474:57651,44475:57652,44476:57653,44477:57654,44478:57655,44479:57656,44480:57657,44481:57658,44482:57659,44483:57660,44484:57661,44485:57662,44486:57663,44487:57664,44488:57665,44489:57666,44490:57667,44491:57668,44492:57669,44493:57670,44494:57671,44495:57672,44496:57673,44497:57674,44498:57675,44499:57676,44500:57677,44501:57678,44502:57679,44503:57680,44504:57681,44505:57682,44506:57683,44507:57684,44508:57685,44509:57686,44510:57687,44511:57688,44512:57689,44513:57690,44514:57691,44515:57692,44516:57693,44517:57694,44518:57695,44519:57696,44520:57697,44521:57698,44522:57699,44523:57700,44524:57701,44525:57702,44526:57703,44527:57704,44528:57705,44529:57706,44530:57707,44531:57708,44532:57709,44533:57710,44534:57711,44535:57712,44536:57713,44537:57714,44538:57715,44539:57716,44540:57717,44541:57718,44542:57719,44608:29939,44609:29941,44610:29944,44611:29945,44612:29946,44613:29947,44614:29948,44615:29949,44616:29950,44617:29952,44618:29953,44619:29954,44620:29955,44621:29957,44622:29958,44623:29959,44624:29960,44625:29961,44626:29962,44627:29963,44628:29964,44629:29966,44630:29968,44631:29970,44632:29972,44633:29973,44634:29974,44635:29975,44636:29979,44637:29981,44638:29982,44639:29984,44640:29985,44641:29986,44642:29987,44643:29988,44644:29990,44645:29991,44646:29994,44647:29998,44648:30004,44649:30006,44650:30009,44651:30012,44652:30013,44653:30015,44654:30017,44655:30018,44656:30019,44657:30020,44658:30022,44659:30023,44660:30025,44661:30026,44662:30029,44663:30032,44664:30033,44665:30034,44666:30035,44667:30037,44668:30038,44669:30039,44670:30040,44672:30045,44673:30046,44674:30047,44675:30048,44676:30049,44677:30050,44678:30051,44679:30052,44680:30055,44681:30056,44682:30057,44683:30059,44684:30060,44685:30061,44686:30062,44687:30063,44688:30064,44689:30065,44690:30067,44691:30069,44692:30070,44693:30071,44694:30074,44695:30075,44696:30076,44697:30077,44698:30078,44699:30080,44700:30081,44701:30082,44702:30084,44703:30085,44704:30087,44705:57720,44706:57721,44707:57722,44708:57723,44709:57724,44710:57725,44711:57726,44712:57727,44713:57728,44714:57729,44715:57730,44716:57731,44717:57732,44718:57733,44719:57734,44720:57735,44721:57736,44722:57737,44723:57738,44724:57739,44725:57740,44726:57741,44727:57742,44728:57743,44729:57744,44730:57745,44731:57746,44732:57747,44733:57748,44734:57749,44735:57750,44736:57751,44737:57752,44738:57753,44739:57754,44740:57755,44741:57756,44742:57757,44743:57758,44744:57759,44745:57760,44746:57761,44747:57762,44748:57763,44749:57764,44750:57765,44751:57766,44752:57767,44753:57768,44754:57769,44755:57770,44756:57771,44757:57772,44758:57773,44759:57774,44760:57775,44761:57776,44762:57777,44763:57778,44764:57779,44765:57780,44766:57781,44767:57782,44768:57783,44769:57784,44770:57785,44771:57786,44772:57787,44773:57788,44774:57789,44775:57790,44776:57791,44777:57792,44778:57793,44779:57794,44780:57795,44781:57796,44782:57797,44783:57798,44784:57799,44785:57800,44786:57801,44787:57802,44788:57803,44789:57804,44790:57805,44791:57806,44792:57807,44793:57808,44794:57809,44795:57810,44796:57811,44797:57812,44798:57813,44864:30088,44865:30089,44866:30090,44867:30092,44868:30093,44869:30094,44870:30096,44871:30099,44872:30101,44873:30104,44874:30107,44875:30108,44876:30110,44877:30114,44878:30118,44879:30119,44880:30120,44881:30121,44882:30122,44883:30125,44884:30134,44885:30135,44886:30138,44887:30139,44888:30143,44889:30144,44890:30145,44891:30150,44892:30155,44893:30156,44894:30158,44895:30159,44896:30160,44897:30161,44898:30163,44899:30167,44900:30169,44901:30170,44902:30172,44903:30173,44904:30175,44905:30176,44906:30177,44907:30181,44908:30185,44909:30188,44910:30189,44911:30190,44912:30191,44913:30194,44914:30195,44915:30197,44916:30198,44917:30199,44918:30200,44919:30202,44920:30203,44921:30205,44922:30206,44923:30210,44924:30212,44925:30214,44926:30215,44928:30216,44929:30217,44930:30219,44931:30221,44932:30222,44933:30223,44934:30225,44935:30226,44936:30227,44937:30228,44938:30230,44939:30234,44940:30236,44941:30237,44942:30238,44943:30241,44944:30243,44945:30247,44946:30248,44947:30252,44948:30254,44949:30255,44950:30257,44951:30258,44952:30262,44953:30263,44954:30265,44955:30266,44956:30267,44957:30269,44958:30273,44959:30274,44960:30276,44961:57814,44962:57815,44963:57816,44964:57817,44965:57818,44966:57819,44967:57820,44968:57821,44969:57822,44970:57823,44971:57824,44972:57825,44973:57826,44974:57827,44975:57828,44976:57829,44977:57830,44978:57831,44979:57832,44980:57833,44981:57834,44982:57835,44983:57836,44984:57837,44985:57838,44986:57839,44987:57840,44988:57841,44989:57842,44990:57843,44991:57844,44992:57845,44993:57846,44994:57847,44995:57848,44996:57849,44997:57850,44998:57851,44999:57852,45000:57853,45001:57854,45002:57855,45003:57856,45004:57857,45005:57858,45006:57859,45007:57860,45008:57861,45009:57862,45010:57863,45011:57864,45012:57865,45013:57866,45014:57867,45015:57868,45016:57869,45017:57870,45018:57871,45019:57872,45020:57873,45021:57874,45022:57875,45023:57876,45024:57877,45025:57878,45026:57879,45027:57880,45028:57881,45029:57882,45030:57883,45031:57884,45032:57885,45033:57886,45034:57887,45035:57888,45036:57889,45037:57890,45038:57891,45039:57892,45040:57893,45041:57894,45042:57895,45043:57896,45044:57897,45045:57898,45046:57899,45047:57900,45048:57901,45049:57902,45050:57903,45051:57904,45052:57905,45053:57906,45054:57907,45120:30277,45121:30278,45122:30279,45123:30280,45124:30281,45125:30282,45126:30283,45127:30286,45128:30287,45129:30288,45130:30289,45131:30290,45132:30291,45133:30293,45134:30295,45135:30296,45136:30297,45137:30298,45138:30299,45139:30301,45140:30303,45141:30304,45142:30305,45143:30306,45144:30308,45145:30309,45146:30310,45147:30311,45148:30312,45149:30313,45150:30314,45151:30316,45152:30317,45153:30318,45154:30320,45155:30321,45156:30322,45157:30323,45158:30324,45159:30325,45160:30326,45161:30327,45162:30329,45163:30330,45164:30332,45165:30335,45166:30336,45167:30337,45168:30339,45169:30341,45170:30345,45171:30346,45172:30348,45173:30349,45174:30351,45175:30352,45176:30354,45177:30356,45178:30357,45179:30359,45180:30360,45181:30362,45182:30363,45184:30364,45185:30365,45186:30366,45187:30367,45188:30368,45189:30369,45190:30370,45191:30371,45192:30373,45193:30374,45194:30375,45195:30376,45196:30377,45197:30378,45198:30379,45199:30380,45200:30381,45201:30383,45202:30384,45203:30387,45204:30389,45205:30390,45206:30391,45207:30392,45208:30393,45209:30394,45210:30395,45211:30396,45212:30397,45213:30398,45214:30400,45215:30401,45216:30403,45217:21834,45218:38463,45219:22467,45220:25384,45221:21710,45222:21769,45223:21696,45224:30353,45225:30284,45226:34108,45227:30702,45228:33406,45229:30861,45230:29233,45231:38552,45232:38797,45233:27688,45234:23433,45235:20474,45236:25353,45237:26263,45238:23736,45239:33018,45240:26696,45241:32942,45242:26114,45243:30414,45244:20985,45245:25942,45246:29100,45247:32753,45248:34948,45249:20658,45250:22885,45251:25034,45252:28595,45253:33453,45254:25420,45255:25170,45256:21485,45257:21543,45258:31494,45259:20843,45260:30116,45261:24052,45262:25300,45263:36299,45264:38774,45265:25226,45266:32793,45267:22365,45268:38712,45269:32610,45270:29240,45271:30333,45272:26575,45273:30334,45274:25670,45275:20336,45276:36133,45277:25308,45278:31255,45279:26001,45280:29677,45281:25644,45282:25203,45283:33324,45284:39041,45285:26495,45286:29256,45287:25198,45288:25292,45289:20276,45290:29923,45291:21322,45292:21150,45293:32458,45294:37030,45295:24110,45296:26758,45297:27036,45298:33152,45299:32465,45300:26834,45301:30917,45302:34444,45303:38225,45304:20621,45305:35876,45306:33502,45307:32990,45308:21253,45309:35090,45310:21093,45376:30404,45377:30407,45378:30409,45379:30411,45380:30412,45381:30419,45382:30421,45383:30425,45384:30426,45385:30428,45386:30429,45387:30430,45388:30432,45389:30433,45390:30434,45391:30435,45392:30436,45393:30438,45394:30439,45395:30440,45396:30441,45397:30442,45398:30443,45399:30444,45400:30445,45401:30448,45402:30451,45403:30453,45404:30454,45405:30455,45406:30458,45407:30459,45408:30461,45409:30463,45410:30464,45411:30466,45412:30467,45413:30469,45414:30470,45415:30474,45416:30476,45417:30478,45418:30479,45419:30480,45420:30481,45421:30482,45422:30483,45423:30484,45424:30485,45425:30486,45426:30487,45427:30488,45428:30491,45429:30492,45430:30493,45431:30494,45432:30497,45433:30499,45434:30500,45435:30501,45436:30503,45437:30506,45438:30507,45440:30508,45441:30510,45442:30512,45443:30513,45444:30514,45445:30515,45446:30516,45447:30521,45448:30523,45449:30525,45450:30526,45451:30527,45452:30530,45453:30532,45454:30533,45455:30534,45456:30536,45457:30537,45458:30538,45459:30539,45460:30540,45461:30541,45462:30542,45463:30543,45464:30546,45465:30547,45466:30548,45467:30549,45468:30550,45469:30551,45470:30552,45471:30553,45472:30556,45473:34180,45474:38649,45475:20445,45476:22561,45477:39281,45478:23453,45479:25265,45480:25253,45481:26292,45482:35961,45483:40077,45484:29190,45485:26479,45486:30865,45487:24754,45488:21329,45489:21271,45490:36744,45491:32972,45492:36125,45493:38049,45494:20493,45495:29384,45496:22791,45497:24811,45498:28953,45499:34987,45500:22868,45501:33519,45502:26412,45503:31528,45504:23849,45505:32503,45506:29997,45507:27893,45508:36454,45509:36856,45510:36924,45511:40763,45512:27604,45513:37145,45514:31508,45515:24444,45516:30887,45517:34006,45518:34109,45519:27605,45520:27609,45521:27606,45522:24065,45523:24199,45524:30201,45525:38381,45526:25949,45527:24330,45528:24517,45529:36767,45530:22721,45531:33218,45532:36991,45533:38491,45534:38829,45535:36793,45536:32534,45537:36140,45538:25153,45539:20415,45540:21464,45541:21342,45542:36776,45543:36777,45544:36779,45545:36941,45546:26631,45547:24426,45548:33176,45549:34920,45550:40150,45551:24971,45552:21035,45553:30250,45554:24428,45555:25996,45556:28626,45557:28392,45558:23486,45559:25672,45560:20853,45561:20912,45562:26564,45563:19993,45564:31177,45565:39292,45566:28851,45632:30557,45633:30558,45634:30559,45635:30560,45636:30564,45637:30567,45638:30569,45639:30570,45640:30573,45641:30574,45642:30575,45643:30576,45644:30577,45645:30578,45646:30579,45647:30580,45648:30581,45649:30582,45650:30583,45651:30584,45652:30586,45653:30587,45654:30588,45655:30593,45656:30594,45657:30595,45658:30598,45659:30599,45660:30600,45661:30601,45662:30602,45663:30603,45664:30607,45665:30608,45666:30611,45667:30612,45668:30613,45669:30614,45670:30615,45671:30616,45672:30617,45673:30618,45674:30619,45675:30620,45676:30621,45677:30622,45678:30625,45679:30627,45680:30628,45681:30630,45682:30632,45683:30635,45684:30637,45685:30638,45686:30639,45687:30641,45688:30642,45689:30644,45690:30646,45691:30647,45692:30648,45693:30649,45694:30650,45696:30652,45697:30654,45698:30656,45699:30657,45700:30658,45701:30659,45702:30660,45703:30661,45704:30662,45705:30663,45706:30664,45707:30665,45708:30666,45709:30667,45710:30668,45711:30670,45712:30671,45713:30672,45714:30673,45715:30674,45716:30675,45717:30676,45718:30677,45719:30678,45720:30680,45721:30681,45722:30682,45723:30685,45724:30686,45725:30687,45726:30688,45727:30689,45728:30692,45729:30149,45730:24182,45731:29627,45732:33760,45733:25773,45734:25320,45735:38069,45736:27874,45737:21338,45738:21187,45739:25615,45740:38082,45741:31636,45742:20271,45743:24091,45744:33334,45745:33046,45746:33162,45747:28196,45748:27850,45749:39539,45750:25429,45751:21340,45752:21754,45753:34917,45754:22496,45755:19981,45756:24067,45757:27493,45758:31807,45759:37096,45760:24598,45761:25830,45762:29468,45763:35009,45764:26448,45765:25165,45766:36130,45767:30572,45768:36393,45769:37319,45770:24425,45771:33756,45772:34081,45773:39184,45774:21442,45775:34453,45776:27531,45777:24813,45778:24808,45779:28799,45780:33485,45781:33329,45782:20179,45783:27815,45784:34255,45785:25805,45786:31961,45787:27133,45788:26361,45789:33609,45790:21397,45791:31574,45792:20391,45793:20876,45794:27979,45795:23618,45796:36461,45797:25554,45798:21449,45799:33580,45800:33590,45801:26597,45802:30900,45803:25661,45804:23519,45805:23700,45806:24046,45807:35815,45808:25286,45809:26612,45810:35962,45811:25600,45812:25530,45813:34633,45814:39307,45815:35863,45816:32544,45817:38130,45818:20135,45819:38416,45820:39076,45821:26124,45822:29462,45888:30694,45889:30696,45890:30698,45891:30703,45892:30704,45893:30705,45894:30706,45895:30708,45896:30709,45897:30711,45898:30713,45899:30714,45900:30715,45901:30716,45902:30723,45903:30724,45904:30725,45905:30726,45906:30727,45907:30728,45908:30730,45909:30731,45910:30734,45911:30735,45912:30736,45913:30739,45914:30741,45915:30745,45916:30747,45917:30750,45918:30752,45919:30753,45920:30754,45921:30756,45922:30760,45923:30762,45924:30763,45925:30766,45926:30767,45927:30769,45928:30770,45929:30771,45930:30773,45931:30774,45932:30781,45933:30783,45934:30785,45935:30786,45936:30787,45937:30788,45938:30790,45939:30792,45940:30793,45941:30794,45942:30795,45943:30797,45944:30799,45945:30801,45946:30803,45947:30804,45948:30808,45949:30809,45950:30810,45952:30811,45953:30812,45954:30814,45955:30815,45956:30816,45957:30817,45958:30818,45959:30819,45960:30820,45961:30821,45962:30822,45963:30823,45964:30824,45965:30825,45966:30831,45967:30832,45968:30833,45969:30834,45970:30835,45971:30836,45972:30837,45973:30838,45974:30840,45975:30841,45976:30842,45977:30843,45978:30845,45979:30846,45980:30847,45981:30848,45982:30849,45983:30850,45984:30851,45985:22330,45986:23581,45987:24120,45988:38271,45989:20607,45990:32928,45991:21378,45992:25950,45993:30021,45994:21809,45995:20513,45996:36229,45997:25220,45998:38046,45999:26397,46000:22066,46001:28526,46002:24034,46003:21557,46004:28818,46005:36710,46006:25199,46007:25764,46008:25507,46009:24443,46010:28552,46011:37108,46012:33251,46013:36784,46014:23576,46015:26216,46016:24561,46017:27785,46018:38472,46019:36225,46020:34924,46021:25745,46022:31216,46023:22478,46024:27225,46025:25104,46026:21576,46027:20056,46028:31243,46029:24809,46030:28548,46031:35802,46032:25215,46033:36894,46034:39563,46035:31204,46036:21507,46037:30196,46038:25345,46039:21273,46040:27744,46041:36831,46042:24347,46043:39536,46044:32827,46045:40831,46046:20360,46047:23610,46048:36196,46049:32709,46050:26021,46051:28861,46052:20805,46053:20914,46054:34411,46055:23815,46056:23456,46057:25277,46058:37228,46059:30068,46060:36364,46061:31264,46062:24833,46063:31609,46064:20167,46065:32504,46066:30597,46067:19985,46068:33261,46069:21021,46070:20986,46071:27249,46072:21416,46073:36487,46074:38148,46075:38607,46076:28353,46077:38500,46078:26970,46144:30852,46145:30853,46146:30854,46147:30856,46148:30858,46149:30859,46150:30863,46151:30864,46152:30866,46153:30868,46154:30869,46155:30870,46156:30873,46157:30877,46158:30878,46159:30880,46160:30882,46161:30884,46162:30886,46163:30888,46164:30889,46165:30890,46166:30891,46167:30892,46168:30893,46169:30894,46170:30895,46171:30901,46172:30902,46173:30903,46174:30904,46175:30906,46176:30907,46177:30908,46178:30909,46179:30911,46180:30912,46181:30914,46182:30915,46183:30916,46184:30918,46185:30919,46186:30920,46187:30924,46188:30925,46189:30926,46190:30927,46191:30929,46192:30930,46193:30931,46194:30934,46195:30935,46196:30936,46197:30938,46198:30939,46199:30940,46200:30941,46201:30942,46202:30943,46203:30944,46204:30945,46205:30946,46206:30947,46208:30948,46209:30949,46210:30950,46211:30951,46212:30953,46213:30954,46214:30955,46215:30957,46216:30958,46217:30959,46218:30960,46219:30961,46220:30963,46221:30965,46222:30966,46223:30968,46224:30969,46225:30971,46226:30972,46227:30973,46228:30974,46229:30975,46230:30976,46231:30978,46232:30979,46233:30980,46234:30982,46235:30983,46236:30984,46237:30985,46238:30986,46239:30987,46240:30988,46241:30784,46242:20648,46243:30679,46244:25616,46245:35302,46246:22788,46247:25571,46248:24029,46249:31359,46250:26941,46251:20256,46252:33337,46253:21912,46254:20018,46255:30126,46256:31383,46257:24162,46258:24202,46259:38383,46260:21019,46261:21561,46262:28810,46263:25462,46264:38180,46265:22402,46266:26149,46267:26943,46268:37255,46269:21767,46270:28147,46271:32431,46272:34850,46273:25139,46274:32496,46275:30133,46276:33576,46277:30913,46278:38604,46279:36766,46280:24904,46281:29943,46282:35789,46283:27492,46284:21050,46285:36176,46286:27425,46287:32874,46288:33905,46289:22257,46290:21254,46291:20174,46292:19995,46293:20945,46294:31895,46295:37259,46296:31751,46297:20419,46298:36479,46299:31713,46300:31388,46301:25703,46302:23828,46303:20652,46304:33030,46305:30209,46306:31929,46307:28140,46308:32736,46309:26449,46310:23384,46311:23544,46312:30923,46313:25774,46314:25619,46315:25514,46316:25387,46317:38169,46318:25645,46319:36798,46320:31572,46321:30249,46322:25171,46323:22823,46324:21574,46325:27513,46326:20643,46327:25140,46328:24102,46329:27526,46330:20195,46331:36151,46332:34955,46333:24453,46334:36910,46400:30989,46401:30990,46402:30991,46403:30992,46404:30993,46405:30994,46406:30996,46407:30997,46408:30998,46409:30999,46410:31000,46411:31001,46412:31002,46413:31003,46414:31004,46415:31005,46416:31007,46417:31008,46418:31009,46419:31010,46420:31011,46421:31013,46422:31014,46423:31015,46424:31016,46425:31017,46426:31018,46427:31019,46428:31020,46429:31021,46430:31022,46431:31023,46432:31024,46433:31025,46434:31026,46435:31027,46436:31029,46437:31030,46438:31031,46439:31032,46440:31033,46441:31037,46442:31039,46443:31042,46444:31043,46445:31044,46446:31045,46447:31047,46448:31050,46449:31051,46450:31052,46451:31053,46452:31054,46453:31055,46454:31056,46455:31057,46456:31058,46457:31060,46458:31061,46459:31064,46460:31065,46461:31073,46462:31075,46464:31076,46465:31078,46466:31081,46467:31082,46468:31083,46469:31084,46470:31086,46471:31088,46472:31089,46473:31090,46474:31091,46475:31092,46476:31093,46477:31094,46478:31097,46479:31099,46480:31100,46481:31101,46482:31102,46483:31103,46484:31106,46485:31107,46486:31110,46487:31111,46488:31112,46489:31113,46490:31115,46491:31116,46492:31117,46493:31118,46494:31120,46495:31121,46496:31122,46497:24608,46498:32829,46499:25285,46500:20025,46501:21333,46502:37112,46503:25528,46504:32966,46505:26086,46506:27694,46507:20294,46508:24814,46509:28129,46510:35806,46511:24377,46512:34507,46513:24403,46514:25377,46515:20826,46516:33633,46517:26723,46518:20992,46519:25443,46520:36424,46521:20498,46522:23707,46523:31095,46524:23548,46525:21040,46526:31291,46527:24764,46528:36947,46529:30423,46530:24503,46531:24471,46532:30340,46533:36460,46534:28783,46535:30331,46536:31561,46537:30634,46538:20979,46539:37011,46540:22564,46541:20302,46542:28404,46543:36842,46544:25932,46545:31515,46546:29380,46547:28068,46548:32735,46549:23265,46550:25269,46551:24213,46552:22320,46553:33922,46554:31532,46555:24093,46556:24351,46557:36882,46558:32532,46559:39072,46560:25474,46561:28359,46562:30872,46563:28857,46564:20856,46565:38747,46566:22443,46567:30005,46568:20291,46569:30008,46570:24215,46571:24806,46572:22880,46573:28096,46574:27583,46575:30857,46576:21500,46577:38613,46578:20939,46579:20993,46580:25481,46581:21514,46582:38035,46583:35843,46584:36300,46585:29241,46586:30879,46587:34678,46588:36845,46589:35853,46590:21472,46656:31123,46657:31124,46658:31125,46659:31126,46660:31127,46661:31128,46662:31129,46663:31131,46664:31132,46665:31133,46666:31134,46667:31135,46668:31136,46669:31137,46670:31138,46671:31139,46672:31140,46673:31141,46674:31142,46675:31144,46676:31145,46677:31146,46678:31147,46679:31148,46680:31149,46681:31150,46682:31151,46683:31152,46684:31153,46685:31154,46686:31156,46687:31157,46688:31158,46689:31159,46690:31160,46691:31164,46692:31167,46693:31170,46694:31172,46695:31173,46696:31175,46697:31176,46698:31178,46699:31180,46700:31182,46701:31183,46702:31184,46703:31187,46704:31188,46705:31190,46706:31191,46707:31193,46708:31194,46709:31195,46710:31196,46711:31197,46712:31198,46713:31200,46714:31201,46715:31202,46716:31205,46717:31208,46718:31210,46720:31212,46721:31214,46722:31217,46723:31218,46724:31219,46725:31220,46726:31221,46727:31222,46728:31223,46729:31225,46730:31226,46731:31228,46732:31230,46733:31231,46734:31233,46735:31236,46736:31237,46737:31239,46738:31240,46739:31241,46740:31242,46741:31244,46742:31247,46743:31248,46744:31249,46745:31250,46746:31251,46747:31253,46748:31254,46749:31256,46750:31257,46751:31259,46752:31260,46753:19969,46754:30447,46755:21486,46756:38025,46757:39030,46758:40718,46759:38189,46760:23450,46761:35746,46762:20002,46763:19996,46764:20908,46765:33891,46766:25026,46767:21160,46768:26635,46769:20375,46770:24683,46771:20923,46772:27934,46773:20828,46774:25238,46775:26007,46776:38497,46777:35910,46778:36887,46779:30168,46780:37117,46781:30563,46782:27602,46783:29322,46784:29420,46785:35835,46786:22581,46787:30585,46788:36172,46789:26460,46790:38208,46791:32922,46792:24230,46793:28193,46794:22930,46795:31471,46796:30701,46797:38203,46798:27573,46799:26029,46800:32526,46801:22534,46802:20817,46803:38431,46804:23545,46805:22697,46806:21544,46807:36466,46808:25958,46809:39039,46810:22244,46811:38045,46812:30462,46813:36929,46814:25479,46815:21702,46816:22810,46817:22842,46818:22427,46819:36530,46820:26421,46821:36346,46822:33333,46823:21057,46824:24816,46825:22549,46826:34558,46827:23784,46828:40517,46829:20420,46830:39069,46831:35769,46832:23077,46833:24694,46834:21380,46835:25212,46836:36943,46837:37122,46838:39295,46839:24681,46840:32780,46841:20799,46842:32819,46843:23572,46844:39285,46845:27953,46846:20108,46912:31261,46913:31263,46914:31265,46915:31266,46916:31268,46917:31269,46918:31270,46919:31271,46920:31272,46921:31273,46922:31274,46923:31275,46924:31276,46925:31277,46926:31278,46927:31279,46928:31280,46929:31281,46930:31282,46931:31284,46932:31285,46933:31286,46934:31288,46935:31290,46936:31294,46937:31296,46938:31297,46939:31298,46940:31299,46941:31300,46942:31301,46943:31303,46944:31304,46945:31305,46946:31306,46947:31307,46948:31308,46949:31309,46950:31310,46951:31311,46952:31312,46953:31314,46954:31315,46955:31316,46956:31317,46957:31318,46958:31320,46959:31321,46960:31322,46961:31323,46962:31324,46963:31325,46964:31326,46965:31327,46966:31328,46967:31329,46968:31330,46969:31331,46970:31332,46971:31333,46972:31334,46973:31335,46974:31336,46976:31337,46977:31338,46978:31339,46979:31340,46980:31341,46981:31342,46982:31343,46983:31345,46984:31346,46985:31347,46986:31349,46987:31355,46988:31356,46989:31357,46990:31358,46991:31362,46992:31365,46993:31367,46994:31369,46995:31370,46996:31371,46997:31372,46998:31374,46999:31375,47000:31376,47001:31379,47002:31380,47003:31385,47004:31386,47005:31387,47006:31390,47007:31393,47008:31394,47009:36144,47010:21457,47011:32602,47012:31567,47013:20240,47014:20047,47015:38400,47016:27861,47017:29648,47018:34281,47019:24070,47020:30058,47021:32763,47022:27146,47023:30718,47024:38034,47025:32321,47026:20961,47027:28902,47028:21453,47029:36820,47030:33539,47031:36137,47032:29359,47033:39277,47034:27867,47035:22346,47036:33459,47037:26041,47038:32938,47039:25151,47040:38450,47041:22952,47042:20223,47043:35775,47044:32442,47045:25918,47046:33778,47047:38750,47048:21857,47049:39134,47050:32933,47051:21290,47052:35837,47053:21536,47054:32954,47055:24223,47056:27832,47057:36153,47058:33452,47059:37210,47060:21545,47061:27675,47062:20998,47063:32439,47064:22367,47065:28954,47066:27774,47067:31881,47068:22859,47069:20221,47070:24575,47071:24868,47072:31914,47073:20016,47074:23553,47075:26539,47076:34562,47077:23792,47078:38155,47079:39118,47080:30127,47081:28925,47082:36898,47083:20911,47084:32541,47085:35773,47086:22857,47087:20964,47088:20315,47089:21542,47090:22827,47091:25975,47092:32932,47093:23413,47094:25206,47095:25282,47096:36752,47097:24133,47098:27679,47099:31526,47100:20239,47101:20440,47102:26381,47168:31395,47169:31396,47170:31399,47171:31401,47172:31402,47173:31403,47174:31406,47175:31407,47176:31408,47177:31409,47178:31410,47179:31412,47180:31413,47181:31414,47182:31415,47183:31416,47184:31417,47185:31418,47186:31419,47187:31420,47188:31421,47189:31422,47190:31424,47191:31425,47192:31426,47193:31427,47194:31428,47195:31429,47196:31430,47197:31431,47198:31432,47199:31433,47200:31434,47201:31436,47202:31437,47203:31438,47204:31439,47205:31440,47206:31441,47207:31442,47208:31443,47209:31444,47210:31445,47211:31447,47212:31448,47213:31450,47214:31451,47215:31452,47216:31453,47217:31457,47218:31458,47219:31460,47220:31463,47221:31464,47222:31465,47223:31466,47224:31467,47225:31468,47226:31470,47227:31472,47228:31473,47229:31474,47230:31475,47232:31476,47233:31477,47234:31478,47235:31479,47236:31480,47237:31483,47238:31484,47239:31486,47240:31488,47241:31489,47242:31490,47243:31493,47244:31495,47245:31497,47246:31500,47247:31501,47248:31502,47249:31504,47250:31506,47251:31507,47252:31510,47253:31511,47254:31512,47255:31514,47256:31516,47257:31517,47258:31519,47259:31521,47260:31522,47261:31523,47262:31527,47263:31529,47264:31533,47265:28014,47266:28074,47267:31119,47268:34993,47269:24343,47270:29995,47271:25242,47272:36741,47273:20463,47274:37340,47275:26023,47276:33071,47277:33105,47278:24220,47279:33104,47280:36212,47281:21103,47282:35206,47283:36171,47284:22797,47285:20613,47286:20184,47287:38428,47288:29238,47289:33145,47290:36127,47291:23500,47292:35747,47293:38468,47294:22919,47295:32538,47296:21648,47297:22134,47298:22030,47299:35813,47300:25913,47301:27010,47302:38041,47303:30422,47304:28297,47305:24178,47306:29976,47307:26438,47308:26577,47309:31487,47310:32925,47311:36214,47312:24863,47313:31174,47314:25954,47315:36195,47316:20872,47317:21018,47318:38050,47319:32568,47320:32923,47321:32434,47322:23703,47323:28207,47324:26464,47325:31705,47326:30347,47327:39640,47328:33167,47329:32660,47330:31957,47331:25630,47332:38224,47333:31295,47334:21578,47335:21733,47336:27468,47337:25601,47338:25096,47339:40509,47340:33011,47341:30105,47342:21106,47343:38761,47344:33883,47345:26684,47346:34532,47347:38401,47348:38548,47349:38124,47350:20010,47351:21508,47352:32473,47353:26681,47354:36319,47355:32789,47356:26356,47357:24218,47358:32697,47424:31535,47425:31536,47426:31538,47427:31540,47428:31541,47429:31542,47430:31543,47431:31545,47432:31547,47433:31549,47434:31551,47435:31552,47436:31553,47437:31554,47438:31555,47439:31556,47440:31558,47441:31560,47442:31562,47443:31565,47444:31566,47445:31571,47446:31573,47447:31575,47448:31577,47449:31580,47450:31582,47451:31583,47452:31585,47453:31587,47454:31588,47455:31589,47456:31590,47457:31591,47458:31592,47459:31593,47460:31594,47461:31595,47462:31596,47463:31597,47464:31599,47465:31600,47466:31603,47467:31604,47468:31606,47469:31608,47470:31610,47471:31612,47472:31613,47473:31615,47474:31617,47475:31618,47476:31619,47477:31620,47478:31622,47479:31623,47480:31624,47481:31625,47482:31626,47483:31627,47484:31628,47485:31630,47486:31631,47488:31633,47489:31634,47490:31635,47491:31638,47492:31640,47493:31641,47494:31642,47495:31643,47496:31646,47497:31647,47498:31648,47499:31651,47500:31652,47501:31653,47502:31662,47503:31663,47504:31664,47505:31666,47506:31667,47507:31669,47508:31670,47509:31671,47510:31673,47511:31674,47512:31675,47513:31676,47514:31677,47515:31678,47516:31679,47517:31680,47518:31682,47519:31683,47520:31684,47521:22466,47522:32831,47523:26775,47524:24037,47525:25915,47526:21151,47527:24685,47528:40858,47529:20379,47530:36524,47531:20844,47532:23467,47533:24339,47534:24041,47535:27742,47536:25329,47537:36129,47538:20849,47539:38057,47540:21246,47541:27807,47542:33503,47543:29399,47544:22434,47545:26500,47546:36141,47547:22815,47548:36764,47549:33735,47550:21653,47551:31629,47552:20272,47553:27837,47554:23396,47555:22993,47556:40723,47557:21476,47558:34506,47559:39592,47560:35895,47561:32929,47562:25925,47563:39038,47564:22266,47565:38599,47566:21038,47567:29916,47568:21072,47569:23521,47570:25346,47571:35074,47572:20054,47573:25296,47574:24618,47575:26874,47576:20851,47577:23448,47578:20896,47579:35266,47580:31649,47581:39302,47582:32592,47583:24815,47584:28748,47585:36143,47586:20809,47587:24191,47588:36891,47589:29808,47590:35268,47591:22317,47592:30789,47593:24402,47594:40863,47595:38394,47596:36712,47597:39740,47598:35809,47599:30328,47600:26690,47601:26588,47602:36330,47603:36149,47604:21053,47605:36746,47606:28378,47607:26829,47608:38149,47609:37101,47610:22269,47611:26524,47612:35065,47613:36807,47614:21704,47680:31685,47681:31688,47682:31689,47683:31690,47684:31691,47685:31693,47686:31694,47687:31695,47688:31696,47689:31698,47690:31700,47691:31701,47692:31702,47693:31703,47694:31704,47695:31707,47696:31708,47697:31710,47698:31711,47699:31712,47700:31714,47701:31715,47702:31716,47703:31719,47704:31720,47705:31721,47706:31723,47707:31724,47708:31725,47709:31727,47710:31728,47711:31730,47712:31731,47713:31732,47714:31733,47715:31734,47716:31736,47717:31737,47718:31738,47719:31739,47720:31741,47721:31743,47722:31744,47723:31745,47724:31746,47725:31747,47726:31748,47727:31749,47728:31750,47729:31752,47730:31753,47731:31754,47732:31757,47733:31758,47734:31760,47735:31761,47736:31762,47737:31763,47738:31764,47739:31765,47740:31767,47741:31768,47742:31769,47744:31770,47745:31771,47746:31772,47747:31773,47748:31774,47749:31776,47750:31777,47751:31778,47752:31779,47753:31780,47754:31781,47755:31784,47756:31785,47757:31787,47758:31788,47759:31789,47760:31790,47761:31791,47762:31792,47763:31793,47764:31794,47765:31795,47766:31796,47767:31797,47768:31798,47769:31799,47770:31801,47771:31802,47772:31803,47773:31804,47774:31805,47775:31806,47776:31810,47777:39608,47778:23401,47779:28023,47780:27686,47781:20133,47782:23475,47783:39559,47784:37219,47785:25000,47786:37039,47787:38889,47788:21547,47789:28085,47790:23506,47791:20989,47792:21898,47793:32597,47794:32752,47795:25788,47796:25421,47797:26097,47798:25022,47799:24717,47800:28938,47801:27735,47802:27721,47803:22831,47804:26477,47805:33322,47806:22741,47807:22158,47808:35946,47809:27627,47810:37085,47811:22909,47812:32791,47813:21495,47814:28009,47815:21621,47816:21917,47817:33655,47818:33743,47819:26680,47820:31166,47821:21644,47822:20309,47823:21512,47824:30418,47825:35977,47826:38402,47827:27827,47828:28088,47829:36203,47830:35088,47831:40548,47832:36154,47833:22079,47834:40657,47835:30165,47836:24456,47837:29408,47838:24680,47839:21756,47840:20136,47841:27178,47842:34913,47843:24658,47844:36720,47845:21700,47846:28888,47847:34425,47848:40511,47849:27946,47850:23439,47851:24344,47852:32418,47853:21897,47854:20399,47855:29492,47856:21564,47857:21402,47858:20505,47859:21518,47860:21628,47861:20046,47862:24573,47863:29786,47864:22774,47865:33899,47866:32993,47867:34676,47868:29392,47869:31946,47870:28246,47936:31811,47937:31812,47938:31813,47939:31814,47940:31815,47941:31816,47942:31817,47943:31818,47944:31819,47945:31820,47946:31822,47947:31823,47948:31824,47949:31825,47950:31826,47951:31827,47952:31828,47953:31829,47954:31830,47955:31831,47956:31832,47957:31833,47958:31834,47959:31835,47960:31836,47961:31837,47962:31838,47963:31839,47964:31840,47965:31841,47966:31842,47967:31843,47968:31844,47969:31845,47970:31846,47971:31847,47972:31848,47973:31849,47974:31850,47975:31851,47976:31852,47977:31853,47978:31854,47979:31855,47980:31856,47981:31857,47982:31858,47983:31861,47984:31862,47985:31863,47986:31864,47987:31865,47988:31866,47989:31870,47990:31871,47991:31872,47992:31873,47993:31874,47994:31875,47995:31876,47996:31877,47997:31878,47998:31879,48000:31880,48001:31882,48002:31883,48003:31884,48004:31885,48005:31886,48006:31887,48007:31888,48008:31891,48009:31892,48010:31894,48011:31897,48012:31898,48013:31899,48014:31904,48015:31905,48016:31907,48017:31910,48018:31911,48019:31912,48020:31913,48021:31915,48022:31916,48023:31917,48024:31919,48025:31920,48026:31924,48027:31925,48028:31926,48029:31927,48030:31928,48031:31930,48032:31931,48033:24359,48034:34382,48035:21804,48036:25252,48037:20114,48038:27818,48039:25143,48040:33457,48041:21719,48042:21326,48043:29502,48044:28369,48045:30011,48046:21010,48047:21270,48048:35805,48049:27088,48050:24458,48051:24576,48052:28142,48053:22351,48054:27426,48055:29615,48056:26707,48057:36824,48058:32531,48059:25442,48060:24739,48061:21796,48062:30186,48063:35938,48064:28949,48065:28067,48066:23462,48067:24187,48068:33618,48069:24908,48070:40644,48071:30970,48072:34647,48073:31783,48074:30343,48075:20976,48076:24822,48077:29004,48078:26179,48079:24140,48080:24653,48081:35854,48082:28784,48083:25381,48084:36745,48085:24509,48086:24674,48087:34516,48088:22238,48089:27585,48090:24724,48091:24935,48092:21321,48093:24800,48094:26214,48095:36159,48096:31229,48097:20250,48098:28905,48099:27719,48100:35763,48101:35826,48102:32472,48103:33636,48104:26127,48105:23130,48106:39746,48107:27985,48108:28151,48109:35905,48110:27963,48111:20249,48112:28779,48113:33719,48114:25110,48115:24785,48116:38669,48117:36135,48118:31096,48119:20987,48120:22334,48121:22522,48122:26426,48123:30072,48124:31293,48125:31215,48126:31637,48192:31935,48193:31936,48194:31938,48195:31939,48196:31940,48197:31942,48198:31945,48199:31947,48200:31950,48201:31951,48202:31952,48203:31953,48204:31954,48205:31955,48206:31956,48207:31960,48208:31962,48209:31963,48210:31965,48211:31966,48212:31969,48213:31970,48214:31971,48215:31972,48216:31973,48217:31974,48218:31975,48219:31977,48220:31978,48221:31979,48222:31980,48223:31981,48224:31982,48225:31984,48226:31985,48227:31986,48228:31987,48229:31988,48230:31989,48231:31990,48232:31991,48233:31993,48234:31994,48235:31996,48236:31997,48237:31998,48238:31999,48239:32000,48240:32001,48241:32002,48242:32003,48243:32004,48244:32005,48245:32006,48246:32007,48247:32008,48248:32009,48249:32011,48250:32012,48251:32013,48252:32014,48253:32015,48254:32016,48256:32017,48257:32018,48258:32019,48259:32020,48260:32021,48261:32022,48262:32023,48263:32024,48264:32025,48265:32026,48266:32027,48267:32028,48268:32029,48269:32030,48270:32031,48271:32033,48272:32035,48273:32036,48274:32037,48275:32038,48276:32040,48277:32041,48278:32042,48279:32044,48280:32045,48281:32046,48282:32048,48283:32049,48284:32050,48285:32051,48286:32052,48287:32053,48288:32054,48289:32908,48290:39269,48291:36857,48292:28608,48293:35749,48294:40481,48295:23020,48296:32489,48297:32521,48298:21513,48299:26497,48300:26840,48301:36753,48302:31821,48303:38598,48304:21450,48305:24613,48306:30142,48307:27762,48308:21363,48309:23241,48310:32423,48311:25380,48312:20960,48313:33034,48314:24049,48315:34015,48316:25216,48317:20864,48318:23395,48319:20238,48320:31085,48321:21058,48322:24760,48323:27982,48324:23492,48325:23490,48326:35745,48327:35760,48328:26082,48329:24524,48330:38469,48331:22931,48332:32487,48333:32426,48334:22025,48335:26551,48336:22841,48337:20339,48338:23478,48339:21152,48340:33626,48341:39050,48342:36158,48343:30002,48344:38078,48345:20551,48346:31292,48347:20215,48348:26550,48349:39550,48350:23233,48351:27516,48352:30417,48353:22362,48354:23574,48355:31546,48356:38388,48357:29006,48358:20860,48359:32937,48360:33392,48361:22904,48362:32516,48363:33575,48364:26816,48365:26604,48366:30897,48367:30839,48368:25315,48369:25441,48370:31616,48371:20461,48372:21098,48373:20943,48374:33616,48375:27099,48376:37492,48377:36341,48378:36145,48379:35265,48380:38190,48381:31661,48382:20214,48448:32055,48449:32056,48450:32057,48451:32058,48452:32059,48453:32060,48454:32061,48455:32062,48456:32063,48457:32064,48458:32065,48459:32066,48460:32067,48461:32068,48462:32069,48463:32070,48464:32071,48465:32072,48466:32073,48467:32074,48468:32075,48469:32076,48470:32077,48471:32078,48472:32079,48473:32080,48474:32081,48475:32082,48476:32083,48477:32084,48478:32085,48479:32086,48480:32087,48481:32088,48482:32089,48483:32090,48484:32091,48485:32092,48486:32093,48487:32094,48488:32095,48489:32096,48490:32097,48491:32098,48492:32099,48493:32100,48494:32101,48495:32102,48496:32103,48497:32104,48498:32105,48499:32106,48500:32107,48501:32108,48502:32109,48503:32111,48504:32112,48505:32113,48506:32114,48507:32115,48508:32116,48509:32117,48510:32118,48512:32120,48513:32121,48514:32122,48515:32123,48516:32124,48517:32125,48518:32126,48519:32127,48520:32128,48521:32129,48522:32130,48523:32131,48524:32132,48525:32133,48526:32134,48527:32135,48528:32136,48529:32137,48530:32138,48531:32139,48532:32140,48533:32141,48534:32142,48535:32143,48536:32144,48537:32145,48538:32146,48539:32147,48540:32148,48541:32149,48542:32150,48543:32151,48544:32152,48545:20581,48546:33328,48547:21073,48548:39279,48549:28176,48550:28293,48551:28071,48552:24314,48553:20725,48554:23004,48555:23558,48556:27974,48557:27743,48558:30086,48559:33931,48560:26728,48561:22870,48562:35762,48563:21280,48564:37233,48565:38477,48566:34121,48567:26898,48568:30977,48569:28966,48570:33014,48571:20132,48572:37066,48573:27975,48574:39556,48575:23047,48576:22204,48577:25605,48578:38128,48579:30699,48580:20389,48581:33050,48582:29409,48583:35282,48584:39290,48585:32564,48586:32478,48587:21119,48588:25945,48589:37237,48590:36735,48591:36739,48592:21483,48593:31382,48594:25581,48595:25509,48596:30342,48597:31224,48598:34903,48599:38454,48600:25130,48601:21163,48602:33410,48603:26708,48604:26480,48605:25463,48606:30571,48607:31469,48608:27905,48609:32467,48610:35299,48611:22992,48612:25106,48613:34249,48614:33445,48615:30028,48616:20511,48617:20171,48618:30117,48619:35819,48620:23626,48621:24062,48622:31563,48623:26020,48624:37329,48625:20170,48626:27941,48627:35167,48628:32039,48629:38182,48630:20165,48631:35880,48632:36827,48633:38771,48634:26187,48635:31105,48636:36817,48637:28908,48638:28024,48704:32153,48705:32154,48706:32155,48707:32156,48708:32157,48709:32158,48710:32159,48711:32160,48712:32161,48713:32162,48714:32163,48715:32164,48716:32165,48717:32167,48718:32168,48719:32169,48720:32170,48721:32171,48722:32172,48723:32173,48724:32175,48725:32176,48726:32177,48727:32178,48728:32179,48729:32180,48730:32181,48731:32182,48732:32183,48733:32184,48734:32185,48735:32186,48736:32187,48737:32188,48738:32189,48739:32190,48740:32191,48741:32192,48742:32193,48743:32194,48744:32195,48745:32196,48746:32197,48747:32198,48748:32199,48749:32200,48750:32201,48751:32202,48752:32203,48753:32204,48754:32205,48755:32206,48756:32207,48757:32208,48758:32209,48759:32210,48760:32211,48761:32212,48762:32213,48763:32214,48764:32215,48765:32216,48766:32217,48768:32218,48769:32219,48770:32220,48771:32221,48772:32222,48773:32223,48774:32224,48775:32225,48776:32226,48777:32227,48778:32228,48779:32229,48780:32230,48781:32231,48782:32232,48783:32233,48784:32234,48785:32235,48786:32236,48787:32237,48788:32238,48789:32239,48790:32240,48791:32241,48792:32242,48793:32243,48794:32244,48795:32245,48796:32246,48797:32247,48798:32248,48799:32249,48800:32250,48801:23613,48802:21170,48803:33606,48804:20834,48805:33550,48806:30555,48807:26230,48808:40120,48809:20140,48810:24778,48811:31934,48812:31923,48813:32463,48814:20117,48815:35686,48816:26223,48817:39048,48818:38745,48819:22659,48820:25964,48821:38236,48822:24452,48823:30153,48824:38742,48825:31455,48826:31454,48827:20928,48828:28847,48829:31384,48830:25578,48831:31350,48832:32416,48833:29590,48834:38893,48835:20037,48836:28792,48837:20061,48838:37202,48839:21417,48840:25937,48841:26087,48842:33276,48843:33285,48844:21646,48845:23601,48846:30106,48847:38816,48848:25304,48849:29401,48850:30141,48851:23621,48852:39545,48853:33738,48854:23616,48855:21632,48856:30697,48857:20030,48858:27822,48859:32858,48860:25298,48861:25454,48862:24040,48863:20855,48864:36317,48865:36382,48866:38191,48867:20465,48868:21477,48869:24807,48870:28844,48871:21095,48872:25424,48873:40515,48874:23071,48875:20518,48876:30519,48877:21367,48878:32482,48879:25733,48880:25899,48881:25225,48882:25496,48883:20500,48884:29237,48885:35273,48886:20915,48887:35776,48888:32477,48889:22343,48890:33740,48891:38055,48892:20891,48893:21531,48894:23803,48960:32251,48961:32252,48962:32253,48963:32254,48964:32255,48965:32256,48966:32257,48967:32258,48968:32259,48969:32260,48970:32261,48971:32262,48972:32263,48973:32264,48974:32265,48975:32266,48976:32267,48977:32268,48978:32269,48979:32270,48980:32271,48981:32272,48982:32273,48983:32274,48984:32275,48985:32276,48986:32277,48987:32278,48988:32279,48989:32280,48990:32281,48991:32282,48992:32283,48993:32284,48994:32285,48995:32286,48996:32287,48997:32288,48998:32289,48999:32290,49000:32291,49001:32292,49002:32293,49003:32294,49004:32295,49005:32296,49006:32297,49007:32298,49008:32299,49009:32300,49010:32301,49011:32302,49012:32303,49013:32304,49014:32305,49015:32306,49016:32307,49017:32308,49018:32309,49019:32310,49020:32311,49021:32312,49022:32313,49024:32314,49025:32316,49026:32317,49027:32318,49028:32319,49029:32320,49030:32322,49031:32323,49032:32324,49033:32325,49034:32326,49035:32328,49036:32329,49037:32330,49038:32331,49039:32332,49040:32333,49041:32334,49042:32335,49043:32336,49044:32337,49045:32338,49046:32339,49047:32340,49048:32341,49049:32342,49050:32343,49051:32344,49052:32345,49053:32346,49054:32347,49055:32348,49056:32349,49057:20426,49058:31459,49059:27994,49060:37089,49061:39567,49062:21888,49063:21654,49064:21345,49065:21679,49066:24320,49067:25577,49068:26999,49069:20975,49070:24936,49071:21002,49072:22570,49073:21208,49074:22350,49075:30733,49076:30475,49077:24247,49078:24951,49079:31968,49080:25179,49081:25239,49082:20130,49083:28821,49084:32771,49085:25335,49086:28900,49087:38752,49088:22391,49089:33499,49090:26607,49091:26869,49092:30933,49093:39063,49094:31185,49095:22771,49096:21683,49097:21487,49098:28212,49099:20811,49100:21051,49101:23458,49102:35838,49103:32943,49104:21827,49105:22438,49106:24691,49107:22353,49108:21549,49109:31354,49110:24656,49111:23380,49112:25511,49113:25248,49114:21475,49115:25187,49116:23495,49117:26543,49118:21741,49119:31391,49120:33510,49121:37239,49122:24211,49123:35044,49124:22840,49125:22446,49126:25358,49127:36328,49128:33007,49129:22359,49130:31607,49131:20393,49132:24555,49133:23485,49134:27454,49135:21281,49136:31568,49137:29378,49138:26694,49139:30719,49140:30518,49141:26103,49142:20917,49143:20111,49144:30420,49145:23743,49146:31397,49147:33909,49148:22862,49149:39745,49150:20608,49216:32350,49217:32351,49218:32352,49219:32353,49220:32354,49221:32355,49222:32356,49223:32357,49224:32358,49225:32359,49226:32360,49227:32361,49228:32362,49229:32363,49230:32364,49231:32365,49232:32366,49233:32367,49234:32368,49235:32369,49236:32370,49237:32371,49238:32372,49239:32373,49240:32374,49241:32375,49242:32376,49243:32377,49244:32378,49245:32379,49246:32380,49247:32381,49248:32382,49249:32383,49250:32384,49251:32385,49252:32387,49253:32388,49254:32389,49255:32390,49256:32391,49257:32392,49258:32393,49259:32394,49260:32395,49261:32396,49262:32397,49263:32398,49264:32399,49265:32400,49266:32401,49267:32402,49268:32403,49269:32404,49270:32405,49271:32406,49272:32407,49273:32408,49274:32409,49275:32410,49276:32412,49277:32413,49278:32414,49280:32430,49281:32436,49282:32443,49283:32444,49284:32470,49285:32484,49286:32492,49287:32505,49288:32522,49289:32528,49290:32542,49291:32567,49292:32569,49293:32571,49294:32572,49295:32573,49296:32574,49297:32575,49298:32576,49299:32577,49300:32579,49301:32582,49302:32583,49303:32584,49304:32585,49305:32586,49306:32587,49307:32588,49308:32589,49309:32590,49310:32591,49311:32594,49312:32595,49313:39304,49314:24871,49315:28291,49316:22372,49317:26118,49318:25414,49319:22256,49320:25324,49321:25193,49322:24275,49323:38420,49324:22403,49325:25289,49326:21895,49327:34593,49328:33098,49329:36771,49330:21862,49331:33713,49332:26469,49333:36182,49334:34013,49335:23146,49336:26639,49337:25318,49338:31726,49339:38417,49340:20848,49341:28572,49342:35888,49343:25597,49344:35272,49345:25042,49346:32518,49347:28866,49348:28389,49349:29701,49350:27028,49351:29436,49352:24266,49353:37070,49354:26391,49355:28010,49356:25438,49357:21171,49358:29282,49359:32769,49360:20332,49361:23013,49362:37226,49363:28889,49364:28061,49365:21202,49366:20048,49367:38647,49368:38253,49369:34174,49370:30922,49371:32047,49372:20769,49373:22418,49374:25794,49375:32907,49376:31867,49377:27882,49378:26865,49379:26974,49380:20919,49381:21400,49382:26792,49383:29313,49384:40654,49385:31729,49386:29432,49387:31163,49388:28435,49389:29702,49390:26446,49391:37324,49392:40100,49393:31036,49394:33673,49395:33620,49396:21519,49397:26647,49398:20029,49399:21385,49400:21169,49401:30782,49402:21382,49403:21033,49404:20616,49405:20363,49406:20432,49472:32598,49473:32601,49474:32603,49475:32604,49476:32605,49477:32606,49478:32608,49479:32611,49480:32612,49481:32613,49482:32614,49483:32615,49484:32619,49485:32620,49486:32621,49487:32623,49488:32624,49489:32627,49490:32629,49491:32630,49492:32631,49493:32632,49494:32634,49495:32635,49496:32636,49497:32637,49498:32639,49499:32640,49500:32642,49501:32643,49502:32644,49503:32645,49504:32646,49505:32647,49506:32648,49507:32649,49508:32651,49509:32653,49510:32655,49511:32656,49512:32657,49513:32658,49514:32659,49515:32661,49516:32662,49517:32663,49518:32664,49519:32665,49520:32667,49521:32668,49522:32672,49523:32674,49524:32675,49525:32677,49526:32678,49527:32680,49528:32681,49529:32682,49530:32683,49531:32684,49532:32685,49533:32686,49534:32689,49536:32691,49537:32692,49538:32693,49539:32694,49540:32695,49541:32698,49542:32699,49543:32702,49544:32704,49545:32706,49546:32707,49547:32708,49548:32710,49549:32711,49550:32712,49551:32713,49552:32715,49553:32717,49554:32719,49555:32720,49556:32721,49557:32722,49558:32723,49559:32726,49560:32727,49561:32729,49562:32730,49563:32731,49564:32732,49565:32733,49566:32734,49567:32738,49568:32739,49569:30178,49570:31435,49571:31890,49572:27813,49573:38582,49574:21147,49575:29827,49576:21737,49577:20457,49578:32852,49579:33714,49580:36830,49581:38256,49582:24265,49583:24604,49584:28063,49585:24088,49586:25947,49587:33080,49588:38142,49589:24651,49590:28860,49591:32451,49592:31918,49593:20937,49594:26753,49595:31921,49596:33391,49597:20004,49598:36742,49599:37327,49600:26238,49601:20142,49602:35845,49603:25769,49604:32842,49605:20698,49606:30103,49607:29134,49608:23525,49609:36797,49610:28518,49611:20102,49612:25730,49613:38243,49614:24278,49615:26009,49616:21015,49617:35010,49618:28872,49619:21155,49620:29454,49621:29747,49622:26519,49623:30967,49624:38678,49625:20020,49626:37051,49627:40158,49628:28107,49629:20955,49630:36161,49631:21533,49632:25294,49633:29618,49634:33777,49635:38646,49636:40836,49637:38083,49638:20278,49639:32666,49640:20940,49641:28789,49642:38517,49643:23725,49644:39046,49645:21478,49646:20196,49647:28316,49648:29705,49649:27060,49650:30827,49651:39311,49652:30041,49653:21016,49654:30244,49655:27969,49656:26611,49657:20845,49658:40857,49659:32843,49660:21657,49661:31548,49662:31423,49728:32740,49729:32743,49730:32744,49731:32746,49732:32747,49733:32748,49734:32749,49735:32751,49736:32754,49737:32756,49738:32757,49739:32758,49740:32759,49741:32760,49742:32761,49743:32762,49744:32765,49745:32766,49746:32767,49747:32770,49748:32775,49749:32776,49750:32777,49751:32778,49752:32782,49753:32783,49754:32785,49755:32787,49756:32794,49757:32795,49758:32797,49759:32798,49760:32799,49761:32801,49762:32803,49763:32804,49764:32811,49765:32812,49766:32813,49767:32814,49768:32815,49769:32816,49770:32818,49771:32820,49772:32825,49773:32826,49774:32828,49775:32830,49776:32832,49777:32833,49778:32836,49779:32837,49780:32839,49781:32840,49782:32841,49783:32846,49784:32847,49785:32848,49786:32849,49787:32851,49788:32853,49789:32854,49790:32855,49792:32857,49793:32859,49794:32860,49795:32861,49796:32862,49797:32863,49798:32864,49799:32865,49800:32866,49801:32867,49802:32868,49803:32869,49804:32870,49805:32871,49806:32872,49807:32875,49808:32876,49809:32877,49810:32878,49811:32879,49812:32880,49813:32882,49814:32883,49815:32884,49816:32885,49817:32886,49818:32887,49819:32888,49820:32889,49821:32890,49822:32891,49823:32892,49824:32893,49825:38534,49826:22404,49827:25314,49828:38471,49829:27004,49830:23044,49831:25602,49832:31699,49833:28431,49834:38475,49835:33446,49836:21346,49837:39045,49838:24208,49839:28809,49840:25523,49841:21348,49842:34383,49843:40065,49844:40595,49845:30860,49846:38706,49847:36335,49848:36162,49849:40575,49850:28510,49851:31108,49852:24405,49853:38470,49854:25134,49855:39540,49856:21525,49857:38109,49858:20387,49859:26053,49860:23653,49861:23649,49862:32533,49863:34385,49864:27695,49865:24459,49866:29575,49867:28388,49868:32511,49869:23782,49870:25371,49871:23402,49872:28390,49873:21365,49874:20081,49875:25504,49876:30053,49877:25249,49878:36718,49879:20262,49880:20177,49881:27814,49882:32438,49883:35770,49884:33821,49885:34746,49886:32599,49887:36923,49888:38179,49889:31657,49890:39585,49891:35064,49892:33853,49893:27931,49894:39558,49895:32476,49896:22920,49897:40635,49898:29595,49899:30721,49900:34434,49901:39532,49902:39554,49903:22043,49904:21527,49905:22475,49906:20080,49907:40614,49908:21334,49909:36808,49910:33033,49911:30610,49912:39314,49913:34542,49914:28385,49915:34067,49916:26364,49917:24930,49918:28459,49984:32894,49985:32897,49986:32898,49987:32901,49988:32904,49989:32906,49990:32909,49991:32910,49992:32911,49993:32912,49994:32913,49995:32914,49996:32916,49997:32917,49998:32919,49999:32921,50000:32926,50001:32931,50002:32934,50003:32935,50004:32936,50005:32940,50006:32944,50007:32947,50008:32949,50009:32950,50010:32952,50011:32953,50012:32955,50013:32965,50014:32967,50015:32968,50016:32969,50017:32970,50018:32971,50019:32975,50020:32976,50021:32977,50022:32978,50023:32979,50024:32980,50025:32981,50026:32984,50027:32991,50028:32992,50029:32994,50030:32995,50031:32998,50032:33006,50033:33013,50034:33015,50035:33017,50036:33019,50037:33022,50038:33023,50039:33024,50040:33025,50041:33027,50042:33028,50043:33029,50044:33031,50045:33032,50046:33035,50048:33036,50049:33045,50050:33047,50051:33049,50052:33051,50053:33052,50054:33053,50055:33055,50056:33056,50057:33057,50058:33058,50059:33059,50060:33060,50061:33061,50062:33062,50063:33063,50064:33064,50065:33065,50066:33066,50067:33067,50068:33069,50069:33070,50070:33072,50071:33075,50072:33076,50073:33077,50074:33079,50075:33081,50076:33082,50077:33083,50078:33084,50079:33085,50080:33087,50081:35881,50082:33426,50083:33579,50084:30450,50085:27667,50086:24537,50087:33725,50088:29483,50089:33541,50090:38170,50091:27611,50092:30683,50093:38086,50094:21359,50095:33538,50096:20882,50097:24125,50098:35980,50099:36152,50100:20040,50101:29611,50102:26522,50103:26757,50104:37238,50105:38665,50106:29028,50107:27809,50108:30473,50109:23186,50110:38209,50111:27599,50112:32654,50113:26151,50114:23504,50115:22969,50116:23194,50117:38376,50118:38391,50119:20204,50120:33804,50121:33945,50122:27308,50123:30431,50124:38192,50125:29467,50126:26790,50127:23391,50128:30511,50129:37274,50130:38753,50131:31964,50132:36855,50133:35868,50134:24357,50135:31859,50136:31192,50137:35269,50138:27852,50139:34588,50140:23494,50141:24130,50142:26825,50143:30496,50144:32501,50145:20885,50146:20813,50147:21193,50148:23081,50149:32517,50150:38754,50151:33495,50152:25551,50153:30596,50154:34256,50155:31186,50156:28218,50157:24217,50158:22937,50159:34065,50160:28781,50161:27665,50162:25279,50163:30399,50164:25935,50165:24751,50166:38397,50167:26126,50168:34719,50169:40483,50170:38125,50171:21517,50172:21629,50173:35884,50174:25720,50240:33088,50241:33089,50242:33090,50243:33091,50244:33092,50245:33093,50246:33095,50247:33097,50248:33101,50249:33102,50250:33103,50251:33106,50252:33110,50253:33111,50254:33112,50255:33115,50256:33116,50257:33117,50258:33118,50259:33119,50260:33121,50261:33122,50262:33123,50263:33124,50264:33126,50265:33128,50266:33130,50267:33131,50268:33132,50269:33135,50270:33138,50271:33139,50272:33141,50273:33142,50274:33143,50275:33144,50276:33153,50277:33155,50278:33156,50279:33157,50280:33158,50281:33159,50282:33161,50283:33163,50284:33164,50285:33165,50286:33166,50287:33168,50288:33170,50289:33171,50290:33172,50291:33173,50292:33174,50293:33175,50294:33177,50295:33178,50296:33182,50297:33183,50298:33184,50299:33185,50300:33186,50301:33188,50302:33189,50304:33191,50305:33193,50306:33195,50307:33196,50308:33197,50309:33198,50310:33199,50311:33200,50312:33201,50313:33202,50314:33204,50315:33205,50316:33206,50317:33207,50318:33208,50319:33209,50320:33212,50321:33213,50322:33214,50323:33215,50324:33220,50325:33221,50326:33223,50327:33224,50328:33225,50329:33227,50330:33229,50331:33230,50332:33231,50333:33232,50334:33233,50335:33234,50336:33235,50337:25721,50338:34321,50339:27169,50340:33180,50341:30952,50342:25705,50343:39764,50344:25273,50345:26411,50346:33707,50347:22696,50348:40664,50349:27819,50350:28448,50351:23518,50352:38476,50353:35851,50354:29279,50355:26576,50356:25287,50357:29281,50358:20137,50359:22982,50360:27597,50361:22675,50362:26286,50363:24149,50364:21215,50365:24917,50366:26408,50367:30446,50368:30566,50369:29287,50370:31302,50371:25343,50372:21738,50373:21584,50374:38048,50375:37027,50376:23068,50377:32435,50378:27670,50379:20035,50380:22902,50381:32784,50382:22856,50383:21335,50384:30007,50385:38590,50386:22218,50387:25376,50388:33041,50389:24700,50390:38393,50391:28118,50392:21602,50393:39297,50394:20869,50395:23273,50396:33021,50397:22958,50398:38675,50399:20522,50400:27877,50401:23612,50402:25311,50403:20320,50404:21311,50405:33147,50406:36870,50407:28346,50408:34091,50409:25288,50410:24180,50411:30910,50412:25781,50413:25467,50414:24565,50415:23064,50416:37247,50417:40479,50418:23615,50419:25423,50420:32834,50421:23421,50422:21870,50423:38218,50424:38221,50425:28037,50426:24744,50427:26592,50428:29406,50429:20957,50430:23425,50496:33236,50497:33237,50498:33238,50499:33239,50500:33240,50501:33241,50502:33242,50503:33243,50504:33244,50505:33245,50506:33246,50507:33247,50508:33248,50509:33249,50510:33250,50511:33252,50512:33253,50513:33254,50514:33256,50515:33257,50516:33259,50517:33262,50518:33263,50519:33264,50520:33265,50521:33266,50522:33269,50523:33270,50524:33271,50525:33272,50526:33273,50527:33274,50528:33277,50529:33279,50530:33283,50531:33287,50532:33288,50533:33289,50534:33290,50535:33291,50536:33294,50537:33295,50538:33297,50539:33299,50540:33301,50541:33302,50542:33303,50543:33304,50544:33305,50545:33306,50546:33309,50547:33312,50548:33316,50549:33317,50550:33318,50551:33319,50552:33321,50553:33326,50554:33330,50555:33338,50556:33340,50557:33341,50558:33343,50560:33344,50561:33345,50562:33346,50563:33347,50564:33349,50565:33350,50566:33352,50567:33354,50568:33356,50569:33357,50570:33358,50571:33360,50572:33361,50573:33362,50574:33363,50575:33364,50576:33365,50577:33366,50578:33367,50579:33369,50580:33371,50581:33372,50582:33373,50583:33374,50584:33376,50585:33377,50586:33378,50587:33379,50588:33380,50589:33381,50590:33382,50591:33383,50592:33385,50593:25319,50594:27870,50595:29275,50596:25197,50597:38062,50598:32445,50599:33043,50600:27987,50601:20892,50602:24324,50603:22900,50604:21162,50605:24594,50606:22899,50607:26262,50608:34384,50609:30111,50610:25386,50611:25062,50612:31983,50613:35834,50614:21734,50615:27431,50616:40485,50617:27572,50618:34261,50619:21589,50620:20598,50621:27812,50622:21866,50623:36276,50624:29228,50625:24085,50626:24597,50627:29750,50628:25293,50629:25490,50630:29260,50631:24472,50632:28227,50633:27966,50634:25856,50635:28504,50636:30424,50637:30928,50638:30460,50639:30036,50640:21028,50641:21467,50642:20051,50643:24222,50644:26049,50645:32810,50646:32982,50647:25243,50648:21638,50649:21032,50650:28846,50651:34957,50652:36305,50653:27873,50654:21624,50655:32986,50656:22521,50657:35060,50658:36180,50659:38506,50660:37197,50661:20329,50662:27803,50663:21943,50664:30406,50665:30768,50666:25256,50667:28921,50668:28558,50669:24429,50670:34028,50671:26842,50672:30844,50673:31735,50674:33192,50675:26379,50676:40527,50677:25447,50678:30896,50679:22383,50680:30738,50681:38713,50682:25209,50683:25259,50684:21128,50685:29749,50686:27607,50752:33386,50753:33387,50754:33388,50755:33389,50756:33393,50757:33397,50758:33398,50759:33399,50760:33400,50761:33403,50762:33404,50763:33408,50764:33409,50765:33411,50766:33413,50767:33414,50768:33415,50769:33417,50770:33420,50771:33424,50772:33427,50773:33428,50774:33429,50775:33430,50776:33434,50777:33435,50778:33438,50779:33440,50780:33442,50781:33443,50782:33447,50783:33458,50784:33461,50785:33462,50786:33466,50787:33467,50788:33468,50789:33471,50790:33472,50791:33474,50792:33475,50793:33477,50794:33478,50795:33481,50796:33488,50797:33494,50798:33497,50799:33498,50800:33501,50801:33506,50802:33511,50803:33512,50804:33513,50805:33514,50806:33516,50807:33517,50808:33518,50809:33520,50810:33522,50811:33523,50812:33525,50813:33526,50814:33528,50816:33530,50817:33532,50818:33533,50819:33534,50820:33535,50821:33536,50822:33546,50823:33547,50824:33549,50825:33552,50826:33554,50827:33555,50828:33558,50829:33560,50830:33561,50831:33565,50832:33566,50833:33567,50834:33568,50835:33569,50836:33570,50837:33571,50838:33572,50839:33573,50840:33574,50841:33577,50842:33578,50843:33582,50844:33584,50845:33586,50846:33591,50847:33595,50848:33597,50849:21860,50850:33086,50851:30130,50852:30382,50853:21305,50854:30174,50855:20731,50856:23617,50857:35692,50858:31687,50859:20559,50860:29255,50861:39575,50862:39128,50863:28418,50864:29922,50865:31080,50866:25735,50867:30629,50868:25340,50869:39057,50870:36139,50871:21697,50872:32856,50873:20050,50874:22378,50875:33529,50876:33805,50877:24179,50878:20973,50879:29942,50880:35780,50881:23631,50882:22369,50883:27900,50884:39047,50885:23110,50886:30772,50887:39748,50888:36843,50889:31893,50890:21078,50891:25169,50892:38138,50893:20166,50894:33670,50895:33889,50896:33769,50897:33970,50898:22484,50899:26420,50900:22275,50901:26222,50902:28006,50903:35889,50904:26333,50905:28689,50906:26399,50907:27450,50908:26646,50909:25114,50910:22971,50911:19971,50912:20932,50913:28422,50914:26578,50915:27791,50916:20854,50917:26827,50918:22855,50919:27495,50920:30054,50921:23822,50922:33040,50923:40784,50924:26071,50925:31048,50926:31041,50927:39569,50928:36215,50929:23682,50930:20062,50931:20225,50932:21551,50933:22865,50934:30732,50935:22120,50936:27668,50937:36804,50938:24323,50939:27773,50940:27875,50941:35755,50942:25488,51008:33598,51009:33599,51010:33601,51011:33602,51012:33604,51013:33605,51014:33608,51015:33610,51016:33611,51017:33612,51018:33613,51019:33614,51020:33619,51021:33621,51022:33622,51023:33623,51024:33624,51025:33625,51026:33629,51027:33634,51028:33648,51029:33649,51030:33650,51031:33651,51032:33652,51033:33653,51034:33654,51035:33657,51036:33658,51037:33662,51038:33663,51039:33664,51040:33665,51041:33666,51042:33667,51043:33668,51044:33671,51045:33672,51046:33674,51047:33675,51048:33676,51049:33677,51050:33679,51051:33680,51052:33681,51053:33684,51054:33685,51055:33686,51056:33687,51057:33689,51058:33690,51059:33693,51060:33695,51061:33697,51062:33698,51063:33699,51064:33700,51065:33701,51066:33702,51067:33703,51068:33708,51069:33709,51070:33710,51072:33711,51073:33717,51074:33723,51075:33726,51076:33727,51077:33730,51078:33731,51079:33732,51080:33734,51081:33736,51082:33737,51083:33739,51084:33741,51085:33742,51086:33744,51087:33745,51088:33746,51089:33747,51090:33749,51091:33751,51092:33753,51093:33754,51094:33755,51095:33758,51096:33762,51097:33763,51098:33764,51099:33766,51100:33767,51101:33768,51102:33771,51103:33772,51104:33773,51105:24688,51106:27965,51107:29301,51108:25190,51109:38030,51110:38085,51111:21315,51112:36801,51113:31614,51114:20191,51115:35878,51116:20094,51117:40660,51118:38065,51119:38067,51120:21069,51121:28508,51122:36963,51123:27973,51124:35892,51125:22545,51126:23884,51127:27424,51128:27465,51129:26538,51130:21595,51131:33108,51132:32652,51133:22681,51134:34103,51135:24378,51136:25250,51137:27207,51138:38201,51139:25970,51140:24708,51141:26725,51142:30631,51143:20052,51144:20392,51145:24039,51146:38808,51147:25772,51148:32728,51149:23789,51150:20431,51151:31373,51152:20999,51153:33540,51154:19988,51155:24623,51156:31363,51157:38054,51158:20405,51159:20146,51160:31206,51161:29748,51162:21220,51163:33465,51164:25810,51165:31165,51166:23517,51167:27777,51168:38738,51169:36731,51170:27682,51171:20542,51172:21375,51173:28165,51174:25806,51175:26228,51176:27696,51177:24773,51178:39031,51179:35831,51180:24198,51181:29756,51182:31351,51183:31179,51184:19992,51185:37041,51186:29699,51187:27714,51188:22234,51189:37195,51190:27845,51191:36235,51192:21306,51193:34502,51194:26354,51195:36527,51196:23624,51197:39537,51198:28192,51264:33774,51265:33775,51266:33779,51267:33780,51268:33781,51269:33782,51270:33783,51271:33786,51272:33787,51273:33788,51274:33790,51275:33791,51276:33792,51277:33794,51278:33797,51279:33799,51280:33800,51281:33801,51282:33802,51283:33808,51284:33810,51285:33811,51286:33812,51287:33813,51288:33814,51289:33815,51290:33817,51291:33818,51292:33819,51293:33822,51294:33823,51295:33824,51296:33825,51297:33826,51298:33827,51299:33833,51300:33834,51301:33835,51302:33836,51303:33837,51304:33838,51305:33839,51306:33840,51307:33842,51308:33843,51309:33844,51310:33845,51311:33846,51312:33847,51313:33849,51314:33850,51315:33851,51316:33854,51317:33855,51318:33856,51319:33857,51320:33858,51321:33859,51322:33860,51323:33861,51324:33863,51325:33864,51326:33865,51328:33866,51329:33867,51330:33868,51331:33869,51332:33870,51333:33871,51334:33872,51335:33874,51336:33875,51337:33876,51338:33877,51339:33878,51340:33880,51341:33885,51342:33886,51343:33887,51344:33888,51345:33890,51346:33892,51347:33893,51348:33894,51349:33895,51350:33896,51351:33898,51352:33902,51353:33903,51354:33904,51355:33906,51356:33908,51357:33911,51358:33913,51359:33915,51360:33916,51361:21462,51362:23094,51363:40843,51364:36259,51365:21435,51366:22280,51367:39079,51368:26435,51369:37275,51370:27849,51371:20840,51372:30154,51373:25331,51374:29356,51375:21048,51376:21149,51377:32570,51378:28820,51379:30264,51380:21364,51381:40522,51382:27063,51383:30830,51384:38592,51385:35033,51386:32676,51387:28982,51388:29123,51389:20873,51390:26579,51391:29924,51392:22756,51393:25880,51394:22199,51395:35753,51396:39286,51397:25200,51398:32469,51399:24825,51400:28909,51401:22764,51402:20161,51403:20154,51404:24525,51405:38887,51406:20219,51407:35748,51408:20995,51409:22922,51410:32427,51411:25172,51412:20173,51413:26085,51414:25102,51415:33592,51416:33993,51417:33635,51418:34701,51419:29076,51420:28342,51421:23481,51422:32466,51423:20887,51424:25545,51425:26580,51426:32905,51427:33593,51428:34837,51429:20754,51430:23418,51431:22914,51432:36785,51433:20083,51434:27741,51435:20837,51436:35109,51437:36719,51438:38446,51439:34122,51440:29790,51441:38160,51442:38384,51443:28070,51444:33509,51445:24369,51446:25746,51447:27922,51448:33832,51449:33134,51450:40131,51451:22622,51452:36187,51453:19977,51454:21441,51520:33917,51521:33918,51522:33919,51523:33920,51524:33921,51525:33923,51526:33924,51527:33925,51528:33926,51529:33930,51530:33933,51531:33935,51532:33936,51533:33937,51534:33938,51535:33939,51536:33940,51537:33941,51538:33942,51539:33944,51540:33946,51541:33947,51542:33949,51543:33950,51544:33951,51545:33952,51546:33954,51547:33955,51548:33956,51549:33957,51550:33958,51551:33959,51552:33960,51553:33961,51554:33962,51555:33963,51556:33964,51557:33965,51558:33966,51559:33968,51560:33969,51561:33971,51562:33973,51563:33974,51564:33975,51565:33979,51566:33980,51567:33982,51568:33984,51569:33986,51570:33987,51571:33989,51572:33990,51573:33991,51574:33992,51575:33995,51576:33996,51577:33998,51578:33999,51579:34002,51580:34004,51581:34005,51582:34007,51584:34008,51585:34009,51586:34010,51587:34011,51588:34012,51589:34014,51590:34017,51591:34018,51592:34020,51593:34023,51594:34024,51595:34025,51596:34026,51597:34027,51598:34029,51599:34030,51600:34031,51601:34033,51602:34034,51603:34035,51604:34036,51605:34037,51606:34038,51607:34039,51608:34040,51609:34041,51610:34042,51611:34043,51612:34045,51613:34046,51614:34048,51615:34049,51616:34050,51617:20254,51618:25955,51619:26705,51620:21971,51621:20007,51622:25620,51623:39578,51624:25195,51625:23234,51626:29791,51627:33394,51628:28073,51629:26862,51630:20711,51631:33678,51632:30722,51633:26432,51634:21049,51635:27801,51636:32433,51637:20667,51638:21861,51639:29022,51640:31579,51641:26194,51642:29642,51643:33515,51644:26441,51645:23665,51646:21024,51647:29053,51648:34923,51649:38378,51650:38485,51651:25797,51652:36193,51653:33203,51654:21892,51655:27733,51656:25159,51657:32558,51658:22674,51659:20260,51660:21830,51661:36175,51662:26188,51663:19978,51664:23578,51665:35059,51666:26786,51667:25422,51668:31245,51669:28903,51670:33421,51671:21242,51672:38902,51673:23569,51674:21736,51675:37045,51676:32461,51677:22882,51678:36170,51679:34503,51680:33292,51681:33293,51682:36198,51683:25668,51684:23556,51685:24913,51686:28041,51687:31038,51688:35774,51689:30775,51690:30003,51691:21627,51692:20280,51693:36523,51694:28145,51695:23072,51696:32453,51697:31070,51698:27784,51699:23457,51700:23158,51701:29978,51702:32958,51703:24910,51704:28183,51705:22768,51706:29983,51707:29989,51708:29298,51709:21319,51710:32499,51776:34051,51777:34052,51778:34053,51779:34054,51780:34055,51781:34056,51782:34057,51783:34058,51784:34059,51785:34061,51786:34062,51787:34063,51788:34064,51789:34066,51790:34068,51791:34069,51792:34070,51793:34072,51794:34073,51795:34075,51796:34076,51797:34077,51798:34078,51799:34080,51800:34082,51801:34083,51802:34084,51803:34085,51804:34086,51805:34087,51806:34088,51807:34089,51808:34090,51809:34093,51810:34094,51811:34095,51812:34096,51813:34097,51814:34098,51815:34099,51816:34100,51817:34101,51818:34102,51819:34110,51820:34111,51821:34112,51822:34113,51823:34114,51824:34116,51825:34117,51826:34118,51827:34119,51828:34123,51829:34124,51830:34125,51831:34126,51832:34127,51833:34128,51834:34129,51835:34130,51836:34131,51837:34132,51838:34133,51840:34135,51841:34136,51842:34138,51843:34139,51844:34140,51845:34141,51846:34143,51847:34144,51848:34145,51849:34146,51850:34147,51851:34149,51852:34150,51853:34151,51854:34153,51855:34154,51856:34155,51857:34156,51858:34157,51859:34158,51860:34159,51861:34160,51862:34161,51863:34163,51864:34165,51865:34166,51866:34167,51867:34168,51868:34172,51869:34173,51870:34175,51871:34176,51872:34177,51873:30465,51874:30427,51875:21097,51876:32988,51877:22307,51878:24072,51879:22833,51880:29422,51881:26045,51882:28287,51883:35799,51884:23608,51885:34417,51886:21313,51887:30707,51888:25342,51889:26102,51890:20160,51891:39135,51892:34432,51893:23454,51894:35782,51895:21490,51896:30690,51897:20351,51898:23630,51899:39542,51900:22987,51901:24335,51902:31034,51903:22763,51904:19990,51905:26623,51906:20107,51907:25325,51908:35475,51909:36893,51910:21183,51911:26159,51912:21980,51913:22124,51914:36866,51915:20181,51916:20365,51917:37322,51918:39280,51919:27663,51920:24066,51921:24643,51922:23460,51923:35270,51924:35797,51925:25910,51926:25163,51927:39318,51928:23432,51929:23551,51930:25480,51931:21806,51932:21463,51933:30246,51934:20861,51935:34092,51936:26530,51937:26803,51938:27530,51939:25234,51940:36755,51941:21460,51942:33298,51943:28113,51944:30095,51945:20070,51946:36174,51947:23408,51948:29087,51949:34223,51950:26257,51951:26329,51952:32626,51953:34560,51954:40653,51955:40736,51956:23646,51957:26415,51958:36848,51959:26641,51960:26463,51961:25101,51962:31446,51963:22661,51964:24246,51965:25968,51966:28465,52032:34178,52033:34179,52034:34182,52035:34184,52036:34185,52037:34186,52038:34187,52039:34188,52040:34189,52041:34190,52042:34192,52043:34193,52044:34194,52045:34195,52046:34196,52047:34197,52048:34198,52049:34199,52050:34200,52051:34201,52052:34202,52053:34205,52054:34206,52055:34207,52056:34208,52057:34209,52058:34210,52059:34211,52060:34213,52061:34214,52062:34215,52063:34217,52064:34219,52065:34220,52066:34221,52067:34225,52068:34226,52069:34227,52070:34228,52071:34229,52072:34230,52073:34232,52074:34234,52075:34235,52076:34236,52077:34237,52078:34238,52079:34239,52080:34240,52081:34242,52082:34243,52083:34244,52084:34245,52085:34246,52086:34247,52087:34248,52088:34250,52089:34251,52090:34252,52091:34253,52092:34254,52093:34257,52094:34258,52096:34260,52097:34262,52098:34263,52099:34264,52100:34265,52101:34266,52102:34267,52103:34269,52104:34270,52105:34271,52106:34272,52107:34273,52108:34274,52109:34275,52110:34277,52111:34278,52112:34279,52113:34280,52114:34282,52115:34283,52116:34284,52117:34285,52118:34286,52119:34287,52120:34288,52121:34289,52122:34290,52123:34291,52124:34292,52125:34293,52126:34294,52127:34295,52128:34296,52129:24661,52130:21047,52131:32781,52132:25684,52133:34928,52134:29993,52135:24069,52136:26643,52137:25332,52138:38684,52139:21452,52140:29245,52141:35841,52142:27700,52143:30561,52144:31246,52145:21550,52146:30636,52147:39034,52148:33308,52149:35828,52150:30805,52151:26388,52152:28865,52153:26031,52154:25749,52155:22070,52156:24605,52157:31169,52158:21496,52159:19997,52160:27515,52161:32902,52162:23546,52163:21987,52164:22235,52165:20282,52166:20284,52167:39282,52168:24051,52169:26494,52170:32824,52171:24578,52172:39042,52173:36865,52174:23435,52175:35772,52176:35829,52177:25628,52178:33368,52179:25822,52180:22013,52181:33487,52182:37221,52183:20439,52184:32032,52185:36895,52186:31903,52187:20723,52188:22609,52189:28335,52190:23487,52191:35785,52192:32899,52193:37240,52194:33948,52195:31639,52196:34429,52197:38539,52198:38543,52199:32485,52200:39635,52201:30862,52202:23681,52203:31319,52204:36930,52205:38567,52206:31071,52207:23385,52208:25439,52209:31499,52210:34001,52211:26797,52212:21766,52213:32553,52214:29712,52215:32034,52216:38145,52217:25152,52218:22604,52219:20182,52220:23427,52221:22905,52222:22612,52288:34297,52289:34298,52290:34300,52291:34301,52292:34302,52293:34304,52294:34305,52295:34306,52296:34307,52297:34308,52298:34310,52299:34311,52300:34312,52301:34313,52302:34314,52303:34315,52304:34316,52305:34317,52306:34318,52307:34319,52308:34320,52309:34322,52310:34323,52311:34324,52312:34325,52313:34327,52314:34328,52315:34329,52316:34330,52317:34331,52318:34332,52319:34333,52320:34334,52321:34335,52322:34336,52323:34337,52324:34338,52325:34339,52326:34340,52327:34341,52328:34342,52329:34344,52330:34346,52331:34347,52332:34348,52333:34349,52334:34350,52335:34351,52336:34352,52337:34353,52338:34354,52339:34355,52340:34356,52341:34357,52342:34358,52343:34359,52344:34361,52345:34362,52346:34363,52347:34365,52348:34366,52349:34367,52350:34368,52352:34369,52353:34370,52354:34371,52355:34372,52356:34373,52357:34374,52358:34375,52359:34376,52360:34377,52361:34378,52362:34379,52363:34380,52364:34386,52365:34387,52366:34389,52367:34390,52368:34391,52369:34392,52370:34393,52371:34395,52372:34396,52373:34397,52374:34399,52375:34400,52376:34401,52377:34403,52378:34404,52379:34405,52380:34406,52381:34407,52382:34408,52383:34409,52384:34410,52385:29549,52386:25374,52387:36427,52388:36367,52389:32974,52390:33492,52391:25260,52392:21488,52393:27888,52394:37214,52395:22826,52396:24577,52397:27760,52398:22349,52399:25674,52400:36138,52401:30251,52402:28393,52403:22363,52404:27264,52405:30192,52406:28525,52407:35885,52408:35848,52409:22374,52410:27631,52411:34962,52412:30899,52413:25506,52414:21497,52415:28845,52416:27748,52417:22616,52418:25642,52419:22530,52420:26848,52421:33179,52422:21776,52423:31958,52424:20504,52425:36538,52426:28108,52427:36255,52428:28907,52429:25487,52430:28059,52431:28372,52432:32486,52433:33796,52434:26691,52435:36867,52436:28120,52437:38518,52438:35752,52439:22871,52440:29305,52441:34276,52442:33150,52443:30140,52444:35466,52445:26799,52446:21076,52447:36386,52448:38161,52449:25552,52450:39064,52451:36420,52452:21884,52453:20307,52454:26367,52455:22159,52456:24789,52457:28053,52458:21059,52459:23625,52460:22825,52461:28155,52462:22635,52463:30000,52464:29980,52465:24684,52466:33300,52467:33094,52468:25361,52469:26465,52470:36834,52471:30522,52472:36339,52473:36148,52474:38081,52475:24086,52476:21381,52477:21548,52478:28867,52544:34413,52545:34415,52546:34416,52547:34418,52548:34419,52549:34420,52550:34421,52551:34422,52552:34423,52553:34424,52554:34435,52555:34436,52556:34437,52557:34438,52558:34439,52559:34440,52560:34441,52561:34446,52562:34447,52563:34448,52564:34449,52565:34450,52566:34452,52567:34454,52568:34455,52569:34456,52570:34457,52571:34458,52572:34459,52573:34462,52574:34463,52575:34464,52576:34465,52577:34466,52578:34469,52579:34470,52580:34475,52581:34477,52582:34478,52583:34482,52584:34483,52585:34487,52586:34488,52587:34489,52588:34491,52589:34492,52590:34493,52591:34494,52592:34495,52593:34497,52594:34498,52595:34499,52596:34501,52597:34504,52598:34508,52599:34509,52600:34514,52601:34515,52602:34517,52603:34518,52604:34519,52605:34522,52606:34524,52608:34525,52609:34528,52610:34529,52611:34530,52612:34531,52613:34533,52614:34534,52615:34535,52616:34536,52617:34538,52618:34539,52619:34540,52620:34543,52621:34549,52622:34550,52623:34551,52624:34554,52625:34555,52626:34556,52627:34557,52628:34559,52629:34561,52630:34564,52631:34565,52632:34566,52633:34571,52634:34572,52635:34574,52636:34575,52637:34576,52638:34577,52639:34580,52640:34582,52641:27712,52642:24311,52643:20572,52644:20141,52645:24237,52646:25402,52647:33351,52648:36890,52649:26704,52650:37230,52651:30643,52652:21516,52653:38108,52654:24420,52655:31461,52656:26742,52657:25413,52658:31570,52659:32479,52660:30171,52661:20599,52662:25237,52663:22836,52664:36879,52665:20984,52666:31171,52667:31361,52668:22270,52669:24466,52670:36884,52671:28034,52672:23648,52673:22303,52674:21520,52675:20820,52676:28237,52677:22242,52678:25512,52679:39059,52680:33151,52681:34581,52682:35114,52683:36864,52684:21534,52685:23663,52686:33216,52687:25302,52688:25176,52689:33073,52690:40501,52691:38464,52692:39534,52693:39548,52694:26925,52695:22949,52696:25299,52697:21822,52698:25366,52699:21703,52700:34521,52701:27964,52702:23043,52703:29926,52704:34972,52705:27498,52706:22806,52707:35916,52708:24367,52709:28286,52710:29609,52711:39037,52712:20024,52713:28919,52714:23436,52715:30871,52716:25405,52717:26202,52718:30358,52719:24779,52720:23451,52721:23113,52722:19975,52723:33109,52724:27754,52725:29579,52726:20129,52727:26505,52728:32593,52729:24448,52730:26106,52731:26395,52732:24536,52733:22916,52734:23041,52800:34585,52801:34587,52802:34589,52803:34591,52804:34592,52805:34596,52806:34598,52807:34599,52808:34600,52809:34602,52810:34603,52811:34604,52812:34605,52813:34607,52814:34608,52815:34610,52816:34611,52817:34613,52818:34614,52819:34616,52820:34617,52821:34618,52822:34620,52823:34621,52824:34624,52825:34625,52826:34626,52827:34627,52828:34628,52829:34629,52830:34630,52831:34634,52832:34635,52833:34637,52834:34639,52835:34640,52836:34641,52837:34642,52838:34644,52839:34645,52840:34646,52841:34648,52842:34650,52843:34651,52844:34652,52845:34653,52846:34654,52847:34655,52848:34657,52849:34658,52850:34662,52851:34663,52852:34664,52853:34665,52854:34666,52855:34667,52856:34668,52857:34669,52858:34671,52859:34673,52860:34674,52861:34675,52862:34677,52864:34679,52865:34680,52866:34681,52867:34682,52868:34687,52869:34688,52870:34689,52871:34692,52872:34694,52873:34695,52874:34697,52875:34698,52876:34700,52877:34702,52878:34703,52879:34704,52880:34705,52881:34706,52882:34708,52883:34709,52884:34710,52885:34712,52886:34713,52887:34714,52888:34715,52889:34716,52890:34717,52891:34718,52892:34720,52893:34721,52894:34722,52895:34723,52896:34724,52897:24013,52898:24494,52899:21361,52900:38886,52901:36829,52902:26693,52903:22260,52904:21807,52905:24799,52906:20026,52907:28493,52908:32500,52909:33479,52910:33806,52911:22996,52912:20255,52913:20266,52914:23614,52915:32428,52916:26410,52917:34074,52918:21619,52919:30031,52920:32963,52921:21890,52922:39759,52923:20301,52924:28205,52925:35859,52926:23561,52927:24944,52928:21355,52929:30239,52930:28201,52931:34442,52932:25991,52933:38395,52934:32441,52935:21563,52936:31283,52937:32010,52938:38382,52939:21985,52940:32705,52941:29934,52942:25373,52943:34583,52944:28065,52945:31389,52946:25105,52947:26017,52948:21351,52949:25569,52950:27779,52951:24043,52952:21596,52953:38056,52954:20044,52955:27745,52956:35820,52957:23627,52958:26080,52959:33436,52960:26791,52961:21566,52962:21556,52963:27595,52964:27494,52965:20116,52966:25410,52967:21320,52968:33310,52969:20237,52970:20398,52971:22366,52972:25098,52973:38654,52974:26212,52975:29289,52976:21247,52977:21153,52978:24735,52979:35823,52980:26132,52981:29081,52982:26512,52983:35199,52984:30802,52985:30717,52986:26224,52987:22075,52988:21560,52989:38177,52990:29306,53056:34725,53057:34726,53058:34727,53059:34729,53060:34730,53061:34734,53062:34736,53063:34737,53064:34738,53065:34740,53066:34742,53067:34743,53068:34744,53069:34745,53070:34747,53071:34748,53072:34750,53073:34751,53074:34753,53075:34754,53076:34755,53077:34756,53078:34757,53079:34759,53080:34760,53081:34761,53082:34764,53083:34765,53084:34766,53085:34767,53086:34768,53087:34772,53088:34773,53089:34774,53090:34775,53091:34776,53092:34777,53093:34778,53094:34780,53095:34781,53096:34782,53097:34783,53098:34785,53099:34786,53100:34787,53101:34788,53102:34790,53103:34791,53104:34792,53105:34793,53106:34795,53107:34796,53108:34797,53109:34799,53110:34800,53111:34801,53112:34802,53113:34803,53114:34804,53115:34805,53116:34806,53117:34807,53118:34808,53120:34810,53121:34811,53122:34812,53123:34813,53124:34815,53125:34816,53126:34817,53127:34818,53128:34820,53129:34821,53130:34822,53131:34823,53132:34824,53133:34825,53134:34827,53135:34828,53136:34829,53137:34830,53138:34831,53139:34832,53140:34833,53141:34834,53142:34836,53143:34839,53144:34840,53145:34841,53146:34842,53147:34844,53148:34845,53149:34846,53150:34847,53151:34848,53152:34851,53153:31232,53154:24687,53155:24076,53156:24713,53157:33181,53158:22805,53159:24796,53160:29060,53161:28911,53162:28330,53163:27728,53164:29312,53165:27268,53166:34989,53167:24109,53168:20064,53169:23219,53170:21916,53171:38115,53172:27927,53173:31995,53174:38553,53175:25103,53176:32454,53177:30606,53178:34430,53179:21283,53180:38686,53181:36758,53182:26247,53183:23777,53184:20384,53185:29421,53186:19979,53187:21414,53188:22799,53189:21523,53190:25472,53191:38184,53192:20808,53193:20185,53194:40092,53195:32420,53196:21688,53197:36132,53198:34900,53199:33335,53200:38386,53201:28046,53202:24358,53203:23244,53204:26174,53205:38505,53206:29616,53207:29486,53208:21439,53209:33146,53210:39301,53211:32673,53212:23466,53213:38519,53214:38480,53215:32447,53216:30456,53217:21410,53218:38262,53219:39321,53220:31665,53221:35140,53222:28248,53223:20065,53224:32724,53225:31077,53226:35814,53227:24819,53228:21709,53229:20139,53230:39033,53231:24055,53232:27233,53233:20687,53234:21521,53235:35937,53236:33831,53237:30813,53238:38660,53239:21066,53240:21742,53241:22179,53242:38144,53243:28040,53244:23477,53245:28102,53246:26195,53312:34852,53313:34853,53314:34854,53315:34855,53316:34856,53317:34857,53318:34858,53319:34859,53320:34860,53321:34861,53322:34862,53323:34863,53324:34864,53325:34865,53326:34867,53327:34868,53328:34869,53329:34870,53330:34871,53331:34872,53332:34874,53333:34875,53334:34877,53335:34878,53336:34879,53337:34881,53338:34882,53339:34883,53340:34886,53341:34887,53342:34888,53343:34889,53344:34890,53345:34891,53346:34894,53347:34895,53348:34896,53349:34897,53350:34898,53351:34899,53352:34901,53353:34902,53354:34904,53355:34906,53356:34907,53357:34908,53358:34909,53359:34910,53360:34911,53361:34912,53362:34918,53363:34919,53364:34922,53365:34925,53366:34927,53367:34929,53368:34931,53369:34932,53370:34933,53371:34934,53372:34936,53373:34937,53374:34938,53376:34939,53377:34940,53378:34944,53379:34947,53380:34950,53381:34951,53382:34953,53383:34954,53384:34956,53385:34958,53386:34959,53387:34960,53388:34961,53389:34963,53390:34964,53391:34965,53392:34967,53393:34968,53394:34969,53395:34970,53396:34971,53397:34973,53398:34974,53399:34975,53400:34976,53401:34977,53402:34979,53403:34981,53404:34982,53405:34983,53406:34984,53407:34985,53408:34986,53409:23567,53410:23389,53411:26657,53412:32918,53413:21880,53414:31505,53415:25928,53416:26964,53417:20123,53418:27463,53419:34638,53420:38795,53421:21327,53422:25375,53423:25658,53424:37034,53425:26012,53426:32961,53427:35856,53428:20889,53429:26800,53430:21368,53431:34809,53432:25032,53433:27844,53434:27899,53435:35874,53436:23633,53437:34218,53438:33455,53439:38156,53440:27427,53441:36763,53442:26032,53443:24571,53444:24515,53445:20449,53446:34885,53447:26143,53448:33125,53449:29481,53450:24826,53451:20852,53452:21009,53453:22411,53454:24418,53455:37026,53456:34892,53457:37266,53458:24184,53459:26447,53460:24615,53461:22995,53462:20804,53463:20982,53464:33016,53465:21256,53466:27769,53467:38596,53468:29066,53469:20241,53470:20462,53471:32670,53472:26429,53473:21957,53474:38152,53475:31168,53476:34966,53477:32483,53478:22687,53479:25100,53480:38656,53481:34394,53482:22040,53483:39035,53484:24464,53485:35768,53486:33988,53487:37207,53488:21465,53489:26093,53490:24207,53491:30044,53492:24676,53493:32110,53494:23167,53495:32490,53496:32493,53497:36713,53498:21927,53499:23459,53500:24748,53501:26059,53502:29572,53568:34988,53569:34990,53570:34991,53571:34992,53572:34994,53573:34995,53574:34996,53575:34997,53576:34998,53577:35000,53578:35001,53579:35002,53580:35003,53581:35005,53582:35006,53583:35007,53584:35008,53585:35011,53586:35012,53587:35015,53588:35016,53589:35018,53590:35019,53591:35020,53592:35021,53593:35023,53594:35024,53595:35025,53596:35027,53597:35030,53598:35031,53599:35034,53600:35035,53601:35036,53602:35037,53603:35038,53604:35040,53605:35041,53606:35046,53607:35047,53608:35049,53609:35050,53610:35051,53611:35052,53612:35053,53613:35054,53614:35055,53615:35058,53616:35061,53617:35062,53618:35063,53619:35066,53620:35067,53621:35069,53622:35071,53623:35072,53624:35073,53625:35075,53626:35076,53627:35077,53628:35078,53629:35079,53630:35080,53632:35081,53633:35083,53634:35084,53635:35085,53636:35086,53637:35087,53638:35089,53639:35092,53640:35093,53641:35094,53642:35095,53643:35096,53644:35100,53645:35101,53646:35102,53647:35103,53648:35104,53649:35106,53650:35107,53651:35108,53652:35110,53653:35111,53654:35112,53655:35113,53656:35116,53657:35117,53658:35118,53659:35119,53660:35121,53661:35122,53662:35123,53663:35125,53664:35127,53665:36873,53666:30307,53667:30505,53668:32474,53669:38772,53670:34203,53671:23398,53672:31348,53673:38634,53674:34880,53675:21195,53676:29071,53677:24490,53678:26092,53679:35810,53680:23547,53681:39535,53682:24033,53683:27529,53684:27739,53685:35757,53686:35759,53687:36874,53688:36805,53689:21387,53690:25276,53691:40486,53692:40493,53693:21568,53694:20011,53695:33469,53696:29273,53697:34460,53698:23830,53699:34905,53700:28079,53701:38597,53702:21713,53703:20122,53704:35766,53705:28937,53706:21693,53707:38409,53708:28895,53709:28153,53710:30416,53711:20005,53712:30740,53713:34578,53714:23721,53715:24310,53716:35328,53717:39068,53718:38414,53719:28814,53720:27839,53721:22852,53722:25513,53723:30524,53724:34893,53725:28436,53726:33395,53727:22576,53728:29141,53729:21388,53730:30746,53731:38593,53732:21761,53733:24422,53734:28976,53735:23476,53736:35866,53737:39564,53738:27523,53739:22830,53740:40495,53741:31207,53742:26472,53743:25196,53744:20335,53745:30113,53746:32650,53747:27915,53748:38451,53749:27687,53750:20208,53751:30162,53752:20859,53753:26679,53754:28478,53755:36992,53756:33136,53757:22934,53758:29814,53824:35128,53825:35129,53826:35130,53827:35131,53828:35132,53829:35133,53830:35134,53831:35135,53832:35136,53833:35138,53834:35139,53835:35141,53836:35142,53837:35143,53838:35144,53839:35145,53840:35146,53841:35147,53842:35148,53843:35149,53844:35150,53845:35151,53846:35152,53847:35153,53848:35154,53849:35155,53850:35156,53851:35157,53852:35158,53853:35159,53854:35160,53855:35161,53856:35162,53857:35163,53858:35164,53859:35165,53860:35168,53861:35169,53862:35170,53863:35171,53864:35172,53865:35173,53866:35175,53867:35176,53868:35177,53869:35178,53870:35179,53871:35180,53872:35181,53873:35182,53874:35183,53875:35184,53876:35185,53877:35186,53878:35187,53879:35188,53880:35189,53881:35190,53882:35191,53883:35192,53884:35193,53885:35194,53886:35196,53888:35197,53889:35198,53890:35200,53891:35202,53892:35204,53893:35205,53894:35207,53895:35208,53896:35209,53897:35210,53898:35211,53899:35212,53900:35213,53901:35214,53902:35215,53903:35216,53904:35217,53905:35218,53906:35219,53907:35220,53908:35221,53909:35222,53910:35223,53911:35224,53912:35225,53913:35226,53914:35227,53915:35228,53916:35229,53917:35230,53918:35231,53919:35232,53920:35233,53921:25671,53922:23591,53923:36965,53924:31377,53925:35875,53926:23002,53927:21676,53928:33280,53929:33647,53930:35201,53931:32768,53932:26928,53933:22094,53934:32822,53935:29239,53936:37326,53937:20918,53938:20063,53939:39029,53940:25494,53941:19994,53942:21494,53943:26355,53944:33099,53945:22812,53946:28082,53947:19968,53948:22777,53949:21307,53950:25558,53951:38129,53952:20381,53953:20234,53954:34915,53955:39056,53956:22839,53957:36951,53958:31227,53959:20202,53960:33008,53961:30097,53962:27778,53963:23452,53964:23016,53965:24413,53966:26885,53967:34433,53968:20506,53969:24050,53970:20057,53971:30691,53972:20197,53973:33402,53974:25233,53975:26131,53976:37009,53977:23673,53978:20159,53979:24441,53980:33222,53981:36920,53982:32900,53983:30123,53984:20134,53985:35028,53986:24847,53987:27589,53988:24518,53989:20041,53990:30410,53991:28322,53992:35811,53993:35758,53994:35850,53995:35793,53996:24322,53997:32764,53998:32716,53999:32462,54000:33589,54001:33643,54002:22240,54003:27575,54004:38899,54005:38452,54006:23035,54007:21535,54008:38134,54009:28139,54010:23493,54011:39278,54012:23609,54013:24341,54014:38544,54080:35234,54081:35235,54082:35236,54083:35237,54084:35238,54085:35239,54086:35240,54087:35241,54088:35242,54089:35243,54090:35244,54091:35245,54092:35246,54093:35247,54094:35248,54095:35249,54096:35250,54097:35251,54098:35252,54099:35253,54100:35254,54101:35255,54102:35256,54103:35257,54104:35258,54105:35259,54106:35260,54107:35261,54108:35262,54109:35263,54110:35264,54111:35267,54112:35277,54113:35283,54114:35284,54115:35285,54116:35287,54117:35288,54118:35289,54119:35291,54120:35293,54121:35295,54122:35296,54123:35297,54124:35298,54125:35300,54126:35303,54127:35304,54128:35305,54129:35306,54130:35308,54131:35309,54132:35310,54133:35312,54134:35313,54135:35314,54136:35316,54137:35317,54138:35318,54139:35319,54140:35320,54141:35321,54142:35322,54144:35323,54145:35324,54146:35325,54147:35326,54148:35327,54149:35329,54150:35330,54151:35331,54152:35332,54153:35333,54154:35334,54155:35336,54156:35337,54157:35338,54158:35339,54159:35340,54160:35341,54161:35342,54162:35343,54163:35344,54164:35345,54165:35346,54166:35347,54167:35348,54168:35349,54169:35350,54170:35351,54171:35352,54172:35353,54173:35354,54174:35355,54175:35356,54176:35357,54177:21360,54178:33521,54179:27185,54180:23156,54181:40560,54182:24212,54183:32552,54184:33721,54185:33828,54186:33829,54187:33639,54188:34631,54189:36814,54190:36194,54191:30408,54192:24433,54193:39062,54194:30828,54195:26144,54196:21727,54197:25317,54198:20323,54199:33219,54200:30152,54201:24248,54202:38605,54203:36362,54204:34553,54205:21647,54206:27891,54207:28044,54208:27704,54209:24703,54210:21191,54211:29992,54212:24189,54213:20248,54214:24736,54215:24551,54216:23588,54217:30001,54218:37038,54219:38080,54220:29369,54221:27833,54222:28216,54223:37193,54224:26377,54225:21451,54226:21491,54227:20305,54228:37321,54229:35825,54230:21448,54231:24188,54232:36802,54233:28132,54234:20110,54235:30402,54236:27014,54237:34398,54238:24858,54239:33286,54240:20313,54241:20446,54242:36926,54243:40060,54244:24841,54245:28189,54246:28180,54247:38533,54248:20104,54249:23089,54250:38632,54251:19982,54252:23679,54253:31161,54254:23431,54255:35821,54256:32701,54257:29577,54258:22495,54259:33419,54260:37057,54261:21505,54262:36935,54263:21947,54264:23786,54265:24481,54266:24840,54267:27442,54268:29425,54269:32946,54270:35465,54336:35358,54337:35359,54338:35360,54339:35361,54340:35362,54341:35363,54342:35364,54343:35365,54344:35366,54345:35367,54346:35368,54347:35369,54348:35370,54349:35371,54350:35372,54351:35373,54352:35374,54353:35375,54354:35376,54355:35377,54356:35378,54357:35379,54358:35380,54359:35381,54360:35382,54361:35383,54362:35384,54363:35385,54364:35386,54365:35387,54366:35388,54367:35389,54368:35391,54369:35392,54370:35393,54371:35394,54372:35395,54373:35396,54374:35397,54375:35398,54376:35399,54377:35401,54378:35402,54379:35403,54380:35404,54381:35405,54382:35406,54383:35407,54384:35408,54385:35409,54386:35410,54387:35411,54388:35412,54389:35413,54390:35414,54391:35415,54392:35416,54393:35417,54394:35418,54395:35419,54396:35420,54397:35421,54398:35422,54400:35423,54401:35424,54402:35425,54403:35426,54404:35427,54405:35428,54406:35429,54407:35430,54408:35431,54409:35432,54410:35433,54411:35434,54412:35435,54413:35436,54414:35437,54415:35438,54416:35439,54417:35440,54418:35441,54419:35442,54420:35443,54421:35444,54422:35445,54423:35446,54424:35447,54425:35448,54426:35450,54427:35451,54428:35452,54429:35453,54430:35454,54431:35455,54432:35456,54433:28020,54434:23507,54435:35029,54436:39044,54437:35947,54438:39533,54439:40499,54440:28170,54441:20900,54442:20803,54443:22435,54444:34945,54445:21407,54446:25588,54447:36757,54448:22253,54449:21592,54450:22278,54451:29503,54452:28304,54453:32536,54454:36828,54455:33489,54456:24895,54457:24616,54458:38498,54459:26352,54460:32422,54461:36234,54462:36291,54463:38053,54464:23731,54465:31908,54466:26376,54467:24742,54468:38405,54469:32792,54470:20113,54471:37095,54472:21248,54473:38504,54474:20801,54475:36816,54476:34164,54477:37213,54478:26197,54479:38901,54480:23381,54481:21277,54482:30776,54483:26434,54484:26685,54485:21705,54486:28798,54487:23472,54488:36733,54489:20877,54490:22312,54491:21681,54492:25874,54493:26242,54494:36190,54495:36163,54496:33039,54497:33900,54498:36973,54499:31967,54500:20991,54501:34299,54502:26531,54503:26089,54504:28577,54505:34468,54506:36481,54507:22122,54508:36896,54509:30338,54510:28790,54511:29157,54512:36131,54513:25321,54514:21017,54515:27901,54516:36156,54517:24590,54518:22686,54519:24974,54520:26366,54521:36192,54522:25166,54523:21939,54524:28195,54525:26413,54526:36711,54592:35457,54593:35458,54594:35459,54595:35460,54596:35461,54597:35462,54598:35463,54599:35464,54600:35467,54601:35468,54602:35469,54603:35470,54604:35471,54605:35472,54606:35473,54607:35474,54608:35476,54609:35477,54610:35478,54611:35479,54612:35480,54613:35481,54614:35482,54615:35483,54616:35484,54617:35485,54618:35486,54619:35487,54620:35488,54621:35489,54622:35490,54623:35491,54624:35492,54625:35493,54626:35494,54627:35495,54628:35496,54629:35497,54630:35498,54631:35499,54632:35500,54633:35501,54634:35502,54635:35503,54636:35504,54637:35505,54638:35506,54639:35507,54640:35508,54641:35509,54642:35510,54643:35511,54644:35512,54645:35513,54646:35514,54647:35515,54648:35516,54649:35517,54650:35518,54651:35519,54652:35520,54653:35521,54654:35522,54656:35523,54657:35524,54658:35525,54659:35526,54660:35527,54661:35528,54662:35529,54663:35530,54664:35531,54665:35532,54666:35533,54667:35534,54668:35535,54669:35536,54670:35537,54671:35538,54672:35539,54673:35540,54674:35541,54675:35542,54676:35543,54677:35544,54678:35545,54679:35546,54680:35547,54681:35548,54682:35549,54683:35550,54684:35551,54685:35552,54686:35553,54687:35554,54688:35555,54689:38113,54690:38392,54691:30504,54692:26629,54693:27048,54694:21643,54695:20045,54696:28856,54697:35784,54698:25688,54699:25995,54700:23429,54701:31364,54702:20538,54703:23528,54704:30651,54705:27617,54706:35449,54707:31896,54708:27838,54709:30415,54710:26025,54711:36759,54712:23853,54713:23637,54714:34360,54715:26632,54716:21344,54717:25112,54718:31449,54719:28251,54720:32509,54721:27167,54722:31456,54723:24432,54724:28467,54725:24352,54726:25484,54727:28072,54728:26454,54729:19976,54730:24080,54731:36134,54732:20183,54733:32960,54734:30260,54735:38556,54736:25307,54737:26157,54738:25214,54739:27836,54740:36213,54741:29031,54742:32617,54743:20806,54744:32903,54745:21484,54746:36974,54747:25240,54748:21746,54749:34544,54750:36761,54751:32773,54752:38167,54753:34071,54754:36825,54755:27993,54756:29645,54757:26015,54758:30495,54759:29956,54760:30759,54761:33275,54762:36126,54763:38024,54764:20390,54765:26517,54766:30137,54767:35786,54768:38663,54769:25391,54770:38215,54771:38453,54772:33976,54773:25379,54774:30529,54775:24449,54776:29424,54777:20105,54778:24596,54779:25972,54780:25327,54781:27491,54782:25919,54848:35556,54849:35557,54850:35558,54851:35559,54852:35560,54853:35561,54854:35562,54855:35563,54856:35564,54857:35565,54858:35566,54859:35567,54860:35568,54861:35569,54862:35570,54863:35571,54864:35572,54865:35573,54866:35574,54867:35575,54868:35576,54869:35577,54870:35578,54871:35579,54872:35580,54873:35581,54874:35582,54875:35583,54876:35584,54877:35585,54878:35586,54879:35587,54880:35588,54881:35589,54882:35590,54883:35592,54884:35593,54885:35594,54886:35595,54887:35596,54888:35597,54889:35598,54890:35599,54891:35600,54892:35601,54893:35602,54894:35603,54895:35604,54896:35605,54897:35606,54898:35607,54899:35608,54900:35609,54901:35610,54902:35611,54903:35612,54904:35613,54905:35614,54906:35615,54907:35616,54908:35617,54909:35618,54910:35619,54912:35620,54913:35621,54914:35623,54915:35624,54916:35625,54917:35626,54918:35627,54919:35628,54920:35629,54921:35630,54922:35631,54923:35632,54924:35633,54925:35634,54926:35635,54927:35636,54928:35637,54929:35638,54930:35639,54931:35640,54932:35641,54933:35642,54934:35643,54935:35644,54936:35645,54937:35646,54938:35647,54939:35648,54940:35649,54941:35650,54942:35651,54943:35652,54944:35653,54945:24103,54946:30151,54947:37073,54948:35777,54949:33437,54950:26525,54951:25903,54952:21553,54953:34584,54954:30693,54955:32930,54956:33026,54957:27713,54958:20043,54959:32455,54960:32844,54961:30452,54962:26893,54963:27542,54964:25191,54965:20540,54966:20356,54967:22336,54968:25351,54969:27490,54970:36286,54971:21482,54972:26088,54973:32440,54974:24535,54975:25370,54976:25527,54977:33267,54978:33268,54979:32622,54980:24092,54981:23769,54982:21046,54983:26234,54984:31209,54985:31258,54986:36136,54987:28825,54988:30164,54989:28382,54990:27835,54991:31378,54992:20013,54993:30405,54994:24544,54995:38047,54996:34935,54997:32456,54998:31181,54999:32959,55000:37325,55001:20210,55002:20247,55003:33311,55004:21608,55005:24030,55006:27954,55007:35788,55008:31909,55009:36724,55010:32920,55011:24090,55012:21650,55013:30385,55014:23449,55015:26172,55016:39588,55017:29664,55018:26666,55019:34523,55020:26417,55021:29482,55022:35832,55023:35803,55024:36880,55025:31481,55026:28891,55027:29038,55028:25284,55029:30633,55030:22065,55031:20027,55032:33879,55033:26609,55034:21161,55035:34496,55036:36142,55037:38136,55038:31569,55104:35654,55105:35655,55106:35656,55107:35657,55108:35658,55109:35659,55110:35660,55111:35661,55112:35662,55113:35663,55114:35664,55115:35665,55116:35666,55117:35667,55118:35668,55119:35669,55120:35670,55121:35671,55122:35672,55123:35673,55124:35674,55125:35675,55126:35676,55127:35677,55128:35678,55129:35679,55130:35680,55131:35681,55132:35682,55133:35683,55134:35684,55135:35685,55136:35687,55137:35688,55138:35689,55139:35690,55140:35691,55141:35693,55142:35694,55143:35695,55144:35696,55145:35697,55146:35698,55147:35699,55148:35700,55149:35701,55150:35702,55151:35703,55152:35704,55153:35705,55154:35706,55155:35707,55156:35708,55157:35709,55158:35710,55159:35711,55160:35712,55161:35713,55162:35714,55163:35715,55164:35716,55165:35717,55166:35718,55168:35719,55169:35720,55170:35721,55171:35722,55172:35723,55173:35724,55174:35725,55175:35726,55176:35727,55177:35728,55178:35729,55179:35730,55180:35731,55181:35732,55182:35733,55183:35734,55184:35735,55185:35736,55186:35737,55187:35738,55188:35739,55189:35740,55190:35741,55191:35742,55192:35743,55193:35756,55194:35761,55195:35771,55196:35783,55197:35792,55198:35818,55199:35849,55200:35870,55201:20303,55202:27880,55203:31069,55204:39547,55205:25235,55206:29226,55207:25341,55208:19987,55209:30742,55210:36716,55211:25776,55212:36186,55213:31686,55214:26729,55215:24196,55216:35013,55217:22918,55218:25758,55219:22766,55220:29366,55221:26894,55222:38181,55223:36861,55224:36184,55225:22368,55226:32512,55227:35846,55228:20934,55229:25417,55230:25305,55231:21331,55232:26700,55233:29730,55234:33537,55235:37196,55236:21828,55237:30528,55238:28796,55239:27978,55240:20857,55241:21672,55242:36164,55243:23039,55244:28363,55245:28100,55246:23388,55247:32043,55248:20180,55249:31869,55250:28371,55251:23376,55252:33258,55253:28173,55254:23383,55255:39683,55256:26837,55257:36394,55258:23447,55259:32508,55260:24635,55261:32437,55262:37049,55263:36208,55264:22863,55265:25549,55266:31199,55267:36275,55268:21330,55269:26063,55270:31062,55271:35781,55272:38459,55273:32452,55274:38075,55275:32386,55276:22068,55277:37257,55278:26368,55279:32618,55280:23562,55281:36981,55282:26152,55283:24038,55284:20304,55285:26590,55286:20570,55287:20316,55288:22352,55289:24231,55290:59408,55291:59409,55292:59410,55293:59411,55294:59412,55360:35896,55361:35897,55362:35898,55363:35899,55364:35900,55365:35901,55366:35902,55367:35903,55368:35904,55369:35906,55370:35907,55371:35908,55372:35909,55373:35912,55374:35914,55375:35915,55376:35917,55377:35918,55378:35919,55379:35920,55380:35921,55381:35922,55382:35923,55383:35924,55384:35926,55385:35927,55386:35928,55387:35929,55388:35931,55389:35932,55390:35933,55391:35934,55392:35935,55393:35936,55394:35939,55395:35940,55396:35941,55397:35942,55398:35943,55399:35944,55400:35945,55401:35948,55402:35949,55403:35950,55404:35951,55405:35952,55406:35953,55407:35954,55408:35956,55409:35957,55410:35958,55411:35959,55412:35963,55413:35964,55414:35965,55415:35966,55416:35967,55417:35968,55418:35969,55419:35971,55420:35972,55421:35974,55422:35975,55424:35976,55425:35979,55426:35981,55427:35982,55428:35983,55429:35984,55430:35985,55431:35986,55432:35987,55433:35989,55434:35990,55435:35991,55436:35993,55437:35994,55438:35995,55439:35996,55440:35997,55441:35998,55442:35999,55443:36000,55444:36001,55445:36002,55446:36003,55447:36004,55448:36005,55449:36006,55450:36007,55451:36008,55452:36009,55453:36010,55454:36011,55455:36012,55456:36013,55457:20109,55458:19980,55459:20800,55460:19984,55461:24319,55462:21317,55463:19989,55464:20120,55465:19998,55466:39730,55467:23404,55468:22121,55469:20008,55470:31162,55471:20031,55472:21269,55473:20039,55474:22829,55475:29243,55476:21358,55477:27664,55478:22239,55479:32996,55480:39319,55481:27603,55482:30590,55483:40727,55484:20022,55485:20127,55486:40720,55487:20060,55488:20073,55489:20115,55490:33416,55491:23387,55492:21868,55493:22031,55494:20164,55495:21389,55496:21405,55497:21411,55498:21413,55499:21422,55500:38757,55501:36189,55502:21274,55503:21493,55504:21286,55505:21294,55506:21310,55507:36188,55508:21350,55509:21347,55510:20994,55511:21000,55512:21006,55513:21037,55514:21043,55515:21055,55516:21056,55517:21068,55518:21086,55519:21089,55520:21084,55521:33967,55522:21117,55523:21122,55524:21121,55525:21136,55526:21139,55527:20866,55528:32596,55529:20155,55530:20163,55531:20169,55532:20162,55533:20200,55534:20193,55535:20203,55536:20190,55537:20251,55538:20211,55539:20258,55540:20324,55541:20213,55542:20261,55543:20263,55544:20233,55545:20267,55546:20318,55547:20327,55548:25912,55549:20314,55550:20317,55616:36014,55617:36015,55618:36016,55619:36017,55620:36018,55621:36019,55622:36020,55623:36021,55624:36022,55625:36023,55626:36024,55627:36025,55628:36026,55629:36027,55630:36028,55631:36029,55632:36030,55633:36031,55634:36032,55635:36033,55636:36034,55637:36035,55638:36036,55639:36037,55640:36038,55641:36039,55642:36040,55643:36041,55644:36042,55645:36043,55646:36044,55647:36045,55648:36046,55649:36047,55650:36048,55651:36049,55652:36050,55653:36051,55654:36052,55655:36053,55656:36054,55657:36055,55658:36056,55659:36057,55660:36058,55661:36059,55662:36060,55663:36061,55664:36062,55665:36063,55666:36064,55667:36065,55668:36066,55669:36067,55670:36068,55671:36069,55672:36070,55673:36071,55674:36072,55675:36073,55676:36074,55677:36075,55678:36076,55680:36077,55681:36078,55682:36079,55683:36080,55684:36081,55685:36082,55686:36083,55687:36084,55688:36085,55689:36086,55690:36087,55691:36088,55692:36089,55693:36090,55694:36091,55695:36092,55696:36093,55697:36094,55698:36095,55699:36096,55700:36097,55701:36098,55702:36099,55703:36100,55704:36101,55705:36102,55706:36103,55707:36104,55708:36105,55709:36106,55710:36107,55711:36108,55712:36109,55713:20319,55714:20311,55715:20274,55716:20285,55717:20342,55718:20340,55719:20369,55720:20361,55721:20355,55722:20367,55723:20350,55724:20347,55725:20394,55726:20348,55727:20396,55728:20372,55729:20454,55730:20456,55731:20458,55732:20421,55733:20442,55734:20451,55735:20444,55736:20433,55737:20447,55738:20472,55739:20521,55740:20556,55741:20467,55742:20524,55743:20495,55744:20526,55745:20525,55746:20478,55747:20508,55748:20492,55749:20517,55750:20520,55751:20606,55752:20547,55753:20565,55754:20552,55755:20558,55756:20588,55757:20603,55758:20645,55759:20647,55760:20649,55761:20666,55762:20694,55763:20742,55764:20717,55765:20716,55766:20710,55767:20718,55768:20743,55769:20747,55770:20189,55771:27709,55772:20312,55773:20325,55774:20430,55775:40864,55776:27718,55777:31860,55778:20846,55779:24061,55780:40649,55781:39320,55782:20865,55783:22804,55784:21241,55785:21261,55786:35335,55787:21264,55788:20971,55789:22809,55790:20821,55791:20128,55792:20822,55793:20147,55794:34926,55795:34980,55796:20149,55797:33044,55798:35026,55799:31104,55800:23348,55801:34819,55802:32696,55803:20907,55804:20913,55805:20925,55806:20924,55872:36110,55873:36111,55874:36112,55875:36113,55876:36114,55877:36115,55878:36116,55879:36117,55880:36118,55881:36119,55882:36120,55883:36121,55884:36122,55885:36123,55886:36124,55887:36128,55888:36177,55889:36178,55890:36183,55891:36191,55892:36197,55893:36200,55894:36201,55895:36202,55896:36204,55897:36206,55898:36207,55899:36209,55900:36210,55901:36216,55902:36217,55903:36218,55904:36219,55905:36220,55906:36221,55907:36222,55908:36223,55909:36224,55910:36226,55911:36227,55912:36230,55913:36231,55914:36232,55915:36233,55916:36236,55917:36237,55918:36238,55919:36239,55920:36240,55921:36242,55922:36243,55923:36245,55924:36246,55925:36247,55926:36248,55927:36249,55928:36250,55929:36251,55930:36252,55931:36253,55932:36254,55933:36256,55934:36257,55936:36258,55937:36260,55938:36261,55939:36262,55940:36263,55941:36264,55942:36265,55943:36266,55944:36267,55945:36268,55946:36269,55947:36270,55948:36271,55949:36272,55950:36274,55951:36278,55952:36279,55953:36281,55954:36283,55955:36285,55956:36288,55957:36289,55958:36290,55959:36293,55960:36295,55961:36296,55962:36297,55963:36298,55964:36301,55965:36304,55966:36306,55967:36307,55968:36308,55969:20935,55970:20886,55971:20898,55972:20901,55973:35744,55974:35750,55975:35751,55976:35754,55977:35764,55978:35765,55979:35767,55980:35778,55981:35779,55982:35787,55983:35791,55984:35790,55985:35794,55986:35795,55987:35796,55988:35798,55989:35800,55990:35801,55991:35804,55992:35807,55993:35808,55994:35812,55995:35816,55996:35817,55997:35822,55998:35824,55999:35827,56000:35830,56001:35833,56002:35836,56003:35839,56004:35840,56005:35842,56006:35844,56007:35847,56008:35852,56009:35855,56010:35857,56011:35858,56012:35860,56013:35861,56014:35862,56015:35865,56016:35867,56017:35864,56018:35869,56019:35871,56020:35872,56021:35873,56022:35877,56023:35879,56024:35882,56025:35883,56026:35886,56027:35887,56028:35890,56029:35891,56030:35893,56031:35894,56032:21353,56033:21370,56034:38429,56035:38434,56036:38433,56037:38449,56038:38442,56039:38461,56040:38460,56041:38466,56042:38473,56043:38484,56044:38495,56045:38503,56046:38508,56047:38514,56048:38516,56049:38536,56050:38541,56051:38551,56052:38576,56053:37015,56054:37019,56055:37021,56056:37017,56057:37036,56058:37025,56059:37044,56060:37043,56061:37046,56062:37050,56128:36309,56129:36312,56130:36313,56131:36316,56132:36320,56133:36321,56134:36322,56135:36325,56136:36326,56137:36327,56138:36329,56139:36333,56140:36334,56141:36336,56142:36337,56143:36338,56144:36340,56145:36342,56146:36348,56147:36350,56148:36351,56149:36352,56150:36353,56151:36354,56152:36355,56153:36356,56154:36358,56155:36359,56156:36360,56157:36363,56158:36365,56159:36366,56160:36368,56161:36369,56162:36370,56163:36371,56164:36373,56165:36374,56166:36375,56167:36376,56168:36377,56169:36378,56170:36379,56171:36380,56172:36384,56173:36385,56174:36388,56175:36389,56176:36390,56177:36391,56178:36392,56179:36395,56180:36397,56181:36400,56182:36402,56183:36403,56184:36404,56185:36406,56186:36407,56187:36408,56188:36411,56189:36412,56190:36414,56192:36415,56193:36419,56194:36421,56195:36422,56196:36428,56197:36429,56198:36430,56199:36431,56200:36432,56201:36435,56202:36436,56203:36437,56204:36438,56205:36439,56206:36440,56207:36442,56208:36443,56209:36444,56210:36445,56211:36446,56212:36447,56213:36448,56214:36449,56215:36450,56216:36451,56217:36452,56218:36453,56219:36455,56220:36456,56221:36458,56222:36459,56223:36462,56224:36465,56225:37048,56226:37040,56227:37071,56228:37061,56229:37054,56230:37072,56231:37060,56232:37063,56233:37075,56234:37094,56235:37090,56236:37084,56237:37079,56238:37083,56239:37099,56240:37103,56241:37118,56242:37124,56243:37154,56244:37150,56245:37155,56246:37169,56247:37167,56248:37177,56249:37187,56250:37190,56251:21005,56252:22850,56253:21154,56254:21164,56255:21165,56256:21182,56257:21759,56258:21200,56259:21206,56260:21232,56261:21471,56262:29166,56263:30669,56264:24308,56265:20981,56266:20988,56267:39727,56268:21430,56269:24321,56270:30042,56271:24047,56272:22348,56273:22441,56274:22433,56275:22654,56276:22716,56277:22725,56278:22737,56279:22313,56280:22316,56281:22314,56282:22323,56283:22329,56284:22318,56285:22319,56286:22364,56287:22331,56288:22338,56289:22377,56290:22405,56291:22379,56292:22406,56293:22396,56294:22395,56295:22376,56296:22381,56297:22390,56298:22387,56299:22445,56300:22436,56301:22412,56302:22450,56303:22479,56304:22439,56305:22452,56306:22419,56307:22432,56308:22485,56309:22488,56310:22490,56311:22489,56312:22482,56313:22456,56314:22516,56315:22511,56316:22520,56317:22500,56318:22493,56384:36467,56385:36469,56386:36471,56387:36472,56388:36473,56389:36474,56390:36475,56391:36477,56392:36478,56393:36480,56394:36482,56395:36483,56396:36484,56397:36486,56398:36488,56399:36489,56400:36490,56401:36491,56402:36492,56403:36493,56404:36494,56405:36497,56406:36498,56407:36499,56408:36501,56409:36502,56410:36503,56411:36504,56412:36505,56413:36506,56414:36507,56415:36509,56416:36511,56417:36512,56418:36513,56419:36514,56420:36515,56421:36516,56422:36517,56423:36518,56424:36519,56425:36520,56426:36521,56427:36522,56428:36525,56429:36526,56430:36528,56431:36529,56432:36531,56433:36532,56434:36533,56435:36534,56436:36535,56437:36536,56438:36537,56439:36539,56440:36540,56441:36541,56442:36542,56443:36543,56444:36544,56445:36545,56446:36546,56448:36547,56449:36548,56450:36549,56451:36550,56452:36551,56453:36552,56454:36553,56455:36554,56456:36555,56457:36556,56458:36557,56459:36559,56460:36560,56461:36561,56462:36562,56463:36563,56464:36564,56465:36565,56466:36566,56467:36567,56468:36568,56469:36569,56470:36570,56471:36571,56472:36572,56473:36573,56474:36574,56475:36575,56476:36576,56477:36577,56478:36578,56479:36579,56480:36580,56481:22539,56482:22541,56483:22525,56484:22509,56485:22528,56486:22558,56487:22553,56488:22596,56489:22560,56490:22629,56491:22636,56492:22657,56493:22665,56494:22682,56495:22656,56496:39336,56497:40729,56498:25087,56499:33401,56500:33405,56501:33407,56502:33423,56503:33418,56504:33448,56505:33412,56506:33422,56507:33425,56508:33431,56509:33433,56510:33451,56511:33464,56512:33470,56513:33456,56514:33480,56515:33482,56516:33507,56517:33432,56518:33463,56519:33454,56520:33483,56521:33484,56522:33473,56523:33449,56524:33460,56525:33441,56526:33450,56527:33439,56528:33476,56529:33486,56530:33444,56531:33505,56532:33545,56533:33527,56534:33508,56535:33551,56536:33543,56537:33500,56538:33524,56539:33490,56540:33496,56541:33548,56542:33531,56543:33491,56544:33553,56545:33562,56546:33542,56547:33556,56548:33557,56549:33504,56550:33493,56551:33564,56552:33617,56553:33627,56554:33628,56555:33544,56556:33682,56557:33596,56558:33588,56559:33585,56560:33691,56561:33630,56562:33583,56563:33615,56564:33607,56565:33603,56566:33631,56567:33600,56568:33559,56569:33632,56570:33581,56571:33594,56572:33587,56573:33638,56574:33637,56640:36581,56641:36582,56642:36583,56643:36584,56644:36585,56645:36586,56646:36587,56647:36588,56648:36589,56649:36590,56650:36591,56651:36592,56652:36593,56653:36594,56654:36595,56655:36596,56656:36597,56657:36598,56658:36599,56659:36600,56660:36601,56661:36602,56662:36603,56663:36604,56664:36605,56665:36606,56666:36607,56667:36608,56668:36609,56669:36610,56670:36611,56671:36612,56672:36613,56673:36614,56674:36615,56675:36616,56676:36617,56677:36618,56678:36619,56679:36620,56680:36621,56681:36622,56682:36623,56683:36624,56684:36625,56685:36626,56686:36627,56687:36628,56688:36629,56689:36630,56690:36631,56691:36632,56692:36633,56693:36634,56694:36635,56695:36636,56696:36637,56697:36638,56698:36639,56699:36640,56700:36641,56701:36642,56702:36643,56704:36644,56705:36645,56706:36646,56707:36647,56708:36648,56709:36649,56710:36650,56711:36651,56712:36652,56713:36653,56714:36654,56715:36655,56716:36656,56717:36657,56718:36658,56719:36659,56720:36660,56721:36661,56722:36662,56723:36663,56724:36664,56725:36665,56726:36666,56727:36667,56728:36668,56729:36669,56730:36670,56731:36671,56732:36672,56733:36673,56734:36674,56735:36675,56736:36676,56737:33640,56738:33563,56739:33641,56740:33644,56741:33642,56742:33645,56743:33646,56744:33712,56745:33656,56746:33715,56747:33716,56748:33696,56749:33706,56750:33683,56751:33692,56752:33669,56753:33660,56754:33718,56755:33705,56756:33661,56757:33720,56758:33659,56759:33688,56760:33694,56761:33704,56762:33722,56763:33724,56764:33729,56765:33793,56766:33765,56767:33752,56768:22535,56769:33816,56770:33803,56771:33757,56772:33789,56773:33750,56774:33820,56775:33848,56776:33809,56777:33798,56778:33748,56779:33759,56780:33807,56781:33795,56782:33784,56783:33785,56784:33770,56785:33733,56786:33728,56787:33830,56788:33776,56789:33761,56790:33884,56791:33873,56792:33882,56793:33881,56794:33907,56795:33927,56796:33928,56797:33914,56798:33929,56799:33912,56800:33852,56801:33862,56802:33897,56803:33910,56804:33932,56805:33934,56806:33841,56807:33901,56808:33985,56809:33997,56810:34000,56811:34022,56812:33981,56813:34003,56814:33994,56815:33983,56816:33978,56817:34016,56818:33953,56819:33977,56820:33972,56821:33943,56822:34021,56823:34019,56824:34060,56825:29965,56826:34104,56827:34032,56828:34105,56829:34079,56830:34106,56896:36677,56897:36678,56898:36679,56899:36680,56900:36681,56901:36682,56902:36683,56903:36684,56904:36685,56905:36686,56906:36687,56907:36688,56908:36689,56909:36690,56910:36691,56911:36692,56912:36693,56913:36694,56914:36695,56915:36696,56916:36697,56917:36698,56918:36699,56919:36700,56920:36701,56921:36702,56922:36703,56923:36704,56924:36705,56925:36706,56926:36707,56927:36708,56928:36709,56929:36714,56930:36736,56931:36748,56932:36754,56933:36765,56934:36768,56935:36769,56936:36770,56937:36772,56938:36773,56939:36774,56940:36775,56941:36778,56942:36780,56943:36781,56944:36782,56945:36783,56946:36786,56947:36787,56948:36788,56949:36789,56950:36791,56951:36792,56952:36794,56953:36795,56954:36796,56955:36799,56956:36800,56957:36803,56958:36806,56960:36809,56961:36810,56962:36811,56963:36812,56964:36813,56965:36815,56966:36818,56967:36822,56968:36823,56969:36826,56970:36832,56971:36833,56972:36835,56973:36839,56974:36844,56975:36847,56976:36849,56977:36850,56978:36852,56979:36853,56980:36854,56981:36858,56982:36859,56983:36860,56984:36862,56985:36863,56986:36871,56987:36872,56988:36876,56989:36878,56990:36883,56991:36885,56992:36888,56993:34134,56994:34107,56995:34047,56996:34044,56997:34137,56998:34120,56999:34152,57000:34148,57001:34142,57002:34170,57003:30626,57004:34115,57005:34162,57006:34171,57007:34212,57008:34216,57009:34183,57010:34191,57011:34169,57012:34222,57013:34204,57014:34181,57015:34233,57016:34231,57017:34224,57018:34259,57019:34241,57020:34268,57021:34303,57022:34343,57023:34309,57024:34345,57025:34326,57026:34364,57027:24318,57028:24328,57029:22844,57030:22849,57031:32823,57032:22869,57033:22874,57034:22872,57035:21263,57036:23586,57037:23589,57038:23596,57039:23604,57040:25164,57041:25194,57042:25247,57043:25275,57044:25290,57045:25306,57046:25303,57047:25326,57048:25378,57049:25334,57050:25401,57051:25419,57052:25411,57053:25517,57054:25590,57055:25457,57056:25466,57057:25486,57058:25524,57059:25453,57060:25516,57061:25482,57062:25449,57063:25518,57064:25532,57065:25586,57066:25592,57067:25568,57068:25599,57069:25540,57070:25566,57071:25550,57072:25682,57073:25542,57074:25534,57075:25669,57076:25665,57077:25611,57078:25627,57079:25632,57080:25612,57081:25638,57082:25633,57083:25694,57084:25732,57085:25709,57086:25750,57152:36889,57153:36892,57154:36899,57155:36900,57156:36901,57157:36903,57158:36904,57159:36905,57160:36906,57161:36907,57162:36908,57163:36912,57164:36913,57165:36914,57166:36915,57167:36916,57168:36919,57169:36921,57170:36922,57171:36925,57172:36927,57173:36928,57174:36931,57175:36933,57176:36934,57177:36936,57178:36937,57179:36938,57180:36939,57181:36940,57182:36942,57183:36948,57184:36949,57185:36950,57186:36953,57187:36954,57188:36956,57189:36957,57190:36958,57191:36959,57192:36960,57193:36961,57194:36964,57195:36966,57196:36967,57197:36969,57198:36970,57199:36971,57200:36972,57201:36975,57202:36976,57203:36977,57204:36978,57205:36979,57206:36982,57207:36983,57208:36984,57209:36985,57210:36986,57211:36987,57212:36988,57213:36990,57214:36993,57216:36996,57217:36997,57218:36998,57219:36999,57220:37001,57221:37002,57222:37004,57223:37005,57224:37006,57225:37007,57226:37008,57227:37010,57228:37012,57229:37014,57230:37016,57231:37018,57232:37020,57233:37022,57234:37023,57235:37024,57236:37028,57237:37029,57238:37031,57239:37032,57240:37033,57241:37035,57242:37037,57243:37042,57244:37047,57245:37052,57246:37053,57247:37055,57248:37056,57249:25722,57250:25783,57251:25784,57252:25753,57253:25786,57254:25792,57255:25808,57256:25815,57257:25828,57258:25826,57259:25865,57260:25893,57261:25902,57262:24331,57263:24530,57264:29977,57265:24337,57266:21343,57267:21489,57268:21501,57269:21481,57270:21480,57271:21499,57272:21522,57273:21526,57274:21510,57275:21579,57276:21586,57277:21587,57278:21588,57279:21590,57280:21571,57281:21537,57282:21591,57283:21593,57284:21539,57285:21554,57286:21634,57287:21652,57288:21623,57289:21617,57290:21604,57291:21658,57292:21659,57293:21636,57294:21622,57295:21606,57296:21661,57297:21712,57298:21677,57299:21698,57300:21684,57301:21714,57302:21671,57303:21670,57304:21715,57305:21716,57306:21618,57307:21667,57308:21717,57309:21691,57310:21695,57311:21708,57312:21721,57313:21722,57314:21724,57315:21673,57316:21674,57317:21668,57318:21725,57319:21711,57320:21726,57321:21787,57322:21735,57323:21792,57324:21757,57325:21780,57326:21747,57327:21794,57328:21795,57329:21775,57330:21777,57331:21799,57332:21802,57333:21863,57334:21903,57335:21941,57336:21833,57337:21869,57338:21825,57339:21845,57340:21823,57341:21840,57342:21820,57408:37058,57409:37059,57410:37062,57411:37064,57412:37065,57413:37067,57414:37068,57415:37069,57416:37074,57417:37076,57418:37077,57419:37078,57420:37080,57421:37081,57422:37082,57423:37086,57424:37087,57425:37088,57426:37091,57427:37092,57428:37093,57429:37097,57430:37098,57431:37100,57432:37102,57433:37104,57434:37105,57435:37106,57436:37107,57437:37109,57438:37110,57439:37111,57440:37113,57441:37114,57442:37115,57443:37116,57444:37119,57445:37120,57446:37121,57447:37123,57448:37125,57449:37126,57450:37127,57451:37128,57452:37129,57453:37130,57454:37131,57455:37132,57456:37133,57457:37134,57458:37135,57459:37136,57460:37137,57461:37138,57462:37139,57463:37140,57464:37141,57465:37142,57466:37143,57467:37144,57468:37146,57469:37147,57470:37148,57472:37149,57473:37151,57474:37152,57475:37153,57476:37156,57477:37157,57478:37158,57479:37159,57480:37160,57481:37161,57482:37162,57483:37163,57484:37164,57485:37165,57486:37166,57487:37168,57488:37170,57489:37171,57490:37172,57491:37173,57492:37174,57493:37175,57494:37176,57495:37178,57496:37179,57497:37180,57498:37181,57499:37182,57500:37183,57501:37184,57502:37185,57503:37186,57504:37188,57505:21815,57506:21846,57507:21877,57508:21878,57509:21879,57510:21811,57511:21808,57512:21852,57513:21899,57514:21970,57515:21891,57516:21937,57517:21945,57518:21896,57519:21889,57520:21919,57521:21886,57522:21974,57523:21905,57524:21883,57525:21983,57526:21949,57527:21950,57528:21908,57529:21913,57530:21994,57531:22007,57532:21961,57533:22047,57534:21969,57535:21995,57536:21996,57537:21972,57538:21990,57539:21981,57540:21956,57541:21999,57542:21989,57543:22002,57544:22003,57545:21964,57546:21965,57547:21992,57548:22005,57549:21988,57550:36756,57551:22046,57552:22024,57553:22028,57554:22017,57555:22052,57556:22051,57557:22014,57558:22016,57559:22055,57560:22061,57561:22104,57562:22073,57563:22103,57564:22060,57565:22093,57566:22114,57567:22105,57568:22108,57569:22092,57570:22100,57571:22150,57572:22116,57573:22129,57574:22123,57575:22139,57576:22140,57577:22149,57578:22163,57579:22191,57580:22228,57581:22231,57582:22237,57583:22241,57584:22261,57585:22251,57586:22265,57587:22271,57588:22276,57589:22282,57590:22281,57591:22300,57592:24079,57593:24089,57594:24084,57595:24081,57596:24113,57597:24123,57598:24124,57664:37189,57665:37191,57666:37192,57667:37201,57668:37203,57669:37204,57670:37205,57671:37206,57672:37208,57673:37209,57674:37211,57675:37212,57676:37215,57677:37216,57678:37222,57679:37223,57680:37224,57681:37227,57682:37229,57683:37235,57684:37242,57685:37243,57686:37244,57687:37248,57688:37249,57689:37250,57690:37251,57691:37252,57692:37254,57693:37256,57694:37258,57695:37262,57696:37263,57697:37267,57698:37268,57699:37269,57700:37270,57701:37271,57702:37272,57703:37273,57704:37276,57705:37277,57706:37278,57707:37279,57708:37280,57709:37281,57710:37284,57711:37285,57712:37286,57713:37287,57714:37288,57715:37289,57716:37291,57717:37292,57718:37296,57719:37297,57720:37298,57721:37299,57722:37302,57723:37303,57724:37304,57725:37305,57726:37307,57728:37308,57729:37309,57730:37310,57731:37311,57732:37312,57733:37313,57734:37314,57735:37315,57736:37316,57737:37317,57738:37318,57739:37320,57740:37323,57741:37328,57742:37330,57743:37331,57744:37332,57745:37333,57746:37334,57747:37335,57748:37336,57749:37337,57750:37338,57751:37339,57752:37341,57753:37342,57754:37343,57755:37344,57756:37345,57757:37346,57758:37347,57759:37348,57760:37349,57761:24119,57762:24132,57763:24148,57764:24155,57765:24158,57766:24161,57767:23692,57768:23674,57769:23693,57770:23696,57771:23702,57772:23688,57773:23704,57774:23705,57775:23697,57776:23706,57777:23708,57778:23733,57779:23714,57780:23741,57781:23724,57782:23723,57783:23729,57784:23715,57785:23745,57786:23735,57787:23748,57788:23762,57789:23780,57790:23755,57791:23781,57792:23810,57793:23811,57794:23847,57795:23846,57796:23854,57797:23844,57798:23838,57799:23814,57800:23835,57801:23896,57802:23870,57803:23860,57804:23869,57805:23916,57806:23899,57807:23919,57808:23901,57809:23915,57810:23883,57811:23882,57812:23913,57813:23924,57814:23938,57815:23961,57816:23965,57817:35955,57818:23991,57819:24005,57820:24435,57821:24439,57822:24450,57823:24455,57824:24457,57825:24460,57826:24469,57827:24473,57828:24476,57829:24488,57830:24493,57831:24501,57832:24508,57833:34914,57834:24417,57835:29357,57836:29360,57837:29364,57838:29367,57839:29368,57840:29379,57841:29377,57842:29390,57843:29389,57844:29394,57845:29416,57846:29423,57847:29417,57848:29426,57849:29428,57850:29431,57851:29441,57852:29427,57853:29443,57854:29434,57920:37350,57921:37351,57922:37352,57923:37353,57924:37354,57925:37355,57926:37356,57927:37357,57928:37358,57929:37359,57930:37360,57931:37361,57932:37362,57933:37363,57934:37364,57935:37365,57936:37366,57937:37367,57938:37368,57939:37369,57940:37370,57941:37371,57942:37372,57943:37373,57944:37374,57945:37375,57946:37376,57947:37377,57948:37378,57949:37379,57950:37380,57951:37381,57952:37382,57953:37383,57954:37384,57955:37385,57956:37386,57957:37387,57958:37388,57959:37389,57960:37390,57961:37391,57962:37392,57963:37393,57964:37394,57965:37395,57966:37396,57967:37397,57968:37398,57969:37399,57970:37400,57971:37401,57972:37402,57973:37403,57974:37404,57975:37405,57976:37406,57977:37407,57978:37408,57979:37409,57980:37410,57981:37411,57982:37412,57984:37413,57985:37414,57986:37415,57987:37416,57988:37417,57989:37418,57990:37419,57991:37420,57992:37421,57993:37422,57994:37423,57995:37424,57996:37425,57997:37426,57998:37427,57999:37428,58000:37429,58001:37430,58002:37431,58003:37432,58004:37433,58005:37434,58006:37435,58007:37436,58008:37437,58009:37438,58010:37439,58011:37440,58012:37441,58013:37442,58014:37443,58015:37444,58016:37445,58017:29435,58018:29463,58019:29459,58020:29473,58021:29450,58022:29470,58023:29469,58024:29461,58025:29474,58026:29497,58027:29477,58028:29484,58029:29496,58030:29489,58031:29520,58032:29517,58033:29527,58034:29536,58035:29548,58036:29551,58037:29566,58038:33307,58039:22821,58040:39143,58041:22820,58042:22786,58043:39267,58044:39271,58045:39272,58046:39273,58047:39274,58048:39275,58049:39276,58050:39284,58051:39287,58052:39293,58053:39296,58054:39300,58055:39303,58056:39306,58057:39309,58058:39312,58059:39313,58060:39315,58061:39316,58062:39317,58063:24192,58064:24209,58065:24203,58066:24214,58067:24229,58068:24224,58069:24249,58070:24245,58071:24254,58072:24243,58073:36179,58074:24274,58075:24273,58076:24283,58077:24296,58078:24298,58079:33210,58080:24516,58081:24521,58082:24534,58083:24527,58084:24579,58085:24558,58086:24580,58087:24545,58088:24548,58089:24574,58090:24581,58091:24582,58092:24554,58093:24557,58094:24568,58095:24601,58096:24629,58097:24614,58098:24603,58099:24591,58100:24589,58101:24617,58102:24619,58103:24586,58104:24639,58105:24609,58106:24696,58107:24697,58108:24699,58109:24698,58110:24642,58176:37446,58177:37447,58178:37448,58179:37449,58180:37450,58181:37451,58182:37452,58183:37453,58184:37454,58185:37455,58186:37456,58187:37457,58188:37458,58189:37459,58190:37460,58191:37461,58192:37462,58193:37463,58194:37464,58195:37465,58196:37466,58197:37467,58198:37468,58199:37469,58200:37470,58201:37471,58202:37472,58203:37473,58204:37474,58205:37475,58206:37476,58207:37477,58208:37478,58209:37479,58210:37480,58211:37481,58212:37482,58213:37483,58214:37484,58215:37485,58216:37486,58217:37487,58218:37488,58219:37489,58220:37490,58221:37491,58222:37493,58223:37494,58224:37495,58225:37496,58226:37497,58227:37498,58228:37499,58229:37500,58230:37501,58231:37502,58232:37503,58233:37504,58234:37505,58235:37506,58236:37507,58237:37508,58238:37509,58240:37510,58241:37511,58242:37512,58243:37513,58244:37514,58245:37515,58246:37516,58247:37517,58248:37519,58249:37520,58250:37521,58251:37522,58252:37523,58253:37524,58254:37525,58255:37526,58256:37527,58257:37528,58258:37529,58259:37530,58260:37531,58261:37532,58262:37533,58263:37534,58264:37535,58265:37536,58266:37537,58267:37538,58268:37539,58269:37540,58270:37541,58271:37542,58272:37543,58273:24682,58274:24701,58275:24726,58276:24730,58277:24749,58278:24733,58279:24707,58280:24722,58281:24716,58282:24731,58283:24812,58284:24763,58285:24753,58286:24797,58287:24792,58288:24774,58289:24794,58290:24756,58291:24864,58292:24870,58293:24853,58294:24867,58295:24820,58296:24832,58297:24846,58298:24875,58299:24906,58300:24949,58301:25004,58302:24980,58303:24999,58304:25015,58305:25044,58306:25077,58307:24541,58308:38579,58309:38377,58310:38379,58311:38385,58312:38387,58313:38389,58314:38390,58315:38396,58316:38398,58317:38403,58318:38404,58319:38406,58320:38408,58321:38410,58322:38411,58323:38412,58324:38413,58325:38415,58326:38418,58327:38421,58328:38422,58329:38423,58330:38425,58331:38426,58332:20012,58333:29247,58334:25109,58335:27701,58336:27732,58337:27740,58338:27722,58339:27811,58340:27781,58341:27792,58342:27796,58343:27788,58344:27752,58345:27753,58346:27764,58347:27766,58348:27782,58349:27817,58350:27856,58351:27860,58352:27821,58353:27895,58354:27896,58355:27889,58356:27863,58357:27826,58358:27872,58359:27862,58360:27898,58361:27883,58362:27886,58363:27825,58364:27859,58365:27887,58366:27902,58432:37544,58433:37545,58434:37546,58435:37547,58436:37548,58437:37549,58438:37551,58439:37552,58440:37553,58441:37554,58442:37555,58443:37556,58444:37557,58445:37558,58446:37559,58447:37560,58448:37561,58449:37562,58450:37563,58451:37564,58452:37565,58453:37566,58454:37567,58455:37568,58456:37569,58457:37570,58458:37571,58459:37572,58460:37573,58461:37574,58462:37575,58463:37577,58464:37578,58465:37579,58466:37580,58467:37581,58468:37582,58469:37583,58470:37584,58471:37585,58472:37586,58473:37587,58474:37588,58475:37589,58476:37590,58477:37591,58478:37592,58479:37593,58480:37594,58481:37595,58482:37596,58483:37597,58484:37598,58485:37599,58486:37600,58487:37601,58488:37602,58489:37603,58490:37604,58491:37605,58492:37606,58493:37607,58494:37608,58496:37609,58497:37610,58498:37611,58499:37612,58500:37613,58501:37614,58502:37615,58503:37616,58504:37617,58505:37618,58506:37619,58507:37620,58508:37621,58509:37622,58510:37623,58511:37624,58512:37625,58513:37626,58514:37627,58515:37628,58516:37629,58517:37630,58518:37631,58519:37632,58520:37633,58521:37634,58522:37635,58523:37636,58524:37637,58525:37638,58526:37639,58527:37640,58528:37641,58529:27961,58530:27943,58531:27916,58532:27971,58533:27976,58534:27911,58535:27908,58536:27929,58537:27918,58538:27947,58539:27981,58540:27950,58541:27957,58542:27930,58543:27983,58544:27986,58545:27988,58546:27955,58547:28049,58548:28015,58549:28062,58550:28064,58551:27998,58552:28051,58553:28052,58554:27996,58555:28000,58556:28028,58557:28003,58558:28186,58559:28103,58560:28101,58561:28126,58562:28174,58563:28095,58564:28128,58565:28177,58566:28134,58567:28125,58568:28121,58569:28182,58570:28075,58571:28172,58572:28078,58573:28203,58574:28270,58575:28238,58576:28267,58577:28338,58578:28255,58579:28294,58580:28243,58581:28244,58582:28210,58583:28197,58584:28228,58585:28383,58586:28337,58587:28312,58588:28384,58589:28461,58590:28386,58591:28325,58592:28327,58593:28349,58594:28347,58595:28343,58596:28375,58597:28340,58598:28367,58599:28303,58600:28354,58601:28319,58602:28514,58603:28486,58604:28487,58605:28452,58606:28437,58607:28409,58608:28463,58609:28470,58610:28491,58611:28532,58612:28458,58613:28425,58614:28457,58615:28553,58616:28557,58617:28556,58618:28536,58619:28530,58620:28540,58621:28538,58622:28625,58688:37642,58689:37643,58690:37644,58691:37645,58692:37646,58693:37647,58694:37648,58695:37649,58696:37650,58697:37651,58698:37652,58699:37653,58700:37654,58701:37655,58702:37656,58703:37657,58704:37658,58705:37659,58706:37660,58707:37661,58708:37662,58709:37663,58710:37664,58711:37665,58712:37666,58713:37667,58714:37668,58715:37669,58716:37670,58717:37671,58718:37672,58719:37673,58720:37674,58721:37675,58722:37676,58723:37677,58724:37678,58725:37679,58726:37680,58727:37681,58728:37682,58729:37683,58730:37684,58731:37685,58732:37686,58733:37687,58734:37688,58735:37689,58736:37690,58737:37691,58738:37692,58739:37693,58740:37695,58741:37696,58742:37697,58743:37698,58744:37699,58745:37700,58746:37701,58747:37702,58748:37703,58749:37704,58750:37705,58752:37706,58753:37707,58754:37708,58755:37709,58756:37710,58757:37711,58758:37712,58759:37713,58760:37714,58761:37715,58762:37716,58763:37717,58764:37718,58765:37719,58766:37720,58767:37721,58768:37722,58769:37723,58770:37724,58771:37725,58772:37726,58773:37727,58774:37728,58775:37729,58776:37730,58777:37731,58778:37732,58779:37733,58780:37734,58781:37735,58782:37736,58783:37737,58784:37739,58785:28617,58786:28583,58787:28601,58788:28598,58789:28610,58790:28641,58791:28654,58792:28638,58793:28640,58794:28655,58795:28698,58796:28707,58797:28699,58798:28729,58799:28725,58800:28751,58801:28766,58802:23424,58803:23428,58804:23445,58805:23443,58806:23461,58807:23480,58808:29999,58809:39582,58810:25652,58811:23524,58812:23534,58813:35120,58814:23536,58815:36423,58816:35591,58817:36790,58818:36819,58819:36821,58820:36837,58821:36846,58822:36836,58823:36841,58824:36838,58825:36851,58826:36840,58827:36869,58828:36868,58829:36875,58830:36902,58831:36881,58832:36877,58833:36886,58834:36897,58835:36917,58836:36918,58837:36909,58838:36911,58839:36932,58840:36945,58841:36946,58842:36944,58843:36968,58844:36952,58845:36962,58846:36955,58847:26297,58848:36980,58849:36989,58850:36994,58851:37000,58852:36995,58853:37003,58854:24400,58855:24407,58856:24406,58857:24408,58858:23611,58859:21675,58860:23632,58861:23641,58862:23409,58863:23651,58864:23654,58865:32700,58866:24362,58867:24361,58868:24365,58869:33396,58870:24380,58871:39739,58872:23662,58873:22913,58874:22915,58875:22925,58876:22953,58877:22954,58878:22947,58944:37740,58945:37741,58946:37742,58947:37743,58948:37744,58949:37745,58950:37746,58951:37747,58952:37748,58953:37749,58954:37750,58955:37751,58956:37752,58957:37753,58958:37754,58959:37755,58960:37756,58961:37757,58962:37758,58963:37759,58964:37760,58965:37761,58966:37762,58967:37763,58968:37764,58969:37765,58970:37766,58971:37767,58972:37768,58973:37769,58974:37770,58975:37771,58976:37772,58977:37773,58978:37774,58979:37776,58980:37777,58981:37778,58982:37779,58983:37780,58984:37781,58985:37782,58986:37783,58987:37784,58988:37785,58989:37786,58990:37787,58991:37788,58992:37789,58993:37790,58994:37791,58995:37792,58996:37793,58997:37794,58998:37795,58999:37796,59000:37797,59001:37798,59002:37799,59003:37800,59004:37801,59005:37802,59006:37803,59008:37804,59009:37805,59010:37806,59011:37807,59012:37808,59013:37809,59014:37810,59015:37811,59016:37812,59017:37813,59018:37814,59019:37815,59020:37816,59021:37817,59022:37818,59023:37819,59024:37820,59025:37821,59026:37822,59027:37823,59028:37824,59029:37825,59030:37826,59031:37827,59032:37828,59033:37829,59034:37830,59035:37831,59036:37832,59037:37833,59038:37835,59039:37836,59040:37837,59041:22935,59042:22986,59043:22955,59044:22942,59045:22948,59046:22994,59047:22962,59048:22959,59049:22999,59050:22974,59051:23045,59052:23046,59053:23005,59054:23048,59055:23011,59056:23000,59057:23033,59058:23052,59059:23049,59060:23090,59061:23092,59062:23057,59063:23075,59064:23059,59065:23104,59066:23143,59067:23114,59068:23125,59069:23100,59070:23138,59071:23157,59072:33004,59073:23210,59074:23195,59075:23159,59076:23162,59077:23230,59078:23275,59079:23218,59080:23250,59081:23252,59082:23224,59083:23264,59084:23267,59085:23281,59086:23254,59087:23270,59088:23256,59089:23260,59090:23305,59091:23319,59092:23318,59093:23346,59094:23351,59095:23360,59096:23573,59097:23580,59098:23386,59099:23397,59100:23411,59101:23377,59102:23379,59103:23394,59104:39541,59105:39543,59106:39544,59107:39546,59108:39551,59109:39549,59110:39552,59111:39553,59112:39557,59113:39560,59114:39562,59115:39568,59116:39570,59117:39571,59118:39574,59119:39576,59120:39579,59121:39580,59122:39581,59123:39583,59124:39584,59125:39586,59126:39587,59127:39589,59128:39591,59129:32415,59130:32417,59131:32419,59132:32421,59133:32424,59134:32425,59200:37838,59201:37839,59202:37840,59203:37841,59204:37842,59205:37843,59206:37844,59207:37845,59208:37847,59209:37848,59210:37849,59211:37850,59212:37851,59213:37852,59214:37853,59215:37854,59216:37855,59217:37856,59218:37857,59219:37858,59220:37859,59221:37860,59222:37861,59223:37862,59224:37863,59225:37864,59226:37865,59227:37866,59228:37867,59229:37868,59230:37869,59231:37870,59232:37871,59233:37872,59234:37873,59235:37874,59236:37875,59237:37876,59238:37877,59239:37878,59240:37879,59241:37880,59242:37881,59243:37882,59244:37883,59245:37884,59246:37885,59247:37886,59248:37887,59249:37888,59250:37889,59251:37890,59252:37891,59253:37892,59254:37893,59255:37894,59256:37895,59257:37896,59258:37897,59259:37898,59260:37899,59261:37900,59262:37901,59264:37902,59265:37903,59266:37904,59267:37905,59268:37906,59269:37907,59270:37908,59271:37909,59272:37910,59273:37911,59274:37912,59275:37913,59276:37914,59277:37915,59278:37916,59279:37917,59280:37918,59281:37919,59282:37920,59283:37921,59284:37922,59285:37923,59286:37924,59287:37925,59288:37926,59289:37927,59290:37928,59291:37929,59292:37930,59293:37931,59294:37932,59295:37933,59296:37934,59297:32429,59298:32432,59299:32446,59300:32448,59301:32449,59302:32450,59303:32457,59304:32459,59305:32460,59306:32464,59307:32468,59308:32471,59309:32475,59310:32480,59311:32481,59312:32488,59313:32491,59314:32494,59315:32495,59316:32497,59317:32498,59318:32525,59319:32502,59320:32506,59321:32507,59322:32510,59323:32513,59324:32514,59325:32515,59326:32519,59327:32520,59328:32523,59329:32524,59330:32527,59331:32529,59332:32530,59333:32535,59334:32537,59335:32540,59336:32539,59337:32543,59338:32545,59339:32546,59340:32547,59341:32548,59342:32549,59343:32550,59344:32551,59345:32554,59346:32555,59347:32556,59348:32557,59349:32559,59350:32560,59351:32561,59352:32562,59353:32563,59354:32565,59355:24186,59356:30079,59357:24027,59358:30014,59359:37013,59360:29582,59361:29585,59362:29614,59363:29602,59364:29599,59365:29647,59366:29634,59367:29649,59368:29623,59369:29619,59370:29632,59371:29641,59372:29640,59373:29669,59374:29657,59375:39036,59376:29706,59377:29673,59378:29671,59379:29662,59380:29626,59381:29682,59382:29711,59383:29738,59384:29787,59385:29734,59386:29733,59387:29736,59388:29744,59389:29742,59390:29740,59456:37935,59457:37936,59458:37937,59459:37938,59460:37939,59461:37940,59462:37941,59463:37942,59464:37943,59465:37944,59466:37945,59467:37946,59468:37947,59469:37948,59470:37949,59471:37951,59472:37952,59473:37953,59474:37954,59475:37955,59476:37956,59477:37957,59478:37958,59479:37959,59480:37960,59481:37961,59482:37962,59483:37963,59484:37964,59485:37965,59486:37966,59487:37967,59488:37968,59489:37969,59490:37970,59491:37971,59492:37972,59493:37973,59494:37974,59495:37975,59496:37976,59497:37977,59498:37978,59499:37979,59500:37980,59501:37981,59502:37982,59503:37983,59504:37984,59505:37985,59506:37986,59507:37987,59508:37988,59509:37989,59510:37990,59511:37991,59512:37992,59513:37993,59514:37994,59515:37996,59516:37997,59517:37998,59518:37999,59520:38000,59521:38001,59522:38002,59523:38003,59524:38004,59525:38005,59526:38006,59527:38007,59528:38008,59529:38009,59530:38010,59531:38011,59532:38012,59533:38013,59534:38014,59535:38015,59536:38016,59537:38017,59538:38018,59539:38019,59540:38020,59541:38033,59542:38038,59543:38040,59544:38087,59545:38095,59546:38099,59547:38100,59548:38106,59549:38118,59550:38139,59551:38172,59552:38176,59553:29723,59554:29722,59555:29761,59556:29788,59557:29783,59558:29781,59559:29785,59560:29815,59561:29805,59562:29822,59563:29852,59564:29838,59565:29824,59566:29825,59567:29831,59568:29835,59569:29854,59570:29864,59571:29865,59572:29840,59573:29863,59574:29906,59575:29882,59576:38890,59577:38891,59578:38892,59579:26444,59580:26451,59581:26462,59582:26440,59583:26473,59584:26533,59585:26503,59586:26474,59587:26483,59588:26520,59589:26535,59590:26485,59591:26536,59592:26526,59593:26541,59594:26507,59595:26487,59596:26492,59597:26608,59598:26633,59599:26584,59600:26634,59601:26601,59602:26544,59603:26636,59604:26585,59605:26549,59606:26586,59607:26547,59608:26589,59609:26624,59610:26563,59611:26552,59612:26594,59613:26638,59614:26561,59615:26621,59616:26674,59617:26675,59618:26720,59619:26721,59620:26702,59621:26722,59622:26692,59623:26724,59624:26755,59625:26653,59626:26709,59627:26726,59628:26689,59629:26727,59630:26688,59631:26686,59632:26698,59633:26697,59634:26665,59635:26805,59636:26767,59637:26740,59638:26743,59639:26771,59640:26731,59641:26818,59642:26990,59643:26876,59644:26911,59645:26912,59646:26873,59712:38183,59713:38195,59714:38205,59715:38211,59716:38216,59717:38219,59718:38229,59719:38234,59720:38240,59721:38254,59722:38260,59723:38261,59724:38263,59725:38264,59726:38265,59727:38266,59728:38267,59729:38268,59730:38269,59731:38270,59732:38272,59733:38273,59734:38274,59735:38275,59736:38276,59737:38277,59738:38278,59739:38279,59740:38280,59741:38281,59742:38282,59743:38283,59744:38284,59745:38285,59746:38286,59747:38287,59748:38288,59749:38289,59750:38290,59751:38291,59752:38292,59753:38293,59754:38294,59755:38295,59756:38296,59757:38297,59758:38298,59759:38299,59760:38300,59761:38301,59762:38302,59763:38303,59764:38304,59765:38305,59766:38306,59767:38307,59768:38308,59769:38309,59770:38310,59771:38311,59772:38312,59773:38313,59774:38314,59776:38315,59777:38316,59778:38317,59779:38318,59780:38319,59781:38320,59782:38321,59783:38322,59784:38323,59785:38324,59786:38325,59787:38326,59788:38327,59789:38328,59790:38329,59791:38330,59792:38331,59793:38332,59794:38333,59795:38334,59796:38335,59797:38336,59798:38337,59799:38338,59800:38339,59801:38340,59802:38341,59803:38342,59804:38343,59805:38344,59806:38345,59807:38346,59808:38347,59809:26916,59810:26864,59811:26891,59812:26881,59813:26967,59814:26851,59815:26896,59816:26993,59817:26937,59818:26976,59819:26946,59820:26973,59821:27012,59822:26987,59823:27008,59824:27032,59825:27000,59826:26932,59827:27084,59828:27015,59829:27016,59830:27086,59831:27017,59832:26982,59833:26979,59834:27001,59835:27035,59836:27047,59837:27067,59838:27051,59839:27053,59840:27092,59841:27057,59842:27073,59843:27082,59844:27103,59845:27029,59846:27104,59847:27021,59848:27135,59849:27183,59850:27117,59851:27159,59852:27160,59853:27237,59854:27122,59855:27204,59856:27198,59857:27296,59858:27216,59859:27227,59860:27189,59861:27278,59862:27257,59863:27197,59864:27176,59865:27224,59866:27260,59867:27281,59868:27280,59869:27305,59870:27287,59871:27307,59872:29495,59873:29522,59874:27521,59875:27522,59876:27527,59877:27524,59878:27538,59879:27539,59880:27533,59881:27546,59882:27547,59883:27553,59884:27562,59885:36715,59886:36717,59887:36721,59888:36722,59889:36723,59890:36725,59891:36726,59892:36728,59893:36727,59894:36729,59895:36730,59896:36732,59897:36734,59898:36737,59899:36738,59900:36740,59901:36743,59902:36747,59968:38348,59969:38349,59970:38350,59971:38351,59972:38352,59973:38353,59974:38354,59975:38355,59976:38356,59977:38357,59978:38358,59979:38359,59980:38360,59981:38361,59982:38362,59983:38363,59984:38364,59985:38365,59986:38366,59987:38367,59988:38368,59989:38369,59990:38370,59991:38371,59992:38372,59993:38373,59994:38374,59995:38375,59996:38380,59997:38399,59998:38407,59999:38419,60000:38424,60001:38427,60002:38430,60003:38432,60004:38435,60005:38436,60006:38437,60007:38438,60008:38439,60009:38440,60010:38441,60011:38443,60012:38444,60013:38445,60014:38447,60015:38448,60016:38455,60017:38456,60018:38457,60019:38458,60020:38462,60021:38465,60022:38467,60023:38474,60024:38478,60025:38479,60026:38481,60027:38482,60028:38483,60029:38486,60030:38487,60032:38488,60033:38489,60034:38490,60035:38492,60036:38493,60037:38494,60038:38496,60039:38499,60040:38501,60041:38502,60042:38507,60043:38509,60044:38510,60045:38511,60046:38512,60047:38513,60048:38515,60049:38520,60050:38521,60051:38522,60052:38523,60053:38524,60054:38525,60055:38526,60056:38527,60057:38528,60058:38529,60059:38530,60060:38531,60061:38532,60062:38535,60063:38537,60064:38538,60065:36749,60066:36750,60067:36751,60068:36760,60069:36762,60070:36558,60071:25099,60072:25111,60073:25115,60074:25119,60075:25122,60076:25121,60077:25125,60078:25124,60079:25132,60080:33255,60081:29935,60082:29940,60083:29951,60084:29967,60085:29969,60086:29971,60087:25908,60088:26094,60089:26095,60090:26096,60091:26122,60092:26137,60093:26482,60094:26115,60095:26133,60096:26112,60097:28805,60098:26359,60099:26141,60100:26164,60101:26161,60102:26166,60103:26165,60104:32774,60105:26207,60106:26196,60107:26177,60108:26191,60109:26198,60110:26209,60111:26199,60112:26231,60113:26244,60114:26252,60115:26279,60116:26269,60117:26302,60118:26331,60119:26332,60120:26342,60121:26345,60122:36146,60123:36147,60124:36150,60125:36155,60126:36157,60127:36160,60128:36165,60129:36166,60130:36168,60131:36169,60132:36167,60133:36173,60134:36181,60135:36185,60136:35271,60137:35274,60138:35275,60139:35276,60140:35278,60141:35279,60142:35280,60143:35281,60144:29294,60145:29343,60146:29277,60147:29286,60148:29295,60149:29310,60150:29311,60151:29316,60152:29323,60153:29325,60154:29327,60155:29330,60156:25352,60157:25394,60158:25520,60224:38540,60225:38542,60226:38545,60227:38546,60228:38547,60229:38549,60230:38550,60231:38554,60232:38555,60233:38557,60234:38558,60235:38559,60236:38560,60237:38561,60238:38562,60239:38563,60240:38564,60241:38565,60242:38566,60243:38568,60244:38569,60245:38570,60246:38571,60247:38572,60248:38573,60249:38574,60250:38575,60251:38577,60252:38578,60253:38580,60254:38581,60255:38583,60256:38584,60257:38586,60258:38587,60259:38591,60260:38594,60261:38595,60262:38600,60263:38602,60264:38603,60265:38608,60266:38609,60267:38611,60268:38612,60269:38614,60270:38615,60271:38616,60272:38617,60273:38618,60274:38619,60275:38620,60276:38621,60277:38622,60278:38623,60279:38625,60280:38626,60281:38627,60282:38628,60283:38629,60284:38630,60285:38631,60286:38635,60288:38636,60289:38637,60290:38638,60291:38640,60292:38641,60293:38642,60294:38644,60295:38645,60296:38648,60297:38650,60298:38651,60299:38652,60300:38653,60301:38655,60302:38658,60303:38659,60304:38661,60305:38666,60306:38667,60307:38668,60308:38672,60309:38673,60310:38674,60311:38676,60312:38677,60313:38679,60314:38680,60315:38681,60316:38682,60317:38683,60318:38685,60319:38687,60320:38688,60321:25663,60322:25816,60323:32772,60324:27626,60325:27635,60326:27645,60327:27637,60328:27641,60329:27653,60330:27655,60331:27654,60332:27661,60333:27669,60334:27672,60335:27673,60336:27674,60337:27681,60338:27689,60339:27684,60340:27690,60341:27698,60342:25909,60343:25941,60344:25963,60345:29261,60346:29266,60347:29270,60348:29232,60349:34402,60350:21014,60351:32927,60352:32924,60353:32915,60354:32956,60355:26378,60356:32957,60357:32945,60358:32939,60359:32941,60360:32948,60361:32951,60362:32999,60363:33000,60364:33001,60365:33002,60366:32987,60367:32962,60368:32964,60369:32985,60370:32973,60371:32983,60372:26384,60373:32989,60374:33003,60375:33009,60376:33012,60377:33005,60378:33037,60379:33038,60380:33010,60381:33020,60382:26389,60383:33042,60384:35930,60385:33078,60386:33054,60387:33068,60388:33048,60389:33074,60390:33096,60391:33100,60392:33107,60393:33140,60394:33113,60395:33114,60396:33137,60397:33120,60398:33129,60399:33148,60400:33149,60401:33133,60402:33127,60403:22605,60404:23221,60405:33160,60406:33154,60407:33169,60408:28373,60409:33187,60410:33194,60411:33228,60412:26406,60413:33226,60414:33211,60480:38689,60481:38690,60482:38691,60483:38692,60484:38693,60485:38694,60486:38695,60487:38696,60488:38697,60489:38699,60490:38700,60491:38702,60492:38703,60493:38705,60494:38707,60495:38708,60496:38709,60497:38710,60498:38711,60499:38714,60500:38715,60501:38716,60502:38717,60503:38719,60504:38720,60505:38721,60506:38722,60507:38723,60508:38724,60509:38725,60510:38726,60511:38727,60512:38728,60513:38729,60514:38730,60515:38731,60516:38732,60517:38733,60518:38734,60519:38735,60520:38736,60521:38737,60522:38740,60523:38741,60524:38743,60525:38744,60526:38746,60527:38748,60528:38749,60529:38751,60530:38755,60531:38756,60532:38758,60533:38759,60534:38760,60535:38762,60536:38763,60537:38764,60538:38765,60539:38766,60540:38767,60541:38768,60542:38769,60544:38770,60545:38773,60546:38775,60547:38776,60548:38777,60549:38778,60550:38779,60551:38781,60552:38782,60553:38783,60554:38784,60555:38785,60556:38786,60557:38787,60558:38788,60559:38790,60560:38791,60561:38792,60562:38793,60563:38794,60564:38796,60565:38798,60566:38799,60567:38800,60568:38803,60569:38805,60570:38806,60571:38807,60572:38809,60573:38810,60574:38811,60575:38812,60576:38813,60577:33217,60578:33190,60579:27428,60580:27447,60581:27449,60582:27459,60583:27462,60584:27481,60585:39121,60586:39122,60587:39123,60588:39125,60589:39129,60590:39130,60591:27571,60592:24384,60593:27586,60594:35315,60595:26000,60596:40785,60597:26003,60598:26044,60599:26054,60600:26052,60601:26051,60602:26060,60603:26062,60604:26066,60605:26070,60606:28800,60607:28828,60608:28822,60609:28829,60610:28859,60611:28864,60612:28855,60613:28843,60614:28849,60615:28904,60616:28874,60617:28944,60618:28947,60619:28950,60620:28975,60621:28977,60622:29043,60623:29020,60624:29032,60625:28997,60626:29042,60627:29002,60628:29048,60629:29050,60630:29080,60631:29107,60632:29109,60633:29096,60634:29088,60635:29152,60636:29140,60637:29159,60638:29177,60639:29213,60640:29224,60641:28780,60642:28952,60643:29030,60644:29113,60645:25150,60646:25149,60647:25155,60648:25160,60649:25161,60650:31035,60651:31040,60652:31046,60653:31049,60654:31067,60655:31068,60656:31059,60657:31066,60658:31074,60659:31063,60660:31072,60661:31087,60662:31079,60663:31098,60664:31109,60665:31114,60666:31130,60667:31143,60668:31155,60669:24529,60670:24528,60736:38814,60737:38815,60738:38817,60739:38818,60740:38820,60741:38821,60742:38822,60743:38823,60744:38824,60745:38825,60746:38826,60747:38828,60748:38830,60749:38832,60750:38833,60751:38835,60752:38837,60753:38838,60754:38839,60755:38840,60756:38841,60757:38842,60758:38843,60759:38844,60760:38845,60761:38846,60762:38847,60763:38848,60764:38849,60765:38850,60766:38851,60767:38852,60768:38853,60769:38854,60770:38855,60771:38856,60772:38857,60773:38858,60774:38859,60775:38860,60776:38861,60777:38862,60778:38863,60779:38864,60780:38865,60781:38866,60782:38867,60783:38868,60784:38869,60785:38870,60786:38871,60787:38872,60788:38873,60789:38874,60790:38875,60791:38876,60792:38877,60793:38878,60794:38879,60795:38880,60796:38881,60797:38882,60798:38883,60800:38884,60801:38885,60802:38888,60803:38894,60804:38895,60805:38896,60806:38897,60807:38898,60808:38900,60809:38903,60810:38904,60811:38905,60812:38906,60813:38907,60814:38908,60815:38909,60816:38910,60817:38911,60818:38912,60819:38913,60820:38914,60821:38915,60822:38916,60823:38917,60824:38918,60825:38919,60826:38920,60827:38921,60828:38922,60829:38923,60830:38924,60831:38925,60832:38926,60833:24636,60834:24669,60835:24666,60836:24679,60837:24641,60838:24665,60839:24675,60840:24747,60841:24838,60842:24845,60843:24925,60844:25001,60845:24989,60846:25035,60847:25041,60848:25094,60849:32896,60850:32895,60851:27795,60852:27894,60853:28156,60854:30710,60855:30712,60856:30720,60857:30729,60858:30743,60859:30744,60860:30737,60861:26027,60862:30765,60863:30748,60864:30749,60865:30777,60866:30778,60867:30779,60868:30751,60869:30780,60870:30757,60871:30764,60872:30755,60873:30761,60874:30798,60875:30829,60876:30806,60877:30807,60878:30758,60879:30800,60880:30791,60881:30796,60882:30826,60883:30875,60884:30867,60885:30874,60886:30855,60887:30876,60888:30881,60889:30883,60890:30898,60891:30905,60892:30885,60893:30932,60894:30937,60895:30921,60896:30956,60897:30962,60898:30981,60899:30964,60900:30995,60901:31012,60902:31006,60903:31028,60904:40859,60905:40697,60906:40699,60907:40700,60908:30449,60909:30468,60910:30477,60911:30457,60912:30471,60913:30472,60914:30490,60915:30498,60916:30489,60917:30509,60918:30502,60919:30517,60920:30520,60921:30544,60922:30545,60923:30535,60924:30531,60925:30554,60926:30568,60992:38927,60993:38928,60994:38929,60995:38930,60996:38931,60997:38932,60998:38933,60999:38934,61000:38935,61001:38936,61002:38937,61003:38938,61004:38939,61005:38940,61006:38941,61007:38942,61008:38943,61009:38944,61010:38945,61011:38946,61012:38947,61013:38948,61014:38949,61015:38950,61016:38951,61017:38952,61018:38953,61019:38954,61020:38955,61021:38956,61022:38957,61023:38958,61024:38959,61025:38960,61026:38961,61027:38962,61028:38963,61029:38964,61030:38965,61031:38966,61032:38967,61033:38968,61034:38969,61035:38970,61036:38971,61037:38972,61038:38973,61039:38974,61040:38975,61041:38976,61042:38977,61043:38978,61044:38979,61045:38980,61046:38981,61047:38982,61048:38983,61049:38984,61050:38985,61051:38986,61052:38987,61053:38988,61054:38989,61056:38990,61057:38991,61058:38992,61059:38993,61060:38994,61061:38995,61062:38996,61063:38997,61064:38998,61065:38999,61066:39000,61067:39001,61068:39002,61069:39003,61070:39004,61071:39005,61072:39006,61073:39007,61074:39008,61075:39009,61076:39010,61077:39011,61078:39012,61079:39013,61080:39014,61081:39015,61082:39016,61083:39017,61084:39018,61085:39019,61086:39020,61087:39021,61088:39022,61089:30562,61090:30565,61091:30591,61092:30605,61093:30589,61094:30592,61095:30604,61096:30609,61097:30623,61098:30624,61099:30640,61100:30645,61101:30653,61102:30010,61103:30016,61104:30030,61105:30027,61106:30024,61107:30043,61108:30066,61109:30073,61110:30083,61111:32600,61112:32609,61113:32607,61114:35400,61115:32616,61116:32628,61117:32625,61118:32633,61119:32641,61120:32638,61121:30413,61122:30437,61123:34866,61124:38021,61125:38022,61126:38023,61127:38027,61128:38026,61129:38028,61130:38029,61131:38031,61132:38032,61133:38036,61134:38039,61135:38037,61136:38042,61137:38043,61138:38044,61139:38051,61140:38052,61141:38059,61142:38058,61143:38061,61144:38060,61145:38063,61146:38064,61147:38066,61148:38068,61149:38070,61150:38071,61151:38072,61152:38073,61153:38074,61154:38076,61155:38077,61156:38079,61157:38084,61158:38088,61159:38089,61160:38090,61161:38091,61162:38092,61163:38093,61164:38094,61165:38096,61166:38097,61167:38098,61168:38101,61169:38102,61170:38103,61171:38105,61172:38104,61173:38107,61174:38110,61175:38111,61176:38112,61177:38114,61178:38116,61179:38117,61180:38119,61181:38120,61182:38122,61248:39023,61249:39024,61250:39025,61251:39026,61252:39027,61253:39028,61254:39051,61255:39054,61256:39058,61257:39061,61258:39065,61259:39075,61260:39080,61261:39081,61262:39082,61263:39083,61264:39084,61265:39085,61266:39086,61267:39087,61268:39088,61269:39089,61270:39090,61271:39091,61272:39092,61273:39093,61274:39094,61275:39095,61276:39096,61277:39097,61278:39098,61279:39099,61280:39100,61281:39101,61282:39102,61283:39103,61284:39104,61285:39105,61286:39106,61287:39107,61288:39108,61289:39109,61290:39110,61291:39111,61292:39112,61293:39113,61294:39114,61295:39115,61296:39116,61297:39117,61298:39119,61299:39120,61300:39124,61301:39126,61302:39127,61303:39131,61304:39132,61305:39133,61306:39136,61307:39137,61308:39138,61309:39139,61310:39140,61312:39141,61313:39142,61314:39145,61315:39146,61316:39147,61317:39148,61318:39149,61319:39150,61320:39151,61321:39152,61322:39153,61323:39154,61324:39155,61325:39156,61326:39157,61327:39158,61328:39159,61329:39160,61330:39161,61331:39162,61332:39163,61333:39164,61334:39165,61335:39166,61336:39167,61337:39168,61338:39169,61339:39170,61340:39171,61341:39172,61342:39173,61343:39174,61344:39175,61345:38121,61346:38123,61347:38126,61348:38127,61349:38131,61350:38132,61351:38133,61352:38135,61353:38137,61354:38140,61355:38141,61356:38143,61357:38147,61358:38146,61359:38150,61360:38151,61361:38153,61362:38154,61363:38157,61364:38158,61365:38159,61366:38162,61367:38163,61368:38164,61369:38165,61370:38166,61371:38168,61372:38171,61373:38173,61374:38174,61375:38175,61376:38178,61377:38186,61378:38187,61379:38185,61380:38188,61381:38193,61382:38194,61383:38196,61384:38198,61385:38199,61386:38200,61387:38204,61388:38206,61389:38207,61390:38210,61391:38197,61392:38212,61393:38213,61394:38214,61395:38217,61396:38220,61397:38222,61398:38223,61399:38226,61400:38227,61401:38228,61402:38230,61403:38231,61404:38232,61405:38233,61406:38235,61407:38238,61408:38239,61409:38237,61410:38241,61411:38242,61412:38244,61413:38245,61414:38246,61415:38247,61416:38248,61417:38249,61418:38250,61419:38251,61420:38252,61421:38255,61422:38257,61423:38258,61424:38259,61425:38202,61426:30695,61427:30700,61428:38601,61429:31189,61430:31213,61431:31203,61432:31211,61433:31238,61434:23879,61435:31235,61436:31234,61437:31262,61438:31252,61504:39176,61505:39177,61506:39178,61507:39179,61508:39180,61509:39182,61510:39183,61511:39185,61512:39186,61513:39187,61514:39188,61515:39189,61516:39190,61517:39191,61518:39192,61519:39193,61520:39194,61521:39195,61522:39196,61523:39197,61524:39198,61525:39199,61526:39200,61527:39201,61528:39202,61529:39203,61530:39204,61531:39205,61532:39206,61533:39207,61534:39208,61535:39209,61536:39210,61537:39211,61538:39212,61539:39213,61540:39215,61541:39216,61542:39217,61543:39218,61544:39219,61545:39220,61546:39221,61547:39222,61548:39223,61549:39224,61550:39225,61551:39226,61552:39227,61553:39228,61554:39229,61555:39230,61556:39231,61557:39232,61558:39233,61559:39234,61560:39235,61561:39236,61562:39237,61563:39238,61564:39239,61565:39240,61566:39241,61568:39242,61569:39243,61570:39244,61571:39245,61572:39246,61573:39247,61574:39248,61575:39249,61576:39250,61577:39251,61578:39254,61579:39255,61580:39256,61581:39257,61582:39258,61583:39259,61584:39260,61585:39261,61586:39262,61587:39263,61588:39264,61589:39265,61590:39266,61591:39268,61592:39270,61593:39283,61594:39288,61595:39289,61596:39291,61597:39294,61598:39298,61599:39299,61600:39305,61601:31289,61602:31287,61603:31313,61604:40655,61605:39333,61606:31344,61607:30344,61608:30350,61609:30355,61610:30361,61611:30372,61612:29918,61613:29920,61614:29996,61615:40480,61616:40482,61617:40488,61618:40489,61619:40490,61620:40491,61621:40492,61622:40498,61623:40497,61624:40502,61625:40504,61626:40503,61627:40505,61628:40506,61629:40510,61630:40513,61631:40514,61632:40516,61633:40518,61634:40519,61635:40520,61636:40521,61637:40523,61638:40524,61639:40526,61640:40529,61641:40533,61642:40535,61643:40538,61644:40539,61645:40540,61646:40542,61647:40547,61648:40550,61649:40551,61650:40552,61651:40553,61652:40554,61653:40555,61654:40556,61655:40561,61656:40557,61657:40563,61658:30098,61659:30100,61660:30102,61661:30112,61662:30109,61663:30124,61664:30115,61665:30131,61666:30132,61667:30136,61668:30148,61669:30129,61670:30128,61671:30147,61672:30146,61673:30166,61674:30157,61675:30179,61676:30184,61677:30182,61678:30180,61679:30187,61680:30183,61681:30211,61682:30193,61683:30204,61684:30207,61685:30224,61686:30208,61687:30213,61688:30220,61689:30231,61690:30218,61691:30245,61692:30232,61693:30229,61694:30233,61760:39308,61761:39310,61762:39322,61763:39323,61764:39324,61765:39325,61766:39326,61767:39327,61768:39328,61769:39329,61770:39330,61771:39331,61772:39332,61773:39334,61774:39335,61775:39337,61776:39338,61777:39339,61778:39340,61779:39341,61780:39342,61781:39343,61782:39344,61783:39345,61784:39346,61785:39347,61786:39348,61787:39349,61788:39350,61789:39351,61790:39352,61791:39353,61792:39354,61793:39355,61794:39356,61795:39357,61796:39358,61797:39359,61798:39360,61799:39361,61800:39362,61801:39363,61802:39364,61803:39365,61804:39366,61805:39367,61806:39368,61807:39369,61808:39370,61809:39371,61810:39372,61811:39373,61812:39374,61813:39375,61814:39376,61815:39377,61816:39378,61817:39379,61818:39380,61819:39381,61820:39382,61821:39383,61822:39384,61824:39385,61825:39386,61826:39387,61827:39388,61828:39389,61829:39390,61830:39391,61831:39392,61832:39393,61833:39394,61834:39395,61835:39396,61836:39397,61837:39398,61838:39399,61839:39400,61840:39401,61841:39402,61842:39403,61843:39404,61844:39405,61845:39406,61846:39407,61847:39408,61848:39409,61849:39410,61850:39411,61851:39412,61852:39413,61853:39414,61854:39415,61855:39416,61856:39417,61857:30235,61858:30268,61859:30242,61860:30240,61861:30272,61862:30253,61863:30256,61864:30271,61865:30261,61866:30275,61867:30270,61868:30259,61869:30285,61870:30302,61871:30292,61872:30300,61873:30294,61874:30315,61875:30319,61876:32714,61877:31462,61878:31352,61879:31353,61880:31360,61881:31366,61882:31368,61883:31381,61884:31398,61885:31392,61886:31404,61887:31400,61888:31405,61889:31411,61890:34916,61891:34921,61892:34930,61893:34941,61894:34943,61895:34946,61896:34978,61897:35014,61898:34999,61899:35004,61900:35017,61901:35042,61902:35022,61903:35043,61904:35045,61905:35057,61906:35098,61907:35068,61908:35048,61909:35070,61910:35056,61911:35105,61912:35097,61913:35091,61914:35099,61915:35082,61916:35124,61917:35115,61918:35126,61919:35137,61920:35174,61921:35195,61922:30091,61923:32997,61924:30386,61925:30388,61926:30684,61927:32786,61928:32788,61929:32790,61930:32796,61931:32800,61932:32802,61933:32805,61934:32806,61935:32807,61936:32809,61937:32808,61938:32817,61939:32779,61940:32821,61941:32835,61942:32838,61943:32845,61944:32850,61945:32873,61946:32881,61947:35203,61948:39032,61949:39040,61950:39043,62016:39418,62017:39419,62018:39420,62019:39421,62020:39422,62021:39423,62022:39424,62023:39425,62024:39426,62025:39427,62026:39428,62027:39429,62028:39430,62029:39431,62030:39432,62031:39433,62032:39434,62033:39435,62034:39436,62035:39437,62036:39438,62037:39439,62038:39440,62039:39441,62040:39442,62041:39443,62042:39444,62043:39445,62044:39446,62045:39447,62046:39448,62047:39449,62048:39450,62049:39451,62050:39452,62051:39453,62052:39454,62053:39455,62054:39456,62055:39457,62056:39458,62057:39459,62058:39460,62059:39461,62060:39462,62061:39463,62062:39464,62063:39465,62064:39466,62065:39467,62066:39468,62067:39469,62068:39470,62069:39471,62070:39472,62071:39473,62072:39474,62073:39475,62074:39476,62075:39477,62076:39478,62077:39479,62078:39480,62080:39481,62081:39482,62082:39483,62083:39484,62084:39485,62085:39486,62086:39487,62087:39488,62088:39489,62089:39490,62090:39491,62091:39492,62092:39493,62093:39494,62094:39495,62095:39496,62096:39497,62097:39498,62098:39499,62099:39500,62100:39501,62101:39502,62102:39503,62103:39504,62104:39505,62105:39506,62106:39507,62107:39508,62108:39509,62109:39510,62110:39511,62111:39512,62112:39513,62113:39049,62114:39052,62115:39053,62116:39055,62117:39060,62118:39066,62119:39067,62120:39070,62121:39071,62122:39073,62123:39074,62124:39077,62125:39078,62126:34381,62127:34388,62128:34412,62129:34414,62130:34431,62131:34426,62132:34428,62133:34427,62134:34472,62135:34445,62136:34443,62137:34476,62138:34461,62139:34471,62140:34467,62141:34474,62142:34451,62143:34473,62144:34486,62145:34500,62146:34485,62147:34510,62148:34480,62149:34490,62150:34481,62151:34479,62152:34505,62153:34511,62154:34484,62155:34537,62156:34545,62157:34546,62158:34541,62159:34547,62160:34512,62161:34579,62162:34526,62163:34548,62164:34527,62165:34520,62166:34513,62167:34563,62168:34567,62169:34552,62170:34568,62171:34570,62172:34573,62173:34569,62174:34595,62175:34619,62176:34590,62177:34597,62178:34606,62179:34586,62180:34622,62181:34632,62182:34612,62183:34609,62184:34601,62185:34615,62186:34623,62187:34690,62188:34594,62189:34685,62190:34686,62191:34683,62192:34656,62193:34672,62194:34636,62195:34670,62196:34699,62197:34643,62198:34659,62199:34684,62200:34660,62201:34649,62202:34661,62203:34707,62204:34735,62205:34728,62206:34770,62272:39514,62273:39515,62274:39516,62275:39517,62276:39518,62277:39519,62278:39520,62279:39521,62280:39522,62281:39523,62282:39524,62283:39525,62284:39526,62285:39527,62286:39528,62287:39529,62288:39530,62289:39531,62290:39538,62291:39555,62292:39561,62293:39565,62294:39566,62295:39572,62296:39573,62297:39577,62298:39590,62299:39593,62300:39594,62301:39595,62302:39596,62303:39597,62304:39598,62305:39599,62306:39602,62307:39603,62308:39604,62309:39605,62310:39609,62311:39611,62312:39613,62313:39614,62314:39615,62315:39619,62316:39620,62317:39622,62318:39623,62319:39624,62320:39625,62321:39626,62322:39629,62323:39630,62324:39631,62325:39632,62326:39634,62327:39636,62328:39637,62329:39638,62330:39639,62331:39641,62332:39642,62333:39643,62334:39644,62336:39645,62337:39646,62338:39648,62339:39650,62340:39651,62341:39652,62342:39653,62343:39655,62344:39656,62345:39657,62346:39658,62347:39660,62348:39662,62349:39664,62350:39665,62351:39666,62352:39667,62353:39668,62354:39669,62355:39670,62356:39671,62357:39672,62358:39674,62359:39676,62360:39677,62361:39678,62362:39679,62363:39680,62364:39681,62365:39682,62366:39684,62367:39685,62368:39686,62369:34758,62370:34696,62371:34693,62372:34733,62373:34711,62374:34691,62375:34731,62376:34789,62377:34732,62378:34741,62379:34739,62380:34763,62381:34771,62382:34749,62383:34769,62384:34752,62385:34762,62386:34779,62387:34794,62388:34784,62389:34798,62390:34838,62391:34835,62392:34814,62393:34826,62394:34843,62395:34849,62396:34873,62397:34876,62398:32566,62399:32578,62400:32580,62401:32581,62402:33296,62403:31482,62404:31485,62405:31496,62406:31491,62407:31492,62408:31509,62409:31498,62410:31531,62411:31503,62412:31559,62413:31544,62414:31530,62415:31513,62416:31534,62417:31537,62418:31520,62419:31525,62420:31524,62421:31539,62422:31550,62423:31518,62424:31576,62425:31578,62426:31557,62427:31605,62428:31564,62429:31581,62430:31584,62431:31598,62432:31611,62433:31586,62434:31602,62435:31601,62436:31632,62437:31654,62438:31655,62439:31672,62440:31660,62441:31645,62442:31656,62443:31621,62444:31658,62445:31644,62446:31650,62447:31659,62448:31668,62449:31697,62450:31681,62451:31692,62452:31709,62453:31706,62454:31717,62455:31718,62456:31722,62457:31756,62458:31742,62459:31740,62460:31759,62461:31766,62462:31755,62528:39687,62529:39689,62530:39690,62531:39691,62532:39692,62533:39693,62534:39694,62535:39696,62536:39697,62537:39698,62538:39700,62539:39701,62540:39702,62541:39703,62542:39704,62543:39705,62544:39706,62545:39707,62546:39708,62547:39709,62548:39710,62549:39712,62550:39713,62551:39714,62552:39716,62553:39717,62554:39718,62555:39719,62556:39720,62557:39721,62558:39722,62559:39723,62560:39724,62561:39725,62562:39726,62563:39728,62564:39729,62565:39731,62566:39732,62567:39733,62568:39734,62569:39735,62570:39736,62571:39737,62572:39738,62573:39741,62574:39742,62575:39743,62576:39744,62577:39750,62578:39754,62579:39755,62580:39756,62581:39758,62582:39760,62583:39762,62584:39763,62585:39765,62586:39766,62587:39767,62588:39768,62589:39769,62590:39770,62592:39771,62593:39772,62594:39773,62595:39774,62596:39775,62597:39776,62598:39777,62599:39778,62600:39779,62601:39780,62602:39781,62603:39782,62604:39783,62605:39784,62606:39785,62607:39786,62608:39787,62609:39788,62610:39789,62611:39790,62612:39791,62613:39792,62614:39793,62615:39794,62616:39795,62617:39796,62618:39797,62619:39798,62620:39799,62621:39800,62622:39801,62623:39802,62624:39803,62625:31775,62626:31786,62627:31782,62628:31800,62629:31809,62630:31808,62631:33278,62632:33281,62633:33282,62634:33284,62635:33260,62636:34884,62637:33313,62638:33314,62639:33315,62640:33325,62641:33327,62642:33320,62643:33323,62644:33336,62645:33339,62646:33331,62647:33332,62648:33342,62649:33348,62650:33353,62651:33355,62652:33359,62653:33370,62654:33375,62655:33384,62656:34942,62657:34949,62658:34952,62659:35032,62660:35039,62661:35166,62662:32669,62663:32671,62664:32679,62665:32687,62666:32688,62667:32690,62668:31868,62669:25929,62670:31889,62671:31901,62672:31900,62673:31902,62674:31906,62675:31922,62676:31932,62677:31933,62678:31937,62679:31943,62680:31948,62681:31949,62682:31944,62683:31941,62684:31959,62685:31976,62686:33390,62687:26280,62688:32703,62689:32718,62690:32725,62691:32741,62692:32737,62693:32742,62694:32745,62695:32750,62696:32755,62697:31992,62698:32119,62699:32166,62700:32174,62701:32327,62702:32411,62703:40632,62704:40628,62705:36211,62706:36228,62707:36244,62708:36241,62709:36273,62710:36199,62711:36205,62712:35911,62713:35913,62714:37194,62715:37200,62716:37198,62717:37199,62718:37220,62784:39804,62785:39805,62786:39806,62787:39807,62788:39808,62789:39809,62790:39810,62791:39811,62792:39812,62793:39813,62794:39814,62795:39815,62796:39816,62797:39817,62798:39818,62799:39819,62800:39820,62801:39821,62802:39822,62803:39823,62804:39824,62805:39825,62806:39826,62807:39827,62808:39828,62809:39829,62810:39830,62811:39831,62812:39832,62813:39833,62814:39834,62815:39835,62816:39836,62817:39837,62818:39838,62819:39839,62820:39840,62821:39841,62822:39842,62823:39843,62824:39844,62825:39845,62826:39846,62827:39847,62828:39848,62829:39849,62830:39850,62831:39851,62832:39852,62833:39853,62834:39854,62835:39855,62836:39856,62837:39857,62838:39858,62839:39859,62840:39860,62841:39861,62842:39862,62843:39863,62844:39864,62845:39865,62846:39866,62848:39867,62849:39868,62850:39869,62851:39870,62852:39871,62853:39872,62854:39873,62855:39874,62856:39875,62857:39876,62858:39877,62859:39878,62860:39879,62861:39880,62862:39881,62863:39882,62864:39883,62865:39884,62866:39885,62867:39886,62868:39887,62869:39888,62870:39889,62871:39890,62872:39891,62873:39892,62874:39893,62875:39894,62876:39895,62877:39896,62878:39897,62879:39898,62880:39899,62881:37218,62882:37217,62883:37232,62884:37225,62885:37231,62886:37245,62887:37246,62888:37234,62889:37236,62890:37241,62891:37260,62892:37253,62893:37264,62894:37261,62895:37265,62896:37282,62897:37283,62898:37290,62899:37293,62900:37294,62901:37295,62902:37301,62903:37300,62904:37306,62905:35925,62906:40574,62907:36280,62908:36331,62909:36357,62910:36441,62911:36457,62912:36277,62913:36287,62914:36284,62915:36282,62916:36292,62917:36310,62918:36311,62919:36314,62920:36318,62921:36302,62922:36303,62923:36315,62924:36294,62925:36332,62926:36343,62927:36344,62928:36323,62929:36345,62930:36347,62931:36324,62932:36361,62933:36349,62934:36372,62935:36381,62936:36383,62937:36396,62938:36398,62939:36387,62940:36399,62941:36410,62942:36416,62943:36409,62944:36405,62945:36413,62946:36401,62947:36425,62948:36417,62949:36418,62950:36433,62951:36434,62952:36426,62953:36464,62954:36470,62955:36476,62956:36463,62957:36468,62958:36485,62959:36495,62960:36500,62961:36496,62962:36508,62963:36510,62964:35960,62965:35970,62966:35978,62967:35973,62968:35992,62969:35988,62970:26011,62971:35286,62972:35294,62973:35290,62974:35292,63040:39900,63041:39901,63042:39902,63043:39903,63044:39904,63045:39905,63046:39906,63047:39907,63048:39908,63049:39909,63050:39910,63051:39911,63052:39912,63053:39913,63054:39914,63055:39915,63056:39916,63057:39917,63058:39918,63059:39919,63060:39920,63061:39921,63062:39922,63063:39923,63064:39924,63065:39925,63066:39926,63067:39927,63068:39928,63069:39929,63070:39930,63071:39931,63072:39932,63073:39933,63074:39934,63075:39935,63076:39936,63077:39937,63078:39938,63079:39939,63080:39940,63081:39941,63082:39942,63083:39943,63084:39944,63085:39945,63086:39946,63087:39947,63088:39948,63089:39949,63090:39950,63091:39951,63092:39952,63093:39953,63094:39954,63095:39955,63096:39956,63097:39957,63098:39958,63099:39959,63100:39960,63101:39961,63102:39962,63104:39963,63105:39964,63106:39965,63107:39966,63108:39967,63109:39968,63110:39969,63111:39970,63112:39971,63113:39972,63114:39973,63115:39974,63116:39975,63117:39976,63118:39977,63119:39978,63120:39979,63121:39980,63122:39981,63123:39982,63124:39983,63125:39984,63126:39985,63127:39986,63128:39987,63129:39988,63130:39989,63131:39990,63132:39991,63133:39992,63134:39993,63135:39994,63136:39995,63137:35301,63138:35307,63139:35311,63140:35390,63141:35622,63142:38739,63143:38633,63144:38643,63145:38639,63146:38662,63147:38657,63148:38664,63149:38671,63150:38670,63151:38698,63152:38701,63153:38704,63154:38718,63155:40832,63156:40835,63157:40837,63158:40838,63159:40839,63160:40840,63161:40841,63162:40842,63163:40844,63164:40702,63165:40715,63166:40717,63167:38585,63168:38588,63169:38589,63170:38606,63171:38610,63172:30655,63173:38624,63174:37518,63175:37550,63176:37576,63177:37694,63178:37738,63179:37834,63180:37775,63181:37950,63182:37995,63183:40063,63184:40066,63185:40069,63186:40070,63187:40071,63188:40072,63189:31267,63190:40075,63191:40078,63192:40080,63193:40081,63194:40082,63195:40084,63196:40085,63197:40090,63198:40091,63199:40094,63200:40095,63201:40096,63202:40097,63203:40098,63204:40099,63205:40101,63206:40102,63207:40103,63208:40104,63209:40105,63210:40107,63211:40109,63212:40110,63213:40112,63214:40113,63215:40114,63216:40115,63217:40116,63218:40117,63219:40118,63220:40119,63221:40122,63222:40123,63223:40124,63224:40125,63225:40132,63226:40133,63227:40134,63228:40135,63229:40138,63230:40139,63296:39996,63297:39997,63298:39998,63299:39999,63300:40000,63301:40001,63302:40002,63303:40003,63304:40004,63305:40005,63306:40006,63307:40007,63308:40008,63309:40009,63310:40010,63311:40011,63312:40012,63313:40013,63314:40014,63315:40015,63316:40016,63317:40017,63318:40018,63319:40019,63320:40020,63321:40021,63322:40022,63323:40023,63324:40024,63325:40025,63326:40026,63327:40027,63328:40028,63329:40029,63330:40030,63331:40031,63332:40032,63333:40033,63334:40034,63335:40035,63336:40036,63337:40037,63338:40038,63339:40039,63340:40040,63341:40041,63342:40042,63343:40043,63344:40044,63345:40045,63346:40046,63347:40047,63348:40048,63349:40049,63350:40050,63351:40051,63352:40052,63353:40053,63354:40054,63355:40055,63356:40056,63357:40057,63358:40058,63360:40059,63361:40061,63362:40062,63363:40064,63364:40067,63365:40068,63366:40073,63367:40074,63368:40076,63369:40079,63370:40083,63371:40086,63372:40087,63373:40088,63374:40089,63375:40093,63376:40106,63377:40108,63378:40111,63379:40121,63380:40126,63381:40127,63382:40128,63383:40129,63384:40130,63385:40136,63386:40137,63387:40145,63388:40146,63389:40154,63390:40155,63391:40160,63392:40161,63393:40140,63394:40141,63395:40142,63396:40143,63397:40144,63398:40147,63399:40148,63400:40149,63401:40151,63402:40152,63403:40153,63404:40156,63405:40157,63406:40159,63407:40162,63408:38780,63409:38789,63410:38801,63411:38802,63412:38804,63413:38831,63414:38827,63415:38819,63416:38834,63417:38836,63418:39601,63419:39600,63420:39607,63421:40536,63422:39606,63423:39610,63424:39612,63425:39617,63426:39616,63427:39621,63428:39618,63429:39627,63430:39628,63431:39633,63432:39749,63433:39747,63434:39751,63435:39753,63436:39752,63437:39757,63438:39761,63439:39144,63440:39181,63441:39214,63442:39253,63443:39252,63444:39647,63445:39649,63446:39654,63447:39663,63448:39659,63449:39675,63450:39661,63451:39673,63452:39688,63453:39695,63454:39699,63455:39711,63456:39715,63457:40637,63458:40638,63459:32315,63460:40578,63461:40583,63462:40584,63463:40587,63464:40594,63465:37846,63466:40605,63467:40607,63468:40667,63469:40668,63470:40669,63471:40672,63472:40671,63473:40674,63474:40681,63475:40679,63476:40677,63477:40682,63478:40687,63479:40738,63480:40748,63481:40751,63482:40761,63483:40759,63484:40765,63485:40766,63486:40772,63552:40163,63553:40164,63554:40165,63555:40166,63556:40167,63557:40168,63558:40169,63559:40170,63560:40171,63561:40172,63562:40173,63563:40174,63564:40175,63565:40176,63566:40177,63567:40178,63568:40179,63569:40180,63570:40181,63571:40182,63572:40183,63573:40184,63574:40185,63575:40186,63576:40187,63577:40188,63578:40189,63579:40190,63580:40191,63581:40192,63582:40193,63583:40194,63584:40195,63585:40196,63586:40197,63587:40198,63588:40199,63589:40200,63590:40201,63591:40202,63592:40203,63593:40204,63594:40205,63595:40206,63596:40207,63597:40208,63598:40209,63599:40210,63600:40211,63601:40212,63602:40213,63603:40214,63604:40215,63605:40216,63606:40217,63607:40218,63608:40219,63609:40220,63610:40221,63611:40222,63612:40223,63613:40224,63614:40225,63616:40226,63617:40227,63618:40228,63619:40229,63620:40230,63621:40231,63622:40232,63623:40233,63624:40234,63625:40235,63626:40236,63627:40237,63628:40238,63629:40239,63630:40240,63631:40241,63632:40242,63633:40243,63634:40244,63635:40245,63636:40246,63637:40247,63638:40248,63639:40249,63640:40250,63641:40251,63642:40252,63643:40253,63644:40254,63645:40255,63646:40256,63647:40257,63648:40258,63649:57908,63650:57909,63651:57910,63652:57911,63653:57912,63654:57913,63655:57914,63656:57915,63657:57916,63658:57917,63659:57918,63660:57919,63661:57920,63662:57921,63663:57922,63664:57923,63665:57924,63666:57925,63667:57926,63668:57927,63669:57928,63670:57929,63671:57930,63672:57931,63673:57932,63674:57933,63675:57934,63676:57935,63677:57936,63678:57937,63679:57938,63680:57939,63681:57940,63682:57941,63683:57942,63684:57943,63685:57944,63686:57945,63687:57946,63688:57947,63689:57948,63690:57949,63691:57950,63692:57951,63693:57952,63694:57953,63695:57954,63696:57955,63697:57956,63698:57957,63699:57958,63700:57959,63701:57960,63702:57961,63703:57962,63704:57963,63705:57964,63706:57965,63707:57966,63708:57967,63709:57968,63710:57969,63711:57970,63712:57971,63713:57972,63714:57973,63715:57974,63716:57975,63717:57976,63718:57977,63719:57978,63720:57979,63721:57980,63722:57981,63723:57982,63724:57983,63725:57984,63726:57985,63727:57986,63728:57987,63729:57988,63730:57989,63731:57990,63732:57991,63733:57992,63734:57993,63735:57994,63736:57995,63737:57996,63738:57997,63739:57998,63740:57999,63741:58000,63742:58001,63808:40259,63809:40260,63810:40261,63811:40262,63812:40263,63813:40264,63814:40265,63815:40266,63816:40267,63817:40268,63818:40269,63819:40270,63820:40271,63821:40272,63822:40273,63823:40274,63824:40275,63825:40276,63826:40277,63827:40278,63828:40279,63829:40280,63830:40281,63831:40282,63832:40283,63833:40284,63834:40285,63835:40286,63836:40287,63837:40288,63838:40289,63839:40290,63840:40291,63841:40292,63842:40293,63843:40294,63844:40295,63845:40296,63846:40297,63847:40298,63848:40299,63849:40300,63850:40301,63851:40302,63852:40303,63853:40304,63854:40305,63855:40306,63856:40307,63857:40308,63858:40309,63859:40310,63860:40311,63861:40312,63862:40313,63863:40314,63864:40315,63865:40316,63866:40317,63867:40318,63868:40319,63869:40320,63870:40321,63872:40322,63873:40323,63874:40324,63875:40325,63876:40326,63877:40327,63878:40328,63879:40329,63880:40330,63881:40331,63882:40332,63883:40333,63884:40334,63885:40335,63886:40336,63887:40337,63888:40338,63889:40339,63890:40340,63891:40341,63892:40342,63893:40343,63894:40344,63895:40345,63896:40346,63897:40347,63898:40348,63899:40349,63900:40350,63901:40351,63902:40352,63903:40353,63904:40354,63905:58002,63906:58003,63907:58004,63908:58005,63909:58006,63910:58007,63911:58008,63912:58009,63913:58010,63914:58011,63915:58012,63916:58013,63917:58014,63918:58015,63919:58016,63920:58017,63921:58018,63922:58019,63923:58020,63924:58021,63925:58022,63926:58023,63927:58024,63928:58025,63929:58026,63930:58027,63931:58028,63932:58029,63933:58030,63934:58031,63935:58032,63936:58033,63937:58034,63938:58035,63939:58036,63940:58037,63941:58038,63942:58039,63943:58040,63944:58041,63945:58042,63946:58043,63947:58044,63948:58045,63949:58046,63950:58047,63951:58048,63952:58049,63953:58050,63954:58051,63955:58052,63956:58053,63957:58054,63958:58055,63959:58056,63960:58057,63961:58058,63962:58059,63963:58060,63964:58061,63965:58062,63966:58063,63967:58064,63968:58065,63969:58066,63970:58067,63971:58068,63972:58069,63973:58070,63974:58071,63975:58072,63976:58073,63977:58074,63978:58075,63979:58076,63980:58077,63981:58078,63982:58079,63983:58080,63984:58081,63985:58082,63986:58083,63987:58084,63988:58085,63989:58086,63990:58087,63991:58088,63992:58089,63993:58090,63994:58091,63995:58092,63996:58093,63997:58094,63998:58095,64064:40355,64065:40356,64066:40357,64067:40358,64068:40359,64069:40360,64070:40361,64071:40362,64072:40363,64073:40364,64074:40365,64075:40366,64076:40367,64077:40368,64078:40369,64079:40370,64080:40371,64081:40372,64082:40373,64083:40374,64084:40375,64085:40376,64086:40377,64087:40378,64088:40379,64089:40380,64090:40381,64091:40382,64092:40383,64093:40384,64094:40385,64095:40386,64096:40387,64097:40388,64098:40389,64099:40390,64100:40391,64101:40392,64102:40393,64103:40394,64104:40395,64105:40396,64106:40397,64107:40398,64108:40399,64109:40400,64110:40401,64111:40402,64112:40403,64113:40404,64114:40405,64115:40406,64116:40407,64117:40408,64118:40409,64119:40410,64120:40411,64121:40412,64122:40413,64123:40414,64124:40415,64125:40416,64126:40417,64128:40418,64129:40419,64130:40420,64131:40421,64132:40422,64133:40423,64134:40424,64135:40425,64136:40426,64137:40427,64138:40428,64139:40429,64140:40430,64141:40431,64142:40432,64143:40433,64144:40434,64145:40435,64146:40436,64147:40437,64148:40438,64149:40439,64150:40440,64151:40441,64152:40442,64153:40443,64154:40444,64155:40445,64156:40446,64157:40447,64158:40448,64159:40449,64160:40450,64161:58096,64162:58097,64163:58098,64164:58099,64165:58100,64166:58101,64167:58102,64168:58103,64169:58104,64170:58105,64171:58106,64172:58107,64173:58108,64174:58109,64175:58110,64176:58111,64177:58112,64178:58113,64179:58114,64180:58115,64181:58116,64182:58117,64183:58118,64184:58119,64185:58120,64186:58121,64187:58122,64188:58123,64189:58124,64190:58125,64191:58126,64192:58127,64193:58128,64194:58129,64195:58130,64196:58131,64197:58132,64198:58133,64199:58134,64200:58135,64201:58136,64202:58137,64203:58138,64204:58139,64205:58140,64206:58141,64207:58142,64208:58143,64209:58144,64210:58145,64211:58146,64212:58147,64213:58148,64214:58149,64215:58150,64216:58151,64217:58152,64218:58153,64219:58154,64220:58155,64221:58156,64222:58157,64223:58158,64224:58159,64225:58160,64226:58161,64227:58162,64228:58163,64229:58164,64230:58165,64231:58166,64232:58167,64233:58168,64234:58169,64235:58170,64236:58171,64237:58172,64238:58173,64239:58174,64240:58175,64241:58176,64242:58177,64243:58178,64244:58179,64245:58180,64246:58181,64247:58182,64248:58183,64249:58184,64250:58185,64251:58186,64252:58187,64253:58188,64254:58189,64320:40451,64321:40452,64322:40453,64323:40454,64324:40455,64325:40456,64326:40457,64327:40458,64328:40459,64329:40460,64330:40461,64331:40462,64332:40463,64333:40464,64334:40465,64335:40466,64336:40467,64337:40468,64338:40469,64339:40470,64340:40471,64341:40472,64342:40473,64343:40474,64344:40475,64345:40476,64346:40477,64347:40478,64348:40484,64349:40487,64350:40494,64351:40496,64352:40500,64353:40507,64354:40508,64355:40512,64356:40525,64357:40528,64358:40530,64359:40531,64360:40532,64361:40534,64362:40537,64363:40541,64364:40543,64365:40544,64366:40545,64367:40546,64368:40549,64369:40558,64370:40559,64371:40562,64372:40564,64373:40565,64374:40566,64375:40567,64376:40568,64377:40569,64378:40570,64379:40571,64380:40572,64381:40573,64382:40576,64384:40577,64385:40579,64386:40580,64387:40581,64388:40582,64389:40585,64390:40586,64391:40588,64392:40589,64393:40590,64394:40591,64395:40592,64396:40593,64397:40596,64398:40597,64399:40598,64400:40599,64401:40600,64402:40601,64403:40602,64404:40603,64405:40604,64406:40606,64407:40608,64408:40609,64409:40610,64410:40611,64411:40612,64412:40613,64413:40615,64414:40616,64415:40617,64416:40618,64417:58190,64418:58191,64419:58192,64420:58193,64421:58194,64422:58195,64423:58196,64424:58197,64425:58198,64426:58199,64427:58200,64428:58201,64429:58202,64430:58203,64431:58204,64432:58205,64433:58206,64434:58207,64435:58208,64436:58209,64437:58210,64438:58211,64439:58212,64440:58213,64441:58214,64442:58215,64443:58216,64444:58217,64445:58218,64446:58219,64447:58220,64448:58221,64449:58222,64450:58223,64451:58224,64452:58225,64453:58226,64454:58227,64455:58228,64456:58229,64457:58230,64458:58231,64459:58232,64460:58233,64461:58234,64462:58235,64463:58236,64464:58237,64465:58238,64466:58239,64467:58240,64468:58241,64469:58242,64470:58243,64471:58244,64472:58245,64473:58246,64474:58247,64475:58248,64476:58249,64477:58250,64478:58251,64479:58252,64480:58253,64481:58254,64482:58255,64483:58256,64484:58257,64485:58258,64486:58259,64487:58260,64488:58261,64489:58262,64490:58263,64491:58264,64492:58265,64493:58266,64494:58267,64495:58268,64496:58269,64497:58270,64498:58271,64499:58272,64500:58273,64501:58274,64502:58275,64503:58276,64504:58277,64505:58278,64506:58279,64507:58280,64508:58281,64509:58282,64510:58283,64576:40619,64577:40620,64578:40621,64579:40622,64580:40623,64581:40624,64582:40625,64583:40626,64584:40627,64585:40629,64586:40630,64587:40631,64588:40633,64589:40634,64590:40636,64591:40639,64592:40640,64593:40641,64594:40642,64595:40643,64596:40645,64597:40646,64598:40647,64599:40648,64600:40650,64601:40651,64602:40652,64603:40656,64604:40658,64605:40659,64606:40661,64607:40662,64608:40663,64609:40665,64610:40666,64611:40670,64612:40673,64613:40675,64614:40676,64615:40678,64616:40680,64617:40683,64618:40684,64619:40685,64620:40686,64621:40688,64622:40689,64623:40690,64624:40691,64625:40692,64626:40693,64627:40694,64628:40695,64629:40696,64630:40698,64631:40701,64632:40703,64633:40704,64634:40705,64635:40706,64636:40707,64637:40708,64638:40709,64640:40710,64641:40711,64642:40712,64643:40713,64644:40714,64645:40716,64646:40719,64647:40721,64648:40722,64649:40724,64650:40725,64651:40726,64652:40728,64653:40730,64654:40731,64655:40732,64656:40733,64657:40734,64658:40735,64659:40737,64660:40739,64661:40740,64662:40741,64663:40742,64664:40743,64665:40744,64666:40745,64667:40746,64668:40747,64669:40749,64670:40750,64671:40752,64672:40753,64673:58284,64674:58285,64675:58286,64676:58287,64677:58288,64678:58289,64679:58290,64680:58291,64681:58292,64682:58293,64683:58294,64684:58295,64685:58296,64686:58297,64687:58298,64688:58299,64689:58300,64690:58301,64691:58302,64692:58303,64693:58304,64694:58305,64695:58306,64696:58307,64697:58308,64698:58309,64699:58310,64700:58311,64701:58312,64702:58313,64703:58314,64704:58315,64705:58316,64706:58317,64707:58318,64708:58319,64709:58320,64710:58321,64711:58322,64712:58323,64713:58324,64714:58325,64715:58326,64716:58327,64717:58328,64718:58329,64719:58330,64720:58331,64721:58332,64722:58333,64723:58334,64724:58335,64725:58336,64726:58337,64727:58338,64728:58339,64729:58340,64730:58341,64731:58342,64732:58343,64733:58344,64734:58345,64735:58346,64736:58347,64737:58348,64738:58349,64739:58350,64740:58351,64741:58352,64742:58353,64743:58354,64744:58355,64745:58356,64746:58357,64747:58358,64748:58359,64749:58360,64750:58361,64751:58362,64752:58363,64753:58364,64754:58365,64755:58366,64756:58367,64757:58368,64758:58369,64759:58370,64760:58371,64761:58372,64762:58373,64763:58374,64764:58375,64765:58376,64766:58377,64832:40754,64833:40755,64834:40756,64835:40757,64836:40758,64837:40760,64838:40762,64839:40764,64840:40767,64841:40768,64842:40769,64843:40770,64844:40771,64845:40773,64846:40774,64847:40775,64848:40776,64849:40777,64850:40778,64851:40779,64852:40780,64853:40781,64854:40782,64855:40783,64856:40786,64857:40787,64858:40788,64859:40789,64860:40790,64861:40791,64862:40792,64863:40793,64864:40794,64865:40795,64866:40796,64867:40797,64868:40798,64869:40799,64870:40800,64871:40801,64872:40802,64873:40803,64874:40804,64875:40805,64876:40806,64877:40807,64878:40808,64879:40809,64880:40810,64881:40811,64882:40812,64883:40813,64884:40814,64885:40815,64886:40816,64887:40817,64888:40818,64889:40819,64890:40820,64891:40821,64892:40822,64893:40823,64894:40824,64896:40825,64897:40826,64898:40827,64899:40828,64900:40829,64901:40830,64902:40833,64903:40834,64904:40845,64905:40846,64906:40847,64907:40848,64908:40849,64909:40850,64910:40851,64911:40852,64912:40853,64913:40854,64914:40855,64915:40856,64916:40860,64917:40861,64918:40862,64919:40865,64920:40866,64921:40867,64922:40868,64923:40869,64924:63788,64925:63865,64926:63893,64927:63975,64928:63985,64929:58378,64930:58379,64931:58380,64932:58381,64933:58382,64934:58383,64935:58384,64936:58385,64937:58386,64938:58387,64939:58388,64940:58389,64941:58390,64942:58391,64943:58392,64944:58393,64945:58394,64946:58395,64947:58396,64948:58397,64949:58398,64950:58399,64951:58400,64952:58401,64953:58402,64954:58403,64955:58404,64956:58405,64957:58406,64958:58407,64959:58408,64960:58409,64961:58410,64962:58411,64963:58412,64964:58413,64965:58414,64966:58415,64967:58416,64968:58417,64969:58418,64970:58419,64971:58420,64972:58421,64973:58422,64974:58423,64975:58424,64976:58425,64977:58426,64978:58427,64979:58428,64980:58429,64981:58430,64982:58431,64983:58432,64984:58433,64985:58434,64986:58435,64987:58436,64988:58437,64989:58438,64990:58439,64991:58440,64992:58441,64993:58442,64994:58443,64995:58444,64996:58445,64997:58446,64998:58447,64999:58448,65000:58449,65001:58450,65002:58451,65003:58452,65004:58453,65005:58454,65006:58455,65007:58456,65008:58457,65009:58458,65010:58459,65011:58460,65012:58461,65013:58462,65014:58463,65015:58464,65016:58465,65017:58466,65018:58467,65019:58468,65020:58469,65021:58470,65022:58471,65088:64012,65089:64013,65090:64014,65091:64015,65092:64017,65093:64019,65094:64020,65095:64024,65096:64031,65097:64032,65098:64033,65099:64035,65100:64036,65101:64039,65102:64040,65103:64041,65104:11905,65105:59414,65106:59415,65107:59416,65108:11908,65109:13427,65110:13383,65111:11912,65112:11915,65113:59422,65114:13726,65115:13850,65116:13838,65117:11916,65118:11927,65119:14702,65120:14616,65121:59430,65122:14799,65123:14815,65124:14963,65125:14800,65126:59435,65127:59436,65128:15182,65129:15470,65130:15584,65131:11943,65132:59441,65133:59442,65134:11946,65135:16470,65136:16735,65137:11950,65138:17207,65139:11955,65140:11958,65141:11959,65142:59451,65143:17329,65144:17324,65145:11963,65146:17373,65147:17622,65148:18017,65149:17996,65150:59459,65152:18211,65153:18217,65154:18300,65155:18317,65156:11978,65157:18759,65158:18810,65159:18813,65160:18818,65161:18819,65162:18821,65163:18822,65164:18847,65165:18843,65166:18871,65167:18870,65168:59476,65169:59477,65170:19619,65171:19615,65172:19616,65173:19617,65174:19575,65175:19618,65176:19731,65177:19732,65178:19733,65179:19734,65180:19735,65181:19736,65182:19737,65183:19886,65184:59492,65185:58472,65186:58473,65187:58474,65188:58475,65189:58476,65190:58477,65191:58478,65192:58479,65193:58480,65194:58481,65195:58482,65196:58483,65197:58484,65198:58485,65199:58486,65200:58487,65201:58488,65202:58489,65203:58490,65204:58491,65205:58492,65206:58493,65207:58494,65208:58495,65209:58496,65210:58497,65211:58498,65212:58499,65213:58500,65214:58501,65215:58502,65216:58503,65217:58504,65218:58505,65219:58506,65220:58507,65221:58508,65222:58509,65223:58510,65224:58511,65225:58512,65226:58513,65227:58514,65228:58515,65229:58516,65230:58517,65231:58518,65232:58519,65233:58520,65234:58521,65235:58522,65236:58523,65237:58524,65238:58525,65239:58526,65240:58527,65241:58528,65242:58529,65243:58530,65244:58531,65245:58532,65246:58533,65247:58534,65248:58535,65249:58536,65250:58537,65251:58538,65252:58539,65253:58540,65254:58541,65255:58542,65256:58543,65257:58544,65258:58545,65259:58546,65260:58547,65261:58548,65262:58549,65263:58550,65264:58551,65265:58552,65266:58553,65267:58554,65268:58555,65269:58556,65270:58557,65271:58558,65272:58559,65273:58560,65274:58561,65275:58562,65276:58563,65277:58564,65278:58565}\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js b/src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js\ndeleted file mode 100644\nindex 909e433a..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/generation/generate-big5-table.js\n+++ /dev/null\n@@ -1,25 +0,0 @@\n-var http = require(\'http\');\n-var fs = require(\'fs\');\n-// BIG5\n-var cp950_b2u = {host:\'moztw.org\',path:\'/docs/big5/table/cp950-b2u.txt\'},\n- cp950_u2b = {host:\'moztw.org\',path:\'/docs/big5/table/cp950-u2b.txt\'},\n- cp950_moz18_b2u = {host:\'moztw.org\',path:\'/docs/big5/table/moz18-b2u.txt\'};\n-\n-http.get(cp950_moz18_b2u, function(res) {\n- var data = \'\';\n- res.on(\'data\', function(chunk) {\n- data += chunk;\n- });\n- res.on(\'end\', function() {\n- var table = {};\n- data = data.split(\'\\n\').slice(1);\n- data.forEach(function(line, idx) {\n- var pair = line.split(\' \');\n- var key = parseInt(pair[0]);\n- var val = parseInt(pair[1]);\n- table[key] = val;\n- });\n- fs.createWriteSync(\'encodings/table/big5.js\',\n- \t\'module.exports = \' + JSON.stringify(table) + \';\');\n- });\n-});\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js b/src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js\ndeleted file mode 100644\nindex 2cbebece..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/generation/generate-singlebyte.js\n+++ /dev/null\n@@ -1,142 +0,0 @@\n-var fs = require("fs");\n-var Iconv = require("iconv").Iconv;\n-\n-\n-var encodingFamilies = [\n- {\n- // Windows code pages\n- encodings: [1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258],\n- convert: function(cp) {\n- return {\n- name: "windows-"+cp,\n- aliases: ["win"+cp, "cp"+cp, ""+cp],\n- }\n- }\n- },\n- {\n- // ISO-8859 code pages\n- encodings: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16],\n- convert: function(i) {\n- return {\n- name: "iso-8859-"+i,\n- aliases: ["cp"+(28590+i), (28590+i)],\n- }\n- }\n- },\n- {\n- // IBM/DOS code pages\n- encodings: [437, 737, 775, 850, 852, 855, 857, 858, 860, 861, 862, 863, 864, 865, 866, 869],\n- convert: function(cp) {\n- return {\n- name: "CP"+cp,\n- aliases: ["ibm"+cp, ""+cp],\n- }\n- }\n- },\n- {\n- // Macintosh code pages\n- encodings: ["macCroatian", "macCyrillic", "macGreek", \n- "macIceland", "macRoman", "macRomania", \n- "macThai", "macTurkish", "macUkraine"],\n- },\n- {\n- // KOI8 code pages\n- encodings: ["KOI8-R", "KOI8-U"],\n- },\n-];\n-\n-\n-var encodings = {\n- // Aliases.\n- "ascii8bit": "ascii",\n- "usascii": "ascii",\n-\n- "latin1": "iso88591",\n- "latin2": "iso88592",\n- "latin3": "iso88593",\n- "latin4": "iso88594",\n- "latin6": "iso885910",\n- "latin7": "iso885913",\n- "latin8": "iso885914",\n- "latin9": "iso885915",\n- "latin10": "iso885916",\n-\n- "cp819": "iso88951",\n- "arabic": "iso88596",\n- "arabic8": "iso88596",\n- "greek" : "iso88597",\n- "greek8" : "iso88597",\n- "hebrew": "iso88598",\n- "hebrew8": "iso88598",\n- "turkish": "iso88599",\n- "turkish8": "iso88599",\n- "thai": "iso885911",\n- "thai8": "iso885911",\n- "tis620": "iso885911",\n- "windows874": "iso885911",\n- "win874": "iso885911",\n- "cp874": "iso885911",\n- "874": "iso885911",\n- "celtic": "iso885914",\n- "celtic8": "iso885914",\n-\n- "cp20866": "koi8r",\n- "20866": "koi8r",\n- "ibm878": "koi8r",\n- "cp21866": "koi8u",\n- "21866": "koi8u",\n- "ibm1168": "koi8u",\n- \n-};\n-\n-// Add all encodings from encodingFamilies.\n-encodingFamilies.forEach(function(family){\n- family.encodings.forEach(function(encoding){\n- if (family.convert)\n- encoding = family.convert(encoding);\n-\n- var encodingIconvName = encoding.name ? encoding.name : encoding; \n- var encodingName = encodingIconvName.replace(/[-_]/g, "").toLowerCase();\n-\n- encodings[encodingName] = {\n- type: "singlebyte",\n- chars: generateCharsString(encodingIconvName)\n- };\n-\n- if (encoding.aliases)\n- encoding.aliases.forEach(function(alias){\n- encodings[alias] = encodingName;\n- });\n- });\n-});\n-\n-// Write encodings.\n-fs.writeFileSync("encodings/singlebyte.js", \n- "module.exports = " + JSON.stringify(encodings, undefined, " ") + ";");\n-\n-\n-function generateCharsString(encoding) {\n- console.log("Generate encoding for " + encoding);\n- var iconvToUtf8 = new Iconv(encoding, "UTF-8");\n- var chars = "";\n-\n- for (var b = 0x80; b < 0x100; b++) {\n-\n- try {\n- var convertedChar = iconvToUtf8.convert(new Buffer([b])).toString();\n- \n- if (convertedChar.length != 1)\n- throw new Error("Single-byte encoding error: Must return single char.");\n- } catch (exception) {\n- if (exception.code === "EILSEQ") {\n- convertedChar = "\\ufffd";\n- } else {\n- throw exception;\n- }\n- }\n-\n- chars += convertedChar;\n- }\n-\n- return chars;\n-}\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/index.js b/src/plone/staticresources/static/components/iconv-lite/index.js\ndeleted file mode 100644\nindex a55691b1..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/index.js\n+++ /dev/null\n@@ -1,231 +0,0 @@\n-var RE_SPACEDASH = /[- ]/g;\n-// Module exports\n-var iconv = module.exports = {\n- toEncoding: function(str, encoding) {\n- return iconv.getCodec(encoding).toEncoding(str);\n- },\n- fromEncoding: function(buf, encoding) {\n- return iconv.getCodec(encoding).fromEncoding(buf);\n- },\n- encodingExists: function(enc) {\n- loadEncodings();\n- enc = enc.replace(RE_SPACEDASH, "").toLowerCase();\n- return (iconv.encodings[enc] !== undefined);\n- },\n- \n- defaultCharUnicode: \'\xef\xbf\xbd\',\n- defaultCharSingleByte: \'?\',\n-\n- encodingsLoaded: false,\n- \n- // Get correct codec for given encoding.\n- getCodec: function(encoding) {\n- loadEncodings();\n- var enc = encoding || "utf8";\n- var codecOptions = undefined;\n- while (1) {\n- if (getType(enc) === "String")\n- enc = enc.replace(RE_SPACEDASH, "").toLowerCase();\n- var codec = iconv.encodings[enc];\n- var type = getType(codec);\n- if (type === "String") {\n- // Link to other encoding.\n- codecOptions = {originalEncoding: enc};\n- enc = codec;\n- }\n- else if (type === "Object" && codec.type != undefined) {\n- // Options for other encoding.\n- codecOptions = codec;\n- enc = codec.type;\n- } \n- else if (type === "Function")\n- // Codec itself.\n- return codec(codecOptions);\n- else\n- throw new Error("Encoding not recognized: \'" + encoding + "\' (searched as: \'"+enc+"\')");\n- }\n- },\n- \n- // Define basic encodings\n- encodings: {\n- internal: function(options) {\n- return {\n- toEncoding: toInternalEncoding,\n- fromEncoding: fromInternalEncoding,\n- options: options\n- };\n- },\n- utf8: "internal",\n- ucs2: "internal",\n- binary: "internal",\n- ascii: "internal",\n- base64: "internal",\n- \n- // Codepage single-byte encodings.\n- singlebyte: function(options) {\n- // Prepare chars if needed\n- if (!options.charsBuf) {\n- if (!options.chars || (options.chars.length !== 128 && options.chars.length !== 256))\n- throw new Error("Encoding \'"+options.type+"\' has incorrect \'chars\' (must be of len 128 or 256)");\n- \n- if (options.chars.length === 128)\n- options.chars = asciiString + options.chars;\n-\n- options.charsBuf = new Buffer(options.chars, \'ucs2\');\n- }\n- \n- if (!options.revCharsBuf) {\n- options.revCharsBuf = new Buffer(65536);\n- var defChar = iconv.defaultCharSingleByte.charCodeAt(0);\n- for (var i = 0; i < options.revCharsBuf.length; i++)\n- options.revCharsBuf[i] = defChar;\n- for (var i = 0; i < options.chars.length; i++)\n- options.revCharsBuf[options.chars.charCodeAt(i)] = i;\n- }\n-\n- return {\n- toEncoding: toSingleByteEncoding,\n- fromEncoding: fromSingleByteEncoding,\n- options: options,\n- };\n- },\n-\n- // Codepage double-byte encodings.\n- table: function(options) {\n- if (!options.table) {\n- throw new Error("Encoding \'" + options.type + "\' has incorect \'table\' option");\n- }\n- if (!options.revCharsTable) {\n- var revCharsTable = options.revCharsTable = {};\n- for (var i = 0; i <= 0xFFFF; i++) {\n- revCharsTable[i] = 0;\n- }\n-\n- var table = options.table;\n- for (var key in table) {\n- revCharsTable[table[key]] = +key;\n- }\n- }\n- \n- return {\n- toEncoding: toTableEncoding,\n- fromEncoding: fromTableEncoding,\n- options: options,\n- };\n- }\n- }\n-};\n-\n-function toInternalEncoding(str) {\n- return new Buffer(ensureString(str), this.options.originalEncoding);\n-}\n-\n-function fromInternalEncoding(buf) {\n- return ensureBuffer(buf).toString(this.options.originalEncoding);\n-}\n-\n-function toTableEncoding(str) {\n- str = ensureString(str);\n- var strLen = str.length;\n- var revCharsTable = this.options.revCharsTable;\n- var newBuf = new Buffer(strLen*2), gbkcode, unicode,\n- defaultChar = revCharsTable[iconv.defaultCharUnicode.charCodeAt(0)];\n-\n- for (var i = 0, j = 0; i < strLen; i++) {\n- unicode = str.charCodeAt(i);\n- if (unicode >> 7) {\n- gbkcode = revCharsTable[unicode] || defaultChar;\n- newBuf[j++] = gbkcode >> 8; //high byte;\n- newBuf[j++] = gbkcode & 0xFF; //low byte\n- } else {//ascii\n- newBuf[j++] = unicode;\n- }\n- }\n- return newBuf.slice(0, j);\n-}\n-\n-function fromTableEncoding(buf) {\n- buf = ensureBuffer(buf);\n- var bufLen = buf.length;\n- var table = this.options.table;\n- var newBuf = new Buffer(bufLen*2), unicode, gbkcode,\n- defaultChar = iconv.defaultCharUnicode.charCodeAt(0);\n-\n- for (var i = 0, j = 0; i < bufLen; i++, j+=2) {\n- gbkcode = buf[i];\n- if (gbkcode & 0x80) {\n- gbkcode = (gbkcode << 8) + buf[++i];\n- unicode = table[gbkcode] || defaultChar;\n- } else {\n- unicode = gbkcode;\n- }\n- newBuf[j] = unicode & 0xFF; //low byte\n- newBuf[j+1] = unicode >> 8; //high byte\n- }\n- return newBuf.slice(0, j).toString(\'ucs2\');\n-}\n-\n-function toSingleByteEncoding(str) {\n- str = ensureString(str);\n- \n- var buf = new Buffer(str.length);\n- var revCharsBuf = this.options.revCharsBuf;\n- for (var i = 0; i < str.length; i++)\n- buf[i] = revCharsBuf[str.charCodeAt(i)];\n- \n- return buf;\n-}\n-\n-function fromSingleByteEncoding(buf) {\n- buf = ensureBuffer(buf);\n- \n- // Strings are immutable in JS -> we use ucs2 buffer to speed up computations.\n- var charsBuf = this.options.charsBuf;\n- var newBuf = new Buffer(buf.length*2);\n- var idx1 = 0, idx2 = 0;\n- for (var i = 0, _len = buf.length; i < _len; i++) {\n- idx1 = buf[i]*2; idx2 = i*2;\n- newBuf[idx2] = charsBuf[idx1];\n- newBuf[idx2+1] = charsBuf[idx1+1];\n- }\n- return newBuf.toString(\'ucs2\');\n-}\n-\n-// Add aliases to convert functions\n-iconv.encode = iconv.toEncoding;\n-iconv.decode = iconv.fromEncoding;\n-\n-// Load other encodings manually from files in /encodings dir.\n-function loadEncodings() {\n- if (!iconv.encodingsLoaded) {\n- [ require(\'./encodings/singlebyte\'),\n- require(\'./encodings/gbk\'),\n- require(\'./encodings/big5\')\n- ].forEach(function(encodings) {\n- for (var key in encodings)\n- iconv.encodings[key] = encodings[key]\n- });\n- iconv.encodingsLoaded = true;\n- }\n-}\n-\n-\n-\n-// Utilities\n-var asciiString = \'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f\'+\n- \' !"#$%&\\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\x7f\';\n-\n-var ensureBuffer = function(buf) {\n- buf = buf || new Buffer(0);\n- return (buf instanceof Buffer) ? buf : new Buffer(""+buf, "binary");\n-}\n-\n-var ensureString = function(str) {\n- str = str || "";\n- return (str instanceof Buffer) ? str.toString(\'utf8\') : (""+str);\n-}\n-\n-var getType = function(obj) {\n- return Object.prototype.toString.call(obj).slice(8, -1);\n-}\n-\ndiff --git a/src/plone/staticresources/static/components/iconv-lite/package.json b/src/plone/staticresources/static/components/iconv-lite/package.json\ndeleted file mode 100644\nindex ce08828b..00000000\n--- a/src/plone/staticresources/static/components/iconv-lite/package.json\n+++ /dev/null\n@@ -1,38 +0,0 @@\n-{\n- "name": "iconv-lite",\n- "description": "Convert character encodings in pure javascript.",\n- "version": "0.2.11",\n- "license": "MIT",\n- \n- "keywords": ["iconv", "convert", "charset"],\n- "author": "Alexander Shtuchkin ",\n- "contributors": [\n- "Jinwu Zhan (https://github.com/jenkinv)",\n- "Adamansky Anton (https://github.com/adamansky)",\n- "George Stagas (https://github.com/stagas)",\n- "Mike D Pilsbury (https://github.com/pekim)",\n- "Niggler (https://github.com/Niggler)",\n- "wychi (https://github.com/wychi)",\n- "David Kuo (https://github.com/david50407)",\n- "ChangZhuo Chen (https://github.com/czchen)",\n- "Lee Treveil (https://github.com/leetreveil)",\n- "Brian White (https://github.com/mscdex)"\n- ],\n- \n- "main": "index.js",\n- "homepage": "https://github.com/ashtuchkin/iconv-lite",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/ashtuchkin/iconv-lite.git"\n- },\n- "engines": {\n- "node": ">=0.4.0"\n- },\n- "scripts": {\n- "test": "vows --spec"\n- },\n- "devDependencies": {\n- "vows": "",\n- "iconv": ">=1.1"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/inherits/LICENSE b/src/plone/staticresources/static/components/inherits/LICENSE\ndeleted file mode 100644\nindex dea3013d..00000000\n--- a/src/plone/staticresources/static/components/inherits/LICENSE\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-The ISC License\n-\n-Copyright (c) Isaac Z. Schlueter\n-\n-Permission to use, copy, modify, and/or distribute this software for any\n-purpose with or without fee is hereby granted, provided that the above\n-copyright notice and this permission notice appear in all copies.\n-\n-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n-FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n-PERFORMANCE OF THIS SOFTWARE.\n-\ndiff --git a/src/plone/staticresources/static/components/inherits/README.md b/src/plone/staticresources/static/components/inherits/README.md\ndeleted file mode 100644\nindex b1c56658..00000000\n--- a/src/plone/staticresources/static/components/inherits/README.md\n+++ /dev/null\n@@ -1,42 +0,0 @@\n-Browser-friendly inheritance fully compatible with standard node.js\n-[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n-\n-This package exports standard `inherits` from node.js `util` module in\n-node environment, but also provides alternative browser-friendly\n-implementation through [browser\n-field](https://gist.github.com/shtylman/4339901). Alternative\n-implementation is a literal copy of standard one located in standalone\n-module to avoid requiring of `util`. It also has a shim for old\n-browsers with no `Object.create` support.\n-\n-While keeping you sure you are using standard `inherits`\n-implementation in node.js environment, it allows bundlers such as\n-[browserify](https://github.com/substack/node-browserify) to not\n-include full `util` package to your client code if all you need is\n-just `inherits` function. It worth, because browser shim for `util`\n-package is large and `inherits` is often the single function you need\n-from it.\n-\n-It\'s recommended to use this package instead of\n-`require(\'util\').inherits` for any code that has chances to be used\n-not only in node.js but in browser too.\n-\n-## usage\n-\n-```js\n-var inherits = require(\'inherits\');\n-// then use exactly as the standard one\n-```\n-\n-## note on version ~1.0\n-\n-Version ~1.0 had completely different motivation and is not compatible\n-neither with 2.0 nor with standard node.js `inherits`.\n-\n-If you are using version ~1.0 and planning to switch to ~2.0, be\n-careful:\n-\n-* new version uses `super_` instead of `super` for referencing\n- superclass\n-* new version overwrites current prototype while old one preserves any\n- existing fields on it\ndiff --git a/src/plone/staticresources/static/components/inherits/inherits.js b/src/plone/staticresources/static/components/inherits/inherits.js\ndeleted file mode 100644\nindex f71f2d93..00000000\n--- a/src/plone/staticresources/static/components/inherits/inherits.js\n+++ /dev/null\n@@ -1,9 +0,0 @@\n-try {\n- var util = require(\'util\');\n- /* istanbul ignore next */\n- if (typeof util.inherits !== \'function\') throw \'\';\n- module.exports = util.inherits;\n-} catch (e) {\n- /* istanbul ignore next */\n- module.exports = require(\'./inherits_browser.js\');\n-}\ndiff --git a/src/plone/staticresources/static/components/inherits/inherits_browser.js b/src/plone/staticresources/static/components/inherits/inherits_browser.js\ndeleted file mode 100644\nindex 86bbb3dc..00000000\n--- a/src/plone/staticresources/static/components/inherits/inherits_browser.js\n+++ /dev/null\n@@ -1,27 +0,0 @@\n-if (typeof Object.create === \'function\') {\n- // implementation from standard node.js \'util\' module\n- module.exports = function inherits(ctor, superCtor) {\n- if (superCtor) {\n- ctor.super_ = superCtor\n- ctor.prototype = Object.create(superCtor.prototype, {\n- constructor: {\n- value: ctor,\n- enumerable: false,\n- writable: true,\n- configurable: true\n- }\n- })\n- }\n- };\n-} else {\n- // old school shim for old browsers\n- module.exports = function inherits(ctor, superCtor) {\n- if (superCtor) {\n- ctor.super_ = superCtor\n- var TempCtor = function () {}\n- TempCtor.prototype = superCtor.prototype\n- ctor.prototype = new TempCtor()\n- ctor.prototype.constructor = ctor\n- }\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/inherits/package.json b/src/plone/staticresources/static/components/inherits/package.json\ndeleted file mode 100644\nindex 37b4366b..00000000\n--- a/src/plone/staticresources/static/components/inherits/package.json\n+++ /dev/null\n@@ -1,29 +0,0 @@\n-{\n- "name": "inherits",\n- "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",\n- "version": "2.0.4",\n- "keywords": [\n- "inheritance",\n- "class",\n- "klass",\n- "oop",\n- "object-oriented",\n- "inherits",\n- "browser",\n- "browserify"\n- ],\n- "main": "./inherits.js",\n- "browser": "./inherits_browser.js",\n- "repository": "git://github.com/isaacs/inherits",\n- "license": "ISC",\n- "scripts": {\n- "test": "tap"\n- },\n- "devDependencies": {\n- "tap": "^14.2.4"\n- },\n- "files": [\n- "inherits.js",\n- "inherits_browser.js"\n- ]\n-}\ndiff --git a/src/plone/staticresources/static/components/install/LICENSE b/src/plone/staticresources/static/components/install/LICENSE\ndeleted file mode 100644\nindex 527755ba..00000000\n--- a/src/plone/staticresources/static/components/install/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2012 Ben Newman \n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/install/README.md b/src/plone/staticresources/static/components/install/README.md\ndeleted file mode 100644\nindex 98c7b399..00000000\n--- a/src/plone/staticresources/static/components/install/README.md\n+++ /dev/null\n@@ -1,61 +0,0 @@\n-Introduction\n----\n-\n-The [CommonJS module syntax](http://wiki.commonjs.org/wiki/Modules/1.1) is one of the most widely accepted conventions in the JavaScript ecosystem. Everyone seems to agree that `require` and `exports` are a reasonable way of expressing module dependencies and interfaces, and the tools for managing modular code are getting better all the time.\n-\n-Much less of a consensus has developed around the best way to deliver CommonJS modules to a web browser, where the synchronous semantics of `require` pose a non-trivial implementation challenge. This module loader contributes to that confusion, yet also demonstrates that an amply-featured module loader need not stretch into the hundreds or thousands of lines.\n-\n-Installation\n----\n-From NPM:\n-\n- npm install install\n-\n-From GitHub:\n-\n- cd path/to/node_modules\n- git clone git://github.com/benjamn/install.git\n- cd install\n- npm install .\n-\n-Usage\n----\n-\n-When evaluated, the contents of install.js create a global function called `install`. This function is the only external interface to the module loader, and it can be called in two ways.\n-\n-The first way is to pass a module identifier string followed by a module factory function:\n-```js\n-install("some/module/id", function(require, exports, module) {\n- // CommonJS module code goes here.\n-\n- // For example:\n- exports.setImmediate = function(callback) {\n- return setTimeout(callback, 0);\n- };\n-});\n-```\n-This makes the module available for requirement, but does not evaluate the contents of the module until the first time another module calls `require("some/module/id")`.\n-\n-The second way to invoke `install` is to omit the module identifier and pass an anonymous module factory function:\n-```js\n-install(function(require) {\n- // Code that uses require goes here.\n-\n- // For example:\n- require("some/module/id").setImmediate(function() {\n- console.log("setImmediate fired");\n- });\n-});\n-```\n-Anonymous modules are executed in order of installation, as soon as their requirements have been installed. Note that such modules do not have exports objects, because anonymous modules cannot be required.\n-\n-Sugar\n----\n-If a named module has no requirements and does not need its own scope, the following shorthand can be used to install the module:\n-```js\n-install("simple/module", { exports: {\n- one: 1,\n- two: 2,\n- buckle: "my shoe"\n-}});\n-```\ndiff --git a/src/plone/staticresources/static/components/install/docs/docco.css b/src/plone/staticresources/static/components/install/docs/docco.css\ndeleted file mode 100644\nindex 04cc7ecb..00000000\n--- a/src/plone/staticresources/static/components/install/docs/docco.css\n+++ /dev/null\n@@ -1,192 +0,0 @@\n-/*--------------------- Layout and Typography ----------------------------*/\n-body {\n- font-family: \'Palatino Linotype\', \'Book Antiqua\', Palatino, FreeSerif, serif;\n- font-size: 15px;\n- line-height: 22px;\n- color: #252519;\n- margin: 0; padding: 0;\n-}\n-a {\n- color: #261a3b;\n-}\n- a:visited {\n- color: #261a3b;\n- }\n-p {\n- margin: 0 0 15px 0;\n-}\n-h1, h2, h3, h4, h5, h6 {\n- margin: 0px 0 15px 0;\n-}\n- h1 {\n- margin-top: 40px;\n- }\n-hr {\n- border: 0 none;\n- border-top: 1px solid #e5e5ee;\n- height: 1px;\n- margin: 20px 0;\n-}\n-#container {\n- position: relative;\n-}\n-#background {\n- position: fixed;\n- top: 0; left: 525px; right: 0; bottom: 0;\n- background: #f5f5ff;\n- border-left: 1px solid #e5e5ee;\n- z-index: -1;\n-}\n-#jump_to, #jump_page {\n- background: white;\n- -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;\n- -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;\n- font: 10px Arial;\n- text-transform: uppercase;\n- cursor: pointer;\n- text-align: right;\n-}\n-#jump_to, #jump_wrapper {\n- position: fixed;\n- right: 0; top: 0;\n- padding: 5px 10px;\n-}\n- #jump_wrapper {\n- padding: 0;\n- display: none;\n- }\n- #jump_to:hover #jump_wrapper {\n- display: block;\n- }\n- #jump_page {\n- padding: 5px 0 3px;\n- margin: 0 0 25px 25px;\n- }\n- #jump_page .source {\n- display: block;\n- padding: 5px 10px;\n- text-decoration: none;\n- border-top: 1px solid #eee;\n- }\n- #jump_page .source:hover {\n- background: #f5f5ff;\n- }\n- #jump_page .source:first-child {\n- }\n-table td {\n- border: 0;\n- outline: 0;\n-}\n- td.docs, th.docs {\n- max-width: 450px;\n- min-width: 450px;\n- min-height: 5px;\n- padding: 10px 25px 1px 50px;\n- overflow-x: hidden;\n- vertical-align: top;\n- text-align: left;\n- }\n- .docs pre {\n- margin: 15px 0 15px;\n- padding-left: 15px;\n- }\n- .docs p tt, .docs p code {\n- background: #f8f8ff;\n- border: 1px solid #dedede;\n- font-size: 12px;\n- padding: 0 0.2em;\n- }\n- .pilwrap {\n- position: relative;\n- }\n- .pilcrow {\n- font: 12px Arial;\n- text-decoration: none;\n- color: #454545;\n- position: absolute;\n- top: 3px; left: -20px;\n- padding: 1px 2px;\n- opacity: 0;\n- -webkit-transition: opacity 0.2s linear;\n- }\n- td.docs:hover .pilcrow {\n- opacity: 1;\n- }\n- td.code, th.code {\n- padding: 14px 15px 16px 25px;\n- width: 100%;\n- vertical-align: top;\n- background: #f5f5ff;\n- border-left: 1px solid #e5e5ee;\n- }\n- pre, tt, code {\n- font-size: 12px; line-height: 18px;\n- font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;\n- margin: 0; padding: 0;\n- }\n-\n-\n-/*---------------------- Syntax Highlighting -----------------------------*/\n-td.linenos { background-color: #f0f0f0; padding-right: 10px; }\n-span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }\n-body .hll { background-color: #ffffcc }\n-body .c { color: #408080; font-style: italic } /* Comment */\n-body .err { border: 1px solid #FF0000 } /* Error */\n-body .k { color: #954121 } /* Keyword */\n-body .o { color: #666666 } /* Operator */\n-body .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n-body .cp { color: #BC7A00 } /* Comment.Preproc */\n-body .c1 { color: #408080; font-style: italic } /* Comment.Single */\n-body .cs { color: #408080; font-style: italic } /* Comment.Special */\n-body .gd { color: #A00000 } /* Generic.Deleted */\n-body .ge { font-style: italic } /* Generic.Emph */\n-body .gr { color: #FF0000 } /* Generic.Error */\n-body .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n-body .gi { color: #00A000 } /* Generic.Inserted */\n-body .go { color: #808080 } /* Generic.Output */\n-body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n-body .gs { font-weight: bold } /* Generic.Strong */\n-body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n-body .gt { color: #0040D0 } /* Generic.Traceback */\n-body .kc { color: #954121 } /* Keyword.Constant */\n-body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */\n-body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */\n-body .kp { color: #954121 } /* Keyword.Pseudo */\n-body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */\n-body .kt { color: #B00040 } /* Keyword.Type */\n-body .m { color: #666666 } /* Literal.Number */\n-body .s { color: #219161 } /* Literal.String */\n-body .na { color: #7D9029 } /* Name.Attribute */\n-body .nb { color: #954121 } /* Name.Builtin */\n-body .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n-body .no { color: #880000 } /* Name.Constant */\n-body .nd { color: #AA22FF } /* Name.Decorator */\n-body .ni { color: #999999; font-weight: bold } /* Name.Entity */\n-body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n-body .nf { color: #0000FF } /* Name.Function */\n-body .nl { color: #A0A000 } /* Name.Label */\n-body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n-body .nt { color: #954121; font-weight: bold } /* Name.Tag */\n-body .nv { color: #19469D } /* Name.Variable */\n-body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n-body .w { color: #bbbbbb } /* Text.Whitespace */\n-body .mf { color: #666666 } /* Literal.Number.Float */\n-body .mh { color: #666666 } /* Literal.Number.Hex */\n-body .mi { color: #666666 } /* Literal.Number.Integer */\n-body .mo { color: #666666 } /* Literal.Number.Oct */\n-body .sb { color: #219161 } /* Literal.String.Backtick */\n-body .sc { color: #219161 } /* Literal.String.Char */\n-body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */\n-body .s2 { color: #219161 } /* Literal.String.Double */\n-body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n-body .sh { color: #219161 } /* Literal.String.Heredoc */\n-body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n-body .sx { color: #954121 } /* Literal.String.Other */\n-body .sr { color: #BB6688 } /* Literal.String.Regex */\n-body .s1 { color: #219161 } /* Literal.String.Single */\n-body .ss { color: #19469D } /* Literal.String.Symbol */\n-body .bp { color: #954121 } /* Name.Builtin.Pseudo */\n-body .vc { color: #19469D } /* Name.Variable.Class */\n-body .vg { color: #19469D } /* Name.Variable.Global */\n-body .vi { color: #19469D } /* Name.Variable.Instance */\n-body .il { color: #666666 } /* Literal.Number.Integer.Long */\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/install/docs/install.html b/src/plone/staticresources/static/components/install/docs/install.html\ndeleted file mode 100644\nindex 1950ff08..00000000\n--- a/src/plone/staticresources/static/components/install/docs/install.html\n+++ /dev/null\n@@ -1,129 +0,0 @@\n- install.js

install.js

(function(global, undefined) {

Defining the install function more than once leads to mayhem, so\n-return immedately if a property called install is already defined on\n-the global object.

    if (global.install)\n-        return;

The installed object maps absolute module identifiers to module\n-definitions available for requirement.

    var installed = {};

I make frequent use of hasOwn.call to test for the presence of object\n-properties without traversing the prototype chain.

    var hasOwn = installed.hasOwnProperty;

Anonymous modules are pushed onto a queue so that (when ready) they can\n-be executed in order of installation.

    var qhead = {};\n-    var qtail = qhead;

Define the install function globally.

    global.install = function(id, module) {

To install a named module, pass an absolute module identifier\n-string followed by a module definition. Note that named modules are\n-not evaluated until they are required for the first time.

        if (typeof id === "string" && module) {\n-            if (!hasOwn.call(installed, id)) {\n-                installed[module.id = id] = module;\n-                flushQueue();\n-            }

To install an anonymous module, pass a module definition without an\n-identifier. Anonymous modules are executed in order of\n-installation, as soon as their requirements have been installed.

        } else if (id && typeof id.call === "function") {\n-            qtail = qtail.next = { module: id };\n-            if (qhead.next === qtail)\n-                flushQueue();\n-        }\n-    };

The require function takes an absolute module identifier and returns\n-the exports object defined by that module. An error is thrown if no\n-module with the given identifier is installed.

    function require(moduleId) {\n-        if (hasOwn.call(installed, moduleId)) {\n-            var module = installed[moduleId];\n-            if (!hasOwn.call(module, "exports")) {

Each module receives a version of require that knows how\n-to absolutize relative module identifiers with respect to\n-moduleId.

                module.call(global, function(id) {\n-                    return require(absolutize(id, moduleId));\n-                }, module.exports = {}, module);\n-            }

Note that module.exports may be redefined during evaluation\n-of the module.

            return module.exports;\n-        }

Since modules are evaluated only after all their requirements have\n-been installed, this error generally means that require was\n-called with an identifier that was not seen (or was not understood)\n-by the dependency scanner.

        throw new Error('module "' + moduleId + '" not installed');\n-    }

Given two module identifiers id and baseId, the absolutize\n-function returns the absolute form of id, as if id were required\n-from a module with the identifier baseId. For more information about\n-relative identifiers, refer to the\n-spec.

    var pathNormExp = /\\/(\\.?|[^\\/]+\\/\\.\\.)\\//;\n-    function absolutize(id, baseId) {\n-        if (id.charAt(0) === ".") {

Note: if baseId is omitted, then "/undefined/../" + id will\n-be the starting point for normalization, which works just fine!

            id = "/" + baseId + "/../" + id;\n-            while (id != (baseId = id.replace(pathNormExp, "/")))\n-                id = baseId;\n-            id = id.replace(/^\\//, "");\n-        }\n-        return id;\n-    }

The flushQueue function attempts to evaluate the oldest module in the\n-queue, provided all of its dependencies have been installed. This\n-provision is important because it ensures that the module can call\n-require without fear of missing dependencies.

    function flushQueue() {\n-        var next = qhead.next, module;\n-        if (next && !flushing && ready(module = next.module)) {\n-            flushing = qhead = next;

Module evaluation might throw an exception, so we need to\n-schedule the next call to flushQueue before invoking\n-module.call. The setTimeout function allows the stack to\n-unwind before flushing resumes, so that the browser has a chance\n-to report exceptions and/or handle other events.

            global.setTimeout(resume, 0);\n-            module.call(global, require);\n-            flushing = undefined;\n-        }\n-    }

If install is called during the evaluation of a queued module,\n-flushQueue could be invoked recursively. To prevent double evaluation,\n-flushQueue sets flushing to a truthy value before it evaluates a\n-module and refuses to evaluate any modules if flushing is truthy\n-already.

    var flushing;

Since resume is only ever invoked from setTimeout, there is no risk\n-that flushQueue is already executing, so it is safe to clear the\n-flushing flag unconditionally.

    function resume() {\n-        flushing = undefined;\n-        flushQueue();\n-    }

To be recognized as dependencies, calls to require must use string\n-literal identifiers.

    var requireExp = /\\brequire\\(['"]([^'"]+)['"]\\)/g;

A module is ready to be evaluated if

\n-\n-
    \n-
  1. it has an .exports property (indicating that it has already begun to be evaluated) or
  2. \n-
  3. all of its direct dependencies are installed and ready to be evaluated.
  4. \n-
\n-\n-

Note that the above definition is recursive.

    function ready(module) {\n-        var deps, code, match, id, result = true;\n-\n-        if (!module.seen &&\n-            !hasOwn.call(module, "exports"))\n-        {

Here\'s a little secret: module definitions don\'t have to be\n-functions, as long as they have a suitable .toString and\n-.call methods. If you have a really long module that you\n-don\'t want to waste time scanning, just override its\n-.toString function to return something equivalent (with\n-regard to dependencies) but shorter.

            deps = module.deps;\n-            if (!deps) {\n-                code = module + "";\n-                deps = module.deps = {};\n-                requireExp.lastIndex = 0;\n-                while ((match = requireExp.exec(code)))\n-                    deps[absolutize(match[1], module.id)] = true;\n-            }

There may be cycles in the dependency graph, so we must be\n-careful that the recursion always terminates. Each module we\n-check is temporarily marked as .seen before its dependencies\n-are traversed, so that if we encounter the same module again we\n-can immediately return true.

            module.seen = true;\n-\n-            for (id in deps) {\n-                if (hasOwn.call(deps, id)) {

Once a dependency is determined to be satisfied, we\n-remove its identifier from module.deps, so that we\n-can avoid considering it again if ready is called\n-multiple times.

                    if (hasOwn.call(installed, id) && ready(installed[id])) {\n-                        delete deps[id];

If any dependency is missing or not ready, then the\n-current module is not yet ready. The break is not\n-strictly necessary here, but immediately terminating\n-the loop postpones work that can be done later.

                    } else {\n-                        result = false;\n-                        break;\n-                    }\n-                }\n-            }

Ordinarily I would be more paranoid about always resetting\n-module.seen to false, but if you thoroughly examine the code\n-above, you\'ll find that the only real threat of exceptions comes\n-from evaluating code = module + "" in a recursive call to\n-ready. So if you decide to override the .toString method of a\n-module for performance reasons, get it right.

            module.seen = false;\n-        }\n-\n-        return result;\n-    }

The most reliable way to get the global object:\n-http://stackoverflow.com/a/3277192/128454

}(Function("return this")()));\n-\n-
\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/install/install.js b/src/plone/staticresources/static/components/install/install.js\ndeleted file mode 100644\nindex 515d28f3..00000000\n--- a/src/plone/staticresources/static/components/install/install.js\n+++ /dev/null\n@@ -1,189 +0,0 @@\n-(function(global, undefined) {\n- // Defining the `install` function more than once leads to mayhem, so\n- // return immedately if a property called `install` is already defined on\n- // the global object.\n- if (global.install)\n- return;\n-\n- // The `installed` object maps absolute module identifiers to module\n- // definitions available for requirement.\n- var installed = {};\n-\n- // I make frequent use of `hasOwn.call` to test for the presence of object\n- // properties without traversing the prototype chain.\n- var hasOwn = installed.hasOwnProperty;\n-\n- // Anonymous modules are pushed onto a queue so that (when ready) they can\n- // be executed in order of installation.\n- var qhead = {};\n- var qtail = qhead;\n-\n- // Define the `install` function globally.\n- global.install = function(id, module) {\n- // To install a named module, pass an absolute module identifier\n- // string followed by a module definition. Note that named modules are\n- // not evaluated until they are required for the first time.\n- if (typeof id === "string" && module) {\n- if (!hasOwn.call(installed, id)) {\n- installed[module.id = id] = module;\n- flushQueue();\n- }\n- // To install an anonymous module, pass a module definition without an\n- // identifier. Anonymous modules are executed in order of\n- // installation, as soon as their requirements have been installed.\n- } else if (id && typeof id.call === "function") {\n- qtail = qtail.next = { module: id };\n- if (qhead.next === qtail)\n- flushQueue();\n- }\n- };\n-\n- // The `require` function takes an absolute module identifier and returns\n- // the `exports` object defined by that module. An error is thrown if no\n- // module with the given identifier is installed.\n- function require(moduleId) {\n- if (hasOwn.call(installed, moduleId)) {\n- var module = installed[moduleId];\n- if (!hasOwn.call(module, "exports")) {\n- // Each module receives a version of `require` that knows how\n- // to `absolutize` relative module identifiers with respect to\n- // `moduleId`.\n- module.call(global, function(id) {\n- return require(absolutize(id, moduleId));\n- }, module.exports = {}, module);\n- }\n- // Note that `module.exports` may be redefined during evaluation\n- // of the module.\n- return module.exports;\n- }\n- // Since modules are evaluated only after all their requirements have\n- // been installed, this error generally means that `require` was\n- // called with an identifier that was not seen (or was not understood)\n- // by the dependency scanner.\n- throw new Error(\'module "\' + moduleId + \'" not installed\');\n- }\n-\n- // Given two module identifiers `id` and `baseId`, the `absolutize`\n- // function returns the absolute form of `id`, as if `id` were required\n- // from a module with the identifier `baseId`. For more information about\n- // relative identifiers, refer to the\n- // [spec](http://wiki.commonjs.org/wiki/Modules/1.1#Module_Identifiers).\n- var pathNormExp = /\\/(\\.?|[^\\/]+\\/\\.\\.)\\//;\n- function absolutize(id, baseId) {\n- if (id.charAt(0) === ".") {\n- // Note: if `baseId` is omitted, then `"/undefined/../" + id` will\n- // be the starting point for normalization, which works just fine!\n- id = "/" + baseId + "/../" + id;\n- while (id != (baseId = id.replace(pathNormExp, "/")))\n- id = baseId;\n- id = id.replace(/^\\//, "");\n- }\n- return id;\n- }\n-\n- // The `flushQueue` function attempts to evaluate the oldest module in the\n- // queue, provided all of its dependencies have been installed. This\n- // provision is important because it ensures that the module can call\n- // `require` without fear of missing dependencies.\n- function flushQueue() {\n- var next = qhead.next, module;\n- if (next && !flushing && ready(module = next.module)) {\n- flushing = qhead = next;\n- // Module evaluation might throw an exception, so we need to\n- // schedule the next call to `flushQueue` before invoking\n- // `module.call`. The `setTimeout` function allows the stack to\n- // unwind before flushing resumes, so that the browser has a chance\n- // to report exceptions and/or handle other events.\n- global.setTimeout(resume, 0);\n- module.call(global, require);\n- flushing = undefined;\n- }\n- }\n-\n- // If `install` is called during the evaluation of a queued module,\n- // `flushQueue` could be invoked recursively. To prevent double evaluation,\n- // `flushQueue` sets `flushing` to a truthy value before it evaluates a\n- // module and refuses to evaluate any modules if `flushing` is truthy\n- // already.\n- var flushing;\n-\n- // Since `resume` is only ever invoked from `setTimeout`, there is no risk\n- // that `flushQueue` is already executing, so it is safe to clear the\n- // `flushing` flag unconditionally.\n- function resume() {\n- flushing = undefined;\n- flushQueue();\n- }\n-\n- // To be recognized as dependencies, calls to `require` must use string\n- // literal identifiers.\n- var requireExp = /\\brequire\\([\'"]([^\'"]+)[\'"]\\)/g;\n-\n- // A module is `ready` to be evaluated if\n- //\n- // 1. it has an `.exports` property (indicating that it has already begun to be evaluated) or\n- // 1. all of its direct dependencies are installed and `ready` to be evaluated.\n- //\n- // Note that the above definition is recursive.\n- function ready(module) {\n- var deps, code, match, id, result = true;\n-\n- if (!module.seen &&\n- !hasOwn.call(module, "exports"))\n- {\n- // Here\'s a little secret: module definitions don\'t have to be\n- // functions, as long as they have a suitable `.toString` and\n- // `.call` methods. If you have a really long module that you\n- // don\'t want to waste time scanning, just override its\n- // `.toString` function to return something equivalent (with\n- // regard to dependencies) but shorter.\n- deps = module.deps;\n- if (!deps) {\n- code = module + "";\n- deps = module.deps = {};\n- requireExp.lastIndex = 0;\n- while ((match = requireExp.exec(code)))\n- deps[absolutize(match[1], module.id)] = true;\n- }\n-\n- // There may be cycles in the dependency graph, so we must be\n- // careful that the recursion always terminates. Each module we\n- // check is temporarily marked as `.seen` before its dependencies\n- // are traversed, so that if we encounter the same module again we\n- // can immediately return `true`.\n- module.seen = true;\n-\n- for (id in deps) {\n- if (hasOwn.call(deps, id)) {\n- // Once a dependency is determined to be satisfied, we\n- // remove its identifier from `module.deps`, so that we\n- // can avoid considering it again if `ready` is called\n- // multiple times.\n- if (hasOwn.call(installed, id) && ready(installed[id])) {\n- delete deps[id];\n- // If any dependency is missing or not `ready`, then the\n- // current module is not yet `ready`. The `break` is not\n- // strictly necessary here, but immediately terminating\n- // the loop postpones work that can be done later.\n- } else {\n- result = false;\n- break;\n- }\n- }\n- }\n-\n- // Ordinarily I would be more paranoid about always resetting\n- // `module.seen` to `false`, but if you thoroughly examine the code\n- // above, you\'ll find that the only real threat of exceptions comes\n- // from evaluating `code = module + ""` in a recursive call to\n- // `ready`. So if you decide to override the `.toString` method of a\n- // module for performance reasons, get it right.\n- module.seen = false;\n- }\n-\n- return result;\n- }\n-\n-// The most reliable way to get the global object:\n-// [http://stackoverflow.com/a/3277192/128454](http://stackoverflow.com/a/3277192/128454)\n-}(Function("return this")()));\ndiff --git a/src/plone/staticresources/static/components/install/install.min.js b/src/plone/staticresources/static/components/install/install.min.js\ndeleted file mode 100644\nindex 1046d383..00000000\n--- a/src/plone/staticresources/static/components/install/install.min.js\n+++ /dev/null\n@@ -1 +0,0 @@\n-(function(e,t){function o(t){if(r.call(n,t)){var i=n[t];return r.call(i,"exports")||i.call(e,function(e){return o(a(e,t))},i.exports={},i),i.exports}throw new Error(\'module "\'+t+\'" not installed\')}function a(e,t){if(e.charAt(0)==="."){e="/"+t+"/../"+e;while(e!=(t=e.replace(u,"/")))e=t;e=e.replace(/^\\//,"")}return e}function f(){var n=i.next,r;n&&!l&&p(r=n.module)&&(l=i=n,e.setTimeout(c,0),r.call(e,o),l=t)}function c(){l=t,f()}function p(e){var t,i,s,o,u=!0;if(!e.seen&&!r.call(e,"exports")){t=e.unmet;if(!t){i=e+"",t=e.unmet={},h.lastIndex=0;while(s=h.exec(i))t[a(s[1],e.id)]=!0}e.seen=!0;for(o in t)if(r.call(t,o)){if(!r.call(n,o)||!p(n[o])){u=!1;break}delete t[o]}e.seen=!1}return u}if(e.install)return;var n={},r=n.hasOwnProperty,i={},s=i;e.install=function(e,t){typeof e=="string"&&t?r.call(n,e)||(n[t.id=e]=t,f()):e&&typeof e.call=="function"&&(s=s.next={module:e},i.next===s&&f())};var u=/\\/(\\.?|[^\\/]+\\/\\.\\.)\\//,l,h=/\\brequire\\([\'"]([^\'"]+)[\'"]\\)/g})(Function("return this")());\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/install/main.js b/src/plone/staticresources/static/components/install/main.js\ndeleted file mode 100644\nindex 02c1e614..00000000\n--- a/src/plone/staticresources/static/components/install/main.js\n+++ /dev/null\n@@ -1,92 +0,0 @@\n-var assert = require("assert");\n-var fs = require("fs");\n-var path = require("path");\n-var file = path.join(__dirname, "install.js");\n-\n-exports.makeGlobal = function() {\n- require("./install");\n-};\n-\n-function Reader(file) {\n- var self = this;\n- assert.ok(self instanceof Reader);\n-\n- var args;\n- var qhead = {};\n- var qtail = qhead;\n-\n- fs.readFile(file, "utf8", function(err, data) {\n- args = [err, data];\n- process.nextTick(flush);\n- });\n-\n- function flush() {\n- var next = qhead.next\n- if (next && args) {\n- qhead = next;\n- process.nextTick(flush);\n- next.cb.apply(null, args);\n- }\n- }\n-\n- self.addCallback = function(cb) {\n- qtail = qtail.next = { cb: cb };\n- if (qhead.next === qtail)\n- process.nextTick(flush);\n- };\n-}\n-\n-var reader;\n-\n-exports.getCode = function(callback) {\n- reader = reader || new Reader(file);\n- reader.addCallback(callback);\n-};\n-\n-function rename(installName, code) {\n- if (installName !== "install")\n- code = code.replace(\n- /\\bglobal\\.install\\b/g,\n- "global." + installName);\n- return code;\n-}\n-\n-exports.renameCode = function(installName, callback) {\n- reader = reader || new Reader(file);\n- reader.addCallback(function(err, data) {\n- callback(err, rename(installName, data));\n- });\n-};\n-\n-function getCodeSync() {\n- return fs.readFileSync(file, "utf8");\n-}\n-exports.getCodeSync = getCodeSync;\n-\n-exports.renameCodeSync = function(installName) {\n- return rename(installName, getCodeSync());\n-};\n-\n-// Not perfect, but we need to match the behavior of install.js.\n-var requireExp = /\\brequire\\([\'"]([^\'"]+)[\'"]\\)/g;\n-\n-// This function should match the behavior of `ready` and `absolutize` in\n-// install.js, but the implementations are not worth unifying because we have\n-// access to the "path" module here.\n-exports.getRequiredIDs = function(id, source) {\n- var match, seen = {}, ids = [];\n-\n- requireExp.lastIndex = 0;\n- while ((match = requireExp.exec(source))) {\n- var rid = match[1];\n- if (rid.charAt(0) === ".")\n- rid = path.normalize(path.join(id, "..", match[1]));\n-\n- if (!seen.hasOwnProperty(rid)) {\n- seen[rid] = true;\n- ids.push(rid);\n- }\n- }\n-\n- return ids;\n-};\ndiff --git a/src/plone/staticresources/static/components/install/package.json b/src/plone/staticresources/static/components/install/package.json\ndeleted file mode 100644\nindex b7836399..00000000\n--- a/src/plone/staticresources/static/components/install/package.json\n+++ /dev/null\n@@ -1,34 +0,0 @@\n-{\n- "author": {\n- "name": "Ben Newman",\n- "email": "bn@cs.stanford.edu"\n- },\n- "name": "install",\n- "description": "Minimal JavaScript module loader",\n- "keywords": [\n- "modules",\n- "require",\n- "commonjs",\n- "exports",\n- "browser",\n- "packaging",\n- "packager",\n- "install"\n- ],\n- "version": "0.1.8",\n- "homepage": "http://github.com/benjamn/install",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/benjamn/install.git"\n- },\n- "main": "main.js",\n- "scripts": {\n- "test": "mocha test/run.js"\n- },\n- "devDependencies": {\n- "mocha": "~2.0.1"\n- },\n- "engines": {\n- "node": ">= 0.6"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/jstransform/.jshintrc b/src/plone/staticresources/static/components/jstransform/.jshintrc\ndeleted file mode 100644\nindex 80b7ba61..00000000\n--- a/src/plone/staticresources/static/components/jstransform/.jshintrc\n+++ /dev/null\n@@ -1,18 +0,0 @@\n-{\n- "boss": true,\n- "curly": true,\n- "devel": false,\n- "eqnull": false,\n- "expr": true,\n- "funcscope": true,\n- "globalstrict": false,\n- "loopfunc": false,\n- "newcap": true,\n- "node": true,\n- "noempty": true,\n- "nonstandard": false,\n- "onecase": false,\n- "trailing": true,\n- "undef": true,\n- "unused": true\n-}\ndiff --git a/src/plone/staticresources/static/components/jstransform/LICENSE b/src/plone/staticresources/static/components/jstransform/LICENSE\ndeleted file mode 100644\nindex 261eeb9e..00000000\n--- a/src/plone/staticresources/static/components/jstransform/LICENSE\n+++ /dev/null\n@@ -1,201 +0,0 @@\n- Apache License\n- Version 2.0, January 2004\n- http://www.apache.org/licenses/\n-\n- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n-\n- 1. Definitions.\n-\n- "License" shall mean the terms and conditions for use, reproduction,\n- and distribution as defined by Sections 1 through 9 of this document.\n-\n- "Licensor" shall mean the copyright owner or entity authorized by\n- the copyright owner that is granting the License.\n-\n- "Legal Entity" shall mean the union of the acting entity and all\n- other entities that control, are controlled by, or are under common\n- control with that entity. For the purposes of this definition,\n- "control" means (i) the power, direct or indirect, to cause the\n- direction or management of such entity, whether by contract or\n- otherwise, or (ii) ownership of fifty percent (50%) or more of the\n- outstanding shares, or (iii) beneficial ownership of such entity.\n-\n- "You" (or "Your") shall mean an individual or Legal Entity\n- exercising permissions granted by this License.\n-\n- "Source" form shall mean the preferred form for making modifications,\n- including but not limited to software source code, documentation\n- source, and configuration files.\n-\n- "Object" form shall mean any form resulting from mechanical\n- transformation or translation of a Source form, including but\n- not limited to compiled object code, generated documentation,\n- and conversions to other media types.\n-\n- "Work" shall mean the work of authorship, whether in Source or\n- Object form, made available under the License, as indicated by a\n- copyright notice that is included in or attached to the work\n- (an example is provided in the Appendix below).\n-\n- "Derivative Works" shall mean any work, whether in Source or Object\n- form, that is based on (or derived from) the Work and for which the\n- editorial revisions, annotations, elaborations, or other modifications\n- represent, as a whole, an original work of authorship. For the purposes\n- of this License, Derivative Works shall not include works that remain\n- separable from, or merely link (or bind by name) to the interfaces of,\n- the Work and Derivative Works thereof.\n-\n- "Contribution" shall mean any work of authorship, including\n- the original version of the Work and any modifications or additions\n- to that Work or Derivative Works thereof, that is intentionally\n- submitted to Licensor for inclusion in the Work by the copyright owner\n- or by an individual or Legal Entity authorized to submit on behalf of\n- the copyright owner. For the purposes of this definition, "submitted"\n- means any form of electronic, verbal, or written communication sent\n- to the Licensor or its representatives, including but not limited to\n- communication on electronic mailing lists, source code control systems,\n- and issue tracking systems that are managed by, or on behalf of, the\n- Licensor for the purpose of discussing and improving the Work, but\n- excluding communication that is conspicuously marked or otherwise\n- designated in writing by the copyright owner as "Not a Contribution."\n-\n- "Contributor" shall mean Licensor and any individual or Legal Entity\n- on behalf of whom a Contribution has been received by Licensor and\n- subsequently incorporated within the Work.\n-\n- 2. Grant of Copyright License. Subject to the terms and conditions of\n- this License, each Contributor hereby grants to You a perpetual,\n- worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n- copyright license to reproduce, prepare Derivative Works of,\n- publicly display, publicly perform, sublicense, and distribute the\n- Work and such Derivative Works in Source or Object form.\n-\n- 3. Grant of Patent License. Subject to the terms and conditions of\n- this License, each Contributor hereby grants to You a perpetual,\n- worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n- (except as stated in this section) patent license to make, have made,\n- use, offer to sell, sell, import, and otherwise transfer the Work,\n- where such license applies only to those patent claims licensable\n- by such Contributor that are necessarily infringed by their\n- Contribution(s) alone or by combination of their Contribution(s)\n- with the Work to which such Contribution(s) was submitted. If You\n- institute patent litigation against any entity (including a\n- cross-claim or counterclaim in a lawsuit) alleging that the Work\n- or a Contribution incorporated within the Work constitutes direct\n- or contributory patent infringement, then any patent licenses\n- granted to You under this License for that Work shall terminate\n- as of the date such litigation is filed.\n-\n- 4. Redistribution. You may reproduce and distribute copies of the\n- Work or Derivative Works thereof in any medium, with or without\n- modifications, and in Source or Object form, provided that You\n- meet the following conditions:\n-\n- (a) You must give any other recipients of the Work or\n- Derivative Works a copy of this License; and\n-\n- (b) You must cause any modified files to carry prominent notices\n- stating that You changed the files; and\n-\n- (c) You must retain, in the Source form of any Derivative Works\n- that You distribute, all copyright, patent, trademark, and\n- attribution notices from the Source form of the Work,\n- excluding those notices that do not pertain to any part of\n- the Derivative Works; and\n-\n- (d) If the Work includes a "NOTICE" text file as part of its\n- distribution, then any Derivative Works that You distribute must\n- include a readable copy of the attribution notices contained\n- within such NOTICE file, excluding those notices that do not\n- pertain to any part of the Derivative Works, in at least one\n- of the following places: within a NOTICE text file distributed\n- as part of the Derivative Works; within the Source form or\n- documentation, if provided along with the Derivative Works; or,\n- within a display generated by the Derivative Works, if and\n- wherever such third-party notices normally appear. The contents\n- of the NOTICE file are for informational purposes only and\n- do not modify the License. You may add Your own attribution\n- notices within Derivative Works that You distribute, alongside\n- or as an addendum to the NOTICE text from the Work, provided\n- that such additional attribution notices cannot be construed\n- as modifying the License.\n-\n- You may add Your own copyright statement to Your modifications and\n- may provide additional or different license terms and conditions\n- for use, reproduction, or distribution of Your modifications, or\n- for any such Derivative Works as a whole, provided Your use,\n- reproduction, and distribution of the Work otherwise complies with\n- the conditions stated in this License.\n-\n- 5. Submission of Contributions. Unless You explicitly state otherwise,\n- any Contribution intentionally submitted for inclusion in the Work\n- by You to the Licensor shall be under the terms and conditions of\n- this License, without any additional terms or conditions.\n- Notwithstanding the above, nothing herein shall supersede or modify\n- the terms of any separate license agreement you may have executed\n- with Licensor regarding such Contributions.\n-\n- 6. Trademarks. This License does not grant permission to use the trade\n- names, trademarks, service marks, or product names of the Licensor,\n- except as required for reasonable and customary use in describing the\n- origin of the Work and reproducing the content of the NOTICE file.\n-\n- 7. Disclaimer of Warranty. Unless required by applicable law or\n- agreed to in writing, Licensor provides the Work (and each\n- Contributor provides its Contributions) on an "AS IS" BASIS,\n- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n- implied, including, without limitation, any warranties or conditions\n- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n- PARTICULAR PURPOSE. You are solely responsible for determining the\n- appropriateness of using or redistributing the Work and assume any\n- risks associated with Your exercise of permissions under this License.\n-\n- 8. Limitation of Liability. In no event and under no legal theory,\n- whether in tort (including negligence), contract, or otherwise,\n- unless required by applicable law (such as deliberate and grossly\n- negligent acts) or agreed to in writing, shall any Contributor be\n- liable to You for damages, including any direct, indirect, special,\n- incidental, or consequential damages of any character arising as a\n- result of this License or out of the use or inability to use the\n- Work (including but not limited to damages for loss of goodwill,\n- work stoppage, computer failure or malfunction, or any and all\n- other commercial damages or losses), even if such Contributor\n- has been advised of the possibility of such damages.\n-\n- 9. Accepting Warranty or Additional Liability. While redistributing\n- the Work or Derivative Works thereof, You may choose to offer,\n- and charge a fee for, acceptance of support, warranty, indemnity,\n- or other liability obligations and/or rights consistent with this\n- License. However, in accepting such obligations, You may act only\n- on Your own behalf and on Your sole responsibility, not on behalf\n- of any other Contributor, and only if You agree to indemnify,\n- defend, and hold each Contributor harmless for any liability\n- incurred by, or claims asserted against, such Contributor by reason\n- of your accepting any such warranty or additional liability.\n-\n- END OF TERMS AND CONDITIONS\n-\n- APPENDIX: How to apply the Apache License to your work.\n-\n- To apply the Apache License to your work, attach the following\n- boilerplate notice, with the fields enclosed by brackets "[]"\n- replaced with your own identifying information. (Don\'t include\n- the brackets!) The text should be enclosed in the appropriate\n- comment syntax for the file format. We also recommend that a\n- file or class name and description of purpose be included on the\n- same "printed page" as the copyright notice for easier\n- identification within third-party archives.\n-\n- Copyright [yyyy] [name of copyright owner]\n-\n- Licensed under the Apache License, Version 2.0 (the "License");\n- you may not use this file except in compliance with the License.\n- You may obtain a copy of the License at\n-\n- http://www.apache.org/licenses/LICENSE-2.0\n-\n- Unless required by applicable law or agreed to in writing, software\n- distributed under the License is distributed on an "AS IS" BASIS,\n- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- See the License for the specific language governing permissions and\n- limitations under the License.\ndiff --git a/src/plone/staticresources/static/components/jstransform/README.md b/src/plone/staticresources/static/components/jstransform/README.md\ndeleted file mode 100644\nindex 4e54a81c..00000000\n--- a/src/plone/staticresources/static/components/jstransform/README.md\n+++ /dev/null\n@@ -1,95 +0,0 @@\n-# JSTransform\n-\n-A simple utility for pluggable JS syntax transforms using the esprima parser.\n-\n-* Makes it simple to write and plug-in syntax transformations\n-* Makes it simple to coalesce multiple syntax transformations in a single pass of the AST\n-* Gives complete control over the formatting of the output on a per-transformation basis\n-* Supports source map generation\n-* Comes pre-bundled with a small set of (optional) ES6 -> ES5 transforms\n-\n-## Examples\n-Using a pre-bundled or existing transform:\n-```js\n-/**\n- * Reads a source file that may (or may not) contain ES6 classes, transforms it\n- * to ES5 compatible code using the pre-bundled ES6 class visitors, and prints \n- * out the result.\n- */\n-var es6ClassVisitors = require(\'jstransform/visitors/es6-class-visitors\').visitorList;\n-var fs = require(\'fs\');\n-var jstransform = require(\'jstransform\');\n-\n-var originalFileContents = fs.readFileSync(\'path/to/original/file.js\', \'utf-8\');\n-\n-var transformedFileData = jstransform.transform(\n- es6ClassVisitors,\n- originalFileContents\n-);\n-\n-console.log(transformedFileData.code);\n-```\n-\n-Using multiple pre-bundled or existing transforms at once:\n-```js\n-/**\n- * Reads a source file that may (or may not) contain ES6 classes *or* arrow\n- * functions, transforms them to ES5 compatible code using the pre-bundled ES6 \n- * visitors, and prints out the result.\n- */\n-var es6ArrowFuncVisitors = require(\'jstransform/visitors/es6-arrow-function-visitors\').visitorList;\n-var es6ClassVisitors = require(\'jstransform/visitors/es6-class-visitors\').visitorList;\n-var jstransform = require(\'jstransform\');\n-\n-// Normally you\'d read this from the filesystem, but I\'ll just use a string here\n-// to simplify the example.\n-var originalFileContents = "var a = (param1) => param1; class FooClass {}";\n-\n-var transformedFileData = jstransform.transform(\n- es6ClassVisitors.concat(es6ArrowFuncVisitors),\n- originalFileContents\n-);\n-\n-// var a = function(param1) {return param1;}; function FooClass(){"use strict";}\n-console.log(transformedFileData.code);\n-```\n-\n-Writing a simple custom transform:\n-```js\n-/**\n- * Creates a custom transformation visitor that prefixes all calls to the\n- * `eval()` function with a call to `alert()` saying how much of a clown you are\n- * for using eval.\n- */\n-var jstransform = require(\'jstransform\');\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'jstransform/src/utils\');\n-\n-function visitEvalCallExpressions(traverse, node, path, state) {\n- // Appends an alert() call to the output buffer *before* the visited node\n- // (in this case the eval call) is appended to the output buffer\n- utils.append(\'alert("...eval?...really?...");\', state);\n-\n- // Now we copy the eval expression to the output buffer from the original\n- // source\n- utils.catchup(node.range[1], state);\n-}\n-visitEvalCallExpressions.test = function(node, path, state) {\n- return node.type === Syntax.CallExpression\n- && node.callee.type === Syntax.Identifier\n- && node.callee.name === \'eval\';\n-};\n-\n-// Normally you\'d read this from the filesystem, but I\'ll just use a string here\n-// to simplify the example.\n-var originalFileContents = "eval(\'foo\');";\n-\n-var transformedFileData = jstransform.transform(\n- [visitEvalCallExpressions], // Multiple visitors may be applied at once, so an\n- // array is always expected for the first argument\n- originalFileContents\n-);\n-\n-// alert("...eval?...really?...");eval(\'foo\');\n-console.log(transformedFileData.code);\n-```\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE\ndeleted file mode 100644\nindex ed1b7cf2..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/LICENSE\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-\n-Copyright (c) 2009-2011, Mozilla Foundation and contributors\n-All rights reserved.\n-\n-Redistribution and use in source and binary forms, with or without\n-modification, are permitted provided that the following conditions are met:\n-\n-* Redistributions of source code must retain the above copyright notice, this\n- list of conditions and the following disclaimer.\n-\n-* Redistributions in binary form must reproduce the above copyright notice,\n- this list of conditions and the following disclaimer in the documentation\n- and/or other materials provided with the distribution.\n-\n-* Neither the names of the Mozilla Foundation nor the names of project\n- contributors may be used to endorse or promote products derived from this\n- software without specific prior written permission.\n-\n-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\n-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js\ndeleted file mode 100644\nindex d6fc26a7..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/Makefile.dryice.js\n+++ /dev/null\n@@ -1,166 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-var path = require(\'path\');\n-var fs = require(\'fs\');\n-var copy = require(\'dryice\').copy;\n-\n-function removeAmdefine(src) {\n- src = String(src).replace(\n- /if\\s*\\(typeof\\s*define\\s*!==\\s*\'function\'\\)\\s*{\\s*var\\s*define\\s*=\\s*require\\(\'amdefine\'\\)\\(module,\\s*require\\);\\s*}\\s*/g,\n- \'\');\n- src = src.replace(\n- /\\b(define\\(.*)(\'amdefine\',?)/gm,\n- \'$1\');\n- return src;\n-}\n-removeAmdefine.onRead = true;\n-\n-function makeNonRelative(src) {\n- return src\n- .replace(/require\\(\'.\\//g, \'require(\\\'source-map/\')\n- .replace(/\\.\\.\\/\\.\\.\\/lib\\//g, \'\');\n-}\n-makeNonRelative.onRead = true;\n-\n-function buildBrowser() {\n- console.log(\'\\nCreating dist/source-map.js\');\n-\n- var project = copy.createCommonJsProject({\n- roots: [ path.join(__dirname, \'lib\') ]\n- });\n-\n- copy({\n- source: [\n- \'build/mini-require.js\',\n- {\n- project: project,\n- require: [ \'source-map/source-map-generator\',\n- \'source-map/source-map-consumer\',\n- \'source-map/source-node\']\n- },\n- \'build/suffix-browser.js\'\n- ],\n- filter: [\n- copy.filter.moduleDefines,\n- removeAmdefine\n- ],\n- dest: \'dist/source-map.js\'\n- });\n-}\n-\n-function buildBrowserMin() {\n- console.log(\'\\nCreating dist/source-map.min.js\');\n-\n- copy({\n- source: \'dist/source-map.js\',\n- filter: copy.filter.uglifyjs,\n- dest: \'dist/source-map.min.js\'\n- });\n-}\n-\n-function buildFirefox() {\n- console.log(\'\\nCreating dist/SourceMap.jsm\');\n-\n- var project = copy.createCommonJsProject({\n- roots: [ path.join(__dirname, \'lib\') ]\n- });\n-\n- copy({\n- source: [\n- \'build/prefix-source-map.jsm\',\n- {\n- project: project,\n- require: [ \'source-map/source-map-consumer\',\n- \'source-map/source-map-generator\',\n- \'source-map/source-node\' ]\n- },\n- \'build/suffix-source-map.jsm\'\n- ],\n- filter: [\n- copy.filter.moduleDefines,\n- removeAmdefine,\n- makeNonRelative\n- ],\n- dest: \'dist/SourceMap.jsm\'\n- });\n-\n- // Create dist/test/Utils.jsm\n- console.log(\'\\nCreating dist/test/Utils.jsm\');\n-\n- project = copy.createCommonJsProject({\n- roots: [ __dirname, path.join(__dirname, \'lib\') ]\n- });\n-\n- copy({\n- source: [\n- \'build/prefix-utils.jsm\',\n- \'build/assert-shim.js\',\n- {\n- project: project,\n- require: [ \'test/source-map/util\' ]\n- },\n- \'build/suffix-utils.jsm\'\n- ],\n- filter: [\n- copy.filter.moduleDefines,\n- removeAmdefine,\n- makeNonRelative\n- ],\n- dest: \'dist/test/Utils.jsm\'\n- });\n-\n- function isTestFile(f) {\n- return /^test\\-.*?\\.js/.test(f);\n- }\n-\n- var testFiles = fs.readdirSync(path.join(__dirname, \'test\', \'source-map\')).filter(isTestFile);\n-\n- testFiles.forEach(function (testFile) {\n- console.log(\'\\nCreating\', path.join(\'dist\', \'test\', testFile.replace(/\\-/g, \'_\')));\n-\n- copy({\n- source: [\n- \'build/test-prefix.js\',\n- path.join(\'test\', \'source-map\', testFile),\n- \'build/test-suffix.js\'\n- ],\n- filter: [\n- removeAmdefine,\n- makeNonRelative,\n- function (input, source) {\n- return input.replace(\'define(\',\n- \'define("\'\n- + path.join(\'test\', \'source-map\', testFile.replace(/\\.js$/, \'\'))\n- + \'", ["require", "exports", "module"], \');\n- },\n- function (input, source) {\n- return input.replace(\'{THIS_MODULE}\', function () {\n- return "test/source-map/" + testFile.replace(/\\.js$/, \'\');\n- });\n- }\n- ],\n- dest: path.join(\'dist\', \'test\', testFile.replace(/\\-/g, \'_\'))\n- });\n- });\n-}\n-\n-function ensureDir(name) {\n- var dirExists = false;\n- try {\n- dirExists = fs.statSync(name).isDirectory();\n- } catch (err) {}\n-\n- if (!dirExists) {\n- fs.mkdirSync(name, 0777);\n- }\n-}\n-\n-ensureDir("dist");\n-ensureDir("dist/test");\n-buildFirefox();\n-buildBrowser();\n-buildBrowserMin();\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js\ndeleted file mode 100644\nindex daa1a623..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/assert-shim.js\n+++ /dev/null\n@@ -1,56 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-define(\'test/source-map/assert\', [\'exports\'], function (exports) {\n-\n- let do_throw = function (msg) {\n- throw new Error(msg);\n- };\n-\n- exports.init = function (throw_fn) {\n- do_throw = throw_fn;\n- };\n-\n- exports.doesNotThrow = function (fn) {\n- try {\n- fn();\n- }\n- catch (e) {\n- do_throw(e.message);\n- }\n- };\n-\n- exports.equal = function (actual, expected, msg) {\n- msg = msg || String(actual) + \' != \' + String(expected);\n- if (actual != expected) {\n- do_throw(msg);\n- }\n- };\n-\n- exports.ok = function (val, msg) {\n- msg = msg || String(val) + \' is falsey\';\n- if (!Boolean(val)) {\n- do_throw(msg);\n- }\n- };\n-\n- exports.strictEqual = function (actual, expected, msg) {\n- msg = msg || String(actual) + \' !== \' + String(expected);\n- if (actual !== expected) {\n- do_throw(msg);\n- }\n- };\n-\n- exports.throws = function (fn) {\n- try {\n- fn();\n- do_throw(\'Expected an error to be thrown, but it wasn\\\'t.\');\n- }\n- catch (e) {\n- }\n- };\n-\n-});\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js\ndeleted file mode 100644\nindex 0daf4537..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/mini-require.js\n+++ /dev/null\n@@ -1,152 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-\n-/**\n- * Define a module along with a payload.\n- * @param {string} moduleName Name for the payload\n- * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec\n- * @param {function} payload Function with (require, exports, module) params\n- */\n-function define(moduleName, deps, payload) {\n- if (typeof moduleName != "string") {\n- throw new TypeError(\'Expected string, got: \' + moduleName);\n- }\n-\n- if (arguments.length == 2) {\n- payload = deps;\n- }\n-\n- if (moduleName in define.modules) {\n- throw new Error("Module already defined: " + moduleName);\n- }\n- define.modules[moduleName] = payload;\n-};\n-\n-/**\n- * The global store of un-instantiated modules\n- */\n-define.modules = {};\n-\n-\n-/**\n- * We invoke require() in the context of a Domain so we can have multiple\n- * sets of modules running separate from each other.\n- * This contrasts with JSMs which are singletons, Domains allows us to\n- * optionally load a CommonJS module twice with separate data each time.\n- * Perhaps you want 2 command lines with a different set of commands in each,\n- * for example.\n- */\n-function Domain() {\n- this.modules = {};\n- this._currentModule = null;\n-}\n-\n-(function () {\n-\n- /**\n- * Lookup module names and resolve them by calling the definition function if\n- * needed.\n- * There are 2 ways to call this, either with an array of dependencies and a\n- * callback to call when the dependencies are found (which can happen\n- * asynchronously in an in-page context) or with a single string an no callback\n- * where the dependency is resolved synchronously and returned.\n- * The API is designed to be compatible with the CommonJS AMD spec and\n- * RequireJS.\n- * @param {string[]|string} deps A name, or names for the payload\n- * @param {function|undefined} callback Function to call when the dependencies\n- * are resolved\n- * @return {undefined|object} The module required or undefined for\n- * array/callback method\n- */\n- Domain.prototype.require = function(deps, callback) {\n- if (Array.isArray(deps)) {\n- var params = deps.map(function(dep) {\n- return this.lookup(dep);\n- }, this);\n- if (callback) {\n- callback.apply(null, params);\n- }\n- return undefined;\n- }\n- else {\n- return this.lookup(deps);\n- }\n- };\n-\n- function normalize(path) {\n- var bits = path.split(\'/\');\n- var i = 1;\n- while (i < bits.length) {\n- if (bits[i] === \'..\') {\n- bits.splice(i-1, 1);\n- } else if (bits[i] === \'.\') {\n- bits.splice(i, 1);\n- } else {\n- i++;\n- }\n- }\n- return bits.join(\'/\');\n- }\n-\n- function join(a, b) {\n- a = a.trim();\n- b = b.trim();\n- if (/^\\//.test(b)) {\n- return b;\n- } else {\n- return a.replace(/\\/*$/, \'/\') + b;\n- }\n- }\n-\n- function dirname(path) {\n- var bits = path.split(\'/\');\n- bits.pop();\n- return bits.join(\'/\');\n- }\n-\n- /**\n- * Lookup module names and resolve them by calling the definition function if\n- * needed.\n- * @param {string} moduleName A name for the payload to lookup\n- * @return {object} The module specified by aModuleName or null if not found.\n- */\n- Domain.prototype.lookup = function(moduleName) {\n- if (/^\\./.test(moduleName)) {\n- moduleName = normalize(join(dirname(this._currentModule), moduleName));\n- }\n-\n- if (moduleName in this.modules) {\n- var module = this.modules[moduleName];\n- return module;\n- }\n-\n- if (!(moduleName in define.modules)) {\n- throw new Error("Module not defined: " + moduleName);\n- }\n-\n- var module = define.modules[moduleName];\n-\n- if (typeof module == "function") {\n- var exports = {};\n- var previousModule = this._currentModule;\n- this._currentModule = moduleName;\n- module(this.require.bind(this), exports, { id: moduleName, uri: "" });\n- this._currentModule = previousModule;\n- module = exports;\n- }\n-\n- // cache the resulting module object for next time\n- this.modules[moduleName] = module;\n-\n- return module;\n- };\n-\n-}());\n-\n-define.Domain = Domain;\n-define.globalDomain = new Domain();\n-var require = define.globalDomain.require.bind(define.globalDomain);\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm\ndeleted file mode 100644\nindex ee2539d8..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-source-map.jsm\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-\n-/*\n- * WARNING!\n- *\n- * Do not edit this file directly, it is built from the sources at\n- * https://github.com/mozilla/source-map/\n- */\n-\n-///////////////////////////////////////////////////////////////////////////////\n-\n-\n-this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ];\n-\n-Components.utils.import(\'resource://gre/modules/devtools/Require.jsm\');\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm\ndeleted file mode 100644\nindex 80341d45..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/prefix-utils.jsm\n+++ /dev/null\n@@ -1,18 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-\n-/*\n- * WARNING!\n- *\n- * Do not edit this file directly, it is built from the sources at\n- * https://github.com/mozilla/source-map/\n- */\n-\n-Components.utils.import(\'resource://gre/modules/devtools/Require.jsm\');\n-Components.utils.import(\'resource://gre/modules/devtools/SourceMap.jsm\');\n-\n-this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ];\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js\ndeleted file mode 100644\nindex fb29ff5f..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-browser.js\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-///////////////////////////////////////////////////////////////////////////////\n-\n-this.sourceMap = {\n- SourceMapConsumer: require(\'source-map/source-map-consumer\').SourceMapConsumer,\n- SourceMapGenerator: require(\'source-map/source-map-generator\').SourceMapGenerator,\n- SourceNode: require(\'source-map/source-node\').SourceNode\n-};\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm\ndeleted file mode 100644\nindex cf3c2d8d..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-source-map.jsm\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-///////////////////////////////////////////////////////////////////////////////\n-\n-this.SourceMapConsumer = require(\'source-map/source-map-consumer\').SourceMapConsumer;\n-this.SourceMapGenerator = require(\'source-map/source-map-generator\').SourceMapGenerator;\n-this.SourceNode = require(\'source-map/source-node\').SourceNode;\ndiff --git a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm b/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm\ndeleted file mode 100644\nindex b31b84cb..00000000\n--- a/src/plone/staticresources/static/components/jstransform/node_modules/source-map/build/suffix-utils.jsm\n+++ /dev/null\n@@ -1,21 +0,0 @@\n-/* -*- Mode: js; js-indent-level: 2; -*- */\n-/*\n- * Copyright 2011 Mozilla Foundation and contributors\n- * Licensed under the New BSD license. See LICENSE or:\n- * http://opensource.org/licenses/BSD-3-Clause\n- */\n-function runSourceMapTests(modName, do_throw) {\n- let mod = require(modName);\n- let assert = require(\'test/source-map/assert\');\n- let util = require(\'test/source-map/util\');\n-\n- assert.init(do_throw);\n-\n- for (let k in mod) {\n- if (/^test/.test(k)) {\n- mod[k](assert, util);\n- }\n- }\n-\n-}\n-this.runSourceMapTests = runSourceMapTests;\ndiff --git a/src/plone/staticresources/static/components/jstransform/package.json b/src/plone/staticresources/static/components/jstransform/package.json\ndeleted file mode 100644\nindex 7f6bf52d..00000000\n--- a/src/plone/staticresources/static/components/jstransform/package.json\n+++ /dev/null\n@@ -1,30 +0,0 @@\n-{\n- "name": "jstransform",\n- "version": "3.0.0",\n- "description": "A simple AST visitor-based JS transformer",\n- "contributors": [\n- {"name": "Jeff Morrison", "email": "jeffmo@fb.com"}\n- ],\n- "main": "src/jstransform",\n- "repository": {\n- "type": "git",\n- "url": "git@github.com:facebook/jstransform.git"\n- },\n- "keywords": [\n- "transformer",\n- "compiler",\n- "syntax",\n- "visitor"\n- ],\n- "dependencies": {\n- "base62": "0.1.1",\n- "esprima-fb": "~3001.1.0-dev-harmony-fb",\n- "source-map": "0.1.31"\n- },\n- "licenses": [\n- {"type": "Apache-2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0"}\n- ],\n- "engines": {\n- "node": ">=0.8.8"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/jstransform/src/docblock.js b/src/plone/staticresources/static/components/jstransform/src/docblock.js\ndeleted file mode 100644\nindex 7a2d29cd..00000000\n--- a/src/plone/staticresources/static/components/jstransform/src/docblock.js\n+++ /dev/null\n@@ -1,86 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-var docblockRe = /^\\s*(\\/\\*\\*(.|\\r?\\n)*?\\*\\/)/;\n-var ltrimRe = /^\\s*/;\n-/**\n- * @param {String} contents\n- * @return {String}\n- */\n-function extract(contents) {\n- var match = contents.match(docblockRe);\n- if (match) {\n- return match[0].replace(ltrimRe, \'\') || \'\';\n- }\n- return \'\';\n-}\n-\n-\n-var commentStartRe = /^\\/\\*\\*?/;\n-var commentEndRe = /\\*+\\/$/;\n-var wsRe = /[\\t ]+/g;\n-var stringStartRe = /(\\r?\\n|^) *\\*/g;\n-var multilineRe = /(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g;\n-var propertyRe = /(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g;\n-\n-/**\n- * @param {String} contents\n- * @return {Array}\n- */\n-function parse(docblock) {\n- docblock = docblock\n- .replace(commentStartRe, \'\')\n- .replace(commentEndRe, \'\')\n- .replace(wsRe, \' \')\n- .replace(stringStartRe, \'$1\');\n-\n- // Normalize multi-line directives\n- var prev = \'\';\n- while (prev != docblock) {\n- prev = docblock;\n- docblock = docblock.replace(multilineRe, "\\n$1 $2\\n");\n- }\n- docblock = docblock.trim();\n-\n- var result = [];\n- var match;\n- while (match = propertyRe.exec(docblock)) {\n- result.push([match[1], match[2]]);\n- }\n-\n- return result;\n-}\n-\n-/**\n- * Same as parse but returns an object of prop: value instead of array of paris\n- * If a property appers more than once the last one will be returned\n- *\n- * @param {String} contents\n- * @return {Object}\n- */\n-function parseAsObject(docblock) {\n- var pairs = parse(docblock);\n- var result = {};\n- for (var i = 0; i < pairs.length; i++) {\n- result[pairs[i][0]] = pairs[i][1];\n- }\n- return result;\n-}\n-\n-\n-exports.extract = extract;\n-exports.parse = parse;\n-exports.parseAsObject = parseAsObject;\ndiff --git a/src/plone/staticresources/static/components/jstransform/src/jstransform.js b/src/plone/staticresources/static/components/jstransform/src/jstransform.js\ndeleted file mode 100644\nindex b204f6bd..00000000\n--- a/src/plone/staticresources/static/components/jstransform/src/jstransform.js\n+++ /dev/null\n@@ -1,243 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-\n-/*jslint node: true*/\n-"use strict";\n-\n-/**\n- * Syntax transfomer for javascript. Takes the source in, spits the source\n- * out.\n- *\n- * Parses input source with esprima, applies the given list of visitors to the\n- * AST tree, and returns the resulting output.\n- */\n-var esprima = require(\'esprima-fb\');\n-var utils = require(\'./utils\');\n-\n-var Syntax = esprima.Syntax;\n-\n-/**\n- * @param {object} node\n- * @param {object} parentNode\n- * @return {boolean}\n- */\n-function _nodeIsClosureScopeBoundary(node, parentNode) {\n- if (node.type === Syntax.Program) {\n- return true;\n- }\n-\n- var parentIsFunction =\n- parentNode.type === Syntax.FunctionDeclaration\n- || parentNode.type === Syntax.FunctionExpression;\n-\n- return node.type === Syntax.BlockStatement && parentIsFunction;\n-}\n-\n-function _nodeIsBlockScopeBoundary(node, parentNode) {\n- if (node.type === Syntax.Program) {\n- return false;\n- }\n-\n- return node.type === Syntax.BlockStatement\n- && parentNode.type === Syntax.CatchClause;\n-}\n-\n-/**\n- * @param {object} node\n- * @param {function} visitor\n- * @param {array} path\n- * @param {object} state\n- */\n-function traverse(node, path, state) {\n- // Create a scope stack entry if this is the first node we\'ve encountered in\n- // its local scope\n- var parentNode = path[0];\n- if (!Array.isArray(node) && state.localScope.parentNode !== parentNode) {\n- if (_nodeIsClosureScopeBoundary(node, parentNode)) {\n- var scopeIsStrict =\n- state.scopeIsStrict\n- || node.body.length > 0\n- && node.body[0].type === Syntax.ExpressionStatement\n- && node.body[0].expression.type === Syntax.Literal\n- && node.body[0].expression.value === \'use strict\';\n-\n- if (node.type === Syntax.Program) {\n- state = utils.updateState(state, {\n- scopeIsStrict: scopeIsStrict\n- });\n- } else {\n- state = utils.updateState(state, {\n- localScope: {\n- parentNode: parentNode,\n- parentScope: state.localScope,\n- identifiers: {}\n- },\n- scopeIsStrict: scopeIsStrict\n- });\n-\n- // All functions have an implicit \'arguments\' object in scope\n- state.localScope.identifiers[\'arguments\'] = true;\n-\n- // Include function arg identifiers in the scope boundaries of the\n- // function\n- if (parentNode.params.length > 0) {\n- var param;\n- for (var i = 0; i < parentNode.params.length; i++) {\n- param = parentNode.params[i];\n- if (param.type === Syntax.Identifier) {\n- state.localScope.identifiers[param.name] = true;\n- }\n- }\n- }\n-\n- // Named FunctionExpressions scope their name within the body block of\n- // themselves only\n- if (parentNode.type === Syntax.FunctionExpression && parentNode.id) {\n- state.localScope.identifiers[parentNode.id.name] = true;\n- }\n- }\n-\n- // Traverse and find all local identifiers in this closure first to\n- // account for function/variable declaration hoisting\n- collectClosureIdentsAndTraverse(node, path, state);\n- }\n-\n- if (_nodeIsBlockScopeBoundary(node, parentNode)) {\n- state = utils.updateState(state, {\n- localScope: {\n- parentNode: parentNode,\n- parentScope: state.localScope,\n- identifiers: {}\n- }\n- });\n-\n- if (parentNode.type === Syntax.CatchClause) {\n- state.localScope.identifiers[parentNode.param.name] = true;\n- }\n- collectBlockIdentsAndTraverse(node, path, state);\n- }\n- }\n-\n- // Only catchup() before and after traversing a child node\n- function traverser(node, path, state) {\n- node.range && utils.catchup(node.range[0], state);\n- traverse(node, path, state);\n- node.range && utils.catchup(node.range[1], state);\n- }\n-\n- utils.analyzeAndTraverse(walker, traverser, node, path, state);\n-}\n-\n-function collectClosureIdentsAndTraverse(node, path, state) {\n- utils.analyzeAndTraverse(\n- visitLocalClosureIdentifiers,\n- collectClosureIdentsAndTraverse,\n- node,\n- path,\n- state\n- );\n-}\n-\n-function collectBlockIdentsAndTraverse(node, path, state) {\n- utils.analyzeAndTraverse(\n- visitLocalBlockIdentifiers,\n- collectBlockIdentsAndTraverse,\n- node,\n- path,\n- state\n- );\n-}\n-\n-function visitLocalClosureIdentifiers(node, path, state) {\n- var identifiers = state.localScope.identifiers;\n- switch (node.type) {\n- case Syntax.FunctionExpression:\n- // Function expressions don\'t get their names (if there is one) added to\n- // the closure scope they\'re defined in\n- return false;\n- case Syntax.ClassDeclaration:\n- case Syntax.ClassExpression:\n- case Syntax.FunctionDeclaration:\n- if (node.id) {\n- identifiers[node.id.name] = true;\n- }\n- return false;\n- case Syntax.VariableDeclarator:\n- if (path[0].kind === \'var\') {\n- identifiers[node.id.name] = true;\n- }\n- break;\n- }\n-}\n-\n-function visitLocalBlockIdentifiers(node, path, state) {\n- // TODO: Support \'let\' here...maybe...one day...or something...\n- if (node.type === Syntax.CatchClause) {\n- return false;\n- }\n-}\n-\n-function walker(node, path, state) {\n- var visitors = state.g.visitors;\n- for (var i = 0; i < visitors.length; i++) {\n- if (visitors[i].test(node, path, state)) {\n- return visitors[i](traverse, node, path, state);\n- }\n- }\n-}\n-\n-/**\n- * Applies all available transformations to the source\n- * @param {array} visitors\n- * @param {string} source\n- * @param {?object} options\n- * @return {object}\n- */\n-function transform(visitors, source, options) {\n- options = options || {};\n-\n- var ast;\n- try {\n- ast = esprima.parse(source, {\n- comment: true,\n- loc: true,\n- range: true\n- });\n- } catch (e) {\n- e.message = \'Parse Error: \' + e.message;\n- throw e;\n- }\n- var state = utils.createState(source, ast, options);\n- state.g.visitors = visitors;\n-\n- if (options.sourceMap) {\n- var SourceMapGenerator = require(\'source-map\').SourceMapGenerator;\n- state.g.sourceMap = new SourceMapGenerator({file: \'transformed.js\'});\n- }\n-\n- traverse(ast, [], state);\n- utils.catchup(source.length, state);\n-\n- var ret = {code: state.g.buffer};\n- if (options.sourceMap) {\n- ret.sourceMap = state.g.sourceMap;\n- ret.sourceMapFilename = options.filename || \'source.js\';\n- }\n- return ret;\n-}\n-\n-exports.transform = transform;\ndiff --git a/src/plone/staticresources/static/components/jstransform/src/utils.js b/src/plone/staticresources/static/components/jstransform/src/utils.js\ndeleted file mode 100644\nindex 9d61bb2a..00000000\n--- a/src/plone/staticresources/static/components/jstransform/src/utils.js\n+++ /dev/null\n@@ -1,479 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-\n-/*jslint node: true*/\n-\n-/**\n- * A `state` object represents the state of the parser. It has "local" and\n- * "global" parts. Global contains parser position, source, etc. Local contains\n- * scope based properties like current class name. State should contain all the\n- * info required for transformation. It\'s the only mandatory object that is\n- * being passed to every function in transform chain.\n- *\n- * @param {string} source\n- * @param {object} transformOptions\n- * @return {object}\n- */\n-function createState(source, rootNode, transformOptions) {\n- return {\n- /**\n- * A tree representing the current local scope (and its lexical scope chain)\n- * Useful for tracking identifiers from parent scopes, etc.\n- * @type {Object}\n- */\n- localScope: {\n- parentNode: rootNode,\n- parentScope: null,\n- identifiers: {}\n- },\n- /**\n- * The name (and, if applicable, expression) of the super class\n- * @type {Object}\n- */\n- superClass: null,\n- /**\n- * The namespace to use when munging identifiers\n- * @type {String}\n- */\n- mungeNamespace: \'\',\n- /**\n- * Ref to the node for the FunctionExpression of the enclosing\n- * MethodDefinition\n- * @type {Object}\n- */\n- methodFuncNode: null,\n- /**\n- * Name of the enclosing class\n- * @type {String}\n- */\n- className: null,\n- /**\n- * Whether we\'re currently within a `strict` scope\n- * @type {Bool}\n- */\n- scopeIsStrict: null,\n- /**\n- * Global state (not affected by updateState)\n- * @type {Object}\n- */\n- g: {\n- /**\n- * A set of general options that transformations can consider while doing\n- * a transformation:\n- *\n- * - minify\n- * Specifies that transformation steps should do their best to minify\n- * the output source when possible. This is useful for places where\n- * minification optimizations are possible with higher-level context\n- * info than what jsxmin can provide.\n- *\n- * For example, the ES6 class transform will minify munged private\n- * variables if this flag is set.\n- */\n- opts: transformOptions,\n- /**\n- * Current position in the source code\n- * @type {Number}\n- */\n- position: 0,\n- /**\n- * Buffer containing the result\n- * @type {String}\n- */\n- buffer: \'\',\n- /**\n- * Indentation offset (only negative offset is supported now)\n- * @type {Number}\n- */\n- indentBy: 0,\n- /**\n- * Source that is being transformed\n- * @type {String}\n- */\n- source: source,\n-\n- /**\n- * Cached parsed docblock (see getDocblock)\n- * @type {object}\n- */\n- docblock: null,\n-\n- /**\n- * Whether the thing was used\n- * @type {Boolean}\n- */\n- tagNamespaceUsed: false,\n-\n- /**\n- * If using bolt xjs transformation\n- * @type {Boolean}\n- */\n- isBolt: undefined,\n-\n- /**\n- * Whether to record source map (expensive) or not\n- * @type {SourceMapGenerator|null}\n- */\n- sourceMap: null,\n-\n- /**\n- * Filename of the file being processed. Will be returned as a source\n- * attribute in the source map\n- */\n- sourceMapFilename: \'source.js\',\n-\n- /**\n- * Only when source map is used: last line in the source for which\n- * source map was generated\n- * @type {Number}\n- */\n- sourceLine: 1,\n-\n- /**\n- * Only when source map is used: last line in the buffer for which\n- * source map was generated\n- * @type {Number}\n- */\n- bufferLine: 1,\n-\n- /**\n- * The top-level Program AST for the original file.\n- */\n- originalProgramAST: null,\n-\n- sourceColumn: 0,\n- bufferColumn: 0\n- }\n- };\n-}\n-\n-/**\n- * Updates a copy of a given state with "update" and returns an updated state.\n- *\n- * @param {object} state\n- * @param {object} update\n- * @return {object}\n- */\n-function updateState(state, update) {\n- var ret = Object.create(state);\n- Object.keys(update).forEach(function(updatedKey) {\n- ret[updatedKey] = update[updatedKey];\n- });\n- return ret;\n-}\n-\n-/**\n- * Given a state fill the resulting buffer from the original source up to\n- * the end\n- *\n- * @param {number} end\n- * @param {object} state\n- * @param {?function} contentTransformer Optional callback to transform newly\n- * added content.\n- */\n-function catchup(end, state, contentTransformer) {\n- if (end < state.g.position) {\n- // cannot move backwards\n- return;\n- }\n- var source = state.g.source.substring(state.g.position, end);\n- var transformed = updateIndent(source, state);\n- if (state.g.sourceMap && transformed) {\n- // record where we are\n- state.g.sourceMap.addMapping({\n- generated: { line: state.g.bufferLine, column: state.g.bufferColumn },\n- original: { line: state.g.sourceLine, column: state.g.sourceColumn },\n- source: state.g.sourceMapFilename\n- });\n-\n- // record line breaks in transformed source\n- var sourceLines = source.split(\'\\n\');\n- var transformedLines = transformed.split(\'\\n\');\n- // Add line break mappings between last known mapping and the end of the\n- // added piece. So for the code piece\n- // (foo, bar);\n- // > var x = 2;\n- // > var b = 3;\n- // var c =\n- // only add lines marked with ">": 2, 3.\n- for (var i = 1; i < sourceLines.length - 1; i++) {\n- state.g.sourceMap.addMapping({\n- generated: { line: state.g.bufferLine, column: 0 },\n- original: { line: state.g.sourceLine, column: 0 },\n- source: state.g.sourceMapFilename\n- });\n- state.g.sourceLine++;\n- state.g.bufferLine++;\n- }\n- // offset for the last piece\n- if (sourceLines.length > 1) {\n- state.g.sourceLine++;\n- state.g.bufferLine++;\n- state.g.sourceColumn = 0;\n- state.g.bufferColumn = 0;\n- }\n- state.g.sourceColumn += sourceLines[sourceLines.length - 1].length;\n- state.g.bufferColumn +=\n- transformedLines[transformedLines.length - 1].length;\n- }\n- state.g.buffer +=\n- contentTransformer ? contentTransformer(transformed) : transformed;\n- state.g.position = end;\n-}\n-\n-/**\n- * Removes all non-whitespace characters\n- */\n-var reNonWhite = /(\\S)/g;\n-function stripNonWhite(value) {\n- return value.replace(reNonWhite, function() {\n- return \'\';\n- });\n-}\n-\n-/**\n- * Catches up as `catchup` but removes all non-whitespace characters.\n- */\n-function catchupWhiteSpace(end, state) {\n- catchup(end, state, stripNonWhite);\n-}\n-\n-/**\n- * Removes all non-newline characters\n- */\n-var reNonNewline = /[^\\n]/g;\n-function stripNonNewline(value) {\n- return value.replace(reNonNewline, function() {\n- return \'\';\n- });\n-}\n-\n-/**\n- * Catches up as `catchup` but removes all non-newline characters.\n- *\n- * Equivalent to appending as many newlines as there are in the original source\n- * between the current position and `end`.\n- */\n-function catchupNewlines(end, state) {\n- catchup(end, state, stripNonNewline);\n-}\n-\n-\n-/**\n- * Same as catchup but does not touch the buffer\n- *\n- * @param {number} end\n- * @param {object} state\n- */\n-function move(end, state) {\n- // move the internal cursors\n- if (state.g.sourceMap) {\n- if (end < state.g.position) {\n- state.g.position = 0;\n- state.g.sourceLine = 1;\n- state.g.sourceColumn = 0;\n- }\n-\n- var source = state.g.source.substring(state.g.position, end);\n- var sourceLines = source.split(\'\\n\');\n- if (sourceLines.length > 1) {\n- state.g.sourceLine += sourceLines.length - 1;\n- state.g.sourceColumn = 0;\n- }\n- state.g.sourceColumn += sourceLines[sourceLines.length - 1].length;\n- }\n- state.g.position = end;\n-}\n-\n-/**\n- * Appends a string of text to the buffer\n- *\n- * @param {string} str\n- * @param {object} state\n- */\n-function append(str, state) {\n- if (state.g.sourceMap && str) {\n- state.g.sourceMap.addMapping({\n- generated: { line: state.g.bufferLine, column: state.g.bufferColumn },\n- original: { line: state.g.sourceLine, column: state.g.sourceColumn },\n- source: state.g.sourceMapFilename\n- });\n- var transformedLines = str.split(\'\\n\');\n- if (transformedLines.length > 1) {\n- state.g.bufferLine += transformedLines.length - 1;\n- state.g.bufferColumn = 0;\n- }\n- state.g.bufferColumn +=\n- transformedLines[transformedLines.length - 1].length;\n- }\n- state.g.buffer += str;\n-}\n-\n-/**\n- * Update indent using state.indentBy property. Indent is measured in\n- * double spaces. Updates a single line only.\n- *\n- * @param {string} str\n- * @param {object} state\n- * @return {string}\n- */\n-function updateIndent(str, state) {\n- for (var i = 0; i < -state.g.indentBy; i++) {\n- str = str.replace(/(^|\\n)( {2}|\\t)/g, \'$1\');\n- }\n- return str;\n-}\n-\n-/**\n- * Calculates indent from the beginning of the line until "start" or the first\n- * character before start.\n- * @example\n- * " foo.bar()"\n- * ^\n- * start\n- * indent will be 2\n- *\n- * @param {number} start\n- * @param {object} state\n- * @return {number}\n- */\n-function indentBefore(start, state) {\n- var end = start;\n- start = start - 1;\n-\n- while (start > 0 && state.g.source[start] != \'\\n\') {\n- if (!state.g.source[start].match(/[ \\t]/)) {\n- end = start;\n- }\n- start--;\n- }\n- return state.g.source.substring(start + 1, end);\n-}\n-\n-function getDocblock(state) {\n- if (!state.g.docblock) {\n- var docblock = require(\'./docblock\');\n- state.g.docblock =\n- docblock.parseAsObject(docblock.extract(state.g.source));\n- }\n- return state.g.docblock;\n-}\n-\n-function identWithinLexicalScope(identName, state, stopBeforeNode) {\n- var currScope = state.localScope;\n- while (currScope) {\n- if (currScope.identifiers[identName] !== undefined) {\n- return true;\n- }\n-\n- if (stopBeforeNode && currScope.parentNode === stopBeforeNode) {\n- break;\n- }\n-\n- currScope = currScope.parentScope;\n- }\n- return false;\n-}\n-\n-function identInLocalScope(identName, state) {\n- return state.localScope.identifiers[identName] !== undefined;\n-}\n-\n-function declareIdentInLocalScope(identName, state) {\n- state.localScope.identifiers[identName] = true;\n-}\n-\n-/**\n- * Apply the given analyzer function to the current node. If the analyzer\n- * doesn\'t return false, traverse each child of the current node using the given\n- * traverser function.\n- *\n- * @param {function} analyzer\n- * @param {function} traverser\n- * @param {object} node\n- * @param {function} visitor\n- * @param {array} path\n- * @param {object} state\n- */\n-function analyzeAndTraverse(analyzer, traverser, node, path, state) {\n- var key, child;\n-\n- if (node.type) {\n- if (analyzer(node, path, state) === false) {\n- return;\n- }\n- path.unshift(node);\n- }\n-\n- for (key in node) {\n- // skip obviously wrong attributes\n- if (key === \'range\' || key === \'loc\') {\n- continue;\n- }\n- if (node.hasOwnProperty(key)) {\n- child = node[key];\n- if (typeof child === \'object\' && child !== null) {\n- traverser(child, path, state);\n- }\n- }\n- }\n- node.type && path.shift();\n-}\n-\n-/**\n- * Checks whether a node or any of its sub-nodes contains\n- * a syntactic construct of the passed type.\n- * @param {object} node - AST node to test.\n- * @param {string} type - node type to lookup.\n- */\n-function containsChildOfType(node, type) {\n- var foundMatchingChild = false;\n- function nodeTypeAnalyzer(node) {\n- if (node.type === type) {\n- foundMatchingChild = true;\n- return false;\n- }\n- }\n- function nodeTypeTraverser(child, path, state) {\n- if (!foundMatchingChild) {\n- foundMatchingChild = containsChildOfType(child, type);\n- }\n- }\n- analyzeAndTraverse(\n- nodeTypeAnalyzer,\n- nodeTypeTraverser,\n- node,\n- []\n- );\n- return foundMatchingChild;\n-}\n-\n-exports.append = append;\n-exports.catchup = catchup;\n-exports.catchupWhiteSpace = catchupWhiteSpace;\n-exports.catchupNewlines = catchupNewlines;\n-exports.containsChildOfType = containsChildOfType;\n-exports.createState = createState;\n-exports.declareIdentInLocalScope = declareIdentInLocalScope;\n-exports.getDocblock = getDocblock;\n-exports.identWithinLexicalScope = identWithinLexicalScope;\n-exports.identInLocalScope = identInLocalScope;\n-exports.indentBefore = indentBefore;\n-exports.move = move;\n-exports.updateIndent = updateIndent;\n-exports.updateState = updateState;\n-exports.analyzeAndTraverse = analyzeAndTraverse;\ndiff --git a/src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js b/src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js\ndeleted file mode 100644\nindex ba27bab1..00000000\n--- a/src/plone/staticresources/static/components/jstransform/visitors/es6-arrow-function-visitors.js\n+++ /dev/null\n@@ -1,117 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/*global exports:true*/\n-\n-/**\n- * Desugars ES6 Arrow functions to ES3 function expressions.\n- * If the function contains `this` expression -- automatically\n- * binds the funciton to current value of `this`.\n- *\n- * Single parameter, simple expression:\n- *\n- * [1, 2, 3].map(x => x * x);\n- *\n- * [1, 2, 3].map(function(x) { return x * x; });\n- *\n- * Several parameters, complex block:\n- *\n- * this.users.forEach((user, idx) => {\n- * return this.isActive(idx) && this.send(user);\n- * });\n- *\n- * this.users.forEach(function(user, idx) {\n- * return this.isActive(idx) && this.send(user);\n- * }.bind(this));\n- *\n- */\n-var restParamVisitors = require(\'./es6-rest-param-visitors\');\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'../src/utils\');\n-\n-/**\n- * @public\n- */\n-function visitArrowFunction(traverse, node, path, state) {\n- // Prologue.\n- utils.append(\'function\', state);\n- renderParams(node, state);\n-\n- // Skip arrow.\n- utils.catchupWhiteSpace(node.body.range[0], state);\n-\n- var renderBody = node.body.type == Syntax.BlockStatement\n- ? renderStatementBody\n- : renderExpressionBody;\n-\n- path.unshift(node);\n- renderBody(traverse, node, path, state);\n- path.shift();\n-\n- // Bind the function only if `this` value is used\n- // inside it or inside any sub-expression.\n- if (utils.containsChildOfType(node.body, Syntax.ThisExpression)) {\n- utils.append(\'.bind(this)\', state);\n- }\n-\n- return false;\n-}\n-\n-function renderParams(node, state) {\n- // To preserve inline typechecking directives, we\n- // distinguish between parens-free and paranthesized single param.\n- if (isParensFreeSingleParam(node, state) || !node.params.length) {\n- utils.append(\'(\', state);\n- }\n- if (node.params.length !== 0) {\n- utils.catchup(node.params[node.params.length - 1].range[1], state);\n- }\n- utils.append(\')\', state);\n-}\n-\n-function isParensFreeSingleParam(node, state) {\n- return node.params.length === 1 &&\n- state.g.source[state.g.position] !== \'(\';\n-}\n-\n-function renderExpressionBody(traverse, node, path, state) {\n- // Wrap simple expression bodies into a block\n- // with explicit return statement.\n- utils.append(\'{\', state);\n- if (node.rest) {\n- utils.append(\n- restParamVisitors.renderRestParamSetup(node),\n- state\n- );\n- }\n- utils.append(\'return \', state);\n- renderStatementBody(traverse, node, path, state);\n- utils.append(\';}\', state);\n-}\n-\n-function renderStatementBody(traverse, node, path, state) {\n- traverse(node.body, path, state);\n- utils.catchup(node.body.range[1], state);\n-}\n-\n-visitArrowFunction.test = function(node, path, state) {\n- return node.type === Syntax.ArrowFunctionExpression;\n-};\n-\n-exports.visitorList = [\n- visitArrowFunction\n-];\n-\ndiff --git a/src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js b/src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js\ndeleted file mode 100644\nindex b9d175b7..00000000\n--- a/src/plone/staticresources/static/components/jstransform/visitors/es6-class-visitors.js\n+++ /dev/null\n@@ -1,478 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/*jslint node:true*/\n-\n-/**\n- * @typechecks\n- */\n-\'use strict\';\n-\n-var base62 = require(\'base62\');\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'../src/utils\');\n-\n-var SUPER_PROTO_IDENT_PREFIX = \'____SuperProtoOf\';\n-\n-var _anonClassUUIDCounter = 0;\n-var _mungedSymbolMaps = {};\n-\n-/**\n- * Used to generate a unique class for use with code-gens for anonymous class\n- * expressions.\n- *\n- * @param {object} state\n- * @return {string}\n- */\n-function _generateAnonymousClassName(state) {\n- var mungeNamespace = state.mungeNamespace || \'\';\n- return \'____Class\' + mungeNamespace + base62.encode(_anonClassUUIDCounter++);\n-}\n-\n-/**\n- * Given an identifier name, munge it using the current state\'s mungeNamespace.\n- *\n- * @param {string} identName\n- * @param {object} state\n- * @return {string}\n- */\n-function _getMungedName(identName, state) {\n- var mungeNamespace = state.mungeNamespace;\n- var shouldMinify = state.g.opts.minify;\n-\n- if (shouldMinify) {\n- if (!_mungedSymbolMaps[mungeNamespace]) {\n- _mungedSymbolMaps[mungeNamespace] = {\n- symbolMap: {},\n- identUUIDCounter: 0\n- };\n- }\n-\n- var symbolMap = _mungedSymbolMaps[mungeNamespace].symbolMap;\n- if (!symbolMap[identName]) {\n- symbolMap[identName] =\n- base62.encode(_mungedSymbolMaps[mungeNamespace].identUUIDCounter++);\n- }\n- identName = symbolMap[identName];\n- }\n- return \'$\' + mungeNamespace + identName;\n-}\n-\n-/**\n- * Extracts super class information from a class node.\n- *\n- * Information includes name of the super class and/or the expression string\n- * (if extending from an expression)\n- *\n- * @param {object} node\n- * @param {object} state\n- * @return {object}\n- */\n-function _getSuperClassInfo(node, state) {\n- var ret = {\n- name: null,\n- expression: null\n- };\n- if (node.superClass) {\n- if (node.superClass.type === Syntax.Identifier) {\n- ret.name = node.superClass.name;\n- } else {\n- // Extension from an expression\n- ret.name = _generateAnonymousClassName(state);\n- ret.expression = state.g.source.substring(\n- node.superClass.range[0],\n- node.superClass.range[1]\n- );\n- }\n- }\n- return ret;\n-}\n-\n-/**\n- * Used with .filter() to find the constructor method in a list of\n- * MethodDefinition nodes.\n- *\n- * @param {object} classElement\n- * @return {boolean}\n- */\n-function _isConstructorMethod(classElement) {\n- return classElement.type === Syntax.MethodDefinition &&\n- classElement.key.type === Syntax.Identifier &&\n- classElement.key.name === \'constructor\';\n-}\n-\n-/**\n- * @param {object} node\n- * @param {object} state\n- * @return {boolean}\n- */\n-function _shouldMungeIdentifier(node, state) {\n- return (\n- !!state.methodFuncNode &&\n- !utils.getDocblock(state).hasOwnProperty(\'preventMunge\') &&\n- /^_(?!_)/.test(node.name)\n- );\n-}\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitClassMethod(traverse, node, path, state) {\n- utils.catchup(node.range[0], state);\n- path.unshift(node);\n- traverse(node.value, path, state);\n- path.shift();\n- return false;\n-}\n-visitClassMethod.test = function(node, path, state) {\n- return node.type === Syntax.MethodDefinition;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitClassFunctionExpression(traverse, node, path, state) {\n- var methodNode = path[0];\n-\n- state = utils.updateState(state, {\n- methodFuncNode: node\n- });\n-\n- if (methodNode.key.name === \'constructor\') {\n- utils.append(\'function \' + state.className, state);\n- } else {\n- var methodName = methodNode.key.name;\n- if (_shouldMungeIdentifier(methodNode.key, state)) {\n- methodName = _getMungedName(methodName, state);\n- }\n-\n- var prototypeOrStatic = methodNode.static ? \'\' : \'prototype.\';\n- utils.append(\n- state.className + \'.\' + prototypeOrStatic + methodName + \'=function\',\n- state\n- );\n- }\n- utils.move(methodNode.key.range[1], state);\n-\n- var params = node.params;\n- var paramName;\n- if (params.length > 0) {\n- for (var i = 0; i < params.length; i++) {\n- utils.catchup(node.params[i].range[0], state);\n- paramName = params[i].name;\n- if (_shouldMungeIdentifier(params[i], state)) {\n- paramName = _getMungedName(params[i].name, state);\n- }\n- utils.append(paramName, state);\n- utils.move(params[i].range[1], state);\n- }\n- } else {\n- utils.append(\'(\', state);\n- }\n- utils.append(\')\', state);\n- utils.catchupWhiteSpace(node.body.range[0], state);\n- utils.append(\'{\', state);\n- if (!state.scopeIsStrict) {\n- utils.append(\'"use strict";\', state);\n- }\n- utils.move(node.body.range[0] + \'{\'.length, state);\n-\n- path.unshift(node);\n- traverse(node.body, path, state);\n- path.shift();\n- utils.catchup(node.body.range[1], state);\n-\n- if (methodNode.key.name !== \'constructor\') {\n- utils.append(\';\', state);\n- }\n- return false;\n-}\n-visitClassFunctionExpression.test = function(node, path, state) {\n- return node.type === Syntax.FunctionExpression\n- && path[0].type === Syntax.MethodDefinition;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function _renderClassBody(traverse, node, path, state) {\n- var className = state.className;\n- var superClass = state.superClass;\n-\n- // Set up prototype of constructor on same line as `extends` for line-number\n- // preservation. This relies on function-hoisting if a constructor function is\n- // defined in the class body.\n- if (superClass.name) {\n- // If the super class is an expression, we need to memoize the output of the\n- // expression into the generated class name variable and use that to refer\n- // to the super class going forward. Example:\n- //\n- // class Foo extends mixin(Bar, Baz) {}\n- // --transforms to--\n- // function Foo() {} var ____Class0Blah = mixin(Bar, Baz);\n- if (superClass.expression !== null) {\n- utils.append(\n- \'var \' + superClass.name + \'=\' + superClass.expression + \';\',\n- state\n- );\n- }\n-\n- var keyName = superClass.name + \'____Key\';\n- var keyNameDeclarator = \'\';\n- if (!utils.identWithinLexicalScope(keyName, state)) {\n- keyNameDeclarator = \'var \';\n- utils.declareIdentInLocalScope(keyName, state);\n- }\n- utils.append(\n- \'for(\' + keyNameDeclarator + keyName + \' in \' + superClass.name + \'){\' +\n- \'if(\' + superClass.name + \'.hasOwnProperty(\' + keyName + \')){\' +\n- className + \'[\' + keyName + \']=\' +\n- superClass.name + \'[\' + keyName + \'];\' +\n- \'}\' +\n- \'}\',\n- state\n- );\n-\n- var superProtoIdentStr = SUPER_PROTO_IDENT_PREFIX + superClass.name;\n- if (!utils.identWithinLexicalScope(superProtoIdentStr, state)) {\n- utils.append(\n- \'var \' + superProtoIdentStr + \'=\' + superClass.name + \'===null?\' +\n- \'null:\' + superClass.name + \'.prototype;\',\n- state\n- );\n- utils.declareIdentInLocalScope(superProtoIdentStr, state);\n- }\n-\n- utils.append(\n- className + \'.prototype=Object.create(\' + superProtoIdentStr + \');\',\n- state\n- );\n- utils.append(\n- className + \'.prototype.constructor=\' + className + \';\',\n- state\n- );\n- utils.append(\n- className + \'.__superConstructor__=\' + superClass.name + \';\',\n- state\n- );\n- }\n-\n- // If there\'s no constructor method specified in the class body, create an\n- // empty constructor function at the top (same line as the class keyword)\n- if (!node.body.body.filter(_isConstructorMethod).pop()) {\n- utils.append(\'function \' + className + \'(){\', state);\n- if (!state.scopeIsStrict) {\n- utils.append(\'"use strict";\', state);\n- }\n- if (superClass.name) {\n- utils.append(\n- \'if(\' + superClass.name + \'!==null){\' +\n- superClass.name + \'.apply(this,arguments);}\',\n- state\n- );\n- }\n- utils.append(\'}\', state);\n- }\n-\n- utils.move(node.body.range[0] + \'{\'.length, state);\n- traverse(node.body, path, state);\n- utils.catchupWhiteSpace(node.range[1], state);\n-}\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitClassDeclaration(traverse, node, path, state) {\n- var className = node.id.name;\n- var superClass = _getSuperClassInfo(node, state);\n-\n- state = utils.updateState(state, {\n- mungeNamespace: className,\n- className: className,\n- superClass: superClass\n- });\n-\n- _renderClassBody(traverse, node, path, state);\n-\n- return false;\n-}\n-visitClassDeclaration.test = function(node, path, state) {\n- return node.type === Syntax.ClassDeclaration;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitClassExpression(traverse, node, path, state) {\n- var className = node.id && node.id.name || _generateAnonymousClassName(state);\n- var superClass = _getSuperClassInfo(node, state);\n-\n- utils.append(\'(function(){\', state);\n-\n- state = utils.updateState(state, {\n- mungeNamespace: className,\n- className: className,\n- superClass: superClass\n- });\n-\n- _renderClassBody(traverse, node, path, state);\n-\n- utils.append(\'return \' + className + \';})()\', state);\n- return false;\n-}\n-visitClassExpression.test = function(node, path, state) {\n- return node.type === Syntax.ClassExpression;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitPrivateIdentifier(traverse, node, path, state) {\n- utils.append(_getMungedName(node.name, state), state);\n- utils.move(node.range[1], state);\n-}\n-visitPrivateIdentifier.test = function(node, path, state) {\n- if (node.type === Syntax.Identifier && _shouldMungeIdentifier(node, state)) {\n- // Always munge non-computed properties of MemberExpressions\n- // (a la preventing access of properties of unowned objects)\n- if (path[0].type === Syntax.MemberExpression && path[0].object !== node\n- && path[0].computed === false) {\n- return true;\n- }\n-\n- // Always munge identifiers that were declared within the method function\n- // scope\n- if (utils.identWithinLexicalScope(node.name, state, state.methodFuncNode)) {\n- return true;\n- }\n-\n- // Always munge private keys on object literals defined within a method\'s\n- // scope.\n- if (path[0].type === Syntax.Property\n- && path[1].type === Syntax.ObjectExpression) {\n- return true;\n- }\n-\n- // Always munge function parameters\n- if (path[0].type === Syntax.FunctionExpression\n- || path[0].type === Syntax.FunctionDeclaration) {\n- for (var i = 0; i < path[0].params.length; i++) {\n- if (path[0].params[i] === node) {\n- return true;\n- }\n- }\n- }\n- }\n- return false;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitSuperCallExpression(traverse, node, path, state) {\n- var superClassName = state.superClass.name;\n-\n- if (node.callee.type === Syntax.Identifier) {\n- utils.append(superClassName + \'.call(\', state);\n- utils.move(node.callee.range[1], state);\n- } else if (node.callee.type === Syntax.MemberExpression) {\n- utils.append(SUPER_PROTO_IDENT_PREFIX + superClassName, state);\n- utils.move(node.callee.object.range[1], state);\n-\n- if (node.callee.computed) {\n- // ["a" + "b"]\n- utils.catchup(node.callee.property.range[1] + \']\'.length, state);\n- } else {\n- // .ab\n- utils.append(\'.\' + node.callee.property.name, state);\n- }\n-\n- utils.append(\'.call(\', state);\n- utils.move(node.callee.range[1], state);\n- }\n-\n- utils.append(\'this\', state);\n- if (node.arguments.length > 0) {\n- utils.append(\',\', state);\n- utils.catchupWhiteSpace(node.arguments[0].range[0], state);\n- traverse(node.arguments, path, state);\n- }\n-\n- utils.catchupWhiteSpace(node.range[1], state);\n- utils.append(\')\', state);\n- return false;\n-}\n-visitSuperCallExpression.test = function(node, path, state) {\n- if (state.superClass && node.type === Syntax.CallExpression) {\n- var callee = node.callee;\n- if (callee.type === Syntax.Identifier && callee.name === \'super\'\n- || callee.type == Syntax.MemberExpression\n- && callee.object.name === \'super\') {\n- return true;\n- }\n- }\n- return false;\n-};\n-\n-/**\n- * @param {function} traverse\n- * @param {object} node\n- * @param {array} path\n- * @param {object} state\n- */\n-function visitSuperMemberExpression(traverse, node, path, state) {\n- var superClassName = state.superClass.name;\n-\n- utils.append(SUPER_PROTO_IDENT_PREFIX + superClassName, state);\n- utils.move(node.object.range[1], state);\n-}\n-visitSuperMemberExpression.test = function(node, path, state) {\n- return state.superClass\n- && node.type === Syntax.MemberExpression\n- && node.object.type === Syntax.Identifier\n- && node.object.name === \'super\';\n-};\n-\n-exports.visitorList = [\n- visitClassDeclaration,\n- visitClassExpression,\n- visitClassFunctionExpression,\n- visitClassMethod,\n- visitPrivateIdentifier,\n- visitSuperCallExpression,\n- visitSuperMemberExpression\n-];\ndiff --git a/src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js b/src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js\ndeleted file mode 100644\nindex d89101fa..00000000\n--- a/src/plone/staticresources/static/components/jstransform/visitors/es6-object-short-notation-visitors.js\n+++ /dev/null\n@@ -1,52 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/*jslint node: true*/\n-\n-/**\n- * Desugars ES6 Object Literal short notations into ES3 full notation.\n- *\n- * // Easier return values.\n- * function foo(x, y) {\n- * return {x, y}; // {x: x, y: y}\n- * };\n- *\n- * // Destrucruting.\n- * function init({port, ip, coords: {x, y}}) { ... }\n- *\n- */\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'../src/utils\');\n-\n-/**\n- * @public\n- */\n-function visitObjectLiteralShortNotation(traverse, node, path, state) {\n- utils.catchup(node.key.range[1], state);\n- utils.append(\':\' + node.key.name, state);\n- return false;\n-}\n-\n-visitObjectLiteralShortNotation.test = function(node, path, state) {\n- return node.type === Syntax.Property &&\n- node.kind === \'init\' &&\n- node.shorthand === true;\n-};\n-\n-exports.visitorList = [\n- visitObjectLiteralShortNotation\n-];\n-\ndiff --git a/src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js b/src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js\ndeleted file mode 100644\nindex 58ba2a11..00000000\n--- a/src/plone/staticresources/static/components/jstransform/visitors/es6-rest-param-visitors.js\n+++ /dev/null\n@@ -1,81 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/*jslint node:true*/\n-\n-/**\n- * Desugars ES6 rest parameters into ES3 arguments slicing.\n- *\n- * function printf(template, ...args) {\n- * args.forEach(...);\n- * };\n- *\n- * function printf(template) {\n- * var args = [].slice.call(arguments, 1);\n- * args.forEach(...);\n- * };\n- *\n- */\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'../src/utils\');\n-\n-function _nodeIsFunctionWithRestParam(node) {\n- return (node.type === Syntax.FunctionDeclaration\n- || node.type === Syntax.FunctionExpression\n- || node.type === Syntax.ArrowFunctionExpression)\n- && node.rest;\n-}\n-\n-function visitFunctionParamsWithRestParam(traverse, node, path, state) {\n- // Render params.\n- if (node.params.length) {\n- utils.catchup(node.params[node.params.length - 1].range[1], state);\n- } else {\n- // -3 is for ... of the rest.\n- utils.catchup(node.rest.range[0] - 3, state);\n- }\n- utils.catchupWhiteSpace(node.rest.range[1], state);\n-}\n-\n-visitFunctionParamsWithRestParam.test = function(node, path, state) {\n- return _nodeIsFunctionWithRestParam(node);\n-};\n-\n-function renderRestParamSetup(functionNode) {\n- return \'var \' + functionNode.rest.name + \'=Array.prototype.slice.call(\' +\n- \'arguments,\' +\n- functionNode.params.length +\n- \');\';\n-}\n-\n-function visitFunctionBodyWithRestParam(traverse, node, path, state) {\n- utils.catchup(node.range[0] + 1, state);\n- var parentNode = path[0];\n- utils.append(renderRestParamSetup(parentNode), state);\n- traverse(node.body, path, state);\n- return false;\n-}\n-\n-visitFunctionBodyWithRestParam.test = function(node, path, state) {\n- return node.type === Syntax.BlockStatement\n- && _nodeIsFunctionWithRestParam(path[0]);\n-};\n-\n-exports.renderRestParamSetup = renderRestParamSetup;\n-exports.visitorList = [\n- visitFunctionParamsWithRestParam,\n- visitFunctionBodyWithRestParam\n-];\ndiff --git a/src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js b/src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js\ndeleted file mode 100644\nindex 7a318fa7..00000000\n--- a/src/plone/staticresources/static/components/jstransform/visitors/es6-template-visitors.js\n+++ /dev/null\n@@ -1,147 +0,0 @@\n-/**\n- * Copyright 2013 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/*jslint node:true*/\n-\n-/**\n- * @typechecks\n- */\n-\'use strict\';\n-\n-var Syntax = require(\'esprima-fb\').Syntax;\n-var utils = require(\'../src/utils\');\n-\n-/**\n- * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-12.1.9\n- */\n-function visitTemplateLiteral(traverse, node, path, state) {\n- var templateElements = node.quasis;\n-\n- utils.append(\'(\', state);\n- for (var ii = 0; ii < templateElements.length; ii++) {\n- var templateElement = templateElements[ii];\n- if (templateElement.value.raw !== \'\') {\n- utils.append(getCookedValue(templateElement), state);\n- if (!templateElement.tail) {\n- // + between element and substitution\n- utils.append(\' + \', state);\n- }\n- // maintain line numbers\n- utils.move(templateElement.range[0], state);\n- utils.catchupNewlines(templateElement.range[1], state);\n- }\n- utils.move(templateElement.range[1], state);\n- if (!templateElement.tail) {\n- var substitution = node.expressions[ii];\n- if (substitution.type === Syntax.Identifier ||\n- substitution.type === Syntax.MemberExpression ||\n- substitution.type === Syntax.CallExpression) {\n- utils.catchup(substitution.range[1], state);\n- } else {\n- utils.append(\'(\', state);\n- traverse(substitution, path, state);\n- utils.catchup(substitution.range[1], state);\n- utils.append(\')\', state);\n- }\n- // if next templateElement isn\'t empty...\n- if (templateElements[ii + 1].value.cooked !== \'\') {\n- utils.append(\' + \', state);\n- }\n- }\n- }\n- utils.move(node.range[1], state);\n- utils.append(\')\', state);\n- return false;\n-}\n-\n-visitTemplateLiteral.test = function(node, path, state) {\n- return node.type === Syntax.TemplateLiteral;\n-};\n-\n-/**\n- * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-12.2.6\n- */\n-function visitTaggedTemplateExpression(traverse, node, path, state) {\n- var template = node.quasi;\n- var numQuasis = template.quasis.length;\n-\n- // print the tag\n- utils.move(node.tag.range[0], state);\n- traverse(node.tag, path, state);\n- utils.catchup(node.tag.range[1], state);\n-\n- // print array of template elements\n- utils.append(\'(function() { var siteObj = [\', state);\n- for (var ii = 0; ii < numQuasis; ii++) {\n- utils.append(getCookedValue(template.quasis[ii]), state);\n- if (ii !== numQuasis - 1) {\n- utils.append(\', \', state);\n- }\n- }\n- utils.append(\']; siteObj.raw = [\', state);\n- for (ii = 0; ii < numQuasis; ii++) {\n- utils.append(getRawValue(template.quasis[ii]), state);\n- if (ii !== numQuasis - 1) {\n- utils.append(\', \', state);\n- }\n- }\n- utils.append(\n- \']; Object.freeze(siteObj.raw); Object.freeze(siteObj); return siteObj; }()\',\n- state\n- );\n-\n- // print substitutions\n- if (numQuasis > 1) {\n- for (ii = 0; ii < template.expressions.length; ii++) {\n- var expression = template.expressions[ii];\n- utils.append(\', \', state);\n-\n- // maintain line numbers by calling catchupWhiteSpace over the whole\n- // previous TemplateElement\n- utils.move(template.quasis[ii].range[0], state);\n- utils.catchupNewlines(template.quasis[ii].range[1], state);\n-\n- utils.move(expression.range[0], state);\n- traverse(expression, path, state);\n- utils.catchup(expression.range[1], state);\n- }\n- }\n-\n- // print blank lines to push the closing ) down to account for the final\n- // TemplateElement.\n- utils.catchupNewlines(node.range[1], state);\n-\n- utils.append(\')\', state);\n-\n- return false;\n-}\n-\n-visitTaggedTemplateExpression.test = function(node, path, state) {\n- return node.type === Syntax.TaggedTemplateExpression;\n-};\n-\n-function getCookedValue(templateElement) {\n- return JSON.stringify(templateElement.value.cooked);\n-}\n-\n-function getRawValue(templateElement) {\n- return JSON.stringify(templateElement.value.raw);\n-}\n-\n-exports.visitorList = [\n- visitTemplateLiteral,\n- visitTaggedTemplateExpression\n-];\ndiff --git a/src/plone/staticresources/static/components/lru-cache/.travis.yml b/src/plone/staticresources/static/components/lru-cache/.travis.yml\ndeleted file mode 100644\nindex 4af02b3d..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/.travis.yml\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-language: node_js\n-node_js:\n- - \'0.8\'\n- - \'0.10\'\n- - \'0.12\'\n- - \'iojs\'\n-before_install:\n- - npm install -g npm@latest\ndiff --git a/src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS b/src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS\ndeleted file mode 100644\nindex 4a0bc503..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/CONTRIBUTORS\n+++ /dev/null\n@@ -1,14 +0,0 @@\n-# Authors, sorted by whether or not they are me\n-Isaac Z. Schlueter \n-Brian Cottingham \n-Carlos Brito Lage \n-Jesse Dailey \n-Kevin O\'Hara \n-Marco Rogers \n-Mark Cavage \n-Marko Mikulicic \n-Nathan Rajlich \n-Satheesh Natesan \n-Trent Mick \n-ashleybrener \n-n4kz \ndiff --git a/src/plone/staticresources/static/components/lru-cache/LICENSE b/src/plone/staticresources/static/components/lru-cache/LICENSE\ndeleted file mode 100644\nindex 19129e31..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/LICENSE\n+++ /dev/null\n@@ -1,15 +0,0 @@\n-The ISC License\n-\n-Copyright (c) Isaac Z. Schlueter and Contributors\n-\n-Permission to use, copy, modify, and/or distribute this software for any\n-purpose with or without fee is hereby granted, provided that the above\n-copyright notice and this permission notice appear in all copies.\n-\n-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR\n-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/lru-cache/README.md b/src/plone/staticresources/static/components/lru-cache/README.md\ndeleted file mode 100644\nindex c06814e0..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/README.md\n+++ /dev/null\n@@ -1,137 +0,0 @@\n-# lru cache\n-\n-A cache object that deletes the least-recently-used items.\n-\n-## Usage:\n-\n-```javascript\n-var LRU = require("lru-cache")\n- , options = { max: 500\n- , length: function (n) { return n * 2 }\n- , dispose: function (key, n) { n.close() }\n- , maxAge: 1000 * 60 * 60 }\n- , cache = LRU(options)\n- , otherCache = LRU(50) // sets just the max size\n-\n-cache.set("key", "value")\n-cache.get("key") // "value"\n-\n-cache.reset() // empty the cache\n-```\n-\n-If you put more stuff in it, then items will fall out.\n-\n-If you try to put an oversized thing in it, then it\'ll fall out right\n-away.\n-\n-## Keys should always be Strings or Numbers\n-\n-Note: this module will print warnings to `console.error` if you use a\n-key that is not a String or Number. Because items are stored in an\n-object, which coerces keys to a string, it won\'t go well for you if\n-you try to use a key that is not a unique string, it\'ll cause surprise\n-collisions. For example:\n-\n-```JavaScript\n-// Bad Example! Dont\' do this!\n-var cache = LRU()\n-var a = {}\n-var b = {}\n-cache.set(a, \'this is a\')\n-cache.set(b, \'this is b\')\n-console.log(cache.get(a)) // prints: \'this is b\'\n-```\n-\n-## Options\n-\n-* `max` The maximum size of the cache, checked by applying the length\n- function to all values in the cache. Not setting this is kind of\n- silly, since that\'s the whole purpose of this lib, but it defaults\n- to `Infinity`.\n-* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n- as they age, but if you try to get an item that is too old, it\'ll\n- drop it and return undefined instead of giving it to you.\n-* `length` Function that is used to calculate the length of stored\n- items. If you\'re storing strings or buffers, then you probably want\n- to do something like `function(n){return n.length}`. The default is\n- `function(n){return 1}`, which is fine if you want to store `max`\n- like-sized things.\n-* `dispose` Function that is called on items when they are dropped\n- from the cache. This can be handy if you want to close file\n- descriptors or do other cleanup tasks when items are no longer\n- accessible. Called with `key, value`. It\'s called *before*\n- actually removing the item from the internal cache, so if you want\n- to immediately put it back in, you\'ll have to do that in a\n- `nextTick` or `setTimeout` callback or it won\'t do anything.\n-* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n- stale items out of the cache when you `get(key)`. (That is, it\'s\n- not pre-emptively doing a `setTimeout` or anything.) If you set\n- `stale:true`, it\'ll return the stale value before deleting it. If\n- you don\'t set this, then it\'ll return `undefined` when you try to\n- get a stale entry, as if it had already been deleted.\n-\n-## API\n-\n-* `set(key, value, maxAge)`\n-* `get(key) => value`\n-\n- Both of these will update the "recently used"-ness of the key.\n- They do what you think. `max` is optional and overrides the\n- cache `max` option if provided.\n-\n-* `peek(key)`\n-\n- Returns the key value (or `undefined` if not found) without\n- updating the "recently used"-ness of the key.\n-\n- (If you find yourself using this a lot, you *might* be using the\n- wrong sort of data structure, but there are some use cases where\n- it\'s handy.)\n-\n-* `del(key)`\n-\n- Deletes a key out of the cache.\n-\n-* `reset()`\n-\n- Clear the cache entirely, throwing away all values.\n-\n-* `has(key)`\n-\n- Check if a key is in the cache, without updating the recent-ness\n- or deleting it for being stale.\n-\n-* `forEach(function(value,key,cache), [thisp])`\n-\n- Just like `Array.prototype.forEach`. Iterates over all the keys\n- in the cache, in order of recent-ness. (Ie, more recently used\n- items are iterated over first.)\n-\n-* `keys()`\n-\n- Return an array of the keys in the cache.\n-\n-* `values()`\n-\n- Return an array of the values in the cache.\n-\n-* `length()`\n-\n- Return total length of objects in cache taking into account\n- `length` options function.\n-\n-* `itemCount`\n-\n- Return total quantity of objects currently in cache. Note, that\n- `stale` (see options) items are returned as part of this item\n- count.\n-\n-* `dump()`\n-\n- Return an array of the cache entries ready for serialization and usage\n- with \'destinationCache.load(arr)`.\n-\n-* `load(cacheEntriesArray)`\n-\n- Loads another cache entries array, obtained with `sourceCache.dump()`,\n- into the cache. The destination cache is reset before loading new entries\ndiff --git a/src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js b/src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js\ndeleted file mode 100644\nindex 2bbe653b..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/lib/lru-cache.js\n+++ /dev/null\n@@ -1,334 +0,0 @@\n-;(function () { // closure for web browsers\n-\n-if (typeof module === \'object\' && module.exports) {\n- module.exports = LRUCache\n-} else {\n- // just set the global for non-node platforms.\n- this.LRUCache = LRUCache\n-}\n-\n-function hOP (obj, key) {\n- return Object.prototype.hasOwnProperty.call(obj, key)\n-}\n-\n-function naiveLength () { return 1 }\n-\n-var didTypeWarning = false\n-function typeCheckKey(key) {\n- if (!didTypeWarning && typeof key !== \'string\' && typeof key !== \'number\') {\n- didTypeWarning = true\n- console.error(new TypeError("LRU: key must be a string or number. Almost certainly a bug! " + typeof key).stack)\n- }\n-}\n-\n-function LRUCache (options) {\n- if (!(this instanceof LRUCache))\n- return new LRUCache(options)\n-\n- if (typeof options === \'number\')\n- options = { max: options }\n-\n- if (!options)\n- options = {}\n-\n- this._max = options.max\n- // Kind of weird to have a default max of Infinity, but oh well.\n- if (!this._max || !(typeof this._max === "number") || this._max <= 0 )\n- this._max = Infinity\n-\n- this._lengthCalculator = options.length || naiveLength\n- if (typeof this._lengthCalculator !== "function")\n- this._lengthCalculator = naiveLength\n-\n- this._allowStale = options.stale || false\n- this._maxAge = options.maxAge || null\n- this._dispose = options.dispose\n- this.reset()\n-}\n-\n-// resize the cache when the max changes.\n-Object.defineProperty(LRUCache.prototype, "max",\n- { set : function (mL) {\n- if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity\n- this._max = mL\n- if (this._length > this._max) trim(this)\n- }\n- , get : function () { return this._max }\n- , enumerable : true\n- })\n-\n-// resize the cache when the lengthCalculator changes.\n-Object.defineProperty(LRUCache.prototype, "lengthCalculator",\n- { set : function (lC) {\n- if (typeof lC !== "function") {\n- this._lengthCalculator = naiveLength\n- this._length = this._itemCount\n- for (var key in this._cache) {\n- this._cache[key].length = 1\n- }\n- } else {\n- this._lengthCalculator = lC\n- this._length = 0\n- for (var key in this._cache) {\n- this._cache[key].length = this._lengthCalculator(this._cache[key].value)\n- this._length += this._cache[key].length\n- }\n- }\n-\n- if (this._length > this._max) trim(this)\n- }\n- , get : function () { return this._lengthCalculator }\n- , enumerable : true\n- })\n-\n-Object.defineProperty(LRUCache.prototype, "length",\n- { get : function () { return this._length }\n- , enumerable : true\n- })\n-\n-\n-Object.defineProperty(LRUCache.prototype, "itemCount",\n- { get : function () { return this._itemCount }\n- , enumerable : true\n- })\n-\n-LRUCache.prototype.forEach = function (fn, thisp) {\n- thisp = thisp || this\n- var i = 0\n- var itemCount = this._itemCount\n-\n- for (var k = this._mru - 1; k >= 0 && i < itemCount; k--) if (this._lruList[k]) {\n- i++\n- var hit = this._lruList[k]\n- if (isStale(this, hit)) {\n- del(this, hit)\n- if (!this._allowStale) hit = undefined\n- }\n- if (hit) {\n- fn.call(thisp, hit.value, hit.key, this)\n- }\n- }\n-}\n-\n-LRUCache.prototype.keys = function () {\n- var keys = new Array(this._itemCount)\n- var i = 0\n- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {\n- var hit = this._lruList[k]\n- keys[i++] = hit.key\n- }\n- return keys\n-}\n-\n-LRUCache.prototype.values = function () {\n- var values = new Array(this._itemCount)\n- var i = 0\n- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {\n- var hit = this._lruList[k]\n- values[i++] = hit.value\n- }\n- return values\n-}\n-\n-LRUCache.prototype.reset = function () {\n- if (this._dispose && this._cache) {\n- for (var k in this._cache) {\n- this._dispose(k, this._cache[k].value)\n- }\n- }\n-\n- this._cache = Object.create(null) // hash of items by key\n- this._lruList = Object.create(null) // list of items in order of use recency\n- this._mru = 0 // most recently used\n- this._lru = 0 // least recently used\n- this._length = 0 // number of items in the list\n- this._itemCount = 0\n-}\n-\n-LRUCache.prototype.dump = function () {\n- var arr = []\n- var i = 0\n-\n- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {\n- var hit = this._lruList[k]\n- if (!isStale(this, hit)) {\n- //Do not store staled hits\n- ++i\n- arr.push({\n- k: hit.key,\n- v: hit.value,\n- e: hit.now + (hit.maxAge || 0)\n- });\n- }\n- }\n- //arr has the most read first\n- return arr\n-}\n-\n-LRUCache.prototype.dumpLru = function () {\n- return this._lruList\n-}\n-\n-LRUCache.prototype.set = function (key, value, maxAge) {\n- maxAge = maxAge || this._maxAge\n- typeCheckKey(key)\n-\n- var now = maxAge ? Date.now() : 0\n- var len = this._lengthCalculator(value)\n-\n- if (hOP(this._cache, key)) {\n- if (len > this._max) {\n- del(this, this._cache[key])\n- return false\n- }\n- // dispose of the old one before overwriting\n- if (this._dispose)\n- this._dispose(key, this._cache[key].value)\n-\n- this._cache[key].now = now\n- this._cache[key].maxAge = maxAge\n- this._cache[key].value = value\n- this._length += (len - this._cache[key].length)\n- this._cache[key].length = len\n- this.get(key)\n-\n- if (this._length > this._max)\n- trim(this)\n-\n- return true\n- }\n-\n- var hit = new Entry(key, value, this._mru++, len, now, maxAge)\n-\n- // oversized objects fall out of cache automatically.\n- if (hit.length > this._max) {\n- if (this._dispose) this._dispose(key, value)\n- return false\n- }\n-\n- this._length += hit.length\n- this._lruList[hit.lu] = this._cache[key] = hit\n- this._itemCount ++\n-\n- if (this._length > this._max)\n- trim(this)\n-\n- return true\n-}\n-\n-LRUCache.prototype.has = function (key) {\n- typeCheckKey(key)\n- if (!hOP(this._cache, key)) return false\n- var hit = this._cache[key]\n- if (isStale(this, hit)) {\n- return false\n- }\n- return true\n-}\n-\n-LRUCache.prototype.get = function (key) {\n- typeCheckKey(key)\n- return get(this, key, true)\n-}\n-\n-LRUCache.prototype.peek = function (key) {\n- typeCheckKey(key)\n- return get(this, key, false)\n-}\n-\n-LRUCache.prototype.pop = function () {\n- var hit = this._lruList[this._lru]\n- del(this, hit)\n- return hit || null\n-}\n-\n-LRUCache.prototype.del = function (key) {\n- typeCheckKey(key)\n- del(this, this._cache[key])\n-}\n-\n-LRUCache.prototype.load = function (arr) {\n- //reset the cache\n- this.reset();\n-\n- var now = Date.now()\n- //A previous serialized cache has the most recent items first\n- for (var l = arr.length - 1; l >= 0; l-- ) {\n- var hit = arr[l]\n- typeCheckKey(hit.k)\n- var expiresAt = hit.e || 0\n- if (expiresAt === 0) {\n- //the item was created without expiration in a non aged cache\n- this.set(hit.k, hit.v)\n- } else {\n- var maxAge = expiresAt - now\n- //dont add already expired items\n- if (maxAge > 0) this.set(hit.k, hit.v, maxAge)\n- }\n- }\n-}\n-\n-function get (self, key, doUse) {\n- typeCheckKey(key)\n- var hit = self._cache[key]\n- if (hit) {\n- if (isStale(self, hit)) {\n- del(self, hit)\n- if (!self._allowStale) hit = undefined\n- } else {\n- if (doUse) use(self, hit)\n- }\n- if (hit) hit = hit.value\n- }\n- return hit\n-}\n-\n-function isStale(self, hit) {\n- if (!hit || (!hit.maxAge && !self._maxAge)) return false\n- var stale = false;\n- var diff = Date.now() - hit.now\n- if (hit.maxAge) {\n- stale = diff > hit.maxAge\n- } else {\n- stale = self._maxAge && (diff > self._maxAge)\n- }\n- return stale;\n-}\n-\n-function use (self, hit) {\n- shiftLU(self, hit)\n- hit.lu = self._mru ++\n- self._lruList[hit.lu] = hit\n-}\n-\n-function trim (self) {\n- while (self._lru < self._mru && self._length > self._max)\n- del(self, self._lruList[self._lru])\n-}\n-\n-function shiftLU (self, hit) {\n- delete self._lruList[ hit.lu ]\n- while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++\n-}\n-\n-function del (self, hit) {\n- if (hit) {\n- if (self._dispose) self._dispose(hit.key, hit.value)\n- self._length -= hit.length\n- self._itemCount --\n- delete self._cache[ hit.key ]\n- shiftLU(self, hit)\n- }\n-}\n-\n-// classy, since V8 prefers predictable objects.\n-function Entry (key, value, lu, length, now, maxAge) {\n- this.key = key\n- this.value = value\n- this.lu = lu\n- this.length = length\n- this.now = now\n- if (maxAge) this.maxAge = maxAge\n-}\n-\n-})()\ndiff --git a/src/plone/staticresources/static/components/lru-cache/package.json b/src/plone/staticresources/static/components/lru-cache/package.json\ndeleted file mode 100644\nindex 189e33da..00000000\n--- a/src/plone/staticresources/static/components/lru-cache/package.json\n+++ /dev/null\n@@ -1,21 +0,0 @@\n-{\n- "name": "lru-cache",\n- "description": "A cache object that deletes the least-recently-used items.",\n- "version": "2.7.3",\n- "author": "Isaac Z. Schlueter ",\n- "keywords": [\n- "mru",\n- "lru",\n- "cache"\n- ],\n- "scripts": {\n- "test": "tap test --gc"\n- },\n- "main": "lib/lru-cache.js",\n- "repository": "git://github.com/isaacs/node-lru-cache.git",\n- "devDependencies": {\n- "tap": "^1.2.0",\n- "weak": ""\n- },\n- "license": "ISC"\n-}\ndiff --git a/src/plone/staticresources/static/components/marked/Gulpfile.js b/src/plone/staticresources/static/components/marked/Gulpfile.js\nnew file mode 100644\nindex 00000000..cebc16a6\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/Gulpfile.js\n@@ -0,0 +1,22 @@\n+var gulp = require(\'gulp\');\n+var uglify = require(\'gulp-uglify\');\n+var concat = require(\'gulp-concat\');\n+\n+var preserveFirstComment = function() {\n+ var set = false;\n+\n+ return function() {\n+ if (set) return false;\n+ set = true;\n+ return true;\n+ };\n+};\n+\n+gulp.task(\'uglify\', function() {\n+ gulp.src(\'lib/marked.js\')\n+ .pipe(uglify({preserveComments: preserveFirstComment()}))\n+ .pipe(concat(\'marked.min.js\'))\n+ .pipe(gulp.dest(\'.\'));\n+});\n+\n+gulp.task(\'default\', [\'uglify\']);\ndiff --git a/src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE b/src/plone/staticresources/static/components/marked/LICENSE\nsimilarity index 89%\nrename from src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE\nrename to src/plone/staticresources/static/components/marked/LICENSE\nindex 432d1aeb..a7b812ed 100644\n--- a/src/plone/staticresources/static/components/commoner/node_modules/mkdirp/LICENSE\n+++ b/src/plone/staticresources/static/components/marked/LICENSE\n@@ -1,6 +1,4 @@\n-Copyright 2010 James Halliday (mail@substack.net)\n-\n-This project is free software released under the MIT/X11 license:\n+Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/)\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the "Software"), to deal\ndiff --git a/src/plone/staticresources/static/components/marked/Makefile b/src/plone/staticresources/static/components/marked/Makefile\nnew file mode 100644\nindex 00000000..d9349f07\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/Makefile\n@@ -0,0 +1,12 @@\n+all:\n+\t@cp lib/marked.js marked.js\n+\t@uglifyjs --comments \'/\\*[^\\0]+?Copyright[^\\0]+?\\*/\' -o marked.min.js lib/marked.js\n+\n+clean:\n+\t@rm marked.js\n+\t@rm marked.min.js\n+\n+bench:\n+\t@node test --bench\n+\n+.PHONY: clean all\ndiff --git a/src/plone/staticresources/static/components/marked/README.md b/src/plone/staticresources/static/components/marked/README.md\nnew file mode 100644\nindex 00000000..efa71aaa\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/README.md\n@@ -0,0 +1,406 @@\n+# marked\n+\n+> A full-featured markdown parser and compiler, written in JavaScript. Built\n+> for speed.\n+\n+[![NPM version](https://badge.fury.io/js/marked.png)][badge]\n+\n+## Install\n+\n+``` bash\n+npm install marked --save\n+```\n+\n+## Usage\n+\n+Minimal usage:\n+\n+```js\n+var marked = require(\'marked\');\n+console.log(marked(\'I am using __markdown__.\'));\n+// Outputs:

I am using markdown.

\n+```\n+\n+Example setting options with default values:\n+\n+```js\n+var marked = require(\'marked\');\n+marked.setOptions({\n+ renderer: new marked.Renderer(),\n+ gfm: true,\n+ tables: true,\n+ breaks: false,\n+ pedantic: false,\n+ sanitize: true,\n+ smartLists: true,\n+ smartypants: false\n+});\n+\n+console.log(marked(\'I am using __markdown__.\'));\n+```\n+\n+### Browser\n+\n+```html\n+\n+\n+\n+ \n+ Marked in the browser\n+ \n+\n+\n+
\n+ \n+\n+\n+```\n+\n+## marked(markdownString [,options] [,callback])\n+\n+### markdownString\n+\n+Type: `string`\n+\n+String of markdown source to be compiled.\n+\n+### options\n+\n+Type: `object`\n+\n+Hash of options. Can also be set using the `marked.setOptions` method as seen\n+above.\n+\n+### callback\n+\n+Type: `function`\n+\n+Function called when the `markdownString` has been fully parsed when using\n+async highlighting. If the `options` argument is omitted, this can be used as\n+the second argument.\n+\n+## Options\n+\n+### highlight\n+\n+Type: `function`\n+\n+A function to highlight code blocks. The first example below uses async highlighting with\n+[node-pygmentize-bundled][pygmentize], and the second is a synchronous example using\n+[highlight.js][highlight]:\n+\n+```js\n+var marked = require(\'marked\');\n+\n+var markdownString = \'```js\\n console.log("hello"); \\n```\';\n+\n+// Async highlighting with pygmentize-bundled\n+marked.setOptions({\n+ highlight: function (code, lang, callback) {\n+ require(\'pygmentize-bundled\')({ lang: lang, format: \'html\' }, code, function (err, result) {\n+ callback(err, result.toString());\n+ });\n+ }\n+});\n+\n+// Using async version of marked\n+marked(markdownString, function (err, content) {\n+ if (err) throw err;\n+ console.log(content);\n+});\n+\n+// Synchronous highlighting with highlight.js\n+marked.setOptions({\n+ highlight: function (code) {\n+ return require(\'highlight.js\').highlightAuto(code).value;\n+ }\n+});\n+\n+console.log(marked(markdownString));\n+```\n+\n+#### highlight arguments\n+\n+`code`\n+\n+Type: `string`\n+\n+The section of code to pass to the highlighter.\n+\n+`lang`\n+\n+Type: `string`\n+\n+The programming language specified in the code block.\n+\n+`callback`\n+\n+Type: `function`\n+\n+The callback function to call when using an async highlighter.\n+\n+### renderer\n+\n+Type: `object`\n+Default: `new Renderer()`\n+\n+An object containing functions to render tokens to HTML.\n+\n+#### Overriding renderer methods\n+\n+The renderer option allows you to render tokens in a custom manner. Here is an\n+example of overriding the default heading token rendering by adding an embedded anchor tag like on GitHub:\n+\n+```javascript\n+var marked = require(\'marked\');\n+var renderer = new marked.Renderer();\n+\n+renderer.heading = function (text, level) {\n+ var escapedText = text.toLowerCase().replace(/[^\\w]+/g, \'-\');\n+\n+ return \'\' +\n+ text + \'\';\n+},\n+\n+console.log(marked(\'# heading+\', { renderer: renderer }));\n+```\n+This code will output the following HTML:\n+```html\n+

\n+ \n+ \n+ \n+ heading+\n+

\n+```\n+\n+#### Block level renderer methods\n+\n+- code(*string* code, *string* language)\n+- blockquote(*string* quote)\n+- html(*string* html)\n+- heading(*string* text, *number* level)\n+- hr()\n+- list(*string* body, *boolean* ordered)\n+- listitem(*string* text)\n+- paragraph(*string* text)\n+- table(*string* header, *string* body)\n+- tablerow(*string* content)\n+- tablecell(*string* content, *object* flags)\n+\n+`flags` has the following properties:\n+\n+```js\n+{\n+ header: true || false,\n+ align: \'center\' || \'left\' || \'right\'\n+}\n+```\n+\n+#### Inline level renderer methods\n+\n+- strong(*string* text)\n+- em(*string* text)\n+- codespan(*string* code)\n+- br()\n+- del(*string* text)\n+- link(*string* href, *string* title, *string* text)\n+- image(*string* href, *string* title, *string* text)\n+\n+### gfm\n+\n+Type: `boolean`\n+Default: `true`\n+\n+Enable [GitHub flavored markdown][gfm].\n+\n+### tables\n+\n+Type: `boolean`\n+Default: `true`\n+\n+Enable GFM [tables][tables].\n+This option requires the `gfm` option to be true.\n+\n+### breaks\n+\n+Type: `boolean`\n+Default: `false`\n+\n+Enable GFM [line breaks][breaks].\n+This option requires the `gfm` option to be true.\n+\n+### pedantic\n+\n+Type: `boolean`\n+Default: `false`\n+\n+Conform to obscure parts of `markdown.pl` as much as possible. Don\'t fix any of\n+the original markdown bugs or poor behavior.\n+\n+### sanitize\n+\n+Type: `boolean`\n+Default: `false`\n+\n+Sanitize the output. Ignore any HTML that has been input.\n+\n+### smartLists\n+\n+Type: `boolean`\n+Default: `true`\n+\n+Use smarter list behavior than the original markdown. May eventually be\n+default with the old behavior moved into `pedantic`.\n+\n+### smartypants\n+\n+Type: `boolean`\n+Default: `false`\n+\n+Use "smart" typograhic punctuation for things like quotes and dashes.\n+\n+## Access to lexer and parser\n+\n+You also have direct access to the lexer and parser if you so desire.\n+\n+``` js\n+var tokens = marked.lexer(text, options);\n+console.log(marked.parser(tokens));\n+```\n+\n+``` js\n+var lexer = new marked.Lexer(options);\n+var tokens = lexer.lex(text);\n+console.log(tokens);\n+console.log(lexer.rules);\n+```\n+\n+## CLI\n+\n+``` bash\n+$ marked -o hello.html\n+hello world\n+^D\n+$ cat hello.html\n+

hello world

\n+```\n+\n+## Philosophy behind marked\n+\n+The point of marked was to create a markdown compiler where it was possible to\n+frequently parse huge chunks of markdown without having to worry about\n+caching the compiled output somehow...or blocking for an unnecesarily long time.\n+\n+marked is very concise and still implements all markdown features. It is also\n+now fully compatible with the client-side.\n+\n+marked more or less passes the official markdown test suite in its\n+entirety. This is important because a surprising number of markdown compilers\n+cannot pass more than a few tests. It was very difficult to get marked as\n+compliant as it is. It could have cut corners in several areas for the sake\n+of performance, but did not in order to be exactly what you expect in terms\n+of a markdown rendering. In fact, this is why marked could be considered at a\n+disadvantage in the benchmarks above.\n+\n+Along with implementing every markdown feature, marked also implements [GFM\n+features][gfmf].\n+\n+## Benchmarks\n+\n+node v0.8.x\n+\n+``` bash\n+$ node test --bench\n+marked completed in 3411ms.\n+marked (gfm) completed in 3727ms.\n+marked (pedantic) completed in 3201ms.\n+robotskirt completed in 808ms.\n+showdown (reuse converter) completed in 11954ms.\n+showdown (new converter) completed in 17774ms.\n+markdown-js completed in 17191ms.\n+```\n+\n+__Marked is now faster than Discount, which is written in C.__\n+\n+For those feeling skeptical: These benchmarks run the entire markdown test suite 1000 times. The test suite tests every feature. It doesn\'t cater to specific aspects.\n+\n+### Pro level\n+\n+You also have direct access to the lexer and parser if you so desire.\n+\n+``` js\n+var tokens = marked.lexer(text, options);\n+console.log(marked.parser(tokens));\n+```\n+\n+``` js\n+var lexer = new marked.Lexer(options);\n+var tokens = lexer.lex(text);\n+console.log(tokens);\n+console.log(lexer.rules);\n+```\n+\n+``` bash\n+$ node\n+> require(\'marked\').lexer(\'> i am using marked.\')\n+[ { type: \'blockquote_start\' },\n+ { type: \'paragraph\',\n+ text: \'i am using marked.\' },\n+ { type: \'blockquote_end\' },\n+ links: {} ]\n+```\n+\n+## Running Tests & Contributing\n+\n+If you want to submit a pull request, make sure your changes pass the test\n+suite. If you\'re adding a new feature, be sure to add your own test.\n+\n+The marked test suite is set up slightly strangely: `test/new` is for all tests\n+that are not part of the original markdown.pl test suite (this is where your\n+test should go if you make one). `test/original` is only for the original\n+markdown.pl tests. `test/tests` houses both types of tests after they have been\n+combined and moved/generated by running `node test --fix` or `marked --test\n+--fix`.\n+\n+In other words, if you have a test to add, add it to `test/new/` and then\n+regenerate the tests with `node test --fix`. Commit the result. If your test\n+uses a certain feature, for example, maybe it assumes GFM is *not* enabled, you\n+can add `.nogfm` to the filename. So, `my-test.text` becomes\n+`my-test.nogfm.text`. You can do this with any marked option. Say you want\n+line breaks and smartypants enabled, your filename should be:\n+`my-test.breaks.smartypants.text`.\n+\n+To run the tests:\n+\n+``` bash\n+cd marked/\n+node test\n+```\n+\n+### Contribution and License Agreement\n+\n+If you contribute code to this project, you are implicitly allowing your code\n+to be distributed under the MIT license. You are also implicitly verifying that\n+all code is your original work. ``\n+\n+## License\n+\n+Copyright (c) 2011-2014, Christopher Jeffrey. (MIT License)\n+\n+See LICENSE for more info.\n+\n+[gfm]: https://help.github.com/articles/github-flavored-markdown\n+[gfmf]: http://github.github.com/github-flavored-markdown/\n+[pygmentize]: https://github.com/rvagg/node-pygmentize-bundled\n+[highlight]: https://github.com/isagalaev/highlight.js\n+[badge]: http://badge.fury.io/js/marked\n+[tables]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#wiki-tables\n+[breaks]: https://help.github.com/articles/github-flavored-markdown#newlines\ndiff --git a/src/plone/staticresources/static/components/marked/bin/marked b/src/plone/staticresources/static/components/marked/bin/marked\nnew file mode 100755\nindex 00000000..64254fc3\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/bin/marked\n@@ -0,0 +1,187 @@\n+#!/usr/bin/env node\n+\n+/**\n+ * Marked CLI\n+ * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License)\n+ */\n+\n+var fs = require(\'fs\')\n+ , util = require(\'util\')\n+ , marked = require(\'../\');\n+\n+/**\n+ * Man Page\n+ */\n+\n+function help() {\n+ var spawn = require(\'child_process\').spawn;\n+\n+ var options = {\n+ cwd: process.cwd(),\n+ env: process.env,\n+ setsid: false,\n+ customFds: [0, 1, 2]\n+ };\n+\n+ spawn(\'man\',\n+ [__dirname + \'/../man/marked.1\'],\n+ options);\n+}\n+\n+/**\n+ * Main\n+ */\n+\n+function main(argv, callback) {\n+ var files = []\n+ , options = {}\n+ , input\n+ , output\n+ , arg\n+ , tokens\n+ , opt;\n+\n+ function getarg() {\n+ var arg = argv.shift();\n+\n+ if (arg.indexOf(\'--\') === 0) {\n+ // e.g. --opt\n+ arg = arg.split(\'=\');\n+ if (arg.length > 1) {\n+ // e.g. --opt=val\n+ argv.unshift(arg.slice(1).join(\'=\'));\n+ }\n+ arg = arg[0];\n+ } else if (arg[0] === \'-\') {\n+ if (arg.length > 2) {\n+ // e.g. -abc\n+ argv = arg.substring(1).split(\'\').map(function(ch) {\n+ return \'-\' + ch;\n+ }).concat(argv);\n+ arg = argv.shift();\n+ } else {\n+ // e.g. -a\n+ }\n+ } else {\n+ // e.g. foo\n+ }\n+\n+ return arg;\n+ }\n+\n+ while (argv.length) {\n+ arg = getarg();\n+ switch (arg) {\n+ case \'--test\':\n+ return require(\'../test\').main(process.argv.slice());\n+ case \'-o\':\n+ case \'--output\':\n+ output = argv.shift();\n+ break;\n+ case \'-i\':\n+ case \'--input\':\n+ input = argv.shift();\n+ break;\n+ case \'-t\':\n+ case \'--tokens\':\n+ tokens = true;\n+ break;\n+ case \'-h\':\n+ case \'--help\':\n+ return help();\n+ default:\n+ if (arg.indexOf(\'--\') === 0) {\n+ opt = camelize(arg.replace(/^--(no-)?/, \'\'));\n+ if (!marked.defaults.hasOwnProperty(opt)) {\n+ continue;\n+ }\n+ if (arg.indexOf(\'--no-\') === 0) {\n+ options[opt] = typeof marked.defaults[opt] !== \'boolean\'\n+ ? null\n+ : false;\n+ } else {\n+ options[opt] = typeof marked.defaults[opt] !== \'boolean\'\n+ ? argv.shift()\n+ : true;\n+ }\n+ } else {\n+ files.push(arg);\n+ }\n+ break;\n+ }\n+ }\n+\n+ function getData(callback) {\n+ if (!input) {\n+ if (files.length <= 2) {\n+ return getStdin(callback);\n+ }\n+ input = files.pop();\n+ }\n+ return fs.readFile(input, \'utf8\', callback);\n+ }\n+\n+ return getData(function(err, data) {\n+ if (err) return callback(err);\n+\n+ data = tokens\n+ ? JSON.stringify(marked.lexer(data, options), null, 2)\n+ : marked(data, options);\n+\n+ if (!output) {\n+ process.stdout.write(data + \'\\n\');\n+ return callback();\n+ }\n+\n+ return fs.writeFile(output, data, callback);\n+ });\n+}\n+\n+/**\n+ * Helpers\n+ */\n+\n+function getStdin(callback) {\n+ var stdin = process.stdin\n+ , buff = \'\';\n+\n+ stdin.setEncoding(\'utf8\');\n+\n+ stdin.on(\'data\', function(data) {\n+ buff += data;\n+ });\n+\n+ stdin.on(\'error\', function(err) {\n+ return callback(err);\n+ });\n+\n+ stdin.on(\'end\', function() {\n+ return callback(null, buff);\n+ });\n+\n+ try {\n+ stdin.resume();\n+ } catch (e) {\n+ callback(e);\n+ }\n+}\n+\n+function camelize(text) {\n+ return text.replace(/(\\w)-(\\w)/g, function(_, a, b) {\n+ return a + b.toUpperCase();\n+ });\n+}\n+\n+/**\n+ * Expose / Entry Point\n+ */\n+\n+if (!module.parent) {\n+ process.title = \'marked\';\n+ main(process.argv.slice(), function(err, code) {\n+ if (err) throw err;\n+ return process.exit(code || 0);\n+ });\n+} else {\n+ module.exports = main;\n+}\ndiff --git a/src/plone/staticresources/static/components/marked/bower.json b/src/plone/staticresources/static/components/marked/bower.json\nnew file mode 100644\nindex 00000000..a2a81877\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/bower.json\n@@ -0,0 +1,24 @@\n+{\n+ "name": "marked",\n+ "version": "0.3.4",\n+ "homepage": "https://github.com/chjj/marked",\n+ "authors": [\n+ "Christopher Jeffrey "\n+ ],\n+ "description": "A markdown parser built for speed",\n+ "keywords": [\n+ "markdown",\n+ "markup",\n+ "html"\n+ ],\n+ "main": "lib/marked.js",\n+ "license": "MIT",\n+ "ignore": [\n+ "**/.*",\n+ "node_modules",\n+ "bower_components",\n+ "app/bower_components",\n+ "test",\n+ "tests"\n+ ]\n+}\ndiff --git a/src/plone/staticresources/static/components/marked/component.json b/src/plone/staticresources/static/components/marked/component.json\nnew file mode 100644\nindex 00000000..1d672877\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/component.json\n@@ -0,0 +1,10 @@\n+{\n+ "name": "marked",\n+ "version": "0.3.4",\n+ "repo": "chjj/marked",\n+ "description": "A markdown parser built for speed",\n+ "keywords": ["markdown", "markup", "html"],\n+ "scripts": ["lib/marked.js"],\n+ "main": "lib/marked.js",\n+ "license": "MIT"\n+}\ndiff --git a/src/plone/staticresources/static/components/marked/doc/broken.md b/src/plone/staticresources/static/components/marked/doc/broken.md\nnew file mode 100644\nindex 00000000..7bfa49e8\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/doc/broken.md\n@@ -0,0 +1,426 @@\n+# Markdown is broken\n+\n+I have a lot of scraps of markdown engine oddities that I\'ve collected over the\n+years. What you see below is slightly messy, but it\'s what I\'ve managed to\n+cobble together to illustrate the differences between markdown engines, and\n+why, if there ever is a markdown specification, it has to be absolutely\n+thorough. There are a lot more of these little differences I have documented\n+elsewhere. I know I will find them lingering on my disk one day, but until\n+then, I\'ll continue to add whatever strange nonsensical things I find.\n+\n+Some of these examples may only mention a particular engine compared to marked.\n+However, the examples with markdown.pl could easily be swapped out for\n+discount, upskirt, or markdown.js, and you would very easily see even more\n+inconsistencies.\n+\n+A lot of this was written when I was very unsatisfied with the inconsistencies\n+between markdown engines. Please excuse the frustration noticeable in my\n+writing.\n+\n+## Examples of markdown\'s "stupid" list parsing\n+\n+```\n+$ markdown.pl\n+\n+ * item1\n+\n+ * item2\n+\n+ text\n+^D\n+
    \n+
  • item1

    \n+\n+
      \n+
    • item2
    • \n+
    \n+\n+

    text

  • \n+

\n+```\n+\n+\n+```\n+$ marked\n+ * item1\n+\n+ * item2\n+\n+ text\n+^D\n+
    \n+
  • item1

    \n+
      \n+
    • item2
    • \n+
    \n+

    text

    \n+
  • \n+
\n+```\n+\n+Which looks correct to you?\n+\n+- - -\n+\n+```\n+$ markdown.pl\n+* hello\n+ > world\n+^D\n+

    \n+
  • hello

    \n+\n+
    \n+

    world

  • \n+

\n+\n+```\n+\n+```\n+$ marked\n+* hello\n+ > world\n+^D\n+
    \n+
  • hello
    \n+

    world

    \n+
    \n+
  • \n+
\n+```\n+\n+Again, which looks correct to you?\n+\n+- - -\n+\n+EXAMPLE:\n+\n+```\n+$ markdown.pl\n+* hello\n+ * world\n+ * hi\n+ code\n+^D\n+
    \n+
  • hello\n+
      \n+
    • world
    • \n+
    • hi\n+ code
    • \n+
  • \n+
\n+```\n+\n+The code isn\'t a code block even though it\'s after the bullet margin. I know,\n+lets give it two more spaces, effectively making it 8 spaces past the bullet.\n+\n+```\n+$ markdown.pl\n+* hello\n+ * world\n+ * hi\n+ code\n+^D\n+
    \n+
  • hello\n+
      \n+
    • world
    • \n+
    • hi\n+ code
    • \n+
  • \n+
\n+```\n+\n+And, it\'s still not a code block. Did you also notice that the 3rd item isn\'t\n+even its own list? Markdown screws that up too because of its indentation\n+unaware parsing.\n+\n+- - -\n+\n+Let\'s look at some more examples of markdown\'s list parsing:\n+\n+```\n+$ markdown.pl\n+\n+ * item1\n+\n+ * item2\n+\n+ text\n+^D\n+
    \n+
  • item1

    \n+\n+
      \n+
    • item2
    • \n+
    \n+\n+

    text

  • \n+

\n+```\n+\n+Misnested tags.\n+\n+\n+```\n+$ marked\n+ * item1\n+\n+ * item2\n+\n+ text\n+^D\n+
    \n+
  • item1

    \n+
      \n+
    • item2
    • \n+
    \n+

    text

    \n+
  • \n+
\n+```\n+\n+Which looks correct to you?\n+\n+- - -\n+\n+```\n+$ markdown.pl\n+* hello\n+ > world\n+^D\n+

    \n+
  • hello

    \n+\n+
    \n+

    world

  • \n+

\n+\n+```\n+\n+More misnested tags.\n+\n+\n+```\n+$ marked\n+* hello\n+ > world\n+^D\n+
    \n+
  • hello
    \n+

    world

    \n+
    \n+
  • \n+
\n+```\n+\n+Again, which looks correct to you?\n+\n+- - -\n+\n+# Why quality matters - Part 2\n+\n+``` bash\n+$ markdown.pl\n+* hello\n+ > world\n+^D\n+

    \n+
  • hello

    \n+\n+
    \n+

    world

  • \n+

\n+\n+```\n+\n+``` bash\n+$ sundown # upskirt\n+* hello\n+ > world\n+^D\n+
    \n+
  • hello\n+> world
  • \n+
\n+```\n+\n+``` bash\n+$ marked\n+* hello\n+ > world\n+^D\n+
  • hello

    world

\n+```\n+\n+Which looks correct to you?\n+\n+- - -\n+\n+See: https://github.com/evilstreak/markdown-js/issues/23\n+\n+``` bash\n+$ markdown.pl # upskirt/markdown.js/discount\n+* hello\n+ var a = 1;\n+* world\n+^D\n+
    \n+
  • hello\n+var a = 1;
  • \n+
  • world
  • \n+
\n+```\n+\n+``` bash\n+$ marked\n+* hello\n+ var a = 1;\n+* world\n+^D\n+
  • hello\n+
    code>var a = 1;
  • \n+
  • world
\n+```\n+\n+Which looks more reasonable? Why shouldn\'t code blocks be able to appear in\n+list items in a sane way?\n+\n+- - -\n+\n+``` bash\n+$ markdown.js\n+
hello
\n+\n+hello\n+^D\n+

<div>hello</div>

\n+\n+

<span>hello</span>

\n+```\n+\n+``` bash\n+$ marked\n+
hello
\n+\n+hello\n+^D\n+
hello
\n+\n+\n+

hello\n+

\n+```\n+\n+- - -\n+\n+See: https://github.com/evilstreak/markdown-js/issues/27\n+\n+``` bash\n+$ markdown.js\n+[![an image](/image)](/link)\n+^D\n+

![an image

\n+```\n+\n+``` bash\n+$ marked\n+[![an image](/image)](/link)\n+^D\n+

an image\n+

\n+```\n+\n+- - -\n+\n+See: https://github.com/evilstreak/markdown-js/issues/24\n+\n+``` bash\n+$ markdown.js\n+> a\n+\n+> b\n+\n+> c\n+^D\n+

a

bundefined> c

\n+```\n+\n+``` bash\n+$ marked\n+> a\n+\n+> b\n+\n+> c\n+^D\n+

a\n+\n+

\n+

b\n+\n+

\n+

c\n+

\n+```\n+\n+- - -\n+\n+``` bash\n+$ markdown.pl\n+* hello\n+ * world\n+ how\n+\n+ are\n+ you\n+\n+ * today\n+* hi\n+^D\n+
    \n+
  • hello

    \n+\n+
      \n+
    • world\n+how
    • \n+
    \n+\n+

    are\n+you

    \n+\n+
      \n+
    • today
    • \n+
  • \n+
  • hi
  • \n+
\n+```\n+\n+``` bash\n+$ marked\n+* hello\n+ * world\n+ how\n+\n+ are\n+ you\n+\n+ * today\n+* hi\n+^D\n+
    \n+
  • hello

    \n+
      \n+
    • world\n+how

      \n+

      are\n+you

      \n+
    • \n+
    • today

      \n+
    • \n+
    \n+
  • \n+
  • hi
  • \n+
\n+```\ndiff --git a/src/plone/staticresources/static/components/marked/doc/todo.md b/src/plone/staticresources/static/components/marked/doc/todo.md\nnew file mode 100644\nindex 00000000..2e60b162\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/doc/todo.md\n@@ -0,0 +1,2 @@\n+# Todo\n+\ndiff --git a/src/plone/staticresources/static/components/marked/index.js b/src/plone/staticresources/static/components/marked/index.js\nnew file mode 100644\nindex 00000000..a12f9056\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/index.js\n@@ -0,0 +1 @@\n+module.exports = require(\'./lib/marked\');\ndiff --git a/src/plone/staticresources/static/components/marked/lib/marked.js b/src/plone/staticresources/static/components/marked/lib/marked.js\nnew file mode 100644\nindex 00000000..03251f3c\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/lib/marked.js\n@@ -0,0 +1,1285 @@\n+/**\n+ * marked - a markdown parser\n+ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n+ * https://github.com/chjj/marked\n+ */\n+\n+;(function() {\n+\n+/**\n+ * Block-Level Grammar\n+ */\n+\n+var block = {\n+ newline: /^\\n+/,\n+ code: /^( {4}[^\\n]+\\n*)+/,\n+ fences: noop,\n+ hr: /^( *[-*_]){3,} *(?:\\n+|$)/,\n+ heading: /^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,\n+ nptable: noop,\n+ lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n+ blockquote: /^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,\n+ list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n+ html: /^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,\n+ def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +["(]([^\\n]+)[")])? *(?:\\n+|$)/,\n+ table: noop,\n+ paragraph: /^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,\n+ text: /^[^\\n]+/\n+};\n+\n+block.bullet = /(?:[*+-]|\\d+\\.)/;\n+block.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\n+block.item = replace(block.item, \'gm\')\n+ (/bull/g, block.bullet)\n+ ();\n+\n+block.list = replace(block.list)\n+ (/bull/g, block.bullet)\n+ (\'hr\', \'\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))\')\n+ (\'def\', \'\\\\n+(?=\' + block.def.source + \')\')\n+ ();\n+\n+block.blockquote = replace(block.blockquote)\n+ (\'def\', block.def)\n+ ();\n+\n+block._tag = \'(?!(?:\'\n+ + \'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code\'\n+ + \'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo\'\n+ + \'|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b\';\n+\n+block.html = replace(block.html)\n+ (\'comment\', //)\n+ (\'closed\', /<(tag)[\\s\\S]+?<\\/\\1>/)\n+ (\'closing\', /])*?>/)\n+ (/tag/g, block._tag)\n+ ();\n+\n+block.paragraph = replace(block.paragraph)\n+ (\'hr\', block.hr)\n+ (\'heading\', block.heading)\n+ (\'lheading\', block.lheading)\n+ (\'blockquote\', block.blockquote)\n+ (\'tag\', \'<\' + block._tag)\n+ (\'def\', block.def)\n+ ();\n+\n+/**\n+ * Normal Block Grammar\n+ */\n+\n+block.normal = merge({}, block);\n+\n+/**\n+ * GFM Block Grammar\n+ */\n+\n+block.gfm = merge({}, block.normal, {\n+ fences: /^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\s*\\1 *(?:\\n+|$)/,\n+ paragraph: /^/,\n+ heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n+});\n+\n+block.gfm.paragraph = replace(block.paragraph)\n+ (\'(?!\', \'(?!\'\n+ + block.gfm.fences.source.replace(\'\\\\1\', \'\\\\2\') + \'|\'\n+ + block.list.source.replace(\'\\\\1\', \'\\\\3\') + \'|\')\n+ ();\n+\n+/**\n+ * GFM + Tables Block Grammar\n+ */\n+\n+block.tables = merge({}, block.gfm, {\n+ nptable: /^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,\n+ table: /^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/\n+});\n+\n+/**\n+ * Block Lexer\n+ */\n+\n+function Lexer(options) {\n+ this.tokens = [];\n+ this.tokens.links = {};\n+ this.options = options || marked.defaults;\n+ this.rules = block.normal;\n+\n+ if (this.options.gfm) {\n+ if (this.options.tables) {\n+ this.rules = block.tables;\n+ } else {\n+ this.rules = block.gfm;\n+ }\n+ }\n+}\n+\n+/**\n+ * Expose Block Rules\n+ */\n+\n+Lexer.rules = block;\n+\n+/**\n+ * Static Lex Method\n+ */\n+\n+Lexer.lex = function(src, options) {\n+ var lexer = new Lexer(options);\n+ return lexer.lex(src);\n+};\n+\n+/**\n+ * Preprocessing\n+ */\n+\n+Lexer.prototype.lex = function(src) {\n+ src = src\n+ .replace(/\\r\\n|\\r/g, \'\\n\')\n+ .replace(/\\t/g, \' \')\n+ .replace(/\\u00a0/g, \' \')\n+ .replace(/\\u2424/g, \'\\n\');\n+\n+ return this.token(src, true);\n+};\n+\n+/**\n+ * Lexing\n+ */\n+\n+Lexer.prototype.token = function(src, top, bq) {\n+ var src = src.replace(/^ +$/gm, \'\')\n+ , next\n+ , loose\n+ , cap\n+ , bull\n+ , b\n+ , item\n+ , space\n+ , i\n+ , l;\n+\n+ while (src) {\n+ // newline\n+ if (cap = this.rules.newline.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ if (cap[0].length > 1) {\n+ this.tokens.push({\n+ type: \'space\'\n+ });\n+ }\n+ }\n+\n+ // code\n+ if (cap = this.rules.code.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ cap = cap[0].replace(/^ {4}/gm, \'\');\n+ this.tokens.push({\n+ type: \'code\',\n+ text: !this.options.pedantic\n+ ? cap.replace(/\\n+$/, \'\')\n+ : cap\n+ });\n+ continue;\n+ }\n+\n+ // fences (gfm)\n+ if (cap = this.rules.fences.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'code\',\n+ lang: cap[2],\n+ text: cap[3] || \'\'\n+ });\n+ continue;\n+ }\n+\n+ // heading\n+ if (cap = this.rules.heading.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'heading\',\n+ depth: cap[1].length,\n+ text: cap[2]\n+ });\n+ continue;\n+ }\n+\n+ // table no leading pipe (gfm)\n+ if (top && (cap = this.rules.nptable.exec(src))) {\n+ src = src.substring(cap[0].length);\n+\n+ item = {\n+ type: \'table\',\n+ header: cap[1].replace(/^ *| *\\| *$/g, \'\').split(/ *\\| */),\n+ align: cap[2].replace(/^ *|\\| *$/g, \'\').split(/ *\\| */),\n+ cells: cap[3].replace(/\\n$/, \'\').split(\'\\n\')\n+ };\n+\n+ for (i = 0; i < item.align.length; i++) {\n+ if (/^ *-+: *$/.test(item.align[i])) {\n+ item.align[i] = \'right\';\n+ } else if (/^ *:-+: *$/.test(item.align[i])) {\n+ item.align[i] = \'center\';\n+ } else if (/^ *:-+ *$/.test(item.align[i])) {\n+ item.align[i] = \'left\';\n+ } else {\n+ item.align[i] = null;\n+ }\n+ }\n+\n+ for (i = 0; i < item.cells.length; i++) {\n+ item.cells[i] = item.cells[i].split(/ *\\| */);\n+ }\n+\n+ this.tokens.push(item);\n+\n+ continue;\n+ }\n+\n+ // lheading\n+ if (cap = this.rules.lheading.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'heading\',\n+ depth: cap[2] === \'=\' ? 1 : 2,\n+ text: cap[1]\n+ });\n+ continue;\n+ }\n+\n+ // hr\n+ if (cap = this.rules.hr.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'hr\'\n+ });\n+ continue;\n+ }\n+\n+ // blockquote\n+ if (cap = this.rules.blockquote.exec(src)) {\n+ src = src.substring(cap[0].length);\n+\n+ this.tokens.push({\n+ type: \'blockquote_start\'\n+ });\n+\n+ cap = cap[0].replace(/^ *> ?/gm, \'\');\n+\n+ // Pass `top` to keep the current\n+ // "toplevel" state. This is exactly\n+ // how markdown.pl works.\n+ this.token(cap, top, true);\n+\n+ this.tokens.push({\n+ type: \'blockquote_end\'\n+ });\n+\n+ continue;\n+ }\n+\n+ // list\n+ if (cap = this.rules.list.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ bull = cap[2];\n+\n+ this.tokens.push({\n+ type: \'list_start\',\n+ ordered: bull.length > 1\n+ });\n+\n+ // Get each top-level item.\n+ cap = cap[0].match(this.rules.item);\n+\n+ next = false;\n+ l = cap.length;\n+ i = 0;\n+\n+ for (; i < l; i++) {\n+ item = cap[i];\n+\n+ // Remove the list item\'s bullet\n+ // so it is seen as the next token.\n+ space = item.length;\n+ item = item.replace(/^ *([*+-]|\\d+\\.) +/, \'\');\n+\n+ // Outdent whatever the\n+ // list item contains. Hacky.\n+ if (~item.indexOf(\'\\n \')) {\n+ space -= item.length;\n+ item = !this.options.pedantic\n+ ? item.replace(new RegExp(\'^ {1,\' + space + \'}\', \'gm\'), \'\')\n+ : item.replace(/^ {1,4}/gm, \'\');\n+ }\n+\n+ // Determine whether the next list item belongs here.\n+ // Backpedal if it does not belong in this list.\n+ if (this.options.smartLists && i !== l - 1) {\n+ b = block.bullet.exec(cap[i + 1])[0];\n+ if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n+ src = cap.slice(i + 1).join(\'\\n\') + src;\n+ i = l - 1;\n+ }\n+ }\n+\n+ // Determine whether item is loose or not.\n+ // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n+ // for discount behavior.\n+ loose = next || /\\n\\n(?!\\s*$)/.test(item);\n+ if (i !== l - 1) {\n+ next = item.charAt(item.length - 1) === \'\\n\';\n+ if (!loose) loose = next;\n+ }\n+\n+ this.tokens.push({\n+ type: loose\n+ ? \'loose_item_start\'\n+ : \'list_item_start\'\n+ });\n+\n+ // Recurse.\n+ this.token(item, false, bq);\n+\n+ this.tokens.push({\n+ type: \'list_item_end\'\n+ });\n+ }\n+\n+ this.tokens.push({\n+ type: \'list_end\'\n+ });\n+\n+ continue;\n+ }\n+\n+ // html\n+ if (cap = this.rules.html.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: this.options.sanitize\n+ ? \'paragraph\'\n+ : \'html\',\n+ pre: !this.options.sanitizer\n+ && (cap[1] === \'pre\' || cap[1] === \'script\' || cap[1] === \'style\'),\n+ text: cap[0]\n+ });\n+ continue;\n+ }\n+\n+ // def\n+ if ((!bq && top) && (cap = this.rules.def.exec(src))) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.links[cap[1].toLowerCase()] = {\n+ href: cap[2],\n+ title: cap[3]\n+ };\n+ continue;\n+ }\n+\n+ // table (gfm)\n+ if (top && (cap = this.rules.table.exec(src))) {\n+ src = src.substring(cap[0].length);\n+\n+ item = {\n+ type: \'table\',\n+ header: cap[1].replace(/^ *| *\\| *$/g, \'\').split(/ *\\| */),\n+ align: cap[2].replace(/^ *|\\| *$/g, \'\').split(/ *\\| */),\n+ cells: cap[3].replace(/(?: *\\| *)?\\n$/, \'\').split(\'\\n\')\n+ };\n+\n+ for (i = 0; i < item.align.length; i++) {\n+ if (/^ *-+: *$/.test(item.align[i])) {\n+ item.align[i] = \'right\';\n+ } else if (/^ *:-+: *$/.test(item.align[i])) {\n+ item.align[i] = \'center\';\n+ } else if (/^ *:-+ *$/.test(item.align[i])) {\n+ item.align[i] = \'left\';\n+ } else {\n+ item.align[i] = null;\n+ }\n+ }\n+\n+ for (i = 0; i < item.cells.length; i++) {\n+ item.cells[i] = item.cells[i]\n+ .replace(/^ *\\| *| *\\| *$/g, \'\')\n+ .split(/ *\\| */);\n+ }\n+\n+ this.tokens.push(item);\n+\n+ continue;\n+ }\n+\n+ // top-level paragraph\n+ if (top && (cap = this.rules.paragraph.exec(src))) {\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'paragraph\',\n+ text: cap[1].charAt(cap[1].length - 1) === \'\\n\'\n+ ? cap[1].slice(0, -1)\n+ : cap[1]\n+ });\n+ continue;\n+ }\n+\n+ // text\n+ if (cap = this.rules.text.exec(src)) {\n+ // Top-level should never reach here.\n+ src = src.substring(cap[0].length);\n+ this.tokens.push({\n+ type: \'text\',\n+ text: cap[0]\n+ });\n+ continue;\n+ }\n+\n+ if (src) {\n+ throw new\n+ Error(\'Infinite loop on byte: \' + src.charCodeAt(0));\n+ }\n+ }\n+\n+ return this.tokens;\n+};\n+\n+/**\n+ * Inline-Level Grammar\n+ */\n+\n+var inline = {\n+ escape: /^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,\n+ autolink: /^<([^ >]+(@|:\\/)[^ >]+)>/,\n+ url: noop,\n+ tag: /^|^<\\/?\\w+(?:"[^"]*"|\'[^\']*\'|[^\'">])*?>/,\n+ link: /^!?\\[(inside)\\]\\(href\\)/,\n+ reflink: /^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,\n+ nolink: /^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,\n+ strong: /^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,\n+ em: /^\\b_((?:[^_]|__)+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,\n+ code: /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,\n+ br: /^ {2,}\\n(?!\\s*$)/,\n+ del: noop,\n+ text: /^[\\s\\S]+?(?=[\\\\?(?:\\s+[\'"]([\\s\\S]*?)[\'"])?\\s*/;\n+\n+inline.link = replace(inline.link)\n+ (\'inside\', inline._inside)\n+ (\'href\', inline._href)\n+ ();\n+\n+inline.reflink = replace(inline.reflink)\n+ (\'inside\', inline._inside)\n+ ();\n+\n+/**\n+ * Normal Inline Grammar\n+ */\n+\n+inline.normal = merge({}, inline);\n+\n+/**\n+ * Pedantic Inline Grammar\n+ */\n+\n+inline.pedantic = merge({}, inline.normal, {\n+ strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n+ em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/\n+});\n+\n+/**\n+ * GFM Inline Grammar\n+ */\n+\n+inline.gfm = merge({}, inline.normal, {\n+ escape: replace(inline.escape)(\'])\', \'~|])\')(),\n+ url: /^(https?:\\/\\/[^\\s<]+[^<.,:;"\')\\]\\s])/,\n+ del: /^~~(?=\\S)([\\s\\S]*?\\S)~~/,\n+ text: replace(inline.text)\n+ (\']|\', \'~]|\')\n+ (\'|\', \'|https?://|\')\n+ ()\n+});\n+\n+/**\n+ * GFM + Line Breaks Inline Grammar\n+ */\n+\n+inline.breaks = merge({}, inline.gfm, {\n+ br: replace(inline.br)(\'{2,}\', \'*\')(),\n+ text: replace(inline.gfm.text)(\'{2,}\', \'*\')()\n+});\n+\n+/**\n+ * Inline Lexer & Compiler\n+ */\n+\n+function InlineLexer(links, options) {\n+ this.options = options || marked.defaults;\n+ this.links = links;\n+ this.rules = inline.normal;\n+ this.renderer = this.options.renderer || new Renderer;\n+ this.renderer.options = this.options;\n+\n+ if (!this.links) {\n+ throw new\n+ Error(\'Tokens array requires a `links` property.\');\n+ }\n+\n+ if (this.options.gfm) {\n+ if (this.options.breaks) {\n+ this.rules = inline.breaks;\n+ } else {\n+ this.rules = inline.gfm;\n+ }\n+ } else if (this.options.pedantic) {\n+ this.rules = inline.pedantic;\n+ }\n+}\n+\n+/**\n+ * Expose Inline Rules\n+ */\n+\n+InlineLexer.rules = inline;\n+\n+/**\n+ * Static Lexing/Compiling Method\n+ */\n+\n+InlineLexer.output = function(src, links, options) {\n+ var inline = new InlineLexer(links, options);\n+ return inline.output(src);\n+};\n+\n+/**\n+ * Lexing/Compiling\n+ */\n+\n+InlineLexer.prototype.output = function(src) {\n+ var out = \'\'\n+ , link\n+ , text\n+ , href\n+ , cap;\n+\n+ while (src) {\n+ // escape\n+ if (cap = this.rules.escape.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += cap[1];\n+ continue;\n+ }\n+\n+ // autolink\n+ if (cap = this.rules.autolink.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ if (cap[2] === \'@\') {\n+ text = cap[1].charAt(6) === \':\'\n+ ? this.mangle(cap[1].substring(7))\n+ : this.mangle(cap[1]);\n+ href = this.mangle(\'mailto:\') + text;\n+ } else {\n+ text = escape(cap[1]);\n+ href = text;\n+ }\n+ out += this.renderer.link(href, null, text);\n+ continue;\n+ }\n+\n+ // url (gfm)\n+ if (!this.inLink && (cap = this.rules.url.exec(src))) {\n+ src = src.substring(cap[0].length);\n+ text = escape(cap[1]);\n+ href = text;\n+ out += this.renderer.link(href, null, text);\n+ continue;\n+ }\n+\n+ // tag\n+ if (cap = this.rules.tag.exec(src)) {\n+ if (!this.inLink && /^/i.test(cap[0])) {\n+ this.inLink = false;\n+ }\n+ src = src.substring(cap[0].length);\n+ out += this.options.sanitize\n+ ? this.options.sanitizer\n+ ? this.options.sanitizer(cap[0])\n+ : escape(cap[0])\n+ : cap[0]\n+ continue;\n+ }\n+\n+ // link\n+ if (cap = this.rules.link.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ this.inLink = true;\n+ out += this.outputLink(cap, {\n+ href: cap[2],\n+ title: cap[3]\n+ });\n+ this.inLink = false;\n+ continue;\n+ }\n+\n+ // reflink, nolink\n+ if ((cap = this.rules.reflink.exec(src))\n+ || (cap = this.rules.nolink.exec(src))) {\n+ src = src.substring(cap[0].length);\n+ link = (cap[2] || cap[1]).replace(/\\s+/g, \' \');\n+ link = this.links[link.toLowerCase()];\n+ if (!link || !link.href) {\n+ out += cap[0].charAt(0);\n+ src = cap[0].substring(1) + src;\n+ continue;\n+ }\n+ this.inLink = true;\n+ out += this.outputLink(cap, link);\n+ this.inLink = false;\n+ continue;\n+ }\n+\n+ // strong\n+ if (cap = this.rules.strong.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.strong(this.output(cap[2] || cap[1]));\n+ continue;\n+ }\n+\n+ // em\n+ if (cap = this.rules.em.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.em(this.output(cap[2] || cap[1]));\n+ continue;\n+ }\n+\n+ // code\n+ if (cap = this.rules.code.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.codespan(escape(cap[2], true));\n+ continue;\n+ }\n+\n+ // br\n+ if (cap = this.rules.br.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.br();\n+ continue;\n+ }\n+\n+ // del (gfm)\n+ if (cap = this.rules.del.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.del(this.output(cap[1]));\n+ continue;\n+ }\n+\n+ // text\n+ if (cap = this.rules.text.exec(src)) {\n+ src = src.substring(cap[0].length);\n+ out += this.renderer.text(escape(this.smartypants(cap[0])));\n+ continue;\n+ }\n+\n+ if (src) {\n+ throw new\n+ Error(\'Infinite loop on byte: \' + src.charCodeAt(0));\n+ }\n+ }\n+\n+ return out;\n+};\n+\n+/**\n+ * Compile Link\n+ */\n+\n+InlineLexer.prototype.outputLink = function(cap, link) {\n+ var href = escape(link.href)\n+ , title = link.title ? escape(link.title) : null;\n+\n+ return cap[0].charAt(0) !== \'!\'\n+ ? this.renderer.link(href, title, this.output(cap[1]))\n+ : this.renderer.image(href, title, escape(cap[1]));\n+};\n+\n+/**\n+ * Smartypants Transformations\n+ */\n+\n+InlineLexer.prototype.smartypants = function(text) {\n+ if (!this.options.smartypants) return text;\n+ return text\n+ // em-dashes\n+ .replace(/---/g, \'\\u2014\')\n+ // en-dashes\n+ .replace(/--/g, \'\\u2013\')\n+ // opening singles\n+ .replace(/(^|[-\\u2014/(\\[{"\\s])\'/g, \'$1\\u2018\')\n+ // closing singles & apostrophes\n+ .replace(/\'/g, \'\\u2019\')\n+ // opening doubles\n+ .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])"/g, \'$1\\u201c\')\n+ // closing doubles\n+ .replace(/"/g, \'\\u201d\')\n+ // ellipses\n+ .replace(/\\.{3}/g, \'\\u2026\');\n+};\n+\n+/**\n+ * Mangle Links\n+ */\n+\n+InlineLexer.prototype.mangle = function(text) {\n+ if (!this.options.mangle) return text;\n+ var out = \'\'\n+ , l = text.length\n+ , i = 0\n+ , ch;\n+\n+ for (; i < l; i++) {\n+ ch = text.charCodeAt(i);\n+ if (Math.random() > 0.5) {\n+ ch = \'x\' + ch.toString(16);\n+ }\n+ out += \'&#\' + ch + \';\';\n+ }\n+\n+ return out;\n+};\n+\n+/**\n+ * Renderer\n+ */\n+\n+function Renderer(options) {\n+ this.options = options || {};\n+}\n+\n+Renderer.prototype.code = function(code, lang, escaped) {\n+ if (this.options.highlight) {\n+ var out = this.options.highlight(code, lang);\n+ if (out != null && out !== code) {\n+ escaped = true;\n+ code = out;\n+ }\n+ }\n+\n+ if (!lang) {\n+ return \'
\'\n+      + (escaped ? code : escape(code, true))\n+      + \'\\n
\';\n+ }\n+\n+ return \'
\'\n+    + (escaped ? code : escape(code, true))\n+    + \'\\n
\\n\';\n+};\n+\n+Renderer.prototype.blockquote = function(quote) {\n+ return \'
\\n\' + quote + \'
\\n\';\n+};\n+\n+Renderer.prototype.html = function(html) {\n+ return html;\n+};\n+\n+Renderer.prototype.heading = function(text, level, raw) {\n+ return \'\'\n+ + text\n+ + \'\\n\';\n+};\n+\n+Renderer.prototype.hr = function() {\n+ return this.options.xhtml ? \'
\\n\' : \'
\\n\';\n+};\n+\n+Renderer.prototype.list = function(body, ordered) {\n+ var type = ordered ? \'ol\' : \'ul\';\n+ return \'<\' + type + \'>\\n\' + body + \'\\n\';\n+};\n+\n+Renderer.prototype.listitem = function(text) {\n+ return \'
  • \' + text + \'
  • \\n\';\n+};\n+\n+Renderer.prototype.paragraph = function(text) {\n+ return \'

    \' + text + \'

    \\n\';\n+};\n+\n+Renderer.prototype.table = function(header, body) {\n+ return \'\\n\'\n+ + \'\\n\'\n+ + header\n+ + \'\\n\'\n+ + \'\\n\'\n+ + body\n+ + \'\\n\'\n+ + \'
    \\n\';\n+};\n+\n+Renderer.prototype.tablerow = function(content) {\n+ return \'\\n\' + content + \'\\n\';\n+};\n+\n+Renderer.prototype.tablecell = function(content, flags) {\n+ var type = flags.header ? \'th\' : \'td\';\n+ var tag = flags.align\n+ ? \'<\' + type + \' style="text-align:\' + flags.align + \'">\'\n+ : \'<\' + type + \'>\';\n+ return tag + content + \'\\n\';\n+};\n+\n+// span level renderer\n+Renderer.prototype.strong = function(text) {\n+ return \'\' + text + \'\';\n+};\n+\n+Renderer.prototype.em = function(text) {\n+ return \'\' + text + \'\';\n+};\n+\n+Renderer.prototype.codespan = function(text) {\n+ return \'\' + text + \'\';\n+};\n+\n+Renderer.prototype.br = function() {\n+ return this.options.xhtml ? \'
    \' : \'
    \';\n+};\n+\n+Renderer.prototype.del = function(text) {\n+ return \'\' + text + \'\';\n+};\n+\n+Renderer.prototype.link = function(href, title, text) {\n+ if (this.options.sanitize) {\n+ try {\n+ var prot = decodeURIComponent(unescape(href))\n+ .replace(/[^\\w:]/g, \'\')\n+ .toLowerCase();\n+ } catch (e) {\n+ return \'\';\n+ }\n+ if (prot.indexOf(\'javascript:\') === 0 || prot.indexOf(\'vbscript:\') === 0) {\n+ return \'\';\n+ }\n+ }\n+ var out = \'
    \' + text + \'\';\n+ return out;\n+};\n+\n+Renderer.prototype.image = function(href, title, text) {\n+ var out = \'\' + text + \'\' : \'>\';\n+ return out;\n+};\n+\n+Renderer.prototype.text = function(text) {\n+ return text;\n+};\n+\n+/**\n+ * Parsing & Compiling\n+ */\n+\n+function Parser(options) {\n+ this.tokens = [];\n+ this.token = null;\n+ this.options = options || marked.defaults;\n+ this.options.renderer = this.options.renderer || new Renderer;\n+ this.renderer = this.options.renderer;\n+ this.renderer.options = this.options;\n+}\n+\n+/**\n+ * Static Parse Method\n+ */\n+\n+Parser.parse = function(src, options, renderer) {\n+ var parser = new Parser(options, renderer);\n+ return parser.parse(src);\n+};\n+\n+/**\n+ * Parse Loop\n+ */\n+\n+Parser.prototype.parse = function(src) {\n+ this.inline = new InlineLexer(src.links, this.options, this.renderer);\n+ this.tokens = src.reverse();\n+\n+ var out = \'\';\n+ while (this.next()) {\n+ out += this.tok();\n+ }\n+\n+ return out;\n+};\n+\n+/**\n+ * Next Token\n+ */\n+\n+Parser.prototype.next = function() {\n+ return this.token = this.tokens.pop();\n+};\n+\n+/**\n+ * Preview Next Token\n+ */\n+\n+Parser.prototype.peek = function() {\n+ return this.tokens[this.tokens.length - 1] || 0;\n+};\n+\n+/**\n+ * Parse Text Tokens\n+ */\n+\n+Parser.prototype.parseText = function() {\n+ var body = this.token.text;\n+\n+ while (this.peek().type === \'text\') {\n+ body += \'\\n\' + this.next().text;\n+ }\n+\n+ return this.inline.output(body);\n+};\n+\n+/**\n+ * Parse Current Token\n+ */\n+\n+Parser.prototype.tok = function() {\n+ switch (this.token.type) {\n+ case \'space\': {\n+ return \'\';\n+ }\n+ case \'hr\': {\n+ return this.renderer.hr();\n+ }\n+ case \'heading\': {\n+ return this.renderer.heading(\n+ this.inline.output(this.token.text),\n+ this.token.depth,\n+ this.token.text);\n+ }\n+ case \'code\': {\n+ return this.renderer.code(this.token.text,\n+ this.token.lang,\n+ this.token.escaped);\n+ }\n+ case \'table\': {\n+ var header = \'\'\n+ , body = \'\'\n+ , i\n+ , row\n+ , cell\n+ , flags\n+ , j;\n+\n+ // header\n+ cell = \'\';\n+ for (i = 0; i < this.token.header.length; i++) {\n+ flags = { header: true, align: this.token.align[i] };\n+ cell += this.renderer.tablecell(\n+ this.inline.output(this.token.header[i]),\n+ { header: true, align: this.token.align[i] }\n+ );\n+ }\n+ header += this.renderer.tablerow(cell);\n+\n+ for (i = 0; i < this.token.cells.length; i++) {\n+ row = this.token.cells[i];\n+\n+ cell = \'\';\n+ for (j = 0; j < row.length; j++) {\n+ cell += this.renderer.tablecell(\n+ this.inline.output(row[j]),\n+ { header: false, align: this.token.align[j] }\n+ );\n+ }\n+\n+ body += this.renderer.tablerow(cell);\n+ }\n+ return this.renderer.table(header, body);\n+ }\n+ case \'blockquote_start\': {\n+ var body = \'\';\n+\n+ while (this.next().type !== \'blockquote_end\') {\n+ body += this.tok();\n+ }\n+\n+ return this.renderer.blockquote(body);\n+ }\n+ case \'list_start\': {\n+ var body = \'\'\n+ , ordered = this.token.ordered;\n+\n+ while (this.next().type !== \'list_end\') {\n+ body += this.tok();\n+ }\n+\n+ return this.renderer.list(body, ordered);\n+ }\n+ case \'list_item_start\': {\n+ var body = \'\';\n+\n+ while (this.next().type !== \'list_item_end\') {\n+ body += this.token.type === \'text\'\n+ ? this.parseText()\n+ : this.tok();\n+ }\n+\n+ return this.renderer.listitem(body);\n+ }\n+ case \'loose_item_start\': {\n+ var body = \'\';\n+\n+ while (this.next().type !== \'list_item_end\') {\n+ body += this.tok();\n+ }\n+\n+ return this.renderer.listitem(body);\n+ }\n+ case \'html\': {\n+ var html = !this.token.pre && !this.options.pedantic\n+ ? this.inline.output(this.token.text)\n+ : this.token.text;\n+ return this.renderer.html(html);\n+ }\n+ case \'paragraph\': {\n+ return this.renderer.paragraph(this.inline.output(this.token.text));\n+ }\n+ case \'text\': {\n+ return this.renderer.paragraph(this.parseText());\n+ }\n+ }\n+};\n+\n+/**\n+ * Helpers\n+ */\n+\n+function escape(html, encode) {\n+ return html\n+ .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, \'&\')\n+ .replace(//g, \'>\')\n+ .replace(/"/g, \'"\')\n+ .replace(/\'/g, \''\');\n+}\n+\n+function unescape(html) {\n+ return html.replace(/&([#\\w]+);/g, function(_, n) {\n+ n = n.toLowerCase();\n+ if (n === \'colon\') return \':\';\n+ if (n.charAt(0) === \'#\') {\n+ return n.charAt(1) === \'x\'\n+ ? String.fromCharCode(parseInt(n.substring(2), 16))\n+ : String.fromCharCode(+n.substring(1));\n+ }\n+ return \'\';\n+ });\n+}\n+\n+function replace(regex, opt) {\n+ regex = regex.source;\n+ opt = opt || \'\';\n+ return function self(name, val) {\n+ if (!name) return new RegExp(regex, opt);\n+ val = val.source || val;\n+ val = val.replace(/(^|[^\\[])\\^/g, \'$1\');\n+ regex = regex.replace(name, val);\n+ return self;\n+ };\n+}\n+\n+function noop() {}\n+noop.exec = noop;\n+\n+function merge(obj) {\n+ var i = 1\n+ , target\n+ , key;\n+\n+ for (; i < arguments.length; i++) {\n+ target = arguments[i];\n+ for (key in target) {\n+ if (Object.prototype.hasOwnProperty.call(target, key)) {\n+ obj[key] = target[key];\n+ }\n+ }\n+ }\n+\n+ return obj;\n+}\n+\n+\n+/**\n+ * Marked\n+ */\n+\n+function marked(src, opt, callback) {\n+ if (callback || typeof opt === \'function\') {\n+ if (!callback) {\n+ callback = opt;\n+ opt = null;\n+ }\n+\n+ opt = merge({}, marked.defaults, opt || {});\n+\n+ var highlight = opt.highlight\n+ , tokens\n+ , pending\n+ , i = 0;\n+\n+ try {\n+ tokens = Lexer.lex(src, opt)\n+ } catch (e) {\n+ return callback(e);\n+ }\n+\n+ pending = tokens.length;\n+\n+ var done = function(err) {\n+ if (err) {\n+ opt.highlight = highlight;\n+ return callback(err);\n+ }\n+\n+ var out;\n+\n+ try {\n+ out = Parser.parse(tokens, opt);\n+ } catch (e) {\n+ err = e;\n+ }\n+\n+ opt.highlight = highlight;\n+\n+ return err\n+ ? callback(err)\n+ : callback(null, out);\n+ };\n+\n+ if (!highlight || highlight.length < 3) {\n+ return done();\n+ }\n+\n+ delete opt.highlight;\n+\n+ if (!pending) return done();\n+\n+ for (; i < tokens.length; i++) {\n+ (function(token) {\n+ if (token.type !== \'code\') {\n+ return --pending || done();\n+ }\n+ return highlight(token.text, token.lang, function(err, code) {\n+ if (err) return done(err);\n+ if (code == null || code === token.text) {\n+ return --pending || done();\n+ }\n+ token.text = code;\n+ token.escaped = true;\n+ --pending || done();\n+ });\n+ })(tokens[i]);\n+ }\n+\n+ return;\n+ }\n+ try {\n+ if (opt) opt = merge({}, marked.defaults, opt);\n+ return Parser.parse(Lexer.lex(src, opt), opt);\n+ } catch (e) {\n+ e.message += \'\\nPlease report this to https://github.com/chjj/marked.\';\n+ if ((opt || marked.defaults).silent) {\n+ return \'

    An error occured:

    \'\n+        + escape(e.message + \'\', true)\n+        + \'
    \';\n+ }\n+ throw e;\n+ }\n+}\n+\n+/**\n+ * Options\n+ */\n+\n+marked.options =\n+marked.setOptions = function(opt) {\n+ merge(marked.defaults, opt);\n+ return marked;\n+};\n+\n+marked.defaults = {\n+ gfm: true,\n+ tables: true,\n+ breaks: false,\n+ pedantic: false,\n+ sanitize: false,\n+ sanitizer: null,\n+ mangle: true,\n+ smartLists: false,\n+ silent: false,\n+ highlight: null,\n+ langPrefix: \'lang-\',\n+ smartypants: false,\n+ headerPrefix: \'\',\n+ renderer: new Renderer,\n+ xhtml: false\n+};\n+\n+/**\n+ * Expose\n+ */\n+\n+marked.Parser = Parser;\n+marked.parser = Parser.parse;\n+\n+marked.Renderer = Renderer;\n+\n+marked.Lexer = Lexer;\n+marked.lexer = Lexer.lex;\n+\n+marked.InlineLexer = InlineLexer;\n+marked.inlineLexer = InlineLexer.output;\n+\n+marked.parse = marked;\n+\n+if (typeof module !== \'undefined\' && typeof exports === \'object\') {\n+ module.exports = marked;\n+} else if (typeof define === \'function\' && define.amd) {\n+ define(function() { return marked; });\n+} else {\n+ this.marked = marked;\n+}\n+\n+}).call(function() {\n+ return this || (typeof window !== \'undefined\' ? window : global);\n+}());\ndiff --git a/src/plone/staticresources/static/components/marked/man/marked.1 b/src/plone/staticresources/static/components/marked/man/marked.1\nnew file mode 100644\nindex 00000000..b9bdc8c2\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/man/marked.1\n@@ -0,0 +1,91 @@\n+.ds q \\N\'34\'\n+.TH marked 1 "2014-01-31" "v0.3.1" "marked.js"\n+\n+.SH NAME\n+marked \\- a javascript markdown parser\n+\n+.SH SYNOPSIS\n+.B marked\n+[\\-o \\fI\\fP] [\\-i \\fI\\fP] [\\-\\-help]\n+[\\-\\-tokens] [\\-\\-pedantic] [\\-\\-gfm]\n+[\\-\\-breaks] [\\-\\-tables] [\\-\\-sanitize]\n+[\\-\\-smart\\-lists] [\\-\\-lang\\-prefix \\fI\\fP]\n+[\\-\\-no\\-etc...] [\\-\\-silent] [\\fIfilename\\fP]\n+\n+.SH DESCRIPTION\n+.B marked\n+is a full-featured javascript markdown parser, built for speed. It also includes\n+multiple GFM features.\n+\n+.SH EXAMPLES\n+.TP\n+cat in.md | marked > out.html\n+.TP\n+echo "hello *world*" | marked\n+.TP\n+marked \\-o out.html in.md \\-\\-gfm\n+.TP\n+marked \\-\\-output="hello world.html" \\-i in.md \\-\\-no-breaks\n+\n+.SH OPTIONS\n+.TP\n+.BI \\-o,\\ \\-\\-output\\ [\\fIoutput\\fP]\n+Specify file output. If none is specified, write to stdout.\n+.TP\n+.BI \\-i,\\ \\-\\-input\\ [\\fIinput\\fP]\n+Specify file input, otherwise use last argument as input file. If no input file\n+is specified, read from stdin.\n+.TP\n+.BI \\-t,\\ \\-\\-tokens\n+Output a token stream instead of html.\n+.TP\n+.BI \\-\\-pedantic\n+Conform to obscure parts of markdown.pl as much as possible. Don\'t fix original\n+markdown bugs.\n+.TP\n+.BI \\-\\-gfm\n+Enable github flavored markdown.\n+.TP\n+.BI \\-\\-breaks\n+Enable GFM line breaks. Only works with the gfm option.\n+.TP\n+.BI \\-\\-tables\n+Enable GFM tables. Only works with the gfm option.\n+.TP\n+.BI \\-\\-sanitize\n+Sanitize output. Ignore any HTML input.\n+.TP\n+.BI \\-\\-smart\\-lists\n+Use smarter list behavior than the original markdown.\n+.TP\n+.BI \\-\\-lang\\-prefix\\ [\\fIprefix\\fP]\n+Set the prefix for code block classes.\n+.TP\n+.BI \\-\\-mangle\n+Mangle email addresses.\n+.TP\n+.BI \\-\\-no\\-sanitize,\\ \\-no-etc...\n+The inverse of any of the marked options above.\n+.TP\n+.BI \\-\\-silent\n+Silence error output.\n+.TP\n+.BI \\-h,\\ \\-\\-help\n+Display help information.\n+\n+.SH CONFIGURATION\n+For configuring and running programmatically.\n+\n+.B Example\n+\n+ require(\'marked\')(\'*foo*\', { gfm: true });\n+\n+.SH BUGS\n+Please report any bugs to https://github.com/chjj/marked.\n+\n+.SH LICENSE\n+Copyright (c) 2011-2014, Christopher Jeffrey (MIT License).\n+\n+.SH "SEE ALSO"\n+.BR markdown(1),\n+.BR node.js(1)\ndiff --git a/src/plone/staticresources/static/components/marked/marked.min.js b/src/plone/staticresources/static/components/marked/marked.min.js\nnew file mode 100644\nindex 00000000..555c1dc1\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/marked.min.js\n@@ -0,0 +1,6 @@\n+/**\n+ * marked - a markdown parser\n+ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n+ * https://github.com/chjj/marked\n+ */\n+(function(){var block={newline:/^\\n+/,code:/^( {4}[^\\n]+\\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\\n+|$)/,heading:/^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,nptable:noop,lheading:/^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,blockquote:/^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,list:/^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,html:/^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,def:/^ *\\[([^\\]]+)\\]: *]+)>?(?: +["(]([^\\n]+)[")])? *(?:\\n+|$)/,table:noop,paragraph:/^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,text:/^[^\\n]+/};block.bullet=/(?:[*+-]|\\d+\\.)/;block.item=/^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))")("def","\\\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b";block.html=replace(block.html)("comment",//)("closed",/<(tag)[\\s\\S]+?<\\/\\1>/)("closing",/])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\s*\\1 *(?:\\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\\\1","\\\\2")+"|"+block.list.source.replace("\\\\1","\\\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,table:/^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\\r\\n|\\r/g,"\\n").replace(/\\t/g," ").replace(/\\u00a0/g," ").replace(/\\u2424/g,"\\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\\| *$/g,"").split(/ *\\| */),align:cap[2].replace(/^ *|\\| *$/g,"").split(/ *\\| */),cells:cap[3].replace(/\\n$/,"").split("\\n")};for(i=0;i ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i1&&b.length>1)){src=cap.slice(i+1).join("\\n")+src;i=l-1}}loose=next||/\\n\\n(?!\\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\\| *$/g,"").split(/ *\\| */),align:cap[2].replace(/^ *|\\| *$/g,"").split(/ *\\| */),cells:cap[3].replace(/(?: *\\| *)?\\n$/,"").split("\\n")};for(i=0;i])/,autolink:/^<([^ >]+(@|:\\/)[^ >]+)>/,url:noop,tag:/^|^<\\/?\\w+(?:"[^"]*"|\'[^\']*\'|[^\'">])*?>/,link:/^!?\\[(inside)\\]\\(href\\)/,reflink:/^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,nolink:/^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,strong:/^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,em:/^\\b_((?:[^_]|__)+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,code:/^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,br:/^ {2,}\\n(?!\\s*$)/,del:noop,text:/^[\\s\\S]+?(?=[\\\\?(?:\\s+[\'"]([\\s\\S]*?)[\'"])?\\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,em:/^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\\/\\/[^\\s<]+[^<.,:;"\')\\]\\s])/,del:/^~~(?=\\S)([\\s\\S]*?\\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"\xe2\x80\x94").replace(/--/g,"\xe2\x80\x93").replace(/(^|[-\\u2014/(\\[{"\\s])\'/g,"$1\xe2\x80\x98").replace(/\'/g,"\xe2\x80\x99").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])"/g,"$1\xe2\x80\x9c").replace(/"/g,"\xe2\x80\x9d").replace(/\\.{3}/g,"\xe2\x80\xa6")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"
    "+(escaped?code:escape(code,true))+"\\n
    "}return\'
    \'+(escaped?code:escape(code,true))+"\\n
    \\n"};Renderer.prototype.blockquote=function(quote){return"
    \\n"+quote+"
    \\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"\'+text+"\\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"
    \\n":"
    \\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\\n"+body+"\\n"};Renderer.prototype.listitem=function(text){return"
  • "+text+"
  • \\n"};Renderer.prototype.paragraph=function(text){return"

    "+text+"

    \\n"};Renderer.prototype.table=function(header,body){return"\\n"+"\\n"+header+"\\n"+"\\n"+body+"\\n"+"
    \\n"};Renderer.prototype.tablerow=function(content){return"\\n"+content+"\\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+\' style="text-align:\'+flags.align+\'">\':"<"+type+">";return tag+content+"\\n"};Renderer.prototype.strong=function(text){return""+text+""};Renderer.prototype.em=function(text){return""+text+""};Renderer.prototype.codespan=function(text){return""+text+""};Renderer.prototype.br=function(){return this.options.xhtml?"
    ":"
    "};Renderer.prototype.del=function(text){return""+text+""};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out=\'
    ";return out};Renderer.prototype.image=function(href,title,text){var out=\'\'+text+\'":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i/g,">").replace(/"/g,""").replace(/\'/g,"'")}function unescape(html){return html.replace(/&([#\\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\\[])\\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;iAn error occured:

    "+escape(e.message+"",true)+"
    "}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}());\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/marked/package.json b/src/plone/staticresources/static/components/marked/package.json\nnew file mode 100644\nindex 00000000..f17e3e57\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/marked/package.json\n@@ -0,0 +1,24 @@\n+{\n+ "name": "marked",\n+ "description": "A markdown parser built for speed",\n+ "author": "Christopher Jeffrey",\n+ "version": "0.3.5",\n+ "main": "./lib/marked.js",\n+ "bin": "./bin/marked",\n+ "man": "./man/marked.1",\n+ "preferGlobal": true,\n+ "repository": "git://github.com/chjj/marked.git",\n+ "homepage": "https://github.com/chjj/marked",\n+ "bugs": { "url": "http://github.com/chjj/marked/issues" },\n+ "license": "MIT",\n+ "keywords": ["markdown", "markup", "html"],\n+ "tags": ["markdown", "markup", "html"],\n+ "devDependencies": {\n+ "markdown": "*",\n+ "showdown": "*",\n+ "gulp": "^3.8.11",\n+ "gulp-uglify": "^1.1.0",\n+ "gulp-concat": "^2.5.2"\n+ },\n+ "scripts": { "test": "node test", "bench": "node test --bench" }\n+}\ndiff --git a/src/plone/staticresources/static/components/minimatch/LICENSE b/src/plone/staticresources/static/components/minimatch/LICENSE\ndeleted file mode 100644\nindex 05a40109..00000000\n--- a/src/plone/staticresources/static/components/minimatch/LICENSE\n+++ /dev/null\n@@ -1,23 +0,0 @@\n-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.\n-All rights reserved.\n-\n-Permission is hereby granted, free of charge, to any person\n-obtaining a copy of this software and associated documentation\n-files (the "Software"), to deal in the Software without\n-restriction, including without limitation the rights to use,\n-copy, modify, merge, publish, distribute, sublicense, and/or sell\n-copies of the Software, and to permit persons to whom the\n-Software is furnished to do so, subject to the following\n-conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n-OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/minimatch/README.md b/src/plone/staticresources/static/components/minimatch/README.md\ndeleted file mode 100644\nindex 5b3967ea..00000000\n--- a/src/plone/staticresources/static/components/minimatch/README.md\n+++ /dev/null\n@@ -1,218 +0,0 @@\n-# minimatch\n-\n-A minimal matching utility.\n-\n-[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n-\n-\n-This is the matching library used internally by npm.\n-\n-Eventually, it will replace the C binding in node-glob.\n-\n-It works by converting glob expressions into JavaScript `RegExp`\n-objects.\n-\n-## Usage\n-\n-```javascript\n-var minimatch = require("minimatch")\n-\n-minimatch("bar.foo", "*.foo") // true!\n-minimatch("bar.foo", "*.bar") // false!\n-minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n-```\n-\n-## Features\n-\n-Supports these glob features:\n-\n-* Brace Expansion\n-* Extended glob matching\n-* "Globstar" `**` matching\n-\n-See:\n-\n-* `man sh`\n-* `man bash`\n-* `man 3 fnmatch`\n-* `man 5 gitignore`\n-\n-## Minimatch Class\n-\n-Create a minimatch object by instanting the `minimatch.Minimatch` class.\n-\n-```javascript\n-var Minimatch = require("minimatch").Minimatch\n-var mm = new Minimatch(pattern, options)\n-```\n-\n-### Properties\n-\n-* `pattern` The original pattern the minimatch object represents.\n-* `options` The options supplied to the constructor.\n-* `set` A 2-dimensional array of regexp or string expressions.\n- Each row in the\n- array corresponds to a brace-expanded pattern. Each item in the row\n- corresponds to a single path-part. For example, the pattern\n- `{a,b/c}/d` would expand to a set of patterns like:\n-\n- [ [ a, d ]\n- , [ b, c, d ] ]\n-\n- If a portion of the pattern doesn\'t have any "magic" in it\n- (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n- will be left as a string rather than converted to a regular\n- expression.\n-\n-* `regexp` Created by the `makeRe` method. A single regular expression\n- expressing the entire pattern. This is useful in cases where you wish\n- to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n-* `negate` True if the pattern is negated.\n-* `comment` True if the pattern is a comment.\n-* `empty` True if the pattern is `""`.\n-\n-### Methods\n-\n-* `makeRe` Generate the `regexp` member if necessary, and return it.\n- Will return `false` if the pattern is invalid.\n-* `match(fname)` Return true if the filename matches the pattern, or\n- false otherwise.\n-* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n- filename, and match it against a single row in the `regExpSet`. This\n- method is mainly for internal use, but is exposed so that it can be\n- used by a glob-walker that needs to avoid excessive filesystem calls.\n-\n-All other methods are internal, and will be called as necessary.\n-\n-## Functions\n-\n-The top-level exported function has a `cache` property, which is an LRU\n-cache set to store 100 items. So, calling these methods repeatedly\n-with the same pattern and options will use the same Minimatch object,\n-saving the cost of parsing it multiple times.\n-\n-### minimatch(path, pattern, options)\n-\n-Main export. Tests a path against the pattern using the options.\n-\n-```javascript\n-var isJS = minimatch(file, "*.js", { matchBase: true })\n-```\n-\n-### minimatch.filter(pattern, options)\n-\n-Returns a function that tests its\n-supplied argument, suitable for use with `Array.filter`. Example:\n-\n-```javascript\n-var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n-```\n-\n-### minimatch.match(list, pattern, options)\n-\n-Match against the list of\n-files, in the style of fnmatch or glob. If nothing is matched, and\n-options.nonull is set, then return a list containing the pattern itself.\n-\n-```javascript\n-var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n-```\n-\n-### minimatch.makeRe(pattern, options)\n-\n-Make a regular expression object from the pattern.\n-\n-## Options\n-\n-All options are `false` by default.\n-\n-### debug\n-\n-Dump a ton of stuff to stderr.\n-\n-### nobrace\n-\n-Do not expand `{a,b}` and `{1..3}` brace sets.\n-\n-### noglobstar\n-\n-Disable `**` matching against multiple folder names.\n-\n-### dot\n-\n-Allow patterns to match filenames starting with a period, even if\n-the pattern does not explicitly have a period in that spot.\n-\n-Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\n-is set.\n-\n-### noext\n-\n-Disable "extglob" style patterns like `+(a|b)`.\n-\n-### nocase\n-\n-Perform a case-insensitive match.\n-\n-### nonull\n-\n-When a match is not found by `minimatch.match`, return a list containing\n-the pattern itself if this option is set. When not set, an empty list\n-is returned if there are no matches.\n-\n-### matchBase\n-\n-If set, then patterns without slashes will be matched\n-against the basename of the path if it contains slashes. For example,\n-`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n-\n-### nocomment\n-\n-Suppress the behavior of treating `#` at the start of a pattern as a\n-comment.\n-\n-### nonegate\n-\n-Suppress the behavior of treating a leading `!` character as negation.\n-\n-### flipNegate\n-\n-Returns from negate expressions the same as if they were not negated.\n-(Ie, true on a hit, false on a miss.)\n-\n-\n-## Comparisons to other fnmatch/glob implementations\n-\n-While strict compliance with the existing standards is a worthwhile\n-goal, some discrepancies exist between minimatch and other\n-implementations, and are intentional.\n-\n-If the pattern starts with a `!` character, then it is negated. Set the\n-`nonegate` flag to suppress this behavior, and treat leading `!`\n-characters normally. This is perhaps relevant if you wish to start the\n-pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\n-characters at the start of a pattern will negate the pattern multiple\n-times.\n-\n-If a pattern starts with `#`, then it is treated as a comment, and\n-will not match anything. Use `\\#` to match a literal `#` at the\n-start of a line, or set the `nocomment` flag to suppress this behavior.\n-\n-The double-star character `**` is supported by default, unless the\n-`noglobstar` flag is set. This is supported in the manner of bsdglob\n-and bash 4.1, where `**` only has special significance if it is the only\n-thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n-`a/**b` will not.\n-\n-If an escaped pattern has no matches, and the `nonull` flag is set,\n-then minimatch.match returns the pattern as-provided, rather than\n-interpreting the character escapes. For example,\n-`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n-`"*a?"`. This is akin to setting the `nullglob` option in bash, except\n-that it does not resolve escaped pattern characters.\n-\n-If brace expansion is not disabled, then it is performed before any\n-other interpretation of the glob pattern. Thus, a pattern like\n-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\n-checked for validity. Since those two are valid, matching proceeds.\ndiff --git a/src/plone/staticresources/static/components/minimatch/minimatch.js b/src/plone/staticresources/static/components/minimatch/minimatch.js\ndeleted file mode 100644\nindex 45396789..00000000\n--- a/src/plone/staticresources/static/components/minimatch/minimatch.js\n+++ /dev/null\n@@ -1,1061 +0,0 @@\n-;(function (require, exports, module, platform) {\n-\n-if (module) module.exports = minimatch\n-else exports.minimatch = minimatch\n-\n-if (!require) {\n- require = function (id) {\n- switch (id) {\n- case "sigmund": return function sigmund (obj) {\n- return JSON.stringify(obj)\n- }\n- case "path": return { basename: function (f) {\n- f = f.split(/[\\/\\\\]/)\n- var e = f.pop()\n- if (!e) e = f.pop()\n- return e\n- }}\n- case "lru-cache": return function LRUCache () {\n- // not quite an LRU, but still space-limited.\n- var cache = {}\n- var cnt = 0\n- this.set = function (k, v) {\n- cnt ++\n- if (cnt >= 100) cache = {}\n- cache[k] = v\n- }\n- this.get = function (k) { return cache[k] }\n- }\n- }\n- }\n-}\n-\n-minimatch.Minimatch = Minimatch\n-\n-var LRU = require("lru-cache")\n- , cache = minimatch.cache = new LRU({max: 100})\n- , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\n- , sigmund = require("sigmund")\n-\n-var path = require("path")\n- // any single thing other than /\n- // don\'t need to escape / when using new RegExp()\n- , qmark = "[^/]"\n-\n- // * => any number of characters\n- , star = qmark + "*?"\n-\n- // ** when dots are allowed. Anything goes, except .. and .\n- // not (^ or / followed by one or two dots followed by $ or /),\n- // followed by anything, any number of times.\n- , twoStarDot = "(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?"\n-\n- // not a ^ or / followed by a dot,\n- // followed by anything, any number of times.\n- , twoStarNoDot = "(?:(?!(?:\\\\\\/|^)\\\\.).)*?"\n-\n- // characters that need to be escaped in RegExp.\n- , reSpecials = charSet("().*{}+?[]^$\\\\!")\n-\n-// "abc" -> { a:true, b:true, c:true }\n-function charSet (s) {\n- return s.split("").reduce(function (set, c) {\n- set[c] = true\n- return set\n- }, {})\n-}\n-\n-// normalizes slashes.\n-var slashSplit = /\\/+/\n-\n-minimatch.filter = filter\n-function filter (pattern, options) {\n- options = options || {}\n- return function (p, i, list) {\n- return minimatch(p, pattern, options)\n- }\n-}\n-\n-function ext (a, b) {\n- a = a || {}\n- b = b || {}\n- var t = {}\n- Object.keys(b).forEach(function (k) {\n- t[k] = b[k]\n- })\n- Object.keys(a).forEach(function (k) {\n- t[k] = a[k]\n- })\n- return t\n-}\n-\n-minimatch.defaults = function (def) {\n- if (!def || !Object.keys(def).length) return minimatch\n-\n- var orig = minimatch\n-\n- var m = function minimatch (p, pattern, options) {\n- return orig.minimatch(p, pattern, ext(def, options))\n- }\n-\n- m.Minimatch = function Minimatch (pattern, options) {\n- return new orig.Minimatch(pattern, ext(def, options))\n- }\n-\n- return m\n-}\n-\n-Minimatch.defaults = function (def) {\n- if (!def || !Object.keys(def).length) return Minimatch\n- return minimatch.defaults(def).Minimatch\n-}\n-\n-\n-function minimatch (p, pattern, options) {\n- if (typeof pattern !== "string") {\n- throw new TypeError("glob pattern string required")\n- }\n-\n- if (!options) options = {}\n-\n- // shortcut: comments match nothing.\n- if (!options.nocomment && pattern.charAt(0) === "#") {\n- return false\n- }\n-\n- // "" only matches ""\n- if (pattern.trim() === "") return p === ""\n-\n- return new Minimatch(pattern, options).match(p)\n-}\n-\n-function Minimatch (pattern, options) {\n- if (!(this instanceof Minimatch)) {\n- return new Minimatch(pattern, options, cache)\n- }\n-\n- if (typeof pattern !== "string") {\n- throw new TypeError("glob pattern string required")\n- }\n-\n- if (!options) options = {}\n- pattern = pattern.trim()\n-\n- // windows: need to use /, not \\\n- // On other platforms, \\ is a valid (albeit bad) filename char.\n- if (platform === "win32") {\n- pattern = pattern.split("\\\\").join("/")\n- }\n-\n- // lru storage.\n- // these things aren\'t particularly big, but walking down the string\n- // and turning it into a regexp can get pretty costly.\n- var cacheKey = pattern + "\\n" + sigmund(options)\n- var cached = minimatch.cache.get(cacheKey)\n- if (cached) return cached\n- minimatch.cache.set(cacheKey, this)\n-\n- this.options = options\n- this.set = []\n- this.pattern = pattern\n- this.regexp = null\n- this.negate = false\n- this.comment = false\n- this.empty = false\n-\n- // make the set of regexps etc.\n- this.make()\n-}\n-\n-Minimatch.prototype.debug = function() {}\n-\n-Minimatch.prototype.make = make\n-function make () {\n- // don\'t do it more than once.\n- if (this._made) return\n-\n- var pattern = this.pattern\n- var options = this.options\n-\n- // empty patterns and comments match nothing.\n- if (!options.nocomment && pattern.charAt(0) === "#") {\n- this.comment = true\n- return\n- }\n- if (!pattern) {\n- this.empty = true\n- return\n- }\n-\n- // step 1: figure out negation, etc.\n- this.parseNegate()\n-\n- // step 2: expand braces\n- var set = this.globSet = this.braceExpand()\n-\n- if (options.debug) this.debug = console.error\n-\n- this.debug(this.pattern, set)\n-\n- // step 3: now we have a set, so turn each one into a series of path-portion\n- // matching patterns.\n- // These will be regexps, except in the case of "**", which is\n- // set to the GLOBSTAR object for globstar behavior,\n- // and will not contain any / characters\n- set = this.globParts = set.map(function (s) {\n- return s.split(slashSplit)\n- })\n-\n- this.debug(this.pattern, set)\n-\n- // glob --> regexps\n- set = set.map(function (s, si, set) {\n- return s.map(this.parse, this)\n- }, this)\n-\n- this.debug(this.pattern, set)\n-\n- // filter out everything that didn\'t compile properly.\n- set = set.filter(function (s) {\n- return -1 === s.indexOf(false)\n- })\n-\n- this.debug(this.pattern, set)\n-\n- this.set = set\n-}\n-\n-Minimatch.prototype.parseNegate = parseNegate\n-function parseNegate () {\n- var pattern = this.pattern\n- , negate = false\n- , options = this.options\n- , negateOffset = 0\n-\n- if (options.nonegate) return\n-\n- for ( var i = 0, l = pattern.length\n- ; i < l && pattern.charAt(i) === "!"\n- ; i ++) {\n- negate = !negate\n- negateOffset ++\n- }\n-\n- if (negateOffset) this.pattern = pattern.substr(negateOffset)\n- this.negate = negate\n-}\n-\n-// Brace expansion:\n-// a{b,c}d -> abd acd\n-// a{b,}c -> abc ac\n-// a{0..3}d -> a0d a1d a2d a3d\n-// a{b,c{d,e}f}g -> abg acdfg acefg\n-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n-//\n-// Invalid sets are not expanded.\n-// a{2..}b -> a{2..}b\n-// a{b}c -> a{b}c\n-minimatch.braceExpand = function (pattern, options) {\n- return new Minimatch(pattern, options).braceExpand()\n-}\n-\n-Minimatch.prototype.braceExpand = braceExpand\n-function braceExpand (pattern, options) {\n- options = options || this.options\n- pattern = typeof pattern === "undefined"\n- ? this.pattern : pattern\n-\n- if (typeof pattern === "undefined") {\n- throw new Error("undefined pattern")\n- }\n-\n- if (options.nobrace ||\n- !pattern.match(/\\{.*\\}/)) {\n- // shortcut. no need to expand.\n- return [pattern]\n- }\n-\n- var escaping = false\n-\n- // examples and comments refer to this crazy pattern:\n- // a{b,c{d,e},{f,g}h}x{y,z}\n- // expected:\n- // abxy\n- // abxz\n- // acdxy\n- // acdxz\n- // acexy\n- // acexz\n- // afhxy\n- // afhxz\n- // aghxy\n- // aghxz\n-\n- // everything before the first \\{ is just a prefix.\n- // So, we pluck that off, and work with the rest,\n- // and then prepend it to everything we find.\n- if (pattern.charAt(0) !== "{") {\n- this.debug(pattern)\n- var prefix = null\n- for (var i = 0, l = pattern.length; i < l; i ++) {\n- var c = pattern.charAt(i)\n- this.debug(i, c)\n- if (c === "\\\\") {\n- escaping = !escaping\n- } else if (c === "{" && !escaping) {\n- prefix = pattern.substr(0, i)\n- break\n- }\n- }\n-\n- // actually no sets, all { were escaped.\n- if (prefix === null) {\n- this.debug("no sets")\n- return [pattern]\n- }\n-\n- var tail = braceExpand.call(this, pattern.substr(i), options)\n- return tail.map(function (t) {\n- return prefix + t\n- })\n- }\n-\n- // now we have something like:\n- // {b,c{d,e},{f,g}h}x{y,z}\n- // walk through the set, expanding each part, until\n- // the set ends. then, we\'ll expand the suffix.\n- // If the set only has a single member, then\'ll put the {} back\n-\n- // first, handle numeric sets, since they\'re easier\n- var numset = pattern.match(/^\\{(-?[0-9]+)\\.\\.(-?[0-9]+)\\}/)\n- if (numset) {\n- this.debug("numset", numset[1], numset[2])\n- var suf = braceExpand.call(this, pattern.substr(numset[0].length), options)\n- , start = +numset[1]\n- , end = +numset[2]\n- , inc = start > end ? -1 : 1\n- , set = []\n- for (var i = start; i != (end + inc); i += inc) {\n- // append all the suffixes\n- for (var ii = 0, ll = suf.length; ii < ll; ii ++) {\n- set.push(i + suf[ii])\n- }\n- }\n- return set\n- }\n-\n- // ok, walk through the set\n- // We hope, somewhat optimistically, that there\n- // will be a } at the end.\n- // If the closing brace isn\'t found, then the pattern is\n- // interpreted as braceExpand("\\\\" + pattern) so that\n- // the leading \\{ will be interpreted literally.\n- var i = 1 // skip the \\{\n- , depth = 1\n- , set = []\n- , member = ""\n- , sawEnd = false\n- , escaping = false\n-\n- function addMember () {\n- set.push(member)\n- member = ""\n- }\n-\n- this.debug("Entering for")\n- FOR: for (i = 1, l = pattern.length; i < l; i ++) {\n- var c = pattern.charAt(i)\n- this.debug("", i, c)\n-\n- if (escaping) {\n- escaping = false\n- member += "\\\\" + c\n- } else {\n- switch (c) {\n- case "\\\\":\n- escaping = true\n- continue\n-\n- case "{":\n- depth ++\n- member += "{"\n- continue\n-\n- case "}":\n- depth --\n- // if this closes the actual set, then we\'re done\n- if (depth === 0) {\n- addMember()\n- // pluck off the close-brace\n- i ++\n- break FOR\n- } else {\n- member += c\n- continue\n- }\n-\n- case ",":\n- if (depth === 1) {\n- addMember()\n- } else {\n- member += c\n- }\n- continue\n-\n- default:\n- member += c\n- continue\n- } // switch\n- } // else\n- } // for\n-\n- // now we\'ve either finished the set, and the suffix is\n- // pattern.substr(i), or we have *not* closed the set,\n- // and need to escape the leading brace\n- if (depth !== 0) {\n- this.debug("didn\'t close", pattern)\n- return braceExpand.call(this, "\\\\" + pattern, options)\n- }\n-\n- // x{y,z} -> ["xy", "xz"]\n- this.debug("set", set)\n- this.debug("suffix", pattern.substr(i))\n- var suf = braceExpand.call(this, pattern.substr(i), options)\n- // ["b", "c{d,e}","{f,g}h"] ->\n- // [["b"], ["cd", "ce"], ["fh", "gh"]]\n- var addBraces = set.length === 1\n- this.debug("set pre-expanded", set)\n- set = set.map(function (p) {\n- return braceExpand.call(this, p, options)\n- }, this)\n- this.debug("set expanded", set)\n-\n-\n- // [["b"], ["cd", "ce"], ["fh", "gh"]] ->\n- // ["b", "cd", "ce", "fh", "gh"]\n- set = set.reduce(function (l, r) {\n- return l.concat(r)\n- })\n-\n- if (addBraces) {\n- set = set.map(function (s) {\n- return "{" + s + "}"\n- })\n- }\n-\n- // now attach the suffixes.\n- var ret = []\n- for (var i = 0, l = set.length; i < l; i ++) {\n- for (var ii = 0, ll = suf.length; ii < ll; ii ++) {\n- ret.push(set[i] + suf[ii])\n- }\n- }\n- return ret\n-}\n-\n-// parse a component of the expanded set.\n-// At this point, no pattern may contain "/" in it\n-// so we\'re going to return a 2d array, where each entry is the full\n-// pattern, split on \'/\', and then turned into a regular expression.\n-// A regexp is made at the end which joins each array with an\n-// escaped /, and another full one which joins each regexp with |.\n-//\n-// Following the lead of Bash 4.1, note that "**" only has special meaning\n-// when it is the *only* thing in a path portion. Otherwise, any series\n-// of * is equivalent to a single *. Globstar behavior is enabled by\n-// default, and can be disabled by setting options.noglobstar.\n-Minimatch.prototype.parse = parse\n-var SUBPARSE = {}\n-function parse (pattern, isSub) {\n- var options = this.options\n-\n- // shortcuts\n- if (!options.noglobstar && pattern === "**") return GLOBSTAR\n- if (pattern === "") return ""\n-\n- var re = ""\n- , hasMagic = !!options.nocase\n- , escaping = false\n- // ? => one single character\n- , patternListStack = []\n- , plType\n- , stateChar\n- , inClass = false\n- , reClassStart = -1\n- , classStart = -1\n- // . and .. never match anything that doesn\'t start with .,\n- // even when options.dot is set.\n- , patternStart = pattern.charAt(0) === "." ? "" // anything\n- // not (start or / followed by . or .. followed by / or end)\n- : options.dot ? "(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))"\n- : "(?!\\\\.)"\n- , self = this\n-\n- function clearStateChar () {\n- if (stateChar) {\n- // we had some state-tracking character\n- // that wasn\'t consumed by this pass.\n- switch (stateChar) {\n- case "*":\n- re += star\n- hasMagic = true\n- break\n- case "?":\n- re += qmark\n- hasMagic = true\n- break\n- default:\n- re += "\\\\"+stateChar\n- break\n- }\n- self.debug(\'clearStateChar %j %j\', stateChar, re)\n- stateChar = false\n- }\n- }\n-\n- for ( var i = 0, len = pattern.length, c\n- ; (i < len) && (c = pattern.charAt(i))\n- ; i ++ ) {\n-\n- this.debug("%s\\t%s %s %j", pattern, i, re, c)\n-\n- // skip over any that are escaped.\n- if (escaping && reSpecials[c]) {\n- re += "\\\\" + c\n- escaping = false\n- continue\n- }\n-\n- SWITCH: switch (c) {\n- case "/":\n- // completely not allowed, even escaped.\n- // Should already be path-split by now.\n- return false\n-\n- case "\\\\":\n- clearStateChar()\n- escaping = true\n- continue\n-\n- // the various stateChar values\n- // for the "extglob" stuff.\n- case "?":\n- case "*":\n- case "+":\n- case "@":\n- case "!":\n- this.debug("%s\\t%s %s %j <-- stateChar", pattern, i, re, c)\n-\n- // all of those are literals inside a class, except that\n- // the glob [!a] means [^a] in regexp\n- if (inClass) {\n- this.debug(\' in class\')\n- if (c === "!" && i === classStart + 1) c = "^"\n- re += c\n- continue\n- }\n-\n- // if we already have a stateChar, then it means\n- // that there was something like ** or +? in there.\n- // Handle the stateChar, then proceed with this one.\n- self.debug(\'call clearStateChar %j\', stateChar)\n- clearStateChar()\n- stateChar = c\n- // if extglob is disabled, then +(asdf|foo) isn\'t a thing.\n- // just clear the statechar *now*, rather than even diving into\n- // the patternList stuff.\n- if (options.noext) clearStateChar()\n- continue\n-\n- case "(":\n- if (inClass) {\n- re += "("\n- continue\n- }\n-\n- if (!stateChar) {\n- re += "\\\\("\n- continue\n- }\n-\n- plType = stateChar\n- patternListStack.push({ type: plType\n- , start: i - 1\n- , reStart: re.length })\n- // negation is (?:(?!js)[^/]*)\n- re += stateChar === "!" ? "(?:(?!" : "(?:"\n- this.debug(\'plType %j %j\', stateChar, re)\n- stateChar = false\n- continue\n-\n- case ")":\n- if (inClass || !patternListStack.length) {\n- re += "\\\\)"\n- continue\n- }\n-\n- clearStateChar()\n- hasMagic = true\n- re += ")"\n- plType = patternListStack.pop().type\n- // negation is (?:(?!js)[^/]*)\n- // The others are (?:)\n- switch (plType) {\n- case "!":\n- re += "[^/]*?)"\n- break\n- case "?":\n- case "+":\n- case "*": re += plType\n- case "@": break // the default anyway\n- }\n- continue\n-\n- case "|":\n- if (inClass || !patternListStack.length || escaping) {\n- re += "\\\\|"\n- escaping = false\n- continue\n- }\n-\n- clearStateChar()\n- re += "|"\n- continue\n-\n- // these are mostly the same in regexp and glob\n- case "[":\n- // swallow any state-tracking char before the [\n- clearStateChar()\n-\n- if (inClass) {\n- re += "\\\\" + c\n- continue\n- }\n-\n- inClass = true\n- classStart = i\n- reClassStart = re.length\n- re += c\n- continue\n-\n- case "]":\n- // a right bracket shall lose its special\n- // meaning and represent itself in\n- // a bracket expression if it occurs\n- // first in the list. -- POSIX.2 2.8.3.2\n- if (i === classStart + 1 || !inClass) {\n- re += "\\\\" + c\n- escaping = false\n- continue\n- }\n-\n- // finish up the class.\n- hasMagic = true\n- inClass = false\n- re += c\n- continue\n-\n- default:\n- // swallow any state char that wasn\'t consumed\n- clearStateChar()\n-\n- if (escaping) {\n- // no need\n- escaping = false\n- } else if (reSpecials[c]\n- && !(c === "^" && inClass)) {\n- re += "\\\\"\n- }\n-\n- re += c\n-\n- } // switch\n- } // for\n-\n-\n- // handle the case where we left a class open.\n- // "[abc" is valid, equivalent to "\\[abc"\n- if (inClass) {\n- // split where the last [ was, and escape it\n- // this is a huge pita. We now have to re-walk\n- // the contents of the would-be class to re-translate\n- // any characters that were passed through as-is\n- var cs = pattern.substr(classStart + 1)\n- , sp = this.parse(cs, SUBPARSE)\n- re = re.substr(0, reClassStart) + "\\\\[" + sp[0]\n- hasMagic = hasMagic || sp[1]\n- }\n-\n- // handle the case where we had a +( thing at the *end*\n- // of the pattern.\n- // each pattern list stack adds 3 chars, and we need to go through\n- // and escape any | chars that were passed through as-is for the regexp.\n- // Go through and escape them, taking care not to double-escape any\n- // | chars that were already escaped.\n- var pl\n- while (pl = patternListStack.pop()) {\n- var tail = re.slice(pl.reStart + 3)\n- // maybe some even number of \\, then maybe 1 \\, followed by a |\n- tail = tail.replace(/((?:\\\\{2})*)(\\\\?)\\|/g, function (_, $1, $2) {\n- if (!$2) {\n- // the | isn\'t already escaped, so escape it.\n- $2 = "\\\\"\n- }\n-\n- // need to escape all those slashes *again*, without escaping the\n- // one that we need for escaping the | character. As it works out,\n- // escaping an even number of slashes can be done by simply repeating\n- // it exactly after itself. That\'s why this trick works.\n- //\n- // I am sorry that you have to see this.\n- return $1 + $1 + $2 + "|"\n- })\n-\n- this.debug("tail=%j\\n %s", tail, tail)\n- var t = pl.type === "*" ? star\n- : pl.type === "?" ? qmark\n- : "\\\\" + pl.type\n-\n- hasMagic = true\n- re = re.slice(0, pl.reStart)\n- + t + "\\\\("\n- + tail\n- }\n-\n- // handle trailing things that only matter at the very end.\n- clearStateChar()\n- if (escaping) {\n- // trailing \\\\\n- re += "\\\\\\\\"\n- }\n-\n- // only need to apply the nodot start if the re starts with\n- // something that could conceivably capture a dot\n- var addPatternStart = false\n- switch (re.charAt(0)) {\n- case ".":\n- case "[":\n- case "(": addPatternStart = true\n- }\n-\n- // if the re is not "" at this point, then we need to make sure\n- // it doesn\'t match against an empty path part.\n- // Otherwise a/* will match a/, which it should not.\n- if (re !== "" && hasMagic) re = "(?=.)" + re\n-\n- if (addPatternStart) re = patternStart + re\n-\n- // parsing just a piece of a larger pattern.\n- if (isSub === SUBPARSE) {\n- return [ re, hasMagic ]\n- }\n-\n- // skip the regexp for non-magical patterns\n- // unescape anything in it, though, so that it\'ll be\n- // an exact match against a file etc.\n- if (!hasMagic) {\n- return globUnescape(pattern)\n- }\n-\n- var flags = options.nocase ? "i" : ""\n- , regExp = new RegExp("^" + re + "$", flags)\n-\n- regExp._glob = pattern\n- regExp._src = re\n-\n- return regExp\n-}\n-\n-minimatch.makeRe = function (pattern, options) {\n- return new Minimatch(pattern, options || {}).makeRe()\n-}\n-\n-Minimatch.prototype.makeRe = makeRe\n-function makeRe () {\n- if (this.regexp || this.regexp === false) return this.regexp\n-\n- // at this point, this.set is a 2d array of partial\n- // pattern strings, or "**".\n- //\n- // It\'s better to use .match(). This function shouldn\'t\n- // be used, really, but it\'s pretty convenient sometimes,\n- // when you just want to work with a regex.\n- var set = this.set\n-\n- if (!set.length) return this.regexp = false\n- var options = this.options\n-\n- var twoStar = options.noglobstar ? star\n- : options.dot ? twoStarDot\n- : twoStarNoDot\n- , flags = options.nocase ? "i" : ""\n-\n- var re = set.map(function (pattern) {\n- return pattern.map(function (p) {\n- return (p === GLOBSTAR) ? twoStar\n- : (typeof p === "string") ? regExpEscape(p)\n- : p._src\n- }).join("\\\\\\/")\n- }).join("|")\n-\n- // must match entire pattern\n- // ending in a * or ** will make it less strict.\n- re = "^(?:" + re + ")$"\n-\n- // can match anything, as long as it\'s not this.\n- if (this.negate) re = "^(?!" + re + ").*$"\n-\n- try {\n- return this.regexp = new RegExp(re, flags)\n- } catch (ex) {\n- return this.regexp = false\n- }\n-}\n-\n-minimatch.match = function (list, pattern, options) {\n- options = options || {}\n- var mm = new Minimatch(pattern, options)\n- list = list.filter(function (f) {\n- return mm.match(f)\n- })\n- if (mm.options.nonull && !list.length) {\n- list.push(pattern)\n- }\n- return list\n-}\n-\n-Minimatch.prototype.match = match\n-function match (f, partial) {\n- this.debug("match", f, this.pattern)\n- // short-circuit in the case of busted things.\n- // comments, etc.\n- if (this.comment) return false\n- if (this.empty) return f === ""\n-\n- if (f === "/" && partial) return true\n-\n- var options = this.options\n-\n- // windows: need to use /, not \\\n- // On other platforms, \\ is a valid (albeit bad) filename char.\n- if (platform === "win32") {\n- f = f.split("\\\\").join("/")\n- }\n-\n- // treat the test path as a set of pathparts.\n- f = f.split(slashSplit)\n- this.debug(this.pattern, "split", f)\n-\n- // just ONE of the pattern sets in this.set needs to match\n- // in order for it to be valid. If negating, then just one\n- // match means that we have failed.\n- // Either way, return on the first hit.\n-\n- var set = this.set\n- this.debug(this.pattern, "set", set)\n-\n- // Find the basename of the path by looking for the last non-empty segment\n- var filename;\n- for (var i = f.length - 1; i >= 0; i--) {\n- filename = f[i]\n- if (filename) break\n- }\n-\n- for (var i = 0, l = set.length; i < l; i ++) {\n- var pattern = set[i], file = f\n- if (options.matchBase && pattern.length === 1) {\n- file = [filename]\n- }\n- var hit = this.matchOne(file, pattern, partial)\n- if (hit) {\n- if (options.flipNegate) return true\n- return !this.negate\n- }\n- }\n-\n- // didn\'t get any hits. this is success if it\'s a negative\n- // pattern, failure otherwise.\n- if (options.flipNegate) return false\n- return this.negate\n-}\n-\n-// set partial to true to test if, for example,\n-// "/a/b" matches the start of "/*/b/*/d"\n-// Partial means, if you run out of file before you run\n-// out of pattern, then that\'s fine, as long as all\n-// the parts match.\n-Minimatch.prototype.matchOne = function (file, pattern, partial) {\n- var options = this.options\n-\n- this.debug("matchOne",\n- { "this": this\n- , file: file\n- , pattern: pattern })\n-\n- this.debug("matchOne", file.length, pattern.length)\n-\n- for ( var fi = 0\n- , pi = 0\n- , fl = file.length\n- , pl = pattern.length\n- ; (fi < fl) && (pi < pl)\n- ; fi ++, pi ++ ) {\n-\n- this.debug("matchOne loop")\n- var p = pattern[pi]\n- , f = file[fi]\n-\n- this.debug(pattern, p, f)\n-\n- // should be impossible.\n- // some invalid regexp stuff in the set.\n- if (p === false) return false\n-\n- if (p === GLOBSTAR) {\n- this.debug(\'GLOBSTAR\', [pattern, p, f])\n-\n- // "**"\n- // a/**/b/**/c would match the following:\n- // a/b/x/y/z/c\n- // a/x/y/z/b/c\n- // a/b/x/b/x/c\n- // a/b/c\n- // To do this, take the rest of the pattern after\n- // the **, and see if it would match the file remainder.\n- // If so, return success.\n- // If not, the ** "swallows" a segment, and try again.\n- // This is recursively awful.\n- //\n- // a/**/b/**/c matching a/b/x/y/z/c\n- // - a matches a\n- // - doublestar\n- // - matchOne(b/x/y/z/c, b/**/c)\n- // - b matches b\n- // - doublestar\n- // - matchOne(x/y/z/c, c) -> no\n- // - matchOne(y/z/c, c) -> no\n- // - matchOne(z/c, c) -> no\n- // - matchOne(c, c) yes, hit\n- var fr = fi\n- , pr = pi + 1\n- if (pr === pl) {\n- this.debug(\'** at the end\')\n- // a ** at the end will just swallow the rest.\n- // We have found a match.\n- // however, it will not swallow /.x, unless\n- // options.dot is set.\n- // . and .. are *never* matched by **, for explosively\n- // exponential reasons.\n- for ( ; fi < fl; fi ++) {\n- if (file[fi] === "." || file[fi] === ".." ||\n- (!options.dot && file[fi].charAt(0) === ".")) return false\n- }\n- return true\n- }\n-\n- // ok, let\'s see if we can swallow whatever we can.\n- WHILE: while (fr < fl) {\n- var swallowee = file[fr]\n-\n- this.debug(\'\\nglobstar while\',\n- file, fr, pattern, pr, swallowee)\n-\n- // XXX remove this slice. Just pass the start index.\n- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n- this.debug(\'globstar found match!\', fr, fl, swallowee)\n- // found a match.\n- return true\n- } else {\n- // can\'t swallow "." or ".." ever.\n- // can only swallow ".foo" when explicitly asked.\n- if (swallowee === "." || swallowee === ".." ||\n- (!options.dot && swallowee.charAt(0) === ".")) {\n- this.debug("dot detected!", file, fr, pattern, pr)\n- break WHILE\n- }\n-\n- // ** swallows a segment, and continue.\n- this.debug(\'globstar swallow a segment, and continue\')\n- fr ++\n- }\n- }\n- // no match was found.\n- // However, in partial mode, we can\'t say this is necessarily over.\n- // If there\'s more *pattern* left, then\n- if (partial) {\n- // ran out of file\n- this.debug("\\n>>> no match, partial?", file, fr, pattern, pr)\n- if (fr === fl) return true\n- }\n- return false\n- }\n-\n- // something other than **\n- // non-magic patterns just have to match exactly\n- // patterns with magic have been turned into regexps.\n- var hit\n- if (typeof p === "string") {\n- if (options.nocase) {\n- hit = f.toLowerCase() === p.toLowerCase()\n- } else {\n- hit = f === p\n- }\n- this.debug("string match", p, f, hit)\n- } else {\n- hit = f.match(p)\n- this.debug("pattern match", p, f, hit)\n- }\n-\n- if (!hit) return false\n- }\n-\n- // Note: ending in / means that we\'ll get a final ""\n- // at the end of the pattern. This can only match a\n- // corresponding "" at the end of the file.\n- // If the file ends in /, then it can only match a\n- // a pattern that ends in /, unless the pattern just\n- // doesn\'t have any more for it. But, a/b/ should *not*\n- // match "a/b/*", even though "" matches against the\n- // [^/]*? pattern, except in partial mode, where it might\n- // simply not be reached yet.\n- // However, a/b/ should still satisfy a/*\n-\n- // now either we fell off the end of the pattern, or we\'re done.\n- if (fi === fl && pi === pl) {\n- // ran out of pattern and filename at the same time.\n- // an exact hit!\n- return true\n- } else if (fi === fl) {\n- // ran out of file, but still had pattern left.\n- // this is ok if we\'re doing the match as part of\n- // a glob fs traversal.\n- return partial\n- } else if (pi === pl) {\n- // ran out of pattern, still have file left.\n- // this is only acceptable if we\'re on the very last\n- // empty segment of a file with a trailing slash.\n- // a/* should match a/b/\n- var emptyFileEnd = (fi === fl - 1) && (file[fi] === "")\n- return emptyFileEnd\n- }\n-\n- // should be unreachable.\n- throw new Error("wtf?")\n-}\n-\n-\n-// replace stuff like \\* with *\n-function globUnescape (s) {\n- return s.replace(/\\\\(.)/g, "$1")\n-}\n-\n-\n-function regExpEscape (s) {\n- return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, "\\\\$&")\n-}\n-\n-})( typeof require === "function" ? require : null,\n- this,\n- typeof module === "object" ? module : null,\n- typeof process === "object" ? process.platform : "win32"\n- )\ndiff --git a/src/plone/staticresources/static/components/minimatch/package.json b/src/plone/staticresources/static/components/minimatch/package.json\ndeleted file mode 100644\nindex 0163841d..00000000\n--- a/src/plone/staticresources/static/components/minimatch/package.json\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-{\n- "author": "Isaac Z. Schlueter (http://blog.izs.me)",\n- "name": "minimatch",\n- "description": "a glob matcher in javascript",\n- "version": "0.3.0",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/isaacs/minimatch.git"\n- },\n- "main": "minimatch.js",\n- "scripts": {\n- "test": "tap test/*.js"\n- },\n- "engines": {\n- "node": "*"\n- },\n- "dependencies": {\n- "lru-cache": "2",\n- "sigmund": "~1.0.0"\n- },\n- "devDependencies": {\n- "tap": ""\n- },\n- "license": {\n- "type": "MIT",\n- "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/mockup/1041.bugfix b/src/plone/staticresources/static/components/mockup/1041.bugfix\nnew file mode 100644\nindex 00000000..a14b2bd4\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/mockup/1041.bugfix\n@@ -0,0 +1,5 @@\n+Do only remove the correct event listener on ``context-info-loaded`` before adding a new one.\n+Fixes a problem where the current path was not updated for the upload popup when changing paths.\n+Fixes: #1016\n+Refs: #1028, #1030, #1039\n+[thet]\ndiff --git a/src/plone/staticresources/static/components/mockup/CHANGES.rst b/src/plone/staticresources/static/components/mockup/CHANGES.rst\nindex 0a45704d..e19be83b 100644\n--- a/src/plone/staticresources/static/components/mockup/CHANGES.rst\n+++ b/src/plone/staticresources/static/components/mockup/CHANGES.rst\n@@ -8,6 +8,43 @@ Changelog\n \n .. towncrier release notes start\n \n+3.2.4 (2020-11-11)\n+------------------\n+\n+Bug fixes:\n+\n+\n+- Don\'t depend on #edit-bar being present to update the toolbar after folder_contents navigation. Projects using plonetheme.barceloneta\'s backend.xml might not have that div/id in their html because of an error in the rules.xml. [fredvd] (#3191)\n+- Prevent a folder_contents navigation from triggering the double amount of XHR requests through the text filter. Also correctly unregister/register events with a namespace in the structure pattern.[fredvd] (#3203)\n+\n+\n+3.2.3 (2020-10-30)\n+------------------\n+\n+Bug fixes:\n+\n+\n+- Fix building of the docs bundle.\n+ [thet] (#980)\n+- Fix external description text in tinymce link popup\n+ [parruc] (#1010)\n+- Bump bl from 4.0.2 to 4.0.3 [dependabot, jensens] (#1014)\n+- Bumps lodash from 4.17.15 to 4.17.20. [dependabot, jensens] (#1015)\n+- Fix plone toolbar action links being updated only on the first navigation action in the folder_contents structure pattern. [fredvd] (#3191)\n+\n+\n+3.2.2 (2020-08-14)\n+------------------\n+\n+Bug fixes:\n+\n+\n+- Respect default_page_types in actionmenu if folder_contents. Fixes https://github.com/plone/Products.CMFPlone/issues/2700\n+ [pbauer] (#1005)\n+- Put back content type icons in the Add new... menu. This fixes https://github.com/plone/Products.CMFPlone/issues/3163\n+ [vincentfretin] (#1009)\n+\n+\n 3.2.1 (2020-07-17)\n ------------------\n \ndiff --git a/src/plone/staticresources/static/components/mockup/Makefile b/src/plone/staticresources/static/components/mockup/Makefile\nindex 4f6fa61d..2d7cb61e 100644\n--- a/src/plone/staticresources/static/components/mockup/Makefile\n+++ b/src/plone/staticresources/static/components/mockup/Makefile\n@@ -55,6 +55,8 @@ bootstrap-common:\n \n bootstrap: bootstrap-common\n \tNODE_PATH=$(NODE_PATH) yarn install\n+\t# needed for building docs, otherwise expect/support/mocha.css links are broken\n+\tcd mockup/node_modules/expect; test -x node_modules || ln -s ../../node_modules .\n \n bootstrap-nix: clean bootstrap-common\n \tnix-build default.nix -A build -o nixenv\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/js/config.js b/src/plone/staticresources/static/components/mockup/mockup/js/config.js\nindex d2dae6cc..c9e8215b 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/js/config.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/js/config.js\n@@ -147,7 +147,12 @@\n \'pat-mockup-parser\': \'node_modules/patternslib/src/core/mockup-parser\',\n \'pat-registry\': \'node_modules/patternslib/src/core/registry\',\n \'pat-utils\': \'node_modules/patternslib/src/core/utils\',\n- \'logging\': \'node_modules/logging/src/logging\'\n+ \'logging\': \'node_modules/logging/src/logging\',\n+\n+ // Docs\n+ \'JSXTransformer\': \'node_modules/react/JSXTransformer\',\n+ \'marked\': \'node_modules/marked/lib/marked\',\n+ \'react\': \'node_modules/react/react\',\n },\n shim: {\n \'backbone\': { exports: \'window.Backbone\', deps: [\'underscore\', \'jquery\'] },\n@@ -185,7 +190,10 @@\n },\n \'jquery.tools.dateinput\': { deps: [\'jquery\'] },\n \'jquery.tools.overlay\': { deps: [\'jquery\'] },\n- \'jquery.tmpl\': { deps: [\'jquery\'] }\n+ \'jquery.tmpl\': { deps: [\'jquery\'] },\n+\n+ // Docs\n+ \'JSXTransformer\': { exports: \'window.JSXTransformer\' },\n },\n wrapShim: true\n };\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js\nindex 60333a37..d377321b 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/addmenu.js\n@@ -11,34 +11,39 @@ define([\n title: \'Add\',\n className: \'btn-group addnew\',\n events: {},\n- initialize: function(options) {\n+\n+ context_info_loaded_handler: function(event, data) {\n+ this.$items.empty();\n var self = this;\n- ButtonGroup.prototype.initialize.apply(self, [options]);\n- $(\'body\').on(\'context-info-loaded\', function(event, data) {\n- self.$items.empty();\n- _.each(data.addButtons, function(item) {\n- var view = new ButtonView({\n- id: item.id,\n- title: item.title,\n- url: item.action\n- });\n- view.render();\n- var wrap = $(\'
  • \');\n- // As we are reusing the whole ButtonView for render the add content\n- // list we should remove entirely the "btn btn-default" classes.\n- // This element in fact, should not have any class at all, so we\n- // remove the attribute completely\n- view.$el.removeAttr(\'class\');\n+ _.each(data.addButtons, function(item) {\n+ var view = new ButtonView({\n+ id: item.id,\n+ title: item.title,\n+ url: item.action\n+ });\n+ view.render();\n+ var wrap = $(\'
  • \');\n+ // As we are reusing the whole ButtonView for render the add content\n+ // list we should remove entirely the "btn btn-default" classes.\n+ // This element in fact, should not have any class at all, so we\n+ // remove the attribute completely\n+ view.$el.removeAttr(\'class\');\n \n- wrap.append(view.el);\n- self.$items.append(wrap);\n- view.$el.click(function(e) {\n- self.buttonClicked.apply(self, [e, view]);\n- return false;\n- });\n+ wrap.append(view.el);\n+ self.$items.append(wrap);\n+ view.$el.click(function(e) {\n+ self.buttonClicked.apply(self, [e, view]);\n+ return false;\n });\n });\n },\n+\n+ initialize: function(options) {\n+ ButtonGroup.prototype.initialize.apply(this, [options]);\n+ $(\'body\')\n+ .off(\'context-info-loaded\', this.context_info_loaded_handler.bind(this))\n+ .on(\'context-info-loaded\', this.context_info_loaded_handler.bind(this));\n+ },\n buttonClicked: function(e, button) {\n var self = this;\n e.preventDefault();\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js\nindex 19f7256f..0c2b72c2 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/app.js\n@@ -277,7 +277,7 @@ define([\n },\n setCurrentPath: function(path) {\n this.collection.setCurrentPath(path);\n- this.textfilter.clearTerm();\n+ this.textfilter.clearTerm(false);\n this.clearStatus();\n },\n getAjaxUrl: function(url) {\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js\nindex cb83f07b..b90fb197 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/table.js\n@@ -19,6 +19,13 @@ define([\n var TableView = BaseView.extend({\n tagName: \'div\',\n template: _.template(TableTemplate),\n+\n+ context_info_loaded_handler: function(event, data) {\n+ this.contextInfo = data;\n+ /* set default page info */\n+ this.setContextInfo();\n+ },\n+\n initialize: function(options) {\n var self = this;\n BaseView.prototype.initialize.apply(self, [options]);\n@@ -31,11 +38,9 @@ define([\n self.subsetIds = [];\n self.contextInfo = null;\n \n- $(\'body\').on(\'context-info-loaded\', function(event, data) {\n- self.contextInfo = data;\n- /* set default page info */\n- self.setContextInfo();\n- });\n+ $(\'body\')\n+ .off(\'context-info-loaded\', this.context_info_loaded_handler.bind(this))\n+ .on(\'context-info-loaded\', this.context_info_loaded_handler.bind(this));\n \n self.dateColumns = [\n \'ModificationDate\',\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js\nindex 8c3e2995..31149703 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/textfilter.js\n@@ -41,7 +41,7 @@ define([\n setFilterStatusMessage: function() {\n var clear_btn = $(\'\')\n .text(_t(\'Clear\'))\n- .on(\'click\', function() {\n+ .off(\'click.textfilter\').on(\'click.textfilter\', function() {\n this.clearFilter();\n }.bind(this));\n \n@@ -66,15 +66,16 @@ define([\n }\n },\n \n- setTerm: function(term, set_input) {\n+ setTerm: function(term, set_input, refresh) {\n var term_el = this.$el[0].querySelector(\'.search-query\');\n this.term = encodeURIComponent(term);\n if (set_input) {\n term_el.value = term;\n }\n- this.app.collection.currentPage = 1;\n- this.app.collection.pager();\n-\n+ if (refresh === undefined || refresh == true) {\n+ this.app.collection.currentPage = 1;\n+ this.app.collection.pager();\n+ }\n if (term) {\n term_el.classList.add(\'has-filter\');\n this.setFilterStatusMessage();\n@@ -127,8 +128,8 @@ define([\n }\n },\n \n- clearTerm: function() {\n- this.setTerm(\'\', true);\n+ clearTerm: function(refresh) {\n+ this.setTerm(\'\', true, refresh);\n },\n \n clearFilter: function() {\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js\nindex c344d3c2..0317a986 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/js/views/upload.js\n@@ -12,14 +12,18 @@ define([\n \'\' +\n \'
    \'),\n \n+ context_info_loaded_handler: function(event, data) {\n+ this.currentPathData = data;\n+ },\n+\n initialize: function(options) {\n var self = this;\n self.app = options.app;\n PopoverView.prototype.initialize.apply(self, [options]);\n self.currentPathData = null;\n- $(\'body\').on(\'context-info-loaded\', function(event, data) {\n- self.currentPathData = data;\n- });\n+ $(\'body\')\n+ .off(\'context-info-loaded\', this.context_info_loaded_handler.bind(this))\n+ .on(\'context-info-loaded\', this.context_info_loaded_handler.bind(this));\n },\n \n render: function() {\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js\nindex abaaa214..789b3fdb 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/structure/pattern-structureupdater.js\n@@ -24,17 +24,19 @@ define([\n descriptionSelector: \'\'\n },\n \n- init: function() {\n-\n- $(\'body\').on(\'context-info-loaded\', function (e, data) {\n- if (this.options.titleSelector) {\n- $(this.options.titleSelector, this.$el).html(data.object && data.object.Title || \' \');\n- }\n- if (this.options.descriptionSelector) {\n- $(this.options.descriptionSelector, this.$el).html(data.object && data.object.Description || \' \');\n- }\n- }.bind(this));\n+ context_info_loaded_handler: function (e, data) {\n+ if (this.options.titleSelector) {\n+ $(this.options.titleSelector, this.$el).html(data.object && data.object.Title || \' \');\n+ }\n+ if (this.options.descriptionSelector) {\n+ $(this.options.descriptionSelector, this.$el).html(data.object && data.object.Description || \' \');\n+ }\n+ },\n \n+ init: function() {\n+ $(\'body\')\n+ .off(\'context-info-loaded\', this.context_info_loaded_handler.bind(this))\n+ .on(\'context-info-loaded\', this.context_info_loaded_handler.bind(this));\n }\n \n });\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js\nindex 68894a10..f1bb0a84 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/tinymce/js/links.js\n@@ -475,7 +475,7 @@ define([\n anchorLabel: this.options.text.anchorLabel,\n target: this.options.text.target,\n linkTypes: this.options.linkTypes,\n- externalText: this.options.text.external,\n+ externalText: this.options.text.externalText,\n emailText: this.options.text.email,\n subjectText: this.options.text.subject,\n targetList: this.options.targetList,\ndiff --git a/src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js b/src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js\nindex 35fa3d42..bc3e2b2b 100644\n--- a/src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js\n+++ b/src/plone/staticresources/static/components/mockup/mockup/patterns/toolbar/pattern.js\n@@ -244,7 +244,7 @@ define([\n }\n });\n \n- $(\'body\').on(\'click\', function(event) {\n+ $(\'body\').off(\'click.closetoolbarsubmenus\').on(\'click.closetoolbarsubmenus\', function(event) {\n var $el = that.$container.find(event.target);\n // we need to check if the target isn\'t the nav which can be\n // triggered if we click on the portal-header and plone-toolbar-more-subset\n@@ -509,15 +509,17 @@ define([\n This is for usability so the menu changes along with\n the folder contents context */\n $(\'body\')\n- .off(\'structure-url-changed\')\n- .on(\'structure-url-changed\', function(e, path) {\n+ .off(\'structure-url-changed.toolbar\')\n+ .on(\'structure-url-changed.toolbar\', function(e, path) {\n $.ajax({\n url: $(\'body\').attr(\'data-portal-url\') + path + \'/@@render-toolbar\',\n }).done(function(data) {\n- var $el = $(utils.parseBodyTag(data));\n- $el = $el.find(\'#edit-zone\').length ? $el.find(\'#edit-zone\') : $el;\n- that.$el.replaceWith($el);\n- Registry.scan($el);\n+ var $newel = $(utils.parseBodyTag(data));\n+ var hasedit = $newel.find(\'#edit-zone\').length;\n+ $newel = hasedit ? $newel.find(\'#edit-zone\') : $newel;\n+ var $replacetoolbar = $(\'body\').find(\'#edit-zone\');\n+ $replacetoolbar.replaceWith($newel);\n+ Registry.scan($newel);\n });\n });\n \ndiff --git a/src/plone/staticresources/static/components/mockup/package.json b/src/plone/staticresources/static/components/mockup/package.json\nindex 373b7c58..9be24366 100644\n--- a/src/plone/staticresources/static/components/mockup/package.json\n+++ b/src/plone/staticresources/static/components/mockup/package.json\n@@ -1,6 +1,6 @@\n {\n "name": "mockup",\n- "version": "3.2.2",\n+ "version": "3.2.5",\n "description": "A collection of client side patterns for faster and easier web development",\n "homepage": "http://plone.github.io/mockup",\n "license": "BSD-3-Clause",\n@@ -52,10 +52,11 @@\n "jquery.cookie": "https://github.com/carhartl/jquery-cookie.git#v1.4.1",\n "jquery.recurrenceinput.js": "https://github.com/collective/jquery.recurrenceinput.js.git#master",\n "logging": "https://github.com/Patternslib/logging.git#1.0.2",\n+ "marked": "https://github.com/chjj/marked.git#0.3.5",\n "moment": "2.24.0",\n "patternslib": "https://github.com/Patternslib/Patterns.git#2.1.3",\n "pickadate": "https://github.com/amsul/pickadate.js.git#3.6.4",\n- "react": "https://github.com/facebook/react.git#v0.10.0",\n+ "react": "https://github.com/reactjs/react-bower.git#v0.10.0",\n "requirejs-text": "https://github.com/requirejs/text.git#2.0.15",\n "select2": "https://github.com/ivaynberg/select2.git#3.5.4",\n "tinymce-builded": "https://github.com/artursmirnov/tinymce_builded.git#4.7.13"\ndiff --git a/src/plone/staticresources/static/components/mockup/yarn.lock b/src/plone/staticresources/static/components/mockup/yarn.lock\nindex 1ca1d9e8..1a40cb1e 100644\n--- a/src/plone/staticresources/static/components/mockup/yarn.lock\n+++ b/src/plone/staticresources/static/components/mockup/yarn.lock\n@@ -260,13 +260,6 @@ assign-symbols@^1.0.0:\n resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"\n integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=\n \n-ast-types@~0.4.7:\n- version "0.4.13"\n- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.4.13.tgz#445bd0b0f235028f5dc5b532fca27dc7b19ed754"\n- integrity sha1-RFvQsPI1Ao9dxbUy/KJ9x7Ge11Q=\n- dependencies:\n- depd "~1.0.0"\n-\n async-each@^1.0.1:\n version "1.0.3"\n resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"\n@@ -337,11 +330,6 @@ balanced-match@^1.0.0:\n resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"\n integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\n \n-base62@0.1.1:\n- version "0.1.1"\n- resolved "https://registry.yarnpkg.com/base62/-/base62-0.1.1.tgz#7b4174c2f94449753b11c2651c083da841a7b084"\n- integrity sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ=\n-\n base64-arraybuffer@0.1.5:\n version "0.1.5"\n resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"\n@@ -682,11 +670,6 @@ cloneable-readable@^1.0.0:\n process-nextick-args "^2.0.0"\n readable-stream "^2.3.5"\n \n-cls@~0.1.3:\n- version "0.1.5"\n- resolved "https://registry.yarnpkg.com/cls/-/cls-0.1.5.tgz#df3218cf9d1480747f584d88b19b74c6b281317b"\n- integrity sha1-3zIYz50UgHR/WE2IsZt0xrKBMXs=\n-\n co@^4.6.0:\n version "4.6.0"\n resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"\n@@ -744,31 +727,11 @@ combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.5, combined\n dependencies:\n delayed-stream "~1.0.0"\n \n-commander@~2.2.0:\n- version "2.2.0"\n- resolved "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz#175ad4b9317f3ff615f201c1e57224f55a3e91df"\n- integrity sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=\n-\n commander@~2.20.3:\n version "2.20.3"\n resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\n \n-commoner@^0.9.2:\n- version "0.9.8"\n- resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.9.8.tgz#22f59588f134a3afa04aaea97e8bb574972acded"\n- integrity sha1-IvWViPE0o6+gSq6pfou1dJcqze0=\n- dependencies:\n- commander "~2.2.0"\n- glob "~3.2.9"\n- graceful-fs "~2.0.3"\n- iconv-lite "~0.2.11"\n- install "~0.1.7"\n- mkdirp "~0.3.5"\n- private "~0.1.2"\n- q "~1.0.1"\n- recast "~0.7.0"\n-\n component-bind@1.0.0:\n version "1.0.0"\n resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"\n@@ -1202,11 +1165,6 @@ delayed-stream@~1.0.0:\n resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"\n integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\n \n-depd@~1.0.0:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa"\n- integrity sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=\n-\n depd@~1.1.2:\n version "1.1.2"\n resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"\n@@ -1455,16 +1413,6 @@ escodegen@1.8.x:\n optionalDependencies:\n source-map "~0.2.0"\n \n-esprima-fb@~3001.1.0-dev-harmony-fb:\n- version "3001.1.0-dev-harmony-fb"\n- resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411"\n- integrity sha1-t303q8046gt3Qmu4vCkizmtCZBE=\n-\n-esprima-fb@~6001.1001.0-dev-harmony-fb:\n- version "6001.1001.0-dev-harmony-fb"\n- resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-6001.1001.0-dev-harmony-fb.tgz#a98821750fabadb164cdd199a94347a3919d1ac5"\n- integrity sha1-qYghdQ+rrbFkzdGZqUNHo5GdGsU=\n-\n esprima@2.7.x, esprima@^2.7.1:\n version "2.7.3"\n resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"\n@@ -1944,14 +1892,6 @@ glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1:\n once "^1.3.0"\n path-is-absolute "^1.0.0"\n \n-glob@~3.2.9:\n- version "3.2.11"\n- resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d"\n- integrity sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=\n- dependencies:\n- inherits "2"\n- minimatch "0.3"\n-\n glob@~7.0.0:\n version "7.0.6"\n resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"\n@@ -1998,11 +1938,6 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6,\n resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"\n integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\n \n-graceful-fs@~2.0.3:\n- version "2.0.3"\n- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-2.0.3.tgz#7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0"\n- integrity sha1-fNLNsiiko/Nule+mzBQt59GhNtA=\n-\n growl@1.10.5:\n version "1.10.5"\n resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"\n@@ -2394,11 +2329,6 @@ iconv-lite@0.4.24, iconv-lite@~0.4.13:\n dependencies:\n safer-buffer ">= 2.1.2 < 3"\n \n-iconv-lite@~0.2.11:\n- version "0.2.11"\n- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8"\n- integrity sha1-HOYKOleGSiktEyH/RgnKS7llrcg=\n-\n ieee754@^1.1.4:\n version "1.1.13"\n resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"\n@@ -2444,11 +2374,6 @@ ini@^1.3.4:\n resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"\n integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==\n \n-install@~0.1.7:\n- version "0.1.8"\n- resolved "https://registry.yarnpkg.com/install/-/install-0.1.8.tgz#9980ef93e30dfb534778d163bc86ddd472ad5fe8"\n- integrity sha1-mYDvk+MN+1NHeNFjvIbd1HKtX+g=\n-\n interpret@~1.1.0:\n version "1.1.0"\n resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"\n@@ -2613,9 +2538,9 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:\n isobject "^3.0.1"\n \n is-regex@^1.1.0:\n- version "1.1.0"\n- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff"\n- integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==\n+ version "1.1.1"\n+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"\n+ integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==\n dependencies:\n has-symbols "^1.0.1"\n \n@@ -2852,15 +2777,6 @@ jsprim@^1.2.2:\n json-schema "0.2.3"\n verror "1.10.0"\n \n-jstransform@~3.0.0:\n- version "3.0.0"\n- resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-3.0.0.tgz#a2591ab6cee8d97bf3be830dbfa2313b87cd640b"\n- integrity sha1-olkats7o2XvzvoMNv6IxO4fNZAs=\n- dependencies:\n- base62 "0.1.1"\n- esprima-fb "~3001.1.0-dev-harmony-fb"\n- source-map "0.1.31"\n-\n just-extend@^4.0.2:\n version "4.1.0"\n resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4"\n@@ -3135,9 +3051,9 @@ lodash.union@^4.6.0:\n integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=\n \n lodash@^4.0.0, lodash@^4.0.1, lodash@^4.16.6, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.8.2, lodash@~4.17.10, lodash@~4.17.5:\n- version "4.17.15"\n- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"\n- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==\n+ version "4.17.20"\n+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"\n+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==\n \n log-driver@^1.2.7:\n version "1.2.7"\n@@ -3230,6 +3146,10 @@ map-visit@^1.0.0:\n dependencies:\n object-visit "^1.0.0"\n \n+"marked@https://github.com/chjj/marked.git#0.3.5":\n+ version "0.3.5"\n+ resolved "https://github.com/chjj/marked.git#88ce4df47c4d994dc1b1df1477a21fb893e11ddc"\n+\n maxmin@^2.1.0:\n version "2.1.0"\n resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166"\n@@ -3316,14 +3236,6 @@ mimic-fn@^2.0.0:\n resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"\n integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\n \n-minimatch@0.3:\n- version "0.3.0"\n- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"\n- integrity sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=\n- dependencies:\n- lru-cache "2"\n- sigmund "~1.0.0"\n-\n "minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:\n version "3.0.4"\n resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"\n@@ -3381,11 +3293,6 @@ mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1:\n dependencies:\n minimist "^1.2.5"\n \n-mkdirp@~0.3.5:\n- version "0.3.5"\n- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7"\n- integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=\n-\n mocha@~6.1.4:\n version "6.1.4"\n resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.1.4.tgz#e35fada242d5434a7e163d555c705f6875951640"\n@@ -3590,9 +3497,9 @@ object-copy@^0.1.0:\n kind-of "^3.0.3"\n \n object-inspect@^1.7.0:\n- version "1.7.0"\n- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"\n- integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==\n+ version "1.8.0"\n+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"\n+ integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==\n \n object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:\n version "1.1.1"\n@@ -3935,11 +3842,6 @@ pretty-bytes@^3.0.0:\n dependencies:\n number-is-nan "^1.0.0"\n \n-private@~0.1.2, private@~0.1.5:\n- version "0.1.8"\n- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"\n- integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==\n-\n process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:\n version "2.0.1"\n resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"\n@@ -4012,11 +3914,6 @@ q@^1.5.0, q@^1.5.1:\n resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"\n integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=\n \n-q@~1.0.1:\n- version "1.0.1"\n- resolved "https://registry.yarnpkg.com/q/-/q-1.0.1.tgz#11872aeedee89268110b10a718448ffb10112a14"\n- integrity sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=\n-\n qjobs@^1.1.4:\n version "1.2.0"\n resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071"\n@@ -4065,13 +3962,9 @@ raw-body@~1.1.0:\n bytes "1"\n string_decoder "0.10"\n \n-"react@https://github.com/facebook/react.git#v0.10.0":\n- version "0.10.0"\n- resolved "https://github.com/facebook/react.git#dedf0c20da67872b5dff21a25cb9075e6019c12e"\n- dependencies:\n- commoner "^0.9.2"\n- esprima-fb "~3001.1.0-dev-harmony-fb"\n- jstransform "~3.0.0"\n+"react@https://github.com/reactjs/react-bower.git#v0.10.0":\n+ version "0.0.0"\n+ resolved "https://github.com/reactjs/react-bower.git#4862309b39ceef32a65c160cd9987eccdfb29c38"\n \n read-pkg-up@^1.0.1:\n version "1.0.1"\n@@ -4131,17 +4024,6 @@ readdirp@^2.2.1:\n micromatch "^3.1.10"\n readable-stream "^2.0.2"\n \n-recast@~0.7.0:\n- version "0.7.5"\n- resolved "https://registry.yarnpkg.com/recast/-/recast-0.7.5.tgz#124e7cf63e2a737cd69243e379196c45549b1f2e"\n- integrity sha1-Ek589j4qc3zWkkPjeRlsRVSbHy4=\n- dependencies:\n- ast-types "~0.4.7"\n- cls "~0.1.3"\n- esprima-fb "~6001.1001.0-dev-harmony-fb"\n- private "~0.1.5"\n- source-map "0.1.32"\n-\n rechoir@^0.6.2:\n version "0.6.2"\n resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"\n@@ -4608,20 +4490,6 @@ source-map-url@^0.4.0:\n resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"\n integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=\n \n-source-map@0.1.31:\n- version "0.1.31"\n- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.31.tgz#9f704d0d69d9e138a81badf6ebb4fde33d151c61"\n- integrity sha1-n3BNDWnZ4TioG63267T94z0VHGE=\n- dependencies:\n- amdefine ">=0.0.4"\n-\n-source-map@0.1.32:\n- version "0.1.32"\n- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"\n- integrity sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=\n- dependencies:\n- amdefine ">=0.0.4"\n-\n source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6:\n version "0.5.7"\n resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"\ndiff --git a/src/plone/staticresources/static/components/private/LICENSE b/src/plone/staticresources/static/components/private/LICENSE\ndeleted file mode 100644\nindex 6c2f144b..00000000\n--- a/src/plone/staticresources/static/components/private/LICENSE\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-Copyright (c) 2014 Ben Newman \n-\n-Permission is hereby granted, free of charge, to any person obtaining\n-a copy of this software and associated documentation files (the\n-"Software"), to deal in the Software without restriction, including\n-without limitation the rights to use, copy, modify, merge, publish,\n-distribute, sublicense, and/or sell copies of the Software, and to\n-permit persons to whom the Software is furnished to do so, subject to\n-the following conditions:\n-\n-The above copyright notice and this permission notice shall be\n-included in all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/private/README.md b/src/plone/staticresources/static/components/private/README.md\ndeleted file mode 100644\nindex 493077b8..00000000\n--- a/src/plone/staticresources/static/components/private/README.md\n+++ /dev/null\n@@ -1,245 +0,0 @@\n-# private [![Build Status](https://travis-ci.org/benjamn/private.png?branch=master)](https://travis-ci.org/benjamn/private) [![Greenkeeper badge](https://badges.greenkeeper.io/benjamn/private.svg)](https://greenkeeper.io/)\n-\n-A general-purpose utility for associating truly private state with any JavaScript object.\n-\n-Installation\n----\n-\n-From NPM:\n-\n- npm install private\n-\n-From GitHub:\n-\n- cd path/to/node_modules\n- git clone git://github.com/benjamn/private.git\n- cd private\n- npm install .\n-\n-Usage\n----\n-**Get or create a secret object associated with any (non-frozen) object:**\n-```js\n-var getSecret = require("private").makeAccessor();\n-var obj = Object.create(null); // any kind of object works\n-getSecret(obj).totallySafeProperty = "p455w0rd";\n-\n-console.log(Object.keys(obj)); // []\n-console.log(Object.getOwnPropertyNames(obj)); // []\n-console.log(getSecret(obj)); // { totallySafeProperty: "p455w0rd" }\n-```\n-Now, only code that has a reference to both `getSecret` and `obj` can possibly access `.totallySafeProperty`.\n-\n-*Importantly, no global references to the secret object are retained by the `private` package, so as soon as `obj` gets garbage collected, the secret will be reclaimed as well. In other words, you don\'t have to worry about memory leaks.*\n-\n-**Create a unique property name that cannot be enumerated or guessed:**\n-```js\n-var secretKey = require("private").makeUniqueKey();\n-var obj = Object.create(null); // any kind of object works\n-\n-Object.defineProperty(obj, secretKey, {\n- value: { totallySafeProperty: "p455w0rd" },\n- enumerable: false // optional; non-enumerability is the default\n-});\n-\n-Object.defineProperty(obj, "nonEnumerableProperty", {\n- value: "anyone can guess my name",\n- enumerable: false\n-});\n-\n-console.log(obj[secretKey].totallySafeProperty); // p455w0rd\n-console.log(obj.nonEnumerableProperty); // "anyone can guess my name"\n-console.log(Object.keys(obj)); // []\n-console.log(Object.getOwnPropertyNames(obj)); // ["nonEnumerableProperty"]\n-\n-for (var key in obj) {\n- console.log(key); // never called\n-}\n-```\n-Because these keys are non-enumerable, you can\'t discover them using a `for`-`in` loop. Because `secretKey` is a long string of random characters, you would have a lot of trouble guessing it. And because the `private` module wraps `Object.getOwnPropertyNames` to exclude the keys it generates, you can\'t even use that interface to discover it.\n-\n-Unless you have access to the value of the `secretKey` property name, there is no way to access the value associated with it. So your only responsibility as secret-keeper is to avoid handing out the value of `secretKey` to untrusted code.\n-\n-Think of this style as a home-grown version of the first style. Note, however, that it requires a full implementation of ES5\'s `Object.defineProperty` method in order to make any safety guarantees, whereas the first example will provide safety even in environments that do not support `Object.defineProperty`.\n-\n-Rationale\n----\n-\n-In JavaScript, the only data that are truly private are local variables\n-whose values do not *leak* from the scope in which they were defined.\n-\n-This notion of *closure privacy* is powerful, and it readily provides some\n-of the benefits of traditional data privacy, a la Java or C++:\n-```js\n-function MyClass(secret) {\n- this.increment = function() {\n- return ++secret;\n- };\n-}\n-\n-var mc = new MyClass(3);\n-console.log(mc.increment()); // 4\n-```\n-You can learn something about `secret` by calling `.increment()`, and you\n-can increase its value by one as many times as you like, but you can never\n-decrease its value, because it is completely inaccessible except through\n-the `.increment` method. And if the `.increment` method were not\n-available, it would be as if no `secret` variable had ever been declared,\n-as far as you could tell.\n-\n-This style breaks down as soon as you want to inherit methods from the\n-prototype of a class:\n-```js\n-function MyClass(secret) {\n- this.secret = secret;\n-}\n-\n-MyClass.prototype.increment = function() {\n- return ++this.secret;\n-};\n-```\n-The only way to communicate between the `MyClass` constructor and the\n-`.increment` method in this example is to manipulate shared properties of\n-`this`. Unfortunately `this.secret` is now exposed to unlicensed\n-modification:\n-```js\n-var mc = new MyClass(6);\n-console.log(mc.increment()); // 7\n-mc.secret -= Infinity;\n-console.log(mc.increment()); // -Infinity\n-mc.secret = "Go home JavaScript, you\'re drunk.";\n-mc.increment(); // NaN\n-```\n-Another problem with closure privacy is that it only lends itself to\n-per-instance privacy, whereas the `private` keyword in most\n-object-oriented languages indicates that the data member in question is\n-visible to all instances of the same class.\n-\n-Suppose you have a `Node` class with a notion of parents and children:\n-```js\n-function Node() {\n- var parent;\n- var children = [];\n-\n- this.getParent = function() {\n- return parent;\n- };\n-\n- this.appendChild = function(child) {\n- children.push(child);\n- child.parent = this; // Can this be made to work?\n- };\n-}\n-```\n-The desire here is to allow other `Node` objects to manipulate the value\n-returned by `.getParent()`, but otherwise disallow any modification of the\n-`parent` variable. You could expose a `.setParent` function, but then\n-anyone could call it, and you might as well give up on the getter/setter\n-pattern.\n-\n-This module solves both of these problems.\n-\n-Usage\n----\n-\n-Let\'s revisit the `Node` example from above:\n-```js\n-var p = require("private").makeAccessor();\n-\n-function Node() {\n- var privates = p(this);\n- var children = [];\n-\n- this.getParent = function() {\n- return privates.parent;\n- };\n-\n- this.appendChild = function(child) {\n- children.push(child);\n- var cp = p(child);\n- if (cp.parent)\n- cp.parent.removeChild(child);\n- cp.parent = this;\n- return child;\n- };\n-}\n-```\n-Now, in order to access the private data of a `Node` object, you need to\n-have access to the unique `p` function that is being used here. This is\n-already an improvement over the previous example, because it allows\n-restricted access by other `Node` instances, but can it help with the\n-`Node.prototype` problem too?\n-\n-Yes it can!\n-```js\n-var p = require("private").makeAccessor();\n-\n-function Node() {\n- p(this).children = [];\n-}\n-\n-var Np = Node.prototype;\n-\n-Np.getParent = function() {\n- return p(this).parent;\n-};\n-\n-Np.appendChild = function(child) {\n- p(this).children.push(child);\n- var cp = p(child);\n- if (cp.parent)\n- cp.parent.removeChild(child);\n- cp.parent = this;\n- return child;\n-};\n-```\n-Because `p` is in scope not only within the `Node` constructor but also\n-within `Node` methods, we can finally avoid redefining methods every time\n-the `Node` constructor is called.\n-\n-Now, you might be wondering how you can restrict access to `p` so that no\n-untrusted code is able to call it. The answer is to use your favorite\n-module pattern, be it CommonJS, AMD `define`, or even the old\n-Immediately-Invoked Function Expression:\n-```js\n-var Node = (function() {\n- var p = require("private").makeAccessor();\n-\n- function Node() {\n- p(this).children = [];\n- }\n-\n- var Np = Node.prototype;\n-\n- Np.getParent = function() {\n- return p(this).parent;\n- };\n-\n- Np.appendChild = function(child) {\n- p(this).children.push(child);\n- var cp = p(child);\n- if (cp.parent)\n- cp.parent.removeChild(child);\n- cp.parent = this;\n- return child;\n- };\n-\n- return Node;\n-}());\n-\n-var parent = new Node;\n-var child = new Node;\n-parent.appendChild(child);\n-assert.strictEqual(child.getParent(), parent);\n-```\n-Because this version of `p` never leaks from the enclosing function scope,\n-only `Node` objects have access to it.\n-\n-So, you see, the claim I made at the beginning of this README remains\n-true:\n-\n-> In JavaScript, the only data that are truly private are local variables\n-> whose values do not *leak* from the scope in which they were defined.\n-\n-It just so happens that closure privacy is sufficient to implement a\n-privacy model similar to that provided by other languages.\ndiff --git a/src/plone/staticresources/static/components/private/package.json b/src/plone/staticresources/static/components/private/package.json\ndeleted file mode 100644\nindex 6f2b4570..00000000\n--- a/src/plone/staticresources/static/components/private/package.json\n+++ /dev/null\n@@ -1,39 +0,0 @@\n-{\n- "author": {\n- "name": "Ben Newman",\n- "email": "bn@cs.stanford.edu"\n- },\n- "name": "private",\n- "description": "Utility for associating truly private state with any JavaScript object",\n- "keywords": [\n- "private",\n- "access control",\n- "access modifiers",\n- "encapsulation",\n- "secret",\n- "state",\n- "privilege",\n- "scope",\n- "es5"\n- ],\n- "version": "0.1.8",\n- "homepage": "http://github.com/benjamn/private",\n- "repository": {\n- "type": "git",\n- "url": "git://github.com/benjamn/private.git"\n- },\n- "license": "MIT",\n- "main": "private.js",\n- "files": [\n- "private.js"\n- ],\n- "scripts": {\n- "test": "mocha --reporter spec --full-trace test/run.js"\n- },\n- "engines": {\n- "node": ">= 0.6"\n- },\n- "devDependencies": {\n- "mocha": "^4.0.1"\n- }\n-}\ndiff --git a/src/plone/staticresources/static/components/private/private.js b/src/plone/staticresources/static/components/private/private.js\ndeleted file mode 100644\nindex 4f952fc4..00000000\n--- a/src/plone/staticresources/static/components/private/private.js\n+++ /dev/null\n@@ -1,129 +0,0 @@\n-"use strict";\n-\n-var originalObject = Object;\n-var originalDefProp = Object.defineProperty;\n-var originalCreate = Object.create;\n-\n-function defProp(obj, name, value) {\n- if (originalDefProp) try {\n- originalDefProp.call(originalObject, obj, name, { value: value });\n- } catch (definePropertyIsBrokenInIE8) {\n- obj[name] = value;\n- } else {\n- obj[name] = value;\n- }\n-}\n-\n-// For functions that will be invoked using .call or .apply, we need to\n-// define those methods on the function objects themselves, rather than\n-// inheriting them from Function.prototype, so that a malicious or clumsy\n-// third party cannot interfere with the functionality of this module by\n-// redefining Function.prototype.call or .apply.\n-function makeSafeToCall(fun) {\n- if (fun) {\n- defProp(fun, "call", fun.call);\n- defProp(fun, "apply", fun.apply);\n- }\n- return fun;\n-}\n-\n-makeSafeToCall(originalDefProp);\n-makeSafeToCall(originalCreate);\n-\n-var hasOwn = makeSafeToCall(Object.prototype.hasOwnProperty);\n-var numToStr = makeSafeToCall(Number.prototype.toString);\n-var strSlice = makeSafeToCall(String.prototype.slice);\n-\n-var cloner = function(){};\n-function create(prototype) {\n- if (originalCreate) {\n- return originalCreate.call(originalObject, prototype);\n- }\n- cloner.prototype = prototype || null;\n- return new cloner;\n-}\n-\n-var rand = Math.random;\n-var uniqueKeys = create(null);\n-\n-function makeUniqueKey() {\n- // Collisions are highly unlikely, but this module is in the business of\n- // making guarantees rather than safe bets.\n- do var uniqueKey = internString(strSlice.call(numToStr.call(rand(), 36), 2));\n- while (hasOwn.call(uniqueKeys, uniqueKey));\n- return uniqueKeys[uniqueKey] = uniqueKey;\n-}\n-\n-function internString(str) {\n- var obj = {};\n- obj[str] = true;\n- return Object.keys(obj)[0];\n-}\n-\n-// External users might find this function useful, but it is not necessary\n-// for the typical use of this module.\n-exports.makeUniqueKey = makeUniqueKey;\n-\n-// Object.getOwnPropertyNames is the only way to enumerate non-enumerable\n-// properties, so if we wrap it to ignore our secret keys, there should be\n-// no way (except guessing) to access those properties.\n-var originalGetOPNs = Object.getOwnPropertyNames;\n-Object.getOwnPropertyNames = function getOwnPropertyNames(object) {\n- for (var names = originalGetOPNs(object),\n- src = 0,\n- dst = 0,\n- len = names.length;\n- src < len;\n- ++src) {\n- if (!hasOwn.call(uniqueKeys, names[src])) {\n- if (src > dst) {\n- names[dst] = names[src];\n- }\n- ++dst;\n- }\n- }\n- names.length = dst;\n- return names;\n-};\n-\n-function defaultCreatorFn(object) {\n- return create(null);\n-}\n-\n-function makeAccessor(secretCreatorFn) {\n- var brand = makeUniqueKey();\n- var passkey = create(null);\n-\n- secretCreatorFn = secretCreatorFn || defaultCreatorFn;\n-\n- function register(object) {\n- var secret; // Created lazily.\n-\n- function vault(key, forget) {\n- // Only code that has access to the passkey can retrieve (or forget)\n- // the secret object.\n- if (key === passkey) {\n- return forget\n- ? secret = null\n- : secret || (secret = secretCreatorFn(object));\n- }\n- }\n-\n- defProp(object, brand, vault);\n- }\n-\n- function accessor(object) {\n- if (!hasOwn.call(object, brand))\n- register(object);\n- return object[brand](passkey);\n- }\n-\n- accessor.forget = function(object) {\n- if (hasOwn.call(object, brand))\n- object[brand](passkey, true);\n- };\n-\n- return accessor;\n-}\n-\n-exports.makeAccessor = makeAccessor;\ndiff --git a/src/plone/staticresources/static/components/q/CONTRIBUTING.md b/src/plone/staticresources/static/components/q/CONTRIBUTING.md\ndeleted file mode 100644\nindex 500ab17b..00000000\n--- a/src/plone/staticresources/static/components/q/CONTRIBUTING.md\n+++ /dev/null\n@@ -1,40 +0,0 @@\n-\n-For pull requests:\n-\n-- Be consistent with prevalent style and design decisions.\n-- Add a Jasmine spec to `specs/q-spec.js`.\n-- Use `npm test` to avoid regressions.\n-- Run tests in `q-spec/run.html` in as many supported browsers as you\n- can find the will to deal with.\n-- Do not build minified versions; we do this each release.\n-- If you would be so kind, add a note to `CHANGES.md` in an\n- appropriate section:\n-\n- - `Next Major Version` if it introduces backward incompatibilities\n- to code in the wild using documented features.\n- - `Next Minor Version` if it adds a new feature.\n- - `Next Patch Version` if it fixes a bug.\n-\n-For releases:\n-\n-- Run `npm test`.\n-- Run tests in `q-spec/run.html` in a representative sample of every\n- browser under the sun.\n-- Run `npm run cover` and make sure you\'re happy with the results.\n-- Run `npm run minify` and be sure to commit the resulting `q.min.js`.\n-- Note the Gzipped size output by the previous command, and update\n- `README.md` if it has changed to 1 significant digit.\n-- Stash any local changes.\n-- Update `CHANGES.md` to reflect all changes in the differences\n- between `HEAD` and the previous tagged version. Give credit where\n- credit is due.\n-- Update `README.md` to address all new, non-experimental features.\n-- Update the API reference on the Wiki to reflect all non-experimental\n- features.\n-- Use `npm version major|minor|patch` to update `package.json`,\n- commit, and tag the new version.\n-- Use `npm publish` to send up a new release.\n-- Send an email to the q-continuum mailing list announcing the new\n- release and the notes from the change log. This helps folks\n- maintaining other package ecosystems.\n-\ndiff --git a/src/plone/staticresources/static/components/q/LICENSE b/src/plone/staticresources/static/components/q/LICENSE\ndeleted file mode 100644\nindex 8a706b59..00000000\n--- a/src/plone/staticresources/static/components/q/LICENSE\n+++ /dev/null\n@@ -1,18 +0,0 @@\n-Copyright 2009\xe2\x80\x932014 Kristopher Michael Kowal. All rights reserved.\n-Permission is hereby granted, free of charge, to any person obtaining a copy\n-of this software and associated documentation files (the "Software"), to\n-deal in the Software without restriction, including without limitation the\n-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n-sell copies of the Software, and to permit persons to whom the Software is\n-furnished to do so, subject to the following conditions:\n-\n-The above copyright notice and this permission notice shall be included in\n-all copies or substantial portions of the Software.\n-\n-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n-IN THE SOFTWARE.\ndiff --git a/src/plone/staticresources/static/components/q/README.md b/src/plone/staticresources/static/components/q/README.md\ndeleted file mode 100644\nindex bdd4168c..00000000\n--- a/src/plone/staticresources/static/components/q/README.md\n+++ /dev/null\n@@ -1,820 +0,0 @@\n-[![Build Status](https://secure.travis-ci.org/kriskowal/q.png?branch=master)](http://travis-ci.org/kriskowal/q)\n-\n-
    \n- Promises/A+ logo\n-\n-\n-*This is Q version 1, from the `v1` branch in Git. This documentation applies to\n-the latest of both the version 1 and version 0.9 release trains. These releases\n-are stable. There will be no further releases of 0.9 after 0.9.7 which is nearly\n-equivalent to version 1.0.0. All further releases of `q@~1.0` will be backward\n-compatible. The version 2 release train introduces significant but\n-backward-incompatible changes and is experimental at this time.*\n-\n-If a function cannot return a value or throw an exception without\n-blocking, it can return a promise instead. A promise is an object\n-that represents the return value or the thrown exception that the\n-function may eventually provide. A promise can also be used as a\n-proxy for a [remote object][Q-Connection] to overcome latency.\n-\n-[Q-Connection]: https://github.com/kriskowal/q-connection\n-\n-On the first pass, promises can mitigate the \xe2\x80\x9c[Pyramid of\n-Doom][POD]\xe2\x80\x9d: the situation where code marches to the right faster\n-than it marches forward.\n-\n-[POD]: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/\n-\n-```javascript\n-step1(function (value1) {\n- step2(value1, function(value2) {\n- step3(value2, function(value3) {\n- step4(value3, function(value4) {\n- // Do something with value4\n- });\n- });\n- });\n-});\n-```\n-\n-With a promise library, you can flatten the pyramid.\n-\n-```javascript\n-Q.fcall(promisedStep1)\n-.then(promisedStep2)\n-.then(promisedStep3)\n-.then(promisedStep4)\n-.then(function (value4) {\n- // Do something with value4\n-})\n-.catch(function (error) {\n- // Handle any error from all above steps\n-})\n-.done();\n-```\n-\n-With this approach, you also get implicit error propagation, just like `try`,\n-`catch`, and `finally`. An error in `promisedStep1` will flow all the way to\n-the `catch` function, where it\xe2\x80\x99s caught and handled. (Here `promisedStepN` is\n-a version of `stepN` that returns a promise.)\n-\n-The callback approach is called an \xe2\x80\x9cinversion of control\xe2\x80\x9d.\n-A function that accepts a callback instead of a return value\n-is saying, \xe2\x80\x9cDon\xe2\x80\x99t call me, I\xe2\x80\x99ll call you.\xe2\x80\x9d. Promises\n-[un-invert][IOC] the inversion, cleanly separating the input\n-arguments from control flow arguments. This simplifies the\n-use and creation of API\xe2\x80\x99s, particularly variadic,\n-rest and spread arguments.\n-\n-[IOC]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\n-\n-\n-## Getting Started\n-\n-The Q module can be loaded as:\n-\n-- A ``\n-\n-\n-```\n-\n-We\'ve also built a [starter kit](http://facebook.github.io/react/downloads/react-0.9.0.zip) which might be useful if this is your first time using React. It includes a webpage with an example of using React with live code.\n-\n-If you\'d like to use [bower](http://bower.io), it\'s as easy as:\n-\n-```sh\n-bower install --save react\n-```\n-\n-## Contribute\n-\n-The main purpose of this repository is to continue to evolve React core, making it faster and easier to use. If you\'re interested in helping with that, then keep reading. If you\'re not interested in helping right now that\'s ok too. :) Any feedback you have about using React would be greatly appreciated.\n-\n-### Building Your Copy of React\n-\n-The process to build `react.js` is built entirely on top of node.js, using many libraries you may already be familiar with.\n-\n-#### Prerequisites\n-\n-* You have `node` installed at v0.10.0+ (it might work at lower versions, we just haven\'t tested).\n-* You are familiar with `npm` and know whether or not you need to use `sudo` when installing packages globally.\n-* You are familiar with `git`.\n-\n-#### Build\n-\n-Once you have the repository cloned, building a copy of `react.js` is really easy.\n-\n-```sh\n-# grunt-cli is needed by grunt; you might have this installed already\n-npm install -g grunt-cli\n-npm install\n-grunt build\n-```\n-\n-At this point, you should now have a `build/` directory populated with everything you need to use React. The examples should all work.\n-\n-### Grunt\n-\n-We use grunt to automate many tasks. Run `grunt -h` to see a mostly complete listing. The important ones to know:\n-\n-```sh\n-# Build and run tests with PhantomJS\n-grunt test\n-# Build and run tests in your browser\n-grunt test --debug\n-# Lint the code with JSHint\n-grunt lint\n-# Wipe out build directory\n-grunt clean\n-```\n-\n-### More\xe2\x80\xa6\n-\n-There\'s only so much we can cram in here. To read more about the community and guidelines for submitting pull requests, please read the [Contributing document](CONTRIBUTING.md).\ndiff --git a/src/plone/staticresources/static/components/react/bin/jsx b/src/plone/staticresources/static/components/react/bin/jsx\ndeleted file mode 100755\nindex e0f6247a..00000000\n--- a/src/plone/staticresources/static/components/react/bin/jsx\n+++ /dev/null\n@@ -1,24 +0,0 @@\n-#!/usr/bin/env node\n-// -*- mode: js -*-\n-"use strict";\n-\n-var visitors = require(\'../vendor/fbtransform/visitors\');\n-var transform = require(\'jstransform\').transform;\n-\n-require(\'commoner\').version(\n- require(\'../package.json\').version\n-).resolve(function(id) {\n- return this.readModuleP(id);\n-}).option(\n- \'--harmony\',\n- \'Turns on JS transformations such as ES6 Classes etc.\'\n-).process(function(id, source) {\n- // This is where JSX, ES6, etc. desugaring happens.\n- var visitorList;\n- if (this.options.harmony) {\n- visitorList = visitors.getAllVisitors();\n- } else {\n- visitorList = visitors.transformVisitors.react;\n- }\n- return transform(visitorList, source).code;\n-});\ndiff --git a/src/plone/staticresources/static/components/react/bin/jsx-internal b/src/plone/staticresources/static/components/react/bin/jsx-internal\ndeleted file mode 100755\nindex 430e596c..00000000\n--- a/src/plone/staticresources/static/components/react/bin/jsx-internal\n+++ /dev/null\n@@ -1,58 +0,0 @@\n-#!/usr/bin/env node\n-// -*- mode: js -*-\n-"use strict";\n-\n-var getAllVisitors = require(\'../vendor/fbtransform/visitors\').getAllVisitors;\n-var transform = require(\'jstransform\').transform;\n-var propagate = require("../vendor/constants").propagate;\n-\n-require("commoner").version(\n- require("../package.json").version\n-).resolve(function(id) {\n- var context = this;\n-\n- // Note that the result of context.getProvidedP() is cached for the\n- // duration of the build, so it is both consistent and cheap to\n- // evaluate multiple times.\n- return context.getProvidedP().then(function(idToPath) {\n- // If a module declares its own identifier using @providesModule\n- // then that identifier will be a key in the idToPath object.\n- if (idToPath.hasOwnProperty(id)) {\n- return context.readFileP(idToPath[id]);\n- }\n-\n- // Otherwise assume the identifier maps directly to a path in the\n- // filesystem.\n- return context.readModuleP(id);\n- });\n-\n-}).process(function(id, source) {\n- var context = this;\n- var constants = context.config.constants || {};\n-\n- // This is where JSX, ES6, etc. desugaring happens.\n- source = transform(getAllVisitors(), source).code;\n-\n- // Constant propagation means removing any obviously dead code after\n- // replacing constant expressions with literal (boolean) values.\n- source = propagate(constants, source);\n-\n- if (context.config.mocking) {\n- // Make sure there is exactly one newline at the end of the module.\n- source = source.replace(/\\s+$/m, "\\n");\n-\n- return context.getProvidedP().then(function(idToPath) {\n- if (id !== "mock-modules" &&\n- id !== "mocks" &&\n- id !== "test/all" &&\n- idToPath.hasOwnProperty("mock-modules")) {\n- return source + \'\\nrequire("mock-modules").register(\' +\n- JSON.stringify(id) + \', module);\\n\';\n- }\n-\n- return source;\n- });\n- }\n-\n- return source;\n-});\ndiff --git a/src/plone/staticresources/static/components/react/bower.json b/src/plone/staticresources/static/components/react/bower.json\nnew file mode 100644\nindex 00000000..e0389076\n--- /dev/null\n+++ b/src/plone/staticresources/static/components/react/bower.json\n@@ -0,0 +1,5 @@\n+{\n+ "name": "react",\n+ "version": "0.10.0",\n+ "main": "react.js"\n+}\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/react/docs/Gemfile.lock b/src/plone/staticresources/static/components/react/docs/Gemfile.lock\ndeleted file mode 100644\nindex 2324fda4..00000000\n--- a/src/plone/staticresources/static/components/react/docs/Gemfile.lock\n+++ /dev/null\n@@ -1,61 +0,0 @@\n-GEM\n- remote: https://rubygems.org/\n- specs:\n- classifier (1.3.3)\n- fast-stemmer (>= 1.0.0)\n- colorator (0.1)\n- commander (4.1.5)\n- highline (~> 1.6.11)\n- fast-stemmer (1.0.2)\n- ffi (1.9.3)\n- highline (1.6.20)\n- jekyll (1.3.0)\n- classifier (~> 1.3)\n- colorator (~> 0.1)\n- commander (~> 4.1.3)\n- liquid (~> 2.5.2)\n- listen (~> 1.3)\n- maruku (~> 0.6.0)\n- pygments.rb (~> 0.5.0)\n- redcarpet (~> 2.3.0)\n- safe_yaml (~> 0.9.7)\n- json (1.8.1)\n- liquid (2.5.4)\n- listen (1.3.1)\n- rb-fsevent (>= 0.9.3)\n- rb-inotify (>= 0.9)\n- rb-kqueue (>= 0.2)\n- maruku (0.6.1)\n- syntax (>= 1.0.0)\n- mini_portile (0.5.2)\n- nokogiri (1.6.0)\n- mini_portile (~> 0.5.0)\n- posix-spawn (0.3.6)\n- pygments.rb (0.5.4)\n- posix-spawn (~> 0.3.6)\n- yajl-ruby (~> 1.1.0)\n- rake (10.1.0)\n- rb-fsevent (0.9.3)\n- rb-inotify (0.9.2)\n- ffi (>= 0.5.0)\n- rb-kqueue (0.2.0)\n- ffi (>= 0.5.0)\n- redcarpet (2.3.0)\n- safe_yaml (0.9.7)\n- sanitize (2.0.6)\n- nokogiri (>= 1.4.4)\n- sass (3.2.12)\n- syntax (1.0.0)\n- yajl-ruby (1.1.0)\n-\n-PLATFORMS\n- ruby\n-\n-DEPENDENCIES\n- jekyll (~> 1.3.0)\n- json\n- rake\n- rb-fsevent\n- redcarpet\n- sanitize\n- sass\ndiff --git a/src/plone/staticresources/static/components/react/docs/Rakefile b/src/plone/staticresources/static/components/react/docs/Rakefile\ndeleted file mode 100644\nindex f10e3179..00000000\n--- a/src/plone/staticresources/static/components/react/docs/Rakefile\n+++ /dev/null\n@@ -1,37 +0,0 @@\n-require(\'rubygems\')\n-require(\'json\')\n-require(\'yaml\')\n-\n-desc "generate css from sass"\n-task :css do\n- system "sass --style=compressed _css/react.scss css/react.css"\n-end\n-\n-desc "generate js from jsx"\n-task :js do\n- system "../bin/jsx _js js"\n-end\n-\n-desc "watch css & js"\n-task :watch do\n- Process.spawn "sass --style=compressed --watch _css/react.scss:css/react.css"\n- Process.spawn "../bin/jsx --watch _js js"\n- Process.waitall\n-end\n-\n-desc "update version to match ../package.json"\n-task :update_version do\n- react_version = JSON.parse(File.read(\'../package.json\'))[\'version\']\n- site_config = YAML.load_file(\'_config.yml\')\n- if site_config[\'react_version\'] != react_version\n- site_config[\'react_version\'] = react_version\n- File.open(\'_config.yml\', \'w+\') { |f| f.write(site_config.to_yaml) }\n- end\n-end\n-\n-desc "build into ../../react-gh-pages"\n-task :release => [:update_version, :default] do\n- system "jekyll build -d ../../react-gh-pages"\n-end\n-\n-task :default => [:css, :js]\ndiff --git a/src/plone/staticresources/static/components/react/docs/_includes/blog_post.html b/src/plone/staticresources/static/components/react/docs/_includes/blog_post.html\ndeleted file mode 100644\nindex 4fb6231c..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_includes/blog_post.html\n+++ /dev/null\n@@ -1,10 +0,0 @@\n-

    {{ page.title }}

    \n-

    {{ page.date | date_to_string }} by {{ page.author }}

    \n-\n-
    \n-{% if content != \'\' %}\n- {{ page.excerpt }}\n-{% else %}\n- {{ page.content }}\n-{% endif %}\n-
    \ndiff --git a/src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html b/src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html\ndeleted file mode 100644\nindex 75ff77e5..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_includes/nav_blog.html\n+++ /dev/null\n@@ -1,11 +0,0 @@\n-\ndiff --git a/src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html b/src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html\ndeleted file mode 100644\nindex a66b822b..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_includes/nav_docs.html\n+++ /dev/null\n@@ -1,42 +0,0 @@\n-\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js b/src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js\ndeleted file mode 100644\nindex 033c27a3..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/es5-sham.min.js\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5-sham",definition)}else{definition()}})(function(){var call=Function.prototype.call;var prototypeOfObject=Object.prototype;var owns=call.bind(prototypeOfObject.hasOwnProperty);var defineGetter;var defineSetter;var lookupGetter;var lookupSetter;var supportsAccessors;if(supportsAccessors=owns(prototypeOfObject,"__defineGetter__")){defineGetter=call.bind(prototypeOfObject.__defineGetter__);defineSetter=call.bind(prototypeOfObject.__defineSetter__);lookupGetter=call.bind(prototypeOfObject.__lookupGetter__);lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)}if(!Object.getPrototypeOf){Object.getPrototypeOf=function getPrototypeOf(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}}function doesGetOwnPropertyDescriptorWork(object){try{object.sentinel=0;return Object.getOwnPropertyDescriptor(object,"sentinel").value===0}catch(exception){}}if(Object.defineProperty){var getOwnPropertyDescriptorWorksOnObject=doesGetOwnPropertyDescriptorWork({});var getOwnPropertyDescriptorWorksOnDom=typeof document=="undefined"||doesGetOwnPropertyDescriptorWork(document.createElement("div"));if(!getOwnPropertyDescriptorWorksOnDom||!getOwnPropertyDescriptorWorksOnObject){var getOwnPropertyDescriptorFallback=Object.getOwnPropertyDescriptor}}if(!Object.getOwnPropertyDescriptor||getOwnPropertyDescriptorFallback){var ERR_NON_OBJECT="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(object,property){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError(ERR_NON_OBJECT+object)}if(getOwnPropertyDescriptorFallback){try{return getOwnPropertyDescriptorFallback.call(Object,object,property)}catch(exception){}}if(!owns(object,property)){return}var descriptor={enumerable:true,configurable:true};if(supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property);var setter=lookupSetter(object,property);object.__proto__=prototype;if(getter||setter){if(getter){descriptor.get=getter}if(setter){descriptor.set=setter}return descriptor}}descriptor.value=object[property];descriptor.writable=true;return descriptor}}if(!Object.getOwnPropertyNames){Object.getOwnPropertyNames=function getOwnPropertyNames(object){return Object.keys(object)}}if(!Object.create){var createEmpty;var supportsProto=Object.prototype.__proto__===null;if(supportsProto||typeof document=="undefined"){createEmpty=function(){return{__proto__:null}}}else{createEmpty=function(){var iframe=document.createElement("iframe");var parent=document.body||document.documentElement;iframe.style.display="none";parent.appendChild(iframe);iframe.src="javascript:";var empty=iframe.contentWindow.Object.prototype;parent.removeChild(iframe);iframe=null;delete empty.constructor;delete empty.hasOwnProperty;delete empty.propertyIsEnumerable;delete empty.isPrototypeOf;delete empty.toLocaleString;delete empty.toString;delete empty.valueOf;empty.__proto__=null;function Empty(){}Empty.prototype=empty;createEmpty=function(){return new Empty};return new Empty}}Object.create=function create(prototype,properties){var object;function Type(){}if(prototype===null){object=createEmpty()}else{if(typeof prototype!=="object"&&typeof prototype!=="function"){throw new TypeError("Object prototype may only be an Object or null")}Type.prototype=prototype;object=new Type;object.__proto__=prototype}if(properties!==void 0){Object.defineProperties(object,properties)}return object}}function doesDefinePropertyWork(object){try{Object.defineProperty(object,"sentinel",{});return"sentinel"in object}catch(exception){}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({});var definePropertyWorksOnDom=typeof document=="undefined"||doesDefinePropertyWork(document.createElement("div"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom){var definePropertyFallback=Object.defineProperty,definePropertiesFallback=Object.defineProperties}}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR="Property description must be an object: ";var ERR_NON_OBJECT_TARGET="Object.defineProperty called on non-object: ";var ERR_ACCESSORS_NOT_SUPPORTED="getters & setters can not be defined "+"on this javascript engine";Object.defineProperty=function defineProperty(object,property,descriptor){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError(ERR_NON_OBJECT_TARGET+object)}if(typeof descriptor!="object"&&typeof descriptor!="function"||descriptor===null){throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor)}if(definePropertyFallback){try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}}if(owns(descriptor,"value")){if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject;delete object[property];object[property]=descriptor.value;object.__proto__=prototype}else{object[property]=descriptor.value}}else{if(!supportsAccessors){throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED)}if(owns(descriptor,"get")){defineGetter(object,property,descriptor.get)}if(owns(descriptor,"set")){defineSetter(object,property,descriptor.set)}}return object}}if(!Object.defineProperties||definePropertiesFallback){Object.defineProperties=function defineProperties(object,properties){if(definePropertiesFallback){try{return definePropertiesFallback.call(Object,object,properties)}catch(exception){}}for(var property in properties){if(owns(properties,property)&&property!="__proto__"){Object.defineProperty(object,property,properties[property])}}return object}}if(!Object.seal){Object.seal=function seal(object){return object}}if(!Object.freeze){Object.freeze=function freeze(object){return object}}try{Object.freeze(function(){})}catch(exception){Object.freeze=function freeze(freezeObject){return function freeze(object){if(typeof object=="function"){return object}else{return freezeObject(object)}}}(Object.freeze)}if(!Object.preventExtensions){Object.preventExtensions=function preventExtensions(object){return object}}if(!Object.isSealed){Object.isSealed=function isSealed(object){return false}}if(!Object.isFrozen){Object.isFrozen=function isFrozen(object){return false}}if(!Object.isExtensible){Object.isExtensible=function isExtensible(object){if(Object(object)!==object){throw new TypeError}var name="";while(owns(object,name)){name+="?"}object[name]=true;var returnValue=owns(object,name);delete object[name];return returnValue}}});\n-//# sourceMappingURL=es5-sham.map\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js b/src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js\ndeleted file mode 100644\nindex 50502e05..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/es5-shim.min.js\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5",definition)}else{definition()}})(function(){if(parseInt("08")!==8){parseInt=function(origParseInt){var hexRegex=/^0[xX]/;return function parseIntES5(str,radix){str=String(str).trim();if(!+radix){radix=hexRegex.test(str)?16:10}return origParseInt(str,radix)}}(parseInt)}function Empty(){}if(!Function.prototype.bind){Function.prototype.bind=function bind(that){var target=this;if(typeof target!="function"){throw new TypeError("Function.prototype.bind called on incompatible "+target)}var args=_Array_slice_.call(arguments,1);var binder=function(){if(this instanceof bound){var result=target.apply(this,args.concat(_Array_slice_.call(arguments)));if(Object(result)===result){return result}return this}else{return target.apply(that,args.concat(_Array_slice_.call(arguments)))}};var boundLength=Math.max(0,target.length-args.length);var boundArgs=[];for(var i=0;i0){if(deleteCount<=0){if(start==this.length){array_push.apply(this,args);return[]}if(start==0){array_unshift.apply(this,args);return[]}}result=_Array_slice_.call(this,start,start+deleteCount);args.push.apply(args,_Array_slice_.call(this,start+deleteCount,this.length));args.unshift.apply(args,_Array_slice_.call(this,0,start));args.unshift(0,this.length);array_splice.apply(this,args);return result}return array_splice.call(this,start,deleteCount)}}}if([].unshift(0)!=1){var array_unshift=Array.prototype.unshift;Array.prototype.unshift=function(){array_unshift.apply(this,arguments);return this.length}}if(!Array.isArray){Array.isArray=function isArray(obj){return _toString(obj)=="[object Array]"}}var boxedString=Object("a"),splitString=boxedString[0]!="a"||!(0 in boxedString);var boxedForEach=true;if(Array.prototype.forEach){Array.prototype.forEach.call("foo",function(item,i,obj){if(typeof obj!=="object")boxedForEach=false})}if(!Array.prototype.forEach||!boxedForEach){Array.prototype.forEach=function forEach(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError}while(++i>>0,result=Array(length),thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,result=[],value,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduce of empty array with no initial value")}var i=0;var result;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i++];break}if(++i>=length){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduceRight of empty array with no initial value")}var result,i=length-1;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i--];break}if(--i<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(i<0){return result}do{if(i in this){result=fun.call(void 0,result,self[i],i,object)}}while(i--);return result}}if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1){Array.prototype.indexOf=function indexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=0;if(arguments.length>1){i=toInteger(arguments[1])}i=i>=0?i:Math.max(0,length+i);for(;i>>0;if(!length){return-1}var i=length-1;if(arguments.length>1){i=Math.min(i,toInteger(arguments[1]))}i=i>=0?i:length-Math.abs(i);for(;i>=0;i--){if(i in self&&sought===self[i]){return i}}return-1}}if(!Object.keys){var hasDontEnumBug=true,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null}){hasDontEnumBug=false}Object.keys=function keys(object){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError("Object.keys called on a non-object")}var keys=[];for(var name in object){if(owns(object,name)){keys.push(name)}}if(hasDontEnumBug){for(var i=0,ii=dontEnumsLength;i9999?"+":"")+("00000"+Math.abs(year)).slice(0<=year&&year<=9999?-4:-6);length=result.length;while(length--){value=result[length];if(value<10){result[length]="0"+value}}return year+"-"+result.slice(0,2).join("-")+"T"+result.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"}}var dateToJSONIsSupported=false;try{dateToJSONIsSupported=Date.prototype.toJSON&&new Date(NaN).toJSON()===null&&new Date(negativeDate).toJSON().indexOf(negativeYearString)!==-1&&Date.prototype.toJSON.call({toISOString:function(){return true}})}catch(e){}if(!dateToJSONIsSupported){Date.prototype.toJSON=function toJSON(key){var o=Object(this),tv=toPrimitive(o),toISO;if(typeof tv==="number"&&!isFinite(tv)){return null}toISO=o.toISOString;if(typeof toISO!="function"){throw new TypeError("toISOString property is not callable")}return toISO.call(o)}}if(!Date.parse||"Date.parse is buggy"){Date=function(NativeDate){function Date(Y,M,D,h,m,s,ms){var length=arguments.length;if(this instanceof NativeDate){var date=length==1&&String(Y)===Y?new NativeDate(Date.parse(Y)):length>=7?new NativeDate(Y,M,D,h,m,s,ms):length>=6?new NativeDate(Y,M,D,h,m,s):length>=5?new NativeDate(Y,M,D,h,m):length>=4?new NativeDate(Y,M,D,h):length>=3?new NativeDate(Y,M,D):length>=2?new NativeDate(Y,M):length>=1?new NativeDate(Y):new NativeDate;date.constructor=Date;return date}return NativeDate.apply(this,arguments)}var isoDateExpression=new RegExp("^"+"(\\\\d{4}|[+-]\\\\d{6})"+"(?:-(\\\\d{2})"+"(?:-(\\\\d{2})"+"(?:"+"T(\\\\d{2})"+":(\\\\d{2})"+"(?:"+":(\\\\d{2})"+"(?:(\\\\.\\\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\\\d{2})"+":(\\\\d{2})"+")"+")?)?)?)?"+"$");var months=[0,31,59,90,120,151,181,212,243,273,304,334,365];function dayFromMonth(year,month){var t=month>1?1:0;return months[month]+Math.floor((year-1969+t)/4)-Math.floor((year-1901+t)/100)+Math.floor((year-1601+t)/400)+365*(year-1970)}function toUTC(t){return Number(new NativeDate(1970,0,1,0,0,0,t))}for(var key in NativeDate){Date[key]=NativeDate[key]}Date.now=NativeDate.now;Date.UTC=NativeDate.UTC;Date.prototype=NativeDate.prototype;Date.prototype.constructor=Date;Date.parse=function parse(string){var match=isoDateExpression.exec(string);if(match){var year=Number(match[1]),month=Number(match[2]||1)-1,day=Number(match[3]||1)-1,hour=Number(match[4]||0),minute=Number(match[5]||0),second=Number(match[6]||0),millisecond=Math.floor(Number(match[7]||0)*1e3),isLocalTime=Boolean(match[4]&&!match[8]),signOffset=match[9]==="-"?1:-1,hourOffset=Number(match[10]||0),minuteOffset=Number(match[11]||0),result;if(hour<(minute>0||second>0||millisecond>0?24:25)&&minute<60&&second<60&&millisecond<1e3&&month>-1&&month<12&&hourOffset<24&&minuteOffset<60&&day>-1&&day=0){c+=data[i];data[i]=Math.floor(c/n);c=c%n*base}}function toString(){var i=size;var s="";while(--i>=0){if(s!==""||i===0||data[i]!==0){var t=String(data[i]);if(s===""){s=t}else{s+="0000000".slice(0,7-t.length)+t}}}return s}function pow(x,n,acc){return n===0?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)}function log(x){var n=0;while(x>=4096){n+=12;x/=4096}while(x>=2){n+=1;x/=2}return n}Number.prototype.toFixed=function(fractionDigits){var f,x,s,m,e,z,j,k;f=Number(fractionDigits);f=f!==f?0:Math.floor(f);if(f<0||f>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}x=Number(this);if(x!==x){return"NaN"}if(x<=-1e21||x>=1e21){return String(x)}s="";if(x<0){s="-";x=-x}m="0";if(x>1e-21){e=log(x*pow(2,69,1))-69;z=e<0?x*pow(2,-e,1):x/pow(2,e,1);z*=4503599627370496;e=52-e;if(e>0){multiply(0,z);j=f;while(j>=7){multiply(1e7,0);j-=7}multiply(pow(10,j,1),0);j=e-1;while(j>=23){divide(1<<23);j-=23}divide(1<0){k=m.length;if(k<=f){m=s+"0.0000000000000000000".slice(0,f-k+2)+m}else{m=s+m.slice(0,k-f)+"."+m.slice(k-f)}}else{m=s+m}return m}})()}var string_split=String.prototype.split;if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"".split(/.?/).length||".".split(/()()/).length>1){(function(){var compliantExecNpcg=/()??/.exec("")[1]===void 0;String.prototype.split=function(separator,limit){var string=this;if(separator===void 0&&limit===0)return[];if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return string_split.apply(this,arguments)}var output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.extended?"x":"")+(separator.sticky?"y":""),lastLastIndex=0,separator=new RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;string+="";if(!compliantExecNpcg){separator2=new RegExp("^"+separator.source+"$(?!\\\\s)",flags)}limit=limit===void 0?-1>>>0:limit>>>0;while(match=separator.exec(string)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(string.slice(lastLastIndex,match.index));if(!compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i1&&match.index=limit){break}}if(separator.lastIndex===match.index){separator.lastIndex++}}if(lastLastIndex===string.length){if(lastLength||!separator.test("")){output.push("")}}else{output.push(string.slice(lastLastIndex))}return output.length>limit?output.slice(0,limit):output}})()}else if("0".split(void 0,0).length){String.prototype.split=function(separator,limit){if(separator===void 0&&limit===0)return[];return string_split.apply(this,arguments)}}if("".substr&&"0b".substr(-1)!=="b"){var string_substr=String.prototype.substr;String.prototype.substr=function(start,length){return string_substr.call(this,start<0?(start=this.length+start)<0?0:start:start,length)}}var ws="\t\\n\x0b\\f\\r \\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003"+"\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028"+"\\u2029\\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=new RegExp("^"+ws+ws+"*"),trimEndRegexp=new RegExp(ws+ws+"*$");String.prototype.trim=function trim(){if(this===void 0||this===null){throw new TypeError("can\'t convert "+this+" to object")}return String(this).replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}function toInteger(n){n=+n;if(n!==n){n=0}else if(n!==0&&n!==1/0&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}return n}function isPrimitive(input){var type=typeof input;return input===null||type==="undefined"||type==="boolean"||type==="number"||type==="string"}function toPrimitive(input){var val,valueOf,toString;if(isPrimitive(input)){return input}valueOf=input.valueOf;if(typeof valueOf==="function"){val=valueOf.call(input);if(isPrimitive(val)){return val}}toString=input.toString;if(typeof toString==="function"){val=toString.call(input);if(isPrimitive(val)){return val}}throw new TypeError}var toObject=function(o){if(o==null){throw new TypeError("can\'t convert "+o+" to object")}return Object(o)}});\n-//# sourceMappingURL=es5-shim.map\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js b/src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js\ndeleted file mode 100644\nindex 02b36bcf..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/html-jsx-lib.js\n+++ /dev/null\n@@ -1,482 +0,0 @@\n-/**\n- * Copyright 2013-2014 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-/**\n- * This is a very simple HTML to JSX converter. It turns out that browsers \n- * have good HTML parsers (who would have thought?) so we utilise this by \n- * inserting the HTML into a temporary DOM node, and then do a breadth-first\n- * traversal of the resulting DOM tree.\n- */\n-;(function(global) {\n- \'use strict\';\n- \n- // https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType\n- var NODE_TYPE = {\n- ELEMENT: 1,\n- TEXT: 3,\n- COMMENT: 8\n- };\n- var ATTRIBUTE_MAPPING = {\n- \'for\': \'htmlFor\',\n- \'class\': \'className\'\n- };\n-\n- /**\n- * Repeats a string a certain number of times.\n- * Also: the future is bright and consists of native string repetition:\n- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n- *\n- * @param {string} string String to repeat\n- * @param {number} times Number of times to repeat string. Integer.\n- * @see http://jsperf.com/string-repeater/2 \n- */\n- function repeatString(string, times) {\n- if (times === 1) {\n- return string;\n- }\n- if (times < 0) { throw new Error(); }\n- var repeated = \'\';\n- while (times) {\n- if (times & 1) {\n- repeated += string;\n- }\n- if (times >>= 1) {\n- string += string;\n- }\n- }\n- return repeated;\n- }\n-\n- /**\n- * Determine if the string ends with the specified substring.\n- *\n- * @param {string} haystack String to search in\n- * @param {string} needle String to search for\n- * @return {boolean}\n- */\n- function endsWith(haystack, needle) {\n- return haystack.slice(-needle.length) === needle;\n- }\n-\n- /**\n- * Trim the specified substring off the string. If the string does not end \n- * with the specified substring, this is a no-op.\n- *\n- * @param {string} haystack String to search in\n- * @param {string} needle String to search for\n- * @return {string}\n- */\n- function trimEnd(haystack, needle) {\n- return endsWith(haystack, needle)\n- ? haystack.slice(0, -needle.length)\n- : haystack;\n- }\n-\n- /**\n- * Convert a hyphenated string to camelCase.\n- */\n- function hyphenToCamelCase(string) {\n- return string.replace(/-(.)/g, function(match, chr) {\n- return chr.toUpperCase();\n- });\n- }\n-\n- /**\n- * Determines if the specified string consists entirely of whitespace.\n- */\n- function isEmpty(string) {\n- return !/[^\\s]/.test(string);\n- }\n-\n- /**\n- * Determines if the specified string consists entirely of numeric characters.\n- */\n- function isNumeric(input) {\n- return input !== undefined \n- && input !== null \n- && (typeof input === \'number\' || parseInt(input, 10) == input);\n- }\n-\n- var HTMLtoJSX = function(config) {\n- this.config = config || {};\n-\n- if (this.config.createClass === undefined) {\n- this.config.createClass = true;\n- }\n- if (!this.config.indent) {\n- this.config.indent = \' \'; \n- }\n- if (!this.config.outputClassName) {\n- this.config.outputClassName = \'NewComponent\';\n- }\n- };\n- HTMLtoJSX.prototype = {\n- /**\n- * Reset the internal state of the converter\n- */\n- reset: function() {\n- this.output = \'\';\n- this.level = 0;\n- },\n- /**\n- * Main entry point to the converter. Given the specified HTML, returns a\n- * JSX object representing it.\n- * @param {string} html HTML to convert\n- * @return {string} JSX\n- */\n- convert: function(html) {\n- this.reset();\n-\n- // It turns out browsers have good HTML parsers (imagine that). \n- // Let\'s take advantage of it.\n- var containerEl = document.createElement(\'div\');\n- containerEl.innerHTML = \'\\n\' + this._cleanInput(html) + \'\\n\';\n-\n- if (this.config.createClass) {\n- if (this.config.outputClassName) {\n- this.output = \'var \' + this.config.outputClassName + \' = React.createClass({\\n\';\n- } else {\n- this.output = \'React.createClass({\\n\';\n- }\n- this.output += this.config.indent + \'render: function() {\' + "\\n";\n- this.output += this.config.indent + this.config.indent + \'return (\\n\';\n- }\n-\n- if (this._onlyOneTopLevel(containerEl)) {\n- // Only one top-level element, the component can return it directly\n- // No need to actually visit the container element\n- this._traverse(containerEl);\n- } else {\n- // More than one top-level element, need to wrap the whole thing in a \n- // container.\n- this.output += this.config.indent + this.config.indent + this.config.indent;\n- this.level++;\n- this._visit(containerEl);\n- }\n- this.output = this.output.trim() + \'\\n\';\n- if (this.config.createClass) {\n- this.output += this.config.indent + this.config.indent + \');\\n\';\n- this.output += this.config.indent + \'}\\n\';\n- this.output += \'});\';\n- }\n- return this.output;\n- },\n-\n- /**\n- * Cleans up the specified HTML so it\'s in a format acceptable for \n- * converting.\n- *\n- * @param {string} html HTML to clean\n- * @return {string} Cleaned HTML\n- */\n- _cleanInput: function(html) {\n- // Remove unnecessary whitespace\n- html = html.trim();\n- // Ugly method to strip script tags. They can wreak havoc on the DOM nodes\n- // so let\'s not even put them in the DOM.\n- html = html.replace(//g, \'\');\n- return html;\n- },\n-\n- /**\n- * Determines if there\'s only one top-level node in the DOM tree. That is,\n- * all the HTML is wrapped by a single HTML tag.\n- *\n- * @param {DOMElement} containerEl Container element\n- * @return {boolean}\n- */\n- _onlyOneTopLevel: function(containerEl) {\n- // Only a single child element\n- if (\n- containerEl.childNodes.length === 1 \n- && containerEl.childNodes[0].nodeType === NODE_TYPE.ELEMENT\n- ) {\n- return true;\n- }\n- // Only one element, and all other children are whitespace\n- var foundElement = false;\n- for (var i = 0, count = containerEl.childNodes.length; i < count; i++) {\n- var child = containerEl.childNodes[i];\n- if (child.nodeType === NODE_TYPE.ELEMENT) {\n- if (foundElement) {\n- // Encountered an element after already encountering another one\n- // Therefore, more than one element at root level\n- return false;\n- } else {\n- foundElement = true;\n- }\n- } else if (child.nodeType === NODE_TYPE.TEXT && !isEmpty(child.textContent)) {\n- // Contains text content\n- return false;\n- }\n- }\n- return true;\n- },\n-\n- /**\n- * Gets a newline followed by the correct indentation for the current\n- * nesting level\n- *\n- * @return {string}\n- */\n- _getIndentedNewline: function() {\n- return \'\\n\' + repeatString(this.config.indent, this.level + 2);\n- },\n-\n- /**\n- * Handles processing the specified node\n- * \n- * @param {Node} node\n- */\n- _visit: function(node) {\n- this._beginVisit(node);\n- this._traverse(node);\n- this._endVisit(node);\n- },\n-\n- /**\n- * Traverses all the children of the specified node\n- *\n- * @param {Node} node\n- */\n- _traverse: function(node) {\n- this.level++;\n- for (var i = 0, count = node.childNodes.length; i < count; i++) {\n- this._visit(node.childNodes[i]);\n- }\n- this.level--;\n- },\n-\n- /**\n- * Handle pre-visit behaviour for the specified node.\n- *\n- * @param {Node} node\n- */\n- _beginVisit: function(node) {\n- switch (node.nodeType) {\n- case NODE_TYPE.ELEMENT:\n- this._beginVisitElement(node);\n- break;\n-\n- case NODE_TYPE.TEXT:\n- this._visitText(node);\n- break;\n-\n- case NODE_TYPE.COMMENT:\n- this._visitComment(node);\n- break;\n-\n- default:\n- console.warn(\'Unrecognised node type: \' + node.nodeType);\n- }\n- },\n-\n- /**\n- * Handles post-visit behaviour for the specified node.\n- *\n- * @param {Node} node\n- */\n- _endVisit: function(node) {\n- switch (node.nodeType) {\n- case NODE_TYPE.ELEMENT:\n- this._endVisitElement(node);\n- break;\n- // No ending tags required for these types\n- case NODE_TYPE.TEXT:\n- case NODE_TYPE.COMMENT:\n- break;\n- }\n- },\n-\n- /**\n- * Handles pre-visit behaviour for the specified element node\n- *\n- * @param {DOMElement} node\n- */\n- _beginVisitElement: function(node) {\n- var tagName = node.tagName.toLowerCase();\n- var attributes = [];\n- for (var i = 0, count = node.attributes.length; i < count; i++) {\n- attributes.push(this._getElementAttribute(node, node.attributes[i]));\n- }\n-\n- this.output += \'<\' + tagName;\n- if (attributes.length > 0) {\n- this.output += \' \' + attributes.join(\' \');\n- }\n- if (node.firstChild) {\n- this.output += \'>\';\n- }\n- },\n-\n- /**\n- * Handles post-visit behaviour for the specified element node\n- *\n- * @param {Node} node\n- */\n- _endVisitElement: function(node) {\n- // De-indent a bit\n- // TODO: It\'s inefficient to do it this way :/\n- this.output = trimEnd(this.output, this.config.indent);\n- if (node.firstChild) {\n- this.output += \'\';\n- } else {\n- this.output += \' />\';\n- }\n- },\n-\n- /**\n- * Handles processing of the specified text node\n- *\n- * @param {TextNode} node\n- */\n- _visitText: function(node) {\n- var text = node.textContent;\n- // If there\'s a newline in the text, adjust the indent level\n- if (text.indexOf(\'\\n\') > -1) {\n- text = node.textContent.replace(/\\n\\s*/g, this._getIndentedNewline());\n- }\n- this.output += text;\n- },\n-\n- /**\n- * Handles processing of the specified text node\n- *\n- * @param {Text} node\n- */\n- _visitComment: function(node) {\n- // Do not render the comment\n- // Since we remove comments, we also need to remove the next line break so we\n- // don\'t end up with extra whitespace after every comment\n- //if (node.nextSibling && node.nextSibling.nodeType === NODE_TYPE.TEXT) {\n- // node.nextSibling.textContent = node.nextSibling.textContent.replace(/\\n\\s*/, \'\');\n- //}\n- this.output += \'{/*\' + node.textContent.replace(\'*/\', \'* /\') + \'*/}\';\n- },\n-\n- /**\n- * Gets a JSX formatted version of the specified attribute from the node\n- *\n- * @param {DOMElement} node\n- * @param {object} attribute\n- * @return {string}\n- */\n- _getElementAttribute: function(node, attribute) {\n- switch (attribute.name) {\n- case \'style\':\n- return this._getStyleAttribute(attribute.value);\n- default:\n- var name = ATTRIBUTE_MAPPING[attribute.name] || attribute.name;\n- var result = name + \'=\';\n- // Numeric values should be output as {123} not "123"\n- if (isNumeric(attribute.value)) {\n- result += \'{\' + attribute.value + \'}\';\n- } else {\n- result += \'"\' + attribute.value.replace(\'"\', \'"\') + \'"\';\n- }\n- return result;\n- }\n- },\n-\n- /**\n- * Gets a JSX formatted version of the specified element styles\n- *\n- * @param {string} styles\n- * @return {string}\n- */\n- _getStyleAttribute: function(styles) {\n- var jsxStyles = new StyleParser(styles).toJSXString();\n- return \'style={{\' + jsxStyles + \'}}\';\n- }\n- };\n-\n- /**\n- * Handles parsing of inline styles\n- * \n- * @param {string} rawStyle Raw style attribute\n- * @constructor\n- */\n- var StyleParser = function(rawStyle) {\n- this.parse(rawStyle);\n- };\n- StyleParser.prototype = {\n- /**\n- * Parse the specified inline style attribute value\n- * @param {string} rawStyle Raw style attribute\n- */\n- parse: function(rawStyle) {\n- this.styles = {};\n- rawStyle.split(\';\').forEach(function(style) {\n- style = style.trim();\n- var firstColon = style.indexOf(\':\');\n- var key = style.substr(0, firstColon);\n- var value = style.substr(firstColon + 1).trim();\n- if (key !== \'\') {\n- this.styles[key] = value; \n- }\n- }, this);\n- },\n-\n- /**\n- * Convert the style information represented by this parser into a JSX\n- * string\n- *\n- * @return {string}\n- */\n- toJSXString: function() {\n- var output = [];\n- for (var key in this.styles) {\n- if (!this.styles.hasOwnProperty(key)) {\n- continue;\n- }\n- output.push(this.toJSXKey(key) + \': \' + this.toJSXValue(this.styles[key]));\n- }\n- return output.join(\', \');\n- },\n-\n- /**\n- * Convert the CSS style key to a JSX style key\n- *\n- * @param {string} key CSS style key\n- * @return {string} JSX style key\n- */\n- toJSXKey: function(key) {\n- return hyphenToCamelCase(key);\n- },\n-\n- /**\n- * Convert the CSS style value to a JSX style value\n- *\n- * @param {string} value CSS style value\n- * @return {string} JSX style value\n- */\n- toJSXValue: function(value) {\n- if (isNumeric(value)) {\n- // If numeric, no quotes\n- return value;\n- } else if (endsWith(value, \'px\')) {\n- // "500px" -> 500\n- return trimEnd(value, \'px\');\n- } else {\n- // Proably a string, wrap it in quotes\n- return \'\\\'\' + value.replace(/\'/g, \'"\') + \'\\\'\';\n- }\n- }\n- };\n-\n- // Expose public API\n- global.HTMLtoJSX = HTMLtoJSX;\n-}(window));\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/html-jsx.js b/src/plone/staticresources/static/components/react/docs/_js/html-jsx.js\ndeleted file mode 100644\nindex ea9b9d69..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/html-jsx.js\n+++ /dev/null\n@@ -1,89 +0,0 @@\n-/**\n- * Copyright 2013-2014 Facebook, Inc.\n- *\n- * Licensed under the Apache License, Version 2.0 (the "License");\n- * you may not use this file except in compliance with the License.\n- * You may obtain a copy of the License at\n- *\n- * http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an "AS IS" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- *\n- * @jsx React.DOM\n- */\n-\n-/**\n- * This is a web interface for the HTML to JSX converter contained in \n- * `html-jsx-lib.js`.\n- */\n-;(function() {\n-\n-var HELLO_COMPONENT = "\\\n-\\n\\\n-
    \\n\\\n- \\n\\\n- \\n\\\n-
    \\n\\\n-

    Enter your HTML here

    \\\n-";\n-\n- var HTMLtoJSXComponent = React.createClass({\n- getInitialState: function() {\n- return {\n- outputClassName: \'NewComponent\',\n- createClass: true\n- };\n- },\n- onReactClassNameChange: function(evt) {\n- this.setState({ outputClassName: evt.target.value });\n- },\n- onCreateClassChange: function(evt) {\n- this.setState({ createClass: evt.target.checked });\n- },\n- setInput: function(input) {\n- this.setState({ input: input });\n- this.convertToJsx();\n- },\n- convertToJSX: function(input) {\n- var converter = new HTMLtoJSX({\n- outputClassName: this.state.outputClassName,\n- createClass: this.state.createClass\n- });\n- return converter.convert(input);\n- },\n- \trender: function() {\n- return (\n-
    \n-
    \n- \n- \n-
    \n- \n-
    \n- );\n- }\n- });\n-\n- React.renderComponent(, document.getElementById(\'jsxCompiler\'));\n-}());\n\\ No newline at end of file\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js b/src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js\ndeleted file mode 100644\nindex dcf351c8..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/html5shiv.min.js\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-/*\n- HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\n-*/\n-(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();\n-a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return\'c("\'+a+\'")\'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x";\n-c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||\n-"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();\n-for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d, mountNode);\\\n-";\n-\n-var transformer = function(code) {\n- return JSXTransformer.transform(code).code;\n-}\n-React.renderComponent(\n- ,\n- document.getElementById(\'jsxCompiler\')\n-);\ndiff --git a/src/plone/staticresources/static/components/react/docs/_js/live_editor.js b/src/plone/staticresources/static/components/react/docs/_js/live_editor.js\ndeleted file mode 100644\nindex 1af8fa22..00000000\n--- a/src/plone/staticresources/static/components/react/docs/_js/live_editor.js\n+++ /dev/null\n@@ -1,210 +0,0 @@\n-/**\n- * @jsx React.DOM\n- */\n-\n-\n-var IS_MOBILE = (\n- navigator.userAgent.match(/Android/i)\n- || navigator.userAgent.match(/webOS/i)\n- || navigator.userAgent.match(/iPhone/i)\n- || navigator.userAgent.match(/iPad/i)\n- || navigator.userAgent.match(/iPod/i)\n- || navigator.userAgent.match(/BlackBerry/i)\n- || navigator.userAgent.match(/Windows Phone/i)\n-);\n-\n-var CodeMirrorEditor = React.createClass({\n- componentDidMount: function() {\n- if (IS_MOBILE) return;\n-\n- this.editor = CodeMirror.fromTextArea(this.refs.editor.getDOMNode(), {\n- mode: \'javascript\',\n- lineNumbers: false,\n- lineWrapping: true,\n- smartIndent: false, // javascript mode does bad things with jsx indents\n- matchBrackets: true,\n- theme: \'solarized-light\',\n- readOnly: this.props.readOnly\n- });\n- this.editor.on(\'change\', this.handleChange);\n- },\n-\n- componentDidUpdate: function() {\n- if (this.props.readOnly) {\n- this.editor.setValue(this.props.codeText);\n- }\n- },\n-\n- handleChange: function() {\n- if (!this.props.readOnly) {\n- this.props.onChange && this.props.onChange(this.editor.getValue());\n- }\n- },\n-\n- render: function() {\n- // wrap in a div to fully contain CodeMirror\n- var editor;\n-\n- if (IS_MOBILE) {\n- editor =
    {this.props.codeText}
    ;\n- } else {\n- editor =
  • \n-
    \n- \n-
    \n-