From 495f1d958e95129533fb609c39b8ce96b1cc0cbf Mon Sep 17 00:00:00 2001 From: synth-ruiner Date: Fri, 22 Dec 2017 17:22:08 +0000 Subject: [PATCH] initial --- .gitattributes | 17 + .gitignore | 47 + Rubik-Regular.ttf | Bin 0 -> 220600 bytes bitsy-default.txt | 5196 ++++ croppie.css | 250 + croppie.js | 1596 ++ dj-hamster.jpg | Bin 0 -> 49981 bytes index.html | 5196 ++++ index.pug | 83 + jquery.min.js | 4 + lodash.min.js | 136 + node_modules/.bin/acorn | 15 + node_modules/.bin/acorn.cmd | 7 + node_modules/.bin/cleancss | 15 + node_modules/.bin/cleancss.cmd | 7 + node_modules/.bin/errno | 15 + node_modules/.bin/errno.cmd | 7 + node_modules/.bin/image-size | 15 + node_modules/.bin/image-size.cmd | 7 + node_modules/.bin/jade | 15 + node_modules/.bin/jade.cmd | 7 + node_modules/.bin/lessc | 15 + node_modules/.bin/lessc.cmd | 7 + node_modules/.bin/mime | 15 + node_modules/.bin/mime.cmd | 7 + node_modules/.bin/mkdirp | 15 + node_modules/.bin/mkdirp.cmd | 7 + node_modules/.bin/pug | 15 + node_modules/.bin/pug.cmd | 7 + node_modules/.bin/sshpk-conv | 15 + node_modules/.bin/sshpk-conv.cmd | 7 + node_modules/.bin/sshpk-sign | 15 + node_modules/.bin/sshpk-sign.cmd | 7 + node_modules/.bin/sshpk-verify | 15 + node_modules/.bin/sshpk-verify.cmd | 7 + node_modules/.bin/uglifyjs | 15 + node_modules/.bin/uglifyjs.cmd | 7 + node_modules/.bin/uuid | 15 + node_modules/.bin/uuid.cmd | 7 + node_modules/acorn-globals/LICENSE | 19 + node_modules/acorn-globals/README.md | 76 + node_modules/acorn-globals/index.js | 163 + .../acorn-globals/node_modules/.bin/acorn | 15 + .../acorn-globals/node_modules/.bin/acorn.cmd | 7 + .../node_modules/acorn/.npmignore | 10 + .../acorn-globals/node_modules/acorn/AUTHORS | 62 + .../node_modules/acorn/CHANGELOG.md | 286 + .../acorn-globals/node_modules/acorn/LICENSE | 19 + .../node_modules/acorn/README.md | 409 + .../node_modules/acorn/bin/acorn | 67 + .../node_modules/acorn/dist/.keep | 0 .../node_modules/acorn/dist/acorn.es.js | 3401 +++ .../node_modules/acorn/dist/acorn.js | 3433 +++ .../node_modules/acorn/dist/acorn_loose.es.js | 1364 ++ .../node_modules/acorn/dist/acorn_loose.js | 1374 ++ .../node_modules/acorn/dist/walk.es.js | 342 + .../node_modules/acorn/dist/walk.js | 360 + .../node_modules/acorn/package.json | 275 + .../node_modules/acorn/src/bin/acorn.js | 60 + .../node_modules/acorn/src/expression.js | 819 + .../node_modules/acorn/src/identifier.js | 81 + .../node_modules/acorn/src/index.js | 77 + .../node_modules/acorn/src/location.js | 26 + .../node_modules/acorn/src/locutil.js | 42 + .../acorn/src/loose/expression.js | 562 + .../node_modules/acorn/src/loose/index.js | 48 + .../node_modules/acorn/src/loose/parseutil.js | 1 + .../node_modules/acorn/src/loose/state.js | 161 + .../node_modules/acorn/src/loose/statement.js | 450 + .../node_modules/acorn/src/loose/tokenize.js | 108 + .../node_modules/acorn/src/lval.js | 219 + .../node_modules/acorn/src/node.js | 50 + .../node_modules/acorn/src/options.js | 128 + .../node_modules/acorn/src/parseutil.js | 128 + .../node_modules/acorn/src/state.js | 111 + .../node_modules/acorn/src/statement.js | 744 + .../node_modules/acorn/src/tokencontext.js | 110 + .../node_modules/acorn/src/tokenize.js | 686 + .../node_modules/acorn/src/tokentype.js | 147 + .../node_modules/acorn/src/util.js | 9 + .../node_modules/acorn/src/walk/index.js | 342 + .../node_modules/acorn/src/whitespace.js | 13 + node_modules/acorn-globals/package.json | 96 + node_modules/acorn/.editorconfig | 7 + node_modules/acorn/.gitattributes | 1 + node_modules/acorn/.npmignore | 3 + node_modules/acorn/.tern-project | 6 + node_modules/acorn/.travis.yml | 7 + node_modules/acorn/AUTHORS | 59 + node_modules/acorn/CHANGELOG.md | 159 + node_modules/acorn/LICENSE | 19 + node_modules/acorn/README.md | 407 + node_modules/acorn/bin/acorn | 65 + .../acorn/bin/generate-identifier-regex.js | 55 + node_modules/acorn/bin/update_authors.sh | 6 + node_modules/acorn/dist/.keep | 0 node_modules/acorn/dist/acorn.es.js | 3112 +++ node_modules/acorn/dist/acorn.js | 3142 +++ node_modules/acorn/dist/acorn_loose.es.js | 1261 + node_modules/acorn/dist/acorn_loose.js | 1273 + node_modules/acorn/dist/walk.es.js | 342 + node_modules/acorn/dist/walk.js | 360 + node_modules/acorn/package.json | 272 + node_modules/acorn/rollup/config.bin.js | 15 + node_modules/acorn/rollup/config.loose.js | 20 + node_modules/acorn/rollup/config.main.js | 11 + node_modules/acorn/rollup/config.walk.js | 11 + node_modules/acorn/src/bin/acorn.js | 58 + node_modules/acorn/src/expression.js | 701 + node_modules/acorn/src/identifier.js | 82 + node_modules/acorn/src/index.js | 67 + node_modules/acorn/src/location.js | 26 + node_modules/acorn/src/locutil.js | 42 + node_modules/acorn/src/loose/expression.js | 514 + node_modules/acorn/src/loose/index.js | 50 + node_modules/acorn/src/loose/parseutil.js | 1 + node_modules/acorn/src/loose/state.js | 160 + node_modules/acorn/src/loose/statement.js | 425 + node_modules/acorn/src/loose/tokenize.js | 108 + node_modules/acorn/src/lval.js | 216 + node_modules/acorn/src/node.js | 50 + node_modules/acorn/src/options.js | 121 + node_modules/acorn/src/parseutil.js | 109 + node_modules/acorn/src/state.js | 104 + node_modules/acorn/src/statement.js | 654 + node_modules/acorn/src/tokencontext.js | 110 + node_modules/acorn/src/tokenize.js | 696 + node_modules/acorn/src/tokentype.js | 147 + node_modules/acorn/src/util.js | 9 + node_modules/acorn/src/walk/index.js | 342 + node_modules/acorn/src/whitespace.js | 13 + node_modules/ajv/.tonic_example.js | 20 + node_modules/ajv/LICENSE | 22 + node_modules/ajv/README.md | 1213 + node_modules/ajv/dist/ajv.bundle.js | 8023 +++++++ node_modules/ajv/dist/ajv.min.js | 6 + node_modules/ajv/dist/ajv.min.js.map | 1 + node_modules/ajv/dist/nodent.min.js | 8 + node_modules/ajv/dist/regenerator.min.js | 32 + node_modules/ajv/lib/ajv.d.ts | 284 + node_modules/ajv/lib/ajv.js | 420 + node_modules/ajv/lib/async.js | 218 + node_modules/ajv/lib/cache.js | 26 + node_modules/ajv/lib/compile/_rules.js | 28 + node_modules/ajv/lib/compile/equal.js | 45 + node_modules/ajv/lib/compile/formats.js | 164 + node_modules/ajv/lib/compile/index.js | 390 + node_modules/ajv/lib/compile/resolve.js | 267 + node_modules/ajv/lib/compile/rules.js | 40 + node_modules/ajv/lib/compile/schema_obj.js | 9 + node_modules/ajv/lib/compile/ucs2length.js | 20 + node_modules/ajv/lib/compile/util.js | 257 + .../ajv/lib/compile/validation_error.js | 14 + node_modules/ajv/lib/dot/_limit.jst | 49 + node_modules/ajv/lib/dot/_limitItems.jst | 10 + node_modules/ajv/lib/dot/_limitLength.jst | 10 + node_modules/ajv/lib/dot/_limitProperties.jst | 10 + node_modules/ajv/lib/dot/allOf.jst | 34 + node_modules/ajv/lib/dot/anyOf.jst | 48 + node_modules/ajv/lib/dot/coerce.def | 61 + node_modules/ajv/lib/dot/custom.jst | 184 + node_modules/ajv/lib/dot/defaults.def | 32 + node_modules/ajv/lib/dot/definitions.def | 182 + node_modules/ajv/lib/dot/dependencies.jst | 69 + node_modules/ajv/lib/dot/enum.jst | 30 + node_modules/ajv/lib/dot/errors.def | 185 + node_modules/ajv/lib/dot/format.jst | 100 + node_modules/ajv/lib/dot/items.jst | 101 + node_modules/ajv/lib/dot/missing.def | 34 + node_modules/ajv/lib/dot/multipleOf.jst | 20 + node_modules/ajv/lib/dot/not.jst | 43 + node_modules/ajv/lib/dot/oneOf.jst | 44 + node_modules/ajv/lib/dot/pattern.jst | 14 + node_modules/ajv/lib/dot/properties.jst | 319 + node_modules/ajv/lib/dot/ref.jst | 86 + node_modules/ajv/lib/dot/required.jst | 96 + node_modules/ajv/lib/dot/uniqueItems.jst | 38 + node_modules/ajv/lib/dot/v5/_formatLimit.jst | 116 + node_modules/ajv/lib/dot/v5/constant.jst | 10 + .../ajv/lib/dot/v5/patternRequired.jst | 28 + node_modules/ajv/lib/dot/v5/switch.jst | 73 + node_modules/ajv/lib/dot/validate.jst | 210 + node_modules/ajv/lib/dotjs/README.md | 3 + node_modules/ajv/lib/dotjs/_formatLimit.js | 176 + node_modules/ajv/lib/dotjs/_limit.js | 124 + node_modules/ajv/lib/dotjs/_limitItems.js | 76 + node_modules/ajv/lib/dotjs/_limitLength.js | 81 + .../ajv/lib/dotjs/_limitProperties.js | 76 + node_modules/ajv/lib/dotjs/allOf.js | 43 + node_modules/ajv/lib/dotjs/anyOf.js | 65 + node_modules/ajv/lib/dotjs/constant.js | 52 + node_modules/ajv/lib/dotjs/custom.js | 220 + node_modules/ajv/lib/dotjs/dependencies.js | 147 + node_modules/ajv/lib/dotjs/enum.js | 65 + node_modules/ajv/lib/dotjs/format.js | 138 + node_modules/ajv/lib/dotjs/items.js | 144 + node_modules/ajv/lib/dotjs/multipleOf.js | 76 + node_modules/ajv/lib/dotjs/not.js | 83 + node_modules/ajv/lib/dotjs/oneOf.js | 76 + node_modules/ajv/lib/dotjs/pattern.js | 74 + node_modules/ajv/lib/dotjs/patternRequired.js | 51 + node_modules/ajv/lib/dotjs/properties.js | 445 + node_modules/ajv/lib/dotjs/ref.js | 119 + node_modules/ajv/lib/dotjs/required.js | 249 + node_modules/ajv/lib/dotjs/switch.js | 128 + node_modules/ajv/lib/dotjs/uniqueItems.js | 71 + node_modules/ajv/lib/dotjs/validate.js | 375 + node_modules/ajv/lib/keyword.js | 129 + .../ajv/lib/refs/json-schema-draft-04.json | 150 + node_modules/ajv/lib/refs/json-schema-v5.json | 328 + node_modules/ajv/lib/v5.js | 52 + node_modules/ajv/package.json | 131 + node_modules/ajv/scripts/.eslintrc.yml | 3 + node_modules/ajv/scripts/bundle.js | 54 + node_modules/ajv/scripts/compile-dots.js | 73 + node_modules/ajv/scripts/info | 10 + node_modules/ajv/scripts/prepare-tests | 9 + node_modules/ajv/scripts/travis-gh-pages | 23 + node_modules/align-text/LICENSE | 21 + node_modules/align-text/README.md | 236 + node_modules/align-text/index.js | 52 + node_modules/align-text/package.json | 109 + node_modules/amdefine/LICENSE | 58 + node_modules/amdefine/README.md | 171 + node_modules/amdefine/amdefine.js | 301 + node_modules/amdefine/intercept.js | 36 + node_modules/amdefine/package.json | 78 + node_modules/ansi-regex/index.js | 4 + node_modules/ansi-regex/license | 21 + node_modules/ansi-regex/package.json | 124 + node_modules/ansi-regex/readme.md | 39 + node_modules/ansi-styles/index.js | 65 + node_modules/ansi-styles/license | 21 + node_modules/ansi-styles/package.json | 106 + node_modules/ansi-styles/readme.md | 86 + node_modules/asap/CHANGES.md | 70 + node_modules/asap/LICENSE.md | 21 + node_modules/asap/README.md | 237 + node_modules/asap/asap.js | 65 + node_modules/asap/browser-asap.js | 66 + node_modules/asap/browser-raw.js | 223 + node_modules/asap/package.json | 119 + node_modules/asap/raw.js | 101 + node_modules/asn1/.npmignore | 2 + node_modules/asn1/.travis.yml | 4 + node_modules/asn1/LICENSE | 19 + node_modules/asn1/README.md | 50 + node_modules/asn1/lib/ber/errors.js | 13 + node_modules/asn1/lib/ber/index.js | 27 + node_modules/asn1/lib/ber/reader.js | 261 + node_modules/asn1/lib/ber/types.js | 36 + node_modules/asn1/lib/ber/writer.js | 316 + node_modules/asn1/lib/index.js | 20 + node_modules/asn1/package.json | 65 + node_modules/asn1/tst/ber/reader.test.js | 208 + node_modules/asn1/tst/ber/writer.test.js | 370 + node_modules/assert-plus/AUTHORS | 6 + node_modules/assert-plus/CHANGES.md | 8 + node_modules/assert-plus/README.md | 155 + node_modules/assert-plus/assert.js | 206 + node_modules/assert-plus/package.json | 82 + node_modules/asynckit/LICENSE | 21 + node_modules/asynckit/README.md | 233 + node_modules/asynckit/bench.js | 76 + node_modules/asynckit/index.js | 6 + node_modules/asynckit/lib/abort.js | 29 + node_modules/asynckit/lib/async.js | 34 + node_modules/asynckit/lib/defer.js | 26 + node_modules/asynckit/lib/iterate.js | 75 + .../asynckit/lib/readable_asynckit.js | 91 + .../asynckit/lib/readable_parallel.js | 25 + node_modules/asynckit/lib/readable_serial.js | 25 + .../asynckit/lib/readable_serial_ordered.js | 29 + node_modules/asynckit/lib/state.js | 37 + node_modules/asynckit/lib/streamify.js | 141 + node_modules/asynckit/lib/terminator.js | 29 + node_modules/asynckit/package.json | 91 + node_modules/asynckit/parallel.js | 43 + node_modules/asynckit/serial.js | 17 + node_modules/asynckit/serialOrdered.js | 75 + node_modules/asynckit/stream.js | 21 + node_modules/aws-sign2/LICENSE | 55 + node_modules/aws-sign2/README.md | 4 + node_modules/aws-sign2/index.js | 212 + node_modules/aws-sign2/package.json | 50 + node_modules/aws4/.npmignore | 4 + node_modules/aws4/.tern-port | 1 + node_modules/aws4/.travis.yml | 5 + node_modules/aws4/LICENSE | 19 + node_modules/aws4/README.md | 523 + node_modules/aws4/aws4.js | 332 + node_modules/aws4/lru.js | 96 + node_modules/aws4/package.json | 104 + node_modules/bcrypt-pbkdf/README.md | 39 + node_modules/bcrypt-pbkdf/index.js | 556 + node_modules/bcrypt-pbkdf/package.json | 36 + node_modules/boom/.npmignore | 18 + node_modules/boom/.travis.yml | 8 + node_modules/boom/CONTRIBUTING.md | 1 + node_modules/boom/LICENSE | 28 + node_modules/boom/README.md | 652 + node_modules/boom/images/boom.png | Bin 0 -> 29479 bytes node_modules/boom/lib/index.js | 318 + node_modules/boom/package.json | 59 + node_modules/boom/test/index.js | 654 + node_modules/camelcase/index.js | 27 + node_modules/camelcase/license | 21 + node_modules/camelcase/package.json | 94 + node_modules/camelcase/readme.md | 56 + node_modules/caseless/LICENSE | 28 + node_modules/caseless/README.md | 45 + node_modules/caseless/index.js | 67 + node_modules/caseless/package.json | 56 + node_modules/caseless/test.js | 67 + node_modules/center-align/LICENSE | 21 + node_modules/center-align/README.md | 74 + node_modules/center-align/index.js | 16 + node_modules/center-align/package.json | 113 + node_modules/center-align/utils.js | 40 + node_modules/chalk/index.js | 116 + node_modules/chalk/license | 21 + node_modules/chalk/package.json | 132 + node_modules/chalk/readme.md | 213 + node_modules/character-parser/.npmignore | 2 + node_modules/character-parser/LICENSE | 19 + node_modules/character-parser/README.md | 177 + node_modules/character-parser/index.js | 296 + node_modules/character-parser/package.json | 95 + node_modules/clean-css/History.md | 1138 + node_modules/clean-css/LICENSE | 19 + node_modules/clean-css/README.md | 369 + node_modules/clean-css/bin/cleancss | 184 + node_modules/clean-css/index.js | 1 + node_modules/clean-css/lib/clean.js | 231 + .../lib/colors/hex-name-shortener.js | 186 + node_modules/clean-css/lib/colors/hsl.js | 67 + node_modules/clean-css/lib/colors/rgb.js | 16 + node_modules/clean-css/lib/imports/inliner.js | 399 + .../clean-css/lib/properties/break-up.js | 335 + .../clean-css/lib/properties/can-override.js | 142 + .../clean-css/lib/properties/clone.js | 26 + .../clean-css/lib/properties/compactable.js | 285 + .../lib/properties/every-combination.js | 28 + .../clean-css/lib/properties/has-inherit.js | 10 + .../lib/properties/invalid-property-error.js | 10 + .../clean-css/lib/properties/optimizer.js | 215 + .../lib/properties/override-compactor.js | 384 + .../lib/properties/populate-components.js | 32 + .../clean-css/lib/properties/remove-unused.js | 10 + .../lib/properties/restore-from-optimizing.js | 60 + .../clean-css/lib/properties/restore.js | 232 + .../lib/properties/shorthand-compactor.js | 134 + .../clean-css/lib/properties/validator.js | 197 + .../lib/properties/vendor-prefixes.js | 26 + .../lib/properties/wrap-for-optimizing.js | 118 + .../clean-css/lib/selectors/advanced.js | 86 + .../clean-css/lib/selectors/clean-up.js | 89 + .../clean-css/lib/selectors/extractor.js | 69 + .../clean-css/lib/selectors/is-special.js | 5 + .../clean-css/lib/selectors/merge-adjacent.js | 35 + .../lib/selectors/merge-media-queries.js | 64 + .../selectors/merge-non-adjacent-by-body.js | 61 + .../merge-non-adjacent-by-selector.js | 76 + .../lib/selectors/reduce-non-adjacent.js | 172 + .../remove-duplicate-media-queries.js | 21 + .../lib/selectors/remove-duplicates.js | 41 + .../clean-css/lib/selectors/reorderable.js | 99 + .../clean-css/lib/selectors/restructure.js | 369 + .../clean-css/lib/selectors/simple.js | 454 + .../clean-css/lib/source-maps/track.js | 119 + .../clean-css/lib/stringifier/helpers.js | 167 + .../clean-css/lib/stringifier/one-time.js | 50 + .../clean-css/lib/stringifier/simple.js | 22 + .../clean-css/lib/stringifier/source-maps.js | 96 + .../clean-css/lib/text/comments-processor.js | 131 + .../clean-css/lib/text/escape-store.js | 53 + .../lib/text/expressions-processor.js | 117 + .../clean-css/lib/text/free-text-processor.js | 98 + .../clean-css/lib/text/urls-processor.js | 75 + .../lib/tokenizer/extract-properties.js | 193 + .../lib/tokenizer/extract-selectors.js | 17 + .../clean-css/lib/tokenizer/tokenize.js | 297 + node_modules/clean-css/lib/urls/rebase.js | 30 + node_modules/clean-css/lib/urls/reduce.js | 154 + node_modules/clean-css/lib/urls/rewrite.js | 107 + .../clean-css/lib/utils/clone-array.js | 12 + .../clean-css/lib/utils/compatibility.js | 162 + .../lib/utils/input-source-map-tracker.js | 284 + node_modules/clean-css/lib/utils/object.js | 11 + .../clean-css/lib/utils/quote-scanner.js | 119 + .../clean-css/lib/utils/source-reader.js | 96 + .../clean-css/lib/utils/source-tracker.js | 31 + node_modules/clean-css/lib/utils/split.js | 62 + node_modules/clean-css/package.json | 113 + node_modules/cliui/.coveralls.yml | 1 + node_modules/cliui/.npmignore | 2 + node_modules/cliui/.travis.yml | 7 + node_modules/cliui/LICENSE.txt | 14 + node_modules/cliui/README.md | 104 + node_modules/cliui/index.js | 273 + node_modules/cliui/package.json | 114 + node_modules/cliui/test/cliui.js | 349 + node_modules/co/History.md | 172 + node_modules/co/LICENSE | 22 + node_modules/co/Readme.md | 212 + node_modules/co/index.js | 237 + node_modules/co/package.json | 66 + node_modules/combined-stream/License | 19 + node_modules/combined-stream/Readme.md | 138 + .../combined-stream/lib/combined_stream.js | 188 + node_modules/combined-stream/package.json | 58 + node_modules/commander/History.md | 256 + node_modules/commander/LICENSE | 22 + node_modules/commander/Readme.md | 342 + node_modules/commander/index.js | 1103 + node_modules/commander/package.json | 100 + node_modules/constantinople/.gitattributes | 22 + node_modules/constantinople/.npmignore | 13 + node_modules/constantinople/.travis.yml | 3 + node_modules/constantinople/LICENSE | 19 + node_modules/constantinople/README.md | 42 + node_modules/constantinople/index.js | 91 + node_modules/constantinople/package.json | 86 + node_modules/constantinople/test/index.js | 71 + node_modules/core-util-is/LICENSE | 19 + node_modules/core-util-is/README.md | 3 + node_modules/core-util-is/float.patch | 604 + node_modules/core-util-is/lib/util.js | 107 + node_modules/core-util-is/package.json | 62 + node_modules/core-util-is/test.js | 68 + node_modules/croppie/LICENSE | 13 + node_modules/croppie/README.md | 50 + node_modules/croppie/croppie.css | 250 + node_modules/croppie/croppie.js | 1588 ++ node_modules/croppie/croppie.min.js | 1 + node_modules/croppie/package.json | 64 + node_modules/cryptiles/.npmignore | 18 + node_modules/cryptiles/.travis.yml | 8 + node_modules/cryptiles/LICENSE | 28 + node_modules/cryptiles/README.md | 16 + node_modules/cryptiles/lib/index.js | 68 + node_modules/cryptiles/package.json | 59 + node_modules/cryptiles/test/index.js | 102 + node_modules/dashdash/CHANGES.md | 364 + node_modules/dashdash/LICENSE.txt | 24 + node_modules/dashdash/README.md | 574 + .../dashdash/etc/dashdash.bash_completion.in | 389 + node_modules/dashdash/lib/dashdash.js | 1055 + .../dashdash/node_modules/assert-plus/AUTHORS | 6 + .../node_modules/assert-plus/CHANGES.md | 14 + .../node_modules/assert-plus/README.md | 162 + .../node_modules/assert-plus/assert.js | 211 + .../node_modules/assert-plus/package.json | 82 + node_modules/dashdash/package.json | 67 + node_modules/decamelize/index.js | 13 + node_modules/decamelize/license | 21 + node_modules/decamelize/package.json | 98 + node_modules/decamelize/readme.md | 48 + node_modules/delayed-stream/.npmignore | 1 + node_modules/delayed-stream/License | 19 + node_modules/delayed-stream/Makefile | 7 + node_modules/delayed-stream/Readme.md | 141 + .../delayed-stream/lib/delayed_stream.js | 107 + node_modules/delayed-stream/package.json | 62 + node_modules/doctypes/.npmignore | 13 + node_modules/doctypes/.travis.yml | 3 + node_modules/doctypes/HISTORY.md | 14 + node_modules/doctypes/LICENSE | 19 + node_modules/doctypes/README.md | 24 + node_modules/doctypes/index.js | 13 + node_modules/doctypes/package.json | 93 + node_modules/doctypes/test.js | 9 + node_modules/ecc-jsbn/.npmignore | 15 + node_modules/ecc-jsbn/LICENSE | 21 + node_modules/ecc-jsbn/README.md | 8 + node_modules/ecc-jsbn/index.js | 57 + node_modules/ecc-jsbn/lib/LICENSE-jsbn | 40 + node_modules/ecc-jsbn/lib/ec.js | 561 + node_modules/ecc-jsbn/lib/sec.js | 170 + node_modules/ecc-jsbn/package.json | 64 + node_modules/ecc-jsbn/test.js | 14 + node_modules/errno/.jshintrc | 59 + node_modules/errno/.npmignore | 1 + node_modules/errno/README.md | 141 + node_modules/errno/build.js | 43 + node_modules/errno/cli.js | 20 + node_modules/errno/custom.js | 55 + node_modules/errno/errno.js | 313 + node_modules/errno/package.json | 60 + node_modules/errno/test.js | 31 + node_modules/escape-string-regexp/index.js | 11 + node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 102 + node_modules/escape-string-regexp/readme.md | 27 + node_modules/extend/.eslintrc | 17 + node_modules/extend/.jscs.json | 175 + node_modules/extend/.npmignore | 1 + node_modules/extend/.travis.yml | 179 + node_modules/extend/CHANGELOG.md | 77 + node_modules/extend/LICENSE | 23 + node_modules/extend/README.md | 81 + node_modules/extend/component.json | 32 + node_modules/extend/index.js | 86 + node_modules/extend/package.json | 75 + node_modules/extsprintf/.gitmodules | 0 node_modules/extsprintf/.npmignore | 2 + node_modules/extsprintf/LICENSE | 19 + node_modules/extsprintf/Makefile | 24 + node_modules/extsprintf/Makefile.targ | 285 + node_modules/extsprintf/README.md | 46 + node_modules/extsprintf/jsl.node.conf | 137 + node_modules/extsprintf/lib/extsprintf.js | 183 + node_modules/extsprintf/package.json | 44 + node_modules/forever-agent/LICENSE | 55 + node_modules/forever-agent/README.md | 4 + node_modules/forever-agent/index.js | 138 + node_modules/forever-agent/package.json | 50 + node_modules/form-data/License | 19 + node_modules/form-data/README.md | 217 + node_modules/form-data/lib/browser.js | 2 + node_modules/form-data/lib/form_data.js | 444 + node_modules/form-data/lib/populate.js | 10 + node_modules/form-data/package.json | 98 + node_modules/function-bind/.editorconfig | 20 + node_modules/function-bind/.eslintrc | 15 + node_modules/function-bind/.jscs.json | 176 + node_modules/function-bind/.npmignore | 22 + node_modules/function-bind/.travis.yml | 168 + node_modules/function-bind/LICENSE | 20 + node_modules/function-bind/README.md | 48 + node_modules/function-bind/implementation.js | 52 + node_modules/function-bind/index.js | 5 + node_modules/function-bind/package.json | 126 + node_modules/function-bind/test/.eslintrc | 9 + node_modules/function-bind/test/index.js | 252 + node_modules/getpass/.npmignore | 8 + node_modules/getpass/.travis.yml | 9 + node_modules/getpass/LICENSE | 18 + node_modules/getpass/README.md | 32 + node_modules/getpass/lib/index.js | 123 + .../getpass/node_modules/assert-plus/AUTHORS | 6 + .../node_modules/assert-plus/CHANGES.md | 14 + .../node_modules/assert-plus/README.md | 162 + .../node_modules/assert-plus/assert.js | 211 + .../node_modules/assert-plus/package.json | 82 + node_modules/getpass/package.json | 50 + node_modules/graceful-fs/LICENSE | 15 + node_modules/graceful-fs/README.md | 133 + node_modules/graceful-fs/fs.js | 21 + node_modules/graceful-fs/graceful-fs.js | 262 + node_modules/graceful-fs/legacy-streams.js | 118 + node_modules/graceful-fs/package.json | 76 + node_modules/graceful-fs/polyfills.js | 330 + node_modules/graceful-readlink/.npmignore | 3 + node_modules/graceful-readlink/.travis.yml | 5 + node_modules/graceful-readlink/LICENSE | 22 + node_modules/graceful-readlink/README.md | 17 + node_modules/graceful-readlink/index.js | 12 + node_modules/graceful-readlink/package.json | 75 + node_modules/har-schema/LICENSE | 13 + node_modules/har-schema/README.md | 49 + node_modules/har-schema/lib/afterRequest.json | 29 + .../har-schema/lib/beforeRequest.json | 29 + node_modules/har-schema/lib/browser.json | 19 + node_modules/har-schema/lib/cache.json | 20 + node_modules/har-schema/lib/content.json | 28 + node_modules/har-schema/lib/cookie.json | 35 + node_modules/har-schema/lib/creator.json | 19 + node_modules/har-schema/lib/entry.json | 52 + node_modules/har-schema/lib/har.json | 12 + node_modules/har-schema/lib/header.json | 19 + node_modules/har-schema/lib/index.js | 22 + node_modules/har-schema/lib/log.json | 35 + node_modules/har-schema/lib/page.json | 31 + node_modules/har-schema/lib/pageTimings.json | 17 + node_modules/har-schema/lib/postData.json | 42 + node_modules/har-schema/lib/query.json | 19 + node_modules/har-schema/lib/request.json | 56 + node_modules/har-schema/lib/response.json | 53 + node_modules/har-schema/lib/timings.json | 41 + node_modules/har-schema/package.json | 86 + node_modules/har-validator/LICENSE | 13 + node_modules/har-validator/README.md | 75 + .../har-validator/lib/browser/async.js | 96 + .../har-validator/lib/browser/error.js | 15 + .../har-validator/lib/browser/promise.js | 93 + node_modules/har-validator/lib/node4/async.js | 136 + node_modules/har-validator/lib/node4/error.js | 22 + .../har-validator/lib/node4/promise.js | 132 + node_modules/har-validator/lib/node6/async.js | 133 + node_modules/har-validator/lib/node6/error.js | 22 + .../har-validator/lib/node6/promise.js | 130 + node_modules/har-validator/lib/node7/async.js | 133 + node_modules/har-validator/lib/node7/error.js | 22 + .../har-validator/lib/node7/promise.js | 130 + node_modules/har-validator/package.json | 101 + node_modules/har-validator/src/async.js | 96 + node_modules/har-validator/src/error.js | 15 + node_modules/har-validator/src/promise.js | 93 + node_modules/has-ansi/index.js | 4 + node_modules/has-ansi/license | 21 + node_modules/has-ansi/package.json | 110 + node_modules/has-ansi/readme.md | 36 + node_modules/has/.jshintrc | 14 + node_modules/has/.npmignore | 3 + node_modules/has/LICENSE-MIT | 22 + node_modules/has/README.mkd | 18 + node_modules/has/package.json | 85 + node_modules/has/src/index.js | 3 + node_modules/has/test/.jshintrc | 7 + node_modules/has/test/index.js | 10 + node_modules/hawk/.npmignore | 20 + node_modules/hawk/.travis.yml | 5 + node_modules/hawk/LICENSE | 28 + node_modules/hawk/README.md | 634 + node_modules/hawk/bower.json | 24 + node_modules/hawk/component.json | 19 + node_modules/hawk/dist/client.js | 343 + node_modules/hawk/example/usage.js | 78 + node_modules/hawk/images/hawk.png | Bin 0 -> 6945 bytes node_modules/hawk/images/logo.png | Bin 0 -> 71732 bytes node_modules/hawk/lib/browser.js | 637 + node_modules/hawk/lib/client.js | 369 + node_modules/hawk/lib/crypto.js | 126 + node_modules/hawk/lib/index.js | 15 + node_modules/hawk/lib/server.js | 548 + node_modules/hawk/lib/utils.js | 184 + node_modules/hawk/package.json | 70 + node_modules/hawk/test/browser.js | 1492 ++ node_modules/hawk/test/client.js | 440 + node_modules/hawk/test/crypto.js | 70 + node_modules/hawk/test/index.js | 378 + node_modules/hawk/test/readme.js | 95 + node_modules/hawk/test/server.js | 1329 ++ node_modules/hawk/test/uri.js | 838 + node_modules/hawk/test/utils.js | 149 + node_modules/hoek/.npmignore | 18 + node_modules/hoek/.travis.yml | 7 + node_modules/hoek/CONTRIBUTING.md | 1 + node_modules/hoek/LICENSE | 31 + node_modules/hoek/README.md | 584 + node_modules/hoek/images/hoek.png | Bin 0 -> 37939 bytes node_modules/hoek/lib/escape.js | 132 + node_modules/hoek/lib/index.js | 993 + node_modules/hoek/package.json | 57 + node_modules/hoek/test/escaper.js | 88 + node_modules/hoek/test/index.js | 2513 ++ node_modules/hoek/test/modules/ignore.txt | 0 node_modules/hoek/test/modules/test1.js | 1 + node_modules/hoek/test/modules/test2.js | 1 + node_modules/hoek/test/modules/test3.js | 1 + node_modules/http-signature/.dir-locals.el | 6 + node_modules/http-signature/.npmignore | 7 + node_modules/http-signature/CHANGES.md | 46 + node_modules/http-signature/LICENSE | 18 + node_modules/http-signature/README.md | 79 + node_modules/http-signature/http_signing.md | 363 + node_modules/http-signature/lib/index.js | 29 + node_modules/http-signature/lib/parser.js | 318 + node_modules/http-signature/lib/signer.js | 399 + node_modules/http-signature/lib/utils.js | 112 + node_modules/http-signature/lib/verify.js | 88 + node_modules/http-signature/package.json | 77 + node_modules/image-size/LICENSE | 9 + node_modules/image-size/Readme.md | 88 + node_modules/image-size/bin/image-size.js | 36 + node_modules/image-size/lib/detector.js | 19 + node_modules/image-size/lib/index.js | 105 + node_modules/image-size/lib/readUInt.js | 11 + node_modules/image-size/lib/types.js | 13 + node_modules/image-size/lib/types/bmp.js | 17 + node_modules/image-size/lib/types/dds.js | 18 + node_modules/image-size/lib/types/gif.js | 19 + node_modules/image-size/lib/types/jpg.js | 62 + node_modules/image-size/lib/types/png.js | 36 + node_modules/image-size/lib/types/psd.js | 17 + node_modules/image-size/lib/types/svg.js | 78 + node_modules/image-size/lib/types/tiff.js | 118 + node_modules/image-size/lib/types/webp.js | 69 + node_modules/image-size/package.json | 85 + node_modules/is-buffer/LICENSE | 21 + node_modules/is-buffer/README.md | 53 + node_modules/is-buffer/index.js | 21 + node_modules/is-buffer/package.json | 105 + node_modules/is-buffer/test/basic.js | 24 + node_modules/is-expression/.npmignore | 14 + node_modules/is-expression/.travis.yml | 17 + node_modules/is-expression/CHANGELOG.md | 38 + node_modules/is-expression/LICENSE.md | 19 + node_modules/is-expression/README.md | 66 + node_modules/is-expression/index.js | 45 + node_modules/is-expression/package.json | 90 + node_modules/is-expression/test.js | 48 + node_modules/is-promise/.npmignore | 6 + node_modules/is-promise/.travis.yml | 3 + node_modules/is-promise/LICENSE | 19 + node_modules/is-promise/index.js | 5 + node_modules/is-promise/package.json | 74 + node_modules/is-promise/readme.md | 29 + node_modules/is-regex/.eslintrc | 9 + node_modules/is-regex/.jscs.json | 176 + node_modules/is-regex/.npmignore | 15 + node_modules/is-regex/.travis.yml | 165 + node_modules/is-regex/CHANGELOG.md | 27 + node_modules/is-regex/LICENSE | 20 + node_modules/is-regex/Makefile | 61 + node_modules/is-regex/README.md | 54 + node_modules/is-regex/index.js | 39 + node_modules/is-regex/package.json | 127 + node_modules/is-regex/test.js | 58 + node_modules/is-typedarray/LICENSE.md | 18 + node_modules/is-typedarray/README.md | 16 + node_modules/is-typedarray/index.js | 41 + node_modules/is-typedarray/package.json | 59 + node_modules/is-typedarray/test.js | 34 + node_modules/isstream/.jshintrc | 59 + node_modules/isstream/.npmignore | 1 + node_modules/isstream/.travis.yml | 12 + node_modules/isstream/LICENSE.md | 11 + node_modules/isstream/README.md | 66 + node_modules/isstream/isstream.js | 27 + node_modules/isstream/package.json | 61 + node_modules/isstream/test.js | 168 + node_modules/jquery/AUTHORS.txt | 301 + node_modules/jquery/LICENSE.txt | 36 + node_modules/jquery/README.md | 67 + node_modules/jquery/bower.json | 14 + node_modules/jquery/dist/core.js | 476 + node_modules/jquery/dist/jquery.js | 10253 ++++++++ node_modules/jquery/dist/jquery.min.js | 4 + node_modules/jquery/dist/jquery.min.map | 1 + node_modules/jquery/dist/jquery.slim.js | 8160 +++++++ node_modules/jquery/dist/jquery.slim.min.js | 4 + node_modules/jquery/dist/jquery.slim.min.map | 1 + .../jquery/external/sizzle/LICENSE.txt | 36 + .../jquery/external/sizzle/dist/sizzle.js | 2272 ++ .../jquery/external/sizzle/dist/sizzle.min.js | 3 + .../external/sizzle/dist/sizzle.min.map | 1 + node_modules/jquery/package.json | 123 + node_modules/jquery/src/.eslintrc.json | 5 + node_modules/jquery/src/ajax.js | 855 + node_modules/jquery/src/ajax/jsonp.js | 102 + node_modules/jquery/src/ajax/load.js | 76 + node_modules/jquery/src/ajax/parseXML.js | 30 + node_modules/jquery/src/ajax/script.js | 77 + node_modules/jquery/src/ajax/var/location.js | 5 + node_modules/jquery/src/ajax/var/nonce.js | 7 + node_modules/jquery/src/ajax/var/rquery.js | 5 + node_modules/jquery/src/ajax/xhr.js | 169 + node_modules/jquery/src/attributes.js | 13 + node_modules/jquery/src/attributes/attr.js | 141 + node_modules/jquery/src/attributes/classes.js | 174 + node_modules/jquery/src/attributes/prop.js | 143 + node_modules/jquery/src/attributes/support.js | 33 + node_modules/jquery/src/attributes/val.js | 190 + node_modules/jquery/src/callbacks.js | 234 + node_modules/jquery/src/core.js | 476 + node_modules/jquery/src/core/DOMEval.js | 16 + node_modules/jquery/src/core/access.js | 70 + node_modules/jquery/src/core/init.js | 128 + node_modules/jquery/src/core/nodeName.js | 13 + node_modules/jquery/src/core/parseHTML.js | 65 + .../jquery/src/core/ready-no-deferred.js | 96 + node_modules/jquery/src/core/ready.js | 86 + .../jquery/src/core/readyException.js | 13 + .../jquery/src/core/stripAndCollapse.js | 14 + node_modules/jquery/src/core/support.js | 20 + .../jquery/src/core/var/rsingleTag.js | 6 + node_modules/jquery/src/css.js | 438 + node_modules/jquery/src/css/addGetHookIf.js | 26 + node_modules/jquery/src/css/adjustCSS.js | 71 + node_modules/jquery/src/css/curCSS.js | 65 + .../jquery/src/css/hiddenVisibleSelectors.js | 15 + node_modules/jquery/src/css/showHide.js | 105 + node_modules/jquery/src/css/support.js | 89 + node_modules/jquery/src/css/var/cssExpand.js | 5 + node_modules/jquery/src/css/var/getStyles.js | 17 + .../jquery/src/css/var/isHiddenWithinTree.js | 34 + node_modules/jquery/src/css/var/rmargin.js | 5 + node_modules/jquery/src/css/var/rnumnonpx.js | 7 + node_modules/jquery/src/css/var/swap.js | 26 + node_modules/jquery/src/data.js | 179 + node_modules/jquery/src/data/Data.js | 161 + .../jquery/src/data/var/acceptData.js | 19 + node_modules/jquery/src/data/var/dataPriv.js | 7 + node_modules/jquery/src/data/var/dataUser.js | 7 + node_modules/jquery/src/deferred.js | 391 + .../jquery/src/deferred/exceptionHook.js | 21 + node_modules/jquery/src/deprecated.js | 40 + node_modules/jquery/src/dimensions.js | 56 + node_modules/jquery/src/effects.js | 699 + node_modules/jquery/src/effects/Tween.js | 123 + .../jquery/src/effects/animatedSelector.js | 15 + node_modules/jquery/src/event.js | 746 + node_modules/jquery/src/event/ajax.js | 22 + node_modules/jquery/src/event/alias.js | 29 + node_modules/jquery/src/event/focusin.js | 55 + node_modules/jquery/src/event/support.js | 11 + node_modules/jquery/src/event/trigger.js | 185 + node_modules/jquery/src/exports/amd.js | 26 + node_modules/jquery/src/exports/global.js | 34 + node_modules/jquery/src/jquery.js | 41 + node_modules/jquery/src/manipulation.js | 488 + .../jquery/src/manipulation/_evalUrl.js | 23 + .../jquery/src/manipulation/buildFragment.js | 104 + .../jquery/src/manipulation/getAll.js | 32 + .../jquery/src/manipulation/setGlobalEval.js | 22 + .../jquery/src/manipulation/support.js | 35 + .../src/manipulation/var/rcheckableType.js | 5 + .../src/manipulation/var/rscriptType.js | 5 + .../jquery/src/manipulation/var/rtagName.js | 5 + .../jquery/src/manipulation/wrapMap.js | 29 + node_modules/jquery/src/offset.js | 229 + node_modules/jquery/src/queue.js | 145 + node_modules/jquery/src/queue/delay.js | 24 + node_modules/jquery/src/selector-native.js | 237 + node_modules/jquery/src/selector-sizzle.js | 19 + node_modules/jquery/src/selector.js | 3 + node_modules/jquery/src/serialize.js | 130 + node_modules/jquery/src/traversing.js | 191 + .../jquery/src/traversing/findFilter.js | 106 + node_modules/jquery/src/traversing/var/dir.js | 22 + .../src/traversing/var/rneedsContext.js | 8 + .../jquery/src/traversing/var/siblings.js | 17 + .../jquery/src/var/ObjectFunctionString.js | 7 + node_modules/jquery/src/var/arr.js | 5 + node_modules/jquery/src/var/class2type.js | 6 + node_modules/jquery/src/var/concat.js | 7 + node_modules/jquery/src/var/document.js | 5 + .../jquery/src/var/documentElement.js | 7 + node_modules/jquery/src/var/fnToString.js | 7 + node_modules/jquery/src/var/getProto.js | 5 + node_modules/jquery/src/var/hasOwn.js | 7 + node_modules/jquery/src/var/indexOf.js | 7 + node_modules/jquery/src/var/pnum.js | 5 + node_modules/jquery/src/var/push.js | 7 + node_modules/jquery/src/var/rcssNum.js | 9 + node_modules/jquery/src/var/rnothtmlwhite.js | 8 + node_modules/jquery/src/var/slice.js | 7 + node_modules/jquery/src/var/support.js | 6 + node_modules/jquery/src/var/toString.js | 7 + node_modules/jquery/src/wrap.js | 77 + node_modules/js-stringify/.npmignore | 13 + node_modules/js-stringify/.travis.yml | 3 + node_modules/js-stringify/LICENSE | 19 + node_modules/js-stringify/README.md | 34 + node_modules/js-stringify/index.js | 17 + node_modules/js-stringify/package.json | 72 + node_modules/js-stringify/test/index.js | 17 + node_modules/jsbn/.npmignore | 2 + node_modules/jsbn/LICENSE | 40 + node_modules/jsbn/README.md | 175 + node_modules/jsbn/example.html | 12 + node_modules/jsbn/example.js | 3 + node_modules/jsbn/index.js | 1357 ++ node_modules/jsbn/package.json | 53 + node_modules/json-schema/README.md | 5 + .../json-schema/draft-00/hyper-schema | 68 + node_modules/json-schema/draft-00/json-ref | 26 + node_modules/json-schema/draft-00/links | 33 + node_modules/json-schema/draft-00/schema | 155 + .../json-schema/draft-01/hyper-schema | 68 + node_modules/json-schema/draft-01/json-ref | 26 + node_modules/json-schema/draft-01/links | 33 + node_modules/json-schema/draft-01/schema | 155 + .../json-schema/draft-02/hyper-schema | 68 + node_modules/json-schema/draft-02/json-ref | 26 + node_modules/json-schema/draft-02/links | 35 + node_modules/json-schema/draft-02/schema | 166 + .../json-schema/draft-03/examples/address | 20 + .../json-schema/draft-03/examples/calendar | 53 + .../json-schema/draft-03/examples/card | 105 + .../json-schema/draft-03/examples/geo | 8 + .../json-schema/draft-03/examples/interfaces | 23 + .../json-schema/draft-03/hyper-schema | 60 + node_modules/json-schema/draft-03/json-ref | 26 + node_modules/json-schema/draft-03/links | 35 + node_modules/json-schema/draft-03/schema | 174 + .../json-schema/draft-04/hyper-schema | 60 + node_modules/json-schema/draft-04/links | 41 + node_modules/json-schema/draft-04/schema | 189 + .../json-schema/draft-zyp-json-schema-03.xml | 1120 + .../json-schema/draft-zyp-json-schema-04.xml | 1072 + node_modules/json-schema/lib/links.js | 66 + node_modules/json-schema/lib/validate.js | 273 + node_modules/json-schema/package.json | 71 + node_modules/json-schema/test/tests.js | 95 + node_modules/json-stable-stringify/.npmignore | 1 + .../json-stable-stringify/.travis.yml | 4 + node_modules/json-stable-stringify/LICENSE | 18 + .../json-stable-stringify/example/key_cmp.js | 7 + .../json-stable-stringify/example/nested.js | 3 + .../json-stable-stringify/example/str.js | 3 + .../example/value_cmp.js | 7 + node_modules/json-stable-stringify/index.js | 84 + .../json-stable-stringify/package.json | 74 + .../json-stable-stringify/readme.markdown | 130 + .../json-stable-stringify/test/cmp.js | 11 + .../json-stable-stringify/test/nested.js | 35 + .../json-stable-stringify/test/replacer.js | 74 + .../json-stable-stringify/test/space.js | 59 + .../json-stable-stringify/test/str.js | 32 + .../json-stable-stringify/test/to-json.js | 20 + node_modules/json-stringify-safe/.npmignore | 1 + node_modules/json-stringify-safe/CHANGELOG.md | 14 + node_modules/json-stringify-safe/LICENSE | 15 + node_modules/json-stringify-safe/Makefile | 35 + node_modules/json-stringify-safe/README.md | 52 + node_modules/json-stringify-safe/package.json | 66 + node_modules/json-stringify-safe/stringify.js | 27 + .../json-stringify-safe/test/mocha.opts | 2 + .../test/stringify_test.js | 246 + node_modules/jsonify/README.markdown | 34 + node_modules/jsonify/index.js | 2 + node_modules/jsonify/lib/parse.js | 273 + node_modules/jsonify/lib/stringify.js | 154 + node_modules/jsonify/package.json | 62 + node_modules/jsonify/test/parse.js | 16 + node_modules/jsonify/test/stringify.js | 15 + node_modules/jsprim/CHANGES.md | 49 + node_modules/jsprim/CONTRIBUTING.md | 19 + node_modules/jsprim/LICENSE | 19 + node_modules/jsprim/README.md | 287 + node_modules/jsprim/lib/jsprim.js | 735 + .../jsprim/node_modules/assert-plus/AUTHORS | 6 + .../node_modules/assert-plus/CHANGES.md | 14 + .../jsprim/node_modules/assert-plus/README.md | 162 + .../jsprim/node_modules/assert-plus/assert.js | 211 + .../node_modules/assert-plus/package.json | 82 + node_modules/jsprim/package.json | 49 + node_modules/jstransformer/CHANGELOG.md | 38 + node_modules/jstransformer/LICENSE.md | 21 + node_modules/jstransformer/README.md | 114 + node_modules/jstransformer/index.js | 359 + node_modules/jstransformer/package.json | 105 + node_modules/kind-of/LICENSE | 21 + node_modules/kind-of/README.md | 261 + node_modules/kind-of/index.js | 116 + node_modules/kind-of/package.json | 170 + node_modules/lazy-cache/LICENSE | 21 + node_modules/lazy-cache/README.md | 147 + node_modules/lazy-cache/index.js | 67 + node_modules/lazy-cache/package.json | 121 + node_modules/less/.jscsrc | 73 + node_modules/less/.jshintrc | 11 + node_modules/less/.npmignore | 9 + node_modules/less/.travis.yml | 15 + node_modules/less/CHANGELOG.md | 595 + node_modules/less/CONTRIBUTING.md | 50 + node_modules/less/Gruntfile.js | 458 + node_modules/less/LICENSE | 177 + node_modules/less/README.md | 56 + node_modules/less/appveyor.yml | 33 + node_modules/less/bin/lessc | 512 + node_modules/less/bower.json | 24 + node_modules/less/browser.js | 1 + node_modules/less/build.gradle | 347 + node_modules/less/dist/less.js | 10835 +++++++++ node_modules/less/dist/less.min.js | 17 + node_modules/less/gradlew | 164 + node_modules/less/gradlew.bat | 90 + node_modules/less/index.js | 1 + .../lib/less-browser/add-default-options.js | 46 + .../less/lib/less-browser/bootstrap.js | 51 + node_modules/less/lib/less-browser/browser.js | 64 + node_modules/less/lib/less-browser/cache.js | 42 + .../less/lib/less-browser/error-reporting.js | 170 + .../less/lib/less-browser/file-manager.js | 119 + .../less/lib/less-browser/image-size.js | 28 + node_modules/less/lib/less-browser/index.js | 286 + .../less/lib/less-browser/log-listener.js | 43 + node_modules/less/lib/less-browser/utils.js | 24 + .../less/lib/less-node/environment.js | 14 + .../less/lib/less-node/file-manager.js | 108 + node_modules/less/lib/less-node/fs.js | 10 + node_modules/less/lib/less-node/image-size.js | 57 + node_modules/less/lib/less-node/index.js | 74 + .../less/lib/less-node/lessc-helper.js | 82 + .../less/lib/less-node/plugin-loader.js | 91 + .../less/lib/less-node/url-file-manager.js | 56 + node_modules/less/lib/less-rhino/index.js | 450 + node_modules/less/lib/less/contexts.js | 111 + node_modules/less/lib/less/data/colors.js | 150 + node_modules/less/lib/less/data/index.js | 4 + .../less/lib/less/data/unit-conversions.js | 21 + .../less/environment/abstract-file-manager.js | 123 + .../lib/less/environment/environment-api.js | 25 + .../less/lib/less/environment/environment.js | 51 + .../lib/less/environment/file-manager-api.js | 103 + .../less/lib/less/functions/color-blending.js | 74 + node_modules/less/lib/less/functions/color.js | 322 + .../less/lib/less/functions/data-uri.js | 85 + .../less/lib/less/functions/default.js | 27 + .../lib/less/functions/function-caller.js | 46 + .../lib/less/functions/function-registry.js | 29 + node_modules/less/lib/less/functions/index.js | 19 + .../less/lib/less/functions/math-helper.js | 16 + node_modules/less/lib/less/functions/math.js | 29 + .../less/lib/less/functions/number.js | 81 + .../less/lib/less/functions/string.js | 37 + node_modules/less/lib/less/functions/svg.js | 88 + node_modules/less/lib/less/functions/types.js | 89 + node_modules/less/lib/less/import-manager.js | 131 + node_modules/less/lib/less/index.js | 29 + node_modules/less/lib/less/less-error.js | 42 + node_modules/less/lib/less/logger.js | 34 + node_modules/less/lib/less/parse-tree.js | 60 + node_modules/less/lib/less/parse.js | 68 + node_modules/less/lib/less/parser/chunker.js | 112 + .../less/lib/less/parser/parser-input.js | 259 + node_modules/less/lib/less/parser/parser.js | 1883 ++ node_modules/less/lib/less/plugin-manager.js | 114 + .../lib/less/plugins/function-importer.js | 35 + node_modules/less/lib/less/render.js | 41 + .../less/lib/less/source-map-builder.js | 69 + .../less/lib/less/source-map-output.js | 138 + node_modules/less/lib/less/transform-tree.js | 74 + node_modules/less/lib/less/tree/alpha.js | 28 + node_modules/less/lib/less/tree/anonymous.js | 26 + node_modules/less/lib/less/tree/assignment.js | 27 + node_modules/less/lib/less/tree/attribute.js | 27 + node_modules/less/lib/less/tree/call.js | 65 + node_modules/less/lib/less/tree/color.js | 189 + node_modules/less/lib/less/tree/combinator.js | 23 + node_modules/less/lib/less/tree/comment.js | 23 + node_modules/less/lib/less/tree/condition.js | 37 + node_modules/less/lib/less/tree/debug-info.js | 38 + .../less/lib/less/tree/detached-ruleset.js | 21 + node_modules/less/lib/less/tree/dimension.js | 157 + node_modules/less/lib/less/tree/directive.js | 134 + node_modules/less/lib/less/tree/element.js | 60 + node_modules/less/lib/less/tree/expression.js | 56 + node_modules/less/lib/less/tree/extend.js | 57 + node_modules/less/lib/less/tree/import.js | 166 + node_modules/less/lib/less/tree/index.js | 41 + node_modules/less/lib/less/tree/javascript.js | 28 + .../less/lib/less/tree/js-eval-node.js | 61 + node_modules/less/lib/less/tree/keyword.js | 14 + node_modules/less/lib/less/tree/media.js | 145 + node_modules/less/lib/less/tree/mixin-call.js | 183 + .../less/lib/less/tree/mixin-definition.js | 201 + node_modules/less/lib/less/tree/negative.js | 20 + node_modules/less/lib/less/tree/node.js | 123 + node_modules/less/lib/less/tree/operation.js | 48 + node_modules/less/lib/less/tree/paren.js | 16 + node_modules/less/lib/less/tree/quoted.js | 55 + node_modules/less/lib/less/tree/rule.js | 96 + .../less/lib/less/tree/ruleset-call.js | 14 + node_modules/less/lib/less/tree/ruleset.js | 710 + node_modules/less/lib/less/tree/selector.js | 111 + .../less/lib/less/tree/unicode-descriptor.js | 9 + node_modules/less/lib/less/tree/unit.js | 120 + node_modules/less/lib/less/tree/url.js | 54 + node_modules/less/lib/less/tree/value.js | 34 + node_modules/less/lib/less/tree/variable.js | 53 + node_modules/less/lib/less/utils.js | 20 + .../less/lib/less/visitors/extend-visitor.js | 460 + .../lib/less/visitors/import-sequencer.js | 54 + .../less/lib/less/visitors/import-visitor.js | 189 + node_modules/less/lib/less/visitors/index.js | 10 + .../less/visitors/join-selector-visitor.js | 51 + .../visitors/set-tree-visibility-visitor.js | 38 + .../less/lib/less/visitors/to-css-visitor.js | 393 + .../less/lib/less/visitors/visitor.js | 152 + .../less/lib/source-map/source-map-0.1.31.js | 1933 ++ .../less/lib/source-map/source-map-footer.js | 4 + .../less/lib/source-map/source-map-header.js | 3 + .../less/node_modules/source-map/CHANGELOG.md | 301 + .../less/node_modules/source-map/LICENSE | 28 + .../less/node_modules/source-map/README.md | 729 + .../source-map/dist/source-map.debug.js | 3091 +++ .../source-map/dist/source-map.js | 3090 +++ .../source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../node_modules/source-map/lib/base64.js | 67 + .../source-map/lib/binary-search.js | 111 + .../source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1082 + .../source-map/lib/source-map-generator.js | 416 + .../source-map/lib/source-node.js | 413 + .../less/node_modules/source-map/lib/util.js | 417 + .../less/node_modules/source-map/package.json | 211 + .../node_modules/source-map/source-map.js | 8 + node_modules/less/package.json | 133 + node_modules/less/test/browser/common.js | 227 + .../test/browser/css/global-vars/simple.css | 3 + .../test/browser/css/modify-vars/simple.css | 8 + .../css/postProcessor/postProcessor.css | 4 + .../test/browser/css/relative-urls/urls.css | 36 + .../browser/css/rootpath-relative/urls.css | 35 + .../less/test/browser/css/rootpath/urls.css | 35 + node_modules/less/test/browser/css/urls.css | 57 + .../less/test/browser/jasmine-jsreporter.js | 391 + node_modules/less/test/browser/less.js | 29 + .../less/console-errors/test-error.less | 3 + .../less/console-errors/test-error.txt | 2 + .../less/errors/image-height-error.less | 3 + .../less/errors/image-height-error.txt | 4 + .../browser/less/errors/image-size-error.less | 3 + .../browser/less/errors/image-size-error.txt | 4 + .../less/errors/image-width-error.less | 3 + .../browser/less/errors/image-width-error.txt | 4 + .../test/browser/less/global-vars/simple.less | 3 + .../less/test/browser/less/imports/urls.less | 4 + .../less/test/browser/less/imports/urls2.less | 4 + .../less/modify-vars/imports/simple2.less | 4 + .../test/browser/less/modify-vars/simple.less | 8 + .../mixin-consumer.less | 5 + .../svg-gradient-mixin.less | 15 + .../less/postProcessor/postProcessor.less | 4 + .../test/browser/less/relative-urls/urls.less | 34 + .../browser/less/rootpath-relative/urls.less | 33 + .../less/test/browser/less/rootpath/urls.less | 33 + node_modules/less/test/browser/less/urls.less | 65 + .../browser/runner-VisitorPlugin-options.js | 3 + .../less/test/browser/runner-VisitorPlugin.js | 3 + .../test/browser/runner-browser-options.js | 51 + .../less/test/browser/runner-browser-spec.js | 12 + .../test/browser/runner-console-errors.js | 5 + .../test/browser/runner-errors-options.js | 4 + .../less/test/browser/runner-errors-spec.js | 3 + .../runner-filemanagerPlugin-options.js | 4 + .../test/browser/runner-filemanagerPlugin.js | 3 + .../browser/runner-global-vars-options.js | 7 + .../test/browser/runner-global-vars-spec.js | 3 + .../test/browser/runner-legacy-options.js | 5 + .../less/test/browser/runner-legacy-spec.js | 3 + .../less/test/browser/runner-main-options.js | 18 + .../less/test/browser/runner-main-spec.js | 7 + .../browser/runner-modify-vars-options.js | 5 + .../test/browser/runner-modify-vars-spec.js | 33 + .../browser/runner-no-js-errors-options.js | 4 + .../test/browser/runner-no-js-errors-spec.js | 3 + .../browser/runner-postProcessor-options.js | 5 + .../less/test/browser/runner-postProcessor.js | 3 + .../runner-postProcessorPlugin-options.js | 3 + .../browser/runner-postProcessorPlugin.js | 3 + .../runner-preProcessorPlugin-options.js | 3 + .../test/browser/runner-preProcessorPlugin.js | 3 + .../test/browser/runner-production-options.js | 3 + .../test/browser/runner-production-spec.js | 5 + .../browser/runner-relative-urls-options.js | 3 + .../test/browser/runner-relative-urls-spec.js | 3 + .../test/browser/runner-rootpath-options.js | 3 + .../runner-rootpath-relative-options.js | 4 + .../browser/runner-rootpath-relative-spec.js | 3 + .../less/test/browser/runner-rootpath-spec.js | 3 + .../browser/runner-strict-units-options.js | 5 + .../test/browser/runner-strict-units-spec.js | 3 + .../test/browser/test-runner-template.tmpl | 95 + node_modules/less/test/copy-bom.js | 72 + node_modules/less/test/css/charsets.css | 1 + node_modules/less/test/css/colors.css | 87 + node_modules/less/test/css/comments.css | 83 + node_modules/less/test/css/comments2.css | 18 + .../less/test/css/compression/compression.css | 3 + node_modules/less/test/css/css-3.css | 157 + node_modules/less/test/css/css-escapes.css | 24 + node_modules/less/test/css/css-guards.css | 37 + node_modules/less/test/css/css.css | 95 + .../less/test/css/debug/linenumbers-all.css | 50 + .../test/css/debug/linenumbers-comments.css | 41 + .../test/css/debug/linenumbers-mediaquery.css | 41 + .../less/test/css/detached-rulesets.css | 76 + .../less/test/css/directives-bubling.css | 119 + node_modules/less/test/css/empty.css | 0 .../less/test/css/extend-chaining.css | 81 + .../less/test/css/extend-clearfix.css | 19 + node_modules/less/test/css/extend-exact.css | 37 + node_modules/less/test/css/extend-media.css | 24 + node_modules/less/test/css/extend-nest.css | 57 + .../less/test/css/extend-selector.css | 87 + node_modules/less/test/css/extend.css | 76 + .../less/test/css/extract-and-length.css | 133 + .../css/filemanagerPlugin/filemanager.css | 3 + node_modules/less/test/css/functions.css | 201 + .../less/test/css/globalVars/extended.css | 12 + .../less/test/css/globalVars/simple.css | 6 + node_modules/less/test/css/ie-filters.css | 9 + node_modules/less/test/css/import-inline.css | 8 + .../less/test/css/import-interpolation.css | 13 + node_modules/less/test/css/import-once.css | 15 + .../less/test/css/import-reference-issues.css | 24 + .../less/test/css/import-reference.css | 97 + node_modules/less/test/css/import.css | 49 + .../include-path-string.css | 3 + .../test/css/include-path/include-path.css | 9 + node_modules/less/test/css/javascript.css | 28 + node_modules/less/test/css/lazy-eval.css | 3 + node_modules/less/test/css/legacy/legacy.css | 21 + node_modules/less/test/css/media.css | 218 + node_modules/less/test/css/merge.css | 34 + node_modules/less/test/css/mixins-args.css | 163 + node_modules/less/test/css/mixins-closure.css | 9 + .../test/css/mixins-guards-default-func.css | 129 + node_modules/less/test/css/mixins-guards.css | 211 + .../less/test/css/mixins-important.css | 57 + .../less/test/css/mixins-interpolated.css | 43 + .../less/test/css/mixins-named-args.css | 27 + node_modules/less/test/css/mixins-nested.css | 14 + node_modules/less/test/css/mixins-pattern.css | 51 + node_modules/less/test/css/mixins.css | 144 + .../less/test/css/modifyVars/extended.css | 9 + node_modules/less/test/css/no-output.css | 0 .../test/css/no-strict-math/mixins-guards.css | 12 + .../css/no-strict-math/no-sm-operations.css | 15 + node_modules/less/test/css/operations.css | 50 + node_modules/less/test/css/parens.css | 36 + node_modules/less/test/css/plugin.css | 49 + .../css/postProcessorPlugin/postProcessor.css | 4 + .../css/preProcessorPlugin/preProcessor.css | 3 + .../less/test/css/property-name-interp.css | 21 + node_modules/less/test/css/rulesets.css | 33 + node_modules/less/test/css/scope.css | 38 + node_modules/less/test/css/selectors.css | 170 + .../less/test/css/static-urls/urls.css | 46 + .../test/css/strict-units/strict-units.css | 4 + node_modules/less/test/css/strings.css | 55 + node_modules/less/test/css/url-args/urls.css | 56 + node_modules/less/test/css/urls.css | 87 + .../less/test/css/variables-in-at-rules.css | 18 + node_modules/less/test/css/variables.css | 68 + .../less/test/css/visitorPlugin/visitor.css | 3 + node_modules/less/test/css/whitespace.css | 42 + node_modules/less/test/data/data-uri-fail.png | Bin 0 -> 52420 bytes node_modules/less/test/data/image.jpg | Bin 0 -> 11624 bytes node_modules/less/test/data/image.svg | 4 + node_modules/less/test/data/page.html | 1 + node_modules/less/test/index.js | 59 + node_modules/less/test/less-bom/charsets.less | 3 + node_modules/less/test/less-bom/colors.less | 98 + node_modules/less/test/less-bom/comments.less | 102 + .../less/test/less-bom/comments2.less | 31 + .../less-bom/compression/compression.less | 36 + node_modules/less/test/less-bom/css-3.less | 162 + .../less/test/less-bom/css-escapes.less | 33 + .../less/test/less-bom/css-guards.less | 103 + node_modules/less/test/less-bom/css.less | 108 + .../less/test/less-bom/debug/import/test.less | 25 + .../less/test/less-bom/debug/linenumbers.less | 33 + .../less/test/less-bom/detached-rulesets.less | 112 + .../test/less-bom/directives-bubling.less | 142 + node_modules/less/test/less-bom/empty.less | 1 + .../test/less-bom/errors/add-mixed-units.less | 3 + .../test/less-bom/errors/add-mixed-units.txt | 4 + .../less-bom/errors/add-mixed-units2.less | 3 + .../test/less-bom/errors/add-mixed-units2.txt | 4 + .../errors/at-rules-undefined-var.less | 4 + .../errors/at-rules-undefined-var.txt | 4 + .../errors/bad-variable-declaration1.less | 1 + .../errors/bad-variable-declaration1.txt | 2 + .../errors/color-func-invalid-color.less | 3 + .../errors/color-func-invalid-color.txt | 4 + .../errors/color-invalid-hex-code.less | 3 + .../errors/color-invalid-hex-code.txt | 4 + .../errors/color-invalid-hex-code2.less | 3 + .../errors/color-invalid-hex-code2.txt | 4 + .../errors/css-guard-default-func.less | 4 + .../errors/css-guard-default-func.txt | 4 + .../less-bom/errors/detached-ruleset-1.less | 6 + .../less-bom/errors/detached-ruleset-1.txt | 4 + .../less-bom/errors/detached-ruleset-2.less | 6 + .../less-bom/errors/detached-ruleset-2.txt | 4 + .../less-bom/errors/detached-ruleset-3.less | 4 + .../less-bom/errors/detached-ruleset-3.txt | 4 + .../less-bom/errors/detached-ruleset-5.less | 4 + .../less-bom/errors/detached-ruleset-5.txt | 3 + .../less-bom/errors/detached-ruleset-6.less | 5 + .../less-bom/errors/detached-ruleset-6.txt | 4 + .../less-bom/errors/divide-mixed-units.less | 3 + .../less-bom/errors/divide-mixed-units.txt | 4 + .../less-bom/errors/extend-no-selector.less | 3 + .../less-bom/errors/extend-no-selector.txt | 3 + .../less-bom/errors/extend-not-at-end.less | 3 + .../less-bom/errors/extend-not-at-end.txt | 3 + .../test/less-bom/errors/functions-1.less | 2 + .../less/test/less-bom/errors/functions-1.txt | 3 + .../less-bom/errors/functions-10-keyword.less | 2 + .../less-bom/errors/functions-10-keyword.txt | 3 + .../errors/functions-11-operation.less | 2 + .../errors/functions-11-operation.txt | 3 + .../less-bom/errors/functions-12-quoted.less | 2 + .../less-bom/errors/functions-12-quoted.txt | 3 + .../errors/functions-13-selector.less | 2 + .../less-bom/errors/functions-13-selector.txt | 3 + .../less-bom/errors/functions-14-url.less | 2 + .../test/less-bom/errors/functions-14-url.txt | 3 + .../less-bom/errors/functions-15-value.less | 2 + .../less-bom/errors/functions-15-value.txt | 3 + .../less-bom/errors/functions-2-alpha.less | 2 + .../less-bom/errors/functions-2-alpha.txt | 3 + .../errors/functions-3-assignment.less | 2 + .../errors/functions-3-assignment.txt | 3 + .../less-bom/errors/functions-4-call.less | 2 + .../test/less-bom/errors/functions-4-call.txt | 3 + .../less-bom/errors/functions-5-color-2.less | 1 + .../less-bom/errors/functions-5-color-2.txt | 2 + .../less-bom/errors/functions-5-color.less | 2 + .../less-bom/errors/functions-5-color.txt | 3 + .../errors/functions-6-condition.less | 2 + .../less-bom/errors/functions-6-condition.txt | 3 + .../errors/functions-7-dimension.less | 2 + .../less-bom/errors/functions-7-dimension.txt | 3 + .../less-bom/errors/functions-8-element.less | 2 + .../less-bom/errors/functions-8-element.txt | 3 + .../errors/functions-9-expression.less | 2 + .../errors/functions-9-expression.txt | 3 + .../less-bom/errors/import-malformed.less | 1 + .../test/less-bom/errors/import-malformed.txt | 3 + .../test/less-bom/errors/import-missing.less | 6 + .../test/less-bom/errors/import-missing.txt | 3 + .../test/less-bom/errors/import-no-semi.less | 1 + .../test/less-bom/errors/import-no-semi.txt | 2 + .../less-bom/errors/import-subfolder1.less | 1 + .../less-bom/errors/import-subfolder1.txt | 3 + .../less-bom/errors/import-subfolder2.less | 1 + .../less-bom/errors/import-subfolder2.txt | 4 + .../errors/imports/import-subfolder1.less | 1 + .../errors/imports/import-subfolder2.less | 1 + .../less-bom/errors/imports/import-test.less | 4 + .../imports/subfolder/mixin-not-defined.less | 1 + .../subfolder/parse-error-curly-bracket.less | 1 + .../less-bom/errors/javascript-error.less | 3 + .../test/less-bom/errors/javascript-error.txt | 4 + .../errors/javascript-undefined-var.less | 3 + .../errors/javascript-undefined-var.txt | 4 + .../errors/mixed-mixin-definition-args-1.less | 6 + .../errors/mixed-mixin-definition-args-1.txt | 4 + .../errors/mixed-mixin-definition-args-2.less | 6 + .../errors/mixed-mixin-definition-args-2.txt | 4 + .../less-bom/errors/mixin-not-defined.less | 11 + .../less-bom/errors/mixin-not-defined.txt | 3 + .../less-bom/errors/mixin-not-matched.less | 6 + .../less-bom/errors/mixin-not-matched.txt | 3 + .../less-bom/errors/mixin-not-matched2.less | 6 + .../less-bom/errors/mixin-not-matched2.txt | 3 + .../errors/mixin-not-visible-in-scope-1.less | 9 + .../errors/mixin-not-visible-in-scope-1.txt | 4 + .../errors/mixins-guards-default-func-1.less | 9 + .../errors/mixins-guards-default-func-1.txt | 4 + .../errors/mixins-guards-default-func-2.less | 9 + .../errors/mixins-guards-default-func-2.txt | 4 + .../errors/mixins-guards-default-func-3.less | 9 + .../errors/mixins-guards-default-func-3.txt | 4 + .../multiple-guards-on-css-selectors.less | 4 + .../multiple-guards-on-css-selectors.txt | 4 + .../multiple-guards-on-css-selectors2.less | 4 + .../multiple-guards-on-css-selectors2.txt | 4 + .../less-bom/errors/multiply-mixed-units.less | 7 + .../less-bom/errors/multiply-mixed-units.txt | 4 + .../test/less-bom/errors/parens-error-1.less | 3 + .../test/less-bom/errors/parens-error-1.txt | 4 + .../test/less-bom/errors/parens-error-2.less | 3 + .../test/less-bom/errors/parens-error-2.txt | 4 + .../test/less-bom/errors/parens-error-3.less | 3 + .../test/less-bom/errors/parens-error-3.txt | 4 + .../errors/parse-error-curly-bracket.less | 4 + .../errors/parse-error-curly-bracket.txt | 4 + .../errors/parse-error-media-no-block-1.less | 5 + .../errors/parse-error-media-no-block-1.txt | 3 + .../errors/parse-error-media-no-block-2.less | 1 + .../errors/parse-error-media-no-block-2.txt | 2 + .../errors/parse-error-media-no-block-3.less | 4 + .../errors/parse-error-media-no-block-3.txt | 3 + .../errors/parse-error-missing-bracket.less | 2 + .../errors/parse-error-missing-bracket.txt | 3 + .../errors/parse-error-missing-parens.less | 5 + .../errors/parse-error-missing-parens.txt | 3 + .../errors/parse-error-with-import.less | 13 + .../errors/parse-error-with-import.txt | 4 + .../errors/percentage-missing-space.less | 3 + .../errors/percentage-missing-space.txt | 4 + .../percentage-non-number-argument.less | 3 + .../errors/percentage-non-number-argument.txt | 4 + .../errors/property-asterisk-only-name.less | 3 + .../errors/property-asterisk-only-name.txt | 4 + .../less-bom/errors/property-ie5-hack.less | 3 + .../less-bom/errors/property-ie5-hack.txt | 3 + .../less-bom/errors/property-in-root.less | 4 + .../test/less-bom/errors/property-in-root.txt | 4 + .../less-bom/errors/property-in-root2.less | 1 + .../less-bom/errors/property-in-root2.txt | 4 + .../less-bom/errors/property-in-root3.less | 4 + .../less-bom/errors/property-in-root3.txt | 3 + .../errors/property-interp-not-defined.less | 1 + .../errors/property-interp-not-defined.txt | 2 + .../less-bom/errors/recursive-variable.less | 1 + .../less-bom/errors/recursive-variable.txt | 2 + .../errors/root-func-undefined-1.less | 1 + .../less-bom/errors/root-func-undefined-1.txt | 2 + .../errors/root-func-undefined-2.less | 2 + .../less-bom/errors/root-func-undefined-2.txt | 3 + .../less-bom/errors/single-character.less | 1 + .../test/less-bom/errors/single-character.txt | 2 + .../test/less-bom/errors/svg-gradient1.less | 3 + .../test/less-bom/errors/svg-gradient1.txt | 4 + .../test/less-bom/errors/svg-gradient2.less | 3 + .../test/less-bom/errors/svg-gradient2.txt | 4 + .../test/less-bom/errors/svg-gradient3.less | 3 + .../test/less-bom/errors/svg-gradient3.txt | 4 + .../test/less-bom/errors/svg-gradient4.less | 4 + .../test/less-bom/errors/svg-gradient4.txt | 4 + .../test/less-bom/errors/svg-gradient5.less | 4 + .../test/less-bom/errors/svg-gradient5.txt | 4 + .../test/less-bom/errors/svg-gradient6.less | 4 + .../test/less-bom/errors/svg-gradient6.txt | 4 + .../test/less-bom/errors/unit-function.less | 3 + .../test/less-bom/errors/unit-function.txt | 4 + .../less/test/less-bom/extend-chaining.less | 91 + .../less/test/less-bom/extend-clearfix.less | 19 + .../less/test/less-bom/extend-exact.less | 46 + .../less/test/less-bom/extend-media.less | 24 + .../less/test/less-bom/extend-nest.less | 65 + .../less/test/less-bom/extend-selector.less | 110 + node_modules/less/test/less-bom/extend.less | 81 + .../test/less-bom/extract-and-length.less | 133 + .../less-bom/filemanagerPlugin/colors.test | 1 + .../filemanagerPlugin/filemanager.less | 4 + .../less/test/less-bom/functions.less | 232 + .../test/less-bom/globalVars/extended.json | 5 + .../test/less-bom/globalVars/extended.less | 10 + .../less/test/less-bom/globalVars/simple.json | 3 + .../less/test/less-bom/globalVars/simple.less | 3 + .../less/test/less-bom/ie-filters.less | 15 + .../less/test/less-bom/import-inline.less | 3 + .../test/less-bom/import-interpolation.less | 8 + .../less/test/less-bom/import-once.less | 6 + .../less-bom/import-reference-issues.less | 50 + .../appender-reference-1968.less | 6 + .../global-scope-import.less | 13 + .../global-scope-nested.less | 3 + .../import-reference-issues/mixin-1968.less | 8 + .../multiple-import-nested.less | 12 + .../multiple-import.less | 10 + .../import-reference-issues/simple-mixin.css | 3 + .../simple-ruleset-2162.less | 3 + .../less/test/less-bom/import-reference.less | 26 + node_modules/less/test/less-bom/import.less | 31 + .../less/test/less-bom/import/css-import.less | 1 + .../import/deeper/deeper-2/url-import-2.less | 3 + .../import/deeper/deeper-2/url-import.less | 1 + .../import/deeper/import-once-test-a.less | 1 + .../less-bom/import/deeper/url-import.less | 1 + .../import-and-relative-paths-test.less | 17 + .../less-bom/import/import-charset-test.less | 1 + .../import/import-inline-invalid-css.less | 1 + .../less-bom/import/import-interpolation.less | 2 + .../import/import-interpolation2.less | 5 + .../less-bom/import/import-once-test-c.less | 6 + .../less-bom/import/import-reference.less | 98 + .../test/less-bom/import/import-test-a.less | 5 + .../test/less-bom/import/import-test-b.less | 8 + .../test/less-bom/import/import-test-c.less | 6 + .../test/less-bom/import/import-test-d.css | 1 + .../test/less-bom/import/import-test-e.less | 2 + .../test/less-bom/import/import-test-f.less | 5 + .../test/less-bom/import/imports/font.less | 8 + .../test/less-bom/import/imports/logo.less | 6 + .../less-bom/import/interpolation-vars.less | 6 + .../test/less-bom/import/invalid-css.less | 1 + .../less/test/less-bom/import/urls.less | 1 + .../include-path-string.less | 3 + .../less-bom/include-path/include-path.less | 8 + .../less/test/less-bom/javascript.less | 38 + .../less/test/less-bom/lazy-eval.less | 6 + .../less/test/less-bom/legacy/legacy.less | 21 + node_modules/less/test/less-bom/media.less | 234 + node_modules/less/test/less-bom/merge.less | 78 + .../less/test/less-bom/mixins-args.less | 263 + .../less/test/less-bom/mixins-closure.less | 26 + .../less-bom/mixins-guards-default-func.less | 195 + .../less/test/less-bom/mixins-guards.less | 358 + .../less/test/less-bom/mixins-important.less | 53 + .../test/less-bom/mixins-interpolated.less | 75 + .../less/test/less-bom/mixins-named-args.less | 36 + .../less/test/less-bom/mixins-nested.less | 22 + .../less/test/less-bom/mixins-pattern.less | 102 + node_modules/less/test/less-bom/mixins.less | 145 + .../test/less-bom/modifyVars/extended.json | 5 + .../test/less-bom/modifyVars/extended.less | 11 + .../mixin-consumer.less | 5 + .../svg-gradient-mixin.less | 15 + .../less-bom/no-js-errors/no-js-errors.less | 3 + .../less-bom/no-js-errors/no-js-errors.txt | 4 + .../less/test/less-bom/no-output.less | 2 + .../no-strict-math/mixins-guards.less | 25 + .../no-strict-math/no-sm-operations.less | 13 + .../less/test/less-bom/operations.less | 63 + node_modules/less/test/less-bom/parens.less | 45 + node_modules/less/test/less-bom/plugin.less | 93 + .../test/less-bom/plugin/plugin-global.js | 9 + .../less/test/less-bom/plugin/plugin-local.js | 8 + .../test/less-bom/plugin/plugin-transitive.js | 5 + .../less-bom/plugin/plugin-transitive.less | 5 + .../test/less-bom/plugin/plugin-tree-nodes.js | 80 + .../postProcessorPlugin/postProcessor.less | 4 + .../preProcessorPlugin/preProcessor.less | 3 + .../test/less-bom/property-name-interp.less | 56 + node_modules/less/test/less-bom/rulesets.less | 30 + node_modules/less/test/less-bom/scope.less | 104 + .../less/test/less-bom/selectors.less | 184 + .../test/less-bom/sourcemaps-empty/empty.less | 1 + .../less-bom/sourcemaps-empty/var-defs.less | 1 + .../less/test/less-bom/sourcemaps/basic.json | 3 + .../less/test/less-bom/sourcemaps/basic.less | 27 + .../test/less-bom/sourcemaps/imported.css | 7 + .../less/test/less-bom/static-urls/urls.less | 33 + .../less-bom/strict-units/strict-units.less | 4 + node_modules/less/test/less-bom/strings.less | 73 + .../less/test/less-bom/url-args/urls.less | 63 + node_modules/less/test/less-bom/urls.less | 94 + .../test/less-bom/variables-in-at-rules.less | 20 + .../less/test/less-bom/variables.less | 119 + .../test/less-bom/visitorPlugin/visitor.less | 4 + .../less/test/less-bom/whitespace.less | 44 + node_modules/less/test/less-test.js | 386 + node_modules/less/test/less/charsets.less | 3 + node_modules/less/test/less/colors.less | 98 + node_modules/less/test/less/comments.less | 102 + node_modules/less/test/less/comments2.less | 31 + .../test/less/compression/compression.less | 36 + node_modules/less/test/less/css-3.less | 162 + node_modules/less/test/less/css-escapes.less | 33 + node_modules/less/test/less/css-guards.less | 103 + node_modules/less/test/less/css.less | 108 + .../less/test/less/debug/import/test.less | 25 + .../less/test/less/debug/linenumbers.less | 33 + .../less/test/less/detached-rulesets.less | 112 + .../less/test/less/directives-bubling.less | 142 + node_modules/less/test/less/empty.less | 0 .../test/less/errors/add-mixed-units.less | 3 + .../less/test/less/errors/add-mixed-units.txt | 4 + .../test/less/errors/add-mixed-units2.less | 3 + .../test/less/errors/add-mixed-units2.txt | 4 + .../less/errors/at-rules-undefined-var.less | 4 + .../less/errors/at-rules-undefined-var.txt | 4 + .../errors/bad-variable-declaration1.less | 1 + .../less/errors/bad-variable-declaration1.txt | 2 + .../less/errors/color-func-invalid-color.less | 3 + .../less/errors/color-func-invalid-color.txt | 4 + .../less/errors/color-invalid-hex-code.less | 3 + .../less/errors/color-invalid-hex-code.txt | 4 + .../less/errors/color-invalid-hex-code2.less | 3 + .../less/errors/color-invalid-hex-code2.txt | 4 + .../less/errors/css-guard-default-func.less | 4 + .../less/errors/css-guard-default-func.txt | 4 + .../test/less/errors/detached-ruleset-1.less | 6 + .../test/less/errors/detached-ruleset-1.txt | 4 + .../test/less/errors/detached-ruleset-2.less | 6 + .../test/less/errors/detached-ruleset-2.txt | 4 + .../test/less/errors/detached-ruleset-3.less | 4 + .../test/less/errors/detached-ruleset-3.txt | 4 + .../test/less/errors/detached-ruleset-5.less | 4 + .../test/less/errors/detached-ruleset-5.txt | 3 + .../test/less/errors/detached-ruleset-6.less | 5 + .../test/less/errors/detached-ruleset-6.txt | 4 + .../test/less/errors/divide-mixed-units.less | 3 + .../test/less/errors/divide-mixed-units.txt | 4 + .../test/less/errors/extend-no-selector.less | 3 + .../test/less/errors/extend-no-selector.txt | 3 + .../test/less/errors/extend-not-at-end.less | 3 + .../test/less/errors/extend-not-at-end.txt | 3 + .../less/test/less/errors/functions-1.less | 2 + .../less/test/less/errors/functions-1.txt | 3 + .../less/errors/functions-10-keyword.less | 2 + .../test/less/errors/functions-10-keyword.txt | 3 + .../less/errors/functions-11-operation.less | 2 + .../less/errors/functions-11-operation.txt | 3 + .../test/less/errors/functions-12-quoted.less | 2 + .../test/less/errors/functions-12-quoted.txt | 3 + .../less/errors/functions-13-selector.less | 2 + .../less/errors/functions-13-selector.txt | 3 + .../test/less/errors/functions-14-url.less | 2 + .../test/less/errors/functions-14-url.txt | 3 + .../test/less/errors/functions-15-value.less | 2 + .../test/less/errors/functions-15-value.txt | 3 + .../test/less/errors/functions-2-alpha.less | 2 + .../test/less/errors/functions-2-alpha.txt | 3 + .../less/errors/functions-3-assignment.less | 2 + .../less/errors/functions-3-assignment.txt | 3 + .../test/less/errors/functions-4-call.less | 2 + .../test/less/errors/functions-4-call.txt | 3 + .../test/less/errors/functions-5-color-2.less | 1 + .../test/less/errors/functions-5-color-2.txt | 2 + .../test/less/errors/functions-5-color.less | 2 + .../test/less/errors/functions-5-color.txt | 3 + .../less/errors/functions-6-condition.less | 2 + .../less/errors/functions-6-condition.txt | 3 + .../less/errors/functions-7-dimension.less | 2 + .../less/errors/functions-7-dimension.txt | 3 + .../test/less/errors/functions-8-element.less | 2 + .../test/less/errors/functions-8-element.txt | 3 + .../less/errors/functions-9-expression.less | 2 + .../less/errors/functions-9-expression.txt | 3 + .../test/less/errors/import-malformed.less | 1 + .../test/less/errors/import-malformed.txt | 3 + .../less/test/less/errors/import-missing.less | 6 + .../less/test/less/errors/import-missing.txt | 3 + .../less/test/less/errors/import-no-semi.less | 1 + .../less/test/less/errors/import-no-semi.txt | 2 + .../test/less/errors/import-subfolder1.less | 1 + .../test/less/errors/import-subfolder1.txt | 3 + .../test/less/errors/import-subfolder2.less | 1 + .../test/less/errors/import-subfolder2.txt | 4 + .../errors/imports/import-subfolder1.less | 1 + .../errors/imports/import-subfolder2.less | 1 + .../test/less/errors/imports/import-test.less | 4 + .../imports/subfolder/mixin-not-defined.less | 1 + .../subfolder/parse-error-curly-bracket.less | 1 + .../test/less/errors/javascript-error.less | 3 + .../test/less/errors/javascript-error.txt | 4 + .../less/errors/javascript-undefined-var.less | 3 + .../less/errors/javascript-undefined-var.txt | 4 + .../errors/mixed-mixin-definition-args-1.less | 6 + .../errors/mixed-mixin-definition-args-1.txt | 4 + .../errors/mixed-mixin-definition-args-2.less | 6 + .../errors/mixed-mixin-definition-args-2.txt | 4 + .../test/less/errors/mixin-not-defined.less | 11 + .../test/less/errors/mixin-not-defined.txt | 3 + .../test/less/errors/mixin-not-matched.less | 6 + .../test/less/errors/mixin-not-matched.txt | 3 + .../test/less/errors/mixin-not-matched2.less | 6 + .../test/less/errors/mixin-not-matched2.txt | 3 + .../errors/mixin-not-visible-in-scope-1.less | 9 + .../errors/mixin-not-visible-in-scope-1.txt | 4 + .../errors/mixins-guards-default-func-1.less | 9 + .../errors/mixins-guards-default-func-1.txt | 4 + .../errors/mixins-guards-default-func-2.less | 9 + .../errors/mixins-guards-default-func-2.txt | 4 + .../errors/mixins-guards-default-func-3.less | 9 + .../errors/mixins-guards-default-func-3.txt | 4 + .../multiple-guards-on-css-selectors.less | 4 + .../multiple-guards-on-css-selectors.txt | 4 + .../multiple-guards-on-css-selectors2.less | 4 + .../multiple-guards-on-css-selectors2.txt | 4 + .../less/errors/multiply-mixed-units.less | 7 + .../test/less/errors/multiply-mixed-units.txt | 4 + .../less/test/less/errors/parens-error-1.less | 3 + .../less/test/less/errors/parens-error-1.txt | 4 + .../less/test/less/errors/parens-error-2.less | 3 + .../less/test/less/errors/parens-error-2.txt | 4 + .../less/test/less/errors/parens-error-3.less | 3 + .../less/test/less/errors/parens-error-3.txt | 4 + .../errors/parse-error-curly-bracket.less | 4 + .../less/errors/parse-error-curly-bracket.txt | 4 + .../errors/parse-error-media-no-block-1.less | 5 + .../errors/parse-error-media-no-block-1.txt | 3 + .../errors/parse-error-media-no-block-2.less | 1 + .../errors/parse-error-media-no-block-2.txt | 2 + .../errors/parse-error-media-no-block-3.less | 4 + .../errors/parse-error-media-no-block-3.txt | 3 + .../errors/parse-error-missing-bracket.less | 2 + .../errors/parse-error-missing-bracket.txt | 3 + .../errors/parse-error-missing-parens.less | 5 + .../errors/parse-error-missing-parens.txt | 3 + .../less/errors/parse-error-with-import.less | 13 + .../less/errors/parse-error-with-import.txt | 4 + .../less/errors/percentage-missing-space.less | 3 + .../less/errors/percentage-missing-space.txt | 4 + .../percentage-non-number-argument.less | 3 + .../errors/percentage-non-number-argument.txt | 4 + .../errors/property-asterisk-only-name.less | 3 + .../errors/property-asterisk-only-name.txt | 4 + .../test/less/errors/property-ie5-hack.less | 3 + .../test/less/errors/property-ie5-hack.txt | 3 + .../test/less/errors/property-in-root.less | 4 + .../test/less/errors/property-in-root.txt | 4 + .../test/less/errors/property-in-root2.less | 1 + .../test/less/errors/property-in-root2.txt | 4 + .../test/less/errors/property-in-root3.less | 4 + .../test/less/errors/property-in-root3.txt | 3 + .../errors/property-interp-not-defined.less | 1 + .../errors/property-interp-not-defined.txt | 2 + .../test/less/errors/recursive-variable.less | 1 + .../test/less/errors/recursive-variable.txt | 2 + .../less/errors/root-func-undefined-1.less | 1 + .../less/errors/root-func-undefined-1.txt | 2 + .../less/errors/root-func-undefined-2.less | 2 + .../less/errors/root-func-undefined-2.txt | 3 + .../test/less/errors/single-character.less | 1 + .../test/less/errors/single-character.txt | 2 + .../less/test/less/errors/svg-gradient1.less | 3 + .../less/test/less/errors/svg-gradient1.txt | 4 + .../less/test/less/errors/svg-gradient2.less | 3 + .../less/test/less/errors/svg-gradient2.txt | 4 + .../less/test/less/errors/svg-gradient3.less | 3 + .../less/test/less/errors/svg-gradient3.txt | 4 + .../less/test/less/errors/svg-gradient4.less | 4 + .../less/test/less/errors/svg-gradient4.txt | 4 + .../less/test/less/errors/svg-gradient5.less | 4 + .../less/test/less/errors/svg-gradient5.txt | 4 + .../less/test/less/errors/svg-gradient6.less | 4 + .../less/test/less/errors/svg-gradient6.txt | 4 + .../less/test/less/errors/unit-function.less | 3 + .../less/test/less/errors/unit-function.txt | 4 + .../less/test/less/extend-chaining.less | 91 + .../less/test/less/extend-clearfix.less | 19 + node_modules/less/test/less/extend-exact.less | 46 + node_modules/less/test/less/extend-media.less | 24 + node_modules/less/test/less/extend-nest.less | 65 + .../less/test/less/extend-selector.less | 110 + node_modules/less/test/less/extend.less | 81 + .../less/test/less/extract-and-length.less | 133 + .../test/less/filemanagerPlugin/colors.test | 1 + .../less/filemanagerPlugin/filemanager.less | 4 + node_modules/less/test/less/functions.less | 232 + .../less/test/less/globalVars/extended.json | 5 + .../less/test/less/globalVars/extended.less | 10 + .../less/test/less/globalVars/simple.json | 3 + .../less/test/less/globalVars/simple.less | 3 + node_modules/less/test/less/ie-filters.less | 15 + .../less/test/less/import-inline.less | 3 + .../less/test/less/import-interpolation.less | 8 + node_modules/less/test/less/import-once.less | 6 + .../test/less/import-reference-issues.less | 50 + .../appender-reference-1968.less | 6 + .../global-scope-import.less | 13 + .../global-scope-nested.less | 3 + .../import-reference-issues/mixin-1968.less | 8 + .../multiple-import-nested.less | 12 + .../multiple-import.less | 10 + .../import-reference-issues/simple-mixin.css | 3 + .../simple-ruleset-2162.less | 3 + .../less/test/less/import-reference.less | 26 + node_modules/less/test/less/import.less | 31 + .../less/test/less/import/css-import.less | 1 + .../import/deeper/deeper-2/url-import-2.less | 3 + .../import/deeper/deeper-2/url-import.less | 1 + .../import/deeper/import-once-test-a.less | 1 + .../test/less/import/deeper/url-import.less | 1 + .../import-and-relative-paths-test.less | 17 + .../test/less/import/import-charset-test.less | 1 + .../import/import-inline-invalid-css.less | 1 + .../less/import/import-interpolation.less | 2 + .../less/import/import-interpolation2.less | 5 + .../test/less/import/import-once-test-c.less | 6 + .../test/less/import/import-reference.less | 98 + .../less/test/less/import/import-test-a.less | 5 + .../less/test/less/import/import-test-b.less | 8 + .../less/test/less/import/import-test-c.less | 6 + .../less/test/less/import/import-test-d.css | 1 + .../less/test/less/import/import-test-e.less | 2 + .../less/test/less/import/import-test-f.less | 5 + .../less/test/less/import/imports/font.less | 8 + .../less/test/less/import/imports/logo.less | 6 + .../test/less/import/interpolation-vars.less | 6 + .../less/test/less/import/invalid-css.less | 1 + node_modules/less/test/less/import/urls.less | 1 + .../include-path-string.less | 3 + .../test/less/include-path/include-path.less | 8 + node_modules/less/test/less/javascript.less | 38 + node_modules/less/test/less/lazy-eval.less | 6 + .../less/test/less/legacy/legacy.less | 21 + node_modules/less/test/less/media.less | 234 + node_modules/less/test/less/merge.less | 78 + node_modules/less/test/less/mixins-args.less | 263 + .../less/test/less/mixins-closure.less | 26 + .../test/less/mixins-guards-default-func.less | 195 + .../less/test/less/mixins-guards.less | 358 + .../less/test/less/mixins-important.less | 53 + .../less/test/less/mixins-interpolated.less | 75 + .../less/test/less/mixins-named-args.less | 36 + .../less/test/less/mixins-nested.less | 22 + .../less/test/less/mixins-pattern.less | 102 + node_modules/less/test/less/mixins.less | 145 + .../less/test/less/modifyVars/extended.json | 5 + .../less/test/less/modifyVars/extended.less | 11 + .../mixin-consumer.less | 5 + .../svg-gradient-mixin.less | 15 + .../test/less/no-js-errors/no-js-errors.less | 3 + .../test/less/no-js-errors/no-js-errors.txt | 4 + node_modules/less/test/less/no-output.less | 2 + .../less/no-strict-math/mixins-guards.less | 25 + .../less/no-strict-math/no-sm-operations.less | 13 + node_modules/less/test/less/operations.less | 63 + node_modules/less/test/less/parens.less | 45 + node_modules/less/test/less/plugin.less | 93 + .../less/test/less/plugin/plugin-global.js | 9 + .../less/test/less/plugin/plugin-local.js | 8 + .../test/less/plugin/plugin-transitive.js | 5 + .../test/less/plugin/plugin-transitive.less | 5 + .../test/less/plugin/plugin-tree-nodes.js | 80 + .../postProcessorPlugin/postProcessor.less | 4 + .../less/preProcessorPlugin/preProcessor.less | 3 + .../less/test/less/property-name-interp.less | 56 + node_modules/less/test/less/rulesets.less | 30 + node_modules/less/test/less/scope.less | 104 + node_modules/less/test/less/selectors.less | 184 + .../test/less/sourcemaps-empty/empty.less | 0 .../test/less/sourcemaps-empty/var-defs.less | 1 + .../less/test/less/sourcemaps/basic.json | 3 + .../less/test/less/sourcemaps/basic.less | 27 + .../less/test/less/sourcemaps/imported.css | 7 + .../less/test/less/static-urls/urls.less | 33 + .../test/less/strict-units/strict-units.less | 4 + node_modules/less/test/less/strings.less | 73 + .../less/test/less/url-args/urls.less | 63 + node_modules/less/test/less/urls.less | 94 + .../less/test/less/variables-in-at-rules.less | 20 + node_modules/less/test/less/variables.less | 119 + .../less/test/less/visitorPlugin/visitor.less | 4 + node_modules/less/test/less/whitespace.less | 44 + node_modules/less/test/modify-vars.js | 19 + .../less/test/plugins/filemanager/index.js | 19 + .../less/test/plugins/postprocess/index.js | 14 + .../less/test/plugins/preprocess/index.js | 19 + .../less/test/plugins/visitor/index.js | 24 + node_modules/less/test/rhino/test-header.js | 15 + node_modules/less/test/sourcemaps/basic.json | 1 + node_modules/less/test/sourcemaps/index.html | 17 + node_modules/longest/LICENSE | 21 + node_modules/longest/README.md | 65 + node_modules/longest/index.js | 37 + node_modules/longest/package.json | 96 + node_modules/mime-db/HISTORY.md | 343 + node_modules/mime-db/LICENSE | 22 + node_modules/mime-db/README.md | 94 + node_modules/mime-db/db.json | 6966 ++++++ node_modules/mime-db/index.js | 11 + node_modules/mime-db/package.json | 100 + node_modules/mime-types/HISTORY.md | 247 + node_modules/mime-types/LICENSE | 23 + node_modules/mime-types/README.md | 108 + node_modules/mime-types/index.js | 188 + node_modules/mime-types/package.json | 87 + node_modules/mime/.npmignore | 0 node_modules/mime/CHANGELOG.md | 164 + node_modules/mime/LICENSE | 21 + node_modules/mime/README.md | 90 + node_modules/mime/cli.js | 8 + node_modules/mime/mime.js | 108 + node_modules/mime/package.json | 73 + node_modules/mime/src/build.js | 53 + node_modules/mime/src/test.js | 60 + node_modules/mime/types.json | 1 + node_modules/minimist/.travis.yml | 4 + node_modules/minimist/LICENSE | 18 + node_modules/minimist/example/parse.js | 2 + node_modules/minimist/index.js | 187 + node_modules/minimist/package.json | 93 + node_modules/minimist/readme.markdown | 73 + node_modules/minimist/test/dash.js | 24 + node_modules/minimist/test/default_bool.js | 20 + node_modules/minimist/test/dotted.js | 16 + node_modules/minimist/test/long.js | 31 + node_modules/minimist/test/parse.js | 318 + node_modules/minimist/test/parse_modified.js | 9 + node_modules/minimist/test/short.js | 67 + node_modules/minimist/test/whitespace.js | 8 + node_modules/mkdirp/.travis.yml | 8 + node_modules/mkdirp/LICENSE | 21 + node_modules/mkdirp/bin/cmd.js | 33 + node_modules/mkdirp/bin/usage.txt | 12 + node_modules/mkdirp/examples/pow.js | 6 + node_modules/mkdirp/index.js | 98 + node_modules/mkdirp/package.json | 85 + node_modules/mkdirp/readme.markdown | 100 + node_modules/mkdirp/test/chmod.js | 41 + node_modules/mkdirp/test/clobber.js | 38 + node_modules/mkdirp/test/mkdirp.js | 28 + node_modules/mkdirp/test/opts_fs.js | 29 + node_modules/mkdirp/test/opts_fs_sync.js | 27 + node_modules/mkdirp/test/perm.js | 32 + node_modules/mkdirp/test/perm_sync.js | 36 + node_modules/mkdirp/test/race.js | 37 + node_modules/mkdirp/test/rel.js | 32 + node_modules/mkdirp/test/return.js | 25 + node_modules/mkdirp/test/return_sync.js | 24 + node_modules/mkdirp/test/root.js | 19 + node_modules/mkdirp/test/sync.js | 32 + node_modules/mkdirp/test/umask.js | 28 + node_modules/mkdirp/test/umask_sync.js | 32 + node_modules/oauth-sign/LICENSE | 55 + node_modules/oauth-sign/README.md | 4 + node_modules/oauth-sign/index.js | 136 + node_modules/oauth-sign/package.json | 56 + node_modules/object-assign/index.js | 90 + node_modules/object-assign/license | 21 + node_modules/object-assign/package.json | 111 + node_modules/object-assign/readme.md | 61 + node_modules/path-parse/.travis.yml | 9 + node_modules/path-parse/README.md | 44 + node_modules/path-parse/index.js | 93 + node_modules/path-parse/index.min.js | 1 + node_modules/path-parse/package.json | 84 + node_modules/path-parse/test.js | 77 + node_modules/path-parse/test.min.js | 1 + node_modules/performance-now/.npmignore | 1 + node_modules/performance-now/.tm_properties | 7 + node_modules/performance-now/.travis.yml | 4 + node_modules/performance-now/Makefile | 25 + node_modules/performance-now/README.md | 30 + .../performance-now/lib/performance-now.js | 32 + node_modules/performance-now/license.txt | 7 + node_modules/performance-now/package.json | 57 + .../src/performance-now.coffee | 15 + node_modules/performance-now/test/mocha.opts | 3 + .../test/performance-now.coffee | 38 + node_modules/promise/.jshintrc | 5 + node_modules/promise/.npmignore | 7 + node_modules/promise/LICENSE | 19 + node_modules/promise/Readme.md | 231 + node_modules/promise/build.js | 69 + node_modules/promise/core.js | 5 + node_modules/promise/domains/core.js | 213 + node_modules/promise/domains/done.js | 13 + .../promise/domains/es6-extensions.js | 107 + node_modules/promise/domains/finally.js | 16 + node_modules/promise/domains/index.js | 8 + .../promise/domains/node-extensions.js | 130 + .../promise/domains/rejection-tracking.js | 113 + node_modules/promise/domains/synchronous.js | 62 + node_modules/promise/index.d.ts | 256 + node_modules/promise/index.js | 3 + node_modules/promise/lib/core.js | 213 + node_modules/promise/lib/done.js | 13 + node_modules/promise/lib/es6-extensions.js | 107 + node_modules/promise/lib/finally.js | 16 + node_modules/promise/lib/index.js | 8 + node_modules/promise/lib/node-extensions.js | 130 + .../promise/lib/rejection-tracking.js | 113 + node_modules/promise/lib/synchronous.js | 62 + node_modules/promise/package.json | 98 + node_modules/promise/polyfill-done.js | 12 + node_modules/promise/polyfill.js | 10 + node_modules/promise/setimmediate/core.js | 213 + node_modules/promise/setimmediate/done.js | 13 + .../promise/setimmediate/es6-extensions.js | 107 + node_modules/promise/setimmediate/finally.js | 16 + node_modules/promise/setimmediate/index.js | 8 + .../promise/setimmediate/node-extensions.js | 130 + .../setimmediate/rejection-tracking.js | 113 + .../promise/setimmediate/synchronous.js | 62 + node_modules/promise/src/core.js | 213 + node_modules/promise/src/done.js | 13 + node_modules/promise/src/es6-extensions.js | 107 + node_modules/promise/src/finally.js | 16 + node_modules/promise/src/index.js | 8 + node_modules/promise/src/node-extensions.js | 130 + .../promise/src/rejection-tracking.js | 113 + node_modules/promise/src/synchronous.js | 62 + node_modules/prr/.jshintrc | 61 + node_modules/prr/.npmignore | 1 + node_modules/prr/.travis.yml | 10 + node_modules/prr/LICENSE | 39 + node_modules/prr/README.md | 45 + node_modules/prr/package.json | 56 + node_modules/prr/prr.js | 63 + node_modules/prr/test.js | 169 + node_modules/pug-attrs/LICENSE | 19 + node_modules/pug-attrs/README.md | 75 + node_modules/pug-attrs/index.js | 122 + node_modules/pug-attrs/package.json | 82 + node_modules/pug-attrs/test/index.test.js | 96 + node_modules/pug-cli/.npmignore | 15 + node_modules/pug-cli/.travis.yml | 17 + node_modules/pug-cli/HISTORY.md | 91 + node_modules/pug-cli/LICENSE.md | 21 + node_modules/pug-cli/README.md | 92 + node_modules/pug-cli/index.js | 310 + node_modules/pug-cli/package.json | 96 + .../pug-cli/test/dependencies/dependency1.pug | 3 + .../pug-cli/test/dependencies/dependency2.pug | 1 + .../pug-cli/test/dependencies/dependency3.pug | 1 + .../pug-cli/test/dependencies/include2.pug | 1 + node_modules/pug-cli/test/index.js | 619 + node_modules/pug-code-gen/HISTORY.md | 13 + node_modules/pug-code-gen/LICENSE | 19 + node_modules/pug-code-gen/README.md | 64 + node_modules/pug-code-gen/index.js | 832 + node_modules/pug-code-gen/package.json | 87 + node_modules/pug-error/LICENSE | 19 + node_modules/pug-error/README.md | 55 + node_modules/pug-error/index.js | 49 + node_modules/pug-error/package.json | 86 + node_modules/pug-filters/CHANGELOG.md | 34 + node_modules/pug-filters/LICENSE | 19 + node_modules/pug-filters/README.md | 41 + node_modules/pug-filters/index.js | 4 + .../pug-filters/lib/handle-filters.js | 112 + node_modules/pug-filters/lib/run-filter.js | 43 + node_modules/pug-filters/package.json | 97 + .../__snapshots__/filter-aliases.test.js.snap | 275 + .../test/__snapshots__/index.test.js.snap | 1072 + ...ons-applied-to-nested-filters.test.js.snap | 100 + .../test/cases/filters-empty.input.json | 84 + .../test/cases/filters.cdata.input.json | 83 + .../cases/filters.coffeescript.input.json | 84 + .../test/cases/filters.custom.input.json | 101 + .../cases/filters.include.custom.input.json | 91 + .../test/cases/filters.include.custom.pug | 4 + .../test/cases/filters.include.input.json | 153 + .../test/cases/filters.inline.input.json | 56 + .../test/cases/filters.less.input.json | 113 + .../test/cases/filters.markdown.input.json | 70 + .../test/cases/filters.nested.input.json | 161 + .../test/cases/filters.stylus.input.json | 109 + .../test/cases/include-filter-coffee.coffee | 2 + node_modules/pug-filters/test/cases/some.md | 3 + .../pug-filters/test/custom-filters.js | 9 + .../test/errors-src/dynamic-option.jade | 3 + .../test/errors/dynamic-option.input.json | 37 + .../pug-filters/test/filter-aliases.test.js | 89 + node_modules/pug-filters/test/index.test.js | 51 + ...-options-applied-to-nested-filters.test.js | 28 + .../pug-filters/test/update-test-cases.js | 131 + node_modules/pug-lexer/History.md | 66 + node_modules/pug-lexer/LICENSE | 19 + node_modules/pug-lexer/README.md | 72 + node_modules/pug-lexer/index.js | 1379 ++ .../pug-lexer/node_modules/.bin/acorn | 15 + .../pug-lexer/node_modules/.bin/acorn.cmd | 7 + .../pug-lexer/node_modules/acorn/.npmignore | 10 + .../pug-lexer/node_modules/acorn/AUTHORS | 62 + .../pug-lexer/node_modules/acorn/CHANGELOG.md | 286 + .../pug-lexer/node_modules/acorn/LICENSE | 19 + .../pug-lexer/node_modules/acorn/README.md | 409 + .../pug-lexer/node_modules/acorn/bin/acorn | 67 + .../pug-lexer/node_modules/acorn/dist/.keep | 0 .../node_modules/acorn/dist/acorn.es.js | 3401 +++ .../node_modules/acorn/dist/acorn.js | 3433 +++ .../node_modules/acorn/dist/acorn_loose.es.js | 1364 ++ .../node_modules/acorn/dist/acorn_loose.js | 1374 ++ .../node_modules/acorn/dist/walk.es.js | 342 + .../pug-lexer/node_modules/acorn/dist/walk.js | 360 + .../pug-lexer/node_modules/acorn/package.json | 275 + .../node_modules/acorn/src/bin/acorn.js | 60 + .../node_modules/acorn/src/expression.js | 819 + .../node_modules/acorn/src/identifier.js | 81 + .../pug-lexer/node_modules/acorn/src/index.js | 77 + .../node_modules/acorn/src/location.js | 26 + .../node_modules/acorn/src/locutil.js | 42 + .../acorn/src/loose/expression.js | 562 + .../node_modules/acorn/src/loose/index.js | 48 + .../node_modules/acorn/src/loose/parseutil.js | 1 + .../node_modules/acorn/src/loose/state.js | 161 + .../node_modules/acorn/src/loose/statement.js | 450 + .../node_modules/acorn/src/loose/tokenize.js | 108 + .../pug-lexer/node_modules/acorn/src/lval.js | 219 + .../pug-lexer/node_modules/acorn/src/node.js | 50 + .../node_modules/acorn/src/options.js | 128 + .../node_modules/acorn/src/parseutil.js | 128 + .../pug-lexer/node_modules/acorn/src/state.js | 111 + .../node_modules/acorn/src/statement.js | 744 + .../node_modules/acorn/src/tokencontext.js | 110 + .../node_modules/acorn/src/tokenize.js | 686 + .../node_modules/acorn/src/tokentype.js | 147 + .../pug-lexer/node_modules/acorn/src/util.js | 9 + .../node_modules/acorn/src/walk/index.js | 342 + .../node_modules/acorn/src/whitespace.js | 13 + .../node_modules/is-expression/.npmignore | 14 + .../node_modules/is-expression/.travis.yml | 17 + .../node_modules/is-expression/CHANGELOG.md | 46 + .../node_modules/is-expression/LICENSE.md | 19 + .../node_modules/is-expression/README.md | 66 + .../node_modules/is-expression/index.js | 45 + .../node_modules/is-expression/package.json | 90 + .../node_modules/is-expression/test.js | 48 + node_modules/pug-lexer/package.json | 86 + .../test/__snapshots__/index.test.js.snap | 18710 +++++++++++++++ .../pug-lexer/test/cases/attr-es2015.pug | 3 + .../pug-lexer/test/cases/attrs-data.pug | 7 + .../pug-lexer/test/cases/attrs.js.pug | 17 + node_modules/pug-lexer/test/cases/attrs.pug | 43 + .../pug-lexer/test/cases/attrs.unescaped.pug | 3 + node_modules/pug-lexer/test/cases/basic.pug | 3 + node_modules/pug-lexer/test/cases/blanks.pug | 8 + .../pug-lexer/test/cases/block-code.pug | 12 + .../pug-lexer/test/cases/block-expansion.pug | 5 + .../test/cases/block-expansion.shorthands.pug | 2 + .../pug-lexer/test/cases/blockquote.pug | 4 + .../pug-lexer/test/cases/blocks-in-blocks.pug | 4 + .../pug-lexer/test/cases/blocks-in-if.pug | 19 + .../pug-lexer/test/cases/case-blocks.pug | 10 + node_modules/pug-lexer/test/cases/case.pug | 19 + .../pug-lexer/test/cases/classes-empty.pug | 3 + node_modules/pug-lexer/test/cases/classes.pug | 11 + .../test/cases/code.conditionals.pug | 43 + .../pug-lexer/test/cases/code.escape.pug | 2 + .../pug-lexer/test/cases/code.iteration.pug | 35 + node_modules/pug-lexer/test/cases/code.pug | 10 + .../pug-lexer/test/cases/comments-in-case.pug | 10 + .../pug-lexer/test/cases/comments.pug | 29 + .../pug-lexer/test/cases/comments.source.pug | 9 + .../pug-lexer/test/cases/doctype.custom.pug | 1 + .../pug-lexer/test/cases/doctype.default.pug | 4 + .../pug-lexer/test/cases/doctype.keyword.pug | 1 + .../pug-lexer/test/cases/each.else.pug | 43 + .../pug-lexer/test/cases/escape-chars.pug | 2 + .../pug-lexer/test/cases/escape-test.pug | 8 + .../test/cases/escaping-class-attribute.pug | 6 + .../test/cases/filter-in-include.pug | 1 + .../pug-lexer/test/cases/filters-empty.pug | 6 + .../test/cases/filters.coffeescript.pug | 6 + .../pug-lexer/test/cases/filters.custom.pug | 7 + .../test/cases/filters.include.custom.pug | 4 + .../pug-lexer/test/cases/filters.include.pug | 7 + .../pug-lexer/test/cases/filters.inline.pug | 1 + .../pug-lexer/test/cases/filters.less.pug | 8 + .../pug-lexer/test/cases/filters.markdown.pug | 5 + .../pug-lexer/test/cases/filters.nested.pug | 10 + .../pug-lexer/test/cases/filters.stylus.pug | 7 + .../pug-lexer/test/cases/filters.verbatim.pug | 6 + node_modules/pug-lexer/test/cases/html.pug | 13 + node_modules/pug-lexer/test/cases/html5.pug | 4 + .../test/cases/include-extends-from-root.pug | 1 + .../include-extends-of-common-template.pug | 2 + .../test/cases/include-extends-relative.pug | 1 + .../test/cases/include-only-text-body.pug | 3 + .../test/cases/include-only-text.pug | 5 + .../test/cases/include-with-text-head.pug | 3 + .../test/cases/include-with-text.pug | 4 + .../pug-lexer/test/cases/include.script.pug | 2 + .../test/cases/include.yield.nested.pug | 4 + .../test/cases/includes-with-ext-js.pug | 3 + .../pug-lexer/test/cases/includes.pug | 10 + .../test/cases/inheritance.alert-dialog.pug | 6 + .../test/cases/inheritance.defaults.pug | 6 + .../test/cases/inheritance.extend.include.pug | 13 + .../cases/inheritance.extend.mixins.block.pug | 4 + .../test/cases/inheritance.extend.mixins.pug | 11 + .../test/cases/inheritance.extend.pug | 9 + .../cases/inheritance.extend.recursive.pug | 4 + .../cases/inheritance.extend.whitespace.pug | 13 + .../pug-lexer/test/cases/inheritance.pug | 9 + .../test/cases/inline-block-comment.pug | 3 + .../pug-lexer/test/cases/inline-tag.pug | 19 + .../test/cases/intepolated-elements.pug | 3 + .../test/cases/interpolated-mixin.pug | 4 + .../test/cases/interpolation.escape.pug | 7 + .../test/cases/javascript-new-lines.js | 1 + .../pug-lexer/test/cases/layout.append.pug | 6 + .../cases/layout.append.without-block.pug | 6 + .../layout.multi.append.prepend.block.pug | 19 + .../pug-lexer/test/cases/layout.prepend.pug | 6 + .../cases/layout.prepend.without-block.pug | 6 + .../test/cases/mixin-at-end-of-file.pug | 4 + .../test/cases/mixin-block-with-space.pug | 6 + .../pug-lexer/test/cases/mixin-hoist.pug | 7 + .../test/cases/mixin-via-include.pug | 5 + .../pug-lexer/test/cases/mixin.attrs.pug | 59 + .../test/cases/mixin.block-tag-behaviour.pug | 24 + .../pug-lexer/test/cases/mixin.blocks.pug | 44 + .../pug-lexer/test/cases/mixin.merge.pug | 15 + .../pug-lexer/test/cases/mixins-unused.pug | 3 + node_modules/pug-lexer/test/cases/mixins.pug | 32 + .../pug-lexer/test/cases/mixins.rest-args.pug | 6 + .../pug-lexer/test/cases/namespaces.pug | 2 + node_modules/pug-lexer/test/cases/nesting.pug | 8 + .../test/cases/pipeless-comments.pug | 4 + .../pug-lexer/test/cases/pipeless-filters.pug | 4 + .../pug-lexer/test/cases/pipeless-tag.pug | 3 + node_modules/pug-lexer/test/cases/pre.pug | 10 + node_modules/pug-lexer/test/cases/quotes.pug | 2 + .../pug-lexer/test/cases/regression.1794.pug | 4 + .../pug-lexer/test/cases/regression.784.pug | 2 + .../test/cases/script.whitespace.pug | 6 + .../pug-lexer/test/cases/scripts.non-js.pug | 9 + node_modules/pug-lexer/test/cases/scripts.pug | 8 + .../test/cases/self-closing-html.pug | 4 + .../pug-lexer/test/cases/single-period.pug | 1 + node_modules/pug-lexer/test/cases/source.pug | 4 + node_modules/pug-lexer/test/cases/styles.pug | 19 + .../pug-lexer/test/cases/tag-blocks.pug | 5 + .../test/cases/tag.interpolation.pug | 22 + .../test/cases/tags.self-closing.pug | 19 + .../pug-lexer/test/cases/template.pug | 9 + .../pug-lexer/test/cases/text-block.pug | 6 + node_modules/pug-lexer/test/cases/text.pug | 46 + node_modules/pug-lexer/test/cases/utf8bom.pug | 1 + node_modules/pug-lexer/test/cases/vars.pug | 3 + node_modules/pug-lexer/test/cases/while.pug | 5 + node_modules/pug-lexer/test/cases/xml.pug | 3 + .../cases/yield-before-conditional-head.pug | 5 + .../test/cases/yield-before-conditional.pug | 5 + .../pug-lexer/test/cases/yield-head.pug | 4 + .../pug-lexer/test/cases/yield-title-head.pug | 5 + .../pug-lexer/test/cases/yield-title.pug | 4 + node_modules/pug-lexer/test/cases/yield.pug | 5 + .../test/check-lexer-functions.test.js | 98 + .../errors/attribute-invalid-expression.pug | 3 + .../errors/case-with-invalid-expression.pug | 1 + .../test/errors/case-with-no-expression.pug | 1 + .../test/errors/default-with-expression.pug | 1 + .../test/errors/else-with-condition.pug | 4 + .../pug-lexer/test/errors/extends-no-path.pug | 1 + .../test/errors/include-filter-no-path-2.pug | 1 + .../test/errors/include-filter-no-path.pug | 1 + .../test/errors/include-filter-no-space.pug | 1 + .../pug-lexer/test/errors/include-no-path.pug | 1 + .../test/errors/inconsistent-indentation.pug | 4 + .../test/errors/interpolated-call.pug | 5 + .../test/errors/invalid-class-name-1.pug | 1 + .../test/errors/invalid-class-name-2.pug | 1 + .../test/errors/invalid-class-name-3.pug | 1 + .../pug-lexer/test/errors/invalid-id.pug | 1 + .../pug-lexer/test/errors/malformed-each.pug | 1 + .../test/errors/malformed-extend.pug | 1 + .../test/errors/malformed-include.pug | 1 + .../test/errors/mismatched-inline-tag.pug | 2 + .../errors/mismatched-tag-interpolation.pug | 2 + .../test/errors/multi-line-interpolation.pug | 4 + .../test/errors/old-prefixed-each.pug | 3 + .../test/errors/open-interpolation.pug | 1 + .../test/errors/when-with-no-expression.pug | 1 + .../test/errors/while-with-no-expression.pug | 1 + node_modules/pug-lexer/test/index.test.js | 38 + node_modules/pug-linker/HISTORY.md | 10 + node_modules/pug-linker/LICENSE | 19 + node_modules/pug-linker/README.md | 27 + node_modules/pug-linker/index.js | 185 + node_modules/pug-linker/package.json | 85 + .../test/__snapshots__/index.test.js.snap | 4153 ++++ .../test/cases-src/auxiliary/1794-extends.pug | 1 + .../test/cases-src/auxiliary/1794-include.pug | 4 + .../auxiliary/blocks-in-blocks-layout.pug | 8 + .../test/cases-src/auxiliary/dialog.pug | 6 + .../test/cases-src/auxiliary/empty-block.pug | 2 + .../test/cases-src/auxiliary/escapes.html | 3 + .../auxiliary/extends-empty-block-1.pug | 5 + .../auxiliary/extends-empty-block-2.pug | 5 + .../cases-src/auxiliary/extends-from-root.pug | 4 + .../cases-src/auxiliary/extends-relative.pug | 4 + .../cases-src/auxiliary/filter-in-include.pug | 8 + .../test/cases-src/auxiliary/includable.js | 7 + .../cases-src/auxiliary/include-from-root.pug | 1 + .../inheritance.extend.mixin.block.pug | 11 + ...nce.extend.recursive-grand-grandparent.pug | 2 + ...heritance.extend.recursive-grandparent.pug | 6 + .../inheritance.extend.recursive-parent.pug | 5 + .../cases-src/auxiliary/layout.include.pug | 7 + .../test/cases-src/auxiliary/layout.pug | 6 + .../auxiliary/mixin-at-end-of-file.pug | 3 + .../test/cases-src/auxiliary/mixins.pug | 3 + .../test/cases-src/auxiliary/pet.pug | 3 + .../test/cases-src/auxiliary/smile.html | 1 + .../test/cases-src/auxiliary/window.pug | 4 + .../test/cases-src/auxiliary/yield-nested.pug | 10 + .../cases-src/include-extends-from-root.pug | 1 + .../include-extends-of-common-template.pug | 2 + .../cases-src/include-extends-relative.pug | 1 + .../cases-src/include-filter-coffee.coffee | 2 + .../test/cases-src/include-filter-stylus.pug | 2 + .../test/cases-src/include-filter.pug | 7 + .../test/cases-src/include-only-text-body.pug | 3 + .../test/cases-src/include-only-text.pug | 5 + .../test/cases-src/include-with-text-head.pug | 3 + .../test/cases-src/include-with-text.pug | 4 + .../test/cases-src/include.script.pug | 2 + .../test/cases-src/include.yield.nested.pug | 4 + .../test/cases-src/includes-with-ext-js.pug | 3 + .../pug-linker/test/cases-src/includes.pug | 10 + .../test/cases-src/javascript-new-lines.js | 1 + .../test/cases-src/layout.append.pug | 6 + .../cases-src/layout.append.without-block.pug | 6 + .../layout.multi.append.prepend.block.pug | 19 + .../test/cases-src/layout.prepend.pug | 6 + .../layout.prepend.without-block.pug | 6 + .../test/cases-src/some-included.styl | 2 + .../pug-linker/test/cases-src/some.md | 3 + .../pug-linker/test/cases-src/some.styl | 1 + .../include-extends-from-root.input.json | 201 + ...lude-extends-of-common-template.input.json | 179 + .../cases/include-extends-relative.input.json | 166 + .../cases/include-filter-stylus.input.json | 52 + .../test/cases/include-filter.input.json | 153 + .../cases/include-only-text-body.input.json | 24 + .../test/cases/include-only-text.input.json | 125 + .../cases/include-with-text-head.input.json | 53 + .../test/cases/include-with-text.input.json | 141 + .../test/cases/include.script.input.json | 130 + .../cases/include.yield.nested.input.json | 260 + .../cases/includes-with-ext-js.input.json | 55 + .../pug-linker/test/cases/includes.input.json | 172 + .../test/cases/layout.append.input.json | 226 + .../layout.append.without-block.input.json | 226 + ...yout.multi.append.prepend.block.input.json | 365 + .../test/cases/layout.prepend.input.json | 226 + .../layout.prepend.without-block.input.json | 226 + .../test/errors-src/child-with-tags.pug | 6 + .../test/errors-src/extends-not-first.pug | 4 + .../test/errors-src/unexpected-block.pug | 4 + .../test/errors/child-with-tags.input.json | 163 + .../test/errors/extends-not-first.input.json | 140 + .../test/errors/unexpected-block.input.json | 58 + .../append-without-block/app-layout.pug | 5 + .../fixtures/append-without-block/layout.pug | 7 + .../fixtures/append-without-block/page.pug | 6 + .../test/fixtures/append/app-layout.pug | 5 + .../test/fixtures/append/layout.pug | 7 + .../pug-linker/test/fixtures/append/page.html | 9 + .../pug-linker/test/fixtures/append/page.pug | 6 + .../pug-linker/test/fixtures/empty.pug | 0 .../pug-linker/test/fixtures/layout.pug | 8 + .../pug-linker/test/fixtures/mixins.pug | 2 + .../multi-append-prepend-block/redefine.pug | 5 + .../multi-append-prepend-block/root.pug | 5 + .../prepend-without-block/app-layout.pug | 5 + .../fixtures/prepend-without-block/layout.pug | 7 + .../fixtures/prepend-without-block/page.html | 9 + .../fixtures/prepend-without-block/page.pug | 6 + .../test/fixtures/prepend/app-layout.pug | 5 + .../test/fixtures/prepend/layout.pug | 7 + .../test/fixtures/prepend/page.html | 9 + .../pug-linker/test/fixtures/prepend/page.pug | 6 + node_modules/pug-linker/test/index.test.js | 46 + .../special-cases-src/extending-empty.pug | 1 + .../special-cases-src/extending-include.pug | 5 + .../test/special-cases-src/root-mixin.pug | 9 + .../special-cases/extending-empty.input.json | 26 + .../extending-include.input.json | 204 + .../test/special-cases/root-mixin.input.json | 212 + node_modules/pug-load/HISTORY.md | 19 + node_modules/pug-load/LICENSE | 19 + node_modules/pug-load/README.md | 104 + node_modules/pug-load/index.js | 101 + node_modules/pug-load/package.json | 80 + .../test/__snapshots__/index.test.js.snap | 149 + node_modules/pug-load/test/bar.pug | 1 + node_modules/pug-load/test/bing.pug | 1 + node_modules/pug-load/test/foo.pug | 6 + node_modules/pug-load/test/index.test.js | 24 + node_modules/pug-load/test/script.js | 1 + node_modules/pug-parser/HISTORY.md | 11 + node_modules/pug-parser/LICENSE | 19 + node_modules/pug-parser/README.md | 90 + node_modules/pug-parser/index.js | 1192 + node_modules/pug-parser/lib/inline-tags.js | 23 + node_modules/pug-parser/package.json | 83 + .../test/__snapshots__/index.test.js.snap | 19595 ++++++++++++++++ .../no-unnecessary-blocks.test.js.snap | 43 + .../test/cases/attr-es2015.tokens.json | 9 + .../test/cases/attrs-data.tokens.json | 33 + .../test/cases/attrs.js.tokens.json | 78 + .../pug-parser/test/cases/attrs.tokens.json | 180 + .../test/cases/attrs.unescaped.tokens.json | 15 + .../pug-parser/test/cases/basic.tokens.json | 9 + .../pug-parser/test/cases/blanks.tokens.json | 13 + .../test/cases/block-code.tokens.json | 28 + .../block-expansion.shorthands.tokens.json | 11 + .../test/cases/block-expansion.tokens.json | 21 + .../test/cases/blockquote.tokens.json | 10 + .../test/cases/blocks-in-blocks.tokens.json | 9 + .../test/cases/blocks-in-if.tokens.json | 44 + .../test/cases/case-blocks.tokens.json | 29 + .../pug-parser/test/cases/case.tokens.json | 47 + .../test/cases/classes-empty.tokens.json | 15 + .../pug-parser/test/cases/classes.tokens.json | 21 + .../test/cases/code.conditionals.tokens.json | 86 + .../test/cases/code.escape.tokens.json | 6 + .../test/cases/code.iteration.tokens.json | 71 + .../pug-parser/test/cases/code.tokens.json | 40 + .../test/cases/comments-in-case.tokens.json | 26 + .../test/cases/comments.source.tokens.json | 18 + .../test/cases/comments.tokens.json | 61 + .../test/cases/doctype.custom.tokens.json | 2 + .../test/cases/doctype.default.tokens.json | 11 + .../test/cases/doctype.keyword.tokens.json | 2 + .../test/cases/each.else.tokens.json | 88 + .../test/cases/escape-chars.tokens.json | 6 + .../test/cases/escape-test.tokens.json | 20 + .../escaping-class-attribute.tokens.json | 31 + .../test/cases/filter-in-include.tokens.json | 4 + .../test/cases/filters-empty.tokens.json | 16 + .../cases/filters.coffeescript.tokens.json | 21 + .../test/cases/filters.custom.tokens.json | 21 + .../cases/filters.include.custom.tokens.json | 17 + .../test/cases/filters.include.tokens.json | 29 + .../test/cases/filters.inline.tokens.json | 8 + .../test/cases/filters.less.tokens.json | 23 + .../test/cases/filters.markdown.tokens.json | 13 + .../test/cases/filters.nested.tokens.json | 26 + .../test/cases/filters.stylus.tokens.json | 20 + .../pug-parser/test/cases/html.tokens.json | 26 + .../pug-parser/test/cases/html5.tokens.json | 20 + .../include-extends-from-root.tokens.json | 4 + ...ude-extends-of-common-template.tokens.json | 7 + .../include-extends-relative.tokens.json | 4 + .../cases/include-only-text-body.tokens.json | 7 + .../test/cases/include-only-text.tokens.json | 16 + .../cases/include-with-text-head.tokens.json | 12 + .../test/cases/include-with-text.tokens.json | 17 + .../test/cases/include.script.tokens.json | 10 + .../cases/include.yield.nested.tokens.json | 11 + .../cases/includes-with-ext-js.tokens.json | 9 + .../test/cases/includes.tokens.json | 25 + .../inheritance.alert-dialog.tokens.json | 13 + .../cases/inheritance.defaults.tokens.json | 24 + .../inheritance.extend.include.tokens.json | 28 + ...nheritance.extend.mixins.block.tokens.json | 9 + .../inheritance.extend.mixins.tokens.json | 22 + .../inheritance.extend.recursive.tokens.json | 9 + .../test/cases/inheritance.extend.tokens.json | 20 + .../inheritance.extend.whitespace.tokens.json | 20 + .../test/cases/inheritance.tokens.json | 20 + .../cases/inline-block-comment.tokens.json | 10 + .../test/cases/inline-tag.tokens.json | 77 + .../cases/intepolated-elements.tokens.json | 38 + .../test/cases/interpolated-mixin.tokens.json | 15 + .../cases/interpolation.escape.tokens.json | 15 + .../test/cases/layout.append.tokens.json | 17 + .../layout.append.without-block.tokens.json | 17 + ...out.multi.append.prepend.block.tokens.json | 46 + .../test/cases/layout.prepend.tokens.json | 17 + .../layout.prepend.without-block.tokens.json | 17 + .../cases/mixin-at-end-of-file.tokens.json | 9 + .../cases/mixin-block-with-space.tokens.json | 12 + .../test/cases/mixin-hoist.tokens.json | 14 + .../test/cases/mixin-via-include.tokens.json | 7 + .../test/cases/mixin.attrs.tokens.json | 161 + .../mixin.block-tag-behaviour.tokens.json | 56 + .../test/cases/mixin.blocks.tokens.json | 108 + .../test/cases/mixin.merge.tokens.json | 58 + .../test/cases/mixins-unused.tokens.json | 7 + .../test/cases/mixins.rest-args.tokens.json | 14 + .../pug-parser/test/cases/mixins.tokens.json | 65 + .../test/cases/namespaces.tokens.json | 8 + .../pug-parser/test/cases/nesting.tokens.json | 23 + .../test/cases/pipeless-comments.tokens.json | 9 + .../test/cases/pipeless-filters.tokens.json | 9 + .../test/cases/pipeless-tag.tokens.json | 14 + .../pug-parser/test/cases/pre.tokens.json | 25 + .../pug-parser/test/cases/quotes.tokens.json | 6 + .../test/cases/regression.1794.tokens.json | 9 + .../test/cases/regression.784.tokens.json | 5 + .../test/cases/script.whitespace.tokens.json | 14 + .../test/cases/scripts.non-js.tokens.json | 29 + .../pug-parser/test/cases/scripts.tokens.json | 20 + .../test/cases/self-closing-html.tokens.json | 11 + .../test/cases/single-period.tokens.json | 3 + .../pug-parser/test/cases/source.tokens.json | 21 + .../pug-parser/test/cases/styles.tokens.json | 64 + .../test/cases/tag-blocks.tokens.json | 16 + .../test/cases/tag.interpolation.tokens.json | 66 + .../test/cases/tags.self-closing.tokens.json | 60 + .../test/cases/template.tokens.json | 27 + .../test/cases/text-block.tokens.json | 20 + .../pug-parser/test/cases/text.tokens.json | 91 + .../pug-parser/test/cases/utf8bom.tokens.json | 4 + .../pug-parser/test/cases/vars.tokens.json | 10 + .../pug-parser/test/cases/while.tokens.json | 13 + .../pug-parser/test/cases/xml.tokens.json | 11 + .../yield-before-conditional-head.tokens.json | 18 + .../yield-before-conditional.tokens.json | 20 + .../test/cases/yield-head.tokens.json | 15 + .../test/cases/yield-title-head.tokens.json | 17 + .../test/cases/yield-title.tokens.json | 12 + .../pug-parser/test/cases/yield.tokens.json | 20 + node_modules/pug-parser/test/index.test.js | 24 + .../test/no-unnecessary-blocks.test.js | 14 + node_modules/pug-parser/try.js | 29 + node_modules/pug-runtime/CHANGELOG.md | 45 + node_modules/pug-runtime/LICENSE | 19 + node_modules/pug-runtime/README.md | 67 + node_modules/pug-runtime/build.js | 24 + node_modules/pug-runtime/index.js | 254 + node_modules/pug-runtime/lib/dependencies.js | 34 + node_modules/pug-runtime/lib/internals.js | 8 + node_modules/pug-runtime/lib/sources.js | 13 + node_modules/pug-runtime/package.json | 96 + node_modules/pug-runtime/wrap.js | 10 + node_modules/pug-strip-comments/CHANGELOG.md | 16 + node_modules/pug-strip-comments/LICENSE.md | 7 + node_modules/pug-strip-comments/README.md | 45 + node_modules/pug-strip-comments/index.js | 70 + node_modules/pug-strip-comments/package.json | 83 + .../test/__snapshots__/index.test.js.snap | 1171 + .../test/cases/comments-in-case.input.json | 26 + .../test/cases/comments.input.json | 76 + .../test/cases/comments.source.input.json | 19 + .../test/errors/comment-in-comment.input.json | 3 + .../test/errors/end.input.json | 4 + .../test/errors/startstart.input.json | 6 + .../pug-strip-comments/test/index.test.js | 51 + node_modules/pug-walk/HISTORY.md | 4 + node_modules/pug-walk/LICENSE | 19 + node_modules/pug-walk/README.md | 137 + node_modules/pug-walk/index.js | 112 + node_modules/pug-walk/package.json | 86 + node_modules/pug/History.md | 991 + node_modules/pug/LICENSE | 22 + node_modules/pug/README.md | 168 + node_modules/pug/examples/README.md | 5 + node_modules/pug/examples/attributes.js | 11 + node_modules/pug/examples/attributes.pug | 8 + node_modules/pug/examples/code.js | 16 + node_modules/pug/examples/code.pug | 17 + node_modules/pug/examples/dynamicscript.js | 16 + node_modules/pug/examples/dynamicscript.pug | 5 + node_modules/pug/examples/each.js | 16 + node_modules/pug/examples/each.pug | 3 + node_modules/pug/examples/extend-layout.pug | 10 + node_modules/pug/examples/extend.js | 18 + node_modules/pug/examples/extend.pug | 11 + node_modules/pug/examples/form.js | 18 + node_modules/pug/examples/form.pug | 29 + node_modules/pug/examples/includes.js | 11 + node_modules/pug/examples/includes.pug | 7 + node_modules/pug/examples/includes/foot.pug | 2 + node_modules/pug/examples/includes/head.pug | 6 + .../pug/examples/includes/scripts.pug | 2 + node_modules/pug/examples/includes/style.css | 5 + node_modules/pug/examples/layout-debug.js | 11 + node_modules/pug/examples/layout.js | 11 + node_modules/pug/examples/layout.pug | 14 + node_modules/pug/examples/mixins.js | 16 + node_modules/pug/examples/mixins.pug | 14 + node_modules/pug/examples/mixins/dialog.pug | 15 + node_modules/pug/examples/mixins/profile.pug | 10 + node_modules/pug/examples/pet.pug | 3 + node_modules/pug/examples/rss.js | 17 + node_modules/pug/examples/rss.pug | 14 + node_modules/pug/examples/text.js | 11 + node_modules/pug/examples/text.pug | 36 + node_modules/pug/examples/whitespace.js | 11 + node_modules/pug/examples/whitespace.pug | 11 + node_modules/pug/lib/index.js | 466 + node_modules/pug/package.json | 101 + node_modules/pug/register.js | 13 + node_modules/pug/support/benchmark.js | 121 + node_modules/pug/test/README.md | 15 + .../pug/test/__snapshots__/pug.test.js.snap | 104 + .../pug/test/anti-cases/attrs.unescaped.pug | 3 + .../pug/test/anti-cases/case-when.pug | 4 + .../pug/test/anti-cases/case-without-with.pug | 2 + .../pug/test/anti-cases/else-condition.pug | 4 + .../pug/test/anti-cases/else-without-if.pug | 2 + .../inlining-a-mixin-after-a-tag.pug | 1 + .../test/anti-cases/key-char-ending-badly.pug | 1 + .../pug/test/anti-cases/key-ending-badly.pug | 1 + .../test/anti-cases/mismatched-inline-tag.pug | 2 + .../anti-cases/mixin-args-syntax-error.pug | 2 + .../anti-cases/mixins-blocks-with-bodies.pug | 3 + .../multiple-non-nested-tags-on-a-line.pug | 1 + .../test/anti-cases/non-existant-filter.pug | 2 + .../pug/test/anti-cases/non-mixin-block.pug | 2 + .../anti-cases/open-brace-in-attributes.pug | 1 + node_modules/pug/test/anti-cases/readme.md | 1 + .../self-closing-tag-with-block.pug | 2 + .../anti-cases/self-closing-tag-with-body.pug | 1 + .../anti-cases/self-closing-tag-with-code.pug | 1 + .../pug/test/anti-cases/tabs-and-spaces.pug | 3 + .../anti-cases/unclosed-interpolated-call.pug | 1 + .../anti-cases/unclosed-interpolated-tag.pug | 4 + .../anti-cases/unclosed-interpolation.pug | 1 + node_modules/pug/test/browser/index.html | 10 + node_modules/pug/test/browser/index.pug | 20 + node_modules/pug/test/cases-es2015/attr.html | 1 + node_modules/pug/test/cases-es2015/attr.pug | 3 + node_modules/pug/test/cases/attrs-data.html | 6 + node_modules/pug/test/cases/attrs-data.pug | 7 + node_modules/pug/test/cases/attrs.colon.html | 1 + node_modules/pug/test/cases/attrs.colon.pug | 9 + node_modules/pug/test/cases/attrs.html | 20 + node_modules/pug/test/cases/attrs.js.html | 5 + node_modules/pug/test/cases/attrs.js.pug | 17 + node_modules/pug/test/cases/attrs.pug | 43 + .../pug/test/cases/attrs.unescaped.html | 5 + .../pug/test/cases/attrs.unescaped.pug | 3 + .../pug/test/cases/auxiliary/1794-extends.pug | 1 + .../pug/test/cases/auxiliary/1794-include.pug | 4 + .../auxiliary/blocks-in-blocks-layout.pug | 8 + .../pug/test/cases/auxiliary/dialog.pug | 6 + .../pug/test/cases/auxiliary/empty-block.pug | 2 + .../pug/test/cases/auxiliary/escapes.html | 3 + .../cases/auxiliary/extends-empty-block-1.pug | 5 + .../cases/auxiliary/extends-empty-block-2.pug | 5 + .../cases/auxiliary/extends-from-root.pug | 4 + .../test/cases/auxiliary/extends-relative.pug | 4 + .../cases/auxiliary/filter-in-include.pug | 8 + .../pug/test/cases/auxiliary/includable.js | 7 + .../cases/auxiliary/include-from-root.pug | 1 + .../inheritance.extend.mixin.block.pug | 11 + ...nce.extend.recursive-grand-grandparent.pug | 2 + ...heritance.extend.recursive-grandparent.pug | 6 + .../inheritance.extend.recursive-parent.pug | 5 + .../test/cases/auxiliary/layout.include.pug | 7 + .../pug/test/cases/auxiliary/layout.pug | 6 + .../cases/auxiliary/mixin-at-end-of-file.pug | 3 + .../pug/test/cases/auxiliary/mixins.pug | 3 + node_modules/pug/test/cases/auxiliary/pet.pug | 3 + .../pug/test/cases/auxiliary/smile.html | 1 + .../pug/test/cases/auxiliary/window.pug | 4 + .../pug/test/cases/auxiliary/yield-nested.pug | 10 + node_modules/pug/test/cases/basic.html | 5 + node_modules/pug/test/cases/basic.pug | 3 + node_modules/pug/test/cases/blanks.html | 5 + node_modules/pug/test/cases/blanks.pug | 8 + node_modules/pug/test/cases/block-code.html | 7 + node_modules/pug/test/cases/block-code.pug | 12 + .../pug/test/cases/block-expansion.html | 5 + .../pug/test/cases/block-expansion.pug | 5 + .../cases/block-expansion.shorthands.html | 7 + .../test/cases/block-expansion.shorthands.pug | 2 + node_modules/pug/test/cases/blockquote.html | 4 + node_modules/pug/test/cases/blockquote.pug | 4 + .../pug/test/cases/blocks-in-blocks.html | 9 + .../pug/test/cases/blocks-in-blocks.pug | 4 + node_modules/pug/test/cases/blocks-in-if.html | 1 + node_modules/pug/test/cases/blocks-in-if.pug | 19 + node_modules/pug/test/cases/case-blocks.html | 5 + node_modules/pug/test/cases/case-blocks.pug | 10 + node_modules/pug/test/cases/case.html | 8 + node_modules/pug/test/cases/case.pug | 19 + .../pug/test/cases/classes-empty.html | 1 + node_modules/pug/test/cases/classes-empty.pug | 3 + node_modules/pug/test/cases/classes.html | 1 + node_modules/pug/test/cases/classes.pug | 11 + .../pug/test/cases/code.conditionals.html | 11 + .../pug/test/cases/code.conditionals.pug | 43 + node_modules/pug/test/cases/code.escape.html | 2 + node_modules/pug/test/cases/code.escape.pug | 2 + node_modules/pug/test/cases/code.html | 10 + .../pug/test/cases/code.iteration.html | 36 + .../pug/test/cases/code.iteration.pug | 35 + node_modules/pug/test/cases/code.pug | 10 + .../pug/test/cases/comments-in-case.html | 6 + .../pug/test/cases/comments-in-case.pug | 10 + node_modules/pug/test/cases/comments.html | 32 + node_modules/pug/test/cases/comments.pug | 29 + .../pug/test/cases/comments.source.html | 0 .../pug/test/cases/comments.source.pug | 9 + .../pug/test/cases/doctype.custom.html | 1 + .../pug/test/cases/doctype.custom.pug | 1 + .../pug/test/cases/doctype.default.html | 6 + .../pug/test/cases/doctype.default.pug | 4 + .../pug/test/cases/doctype.keyword.html | 1 + .../pug/test/cases/doctype.keyword.pug | 1 + node_modules/pug/test/cases/each.else.html | 17 + node_modules/pug/test/cases/each.else.pug | 43 + node_modules/pug/test/cases/escape-chars.html | 1 + node_modules/pug/test/cases/escape-chars.pug | 2 + node_modules/pug/test/cases/escape-test.html | 9 + node_modules/pug/test/cases/escape-test.pug | 8 + .../test/cases/escaping-class-attribute.html | 6 + .../test/cases/escaping-class-attribute.pug | 6 + .../pug/test/cases/filter-in-include.html | 7 + .../pug/test/cases/filter-in-include.pug | 1 + .../pug/test/cases/filters-empty.html | 4 + node_modules/pug/test/cases/filters-empty.pug | 6 + .../pug/test/cases/filters.coffeescript.html | 9 + .../pug/test/cases/filters.coffeescript.pug | 6 + .../pug/test/cases/filters.custom.html | 8 + .../pug/test/cases/filters.custom.pug | 7 + .../test/cases/filters.include.custom.html | 10 + .../pug/test/cases/filters.include.custom.pug | 4 + .../pug/test/cases/filters.include.html | 19 + .../pug/test/cases/filters.include.pug | 7 + .../pug/test/cases/filters.inline.html | 3 + .../pug/test/cases/filters.inline.pug | 1 + node_modules/pug/test/cases/filters.less.html | 7 + node_modules/pug/test/cases/filters.less.pug | 8 + .../pug/test/cases/filters.markdown.html | 5 + .../pug/test/cases/filters.markdown.pug | 5 + .../pug/test/cases/filters.nested.html | 2 + .../pug/test/cases/filters.nested.pug | 10 + .../pug/test/cases/filters.stylus.html | 8 + .../pug/test/cases/filters.stylus.pug | 7 + node_modules/pug/test/cases/html.html | 9 + node_modules/pug/test/cases/html.pug | 13 + node_modules/pug/test/cases/html5.html | 4 + node_modules/pug/test/cases/html5.pug | 4 + .../test/cases/include-extends-from-root.html | 8 + .../test/cases/include-extends-from-root.pug | 1 + .../include-extends-of-common-template.html | 2 + .../include-extends-of-common-template.pug | 2 + .../test/cases/include-extends-relative.html | 8 + .../test/cases/include-extends-relative.pug | 1 + .../test/cases/include-filter-coffee.coffee | 2 + .../test/cases/include-only-text-body.html | 1 + .../pug/test/cases/include-only-text-body.pug | 3 + .../pug/test/cases/include-only-text.html | 5 + .../pug/test/cases/include-only-text.pug | 5 + .../test/cases/include-with-text-head.html | 3 + .../pug/test/cases/include-with-text-head.pug | 3 + .../pug/test/cases/include-with-text.html | 7 + .../pug/test/cases/include-with-text.pug | 4 + .../pug/test/cases/include.script.html | 6 + .../pug/test/cases/include.script.pug | 2 + .../pug/test/cases/include.yield.nested.html | 17 + .../pug/test/cases/include.yield.nested.pug | 4 + .../pug/test/cases/includes-with-ext-js.html | 2 + .../pug/test/cases/includes-with-ext-js.pug | 3 + node_modules/pug/test/cases/includes.html | 16 + node_modules/pug/test/cases/includes.pug | 10 + .../test/cases/inheritance.alert-dialog.html | 6 + .../test/cases/inheritance.alert-dialog.pug | 6 + .../pug/test/cases/inheritance.defaults.html | 7 + .../pug/test/cases/inheritance.defaults.pug | 6 + .../pug/test/cases/inheritance.extend.html | 10 + .../cases/inheritance.extend.include.html | 14 + .../test/cases/inheritance.extend.include.pug | 13 + .../inheritance.extend.mixins.block.html | 10 + .../cases/inheritance.extend.mixins.block.pug | 4 + .../test/cases/inheritance.extend.mixins.html | 9 + .../test/cases/inheritance.extend.mixins.pug | 11 + .../pug/test/cases/inheritance.extend.pug | 9 + .../cases/inheritance.extend.recursive.html | 4 + .../cases/inheritance.extend.recursive.pug | 4 + .../cases/inheritance.extend.whitespace.html | 10 + .../cases/inheritance.extend.whitespace.pug | 13 + node_modules/pug/test/cases/inheritance.html | 10 + node_modules/pug/test/cases/inheritance.pug | 9 + node_modules/pug/test/cases/inline-tag.html | 21 + node_modules/pug/test/cases/inline-tag.pug | 19 + .../pug/test/cases/intepolated-elements.html | 4 + .../pug/test/cases/intepolated-elements.pug | 3 + .../pug/test/cases/interpolated-mixin.html | 3 + .../pug/test/cases/interpolated-mixin.pug | 4 + .../pug/test/cases/interpolation.escape.html | 6 + .../pug/test/cases/interpolation.escape.pug | 7 + .../pug/test/cases/javascript-new-lines.js | 1 + .../pug/test/cases/layout.append.html | 9 + node_modules/pug/test/cases/layout.append.pug | 6 + .../cases/layout.append.without-block.html | 9 + .../cases/layout.append.without-block.pug | 6 + .../layout.multi.append.prepend.block.html | 8 + .../layout.multi.append.prepend.block.pug | 19 + .../pug/test/cases/layout.prepend.html | 9 + .../pug/test/cases/layout.prepend.pug | 6 + .../cases/layout.prepend.without-block.html | 9 + .../cases/layout.prepend.without-block.pug | 6 + .../pug/test/cases/mixin-at-end-of-file.html | 3 + .../pug/test/cases/mixin-at-end-of-file.pug | 4 + .../test/cases/mixin-block-with-space.html | 3 + .../pug/test/cases/mixin-block-with-space.pug | 6 + node_modules/pug/test/cases/mixin-hoist.html | 5 + node_modules/pug/test/cases/mixin-hoist.pug | 7 + .../pug/test/cases/mixin-via-include.html | 1 + .../pug/test/cases/mixin-via-include.pug | 5 + node_modules/pug/test/cases/mixin.attrs.html | 32 + node_modules/pug/test/cases/mixin.attrs.pug | 59 + .../test/cases/mixin.block-tag-behaviour.html | 22 + .../test/cases/mixin.block-tag-behaviour.pug | 24 + node_modules/pug/test/cases/mixin.blocks.html | 34 + node_modules/pug/test/cases/mixin.blocks.pug | 44 + node_modules/pug/test/cases/mixin.merge.html | 34 + node_modules/pug/test/cases/mixin.merge.pug | 15 + .../pug/test/cases/mixins-unused.html | 1 + node_modules/pug/test/cases/mixins-unused.pug | 3 + node_modules/pug/test/cases/mixins.html | 23 + node_modules/pug/test/cases/mixins.pug | 32 + .../pug/test/cases/mixins.rest-args.html | 6 + .../pug/test/cases/mixins.rest-args.pug | 6 + node_modules/pug/test/cases/namespaces.html | 2 + node_modules/pug/test/cases/namespaces.pug | 2 + node_modules/pug/test/cases/nesting.html | 11 + node_modules/pug/test/cases/nesting.pug | 8 + .../pug/test/cases/pipeless-comments.html | 6 + .../pug/test/cases/pipeless-comments.pug | 4 + .../pug/test/cases/pipeless-filters.html | 2 + .../pug/test/cases/pipeless-filters.pug | 4 + node_modules/pug/test/cases/pipeless-tag.html | 3 + node_modules/pug/test/cases/pipeless-tag.pug | 3 + node_modules/pug/test/cases/pre.html | 7 + node_modules/pug/test/cases/pre.pug | 10 + node_modules/pug/test/cases/quotes.html | 2 + node_modules/pug/test/cases/quotes.pug | 2 + .../pug/test/cases/regression.1794.html | 1 + .../pug/test/cases/regression.1794.pug | 4 + .../pug/test/cases/regression.784.html | 1 + .../pug/test/cases/regression.784.pug | 2 + .../pug/test/cases/script.whitespace.html | 7 + .../pug/test/cases/script.whitespace.pug | 6 + node_modules/pug/test/cases/scripts.html | 9 + .../pug/test/cases/scripts.non-js.html | 11 + .../pug/test/cases/scripts.non-js.pug | 9 + node_modules/pug/test/cases/scripts.pug | 8 + .../pug/test/cases/self-closing-html.html | 4 + .../pug/test/cases/self-closing-html.pug | 4 + .../pug/test/cases/single-period.html | 1 + node_modules/pug/test/cases/single-period.pug | 1 + .../pug/test/cases/some-included.styl | 2 + node_modules/pug/test/cases/some.md | 3 + node_modules/pug/test/cases/some.styl | 1 + node_modules/pug/test/cases/source.html | 6 + node_modules/pug/test/cases/source.pug | 4 + node_modules/pug/test/cases/styles.html | 20 + node_modules/pug/test/cases/styles.pug | 19 + .../pug/test/cases/tag.interpolation.html | 9 + .../pug/test/cases/tag.interpolation.pug | 22 + .../pug/test/cases/tags.self-closing.html | 14 + .../pug/test/cases/tags.self-closing.pug | 19 + node_modules/pug/test/cases/template.html | 11 + node_modules/pug/test/cases/template.pug | 9 + node_modules/pug/test/cases/text-block.html | 6 + node_modules/pug/test/cases/text-block.pug | 6 + node_modules/pug/test/cases/text.html | 36 + node_modules/pug/test/cases/text.pug | 46 + node_modules/pug/test/cases/utf8bom.html | 1 + node_modules/pug/test/cases/utf8bom.pug | 1 + node_modules/pug/test/cases/vars.html | 1 + node_modules/pug/test/cases/vars.pug | 3 + node_modules/pug/test/cases/while.html | 11 + node_modules/pug/test/cases/while.pug | 5 + node_modules/pug/test/cases/xml.html | 3 + node_modules/pug/test/cases/xml.pug | 3 + .../cases/yield-before-conditional-head.html | 3 + .../cases/yield-before-conditional-head.pug | 5 + .../test/cases/yield-before-conditional.html | 9 + .../test/cases/yield-before-conditional.pug | 5 + node_modules/pug/test/cases/yield-head.html | 4 + node_modules/pug/test/cases/yield-head.pug | 4 + .../pug/test/cases/yield-title-head.html | 5 + .../pug/test/cases/yield-title-head.pug | 5 + node_modules/pug/test/cases/yield-title.html | 9 + node_modules/pug/test/cases/yield-title.pug | 4 + node_modules/pug/test/cases/yield.html | 10 + node_modules/pug/test/cases/yield.pug | 5 + .../pug/test/dependencies/dependency1.pug | 1 + .../pug/test/dependencies/dependency2.pug | 1 + .../pug/test/dependencies/dependency3.pug | 1 + .../pug/test/dependencies/extends1.pug | 1 + .../pug/test/dependencies/extends2.pug | 1 + .../pug/test/dependencies/include1.pug | 1 + .../pug/test/dependencies/include2.pug | 1 + .../__snapshots__/index.test.js.snap | 3 + .../pug/test/duplicate-block/index.pug | 4 + .../pug/test/duplicate-block/index.test.js | 14 + .../layout-with-duplicate-block.pug | 8 + node_modules/pug/test/error.reporting.test.js | 193 + node_modules/pug/test/examples.test.js | 23 + .../test/extends-not-top-level/default.pug | 2 + .../test/extends-not-top-level/duplicate.pug | 2 + .../pug/test/extends-not-top-level/index.pug | 10 + .../test/extends-not-top-level/index.test.js | 19 + .../append-without-block/app-layout.pug | 5 + .../fixtures/append-without-block/layout.pug | 7 + .../fixtures/append-without-block/page.pug | 6 + .../pug/test/fixtures/append/app-layout.pug | 5 + .../pug/test/fixtures/append/layout.pug | 7 + .../pug/test/fixtures/append/page.html | 9 + .../pug/test/fixtures/append/page.pug | 6 + .../compile.with.include.locals.error.pug | 1 + .../compile.with.include.syntax.error.pug | 1 + .../compile.with.layout.locals.error.pug | 1 + .../compile.with.layout.syntax.error.pug | 1 + ....with.layout.with.include.locals.error.pug | 1 + ....with.layout.with.include.syntax.error.pug | 1 + .../element-with-multiple-attributes.pug | 1 + .../test/fixtures/include.locals.error.pug | 2 + .../test/fixtures/include.syntax.error.pug | 2 + .../fixtures/invalid-block-in-extends.pug | 7 + .../fixtures/issue-1593/include-layout.pug | 2 + .../pug/test/fixtures/issue-1593/include.pug | 4 + .../pug/test/fixtures/issue-1593/index.pug | 7 + .../pug/test/fixtures/issue-1593/layout.pug | 3 + .../pug/test/fixtures/layout.locals.error.pug | 2 + node_modules/pug/test/fixtures/layout.pug | 6 + .../pug/test/fixtures/layout.syntax.error.pug | 2 + .../fixtures/layout.with.runtime.error.pug | 5 + .../pug/test/fixtures/mixin-include.pug | 5 + .../pug/test/fixtures/mixin.error.pug | 2 + .../multi-append-prepend-block/redefine.pug | 5 + .../multi-append-prepend-block/root.pug | 5 + node_modules/pug/test/fixtures/perf.pug | 32 + .../prepend-without-block/app-layout.pug | 5 + .../fixtures/prepend-without-block/layout.pug | 7 + .../fixtures/prepend-without-block/page.html | 9 + .../fixtures/prepend-without-block/page.pug | 6 + .../pug/test/fixtures/prepend/app-layout.pug | 5 + .../pug/test/fixtures/prepend/layout.pug | 7 + .../pug/test/fixtures/prepend/page.html | 9 + .../pug/test/fixtures/prepend/page.pug | 6 + .../pug/test/fixtures/runtime.error.pug | 1 + .../test/fixtures/runtime.layout.error.pug | 3 + .../fixtures/runtime.with.mixin.error.pug | 3 + node_modules/pug/test/fixtures/scripts.pug | 2 + node_modules/pug/test/output-es2015/attr.html | 2 + node_modules/pug/test/output-es2015/attr.js | 56 + node_modules/pug/test/output/attrs-data.html | 7 + node_modules/pug/test/output/attrs-data.js | 49 + node_modules/pug/test/output/attrs.colon.html | 2 + node_modules/pug/test/output/attrs.colon.js | 5 + node_modules/pug/test/output/attrs.html | 20 + node_modules/pug/test/output/attrs.js | 93 + node_modules/pug/test/output/attrs.js.html | 5 + node_modules/pug/test/output/attrs.js.js | 115 + .../pug/test/output/attrs.unescaped.html | 6 + .../pug/test/output/attrs.unescaped.js | 5 + node_modules/pug/test/output/basic.html | 6 + node_modules/pug/test/output/basic.js | 5 + node_modules/pug/test/output/blanks.html | 6 + node_modules/pug/test/output/blanks.js | 5 + node_modules/pug/test/output/block-code.html | 7 + node_modules/pug/test/output/block-code.js | 58 + .../pug/test/output/block-expansion.html | 6 + .../pug/test/output/block-expansion.js | 5 + .../output/block-expansion.shorthands.html | 8 + .../test/output/block-expansion.shorthands.js | 5 + node_modules/pug/test/output/blockquote.html | 5 + node_modules/pug/test/output/blockquote.js | 5 + .../pug/test/output/blocks-in-blocks.html | 9 + .../pug/test/output/blocks-in-blocks.js | 5 + .../pug/test/output/blocks-in-if.html | 2 + node_modules/pug/test/output/blocks-in-if.js | 10 + node_modules/pug/test/output/case-blocks.html | 6 + node_modules/pug/test/output/case-blocks.js | 52 + node_modules/pug/test/output/case.html | 8 + node_modules/pug/test/output/case.js | 75 + .../pug/test/output/classes-empty.html | 1 + node_modules/pug/test/output/classes-empty.js | 62 + node_modules/pug/test/output/classes.html | 1 + node_modules/pug/test/output/classes.js | 5 + .../pug/test/output/code.conditionals.html | 12 + .../pug/test/output/code.conditionals.js | 47 + node_modules/pug/test/output/code.escape.html | 3 + node_modules/pug/test/output/code.escape.js | 37 + node_modules/pug/test/output/code.html | 11 + .../pug/test/output/code.iteration.html | 37 + .../pug/test/output/code.iteration.js | 194 + node_modules/pug/test/output/code.js | 43 + .../pug/test/output/comments-in-case.html | 6 + .../pug/test/output/comments-in-case.js | 16 + node_modules/pug/test/output/comments.html | 32 + node_modules/pug/test/output/comments.js | 5 + .../pug/test/output/comments.source.html | 0 .../pug/test/output/comments.source.js | 4 + .../pug/test/output/doctype.custom.html | 1 + .../pug/test/output/doctype.custom.js | 5 + .../pug/test/output/doctype.default.html | 6 + .../pug/test/output/doctype.default.js | 5 + .../pug/test/output/doctype.keyword.html | 1 + .../pug/test/output/doctype.keyword.js | 5 + node_modules/pug/test/output/each.else.html | 18 + node_modules/pug/test/output/each.else.js | 180 + .../pug/test/output/escape-chars.html | 2 + node_modules/pug/test/output/escape-chars.js | 5 + node_modules/pug/test/output/escape-test.html | 9 + node_modules/pug/test/output/escape-test.js | 39 + .../test/output/escaping-class-attribute.html | 7 + .../test/output/escaping-class-attribute.js | 5 + .../pug/test/output/filter-in-include.html | 10 + .../pug/test/output/filter-in-include.js | 5 + .../pug/test/output/filters-empty.html | 4 + node_modules/pug/test/output/filters-empty.js | 64 + .../pug/test/output/filters.coffeescript.html | 10 + .../pug/test/output/filters.coffeescript.js | 5 + .../pug/test/output/filters.custom.html | 8 + .../pug/test/output/filters.custom.js | 5 + .../test/output/filters.include.custom.html | 10 + .../pug/test/output/filters.include.custom.js | 5 + .../pug/test/output/filters.include.html | 20 + .../pug/test/output/filters.include.js | 5 + .../pug/test/output/filters.inline.html | 3 + .../pug/test/output/filters.inline.js | 5 + .../pug/test/output/filters.less.html | 10 + node_modules/pug/test/output/filters.less.js | 5 + .../pug/test/output/filters.markdown.html | 7 + .../pug/test/output/filters.markdown.js | 5 + .../pug/test/output/filters.nested.html | 3 + .../pug/test/output/filters.nested.js | 5 + .../pug/test/output/filters.stylus.html | 11 + .../pug/test/output/filters.stylus.js | 5 + node_modules/pug/test/output/html.html | 9 + node_modules/pug/test/output/html.js | 38 + node_modules/pug/test/output/html5.html | 4 + node_modules/pug/test/output/html5.js | 5 + .../output/include-extends-from-root.html | 9 + .../test/output/include-extends-from-root.js | 5 + .../include-extends-of-common-template.html | 3 + .../include-extends-of-common-template.js | 5 + .../test/output/include-extends-relative.html | 9 + .../test/output/include-extends-relative.js | 5 + .../test/output/include-only-text-body.html | 1 + .../pug/test/output/include-only-text-body.js | 5 + .../pug/test/output/include-only-text.html | 6 + .../pug/test/output/include-only-text.js | 5 + .../test/output/include-with-text-head.html | 4 + .../pug/test/output/include-with-text-head.js | 5 + .../pug/test/output/include-with-text.html | 8 + .../pug/test/output/include-with-text.js | 5 + .../pug/test/output/include.script.html | 7 + .../pug/test/output/include.script.js | 5 + .../pug/test/output/include.yield.nested.html | 18 + .../pug/test/output/include.yield.nested.js | 5 + .../pug/test/output/includes-with-ext-js.html | 3 + .../pug/test/output/includes-with-ext-js.js | 5 + node_modules/pug/test/output/includes.html | 17 + node_modules/pug/test/output/includes.js | 10 + .../test/output/inheritance.alert-dialog.html | 7 + .../test/output/inheritance.alert-dialog.js | 5 + .../pug/test/output/inheritance.defaults.html | 8 + .../pug/test/output/inheritance.defaults.js | 5 + .../pug/test/output/inheritance.extend.html | 11 + .../output/inheritance.extend.include.html | 15 + .../test/output/inheritance.extend.include.js | 5 + .../pug/test/output/inheritance.extend.js | 5 + .../inheritance.extend.mixins.block.html | 11 + .../output/inheritance.extend.mixins.block.js | 17 + .../output/inheritance.extend.mixins.html | 10 + .../test/output/inheritance.extend.mixins.js | 50 + .../output/inheritance.extend.recursive.html | 5 + .../output/inheritance.extend.recursive.js | 5 + .../output/inheritance.extend.whitespace.html | 11 + .../output/inheritance.extend.whitespace.js | 5 + node_modules/pug/test/output/inheritance.html | 11 + node_modules/pug/test/output/inheritance.js | 5 + node_modules/pug/test/output/inline-tag.html | 21 + node_modules/pug/test/output/inline-tag.js | 41 + .../pug/test/output/intepolated-elements.html | 4 + .../pug/test/output/intepolated-elements.js | 5 + .../pug/test/output/interpolated-mixin.html | 3 + .../pug/test/output/interpolated-mixin.js | 49 + .../pug/test/output/interpolation.escape.html | 7 + .../pug/test/output/interpolation.escape.js | 38 + .../pug/test/output/layout.append.html | 10 + node_modules/pug/test/output/layout.append.js | 5 + .../output/layout.append.without-block.html | 10 + .../output/layout.append.without-block.js | 5 + .../layout.multi.append.prepend.block.html | 9 + .../layout.multi.append.prepend.block.js | 5 + .../pug/test/output/layout.prepend.html | 10 + .../pug/test/output/layout.prepend.js | 5 + .../output/layout.prepend.without-block.html | 10 + .../output/layout.prepend.without-block.js | 5 + .../pug/test/output/mixin-at-end-of-file.html | 4 + .../pug/test/output/mixin-at-end-of-file.js | 15 + .../test/output/mixin-block-with-space.html | 3 + .../pug/test/output/mixin-block-with-space.js | 15 + node_modules/pug/test/output/mixin-hoist.html | 6 + node_modules/pug/test/output/mixin-hoist.js | 46 + .../pug/test/output/mixin-via-include.html | 2 + .../pug/test/output/mixin-via-include.js | 13 + node_modules/pug/test/output/mixin.attrs.html | 33 + node_modules/pug/test/output/mixin.attrs.js | 223 + .../output/mixin.block-tag-behaviour.html | 23 + .../test/output/mixin.block-tag-behaviour.js | 62 + .../pug/test/output/mixin.blocks.html | 35 + node_modules/pug/test/output/mixin.blocks.js | 97 + node_modules/pug/test/output/mixin.merge.html | 35 + node_modules/pug/test/output/mixin.merge.js | 148 + .../pug/test/output/mixins-unused.html | 2 + node_modules/pug/test/output/mixins-unused.js | 5 + node_modules/pug/test/output/mixins.html | 23 + node_modules/pug/test/output/mixins.js | 61 + .../pug/test/output/mixins.rest-args.html | 7 + .../pug/test/output/mixins.rest-args.js | 62 + node_modules/pug/test/output/namespaces.html | 3 + node_modules/pug/test/output/namespaces.js | 5 + node_modules/pug/test/output/nesting.html | 12 + node_modules/pug/test/output/nesting.js | 5 + .../pug/test/output/pipeless-comments.html | 6 + .../pug/test/output/pipeless-comments.js | 5 + .../pug/test/output/pipeless-filters.html | 3 + .../pug/test/output/pipeless-filters.js | 5 + .../pug/test/output/pipeless-tag.html | 3 + node_modules/pug/test/output/pipeless-tag.js | 37 + node_modules/pug/test/output/pre.html | 8 + node_modules/pug/test/output/pre.js | 5 + node_modules/pug/test/output/quotes.html | 3 + node_modules/pug/test/output/quotes.js | 5 + .../pug/test/output/regression.1794.html | 2 + .../pug/test/output/regression.1794.js | 106 + .../pug/test/output/regression.784.html | 2 + .../pug/test/output/regression.784.js | 38 + .../pug/test/output/script.whitespace.html | 8 + .../pug/test/output/script.whitespace.js | 5 + node_modules/pug/test/output/scripts.html | 10 + node_modules/pug/test/output/scripts.js | 5 + .../pug/test/output/scripts.non-js.html | 12 + .../pug/test/output/scripts.non-js.js | 5 + .../pug/test/output/self-closing-html.html | 4 + .../pug/test/output/self-closing-html.js | 5 + .../pug/test/output/single-period.html | 1 + node_modules/pug/test/output/single-period.js | 5 + node_modules/pug/test/output/source.html | 7 + node_modules/pug/test/output/source.js | 5 + node_modules/pug/test/output/styles.html | 21 + node_modules/pug/test/output/styles.js | 125 + .../pug/test/output/tag.interpolation.html | 10 + .../pug/test/output/tag.interpolation.js | 116 + .../pug/test/output/tags.self-closing.html | 14 + .../pug/test/output/tags.self-closing.js | 5 + node_modules/pug/test/output/template.html | 12 + node_modules/pug/test/output/template.js | 5 + node_modules/pug/test/output/text-block.html | 7 + node_modules/pug/test/output/text-block.js | 5 + node_modules/pug/test/output/text.html | 36 + node_modules/pug/test/output/text.js | 5 + node_modules/pug/test/output/utf8bom.html | 2 + node_modules/pug/test/output/utf8bom.js | 5 + node_modules/pug/test/output/vars.html | 1 + node_modules/pug/test/output/vars.js | 64 + node_modules/pug/test/output/while.html | 12 + node_modules/pug/test/output/while.js | 43 + node_modules/pug/test/output/xml.html | 3 + node_modules/pug/test/output/xml.js | 5 + .../output/yield-before-conditional-head.html | 4 + .../output/yield-before-conditional-head.js | 9 + .../test/output/yield-before-conditional.html | 10 + .../test/output/yield-before-conditional.js | 9 + node_modules/pug/test/output/yield-head.html | 5 + node_modules/pug/test/output/yield-head.js | 5 + .../pug/test/output/yield-title-head.html | 6 + .../pug/test/output/yield-title-head.js | 5 + node_modules/pug/test/output/yield-title.html | 10 + node_modules/pug/test/output/yield-title.js | 5 + node_modules/pug/test/output/yield.html | 11 + node_modules/pug/test/output/yield.js | 5 + node_modules/pug/test/pug.test.js | 1181 + .../__snapshots__/index.test.js.snap | 15 + .../pug/test/regression-2436/index.test.js | 17 + .../pug/test/regression-2436/issue1.pug | 7 + .../pug/test/regression-2436/issue2.pug | 7 + .../pug/test/regression-2436/layout.pug | 6 + .../pug/test/regression-2436/other1.pug | 4 + .../pug/test/regression-2436/other2.pug | 4 + .../pug/test/regression-2436/other_layout.pug | 4 + node_modules/pug/test/run-es2015.test.js | 21 + .../pug/test/run-syntax-errors.test.js | 34 + node_modules/pug/test/run-utils.js | 106 + node_modules/pug/test/run.test.js | 20 + .../__snapshots__/index.test.js.snap | 3 + node_modules/pug/test/shadowed-block/base.pug | 4 + .../pug/test/shadowed-block/index.pug | 4 + .../pug/test/shadowed-block/index.test.js | 14 + .../pug/test/shadowed-block/layout.pug | 6 + .../pug/test/temp/input-compileFile.pug | 1 + .../pug/test/temp/input-compileFileClient.pug | 1 + .../temp/input-compileModuleFileClient.js | 4 + .../pug/test/temp/input-renderFile.pug | 1 + node_modules/punycode/LICENSE-MIT.txt | 20 + node_modules/punycode/README.md | 176 + node_modules/punycode/package.json | 87 + node_modules/punycode/punycode.js | 533 + node_modules/qs/.eslintignore | 1 + node_modules/qs/.eslintrc | 18 + node_modules/qs/.jscs.json | 176 + node_modules/qs/CHANGELOG.md | 175 + node_modules/qs/LICENSE | 28 + node_modules/qs/README.md | 440 + node_modules/qs/dist/qs.js | 597 + node_modules/qs/lib/formats.js | 18 + node_modules/qs/lib/index.js | 11 + node_modules/qs/lib/parse.js | 167 + node_modules/qs/lib/stringify.js | 207 + node_modules/qs/lib/utils.js | 182 + node_modules/qs/package.json | 78 + node_modules/qs/test/.eslintrc | 11 + node_modules/qs/test/index.js | 7 + node_modules/qs/test/parse.js | 519 + node_modules/qs/test/stringify.js | 567 + node_modules/qs/test/utils.js | 22 + node_modules/repeat-string/LICENSE | 21 + node_modules/repeat-string/README.md | 136 + node_modules/repeat-string/index.js | 70 + node_modules/repeat-string/package.json | 160 + node_modules/request/CHANGELOG.md | 674 + node_modules/request/LICENSE | 55 + node_modules/request/README.md | 1115 + node_modules/request/index.js | 156 + node_modules/request/lib/auth.js | 168 + node_modules/request/lib/cookies.js | 39 + node_modules/request/lib/getProxyFromURI.js | 79 + node_modules/request/lib/har.js | 215 + node_modules/request/lib/helpers.js | 66 + node_modules/request/lib/multipart.js | 113 + node_modules/request/lib/oauth.js | 148 + node_modules/request/lib/querystring.js | 51 + node_modules/request/lib/redirect.js | 157 + node_modules/request/lib/tunnel.js | 176 + node_modules/request/package.json | 118 + node_modules/request/request.js | 1565 ++ node_modules/resolve/.editorconfig | 20 + node_modules/resolve/.eslintignore | 1 + node_modules/resolve/.eslintrc | 30 + node_modules/resolve/.travis.yml | 173 + node_modules/resolve/LICENSE | 18 + node_modules/resolve/appveyor.yml | 44 + node_modules/resolve/example/async.js | 5 + node_modules/resolve/example/sync.js | 3 + node_modules/resolve/index.js | 8 + node_modules/resolve/lib/async.js | 203 + node_modules/resolve/lib/caller.js | 8 + node_modules/resolve/lib/core.js | 34 + node_modules/resolve/lib/core.json | 43 + .../resolve/lib/node-modules-paths.js | 45 + node_modules/resolve/lib/sync.js | 93 + node_modules/resolve/package.json | 237 + node_modules/resolve/readme.markdown | 160 + node_modules/resolve/test/core.js | 36 + node_modules/resolve/test/dotdot.js | 29 + node_modules/resolve/test/dotdot/abc/index.js | 2 + node_modules/resolve/test/dotdot/index.js | 1 + node_modules/resolve/test/faulty_basedir.js | 13 + node_modules/resolve/test/filter.js | 19 + node_modules/resolve/test/filter_sync.js | 16 + node_modules/resolve/test/mock.js | 143 + node_modules/resolve/test/mock_sync.js | 67 + node_modules/resolve/test/module_dir.js | 56 + .../test/module_dir/xmodules/aaa/index.js | 1 + .../test/module_dir/ymodules/aaa/index.js | 1 + .../test/module_dir/zmodules/bbb/main.js | 1 + .../test/module_dir/zmodules/bbb/package.json | 3 + .../resolve/test/node-modules-paths.js | 93 + node_modules/resolve/test/node_path.js | 49 + .../resolve/test/node_path/x/aaa/index.js | 1 + .../resolve/test/node_path/x/ccc/index.js | 1 + .../resolve/test/node_path/y/bbb/index.js | 1 + .../resolve/test/node_path/y/ccc/index.js | 1 + node_modules/resolve/test/nonstring.js | 9 + node_modules/resolve/test/pathfilter.js | 42 + .../resolve/test/pathfilter/deep_ref/main.js | 0 node_modules/resolve/test/precedence.js | 23 + node_modules/resolve/test/precedence/aaa.js | 1 + .../resolve/test/precedence/aaa/index.js | 1 + .../resolve/test/precedence/aaa/main.js | 1 + node_modules/resolve/test/precedence/bbb.js | 1 + .../resolve/test/precedence/bbb/main.js | 1 + node_modules/resolve/test/resolver.js | 349 + .../resolve/test/resolver/baz/doom.js | 0 .../resolve/test/resolver/baz/package.json | 3 + .../resolve/test/resolver/baz/quux.js | 1 + node_modules/resolve/test/resolver/cup.coffee | 1 + .../resolve/test/resolver/dot_main/index.js | 1 + .../test/resolver/dot_main/package.json | 3 + .../test/resolver/dot_slash_main/index.js | 1 + .../test/resolver/dot_slash_main/package.json | 3 + node_modules/resolve/test/resolver/foo.js | 1 + .../test/resolver/incorrect_main/index.js | 2 + .../test/resolver/incorrect_main/package.json | 3 + node_modules/resolve/test/resolver/mug.coffee | 0 node_modules/resolve/test/resolver/mug.js | 0 .../test/resolver/other_path/lib/other-lib.js | 0 .../resolve/test/resolver/other_path/root.js | 0 .../resolve/test/resolver/quux/foo/index.js | 1 + .../resolve/test/resolver/same_names/foo.js | 1 + .../test/resolver/same_names/foo/index.js | 1 + .../symlinked/_/symlink_target/.gitkeep | 0 .../test/resolver/without_basedir/main.js | 5 + node_modules/resolve/test/resolver_sync.js | 267 + node_modules/resolve/test/subdirs.js | 13 + node_modules/resolve/test/symlinks.js | 54 + node_modules/right-align/LICENSE | 21 + node_modules/right-align/README.md | 77 + node_modules/right-align/index.js | 16 + node_modules/right-align/package.json | 93 + node_modules/safe-buffer/.travis.yml | 7 + node_modules/safe-buffer/LICENSE | 21 + node_modules/safe-buffer/README.md | 584 + node_modules/safe-buffer/index.js | 62 + node_modules/safe-buffer/package.json | 63 + node_modules/safe-buffer/test.js | 101 + node_modules/sntp/.npmignore | 18 + node_modules/sntp/.travis.yml | 5 + node_modules/sntp/LICENSE | 28 + node_modules/sntp/Makefile | 9 + node_modules/sntp/README.md | 68 + node_modules/sntp/examples/offset.js | 16 + node_modules/sntp/examples/time.js | 25 + node_modules/sntp/index.js | 1 + node_modules/sntp/lib/index.js | 412 + node_modules/sntp/package.json | 68 + node_modules/sntp/test/index.js | 435 + node_modules/source-map/README.md | 510 + node_modules/source-map/build/assert-shim.js | 56 + node_modules/source-map/build/mini-require.js | 152 + .../source-map/build/prefix-source-map.jsm | 21 + .../source-map/build/prefix-utils.jsm | 18 + .../source-map/build/suffix-browser.js | 8 + .../source-map/build/suffix-source-map.jsm | 6 + .../source-map/build/suffix-utils.jsm | 21 + node_modules/source-map/build/test-prefix.js | 8 + node_modules/source-map/build/test-suffix.js | 3 + node_modules/source-map/lib/source-map.js | 8 + .../source-map/lib/source-map/array-set.js | 107 + .../source-map/lib/source-map/base64-vlq.js | 146 + .../source-map/lib/source-map/base64.js | 73 + .../lib/source-map/binary-search.js | 117 + .../source-map/lib/source-map/mapping-list.js | 86 + .../source-map/lib/source-map/quick-sort.js | 120 + .../lib/source-map/source-map-consumer.js | 1077 + .../lib/source-map/source-map-generator.js | 399 + .../source-map/lib/source-map/source-node.js | 414 + .../source-map/lib/source-map/util.js | 370 + node_modules/source-map/package.json | 226 + node_modules/sshpk/.npmignore | 9 + node_modules/sshpk/.travis.yml | 11 + node_modules/sshpk/LICENSE | 18 + node_modules/sshpk/README.md | 698 + node_modules/sshpk/bin/sshpk-conv | 201 + node_modules/sshpk/bin/sshpk-sign | 191 + node_modules/sshpk/bin/sshpk-verify | 166 + node_modules/sshpk/lib/algs.js | 168 + node_modules/sshpk/lib/certificate.js | 377 + node_modules/sshpk/lib/dhe.js | 411 + node_modules/sshpk/lib/ed-compat.js | 96 + node_modules/sshpk/lib/errors.js | 84 + node_modules/sshpk/lib/fingerprint.js | 161 + node_modules/sshpk/lib/formats/auto.js | 73 + .../sshpk/lib/formats/openssh-cert.js | 322 + node_modules/sshpk/lib/formats/pem.js | 186 + node_modules/sshpk/lib/formats/pkcs1.js | 320 + node_modules/sshpk/lib/formats/pkcs8.js | 505 + node_modules/sshpk/lib/formats/rfc4253.js | 146 + node_modules/sshpk/lib/formats/ssh-private.js | 261 + node_modules/sshpk/lib/formats/ssh.js | 114 + node_modules/sshpk/lib/formats/x509-pem.js | 77 + node_modules/sshpk/lib/formats/x509.js | 726 + node_modules/sshpk/lib/identity.js | 277 + node_modules/sshpk/lib/index.js | 39 + node_modules/sshpk/lib/key.js | 274 + node_modules/sshpk/lib/private-key.js | 254 + node_modules/sshpk/lib/signature.js | 313 + node_modules/sshpk/lib/ssh-buffer.js | 148 + node_modules/sshpk/lib/utils.js | 288 + node_modules/sshpk/man/man1/sshpk-conv.1 | 135 + node_modules/sshpk/man/man1/sshpk-sign.1 | 81 + node_modules/sshpk/man/man1/sshpk-verify.1 | 68 + .../sshpk/node_modules/assert-plus/AUTHORS | 6 + .../sshpk/node_modules/assert-plus/CHANGES.md | 14 + .../sshpk/node_modules/assert-plus/README.md | 162 + .../sshpk/node_modules/assert-plus/assert.js | 211 + .../node_modules/assert-plus/package.json | 82 + node_modules/sshpk/package.json | 100 + node_modules/stringstream/.npmignore | 15 + node_modules/stringstream/.travis.yml | 4 + node_modules/stringstream/LICENSE.txt | 22 + node_modules/stringstream/README.md | 38 + node_modules/stringstream/example.js | 27 + node_modules/stringstream/package.json | 51 + node_modules/stringstream/stringstream.js | 102 + node_modules/strip-ansi/index.js | 6 + node_modules/strip-ansi/license | 21 + node_modules/strip-ansi/package.json | 115 + node_modules/strip-ansi/readme.md | 33 + node_modules/supports-color/index.js | 50 + node_modules/supports-color/license | 21 + node_modules/supports-color/package.json | 105 + node_modules/supports-color/readme.md | 36 + node_modules/token-stream/.npmignore | 14 + node_modules/token-stream/.travis.yml | 3 + node_modules/token-stream/LICENSE | 19 + node_modules/token-stream/README.md | 68 + node_modules/token-stream/index.js | 30 + node_modules/token-stream/package.json | 72 + node_modules/token-stream/test/index.js | 46 + node_modules/tough-cookie/LICENSE | 27 + node_modules/tough-cookie/README.md | 509 + node_modules/tough-cookie/lib/cookie.js | 1341 ++ node_modules/tough-cookie/lib/memstore.js | 170 + node_modules/tough-cookie/lib/pathMatch.js | 61 + .../tough-cookie/lib/permuteDomain.js | 56 + node_modules/tough-cookie/lib/pubsuffix.js | 98 + node_modules/tough-cookie/lib/store.js | 71 + node_modules/tough-cookie/package.json | 92 + node_modules/tunnel-agent/LICENSE | 55 + node_modules/tunnel-agent/README.md | 4 + node_modules/tunnel-agent/index.js | 244 + node_modules/tunnel-agent/package.json | 55 + node_modules/tweetnacl/.npmignore | 4 + node_modules/tweetnacl/AUTHORS.md | 28 + node_modules/tweetnacl/CHANGELOG.md | 221 + node_modules/tweetnacl/LICENSE | 24 + .../tweetnacl/PULL_REQUEST_TEMPLATE.md | 20 + node_modules/tweetnacl/README.md | 459 + node_modules/tweetnacl/nacl-fast.js | 2388 ++ node_modules/tweetnacl/nacl-fast.min.js | 2 + node_modules/tweetnacl/nacl.d.ts | 98 + node_modules/tweetnacl/nacl.js | 1175 + node_modules/tweetnacl/nacl.min.js | 1 + node_modules/tweetnacl/package.json | 86 + node_modules/uglify-js/LICENSE | 29 + node_modules/uglify-js/README.md | 995 + node_modules/uglify-js/bin/extract-props.js | 77 + node_modules/uglify-js/bin/uglifyjs | 635 + node_modules/uglify-js/lib/ast.js | 1052 + node_modules/uglify-js/lib/compress.js | 4101 ++++ node_modules/uglify-js/lib/mozilla-ast.js | 611 + node_modules/uglify-js/lib/output.js | 1423 ++ node_modules/uglify-js/lib/parse.js | 1599 ++ node_modules/uglify-js/lib/propmangle.js | 264 + node_modules/uglify-js/lib/scope.js | 656 + node_modules/uglify-js/lib/sourcemap.js | 97 + node_modules/uglify-js/lib/transform.js | 218 + node_modules/uglify-js/lib/utils.js | 362 + .../node_modules/source-map/CHANGELOG.md | 301 + .../uglify-js/node_modules/source-map/LICENSE | 28 + .../node_modules/source-map/README.md | 729 + .../source-map/dist/source-map.debug.js | 3091 +++ .../source-map/dist/source-map.js | 3090 +++ .../source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../node_modules/source-map/lib/base64.js | 67 + .../source-map/lib/binary-search.js | 111 + .../source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1082 + .../source-map/lib/source-map-generator.js | 416 + .../source-map/lib/source-node.js | 413 + .../node_modules/source-map/lib/util.js | 417 + .../node_modules/source-map/package.json | 255 + .../node_modules/source-map/source-map.js | 8 + node_modules/uglify-js/package.json | 117 + node_modules/uglify-js/tools/domprops.json | 5603 +++++ node_modules/uglify-js/tools/exports.js | 19 + node_modules/uglify-js/tools/node.js | 320 + node_modules/uglify-js/tools/props.html | 61 + node_modules/uglify-to-browserify/.npmignore | 14 + node_modules/uglify-to-browserify/.travis.yml | 3 + node_modules/uglify-to-browserify/LICENSE | 19 + node_modules/uglify-to-browserify/README.md | 15 + node_modules/uglify-to-browserify/index.js | 49 + .../uglify-to-browserify/package.json | 72 + .../uglify-to-browserify/test/index.js | 22 + node_modules/uuid/.eslintrc.json | 46 + node_modules/uuid/AUTHORS | 5 + node_modules/uuid/HISTORY.md | 28 + node_modules/uuid/LICENSE.md | 21 + node_modules/uuid/README.md | 227 + node_modules/uuid/bin/uuid | 50 + node_modules/uuid/index.js | 8 + node_modules/uuid/lib/bytesToUuid.js | 23 + node_modules/uuid/lib/rng-browser.js | 33 + node_modules/uuid/lib/rng.js | 10 + node_modules/uuid/lib/sha1-browser.js | 85 + node_modules/uuid/lib/sha1.js | 21 + node_modules/uuid/package.json | 79 + node_modules/uuid/v1.js | 100 + node_modules/uuid/v4.js | 29 + node_modules/uuid/v5.js | 42 + node_modules/verror/.npmignore | 9 + node_modules/verror/CHANGES.md | 28 + node_modules/verror/CONTRIBUTING.md | 19 + node_modules/verror/LICENSE | 19 + node_modules/verror/README.md | 528 + node_modules/verror/lib/verror.js | 451 + .../verror/node_modules/assert-plus/AUTHORS | 6 + .../node_modules/assert-plus/CHANGES.md | 14 + .../verror/node_modules/assert-plus/README.md | 162 + .../verror/node_modules/assert-plus/assert.js | 211 + .../node_modules/assert-plus/package.json | 82 + node_modules/verror/package.json | 51 + node_modules/void-elements/.gitattributes | 1 + node_modules/void-elements/.npmignore | 1 + node_modules/void-elements/.travis.yml | 4 + node_modules/void-elements/LICENSE | 22 + node_modules/void-elements/README.md | 27 + node_modules/void-elements/index.js | 23 + node_modules/void-elements/package.json | 84 + node_modules/void-elements/pre-publish.js | 29 + node_modules/void-elements/test/index.js | 5 + node_modules/window-size/LICENSE-MIT | 22 + node_modules/window-size/README.md | 26 + node_modules/window-size/index.js | 33 + node_modules/window-size/package.json | 81 + node_modules/with/.npmignore | 2 + node_modules/with/LICENSE | 19 + node_modules/with/README.md | 81 + node_modules/with/index.js | 111 + node_modules/with/package.json | 81 + node_modules/wordwrap/.npmignore | 1 + node_modules/wordwrap/README.markdown | 70 + node_modules/wordwrap/example/center.js | 10 + node_modules/wordwrap/example/meat.js | 3 + node_modules/wordwrap/index.js | 76 + node_modules/wordwrap/package.json | 86 + node_modules/wordwrap/test/break.js | 30 + node_modules/wordwrap/test/idleness.txt | 63 + node_modules/wordwrap/test/wrap.js | 31 + node_modules/yargs/CHANGELOG.md | 374 + node_modules/yargs/LICENSE | 21 + node_modules/yargs/README.md | 926 + node_modules/yargs/completion.sh.hbs | 22 + node_modules/yargs/index.js | 504 + node_modules/yargs/lib/completion.js | 71 + node_modules/yargs/lib/parser.js | 448 + node_modules/yargs/lib/usage.js | 314 + node_modules/yargs/lib/validation.js | 196 + node_modules/yargs/package.json | 145 + package-lock.json | 1070 + package.json | 14 + readme.md | 66 + rubik-regular-webfont.woff | Bin 0 -> 33332 bytes rubik-regular-webfont.woff2 | Bin 0 -> 27032 bytes script.js | 207 + style.css | 67 + style.less | 87 + 3484 files changed, 393731 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Rubik-Regular.ttf create mode 100644 bitsy-default.txt create mode 100644 croppie.css create mode 100644 croppie.js create mode 100644 dj-hamster.jpg create mode 100644 index.html create mode 100644 index.pug create mode 100644 jquery.min.js create mode 100644 lodash.min.js create mode 100644 node_modules/.bin/acorn create mode 100644 node_modules/.bin/acorn.cmd create mode 100644 node_modules/.bin/cleancss create mode 100644 node_modules/.bin/cleancss.cmd create mode 100644 node_modules/.bin/errno create mode 100644 node_modules/.bin/errno.cmd create mode 100644 node_modules/.bin/image-size create mode 100644 node_modules/.bin/image-size.cmd create mode 100644 node_modules/.bin/jade create mode 100644 node_modules/.bin/jade.cmd create mode 100644 node_modules/.bin/lessc create mode 100644 node_modules/.bin/lessc.cmd create mode 100644 node_modules/.bin/mime create mode 100644 node_modules/.bin/mime.cmd create mode 100644 node_modules/.bin/mkdirp create mode 100644 node_modules/.bin/mkdirp.cmd create mode 100644 node_modules/.bin/pug create mode 100644 node_modules/.bin/pug.cmd create mode 100644 node_modules/.bin/sshpk-conv create mode 100644 node_modules/.bin/sshpk-conv.cmd create mode 100644 node_modules/.bin/sshpk-sign create mode 100644 node_modules/.bin/sshpk-sign.cmd create mode 100644 node_modules/.bin/sshpk-verify create mode 100644 node_modules/.bin/sshpk-verify.cmd create mode 100644 node_modules/.bin/uglifyjs create mode 100644 node_modules/.bin/uglifyjs.cmd create mode 100644 node_modules/.bin/uuid create mode 100644 node_modules/.bin/uuid.cmd create mode 100644 node_modules/acorn-globals/LICENSE create mode 100644 node_modules/acorn-globals/README.md create mode 100644 node_modules/acorn-globals/index.js create mode 100644 node_modules/acorn-globals/node_modules/.bin/acorn create mode 100644 node_modules/acorn-globals/node_modules/.bin/acorn.cmd create mode 100644 node_modules/acorn-globals/node_modules/acorn/.npmignore create mode 100644 node_modules/acorn-globals/node_modules/acorn/AUTHORS create mode 100644 node_modules/acorn-globals/node_modules/acorn/CHANGELOG.md create mode 100644 node_modules/acorn-globals/node_modules/acorn/LICENSE create mode 100644 node_modules/acorn-globals/node_modules/acorn/README.md create mode 100644 node_modules/acorn-globals/node_modules/acorn/bin/acorn create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/.keep create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/acorn.es.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/acorn.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/acorn_loose.es.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/acorn_loose.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/walk.es.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/dist/walk.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/package.json create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/bin/acorn.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/expression.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/identifier.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/index.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/location.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/locutil.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/expression.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/index.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/parseutil.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/state.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/statement.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/loose/tokenize.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/lval.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/node.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/options.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/parseutil.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/state.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/statement.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/tokencontext.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/tokenize.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/tokentype.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/util.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/walk/index.js create mode 100644 node_modules/acorn-globals/node_modules/acorn/src/whitespace.js create mode 100644 node_modules/acorn-globals/package.json create mode 100644 node_modules/acorn/.editorconfig create mode 100644 node_modules/acorn/.gitattributes create mode 100644 node_modules/acorn/.npmignore create mode 100644 node_modules/acorn/.tern-project create mode 100644 node_modules/acorn/.travis.yml create mode 100644 node_modules/acorn/AUTHORS create mode 100644 node_modules/acorn/CHANGELOG.md create mode 100644 node_modules/acorn/LICENSE create mode 100644 node_modules/acorn/README.md create mode 100644 node_modules/acorn/bin/acorn create mode 100644 node_modules/acorn/bin/generate-identifier-regex.js create mode 100644 node_modules/acorn/bin/update_authors.sh create mode 100644 node_modules/acorn/dist/.keep create mode 100644 node_modules/acorn/dist/acorn.es.js create mode 100644 node_modules/acorn/dist/acorn.js create mode 100644 node_modules/acorn/dist/acorn_loose.es.js create mode 100644 node_modules/acorn/dist/acorn_loose.js create mode 100644 node_modules/acorn/dist/walk.es.js create mode 100644 node_modules/acorn/dist/walk.js create mode 100644 node_modules/acorn/package.json create mode 100644 node_modules/acorn/rollup/config.bin.js create mode 100644 node_modules/acorn/rollup/config.loose.js create mode 100644 node_modules/acorn/rollup/config.main.js create mode 100644 node_modules/acorn/rollup/config.walk.js create mode 100644 node_modules/acorn/src/bin/acorn.js create mode 100644 node_modules/acorn/src/expression.js create mode 100644 node_modules/acorn/src/identifier.js create mode 100644 node_modules/acorn/src/index.js create mode 100644 node_modules/acorn/src/location.js create mode 100644 node_modules/acorn/src/locutil.js create mode 100644 node_modules/acorn/src/loose/expression.js create mode 100644 node_modules/acorn/src/loose/index.js create mode 100644 node_modules/acorn/src/loose/parseutil.js create mode 100644 node_modules/acorn/src/loose/state.js create mode 100644 node_modules/acorn/src/loose/statement.js create mode 100644 node_modules/acorn/src/loose/tokenize.js create mode 100644 node_modules/acorn/src/lval.js create mode 100644 node_modules/acorn/src/node.js create mode 100644 node_modules/acorn/src/options.js create mode 100644 node_modules/acorn/src/parseutil.js create mode 100644 node_modules/acorn/src/state.js create mode 100644 node_modules/acorn/src/statement.js create mode 100644 node_modules/acorn/src/tokencontext.js create mode 100644 node_modules/acorn/src/tokenize.js create mode 100644 node_modules/acorn/src/tokentype.js create mode 100644 node_modules/acorn/src/util.js create mode 100644 node_modules/acorn/src/walk/index.js create mode 100644 node_modules/acorn/src/whitespace.js create mode 100644 node_modules/ajv/.tonic_example.js create mode 100644 node_modules/ajv/LICENSE create mode 100644 node_modules/ajv/README.md create mode 100644 node_modules/ajv/dist/ajv.bundle.js create mode 100644 node_modules/ajv/dist/ajv.min.js create mode 100644 node_modules/ajv/dist/ajv.min.js.map create mode 100644 node_modules/ajv/dist/nodent.min.js create mode 100644 node_modules/ajv/dist/regenerator.min.js create mode 100644 node_modules/ajv/lib/ajv.d.ts create mode 100644 node_modules/ajv/lib/ajv.js create mode 100644 node_modules/ajv/lib/async.js create mode 100644 node_modules/ajv/lib/cache.js create mode 100644 node_modules/ajv/lib/compile/_rules.js create mode 100644 node_modules/ajv/lib/compile/equal.js create mode 100644 node_modules/ajv/lib/compile/formats.js create mode 100644 node_modules/ajv/lib/compile/index.js create mode 100644 node_modules/ajv/lib/compile/resolve.js create mode 100644 node_modules/ajv/lib/compile/rules.js create mode 100644 node_modules/ajv/lib/compile/schema_obj.js create mode 100644 node_modules/ajv/lib/compile/ucs2length.js create mode 100644 node_modules/ajv/lib/compile/util.js create mode 100644 node_modules/ajv/lib/compile/validation_error.js create mode 100644 node_modules/ajv/lib/dot/_limit.jst create mode 100644 node_modules/ajv/lib/dot/_limitItems.jst create mode 100644 node_modules/ajv/lib/dot/_limitLength.jst create mode 100644 node_modules/ajv/lib/dot/_limitProperties.jst create mode 100644 node_modules/ajv/lib/dot/allOf.jst create mode 100644 node_modules/ajv/lib/dot/anyOf.jst create mode 100644 node_modules/ajv/lib/dot/coerce.def create mode 100644 node_modules/ajv/lib/dot/custom.jst create mode 100644 node_modules/ajv/lib/dot/defaults.def create mode 100644 node_modules/ajv/lib/dot/definitions.def create mode 100644 node_modules/ajv/lib/dot/dependencies.jst create mode 100644 node_modules/ajv/lib/dot/enum.jst create mode 100644 node_modules/ajv/lib/dot/errors.def create mode 100644 node_modules/ajv/lib/dot/format.jst create mode 100644 node_modules/ajv/lib/dot/items.jst create mode 100644 node_modules/ajv/lib/dot/missing.def create mode 100644 node_modules/ajv/lib/dot/multipleOf.jst create mode 100644 node_modules/ajv/lib/dot/not.jst create mode 100644 node_modules/ajv/lib/dot/oneOf.jst create mode 100644 node_modules/ajv/lib/dot/pattern.jst create mode 100644 node_modules/ajv/lib/dot/properties.jst create mode 100644 node_modules/ajv/lib/dot/ref.jst create mode 100644 node_modules/ajv/lib/dot/required.jst create mode 100644 node_modules/ajv/lib/dot/uniqueItems.jst create mode 100644 node_modules/ajv/lib/dot/v5/_formatLimit.jst create mode 100644 node_modules/ajv/lib/dot/v5/constant.jst create mode 100644 node_modules/ajv/lib/dot/v5/patternRequired.jst create mode 100644 node_modules/ajv/lib/dot/v5/switch.jst create mode 100644 node_modules/ajv/lib/dot/validate.jst create mode 100644 node_modules/ajv/lib/dotjs/README.md create mode 100644 node_modules/ajv/lib/dotjs/_formatLimit.js create mode 100644 node_modules/ajv/lib/dotjs/_limit.js create mode 100644 node_modules/ajv/lib/dotjs/_limitItems.js create mode 100644 node_modules/ajv/lib/dotjs/_limitLength.js create mode 100644 node_modules/ajv/lib/dotjs/_limitProperties.js create mode 100644 node_modules/ajv/lib/dotjs/allOf.js create mode 100644 node_modules/ajv/lib/dotjs/anyOf.js create mode 100644 node_modules/ajv/lib/dotjs/constant.js create mode 100644 node_modules/ajv/lib/dotjs/custom.js create mode 100644 node_modules/ajv/lib/dotjs/dependencies.js create mode 100644 node_modules/ajv/lib/dotjs/enum.js create mode 100644 node_modules/ajv/lib/dotjs/format.js create mode 100644 node_modules/ajv/lib/dotjs/items.js create mode 100644 node_modules/ajv/lib/dotjs/multipleOf.js create mode 100644 node_modules/ajv/lib/dotjs/not.js create mode 100644 node_modules/ajv/lib/dotjs/oneOf.js create mode 100644 node_modules/ajv/lib/dotjs/pattern.js create mode 100644 node_modules/ajv/lib/dotjs/patternRequired.js create mode 100644 node_modules/ajv/lib/dotjs/properties.js create mode 100644 node_modules/ajv/lib/dotjs/ref.js create mode 100644 node_modules/ajv/lib/dotjs/required.js create mode 100644 node_modules/ajv/lib/dotjs/switch.js create mode 100644 node_modules/ajv/lib/dotjs/uniqueItems.js create mode 100644 node_modules/ajv/lib/dotjs/validate.js create mode 100644 node_modules/ajv/lib/keyword.js create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-04.json create mode 100644 node_modules/ajv/lib/refs/json-schema-v5.json create mode 100644 node_modules/ajv/lib/v5.js create mode 100644 node_modules/ajv/package.json create mode 100644 node_modules/ajv/scripts/.eslintrc.yml create mode 100644 node_modules/ajv/scripts/bundle.js create mode 100644 node_modules/ajv/scripts/compile-dots.js create mode 100644 node_modules/ajv/scripts/info create mode 100644 node_modules/ajv/scripts/prepare-tests create mode 100644 node_modules/ajv/scripts/travis-gh-pages create mode 100644 node_modules/align-text/LICENSE create mode 100644 node_modules/align-text/README.md create mode 100644 node_modules/align-text/index.js create mode 100644 node_modules/align-text/package.json create mode 100644 node_modules/amdefine/LICENSE create mode 100644 node_modules/amdefine/README.md create mode 100644 node_modules/amdefine/amdefine.js create mode 100644 node_modules/amdefine/intercept.js create mode 100644 node_modules/amdefine/package.json create mode 100644 node_modules/ansi-regex/index.js create mode 100644 node_modules/ansi-regex/license create mode 100644 node_modules/ansi-regex/package.json create mode 100644 node_modules/ansi-regex/readme.md create mode 100644 node_modules/ansi-styles/index.js create mode 100644 node_modules/ansi-styles/license create mode 100644 node_modules/ansi-styles/package.json create mode 100644 node_modules/ansi-styles/readme.md create mode 100644 node_modules/asap/CHANGES.md create mode 100644 node_modules/asap/LICENSE.md create mode 100644 node_modules/asap/README.md create mode 100644 node_modules/asap/asap.js create mode 100644 node_modules/asap/browser-asap.js create mode 100644 node_modules/asap/browser-raw.js create mode 100644 node_modules/asap/package.json create mode 100644 node_modules/asap/raw.js create mode 100644 node_modules/asn1/.npmignore create mode 100644 node_modules/asn1/.travis.yml create mode 100644 node_modules/asn1/LICENSE create mode 100644 node_modules/asn1/README.md create mode 100644 node_modules/asn1/lib/ber/errors.js create mode 100644 node_modules/asn1/lib/ber/index.js create mode 100644 node_modules/asn1/lib/ber/reader.js create mode 100644 node_modules/asn1/lib/ber/types.js create mode 100644 node_modules/asn1/lib/ber/writer.js create mode 100644 node_modules/asn1/lib/index.js create mode 100644 node_modules/asn1/package.json create mode 100644 node_modules/asn1/tst/ber/reader.test.js create mode 100644 node_modules/asn1/tst/ber/writer.test.js create mode 100644 node_modules/assert-plus/AUTHORS create mode 100644 node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/assert-plus/README.md create mode 100644 node_modules/assert-plus/assert.js create mode 100644 node_modules/assert-plus/package.json create mode 100644 node_modules/asynckit/LICENSE create mode 100644 node_modules/asynckit/README.md create mode 100644 node_modules/asynckit/bench.js create mode 100644 node_modules/asynckit/index.js create mode 100644 node_modules/asynckit/lib/abort.js create mode 100644 node_modules/asynckit/lib/async.js create mode 100644 node_modules/asynckit/lib/defer.js create mode 100644 node_modules/asynckit/lib/iterate.js create mode 100644 node_modules/asynckit/lib/readable_asynckit.js create mode 100644 node_modules/asynckit/lib/readable_parallel.js create mode 100644 node_modules/asynckit/lib/readable_serial.js create mode 100644 node_modules/asynckit/lib/readable_serial_ordered.js create mode 100644 node_modules/asynckit/lib/state.js create mode 100644 node_modules/asynckit/lib/streamify.js create mode 100644 node_modules/asynckit/lib/terminator.js create mode 100644 node_modules/asynckit/package.json create mode 100644 node_modules/asynckit/parallel.js create mode 100644 node_modules/asynckit/serial.js create mode 100644 node_modules/asynckit/serialOrdered.js create mode 100644 node_modules/asynckit/stream.js create mode 100644 node_modules/aws-sign2/LICENSE create mode 100644 node_modules/aws-sign2/README.md create mode 100644 node_modules/aws-sign2/index.js create mode 100644 node_modules/aws-sign2/package.json create mode 100644 node_modules/aws4/.npmignore create mode 100644 node_modules/aws4/.tern-port create mode 100644 node_modules/aws4/.travis.yml create mode 100644 node_modules/aws4/LICENSE create mode 100644 node_modules/aws4/README.md create mode 100644 node_modules/aws4/aws4.js create mode 100644 node_modules/aws4/lru.js create mode 100644 node_modules/aws4/package.json create mode 100644 node_modules/bcrypt-pbkdf/README.md create mode 100644 node_modules/bcrypt-pbkdf/index.js create mode 100644 node_modules/bcrypt-pbkdf/package.json create mode 100644 node_modules/boom/.npmignore create mode 100644 node_modules/boom/.travis.yml create mode 100644 node_modules/boom/CONTRIBUTING.md create mode 100644 node_modules/boom/LICENSE create mode 100644 node_modules/boom/README.md create mode 100644 node_modules/boom/images/boom.png create mode 100644 node_modules/boom/lib/index.js create mode 100644 node_modules/boom/package.json create mode 100644 node_modules/boom/test/index.js create mode 100644 node_modules/camelcase/index.js create mode 100644 node_modules/camelcase/license create mode 100644 node_modules/camelcase/package.json create mode 100644 node_modules/camelcase/readme.md create mode 100644 node_modules/caseless/LICENSE create mode 100644 node_modules/caseless/README.md create mode 100644 node_modules/caseless/index.js create mode 100644 node_modules/caseless/package.json create mode 100644 node_modules/caseless/test.js create mode 100644 node_modules/center-align/LICENSE create mode 100644 node_modules/center-align/README.md create mode 100644 node_modules/center-align/index.js create mode 100644 node_modules/center-align/package.json create mode 100644 node_modules/center-align/utils.js create mode 100644 node_modules/chalk/index.js create mode 100644 node_modules/chalk/license create mode 100644 node_modules/chalk/package.json create mode 100644 node_modules/chalk/readme.md create mode 100644 node_modules/character-parser/.npmignore create mode 100644 node_modules/character-parser/LICENSE create mode 100644 node_modules/character-parser/README.md create mode 100644 node_modules/character-parser/index.js create mode 100644 node_modules/character-parser/package.json create mode 100644 node_modules/clean-css/History.md create mode 100644 node_modules/clean-css/LICENSE create mode 100644 node_modules/clean-css/README.md create mode 100644 node_modules/clean-css/bin/cleancss create mode 100644 node_modules/clean-css/index.js create mode 100644 node_modules/clean-css/lib/clean.js create mode 100644 node_modules/clean-css/lib/colors/hex-name-shortener.js create mode 100644 node_modules/clean-css/lib/colors/hsl.js create mode 100644 node_modules/clean-css/lib/colors/rgb.js create mode 100644 node_modules/clean-css/lib/imports/inliner.js create mode 100644 node_modules/clean-css/lib/properties/break-up.js create mode 100644 node_modules/clean-css/lib/properties/can-override.js create mode 100644 node_modules/clean-css/lib/properties/clone.js create mode 100644 node_modules/clean-css/lib/properties/compactable.js create mode 100644 node_modules/clean-css/lib/properties/every-combination.js create mode 100644 node_modules/clean-css/lib/properties/has-inherit.js create mode 100644 node_modules/clean-css/lib/properties/invalid-property-error.js create mode 100644 node_modules/clean-css/lib/properties/optimizer.js create mode 100644 node_modules/clean-css/lib/properties/override-compactor.js create mode 100644 node_modules/clean-css/lib/properties/populate-components.js create mode 100644 node_modules/clean-css/lib/properties/remove-unused.js create mode 100644 node_modules/clean-css/lib/properties/restore-from-optimizing.js create mode 100644 node_modules/clean-css/lib/properties/restore.js create mode 100644 node_modules/clean-css/lib/properties/shorthand-compactor.js create mode 100644 node_modules/clean-css/lib/properties/validator.js create mode 100644 node_modules/clean-css/lib/properties/vendor-prefixes.js create mode 100644 node_modules/clean-css/lib/properties/wrap-for-optimizing.js create mode 100644 node_modules/clean-css/lib/selectors/advanced.js create mode 100644 node_modules/clean-css/lib/selectors/clean-up.js create mode 100644 node_modules/clean-css/lib/selectors/extractor.js create mode 100644 node_modules/clean-css/lib/selectors/is-special.js create mode 100644 node_modules/clean-css/lib/selectors/merge-adjacent.js create mode 100644 node_modules/clean-css/lib/selectors/merge-media-queries.js create mode 100644 node_modules/clean-css/lib/selectors/merge-non-adjacent-by-body.js create mode 100644 node_modules/clean-css/lib/selectors/merge-non-adjacent-by-selector.js create mode 100644 node_modules/clean-css/lib/selectors/reduce-non-adjacent.js create mode 100644 node_modules/clean-css/lib/selectors/remove-duplicate-media-queries.js create mode 100644 node_modules/clean-css/lib/selectors/remove-duplicates.js create mode 100644 node_modules/clean-css/lib/selectors/reorderable.js create mode 100644 node_modules/clean-css/lib/selectors/restructure.js create mode 100644 node_modules/clean-css/lib/selectors/simple.js create mode 100644 node_modules/clean-css/lib/source-maps/track.js create mode 100644 node_modules/clean-css/lib/stringifier/helpers.js create mode 100644 node_modules/clean-css/lib/stringifier/one-time.js create mode 100644 node_modules/clean-css/lib/stringifier/simple.js create mode 100644 node_modules/clean-css/lib/stringifier/source-maps.js create mode 100644 node_modules/clean-css/lib/text/comments-processor.js create mode 100644 node_modules/clean-css/lib/text/escape-store.js create mode 100644 node_modules/clean-css/lib/text/expressions-processor.js create mode 100644 node_modules/clean-css/lib/text/free-text-processor.js create mode 100644 node_modules/clean-css/lib/text/urls-processor.js create mode 100644 node_modules/clean-css/lib/tokenizer/extract-properties.js create mode 100644 node_modules/clean-css/lib/tokenizer/extract-selectors.js create mode 100644 node_modules/clean-css/lib/tokenizer/tokenize.js create mode 100644 node_modules/clean-css/lib/urls/rebase.js create mode 100644 node_modules/clean-css/lib/urls/reduce.js create mode 100644 node_modules/clean-css/lib/urls/rewrite.js create mode 100644 node_modules/clean-css/lib/utils/clone-array.js create mode 100644 node_modules/clean-css/lib/utils/compatibility.js create mode 100644 node_modules/clean-css/lib/utils/input-source-map-tracker.js create mode 100644 node_modules/clean-css/lib/utils/object.js create mode 100644 node_modules/clean-css/lib/utils/quote-scanner.js create mode 100644 node_modules/clean-css/lib/utils/source-reader.js create mode 100644 node_modules/clean-css/lib/utils/source-tracker.js create mode 100644 node_modules/clean-css/lib/utils/split.js create mode 100644 node_modules/clean-css/package.json create mode 100644 node_modules/cliui/.coveralls.yml create mode 100644 node_modules/cliui/.npmignore create mode 100644 node_modules/cliui/.travis.yml create mode 100644 node_modules/cliui/LICENSE.txt create mode 100644 node_modules/cliui/README.md create mode 100644 node_modules/cliui/index.js create mode 100644 node_modules/cliui/package.json create mode 100644 node_modules/cliui/test/cliui.js create mode 100644 node_modules/co/History.md create mode 100644 node_modules/co/LICENSE create mode 100644 node_modules/co/Readme.md create mode 100644 node_modules/co/index.js create mode 100644 node_modules/co/package.json create mode 100644 node_modules/combined-stream/License create mode 100644 node_modules/combined-stream/Readme.md create mode 100644 node_modules/combined-stream/lib/combined_stream.js create mode 100644 node_modules/combined-stream/package.json create mode 100644 node_modules/commander/History.md create mode 100644 node_modules/commander/LICENSE create mode 100644 node_modules/commander/Readme.md create mode 100644 node_modules/commander/index.js create mode 100644 node_modules/commander/package.json create mode 100644 node_modules/constantinople/.gitattributes create mode 100644 node_modules/constantinople/.npmignore create mode 100644 node_modules/constantinople/.travis.yml create mode 100644 node_modules/constantinople/LICENSE create mode 100644 node_modules/constantinople/README.md create mode 100644 node_modules/constantinople/index.js create mode 100644 node_modules/constantinople/package.json create mode 100644 node_modules/constantinople/test/index.js create mode 100644 node_modules/core-util-is/LICENSE create mode 100644 node_modules/core-util-is/README.md create mode 100644 node_modules/core-util-is/float.patch create mode 100644 node_modules/core-util-is/lib/util.js create mode 100644 node_modules/core-util-is/package.json create mode 100644 node_modules/core-util-is/test.js create mode 100644 node_modules/croppie/LICENSE create mode 100644 node_modules/croppie/README.md create mode 100644 node_modules/croppie/croppie.css create mode 100644 node_modules/croppie/croppie.js create mode 100644 node_modules/croppie/croppie.min.js create mode 100644 node_modules/croppie/package.json create mode 100644 node_modules/cryptiles/.npmignore create mode 100644 node_modules/cryptiles/.travis.yml create mode 100644 node_modules/cryptiles/LICENSE create mode 100644 node_modules/cryptiles/README.md create mode 100644 node_modules/cryptiles/lib/index.js create mode 100644 node_modules/cryptiles/package.json create mode 100644 node_modules/cryptiles/test/index.js create mode 100644 node_modules/dashdash/CHANGES.md create mode 100644 node_modules/dashdash/LICENSE.txt create mode 100644 node_modules/dashdash/README.md create mode 100644 node_modules/dashdash/etc/dashdash.bash_completion.in create mode 100644 node_modules/dashdash/lib/dashdash.js create mode 100644 node_modules/dashdash/node_modules/assert-plus/AUTHORS create mode 100644 node_modules/dashdash/node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/dashdash/node_modules/assert-plus/README.md create mode 100644 node_modules/dashdash/node_modules/assert-plus/assert.js create mode 100644 node_modules/dashdash/node_modules/assert-plus/package.json create mode 100644 node_modules/dashdash/package.json create mode 100644 node_modules/decamelize/index.js create mode 100644 node_modules/decamelize/license create mode 100644 node_modules/decamelize/package.json create mode 100644 node_modules/decamelize/readme.md create mode 100644 node_modules/delayed-stream/.npmignore create mode 100644 node_modules/delayed-stream/License create mode 100644 node_modules/delayed-stream/Makefile create mode 100644 node_modules/delayed-stream/Readme.md create mode 100644 node_modules/delayed-stream/lib/delayed_stream.js create mode 100644 node_modules/delayed-stream/package.json create mode 100644 node_modules/doctypes/.npmignore create mode 100644 node_modules/doctypes/.travis.yml create mode 100644 node_modules/doctypes/HISTORY.md create mode 100644 node_modules/doctypes/LICENSE create mode 100644 node_modules/doctypes/README.md create mode 100644 node_modules/doctypes/index.js create mode 100644 node_modules/doctypes/package.json create mode 100644 node_modules/doctypes/test.js create mode 100644 node_modules/ecc-jsbn/.npmignore create mode 100644 node_modules/ecc-jsbn/LICENSE create mode 100644 node_modules/ecc-jsbn/README.md create mode 100644 node_modules/ecc-jsbn/index.js create mode 100644 node_modules/ecc-jsbn/lib/LICENSE-jsbn create mode 100644 node_modules/ecc-jsbn/lib/ec.js create mode 100644 node_modules/ecc-jsbn/lib/sec.js create mode 100644 node_modules/ecc-jsbn/package.json create mode 100644 node_modules/ecc-jsbn/test.js create mode 100644 node_modules/errno/.jshintrc create mode 100644 node_modules/errno/.npmignore create mode 100644 node_modules/errno/README.md create mode 100644 node_modules/errno/build.js create mode 100644 node_modules/errno/cli.js create mode 100644 node_modules/errno/custom.js create mode 100644 node_modules/errno/errno.js create mode 100644 node_modules/errno/package.json create mode 100644 node_modules/errno/test.js create mode 100644 node_modules/escape-string-regexp/index.js create mode 100644 node_modules/escape-string-regexp/license create mode 100644 node_modules/escape-string-regexp/package.json create mode 100644 node_modules/escape-string-regexp/readme.md create mode 100644 node_modules/extend/.eslintrc create mode 100644 node_modules/extend/.jscs.json create mode 100644 node_modules/extend/.npmignore create mode 100644 node_modules/extend/.travis.yml create mode 100644 node_modules/extend/CHANGELOG.md create mode 100644 node_modules/extend/LICENSE create mode 100644 node_modules/extend/README.md create mode 100644 node_modules/extend/component.json create mode 100644 node_modules/extend/index.js create mode 100644 node_modules/extend/package.json create mode 100644 node_modules/extsprintf/.gitmodules create mode 100644 node_modules/extsprintf/.npmignore create mode 100644 node_modules/extsprintf/LICENSE create mode 100644 node_modules/extsprintf/Makefile create mode 100644 node_modules/extsprintf/Makefile.targ create mode 100644 node_modules/extsprintf/README.md create mode 100644 node_modules/extsprintf/jsl.node.conf create mode 100644 node_modules/extsprintf/lib/extsprintf.js create mode 100644 node_modules/extsprintf/package.json create mode 100644 node_modules/forever-agent/LICENSE create mode 100644 node_modules/forever-agent/README.md create mode 100644 node_modules/forever-agent/index.js create mode 100644 node_modules/forever-agent/package.json create mode 100644 node_modules/form-data/License create mode 100644 node_modules/form-data/README.md create mode 100644 node_modules/form-data/lib/browser.js create mode 100644 node_modules/form-data/lib/form_data.js create mode 100644 node_modules/form-data/lib/populate.js create mode 100644 node_modules/form-data/package.json create mode 100644 node_modules/function-bind/.editorconfig create mode 100644 node_modules/function-bind/.eslintrc create mode 100644 node_modules/function-bind/.jscs.json create mode 100644 node_modules/function-bind/.npmignore create mode 100644 node_modules/function-bind/.travis.yml create mode 100644 node_modules/function-bind/LICENSE create mode 100644 node_modules/function-bind/README.md create mode 100644 node_modules/function-bind/implementation.js create mode 100644 node_modules/function-bind/index.js create mode 100644 node_modules/function-bind/package.json create mode 100644 node_modules/function-bind/test/.eslintrc create mode 100644 node_modules/function-bind/test/index.js create mode 100644 node_modules/getpass/.npmignore create mode 100644 node_modules/getpass/.travis.yml create mode 100644 node_modules/getpass/LICENSE create mode 100644 node_modules/getpass/README.md create mode 100644 node_modules/getpass/lib/index.js create mode 100644 node_modules/getpass/node_modules/assert-plus/AUTHORS create mode 100644 node_modules/getpass/node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/getpass/node_modules/assert-plus/README.md create mode 100644 node_modules/getpass/node_modules/assert-plus/assert.js create mode 100644 node_modules/getpass/node_modules/assert-plus/package.json create mode 100644 node_modules/getpass/package.json create mode 100644 node_modules/graceful-fs/LICENSE create mode 100644 node_modules/graceful-fs/README.md create mode 100644 node_modules/graceful-fs/fs.js create mode 100644 node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/graceful-fs/package.json create mode 100644 node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/graceful-readlink/.npmignore create mode 100644 node_modules/graceful-readlink/.travis.yml create mode 100644 node_modules/graceful-readlink/LICENSE create mode 100644 node_modules/graceful-readlink/README.md create mode 100644 node_modules/graceful-readlink/index.js create mode 100644 node_modules/graceful-readlink/package.json create mode 100644 node_modules/har-schema/LICENSE create mode 100644 node_modules/har-schema/README.md create mode 100644 node_modules/har-schema/lib/afterRequest.json create mode 100644 node_modules/har-schema/lib/beforeRequest.json create mode 100644 node_modules/har-schema/lib/browser.json create mode 100644 node_modules/har-schema/lib/cache.json create mode 100644 node_modules/har-schema/lib/content.json create mode 100644 node_modules/har-schema/lib/cookie.json create mode 100644 node_modules/har-schema/lib/creator.json create mode 100644 node_modules/har-schema/lib/entry.json create mode 100644 node_modules/har-schema/lib/har.json create mode 100644 node_modules/har-schema/lib/header.json create mode 100644 node_modules/har-schema/lib/index.js create mode 100644 node_modules/har-schema/lib/log.json create mode 100644 node_modules/har-schema/lib/page.json create mode 100644 node_modules/har-schema/lib/pageTimings.json create mode 100644 node_modules/har-schema/lib/postData.json create mode 100644 node_modules/har-schema/lib/query.json create mode 100644 node_modules/har-schema/lib/request.json create mode 100644 node_modules/har-schema/lib/response.json create mode 100644 node_modules/har-schema/lib/timings.json create mode 100644 node_modules/har-schema/package.json create mode 100644 node_modules/har-validator/LICENSE create mode 100644 node_modules/har-validator/README.md create mode 100644 node_modules/har-validator/lib/browser/async.js create mode 100644 node_modules/har-validator/lib/browser/error.js create mode 100644 node_modules/har-validator/lib/browser/promise.js create mode 100644 node_modules/har-validator/lib/node4/async.js create mode 100644 node_modules/har-validator/lib/node4/error.js create mode 100644 node_modules/har-validator/lib/node4/promise.js create mode 100644 node_modules/har-validator/lib/node6/async.js create mode 100644 node_modules/har-validator/lib/node6/error.js create mode 100644 node_modules/har-validator/lib/node6/promise.js create mode 100644 node_modules/har-validator/lib/node7/async.js create mode 100644 node_modules/har-validator/lib/node7/error.js create mode 100644 node_modules/har-validator/lib/node7/promise.js create mode 100644 node_modules/har-validator/package.json create mode 100644 node_modules/har-validator/src/async.js create mode 100644 node_modules/har-validator/src/error.js create mode 100644 node_modules/har-validator/src/promise.js create mode 100644 node_modules/has-ansi/index.js create mode 100644 node_modules/has-ansi/license create mode 100644 node_modules/has-ansi/package.json create mode 100644 node_modules/has-ansi/readme.md create mode 100644 node_modules/has/.jshintrc create mode 100644 node_modules/has/.npmignore create mode 100644 node_modules/has/LICENSE-MIT create mode 100644 node_modules/has/README.mkd create mode 100644 node_modules/has/package.json create mode 100644 node_modules/has/src/index.js create mode 100644 node_modules/has/test/.jshintrc create mode 100644 node_modules/has/test/index.js create mode 100644 node_modules/hawk/.npmignore create mode 100644 node_modules/hawk/.travis.yml create mode 100644 node_modules/hawk/LICENSE create mode 100644 node_modules/hawk/README.md create mode 100644 node_modules/hawk/bower.json create mode 100644 node_modules/hawk/component.json create mode 100644 node_modules/hawk/dist/client.js create mode 100644 node_modules/hawk/example/usage.js create mode 100644 node_modules/hawk/images/hawk.png create mode 100644 node_modules/hawk/images/logo.png create mode 100644 node_modules/hawk/lib/browser.js create mode 100644 node_modules/hawk/lib/client.js create mode 100644 node_modules/hawk/lib/crypto.js create mode 100644 node_modules/hawk/lib/index.js create mode 100644 node_modules/hawk/lib/server.js create mode 100644 node_modules/hawk/lib/utils.js create mode 100644 node_modules/hawk/package.json create mode 100644 node_modules/hawk/test/browser.js create mode 100644 node_modules/hawk/test/client.js create mode 100644 node_modules/hawk/test/crypto.js create mode 100644 node_modules/hawk/test/index.js create mode 100644 node_modules/hawk/test/readme.js create mode 100644 node_modules/hawk/test/server.js create mode 100644 node_modules/hawk/test/uri.js create mode 100644 node_modules/hawk/test/utils.js create mode 100644 node_modules/hoek/.npmignore create mode 100644 node_modules/hoek/.travis.yml create mode 100644 node_modules/hoek/CONTRIBUTING.md create mode 100644 node_modules/hoek/LICENSE create mode 100644 node_modules/hoek/README.md create mode 100644 node_modules/hoek/images/hoek.png create mode 100644 node_modules/hoek/lib/escape.js create mode 100644 node_modules/hoek/lib/index.js create mode 100644 node_modules/hoek/package.json create mode 100644 node_modules/hoek/test/escaper.js create mode 100644 node_modules/hoek/test/index.js create mode 100644 node_modules/hoek/test/modules/ignore.txt create mode 100644 node_modules/hoek/test/modules/test1.js create mode 100644 node_modules/hoek/test/modules/test2.js create mode 100644 node_modules/hoek/test/modules/test3.js create mode 100644 node_modules/http-signature/.dir-locals.el create mode 100644 node_modules/http-signature/.npmignore create mode 100644 node_modules/http-signature/CHANGES.md create mode 100644 node_modules/http-signature/LICENSE create mode 100644 node_modules/http-signature/README.md create mode 100644 node_modules/http-signature/http_signing.md create mode 100644 node_modules/http-signature/lib/index.js create mode 100644 node_modules/http-signature/lib/parser.js create mode 100644 node_modules/http-signature/lib/signer.js create mode 100644 node_modules/http-signature/lib/utils.js create mode 100644 node_modules/http-signature/lib/verify.js create mode 100644 node_modules/http-signature/package.json create mode 100644 node_modules/image-size/LICENSE create mode 100644 node_modules/image-size/Readme.md create mode 100644 node_modules/image-size/bin/image-size.js create mode 100644 node_modules/image-size/lib/detector.js create mode 100644 node_modules/image-size/lib/index.js create mode 100644 node_modules/image-size/lib/readUInt.js create mode 100644 node_modules/image-size/lib/types.js create mode 100644 node_modules/image-size/lib/types/bmp.js create mode 100644 node_modules/image-size/lib/types/dds.js create mode 100644 node_modules/image-size/lib/types/gif.js create mode 100644 node_modules/image-size/lib/types/jpg.js create mode 100644 node_modules/image-size/lib/types/png.js create mode 100644 node_modules/image-size/lib/types/psd.js create mode 100644 node_modules/image-size/lib/types/svg.js create mode 100644 node_modules/image-size/lib/types/tiff.js create mode 100644 node_modules/image-size/lib/types/webp.js create mode 100644 node_modules/image-size/package.json create mode 100644 node_modules/is-buffer/LICENSE create mode 100644 node_modules/is-buffer/README.md create mode 100644 node_modules/is-buffer/index.js create mode 100644 node_modules/is-buffer/package.json create mode 100644 node_modules/is-buffer/test/basic.js create mode 100644 node_modules/is-expression/.npmignore create mode 100644 node_modules/is-expression/.travis.yml create mode 100644 node_modules/is-expression/CHANGELOG.md create mode 100644 node_modules/is-expression/LICENSE.md create mode 100644 node_modules/is-expression/README.md create mode 100644 node_modules/is-expression/index.js create mode 100644 node_modules/is-expression/package.json create mode 100644 node_modules/is-expression/test.js create mode 100644 node_modules/is-promise/.npmignore create mode 100644 node_modules/is-promise/.travis.yml create mode 100644 node_modules/is-promise/LICENSE create mode 100644 node_modules/is-promise/index.js create mode 100644 node_modules/is-promise/package.json create mode 100644 node_modules/is-promise/readme.md create mode 100644 node_modules/is-regex/.eslintrc create mode 100644 node_modules/is-regex/.jscs.json create mode 100644 node_modules/is-regex/.npmignore create mode 100644 node_modules/is-regex/.travis.yml create mode 100644 node_modules/is-regex/CHANGELOG.md create mode 100644 node_modules/is-regex/LICENSE create mode 100644 node_modules/is-regex/Makefile create mode 100644 node_modules/is-regex/README.md create mode 100644 node_modules/is-regex/index.js create mode 100644 node_modules/is-regex/package.json create mode 100644 node_modules/is-regex/test.js create mode 100644 node_modules/is-typedarray/LICENSE.md create mode 100644 node_modules/is-typedarray/README.md create mode 100644 node_modules/is-typedarray/index.js create mode 100644 node_modules/is-typedarray/package.json create mode 100644 node_modules/is-typedarray/test.js create mode 100644 node_modules/isstream/.jshintrc create mode 100644 node_modules/isstream/.npmignore create mode 100644 node_modules/isstream/.travis.yml create mode 100644 node_modules/isstream/LICENSE.md create mode 100644 node_modules/isstream/README.md create mode 100644 node_modules/isstream/isstream.js create mode 100644 node_modules/isstream/package.json create mode 100644 node_modules/isstream/test.js create mode 100644 node_modules/jquery/AUTHORS.txt create mode 100644 node_modules/jquery/LICENSE.txt create mode 100644 node_modules/jquery/README.md create mode 100644 node_modules/jquery/bower.json create mode 100644 node_modules/jquery/dist/core.js create mode 100644 node_modules/jquery/dist/jquery.js create mode 100644 node_modules/jquery/dist/jquery.min.js create mode 100644 node_modules/jquery/dist/jquery.min.map create mode 100644 node_modules/jquery/dist/jquery.slim.js create mode 100644 node_modules/jquery/dist/jquery.slim.min.js create mode 100644 node_modules/jquery/dist/jquery.slim.min.map create mode 100644 node_modules/jquery/external/sizzle/LICENSE.txt create mode 100644 node_modules/jquery/external/sizzle/dist/sizzle.js create mode 100644 node_modules/jquery/external/sizzle/dist/sizzle.min.js create mode 100644 node_modules/jquery/external/sizzle/dist/sizzle.min.map create mode 100644 node_modules/jquery/package.json create mode 100644 node_modules/jquery/src/.eslintrc.json create mode 100644 node_modules/jquery/src/ajax.js create mode 100644 node_modules/jquery/src/ajax/jsonp.js create mode 100644 node_modules/jquery/src/ajax/load.js create mode 100644 node_modules/jquery/src/ajax/parseXML.js create mode 100644 node_modules/jquery/src/ajax/script.js create mode 100644 node_modules/jquery/src/ajax/var/location.js create mode 100644 node_modules/jquery/src/ajax/var/nonce.js create mode 100644 node_modules/jquery/src/ajax/var/rquery.js create mode 100644 node_modules/jquery/src/ajax/xhr.js create mode 100644 node_modules/jquery/src/attributes.js create mode 100644 node_modules/jquery/src/attributes/attr.js create mode 100644 node_modules/jquery/src/attributes/classes.js create mode 100644 node_modules/jquery/src/attributes/prop.js create mode 100644 node_modules/jquery/src/attributes/support.js create mode 100644 node_modules/jquery/src/attributes/val.js create mode 100644 node_modules/jquery/src/callbacks.js create mode 100644 node_modules/jquery/src/core.js create mode 100644 node_modules/jquery/src/core/DOMEval.js create mode 100644 node_modules/jquery/src/core/access.js create mode 100644 node_modules/jquery/src/core/init.js create mode 100644 node_modules/jquery/src/core/nodeName.js create mode 100644 node_modules/jquery/src/core/parseHTML.js create mode 100644 node_modules/jquery/src/core/ready-no-deferred.js create mode 100644 node_modules/jquery/src/core/ready.js create mode 100644 node_modules/jquery/src/core/readyException.js create mode 100644 node_modules/jquery/src/core/stripAndCollapse.js create mode 100644 node_modules/jquery/src/core/support.js create mode 100644 node_modules/jquery/src/core/var/rsingleTag.js create mode 100644 node_modules/jquery/src/css.js create mode 100644 node_modules/jquery/src/css/addGetHookIf.js create mode 100644 node_modules/jquery/src/css/adjustCSS.js create mode 100644 node_modules/jquery/src/css/curCSS.js create mode 100644 node_modules/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 node_modules/jquery/src/css/showHide.js create mode 100644 node_modules/jquery/src/css/support.js create mode 100644 node_modules/jquery/src/css/var/cssExpand.js create mode 100644 node_modules/jquery/src/css/var/getStyles.js create mode 100644 node_modules/jquery/src/css/var/isHiddenWithinTree.js create mode 100644 node_modules/jquery/src/css/var/rmargin.js create mode 100644 node_modules/jquery/src/css/var/rnumnonpx.js create mode 100644 node_modules/jquery/src/css/var/swap.js create mode 100644 node_modules/jquery/src/data.js create mode 100644 node_modules/jquery/src/data/Data.js create mode 100644 node_modules/jquery/src/data/var/acceptData.js create mode 100644 node_modules/jquery/src/data/var/dataPriv.js create mode 100644 node_modules/jquery/src/data/var/dataUser.js create mode 100644 node_modules/jquery/src/deferred.js create mode 100644 node_modules/jquery/src/deferred/exceptionHook.js create mode 100644 node_modules/jquery/src/deprecated.js create mode 100644 node_modules/jquery/src/dimensions.js create mode 100644 node_modules/jquery/src/effects.js create mode 100644 node_modules/jquery/src/effects/Tween.js create mode 100644 node_modules/jquery/src/effects/animatedSelector.js create mode 100644 node_modules/jquery/src/event.js create mode 100644 node_modules/jquery/src/event/ajax.js create mode 100644 node_modules/jquery/src/event/alias.js create mode 100644 node_modules/jquery/src/event/focusin.js create mode 100644 node_modules/jquery/src/event/support.js create mode 100644 node_modules/jquery/src/event/trigger.js create mode 100644 node_modules/jquery/src/exports/amd.js create mode 100644 node_modules/jquery/src/exports/global.js create mode 100644 node_modules/jquery/src/jquery.js create mode 100644 node_modules/jquery/src/manipulation.js create mode 100644 node_modules/jquery/src/manipulation/_evalUrl.js create mode 100644 node_modules/jquery/src/manipulation/buildFragment.js create mode 100644 node_modules/jquery/src/manipulation/getAll.js create mode 100644 node_modules/jquery/src/manipulation/setGlobalEval.js create mode 100644 node_modules/jquery/src/manipulation/support.js create mode 100644 node_modules/jquery/src/manipulation/var/rcheckableType.js create mode 100644 node_modules/jquery/src/manipulation/var/rscriptType.js create mode 100644 node_modules/jquery/src/manipulation/var/rtagName.js create mode 100644 node_modules/jquery/src/manipulation/wrapMap.js create mode 100644 node_modules/jquery/src/offset.js create mode 100644 node_modules/jquery/src/queue.js create mode 100644 node_modules/jquery/src/queue/delay.js create mode 100644 node_modules/jquery/src/selector-native.js create mode 100644 node_modules/jquery/src/selector-sizzle.js create mode 100644 node_modules/jquery/src/selector.js create mode 100644 node_modules/jquery/src/serialize.js create mode 100644 node_modules/jquery/src/traversing.js create mode 100644 node_modules/jquery/src/traversing/findFilter.js create mode 100644 node_modules/jquery/src/traversing/var/dir.js create mode 100644 node_modules/jquery/src/traversing/var/rneedsContext.js create mode 100644 node_modules/jquery/src/traversing/var/siblings.js create mode 100644 node_modules/jquery/src/var/ObjectFunctionString.js create mode 100644 node_modules/jquery/src/var/arr.js create mode 100644 node_modules/jquery/src/var/class2type.js create mode 100644 node_modules/jquery/src/var/concat.js create mode 100644 node_modules/jquery/src/var/document.js create mode 100644 node_modules/jquery/src/var/documentElement.js create mode 100644 node_modules/jquery/src/var/fnToString.js create mode 100644 node_modules/jquery/src/var/getProto.js create mode 100644 node_modules/jquery/src/var/hasOwn.js create mode 100644 node_modules/jquery/src/var/indexOf.js create mode 100644 node_modules/jquery/src/var/pnum.js create mode 100644 node_modules/jquery/src/var/push.js create mode 100644 node_modules/jquery/src/var/rcssNum.js create mode 100644 node_modules/jquery/src/var/rnothtmlwhite.js create mode 100644 node_modules/jquery/src/var/slice.js create mode 100644 node_modules/jquery/src/var/support.js create mode 100644 node_modules/jquery/src/var/toString.js create mode 100644 node_modules/jquery/src/wrap.js create mode 100644 node_modules/js-stringify/.npmignore create mode 100644 node_modules/js-stringify/.travis.yml create mode 100644 node_modules/js-stringify/LICENSE create mode 100644 node_modules/js-stringify/README.md create mode 100644 node_modules/js-stringify/index.js create mode 100644 node_modules/js-stringify/package.json create mode 100644 node_modules/js-stringify/test/index.js create mode 100644 node_modules/jsbn/.npmignore create mode 100644 node_modules/jsbn/LICENSE create mode 100644 node_modules/jsbn/README.md create mode 100644 node_modules/jsbn/example.html create mode 100644 node_modules/jsbn/example.js create mode 100644 node_modules/jsbn/index.js create mode 100644 node_modules/jsbn/package.json create mode 100644 node_modules/json-schema/README.md create mode 100644 node_modules/json-schema/draft-00/hyper-schema create mode 100644 node_modules/json-schema/draft-00/json-ref create mode 100644 node_modules/json-schema/draft-00/links create mode 100644 node_modules/json-schema/draft-00/schema create mode 100644 node_modules/json-schema/draft-01/hyper-schema create mode 100644 node_modules/json-schema/draft-01/json-ref create mode 100644 node_modules/json-schema/draft-01/links create mode 100644 node_modules/json-schema/draft-01/schema create mode 100644 node_modules/json-schema/draft-02/hyper-schema create mode 100644 node_modules/json-schema/draft-02/json-ref create mode 100644 node_modules/json-schema/draft-02/links create mode 100644 node_modules/json-schema/draft-02/schema create mode 100644 node_modules/json-schema/draft-03/examples/address create mode 100644 node_modules/json-schema/draft-03/examples/calendar create mode 100644 node_modules/json-schema/draft-03/examples/card create mode 100644 node_modules/json-schema/draft-03/examples/geo create mode 100644 node_modules/json-schema/draft-03/examples/interfaces create mode 100644 node_modules/json-schema/draft-03/hyper-schema create mode 100644 node_modules/json-schema/draft-03/json-ref create mode 100644 node_modules/json-schema/draft-03/links create mode 100644 node_modules/json-schema/draft-03/schema create mode 100644 node_modules/json-schema/draft-04/hyper-schema create mode 100644 node_modules/json-schema/draft-04/links create mode 100644 node_modules/json-schema/draft-04/schema create mode 100644 node_modules/json-schema/draft-zyp-json-schema-03.xml create mode 100644 node_modules/json-schema/draft-zyp-json-schema-04.xml create mode 100644 node_modules/json-schema/lib/links.js create mode 100644 node_modules/json-schema/lib/validate.js create mode 100644 node_modules/json-schema/package.json create mode 100644 node_modules/json-schema/test/tests.js create mode 100644 node_modules/json-stable-stringify/.npmignore create mode 100644 node_modules/json-stable-stringify/.travis.yml create mode 100644 node_modules/json-stable-stringify/LICENSE create mode 100644 node_modules/json-stable-stringify/example/key_cmp.js create mode 100644 node_modules/json-stable-stringify/example/nested.js create mode 100644 node_modules/json-stable-stringify/example/str.js create mode 100644 node_modules/json-stable-stringify/example/value_cmp.js create mode 100644 node_modules/json-stable-stringify/index.js create mode 100644 node_modules/json-stable-stringify/package.json create mode 100644 node_modules/json-stable-stringify/readme.markdown create mode 100644 node_modules/json-stable-stringify/test/cmp.js create mode 100644 node_modules/json-stable-stringify/test/nested.js create mode 100644 node_modules/json-stable-stringify/test/replacer.js create mode 100644 node_modules/json-stable-stringify/test/space.js create mode 100644 node_modules/json-stable-stringify/test/str.js create mode 100644 node_modules/json-stable-stringify/test/to-json.js create mode 100644 node_modules/json-stringify-safe/.npmignore create mode 100644 node_modules/json-stringify-safe/CHANGELOG.md create mode 100644 node_modules/json-stringify-safe/LICENSE create mode 100644 node_modules/json-stringify-safe/Makefile create mode 100644 node_modules/json-stringify-safe/README.md create mode 100644 node_modules/json-stringify-safe/package.json create mode 100644 node_modules/json-stringify-safe/stringify.js create mode 100644 node_modules/json-stringify-safe/test/mocha.opts create mode 100644 node_modules/json-stringify-safe/test/stringify_test.js create mode 100644 node_modules/jsonify/README.markdown create mode 100644 node_modules/jsonify/index.js create mode 100644 node_modules/jsonify/lib/parse.js create mode 100644 node_modules/jsonify/lib/stringify.js create mode 100644 node_modules/jsonify/package.json create mode 100644 node_modules/jsonify/test/parse.js create mode 100644 node_modules/jsonify/test/stringify.js create mode 100644 node_modules/jsprim/CHANGES.md create mode 100644 node_modules/jsprim/CONTRIBUTING.md create mode 100644 node_modules/jsprim/LICENSE create mode 100644 node_modules/jsprim/README.md create mode 100644 node_modules/jsprim/lib/jsprim.js create mode 100644 node_modules/jsprim/node_modules/assert-plus/AUTHORS create mode 100644 node_modules/jsprim/node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/jsprim/node_modules/assert-plus/README.md create mode 100644 node_modules/jsprim/node_modules/assert-plus/assert.js create mode 100644 node_modules/jsprim/node_modules/assert-plus/package.json create mode 100644 node_modules/jsprim/package.json create mode 100644 node_modules/jstransformer/CHANGELOG.md create mode 100644 node_modules/jstransformer/LICENSE.md create mode 100644 node_modules/jstransformer/README.md create mode 100644 node_modules/jstransformer/index.js create mode 100644 node_modules/jstransformer/package.json create mode 100644 node_modules/kind-of/LICENSE create mode 100644 node_modules/kind-of/README.md create mode 100644 node_modules/kind-of/index.js create mode 100644 node_modules/kind-of/package.json create mode 100644 node_modules/lazy-cache/LICENSE create mode 100644 node_modules/lazy-cache/README.md create mode 100644 node_modules/lazy-cache/index.js create mode 100644 node_modules/lazy-cache/package.json create mode 100644 node_modules/less/.jscsrc create mode 100644 node_modules/less/.jshintrc create mode 100644 node_modules/less/.npmignore create mode 100644 node_modules/less/.travis.yml create mode 100644 node_modules/less/CHANGELOG.md create mode 100644 node_modules/less/CONTRIBUTING.md create mode 100644 node_modules/less/Gruntfile.js create mode 100644 node_modules/less/LICENSE create mode 100644 node_modules/less/README.md create mode 100644 node_modules/less/appveyor.yml create mode 100644 node_modules/less/bin/lessc create mode 100644 node_modules/less/bower.json create mode 100644 node_modules/less/browser.js create mode 100644 node_modules/less/build.gradle create mode 100644 node_modules/less/dist/less.js create mode 100644 node_modules/less/dist/less.min.js create mode 100644 node_modules/less/gradlew create mode 100644 node_modules/less/gradlew.bat create mode 100644 node_modules/less/index.js create mode 100644 node_modules/less/lib/less-browser/add-default-options.js create mode 100644 node_modules/less/lib/less-browser/bootstrap.js create mode 100644 node_modules/less/lib/less-browser/browser.js create mode 100644 node_modules/less/lib/less-browser/cache.js create mode 100644 node_modules/less/lib/less-browser/error-reporting.js create mode 100644 node_modules/less/lib/less-browser/file-manager.js create mode 100644 node_modules/less/lib/less-browser/image-size.js create mode 100644 node_modules/less/lib/less-browser/index.js create mode 100644 node_modules/less/lib/less-browser/log-listener.js create mode 100644 node_modules/less/lib/less-browser/utils.js create mode 100644 node_modules/less/lib/less-node/environment.js create mode 100644 node_modules/less/lib/less-node/file-manager.js create mode 100644 node_modules/less/lib/less-node/fs.js create mode 100644 node_modules/less/lib/less-node/image-size.js create mode 100644 node_modules/less/lib/less-node/index.js create mode 100644 node_modules/less/lib/less-node/lessc-helper.js create mode 100644 node_modules/less/lib/less-node/plugin-loader.js create mode 100644 node_modules/less/lib/less-node/url-file-manager.js create mode 100644 node_modules/less/lib/less-rhino/index.js create mode 100644 node_modules/less/lib/less/contexts.js create mode 100644 node_modules/less/lib/less/data/colors.js create mode 100644 node_modules/less/lib/less/data/index.js create mode 100644 node_modules/less/lib/less/data/unit-conversions.js create mode 100644 node_modules/less/lib/less/environment/abstract-file-manager.js create mode 100644 node_modules/less/lib/less/environment/environment-api.js create mode 100644 node_modules/less/lib/less/environment/environment.js create mode 100644 node_modules/less/lib/less/environment/file-manager-api.js create mode 100644 node_modules/less/lib/less/functions/color-blending.js create mode 100644 node_modules/less/lib/less/functions/color.js create mode 100644 node_modules/less/lib/less/functions/data-uri.js create mode 100644 node_modules/less/lib/less/functions/default.js create mode 100644 node_modules/less/lib/less/functions/function-caller.js create mode 100644 node_modules/less/lib/less/functions/function-registry.js create mode 100644 node_modules/less/lib/less/functions/index.js create mode 100644 node_modules/less/lib/less/functions/math-helper.js create mode 100644 node_modules/less/lib/less/functions/math.js create mode 100644 node_modules/less/lib/less/functions/number.js create mode 100644 node_modules/less/lib/less/functions/string.js create mode 100644 node_modules/less/lib/less/functions/svg.js create mode 100644 node_modules/less/lib/less/functions/types.js create mode 100644 node_modules/less/lib/less/import-manager.js create mode 100644 node_modules/less/lib/less/index.js create mode 100644 node_modules/less/lib/less/less-error.js create mode 100644 node_modules/less/lib/less/logger.js create mode 100644 node_modules/less/lib/less/parse-tree.js create mode 100644 node_modules/less/lib/less/parse.js create mode 100644 node_modules/less/lib/less/parser/chunker.js create mode 100644 node_modules/less/lib/less/parser/parser-input.js create mode 100644 node_modules/less/lib/less/parser/parser.js create mode 100644 node_modules/less/lib/less/plugin-manager.js create mode 100644 node_modules/less/lib/less/plugins/function-importer.js create mode 100644 node_modules/less/lib/less/render.js create mode 100644 node_modules/less/lib/less/source-map-builder.js create mode 100644 node_modules/less/lib/less/source-map-output.js create mode 100644 node_modules/less/lib/less/transform-tree.js create mode 100644 node_modules/less/lib/less/tree/alpha.js create mode 100644 node_modules/less/lib/less/tree/anonymous.js create mode 100644 node_modules/less/lib/less/tree/assignment.js create mode 100644 node_modules/less/lib/less/tree/attribute.js create mode 100644 node_modules/less/lib/less/tree/call.js create mode 100644 node_modules/less/lib/less/tree/color.js create mode 100644 node_modules/less/lib/less/tree/combinator.js create mode 100644 node_modules/less/lib/less/tree/comment.js create mode 100644 node_modules/less/lib/less/tree/condition.js create mode 100644 node_modules/less/lib/less/tree/debug-info.js create mode 100644 node_modules/less/lib/less/tree/detached-ruleset.js create mode 100644 node_modules/less/lib/less/tree/dimension.js create mode 100644 node_modules/less/lib/less/tree/directive.js create mode 100644 node_modules/less/lib/less/tree/element.js create mode 100644 node_modules/less/lib/less/tree/expression.js create mode 100644 node_modules/less/lib/less/tree/extend.js create mode 100644 node_modules/less/lib/less/tree/import.js create mode 100644 node_modules/less/lib/less/tree/index.js create mode 100644 node_modules/less/lib/less/tree/javascript.js create mode 100644 node_modules/less/lib/less/tree/js-eval-node.js create mode 100644 node_modules/less/lib/less/tree/keyword.js create mode 100644 node_modules/less/lib/less/tree/media.js create mode 100644 node_modules/less/lib/less/tree/mixin-call.js create mode 100644 node_modules/less/lib/less/tree/mixin-definition.js create mode 100644 node_modules/less/lib/less/tree/negative.js create mode 100644 node_modules/less/lib/less/tree/node.js create mode 100644 node_modules/less/lib/less/tree/operation.js create mode 100644 node_modules/less/lib/less/tree/paren.js create mode 100644 node_modules/less/lib/less/tree/quoted.js create mode 100644 node_modules/less/lib/less/tree/rule.js create mode 100644 node_modules/less/lib/less/tree/ruleset-call.js create mode 100644 node_modules/less/lib/less/tree/ruleset.js create mode 100644 node_modules/less/lib/less/tree/selector.js create mode 100644 node_modules/less/lib/less/tree/unicode-descriptor.js create mode 100644 node_modules/less/lib/less/tree/unit.js create mode 100644 node_modules/less/lib/less/tree/url.js create mode 100644 node_modules/less/lib/less/tree/value.js create mode 100644 node_modules/less/lib/less/tree/variable.js create mode 100644 node_modules/less/lib/less/utils.js create mode 100644 node_modules/less/lib/less/visitors/extend-visitor.js create mode 100644 node_modules/less/lib/less/visitors/import-sequencer.js create mode 100644 node_modules/less/lib/less/visitors/import-visitor.js create mode 100644 node_modules/less/lib/less/visitors/index.js create mode 100644 node_modules/less/lib/less/visitors/join-selector-visitor.js create mode 100644 node_modules/less/lib/less/visitors/set-tree-visibility-visitor.js create mode 100644 node_modules/less/lib/less/visitors/to-css-visitor.js create mode 100644 node_modules/less/lib/less/visitors/visitor.js create mode 100644 node_modules/less/lib/source-map/source-map-0.1.31.js create mode 100644 node_modules/less/lib/source-map/source-map-footer.js create mode 100644 node_modules/less/lib/source-map/source-map-header.js create mode 100644 node_modules/less/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/less/node_modules/source-map/LICENSE create mode 100644 node_modules/less/node_modules/source-map/README.md create mode 100644 node_modules/less/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/less/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/less/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/less/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/less/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/less/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/less/node_modules/source-map/lib/base64.js create mode 100644 node_modules/less/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/less/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/less/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/less/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/less/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/less/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/less/node_modules/source-map/lib/util.js create mode 100644 node_modules/less/node_modules/source-map/package.json create mode 100644 node_modules/less/node_modules/source-map/source-map.js create mode 100644 node_modules/less/package.json create mode 100644 node_modules/less/test/browser/common.js create mode 100644 node_modules/less/test/browser/css/global-vars/simple.css create mode 100644 node_modules/less/test/browser/css/modify-vars/simple.css create mode 100644 node_modules/less/test/browser/css/postProcessor/postProcessor.css create mode 100644 node_modules/less/test/browser/css/relative-urls/urls.css create mode 100644 node_modules/less/test/browser/css/rootpath-relative/urls.css create mode 100644 node_modules/less/test/browser/css/rootpath/urls.css create mode 100644 node_modules/less/test/browser/css/urls.css create mode 100644 node_modules/less/test/browser/jasmine-jsreporter.js create mode 100644 node_modules/less/test/browser/less.js create mode 100644 node_modules/less/test/browser/less/console-errors/test-error.less create mode 100644 node_modules/less/test/browser/less/console-errors/test-error.txt create mode 100644 node_modules/less/test/browser/less/errors/image-height-error.less create mode 100644 node_modules/less/test/browser/less/errors/image-height-error.txt create mode 100644 node_modules/less/test/browser/less/errors/image-size-error.less create mode 100644 node_modules/less/test/browser/less/errors/image-size-error.txt create mode 100644 node_modules/less/test/browser/less/errors/image-width-error.less create mode 100644 node_modules/less/test/browser/less/errors/image-width-error.txt create mode 100644 node_modules/less/test/browser/less/global-vars/simple.less create mode 100644 node_modules/less/test/browser/less/imports/urls.less create mode 100644 node_modules/less/test/browser/less/imports/urls2.less create mode 100644 node_modules/less/test/browser/less/modify-vars/imports/simple2.less create mode 100644 node_modules/less/test/browser/less/modify-vars/simple.less create mode 100644 node_modules/less/test/browser/less/nested-gradient-with-svg-gradient/mixin-consumer.less create mode 100644 node_modules/less/test/browser/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less create mode 100644 node_modules/less/test/browser/less/postProcessor/postProcessor.less create mode 100644 node_modules/less/test/browser/less/relative-urls/urls.less create mode 100644 node_modules/less/test/browser/less/rootpath-relative/urls.less create mode 100644 node_modules/less/test/browser/less/rootpath/urls.less create mode 100644 node_modules/less/test/browser/less/urls.less create mode 100644 node_modules/less/test/browser/runner-VisitorPlugin-options.js create mode 100644 node_modules/less/test/browser/runner-VisitorPlugin.js create mode 100644 node_modules/less/test/browser/runner-browser-options.js create mode 100644 node_modules/less/test/browser/runner-browser-spec.js create mode 100644 node_modules/less/test/browser/runner-console-errors.js create mode 100644 node_modules/less/test/browser/runner-errors-options.js create mode 100644 node_modules/less/test/browser/runner-errors-spec.js create mode 100644 node_modules/less/test/browser/runner-filemanagerPlugin-options.js create mode 100644 node_modules/less/test/browser/runner-filemanagerPlugin.js create mode 100644 node_modules/less/test/browser/runner-global-vars-options.js create mode 100644 node_modules/less/test/browser/runner-global-vars-spec.js create mode 100644 node_modules/less/test/browser/runner-legacy-options.js create mode 100644 node_modules/less/test/browser/runner-legacy-spec.js create mode 100644 node_modules/less/test/browser/runner-main-options.js create mode 100644 node_modules/less/test/browser/runner-main-spec.js create mode 100644 node_modules/less/test/browser/runner-modify-vars-options.js create mode 100644 node_modules/less/test/browser/runner-modify-vars-spec.js create mode 100644 node_modules/less/test/browser/runner-no-js-errors-options.js create mode 100644 node_modules/less/test/browser/runner-no-js-errors-spec.js create mode 100644 node_modules/less/test/browser/runner-postProcessor-options.js create mode 100644 node_modules/less/test/browser/runner-postProcessor.js create mode 100644 node_modules/less/test/browser/runner-postProcessorPlugin-options.js create mode 100644 node_modules/less/test/browser/runner-postProcessorPlugin.js create mode 100644 node_modules/less/test/browser/runner-preProcessorPlugin-options.js create mode 100644 node_modules/less/test/browser/runner-preProcessorPlugin.js create mode 100644 node_modules/less/test/browser/runner-production-options.js create mode 100644 node_modules/less/test/browser/runner-production-spec.js create mode 100644 node_modules/less/test/browser/runner-relative-urls-options.js create mode 100644 node_modules/less/test/browser/runner-relative-urls-spec.js create mode 100644 node_modules/less/test/browser/runner-rootpath-options.js create mode 100644 node_modules/less/test/browser/runner-rootpath-relative-options.js create mode 100644 node_modules/less/test/browser/runner-rootpath-relative-spec.js create mode 100644 node_modules/less/test/browser/runner-rootpath-spec.js create mode 100644 node_modules/less/test/browser/runner-strict-units-options.js create mode 100644 node_modules/less/test/browser/runner-strict-units-spec.js create mode 100644 node_modules/less/test/browser/test-runner-template.tmpl create mode 100644 node_modules/less/test/copy-bom.js create mode 100644 node_modules/less/test/css/charsets.css create mode 100644 node_modules/less/test/css/colors.css create mode 100644 node_modules/less/test/css/comments.css create mode 100644 node_modules/less/test/css/comments2.css create mode 100644 node_modules/less/test/css/compression/compression.css create mode 100644 node_modules/less/test/css/css-3.css create mode 100644 node_modules/less/test/css/css-escapes.css create mode 100644 node_modules/less/test/css/css-guards.css create mode 100644 node_modules/less/test/css/css.css create mode 100644 node_modules/less/test/css/debug/linenumbers-all.css create mode 100644 node_modules/less/test/css/debug/linenumbers-comments.css create mode 100644 node_modules/less/test/css/debug/linenumbers-mediaquery.css create mode 100644 node_modules/less/test/css/detached-rulesets.css create mode 100644 node_modules/less/test/css/directives-bubling.css create mode 100644 node_modules/less/test/css/empty.css create mode 100644 node_modules/less/test/css/extend-chaining.css create mode 100644 node_modules/less/test/css/extend-clearfix.css create mode 100644 node_modules/less/test/css/extend-exact.css create mode 100644 node_modules/less/test/css/extend-media.css create mode 100644 node_modules/less/test/css/extend-nest.css create mode 100644 node_modules/less/test/css/extend-selector.css create mode 100644 node_modules/less/test/css/extend.css create mode 100644 node_modules/less/test/css/extract-and-length.css create mode 100644 node_modules/less/test/css/filemanagerPlugin/filemanager.css create mode 100644 node_modules/less/test/css/functions.css create mode 100644 node_modules/less/test/css/globalVars/extended.css create mode 100644 node_modules/less/test/css/globalVars/simple.css create mode 100644 node_modules/less/test/css/ie-filters.css create mode 100644 node_modules/less/test/css/import-inline.css create mode 100644 node_modules/less/test/css/import-interpolation.css create mode 100644 node_modules/less/test/css/import-once.css create mode 100644 node_modules/less/test/css/import-reference-issues.css create mode 100644 node_modules/less/test/css/import-reference.css create mode 100644 node_modules/less/test/css/import.css create mode 100644 node_modules/less/test/css/include-path-string/include-path-string.css create mode 100644 node_modules/less/test/css/include-path/include-path.css create mode 100644 node_modules/less/test/css/javascript.css create mode 100644 node_modules/less/test/css/lazy-eval.css create mode 100644 node_modules/less/test/css/legacy/legacy.css create mode 100644 node_modules/less/test/css/media.css create mode 100644 node_modules/less/test/css/merge.css create mode 100644 node_modules/less/test/css/mixins-args.css create mode 100644 node_modules/less/test/css/mixins-closure.css create mode 100644 node_modules/less/test/css/mixins-guards-default-func.css create mode 100644 node_modules/less/test/css/mixins-guards.css create mode 100644 node_modules/less/test/css/mixins-important.css create mode 100644 node_modules/less/test/css/mixins-interpolated.css create mode 100644 node_modules/less/test/css/mixins-named-args.css create mode 100644 node_modules/less/test/css/mixins-nested.css create mode 100644 node_modules/less/test/css/mixins-pattern.css create mode 100644 node_modules/less/test/css/mixins.css create mode 100644 node_modules/less/test/css/modifyVars/extended.css create mode 100644 node_modules/less/test/css/no-output.css create mode 100644 node_modules/less/test/css/no-strict-math/mixins-guards.css create mode 100644 node_modules/less/test/css/no-strict-math/no-sm-operations.css create mode 100644 node_modules/less/test/css/operations.css create mode 100644 node_modules/less/test/css/parens.css create mode 100644 node_modules/less/test/css/plugin.css create mode 100644 node_modules/less/test/css/postProcessorPlugin/postProcessor.css create mode 100644 node_modules/less/test/css/preProcessorPlugin/preProcessor.css create mode 100644 node_modules/less/test/css/property-name-interp.css create mode 100644 node_modules/less/test/css/rulesets.css create mode 100644 node_modules/less/test/css/scope.css create mode 100644 node_modules/less/test/css/selectors.css create mode 100644 node_modules/less/test/css/static-urls/urls.css create mode 100644 node_modules/less/test/css/strict-units/strict-units.css create mode 100644 node_modules/less/test/css/strings.css create mode 100644 node_modules/less/test/css/url-args/urls.css create mode 100644 node_modules/less/test/css/urls.css create mode 100644 node_modules/less/test/css/variables-in-at-rules.css create mode 100644 node_modules/less/test/css/variables.css create mode 100644 node_modules/less/test/css/visitorPlugin/visitor.css create mode 100644 node_modules/less/test/css/whitespace.css create mode 100644 node_modules/less/test/data/data-uri-fail.png create mode 100644 node_modules/less/test/data/image.jpg create mode 100644 node_modules/less/test/data/image.svg create mode 100644 node_modules/less/test/data/page.html create mode 100644 node_modules/less/test/index.js create mode 100644 node_modules/less/test/less-bom/charsets.less create mode 100644 node_modules/less/test/less-bom/colors.less create mode 100644 node_modules/less/test/less-bom/comments.less create mode 100644 node_modules/less/test/less-bom/comments2.less create mode 100644 node_modules/less/test/less-bom/compression/compression.less create mode 100644 node_modules/less/test/less-bom/css-3.less create mode 100644 node_modules/less/test/less-bom/css-escapes.less create mode 100644 node_modules/less/test/less-bom/css-guards.less create mode 100644 node_modules/less/test/less-bom/css.less create mode 100644 node_modules/less/test/less-bom/debug/import/test.less create mode 100644 node_modules/less/test/less-bom/debug/linenumbers.less create mode 100644 node_modules/less/test/less-bom/detached-rulesets.less create mode 100644 node_modules/less/test/less-bom/directives-bubling.less create mode 100644 node_modules/less/test/less-bom/empty.less create mode 100644 node_modules/less/test/less-bom/errors/add-mixed-units.less create mode 100644 node_modules/less/test/less-bom/errors/add-mixed-units.txt create mode 100644 node_modules/less/test/less-bom/errors/add-mixed-units2.less create mode 100644 node_modules/less/test/less-bom/errors/add-mixed-units2.txt create mode 100644 node_modules/less/test/less-bom/errors/at-rules-undefined-var.less create mode 100644 node_modules/less/test/less-bom/errors/at-rules-undefined-var.txt create mode 100644 node_modules/less/test/less-bom/errors/bad-variable-declaration1.less create mode 100644 node_modules/less/test/less-bom/errors/bad-variable-declaration1.txt create mode 100644 node_modules/less/test/less-bom/errors/color-func-invalid-color.less create mode 100644 node_modules/less/test/less-bom/errors/color-func-invalid-color.txt create mode 100644 node_modules/less/test/less-bom/errors/color-invalid-hex-code.less create mode 100644 node_modules/less/test/less-bom/errors/color-invalid-hex-code.txt create mode 100644 node_modules/less/test/less-bom/errors/color-invalid-hex-code2.less create mode 100644 node_modules/less/test/less-bom/errors/color-invalid-hex-code2.txt create mode 100644 node_modules/less/test/less-bom/errors/css-guard-default-func.less create mode 100644 node_modules/less/test/less-bom/errors/css-guard-default-func.txt create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-1.less create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-1.txt create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-2.less create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-2.txt create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-3.less create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-3.txt create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-5.less create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-5.txt create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-6.less create mode 100644 node_modules/less/test/less-bom/errors/detached-ruleset-6.txt create mode 100644 node_modules/less/test/less-bom/errors/divide-mixed-units.less create mode 100644 node_modules/less/test/less-bom/errors/divide-mixed-units.txt create mode 100644 node_modules/less/test/less-bom/errors/extend-no-selector.less create mode 100644 node_modules/less/test/less-bom/errors/extend-no-selector.txt create mode 100644 node_modules/less/test/less-bom/errors/extend-not-at-end.less create mode 100644 node_modules/less/test/less-bom/errors/extend-not-at-end.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-1.less create mode 100644 node_modules/less/test/less-bom/errors/functions-1.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-10-keyword.less create mode 100644 node_modules/less/test/less-bom/errors/functions-10-keyword.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-11-operation.less create mode 100644 node_modules/less/test/less-bom/errors/functions-11-operation.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-12-quoted.less create mode 100644 node_modules/less/test/less-bom/errors/functions-12-quoted.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-13-selector.less create mode 100644 node_modules/less/test/less-bom/errors/functions-13-selector.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-14-url.less create mode 100644 node_modules/less/test/less-bom/errors/functions-14-url.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-15-value.less create mode 100644 node_modules/less/test/less-bom/errors/functions-15-value.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-2-alpha.less create mode 100644 node_modules/less/test/less-bom/errors/functions-2-alpha.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-3-assignment.less create mode 100644 node_modules/less/test/less-bom/errors/functions-3-assignment.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-4-call.less create mode 100644 node_modules/less/test/less-bom/errors/functions-4-call.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-5-color-2.less create mode 100644 node_modules/less/test/less-bom/errors/functions-5-color-2.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-5-color.less create mode 100644 node_modules/less/test/less-bom/errors/functions-5-color.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-6-condition.less create mode 100644 node_modules/less/test/less-bom/errors/functions-6-condition.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-7-dimension.less create mode 100644 node_modules/less/test/less-bom/errors/functions-7-dimension.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-8-element.less create mode 100644 node_modules/less/test/less-bom/errors/functions-8-element.txt create mode 100644 node_modules/less/test/less-bom/errors/functions-9-expression.less create mode 100644 node_modules/less/test/less-bom/errors/functions-9-expression.txt create mode 100644 node_modules/less/test/less-bom/errors/import-malformed.less create mode 100644 node_modules/less/test/less-bom/errors/import-malformed.txt create mode 100644 node_modules/less/test/less-bom/errors/import-missing.less create mode 100644 node_modules/less/test/less-bom/errors/import-missing.txt create mode 100644 node_modules/less/test/less-bom/errors/import-no-semi.less create mode 100644 node_modules/less/test/less-bom/errors/import-no-semi.txt create mode 100644 node_modules/less/test/less-bom/errors/import-subfolder1.less create mode 100644 node_modules/less/test/less-bom/errors/import-subfolder1.txt create mode 100644 node_modules/less/test/less-bom/errors/import-subfolder2.less create mode 100644 node_modules/less/test/less-bom/errors/import-subfolder2.txt create mode 100644 node_modules/less/test/less-bom/errors/imports/import-subfolder1.less create mode 100644 node_modules/less/test/less-bom/errors/imports/import-subfolder2.less create mode 100644 node_modules/less/test/less-bom/errors/imports/import-test.less create mode 100644 node_modules/less/test/less-bom/errors/imports/subfolder/mixin-not-defined.less create mode 100644 node_modules/less/test/less-bom/errors/imports/subfolder/parse-error-curly-bracket.less create mode 100644 node_modules/less/test/less-bom/errors/javascript-error.less create mode 100644 node_modules/less/test/less-bom/errors/javascript-error.txt create mode 100644 node_modules/less/test/less-bom/errors/javascript-undefined-var.less create mode 100644 node_modules/less/test/less-bom/errors/javascript-undefined-var.txt create mode 100644 node_modules/less/test/less-bom/errors/mixed-mixin-definition-args-1.less create mode 100644 node_modules/less/test/less-bom/errors/mixed-mixin-definition-args-1.txt create mode 100644 node_modules/less/test/less-bom/errors/mixed-mixin-definition-args-2.less create mode 100644 node_modules/less/test/less-bom/errors/mixed-mixin-definition-args-2.txt create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-defined.less create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-defined.txt create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-matched.less create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-matched.txt create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-matched2.less create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-matched2.txt create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-visible-in-scope-1.less create mode 100644 node_modules/less/test/less-bom/errors/mixin-not-visible-in-scope-1.txt create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-1.less create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-1.txt create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-2.less create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-2.txt create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-3.less create mode 100644 node_modules/less/test/less-bom/errors/mixins-guards-default-func-3.txt create mode 100644 node_modules/less/test/less-bom/errors/multiple-guards-on-css-selectors.less create mode 100644 node_modules/less/test/less-bom/errors/multiple-guards-on-css-selectors.txt create mode 100644 node_modules/less/test/less-bom/errors/multiple-guards-on-css-selectors2.less create mode 100644 node_modules/less/test/less-bom/errors/multiple-guards-on-css-selectors2.txt create mode 100644 node_modules/less/test/less-bom/errors/multiply-mixed-units.less create mode 100644 node_modules/less/test/less-bom/errors/multiply-mixed-units.txt create mode 100644 node_modules/less/test/less-bom/errors/parens-error-1.less create mode 100644 node_modules/less/test/less-bom/errors/parens-error-1.txt create mode 100644 node_modules/less/test/less-bom/errors/parens-error-2.less create mode 100644 node_modules/less/test/less-bom/errors/parens-error-2.txt create mode 100644 node_modules/less/test/less-bom/errors/parens-error-3.less create mode 100644 node_modules/less/test/less-bom/errors/parens-error-3.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-curly-bracket.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-curly-bracket.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-1.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-1.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-2.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-2.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-3.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-media-no-block-3.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-missing-bracket.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-missing-bracket.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-missing-parens.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-missing-parens.txt create mode 100644 node_modules/less/test/less-bom/errors/parse-error-with-import.less create mode 100644 node_modules/less/test/less-bom/errors/parse-error-with-import.txt create mode 100644 node_modules/less/test/less-bom/errors/percentage-missing-space.less create mode 100644 node_modules/less/test/less-bom/errors/percentage-missing-space.txt create mode 100644 node_modules/less/test/less-bom/errors/percentage-non-number-argument.less create mode 100644 node_modules/less/test/less-bom/errors/percentage-non-number-argument.txt create mode 100644 node_modules/less/test/less-bom/errors/property-asterisk-only-name.less create mode 100644 node_modules/less/test/less-bom/errors/property-asterisk-only-name.txt create mode 100644 node_modules/less/test/less-bom/errors/property-ie5-hack.less create mode 100644 node_modules/less/test/less-bom/errors/property-ie5-hack.txt create mode 100644 node_modules/less/test/less-bom/errors/property-in-root.less create mode 100644 node_modules/less/test/less-bom/errors/property-in-root.txt create mode 100644 node_modules/less/test/less-bom/errors/property-in-root2.less create mode 100644 node_modules/less/test/less-bom/errors/property-in-root2.txt create mode 100644 node_modules/less/test/less-bom/errors/property-in-root3.less create mode 100644 node_modules/less/test/less-bom/errors/property-in-root3.txt create mode 100644 node_modules/less/test/less-bom/errors/property-interp-not-defined.less create mode 100644 node_modules/less/test/less-bom/errors/property-interp-not-defined.txt create mode 100644 node_modules/less/test/less-bom/errors/recursive-variable.less create mode 100644 node_modules/less/test/less-bom/errors/recursive-variable.txt create mode 100644 node_modules/less/test/less-bom/errors/root-func-undefined-1.less create mode 100644 node_modules/less/test/less-bom/errors/root-func-undefined-1.txt create mode 100644 node_modules/less/test/less-bom/errors/root-func-undefined-2.less create mode 100644 node_modules/less/test/less-bom/errors/root-func-undefined-2.txt create mode 100644 node_modules/less/test/less-bom/errors/single-character.less create mode 100644 node_modules/less/test/less-bom/errors/single-character.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient1.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient1.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient2.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient2.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient3.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient3.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient4.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient4.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient5.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient5.txt create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient6.less create mode 100644 node_modules/less/test/less-bom/errors/svg-gradient6.txt create mode 100644 node_modules/less/test/less-bom/errors/unit-function.less create mode 100644 node_modules/less/test/less-bom/errors/unit-function.txt create mode 100644 node_modules/less/test/less-bom/extend-chaining.less create mode 100644 node_modules/less/test/less-bom/extend-clearfix.less create mode 100644 node_modules/less/test/less-bom/extend-exact.less create mode 100644 node_modules/less/test/less-bom/extend-media.less create mode 100644 node_modules/less/test/less-bom/extend-nest.less create mode 100644 node_modules/less/test/less-bom/extend-selector.less create mode 100644 node_modules/less/test/less-bom/extend.less create mode 100644 node_modules/less/test/less-bom/extract-and-length.less create mode 100644 node_modules/less/test/less-bom/filemanagerPlugin/colors.test create mode 100644 node_modules/less/test/less-bom/filemanagerPlugin/filemanager.less create mode 100644 node_modules/less/test/less-bom/functions.less create mode 100644 node_modules/less/test/less-bom/globalVars/extended.json create mode 100644 node_modules/less/test/less-bom/globalVars/extended.less create mode 100644 node_modules/less/test/less-bom/globalVars/simple.json create mode 100644 node_modules/less/test/less-bom/globalVars/simple.less create mode 100644 node_modules/less/test/less-bom/ie-filters.less create mode 100644 node_modules/less/test/less-bom/import-inline.less create mode 100644 node_modules/less/test/less-bom/import-interpolation.less create mode 100644 node_modules/less/test/less-bom/import-once.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/appender-reference-1968.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/global-scope-import.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/global-scope-nested.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/mixin-1968.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/multiple-import-nested.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/multiple-import.less create mode 100644 node_modules/less/test/less-bom/import-reference-issues/simple-mixin.css create mode 100644 node_modules/less/test/less-bom/import-reference-issues/simple-ruleset-2162.less create mode 100644 node_modules/less/test/less-bom/import-reference.less create mode 100644 node_modules/less/test/less-bom/import.less create mode 100644 node_modules/less/test/less-bom/import/css-import.less create mode 100644 node_modules/less/test/less-bom/import/deeper/deeper-2/url-import-2.less create mode 100644 node_modules/less/test/less-bom/import/deeper/deeper-2/url-import.less create mode 100644 node_modules/less/test/less-bom/import/deeper/import-once-test-a.less create mode 100644 node_modules/less/test/less-bom/import/deeper/url-import.less create mode 100644 node_modules/less/test/less-bom/import/import-and-relative-paths-test.less create mode 100644 node_modules/less/test/less-bom/import/import-charset-test.less create mode 100644 node_modules/less/test/less-bom/import/import-inline-invalid-css.less create mode 100644 node_modules/less/test/less-bom/import/import-interpolation.less create mode 100644 node_modules/less/test/less-bom/import/import-interpolation2.less create mode 100644 node_modules/less/test/less-bom/import/import-once-test-c.less create mode 100644 node_modules/less/test/less-bom/import/import-reference.less create mode 100644 node_modules/less/test/less-bom/import/import-test-a.less create mode 100644 node_modules/less/test/less-bom/import/import-test-b.less create mode 100644 node_modules/less/test/less-bom/import/import-test-c.less create mode 100644 node_modules/less/test/less-bom/import/import-test-d.css create mode 100644 node_modules/less/test/less-bom/import/import-test-e.less create mode 100644 node_modules/less/test/less-bom/import/import-test-f.less create mode 100644 node_modules/less/test/less-bom/import/imports/font.less create mode 100644 node_modules/less/test/less-bom/import/imports/logo.less create mode 100644 node_modules/less/test/less-bom/import/interpolation-vars.less create mode 100644 node_modules/less/test/less-bom/import/invalid-css.less create mode 100644 node_modules/less/test/less-bom/import/urls.less create mode 100644 node_modules/less/test/less-bom/include-path-string/include-path-string.less create mode 100644 node_modules/less/test/less-bom/include-path/include-path.less create mode 100644 node_modules/less/test/less-bom/javascript.less create mode 100644 node_modules/less/test/less-bom/lazy-eval.less create mode 100644 node_modules/less/test/less-bom/legacy/legacy.less create mode 100644 node_modules/less/test/less-bom/media.less create mode 100644 node_modules/less/test/less-bom/merge.less create mode 100644 node_modules/less/test/less-bom/mixins-args.less create mode 100644 node_modules/less/test/less-bom/mixins-closure.less create mode 100644 node_modules/less/test/less-bom/mixins-guards-default-func.less create mode 100644 node_modules/less/test/less-bom/mixins-guards.less create mode 100644 node_modules/less/test/less-bom/mixins-important.less create mode 100644 node_modules/less/test/less-bom/mixins-interpolated.less create mode 100644 node_modules/less/test/less-bom/mixins-named-args.less create mode 100644 node_modules/less/test/less-bom/mixins-nested.less create mode 100644 node_modules/less/test/less-bom/mixins-pattern.less create mode 100644 node_modules/less/test/less-bom/mixins.less create mode 100644 node_modules/less/test/less-bom/modifyVars/extended.json create mode 100644 node_modules/less/test/less-bom/modifyVars/extended.less create mode 100644 node_modules/less/test/less-bom/nested-gradient-with-svg-gradient/mixin-consumer.less create mode 100644 node_modules/less/test/less-bom/nested-gradient-with-svg-gradient/svg-gradient-mixin.less create mode 100644 node_modules/less/test/less-bom/no-js-errors/no-js-errors.less create mode 100644 node_modules/less/test/less-bom/no-js-errors/no-js-errors.txt create mode 100644 node_modules/less/test/less-bom/no-output.less create mode 100644 node_modules/less/test/less-bom/no-strict-math/mixins-guards.less create mode 100644 node_modules/less/test/less-bom/no-strict-math/no-sm-operations.less create mode 100644 node_modules/less/test/less-bom/operations.less create mode 100644 node_modules/less/test/less-bom/parens.less create mode 100644 node_modules/less/test/less-bom/plugin.less create mode 100644 node_modules/less/test/less-bom/plugin/plugin-global.js create mode 100644 node_modules/less/test/less-bom/plugin/plugin-local.js create mode 100644 node_modules/less/test/less-bom/plugin/plugin-transitive.js create mode 100644 node_modules/less/test/less-bom/plugin/plugin-transitive.less create mode 100644 node_modules/less/test/less-bom/plugin/plugin-tree-nodes.js create mode 100644 node_modules/less/test/less-bom/postProcessorPlugin/postProcessor.less create mode 100644 node_modules/less/test/less-bom/preProcessorPlugin/preProcessor.less create mode 100644 node_modules/less/test/less-bom/property-name-interp.less create mode 100644 node_modules/less/test/less-bom/rulesets.less create mode 100644 node_modules/less/test/less-bom/scope.less create mode 100644 node_modules/less/test/less-bom/selectors.less create mode 100644 node_modules/less/test/less-bom/sourcemaps-empty/empty.less create mode 100644 node_modules/less/test/less-bom/sourcemaps-empty/var-defs.less create mode 100644 node_modules/less/test/less-bom/sourcemaps/basic.json create mode 100644 node_modules/less/test/less-bom/sourcemaps/basic.less create mode 100644 node_modules/less/test/less-bom/sourcemaps/imported.css create mode 100644 node_modules/less/test/less-bom/static-urls/urls.less create mode 100644 node_modules/less/test/less-bom/strict-units/strict-units.less create mode 100644 node_modules/less/test/less-bom/strings.less create mode 100644 node_modules/less/test/less-bom/url-args/urls.less create mode 100644 node_modules/less/test/less-bom/urls.less create mode 100644 node_modules/less/test/less-bom/variables-in-at-rules.less create mode 100644 node_modules/less/test/less-bom/variables.less create mode 100644 node_modules/less/test/less-bom/visitorPlugin/visitor.less create mode 100644 node_modules/less/test/less-bom/whitespace.less create mode 100644 node_modules/less/test/less-test.js create mode 100644 node_modules/less/test/less/charsets.less create mode 100644 node_modules/less/test/less/colors.less create mode 100644 node_modules/less/test/less/comments.less create mode 100644 node_modules/less/test/less/comments2.less create mode 100644 node_modules/less/test/less/compression/compression.less create mode 100644 node_modules/less/test/less/css-3.less create mode 100644 node_modules/less/test/less/css-escapes.less create mode 100644 node_modules/less/test/less/css-guards.less create mode 100644 node_modules/less/test/less/css.less create mode 100644 node_modules/less/test/less/debug/import/test.less create mode 100644 node_modules/less/test/less/debug/linenumbers.less create mode 100644 node_modules/less/test/less/detached-rulesets.less create mode 100644 node_modules/less/test/less/directives-bubling.less create mode 100644 node_modules/less/test/less/empty.less create mode 100644 node_modules/less/test/less/errors/add-mixed-units.less create mode 100644 node_modules/less/test/less/errors/add-mixed-units.txt create mode 100644 node_modules/less/test/less/errors/add-mixed-units2.less create mode 100644 node_modules/less/test/less/errors/add-mixed-units2.txt create mode 100644 node_modules/less/test/less/errors/at-rules-undefined-var.less create mode 100644 node_modules/less/test/less/errors/at-rules-undefined-var.txt create mode 100644 node_modules/less/test/less/errors/bad-variable-declaration1.less create mode 100644 node_modules/less/test/less/errors/bad-variable-declaration1.txt create mode 100644 node_modules/less/test/less/errors/color-func-invalid-color.less create mode 100644 node_modules/less/test/less/errors/color-func-invalid-color.txt create mode 100644 node_modules/less/test/less/errors/color-invalid-hex-code.less create mode 100644 node_modules/less/test/less/errors/color-invalid-hex-code.txt create mode 100644 node_modules/less/test/less/errors/color-invalid-hex-code2.less create mode 100644 node_modules/less/test/less/errors/color-invalid-hex-code2.txt create mode 100644 node_modules/less/test/less/errors/css-guard-default-func.less create mode 100644 node_modules/less/test/less/errors/css-guard-default-func.txt create mode 100644 node_modules/less/test/less/errors/detached-ruleset-1.less create mode 100644 node_modules/less/test/less/errors/detached-ruleset-1.txt create mode 100644 node_modules/less/test/less/errors/detached-ruleset-2.less create mode 100644 node_modules/less/test/less/errors/detached-ruleset-2.txt create mode 100644 node_modules/less/test/less/errors/detached-ruleset-3.less create mode 100644 node_modules/less/test/less/errors/detached-ruleset-3.txt create mode 100644 node_modules/less/test/less/errors/detached-ruleset-5.less create mode 100644 node_modules/less/test/less/errors/detached-ruleset-5.txt create mode 100644 node_modules/less/test/less/errors/detached-ruleset-6.less create mode 100644 node_modules/less/test/less/errors/detached-ruleset-6.txt create mode 100644 node_modules/less/test/less/errors/divide-mixed-units.less create mode 100644 node_modules/less/test/less/errors/divide-mixed-units.txt create mode 100644 node_modules/less/test/less/errors/extend-no-selector.less create mode 100644 node_modules/less/test/less/errors/extend-no-selector.txt create mode 100644 node_modules/less/test/less/errors/extend-not-at-end.less create mode 100644 node_modules/less/test/less/errors/extend-not-at-end.txt create mode 100644 node_modules/less/test/less/errors/functions-1.less create mode 100644 node_modules/less/test/less/errors/functions-1.txt create mode 100644 node_modules/less/test/less/errors/functions-10-keyword.less create mode 100644 node_modules/less/test/less/errors/functions-10-keyword.txt create mode 100644 node_modules/less/test/less/errors/functions-11-operation.less create mode 100644 node_modules/less/test/less/errors/functions-11-operation.txt create mode 100644 node_modules/less/test/less/errors/functions-12-quoted.less create mode 100644 node_modules/less/test/less/errors/functions-12-quoted.txt create mode 100644 node_modules/less/test/less/errors/functions-13-selector.less create mode 100644 node_modules/less/test/less/errors/functions-13-selector.txt create mode 100644 node_modules/less/test/less/errors/functions-14-url.less create mode 100644 node_modules/less/test/less/errors/functions-14-url.txt create mode 100644 node_modules/less/test/less/errors/functions-15-value.less create mode 100644 node_modules/less/test/less/errors/functions-15-value.txt create mode 100644 node_modules/less/test/less/errors/functions-2-alpha.less create mode 100644 node_modules/less/test/less/errors/functions-2-alpha.txt create mode 100644 node_modules/less/test/less/errors/functions-3-assignment.less create mode 100644 node_modules/less/test/less/errors/functions-3-assignment.txt create mode 100644 node_modules/less/test/less/errors/functions-4-call.less create mode 100644 node_modules/less/test/less/errors/functions-4-call.txt create mode 100644 node_modules/less/test/less/errors/functions-5-color-2.less create mode 100644 node_modules/less/test/less/errors/functions-5-color-2.txt create mode 100644 node_modules/less/test/less/errors/functions-5-color.less create mode 100644 node_modules/less/test/less/errors/functions-5-color.txt create mode 100644 node_modules/less/test/less/errors/functions-6-condition.less create mode 100644 node_modules/less/test/less/errors/functions-6-condition.txt create mode 100644 node_modules/less/test/less/errors/functions-7-dimension.less create mode 100644 node_modules/less/test/less/errors/functions-7-dimension.txt create mode 100644 node_modules/less/test/less/errors/functions-8-element.less create mode 100644 node_modules/less/test/less/errors/functions-8-element.txt create mode 100644 node_modules/less/test/less/errors/functions-9-expression.less create mode 100644 node_modules/less/test/less/errors/functions-9-expression.txt create mode 100644 node_modules/less/test/less/errors/import-malformed.less create mode 100644 node_modules/less/test/less/errors/import-malformed.txt create mode 100644 node_modules/less/test/less/errors/import-missing.less create mode 100644 node_modules/less/test/less/errors/import-missing.txt create mode 100644 node_modules/less/test/less/errors/import-no-semi.less create mode 100644 node_modules/less/test/less/errors/import-no-semi.txt create mode 100644 node_modules/less/test/less/errors/import-subfolder1.less create mode 100644 node_modules/less/test/less/errors/import-subfolder1.txt create mode 100644 node_modules/less/test/less/errors/import-subfolder2.less create mode 100644 node_modules/less/test/less/errors/import-subfolder2.txt create mode 100644 node_modules/less/test/less/errors/imports/import-subfolder1.less create mode 100644 node_modules/less/test/less/errors/imports/import-subfolder2.less create mode 100644 node_modules/less/test/less/errors/imports/import-test.less create mode 100644 node_modules/less/test/less/errors/imports/subfolder/mixin-not-defined.less create mode 100644 node_modules/less/test/less/errors/imports/subfolder/parse-error-curly-bracket.less create mode 100644 node_modules/less/test/less/errors/javascript-error.less create mode 100644 node_modules/less/test/less/errors/javascript-error.txt create mode 100644 node_modules/less/test/less/errors/javascript-undefined-var.less create mode 100644 node_modules/less/test/less/errors/javascript-undefined-var.txt create mode 100644 node_modules/less/test/less/errors/mixed-mixin-definition-args-1.less create mode 100644 node_modules/less/test/less/errors/mixed-mixin-definition-args-1.txt create mode 100644 node_modules/less/test/less/errors/mixed-mixin-definition-args-2.less create mode 100644 node_modules/less/test/less/errors/mixed-mixin-definition-args-2.txt create mode 100644 node_modules/less/test/less/errors/mixin-not-defined.less create mode 100644 node_modules/less/test/less/errors/mixin-not-defined.txt create mode 100644 node_modules/less/test/less/errors/mixin-not-matched.less create mode 100644 node_modules/less/test/less/errors/mixin-not-matched.txt create mode 100644 node_modules/less/test/less/errors/mixin-not-matched2.less create mode 100644 node_modules/less/test/less/errors/mixin-not-matched2.txt create mode 100644 node_modules/less/test/less/errors/mixin-not-visible-in-scope-1.less create mode 100644 node_modules/less/test/less/errors/mixin-not-visible-in-scope-1.txt create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-1.less create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-1.txt create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-2.less create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-2.txt create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-3.less create mode 100644 node_modules/less/test/less/errors/mixins-guards-default-func-3.txt create mode 100644 node_modules/less/test/less/errors/multiple-guards-on-css-selectors.less create mode 100644 node_modules/less/test/less/errors/multiple-guards-on-css-selectors.txt create mode 100644 node_modules/less/test/less/errors/multiple-guards-on-css-selectors2.less create mode 100644 node_modules/less/test/less/errors/multiple-guards-on-css-selectors2.txt create mode 100644 node_modules/less/test/less/errors/multiply-mixed-units.less create mode 100644 node_modules/less/test/less/errors/multiply-mixed-units.txt create mode 100644 node_modules/less/test/less/errors/parens-error-1.less create mode 100644 node_modules/less/test/less/errors/parens-error-1.txt create mode 100644 node_modules/less/test/less/errors/parens-error-2.less create mode 100644 node_modules/less/test/less/errors/parens-error-2.txt create mode 100644 node_modules/less/test/less/errors/parens-error-3.less create mode 100644 node_modules/less/test/less/errors/parens-error-3.txt create mode 100644 node_modules/less/test/less/errors/parse-error-curly-bracket.less create mode 100644 node_modules/less/test/less/errors/parse-error-curly-bracket.txt create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-1.less create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-1.txt create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-2.less create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-2.txt create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-3.less create mode 100644 node_modules/less/test/less/errors/parse-error-media-no-block-3.txt create mode 100644 node_modules/less/test/less/errors/parse-error-missing-bracket.less create mode 100644 node_modules/less/test/less/errors/parse-error-missing-bracket.txt create mode 100644 node_modules/less/test/less/errors/parse-error-missing-parens.less create mode 100644 node_modules/less/test/less/errors/parse-error-missing-parens.txt create mode 100644 node_modules/less/test/less/errors/parse-error-with-import.less create mode 100644 node_modules/less/test/less/errors/parse-error-with-import.txt create mode 100644 node_modules/less/test/less/errors/percentage-missing-space.less create mode 100644 node_modules/less/test/less/errors/percentage-missing-space.txt create mode 100644 node_modules/less/test/less/errors/percentage-non-number-argument.less create mode 100644 node_modules/less/test/less/errors/percentage-non-number-argument.txt create mode 100644 node_modules/less/test/less/errors/property-asterisk-only-name.less create mode 100644 node_modules/less/test/less/errors/property-asterisk-only-name.txt create mode 100644 node_modules/less/test/less/errors/property-ie5-hack.less create mode 100644 node_modules/less/test/less/errors/property-ie5-hack.txt create mode 100644 node_modules/less/test/less/errors/property-in-root.less create mode 100644 node_modules/less/test/less/errors/property-in-root.txt create mode 100644 node_modules/less/test/less/errors/property-in-root2.less create mode 100644 node_modules/less/test/less/errors/property-in-root2.txt create mode 100644 node_modules/less/test/less/errors/property-in-root3.less create mode 100644 node_modules/less/test/less/errors/property-in-root3.txt create mode 100644 node_modules/less/test/less/errors/property-interp-not-defined.less create mode 100644 node_modules/less/test/less/errors/property-interp-not-defined.txt create mode 100644 node_modules/less/test/less/errors/recursive-variable.less create mode 100644 node_modules/less/test/less/errors/recursive-variable.txt create mode 100644 node_modules/less/test/less/errors/root-func-undefined-1.less create mode 100644 node_modules/less/test/less/errors/root-func-undefined-1.txt create mode 100644 node_modules/less/test/less/errors/root-func-undefined-2.less create mode 100644 node_modules/less/test/less/errors/root-func-undefined-2.txt create mode 100644 node_modules/less/test/less/errors/single-character.less create mode 100644 node_modules/less/test/less/errors/single-character.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient1.less create mode 100644 node_modules/less/test/less/errors/svg-gradient1.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient2.less create mode 100644 node_modules/less/test/less/errors/svg-gradient2.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient3.less create mode 100644 node_modules/less/test/less/errors/svg-gradient3.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient4.less create mode 100644 node_modules/less/test/less/errors/svg-gradient4.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient5.less create mode 100644 node_modules/less/test/less/errors/svg-gradient5.txt create mode 100644 node_modules/less/test/less/errors/svg-gradient6.less create mode 100644 node_modules/less/test/less/errors/svg-gradient6.txt create mode 100644 node_modules/less/test/less/errors/unit-function.less create mode 100644 node_modules/less/test/less/errors/unit-function.txt create mode 100644 node_modules/less/test/less/extend-chaining.less create mode 100644 node_modules/less/test/less/extend-clearfix.less create mode 100644 node_modules/less/test/less/extend-exact.less create mode 100644 node_modules/less/test/less/extend-media.less create mode 100644 node_modules/less/test/less/extend-nest.less create mode 100644 node_modules/less/test/less/extend-selector.less create mode 100644 node_modules/less/test/less/extend.less create mode 100644 node_modules/less/test/less/extract-and-length.less create mode 100644 node_modules/less/test/less/filemanagerPlugin/colors.test create mode 100644 node_modules/less/test/less/filemanagerPlugin/filemanager.less create mode 100644 node_modules/less/test/less/functions.less create mode 100644 node_modules/less/test/less/globalVars/extended.json create mode 100644 node_modules/less/test/less/globalVars/extended.less create mode 100644 node_modules/less/test/less/globalVars/simple.json create mode 100644 node_modules/less/test/less/globalVars/simple.less create mode 100644 node_modules/less/test/less/ie-filters.less create mode 100644 node_modules/less/test/less/import-inline.less create mode 100644 node_modules/less/test/less/import-interpolation.less create mode 100644 node_modules/less/test/less/import-once.less create mode 100644 node_modules/less/test/less/import-reference-issues.less create mode 100644 node_modules/less/test/less/import-reference-issues/appender-reference-1968.less create mode 100644 node_modules/less/test/less/import-reference-issues/global-scope-import.less create mode 100644 node_modules/less/test/less/import-reference-issues/global-scope-nested.less create mode 100644 node_modules/less/test/less/import-reference-issues/mixin-1968.less create mode 100644 node_modules/less/test/less/import-reference-issues/multiple-import-nested.less create mode 100644 node_modules/less/test/less/import-reference-issues/multiple-import.less create mode 100644 node_modules/less/test/less/import-reference-issues/simple-mixin.css create mode 100644 node_modules/less/test/less/import-reference-issues/simple-ruleset-2162.less create mode 100644 node_modules/less/test/less/import-reference.less create mode 100644 node_modules/less/test/less/import.less create mode 100644 node_modules/less/test/less/import/css-import.less create mode 100644 node_modules/less/test/less/import/deeper/deeper-2/url-import-2.less create mode 100644 node_modules/less/test/less/import/deeper/deeper-2/url-import.less create mode 100644 node_modules/less/test/less/import/deeper/import-once-test-a.less create mode 100644 node_modules/less/test/less/import/deeper/url-import.less create mode 100644 node_modules/less/test/less/import/import-and-relative-paths-test.less create mode 100644 node_modules/less/test/less/import/import-charset-test.less create mode 100644 node_modules/less/test/less/import/import-inline-invalid-css.less create mode 100644 node_modules/less/test/less/import/import-interpolation.less create mode 100644 node_modules/less/test/less/import/import-interpolation2.less create mode 100644 node_modules/less/test/less/import/import-once-test-c.less create mode 100644 node_modules/less/test/less/import/import-reference.less create mode 100644 node_modules/less/test/less/import/import-test-a.less create mode 100644 node_modules/less/test/less/import/import-test-b.less create mode 100644 node_modules/less/test/less/import/import-test-c.less create mode 100644 node_modules/less/test/less/import/import-test-d.css create mode 100644 node_modules/less/test/less/import/import-test-e.less create mode 100644 node_modules/less/test/less/import/import-test-f.less create mode 100644 node_modules/less/test/less/import/imports/font.less create mode 100644 node_modules/less/test/less/import/imports/logo.less create mode 100644 node_modules/less/test/less/import/interpolation-vars.less create mode 100644 node_modules/less/test/less/import/invalid-css.less create mode 100644 node_modules/less/test/less/import/urls.less create mode 100644 node_modules/less/test/less/include-path-string/include-path-string.less create mode 100644 node_modules/less/test/less/include-path/include-path.less create mode 100644 node_modules/less/test/less/javascript.less create mode 100644 node_modules/less/test/less/lazy-eval.less create mode 100644 node_modules/less/test/less/legacy/legacy.less create mode 100644 node_modules/less/test/less/media.less create mode 100644 node_modules/less/test/less/merge.less create mode 100644 node_modules/less/test/less/mixins-args.less create mode 100644 node_modules/less/test/less/mixins-closure.less create mode 100644 node_modules/less/test/less/mixins-guards-default-func.less create mode 100644 node_modules/less/test/less/mixins-guards.less create mode 100644 node_modules/less/test/less/mixins-important.less create mode 100644 node_modules/less/test/less/mixins-interpolated.less create mode 100644 node_modules/less/test/less/mixins-named-args.less create mode 100644 node_modules/less/test/less/mixins-nested.less create mode 100644 node_modules/less/test/less/mixins-pattern.less create mode 100644 node_modules/less/test/less/mixins.less create mode 100644 node_modules/less/test/less/modifyVars/extended.json create mode 100644 node_modules/less/test/less/modifyVars/extended.less create mode 100644 node_modules/less/test/less/nested-gradient-with-svg-gradient/mixin-consumer.less create mode 100644 node_modules/less/test/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less create mode 100644 node_modules/less/test/less/no-js-errors/no-js-errors.less create mode 100644 node_modules/less/test/less/no-js-errors/no-js-errors.txt create mode 100644 node_modules/less/test/less/no-output.less create mode 100644 node_modules/less/test/less/no-strict-math/mixins-guards.less create mode 100644 node_modules/less/test/less/no-strict-math/no-sm-operations.less create mode 100644 node_modules/less/test/less/operations.less create mode 100644 node_modules/less/test/less/parens.less create mode 100644 node_modules/less/test/less/plugin.less create mode 100644 node_modules/less/test/less/plugin/plugin-global.js create mode 100644 node_modules/less/test/less/plugin/plugin-local.js create mode 100644 node_modules/less/test/less/plugin/plugin-transitive.js create mode 100644 node_modules/less/test/less/plugin/plugin-transitive.less create mode 100644 node_modules/less/test/less/plugin/plugin-tree-nodes.js create mode 100644 node_modules/less/test/less/postProcessorPlugin/postProcessor.less create mode 100644 node_modules/less/test/less/preProcessorPlugin/preProcessor.less create mode 100644 node_modules/less/test/less/property-name-interp.less create mode 100644 node_modules/less/test/less/rulesets.less create mode 100644 node_modules/less/test/less/scope.less create mode 100644 node_modules/less/test/less/selectors.less create mode 100644 node_modules/less/test/less/sourcemaps-empty/empty.less create mode 100644 node_modules/less/test/less/sourcemaps-empty/var-defs.less create mode 100644 node_modules/less/test/less/sourcemaps/basic.json create mode 100644 node_modules/less/test/less/sourcemaps/basic.less create mode 100644 node_modules/less/test/less/sourcemaps/imported.css create mode 100644 node_modules/less/test/less/static-urls/urls.less create mode 100644 node_modules/less/test/less/strict-units/strict-units.less create mode 100644 node_modules/less/test/less/strings.less create mode 100644 node_modules/less/test/less/url-args/urls.less create mode 100644 node_modules/less/test/less/urls.less create mode 100644 node_modules/less/test/less/variables-in-at-rules.less create mode 100644 node_modules/less/test/less/variables.less create mode 100644 node_modules/less/test/less/visitorPlugin/visitor.less create mode 100644 node_modules/less/test/less/whitespace.less create mode 100644 node_modules/less/test/modify-vars.js create mode 100644 node_modules/less/test/plugins/filemanager/index.js create mode 100644 node_modules/less/test/plugins/postprocess/index.js create mode 100644 node_modules/less/test/plugins/preprocess/index.js create mode 100644 node_modules/less/test/plugins/visitor/index.js create mode 100644 node_modules/less/test/rhino/test-header.js create mode 100644 node_modules/less/test/sourcemaps/basic.json create mode 100644 node_modules/less/test/sourcemaps/index.html create mode 100644 node_modules/longest/LICENSE create mode 100644 node_modules/longest/README.md create mode 100644 node_modules/longest/index.js create mode 100644 node_modules/longest/package.json create mode 100644 node_modules/mime-db/HISTORY.md create mode 100644 node_modules/mime-db/LICENSE create mode 100644 node_modules/mime-db/README.md create mode 100644 node_modules/mime-db/db.json create mode 100644 node_modules/mime-db/index.js create mode 100644 node_modules/mime-db/package.json create mode 100644 node_modules/mime-types/HISTORY.md create mode 100644 node_modules/mime-types/LICENSE create mode 100644 node_modules/mime-types/README.md create mode 100644 node_modules/mime-types/index.js create mode 100644 node_modules/mime-types/package.json create mode 100644 node_modules/mime/.npmignore create mode 100644 node_modules/mime/CHANGELOG.md create mode 100644 node_modules/mime/LICENSE create mode 100644 node_modules/mime/README.md create mode 100644 node_modules/mime/cli.js create mode 100644 node_modules/mime/mime.js create mode 100644 node_modules/mime/package.json create mode 100644 node_modules/mime/src/build.js create mode 100644 node_modules/mime/src/test.js create mode 100644 node_modules/mime/types.json create mode 100644 node_modules/minimist/.travis.yml create mode 100644 node_modules/minimist/LICENSE create mode 100644 node_modules/minimist/example/parse.js create mode 100644 node_modules/minimist/index.js create mode 100644 node_modules/minimist/package.json create mode 100644 node_modules/minimist/readme.markdown create mode 100644 node_modules/minimist/test/dash.js create mode 100644 node_modules/minimist/test/default_bool.js create mode 100644 node_modules/minimist/test/dotted.js create mode 100644 node_modules/minimist/test/long.js create mode 100644 node_modules/minimist/test/parse.js create mode 100644 node_modules/minimist/test/parse_modified.js create mode 100644 node_modules/minimist/test/short.js create mode 100644 node_modules/minimist/test/whitespace.js create mode 100644 node_modules/mkdirp/.travis.yml create mode 100644 node_modules/mkdirp/LICENSE create mode 100644 node_modules/mkdirp/bin/cmd.js create mode 100644 node_modules/mkdirp/bin/usage.txt create mode 100644 node_modules/mkdirp/examples/pow.js create mode 100644 node_modules/mkdirp/index.js create mode 100644 node_modules/mkdirp/package.json create mode 100644 node_modules/mkdirp/readme.markdown create mode 100644 node_modules/mkdirp/test/chmod.js create mode 100644 node_modules/mkdirp/test/clobber.js create mode 100644 node_modules/mkdirp/test/mkdirp.js create mode 100644 node_modules/mkdirp/test/opts_fs.js create mode 100644 node_modules/mkdirp/test/opts_fs_sync.js create mode 100644 node_modules/mkdirp/test/perm.js create mode 100644 node_modules/mkdirp/test/perm_sync.js create mode 100644 node_modules/mkdirp/test/race.js create mode 100644 node_modules/mkdirp/test/rel.js create mode 100644 node_modules/mkdirp/test/return.js create mode 100644 node_modules/mkdirp/test/return_sync.js create mode 100644 node_modules/mkdirp/test/root.js create mode 100644 node_modules/mkdirp/test/sync.js create mode 100644 node_modules/mkdirp/test/umask.js create mode 100644 node_modules/mkdirp/test/umask_sync.js create mode 100644 node_modules/oauth-sign/LICENSE create mode 100644 node_modules/oauth-sign/README.md create mode 100644 node_modules/oauth-sign/index.js create mode 100644 node_modules/oauth-sign/package.json create mode 100644 node_modules/object-assign/index.js create mode 100644 node_modules/object-assign/license create mode 100644 node_modules/object-assign/package.json create mode 100644 node_modules/object-assign/readme.md create mode 100644 node_modules/path-parse/.travis.yml create mode 100644 node_modules/path-parse/README.md create mode 100644 node_modules/path-parse/index.js create mode 100644 node_modules/path-parse/index.min.js create mode 100644 node_modules/path-parse/package.json create mode 100644 node_modules/path-parse/test.js create mode 100644 node_modules/path-parse/test.min.js create mode 100644 node_modules/performance-now/.npmignore create mode 100644 node_modules/performance-now/.tm_properties create mode 100644 node_modules/performance-now/.travis.yml create mode 100644 node_modules/performance-now/Makefile create mode 100644 node_modules/performance-now/README.md create mode 100644 node_modules/performance-now/lib/performance-now.js create mode 100644 node_modules/performance-now/license.txt create mode 100644 node_modules/performance-now/package.json create mode 100644 node_modules/performance-now/src/performance-now.coffee create mode 100644 node_modules/performance-now/test/mocha.opts create mode 100644 node_modules/performance-now/test/performance-now.coffee create mode 100644 node_modules/promise/.jshintrc create mode 100644 node_modules/promise/.npmignore create mode 100644 node_modules/promise/LICENSE create mode 100644 node_modules/promise/Readme.md create mode 100644 node_modules/promise/build.js create mode 100644 node_modules/promise/core.js create mode 100644 node_modules/promise/domains/core.js create mode 100644 node_modules/promise/domains/done.js create mode 100644 node_modules/promise/domains/es6-extensions.js create mode 100644 node_modules/promise/domains/finally.js create mode 100644 node_modules/promise/domains/index.js create mode 100644 node_modules/promise/domains/node-extensions.js create mode 100644 node_modules/promise/domains/rejection-tracking.js create mode 100644 node_modules/promise/domains/synchronous.js create mode 100644 node_modules/promise/index.d.ts create mode 100644 node_modules/promise/index.js create mode 100644 node_modules/promise/lib/core.js create mode 100644 node_modules/promise/lib/done.js create mode 100644 node_modules/promise/lib/es6-extensions.js create mode 100644 node_modules/promise/lib/finally.js create mode 100644 node_modules/promise/lib/index.js create mode 100644 node_modules/promise/lib/node-extensions.js create mode 100644 node_modules/promise/lib/rejection-tracking.js create mode 100644 node_modules/promise/lib/synchronous.js create mode 100644 node_modules/promise/package.json create mode 100644 node_modules/promise/polyfill-done.js create mode 100644 node_modules/promise/polyfill.js create mode 100644 node_modules/promise/setimmediate/core.js create mode 100644 node_modules/promise/setimmediate/done.js create mode 100644 node_modules/promise/setimmediate/es6-extensions.js create mode 100644 node_modules/promise/setimmediate/finally.js create mode 100644 node_modules/promise/setimmediate/index.js create mode 100644 node_modules/promise/setimmediate/node-extensions.js create mode 100644 node_modules/promise/setimmediate/rejection-tracking.js create mode 100644 node_modules/promise/setimmediate/synchronous.js create mode 100644 node_modules/promise/src/core.js create mode 100644 node_modules/promise/src/done.js create mode 100644 node_modules/promise/src/es6-extensions.js create mode 100644 node_modules/promise/src/finally.js create mode 100644 node_modules/promise/src/index.js create mode 100644 node_modules/promise/src/node-extensions.js create mode 100644 node_modules/promise/src/rejection-tracking.js create mode 100644 node_modules/promise/src/synchronous.js create mode 100644 node_modules/prr/.jshintrc create mode 100644 node_modules/prr/.npmignore create mode 100644 node_modules/prr/.travis.yml create mode 100644 node_modules/prr/LICENSE create mode 100644 node_modules/prr/README.md create mode 100644 node_modules/prr/package.json create mode 100644 node_modules/prr/prr.js create mode 100644 node_modules/prr/test.js create mode 100644 node_modules/pug-attrs/LICENSE create mode 100644 node_modules/pug-attrs/README.md create mode 100644 node_modules/pug-attrs/index.js create mode 100644 node_modules/pug-attrs/package.json create mode 100644 node_modules/pug-attrs/test/index.test.js create mode 100644 node_modules/pug-cli/.npmignore create mode 100644 node_modules/pug-cli/.travis.yml create mode 100644 node_modules/pug-cli/HISTORY.md create mode 100644 node_modules/pug-cli/LICENSE.md create mode 100644 node_modules/pug-cli/README.md create mode 100644 node_modules/pug-cli/index.js create mode 100644 node_modules/pug-cli/package.json create mode 100644 node_modules/pug-cli/test/dependencies/dependency1.pug create mode 100644 node_modules/pug-cli/test/dependencies/dependency2.pug create mode 100644 node_modules/pug-cli/test/dependencies/dependency3.pug create mode 100644 node_modules/pug-cli/test/dependencies/include2.pug create mode 100644 node_modules/pug-cli/test/index.js create mode 100644 node_modules/pug-code-gen/HISTORY.md create mode 100644 node_modules/pug-code-gen/LICENSE create mode 100644 node_modules/pug-code-gen/README.md create mode 100644 node_modules/pug-code-gen/index.js create mode 100644 node_modules/pug-code-gen/package.json create mode 100644 node_modules/pug-error/LICENSE create mode 100644 node_modules/pug-error/README.md create mode 100644 node_modules/pug-error/index.js create mode 100644 node_modules/pug-error/package.json create mode 100644 node_modules/pug-filters/CHANGELOG.md create mode 100644 node_modules/pug-filters/LICENSE create mode 100644 node_modules/pug-filters/README.md create mode 100644 node_modules/pug-filters/index.js create mode 100644 node_modules/pug-filters/lib/handle-filters.js create mode 100644 node_modules/pug-filters/lib/run-filter.js create mode 100644 node_modules/pug-filters/package.json create mode 100644 node_modules/pug-filters/test/__snapshots__/filter-aliases.test.js.snap create mode 100644 node_modules/pug-filters/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-filters/test/__snapshots__/per-filter-options-applied-to-nested-filters.test.js.snap create mode 100644 node_modules/pug-filters/test/cases/filters-empty.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.cdata.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.coffeescript.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.custom.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.include.custom.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.include.custom.pug create mode 100644 node_modules/pug-filters/test/cases/filters.include.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.inline.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.less.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.markdown.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.nested.input.json create mode 100644 node_modules/pug-filters/test/cases/filters.stylus.input.json create mode 100644 node_modules/pug-filters/test/cases/include-filter-coffee.coffee create mode 100644 node_modules/pug-filters/test/cases/some.md create mode 100644 node_modules/pug-filters/test/custom-filters.js create mode 100644 node_modules/pug-filters/test/errors-src/dynamic-option.jade create mode 100644 node_modules/pug-filters/test/errors/dynamic-option.input.json create mode 100644 node_modules/pug-filters/test/filter-aliases.test.js create mode 100644 node_modules/pug-filters/test/index.test.js create mode 100644 node_modules/pug-filters/test/per-filter-options-applied-to-nested-filters.test.js create mode 100644 node_modules/pug-filters/test/update-test-cases.js create mode 100644 node_modules/pug-lexer/History.md create mode 100644 node_modules/pug-lexer/LICENSE create mode 100644 node_modules/pug-lexer/README.md create mode 100644 node_modules/pug-lexer/index.js create mode 100644 node_modules/pug-lexer/node_modules/.bin/acorn create mode 100644 node_modules/pug-lexer/node_modules/.bin/acorn.cmd create mode 100644 node_modules/pug-lexer/node_modules/acorn/.npmignore create mode 100644 node_modules/pug-lexer/node_modules/acorn/AUTHORS create mode 100644 node_modules/pug-lexer/node_modules/acorn/CHANGELOG.md create mode 100644 node_modules/pug-lexer/node_modules/acorn/LICENSE create mode 100644 node_modules/pug-lexer/node_modules/acorn/README.md create mode 100644 node_modules/pug-lexer/node_modules/acorn/bin/acorn create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/.keep create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/acorn.es.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/acorn.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/acorn_loose.es.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/acorn_loose.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/walk.es.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/dist/walk.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/package.json create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/bin/acorn.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/expression.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/identifier.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/index.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/location.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/locutil.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/expression.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/index.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/parseutil.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/state.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/statement.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/loose/tokenize.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/lval.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/node.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/options.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/parseutil.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/state.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/statement.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/tokencontext.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/tokenize.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/tokentype.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/util.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/walk/index.js create mode 100644 node_modules/pug-lexer/node_modules/acorn/src/whitespace.js create mode 100644 node_modules/pug-lexer/node_modules/is-expression/.npmignore create mode 100644 node_modules/pug-lexer/node_modules/is-expression/.travis.yml create mode 100644 node_modules/pug-lexer/node_modules/is-expression/CHANGELOG.md create mode 100644 node_modules/pug-lexer/node_modules/is-expression/LICENSE.md create mode 100644 node_modules/pug-lexer/node_modules/is-expression/README.md create mode 100644 node_modules/pug-lexer/node_modules/is-expression/index.js create mode 100644 node_modules/pug-lexer/node_modules/is-expression/package.json create mode 100644 node_modules/pug-lexer/node_modules/is-expression/test.js create mode 100644 node_modules/pug-lexer/package.json create mode 100644 node_modules/pug-lexer/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-lexer/test/cases/attr-es2015.pug create mode 100644 node_modules/pug-lexer/test/cases/attrs-data.pug create mode 100644 node_modules/pug-lexer/test/cases/attrs.js.pug create mode 100644 node_modules/pug-lexer/test/cases/attrs.pug create mode 100644 node_modules/pug-lexer/test/cases/attrs.unescaped.pug create mode 100644 node_modules/pug-lexer/test/cases/basic.pug create mode 100644 node_modules/pug-lexer/test/cases/blanks.pug create mode 100644 node_modules/pug-lexer/test/cases/block-code.pug create mode 100644 node_modules/pug-lexer/test/cases/block-expansion.pug create mode 100644 node_modules/pug-lexer/test/cases/block-expansion.shorthands.pug create mode 100644 node_modules/pug-lexer/test/cases/blockquote.pug create mode 100644 node_modules/pug-lexer/test/cases/blocks-in-blocks.pug create mode 100644 node_modules/pug-lexer/test/cases/blocks-in-if.pug create mode 100644 node_modules/pug-lexer/test/cases/case-blocks.pug create mode 100644 node_modules/pug-lexer/test/cases/case.pug create mode 100644 node_modules/pug-lexer/test/cases/classes-empty.pug create mode 100644 node_modules/pug-lexer/test/cases/classes.pug create mode 100644 node_modules/pug-lexer/test/cases/code.conditionals.pug create mode 100644 node_modules/pug-lexer/test/cases/code.escape.pug create mode 100644 node_modules/pug-lexer/test/cases/code.iteration.pug create mode 100644 node_modules/pug-lexer/test/cases/code.pug create mode 100644 node_modules/pug-lexer/test/cases/comments-in-case.pug create mode 100644 node_modules/pug-lexer/test/cases/comments.pug create mode 100644 node_modules/pug-lexer/test/cases/comments.source.pug create mode 100644 node_modules/pug-lexer/test/cases/doctype.custom.pug create mode 100644 node_modules/pug-lexer/test/cases/doctype.default.pug create mode 100644 node_modules/pug-lexer/test/cases/doctype.keyword.pug create mode 100644 node_modules/pug-lexer/test/cases/each.else.pug create mode 100644 node_modules/pug-lexer/test/cases/escape-chars.pug create mode 100644 node_modules/pug-lexer/test/cases/escape-test.pug create mode 100644 node_modules/pug-lexer/test/cases/escaping-class-attribute.pug create mode 100644 node_modules/pug-lexer/test/cases/filter-in-include.pug create mode 100644 node_modules/pug-lexer/test/cases/filters-empty.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.coffeescript.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.custom.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.include.custom.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.include.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.inline.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.less.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.markdown.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.nested.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.stylus.pug create mode 100644 node_modules/pug-lexer/test/cases/filters.verbatim.pug create mode 100644 node_modules/pug-lexer/test/cases/html.pug create mode 100644 node_modules/pug-lexer/test/cases/html5.pug create mode 100644 node_modules/pug-lexer/test/cases/include-extends-from-root.pug create mode 100644 node_modules/pug-lexer/test/cases/include-extends-of-common-template.pug create mode 100644 node_modules/pug-lexer/test/cases/include-extends-relative.pug create mode 100644 node_modules/pug-lexer/test/cases/include-only-text-body.pug create mode 100644 node_modules/pug-lexer/test/cases/include-only-text.pug create mode 100644 node_modules/pug-lexer/test/cases/include-with-text-head.pug create mode 100644 node_modules/pug-lexer/test/cases/include-with-text.pug create mode 100644 node_modules/pug-lexer/test/cases/include.script.pug create mode 100644 node_modules/pug-lexer/test/cases/include.yield.nested.pug create mode 100644 node_modules/pug-lexer/test/cases/includes-with-ext-js.pug create mode 100644 node_modules/pug-lexer/test/cases/includes.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.alert-dialog.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.defaults.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.include.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.mixins.block.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.mixins.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.recursive.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.extend.whitespace.pug create mode 100644 node_modules/pug-lexer/test/cases/inheritance.pug create mode 100644 node_modules/pug-lexer/test/cases/inline-block-comment.pug create mode 100644 node_modules/pug-lexer/test/cases/inline-tag.pug create mode 100644 node_modules/pug-lexer/test/cases/intepolated-elements.pug create mode 100644 node_modules/pug-lexer/test/cases/interpolated-mixin.pug create mode 100644 node_modules/pug-lexer/test/cases/interpolation.escape.pug create mode 100644 node_modules/pug-lexer/test/cases/javascript-new-lines.js create mode 100644 node_modules/pug-lexer/test/cases/layout.append.pug create mode 100644 node_modules/pug-lexer/test/cases/layout.append.without-block.pug create mode 100644 node_modules/pug-lexer/test/cases/layout.multi.append.prepend.block.pug create mode 100644 node_modules/pug-lexer/test/cases/layout.prepend.pug create mode 100644 node_modules/pug-lexer/test/cases/layout.prepend.without-block.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin-at-end-of-file.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin-block-with-space.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin-hoist.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin-via-include.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin.attrs.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin.block-tag-behaviour.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin.blocks.pug create mode 100644 node_modules/pug-lexer/test/cases/mixin.merge.pug create mode 100644 node_modules/pug-lexer/test/cases/mixins-unused.pug create mode 100644 node_modules/pug-lexer/test/cases/mixins.pug create mode 100644 node_modules/pug-lexer/test/cases/mixins.rest-args.pug create mode 100644 node_modules/pug-lexer/test/cases/namespaces.pug create mode 100644 node_modules/pug-lexer/test/cases/nesting.pug create mode 100644 node_modules/pug-lexer/test/cases/pipeless-comments.pug create mode 100644 node_modules/pug-lexer/test/cases/pipeless-filters.pug create mode 100644 node_modules/pug-lexer/test/cases/pipeless-tag.pug create mode 100644 node_modules/pug-lexer/test/cases/pre.pug create mode 100644 node_modules/pug-lexer/test/cases/quotes.pug create mode 100644 node_modules/pug-lexer/test/cases/regression.1794.pug create mode 100644 node_modules/pug-lexer/test/cases/regression.784.pug create mode 100644 node_modules/pug-lexer/test/cases/script.whitespace.pug create mode 100644 node_modules/pug-lexer/test/cases/scripts.non-js.pug create mode 100644 node_modules/pug-lexer/test/cases/scripts.pug create mode 100644 node_modules/pug-lexer/test/cases/self-closing-html.pug create mode 100644 node_modules/pug-lexer/test/cases/single-period.pug create mode 100644 node_modules/pug-lexer/test/cases/source.pug create mode 100644 node_modules/pug-lexer/test/cases/styles.pug create mode 100644 node_modules/pug-lexer/test/cases/tag-blocks.pug create mode 100644 node_modules/pug-lexer/test/cases/tag.interpolation.pug create mode 100644 node_modules/pug-lexer/test/cases/tags.self-closing.pug create mode 100644 node_modules/pug-lexer/test/cases/template.pug create mode 100644 node_modules/pug-lexer/test/cases/text-block.pug create mode 100644 node_modules/pug-lexer/test/cases/text.pug create mode 100644 node_modules/pug-lexer/test/cases/utf8bom.pug create mode 100644 node_modules/pug-lexer/test/cases/vars.pug create mode 100644 node_modules/pug-lexer/test/cases/while.pug create mode 100644 node_modules/pug-lexer/test/cases/xml.pug create mode 100644 node_modules/pug-lexer/test/cases/yield-before-conditional-head.pug create mode 100644 node_modules/pug-lexer/test/cases/yield-before-conditional.pug create mode 100644 node_modules/pug-lexer/test/cases/yield-head.pug create mode 100644 node_modules/pug-lexer/test/cases/yield-title-head.pug create mode 100644 node_modules/pug-lexer/test/cases/yield-title.pug create mode 100644 node_modules/pug-lexer/test/cases/yield.pug create mode 100644 node_modules/pug-lexer/test/check-lexer-functions.test.js create mode 100644 node_modules/pug-lexer/test/errors/attribute-invalid-expression.pug create mode 100644 node_modules/pug-lexer/test/errors/case-with-invalid-expression.pug create mode 100644 node_modules/pug-lexer/test/errors/case-with-no-expression.pug create mode 100644 node_modules/pug-lexer/test/errors/default-with-expression.pug create mode 100644 node_modules/pug-lexer/test/errors/else-with-condition.pug create mode 100644 node_modules/pug-lexer/test/errors/extends-no-path.pug create mode 100644 node_modules/pug-lexer/test/errors/include-filter-no-path-2.pug create mode 100644 node_modules/pug-lexer/test/errors/include-filter-no-path.pug create mode 100644 node_modules/pug-lexer/test/errors/include-filter-no-space.pug create mode 100644 node_modules/pug-lexer/test/errors/include-no-path.pug create mode 100644 node_modules/pug-lexer/test/errors/inconsistent-indentation.pug create mode 100644 node_modules/pug-lexer/test/errors/interpolated-call.pug create mode 100644 node_modules/pug-lexer/test/errors/invalid-class-name-1.pug create mode 100644 node_modules/pug-lexer/test/errors/invalid-class-name-2.pug create mode 100644 node_modules/pug-lexer/test/errors/invalid-class-name-3.pug create mode 100644 node_modules/pug-lexer/test/errors/invalid-id.pug create mode 100644 node_modules/pug-lexer/test/errors/malformed-each.pug create mode 100644 node_modules/pug-lexer/test/errors/malformed-extend.pug create mode 100644 node_modules/pug-lexer/test/errors/malformed-include.pug create mode 100644 node_modules/pug-lexer/test/errors/mismatched-inline-tag.pug create mode 100644 node_modules/pug-lexer/test/errors/mismatched-tag-interpolation.pug create mode 100644 node_modules/pug-lexer/test/errors/multi-line-interpolation.pug create mode 100644 node_modules/pug-lexer/test/errors/old-prefixed-each.pug create mode 100644 node_modules/pug-lexer/test/errors/open-interpolation.pug create mode 100644 node_modules/pug-lexer/test/errors/when-with-no-expression.pug create mode 100644 node_modules/pug-lexer/test/errors/while-with-no-expression.pug create mode 100644 node_modules/pug-lexer/test/index.test.js create mode 100644 node_modules/pug-linker/HISTORY.md create mode 100644 node_modules/pug-linker/LICENSE create mode 100644 node_modules/pug-linker/README.md create mode 100644 node_modules/pug-linker/index.js create mode 100644 node_modules/pug-linker/package.json create mode 100644 node_modules/pug-linker/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/1794-extends.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/1794-include.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/blocks-in-blocks-layout.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/dialog.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/empty-block.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/escapes.html create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/extends-empty-block-1.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/extends-empty-block-2.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/extends-from-root.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/extends-relative.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/filter-in-include.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/includable.js create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/include-from-root.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/inheritance.extend.mixin.block.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/inheritance.extend.recursive-grand-grandparent.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/inheritance.extend.recursive-grandparent.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/inheritance.extend.recursive-parent.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/layout.include.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/layout.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/mixin-at-end-of-file.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/mixins.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/pet.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/smile.html create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/window.pug create mode 100644 node_modules/pug-linker/test/cases-src/auxiliary/yield-nested.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-extends-from-root.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-extends-of-common-template.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-extends-relative.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-filter-coffee.coffee create mode 100644 node_modules/pug-linker/test/cases-src/include-filter-stylus.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-filter.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-only-text-body.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-only-text.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-with-text-head.pug create mode 100644 node_modules/pug-linker/test/cases-src/include-with-text.pug create mode 100644 node_modules/pug-linker/test/cases-src/include.script.pug create mode 100644 node_modules/pug-linker/test/cases-src/include.yield.nested.pug create mode 100644 node_modules/pug-linker/test/cases-src/includes-with-ext-js.pug create mode 100644 node_modules/pug-linker/test/cases-src/includes.pug create mode 100644 node_modules/pug-linker/test/cases-src/javascript-new-lines.js create mode 100644 node_modules/pug-linker/test/cases-src/layout.append.pug create mode 100644 node_modules/pug-linker/test/cases-src/layout.append.without-block.pug create mode 100644 node_modules/pug-linker/test/cases-src/layout.multi.append.prepend.block.pug create mode 100644 node_modules/pug-linker/test/cases-src/layout.prepend.pug create mode 100644 node_modules/pug-linker/test/cases-src/layout.prepend.without-block.pug create mode 100644 node_modules/pug-linker/test/cases-src/some-included.styl create mode 100644 node_modules/pug-linker/test/cases-src/some.md create mode 100644 node_modules/pug-linker/test/cases-src/some.styl create mode 100644 node_modules/pug-linker/test/cases/include-extends-from-root.input.json create mode 100644 node_modules/pug-linker/test/cases/include-extends-of-common-template.input.json create mode 100644 node_modules/pug-linker/test/cases/include-extends-relative.input.json create mode 100644 node_modules/pug-linker/test/cases/include-filter-stylus.input.json create mode 100644 node_modules/pug-linker/test/cases/include-filter.input.json create mode 100644 node_modules/pug-linker/test/cases/include-only-text-body.input.json create mode 100644 node_modules/pug-linker/test/cases/include-only-text.input.json create mode 100644 node_modules/pug-linker/test/cases/include-with-text-head.input.json create mode 100644 node_modules/pug-linker/test/cases/include-with-text.input.json create mode 100644 node_modules/pug-linker/test/cases/include.script.input.json create mode 100644 node_modules/pug-linker/test/cases/include.yield.nested.input.json create mode 100644 node_modules/pug-linker/test/cases/includes-with-ext-js.input.json create mode 100644 node_modules/pug-linker/test/cases/includes.input.json create mode 100644 node_modules/pug-linker/test/cases/layout.append.input.json create mode 100644 node_modules/pug-linker/test/cases/layout.append.without-block.input.json create mode 100644 node_modules/pug-linker/test/cases/layout.multi.append.prepend.block.input.json create mode 100644 node_modules/pug-linker/test/cases/layout.prepend.input.json create mode 100644 node_modules/pug-linker/test/cases/layout.prepend.without-block.input.json create mode 100644 node_modules/pug-linker/test/errors-src/child-with-tags.pug create mode 100644 node_modules/pug-linker/test/errors-src/extends-not-first.pug create mode 100644 node_modules/pug-linker/test/errors-src/unexpected-block.pug create mode 100644 node_modules/pug-linker/test/errors/child-with-tags.input.json create mode 100644 node_modules/pug-linker/test/errors/extends-not-first.input.json create mode 100644 node_modules/pug-linker/test/errors/unexpected-block.input.json create mode 100644 node_modules/pug-linker/test/fixtures/append-without-block/app-layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/append-without-block/layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/append-without-block/page.pug create mode 100644 node_modules/pug-linker/test/fixtures/append/app-layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/append/layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/append/page.html create mode 100644 node_modules/pug-linker/test/fixtures/append/page.pug create mode 100644 node_modules/pug-linker/test/fixtures/empty.pug create mode 100644 node_modules/pug-linker/test/fixtures/layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/mixins.pug create mode 100644 node_modules/pug-linker/test/fixtures/multi-append-prepend-block/redefine.pug create mode 100644 node_modules/pug-linker/test/fixtures/multi-append-prepend-block/root.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend-without-block/app-layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend-without-block/layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend-without-block/page.html create mode 100644 node_modules/pug-linker/test/fixtures/prepend-without-block/page.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend/app-layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend/layout.pug create mode 100644 node_modules/pug-linker/test/fixtures/prepend/page.html create mode 100644 node_modules/pug-linker/test/fixtures/prepend/page.pug create mode 100644 node_modules/pug-linker/test/index.test.js create mode 100644 node_modules/pug-linker/test/special-cases-src/extending-empty.pug create mode 100644 node_modules/pug-linker/test/special-cases-src/extending-include.pug create mode 100644 node_modules/pug-linker/test/special-cases-src/root-mixin.pug create mode 100644 node_modules/pug-linker/test/special-cases/extending-empty.input.json create mode 100644 node_modules/pug-linker/test/special-cases/extending-include.input.json create mode 100644 node_modules/pug-linker/test/special-cases/root-mixin.input.json create mode 100644 node_modules/pug-load/HISTORY.md create mode 100644 node_modules/pug-load/LICENSE create mode 100644 node_modules/pug-load/README.md create mode 100644 node_modules/pug-load/index.js create mode 100644 node_modules/pug-load/package.json create mode 100644 node_modules/pug-load/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-load/test/bar.pug create mode 100644 node_modules/pug-load/test/bing.pug create mode 100644 node_modules/pug-load/test/foo.pug create mode 100644 node_modules/pug-load/test/index.test.js create mode 100644 node_modules/pug-load/test/script.js create mode 100644 node_modules/pug-parser/HISTORY.md create mode 100644 node_modules/pug-parser/LICENSE create mode 100644 node_modules/pug-parser/README.md create mode 100644 node_modules/pug-parser/index.js create mode 100644 node_modules/pug-parser/lib/inline-tags.js create mode 100644 node_modules/pug-parser/package.json create mode 100644 node_modules/pug-parser/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-parser/test/__snapshots__/no-unnecessary-blocks.test.js.snap create mode 100644 node_modules/pug-parser/test/cases/attr-es2015.tokens.json create mode 100644 node_modules/pug-parser/test/cases/attrs-data.tokens.json create mode 100644 node_modules/pug-parser/test/cases/attrs.js.tokens.json create mode 100644 node_modules/pug-parser/test/cases/attrs.tokens.json create mode 100644 node_modules/pug-parser/test/cases/attrs.unescaped.tokens.json create mode 100644 node_modules/pug-parser/test/cases/basic.tokens.json create mode 100644 node_modules/pug-parser/test/cases/blanks.tokens.json create mode 100644 node_modules/pug-parser/test/cases/block-code.tokens.json create mode 100644 node_modules/pug-parser/test/cases/block-expansion.shorthands.tokens.json create mode 100644 node_modules/pug-parser/test/cases/block-expansion.tokens.json create mode 100644 node_modules/pug-parser/test/cases/blockquote.tokens.json create mode 100644 node_modules/pug-parser/test/cases/blocks-in-blocks.tokens.json create mode 100644 node_modules/pug-parser/test/cases/blocks-in-if.tokens.json create mode 100644 node_modules/pug-parser/test/cases/case-blocks.tokens.json create mode 100644 node_modules/pug-parser/test/cases/case.tokens.json create mode 100644 node_modules/pug-parser/test/cases/classes-empty.tokens.json create mode 100644 node_modules/pug-parser/test/cases/classes.tokens.json create mode 100644 node_modules/pug-parser/test/cases/code.conditionals.tokens.json create mode 100644 node_modules/pug-parser/test/cases/code.escape.tokens.json create mode 100644 node_modules/pug-parser/test/cases/code.iteration.tokens.json create mode 100644 node_modules/pug-parser/test/cases/code.tokens.json create mode 100644 node_modules/pug-parser/test/cases/comments-in-case.tokens.json create mode 100644 node_modules/pug-parser/test/cases/comments.source.tokens.json create mode 100644 node_modules/pug-parser/test/cases/comments.tokens.json create mode 100644 node_modules/pug-parser/test/cases/doctype.custom.tokens.json create mode 100644 node_modules/pug-parser/test/cases/doctype.default.tokens.json create mode 100644 node_modules/pug-parser/test/cases/doctype.keyword.tokens.json create mode 100644 node_modules/pug-parser/test/cases/each.else.tokens.json create mode 100644 node_modules/pug-parser/test/cases/escape-chars.tokens.json create mode 100644 node_modules/pug-parser/test/cases/escape-test.tokens.json create mode 100644 node_modules/pug-parser/test/cases/escaping-class-attribute.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filter-in-include.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters-empty.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.coffeescript.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.custom.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.include.custom.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.include.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.inline.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.less.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.markdown.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.nested.tokens.json create mode 100644 node_modules/pug-parser/test/cases/filters.stylus.tokens.json create mode 100644 node_modules/pug-parser/test/cases/html.tokens.json create mode 100644 node_modules/pug-parser/test/cases/html5.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-extends-from-root.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-extends-of-common-template.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-extends-relative.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-only-text-body.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-only-text.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-with-text-head.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include-with-text.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include.script.tokens.json create mode 100644 node_modules/pug-parser/test/cases/include.yield.nested.tokens.json create mode 100644 node_modules/pug-parser/test/cases/includes-with-ext-js.tokens.json create mode 100644 node_modules/pug-parser/test/cases/includes.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.alert-dialog.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.defaults.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.include.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.mixins.block.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.mixins.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.recursive.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.extend.whitespace.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inheritance.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inline-block-comment.tokens.json create mode 100644 node_modules/pug-parser/test/cases/inline-tag.tokens.json create mode 100644 node_modules/pug-parser/test/cases/intepolated-elements.tokens.json create mode 100644 node_modules/pug-parser/test/cases/interpolated-mixin.tokens.json create mode 100644 node_modules/pug-parser/test/cases/interpolation.escape.tokens.json create mode 100644 node_modules/pug-parser/test/cases/layout.append.tokens.json create mode 100644 node_modules/pug-parser/test/cases/layout.append.without-block.tokens.json create mode 100644 node_modules/pug-parser/test/cases/layout.multi.append.prepend.block.tokens.json create mode 100644 node_modules/pug-parser/test/cases/layout.prepend.tokens.json create mode 100644 node_modules/pug-parser/test/cases/layout.prepend.without-block.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin-at-end-of-file.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin-block-with-space.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin-hoist.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin-via-include.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin.attrs.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin.block-tag-behaviour.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin.blocks.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixin.merge.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixins-unused.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixins.rest-args.tokens.json create mode 100644 node_modules/pug-parser/test/cases/mixins.tokens.json create mode 100644 node_modules/pug-parser/test/cases/namespaces.tokens.json create mode 100644 node_modules/pug-parser/test/cases/nesting.tokens.json create mode 100644 node_modules/pug-parser/test/cases/pipeless-comments.tokens.json create mode 100644 node_modules/pug-parser/test/cases/pipeless-filters.tokens.json create mode 100644 node_modules/pug-parser/test/cases/pipeless-tag.tokens.json create mode 100644 node_modules/pug-parser/test/cases/pre.tokens.json create mode 100644 node_modules/pug-parser/test/cases/quotes.tokens.json create mode 100644 node_modules/pug-parser/test/cases/regression.1794.tokens.json create mode 100644 node_modules/pug-parser/test/cases/regression.784.tokens.json create mode 100644 node_modules/pug-parser/test/cases/script.whitespace.tokens.json create mode 100644 node_modules/pug-parser/test/cases/scripts.non-js.tokens.json create mode 100644 node_modules/pug-parser/test/cases/scripts.tokens.json create mode 100644 node_modules/pug-parser/test/cases/self-closing-html.tokens.json create mode 100644 node_modules/pug-parser/test/cases/single-period.tokens.json create mode 100644 node_modules/pug-parser/test/cases/source.tokens.json create mode 100644 node_modules/pug-parser/test/cases/styles.tokens.json create mode 100644 node_modules/pug-parser/test/cases/tag-blocks.tokens.json create mode 100644 node_modules/pug-parser/test/cases/tag.interpolation.tokens.json create mode 100644 node_modules/pug-parser/test/cases/tags.self-closing.tokens.json create mode 100644 node_modules/pug-parser/test/cases/template.tokens.json create mode 100644 node_modules/pug-parser/test/cases/text-block.tokens.json create mode 100644 node_modules/pug-parser/test/cases/text.tokens.json create mode 100644 node_modules/pug-parser/test/cases/utf8bom.tokens.json create mode 100644 node_modules/pug-parser/test/cases/vars.tokens.json create mode 100644 node_modules/pug-parser/test/cases/while.tokens.json create mode 100644 node_modules/pug-parser/test/cases/xml.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield-before-conditional-head.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield-before-conditional.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield-head.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield-title-head.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield-title.tokens.json create mode 100644 node_modules/pug-parser/test/cases/yield.tokens.json create mode 100644 node_modules/pug-parser/test/index.test.js create mode 100644 node_modules/pug-parser/test/no-unnecessary-blocks.test.js create mode 100644 node_modules/pug-parser/try.js create mode 100644 node_modules/pug-runtime/CHANGELOG.md create mode 100644 node_modules/pug-runtime/LICENSE create mode 100644 node_modules/pug-runtime/README.md create mode 100644 node_modules/pug-runtime/build.js create mode 100644 node_modules/pug-runtime/index.js create mode 100644 node_modules/pug-runtime/lib/dependencies.js create mode 100644 node_modules/pug-runtime/lib/internals.js create mode 100644 node_modules/pug-runtime/lib/sources.js create mode 100644 node_modules/pug-runtime/package.json create mode 100644 node_modules/pug-runtime/wrap.js create mode 100644 node_modules/pug-strip-comments/CHANGELOG.md create mode 100644 node_modules/pug-strip-comments/LICENSE.md create mode 100644 node_modules/pug-strip-comments/README.md create mode 100644 node_modules/pug-strip-comments/index.js create mode 100644 node_modules/pug-strip-comments/package.json create mode 100644 node_modules/pug-strip-comments/test/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug-strip-comments/test/cases/comments-in-case.input.json create mode 100644 node_modules/pug-strip-comments/test/cases/comments.input.json create mode 100644 node_modules/pug-strip-comments/test/cases/comments.source.input.json create mode 100644 node_modules/pug-strip-comments/test/errors/comment-in-comment.input.json create mode 100644 node_modules/pug-strip-comments/test/errors/end.input.json create mode 100644 node_modules/pug-strip-comments/test/errors/startstart.input.json create mode 100644 node_modules/pug-strip-comments/test/index.test.js create mode 100644 node_modules/pug-walk/HISTORY.md create mode 100644 node_modules/pug-walk/LICENSE create mode 100644 node_modules/pug-walk/README.md create mode 100644 node_modules/pug-walk/index.js create mode 100644 node_modules/pug-walk/package.json create mode 100644 node_modules/pug/History.md create mode 100644 node_modules/pug/LICENSE create mode 100644 node_modules/pug/README.md create mode 100644 node_modules/pug/examples/README.md create mode 100644 node_modules/pug/examples/attributes.js create mode 100644 node_modules/pug/examples/attributes.pug create mode 100644 node_modules/pug/examples/code.js create mode 100644 node_modules/pug/examples/code.pug create mode 100644 node_modules/pug/examples/dynamicscript.js create mode 100644 node_modules/pug/examples/dynamicscript.pug create mode 100644 node_modules/pug/examples/each.js create mode 100644 node_modules/pug/examples/each.pug create mode 100644 node_modules/pug/examples/extend-layout.pug create mode 100644 node_modules/pug/examples/extend.js create mode 100644 node_modules/pug/examples/extend.pug create mode 100644 node_modules/pug/examples/form.js create mode 100644 node_modules/pug/examples/form.pug create mode 100644 node_modules/pug/examples/includes.js create mode 100644 node_modules/pug/examples/includes.pug create mode 100644 node_modules/pug/examples/includes/foot.pug create mode 100644 node_modules/pug/examples/includes/head.pug create mode 100644 node_modules/pug/examples/includes/scripts.pug create mode 100644 node_modules/pug/examples/includes/style.css create mode 100644 node_modules/pug/examples/layout-debug.js create mode 100644 node_modules/pug/examples/layout.js create mode 100644 node_modules/pug/examples/layout.pug create mode 100644 node_modules/pug/examples/mixins.js create mode 100644 node_modules/pug/examples/mixins.pug create mode 100644 node_modules/pug/examples/mixins/dialog.pug create mode 100644 node_modules/pug/examples/mixins/profile.pug create mode 100644 node_modules/pug/examples/pet.pug create mode 100644 node_modules/pug/examples/rss.js create mode 100644 node_modules/pug/examples/rss.pug create mode 100644 node_modules/pug/examples/text.js create mode 100644 node_modules/pug/examples/text.pug create mode 100644 node_modules/pug/examples/whitespace.js create mode 100644 node_modules/pug/examples/whitespace.pug create mode 100644 node_modules/pug/lib/index.js create mode 100644 node_modules/pug/package.json create mode 100644 node_modules/pug/register.js create mode 100644 node_modules/pug/support/benchmark.js create mode 100644 node_modules/pug/test/README.md create mode 100644 node_modules/pug/test/__snapshots__/pug.test.js.snap create mode 100644 node_modules/pug/test/anti-cases/attrs.unescaped.pug create mode 100644 node_modules/pug/test/anti-cases/case-when.pug create mode 100644 node_modules/pug/test/anti-cases/case-without-with.pug create mode 100644 node_modules/pug/test/anti-cases/else-condition.pug create mode 100644 node_modules/pug/test/anti-cases/else-without-if.pug create mode 100644 node_modules/pug/test/anti-cases/inlining-a-mixin-after-a-tag.pug create mode 100644 node_modules/pug/test/anti-cases/key-char-ending-badly.pug create mode 100644 node_modules/pug/test/anti-cases/key-ending-badly.pug create mode 100644 node_modules/pug/test/anti-cases/mismatched-inline-tag.pug create mode 100644 node_modules/pug/test/anti-cases/mixin-args-syntax-error.pug create mode 100644 node_modules/pug/test/anti-cases/mixins-blocks-with-bodies.pug create mode 100644 node_modules/pug/test/anti-cases/multiple-non-nested-tags-on-a-line.pug create mode 100644 node_modules/pug/test/anti-cases/non-existant-filter.pug create mode 100644 node_modules/pug/test/anti-cases/non-mixin-block.pug create mode 100644 node_modules/pug/test/anti-cases/open-brace-in-attributes.pug create mode 100644 node_modules/pug/test/anti-cases/readme.md create mode 100644 node_modules/pug/test/anti-cases/self-closing-tag-with-block.pug create mode 100644 node_modules/pug/test/anti-cases/self-closing-tag-with-body.pug create mode 100644 node_modules/pug/test/anti-cases/self-closing-tag-with-code.pug create mode 100644 node_modules/pug/test/anti-cases/tabs-and-spaces.pug create mode 100644 node_modules/pug/test/anti-cases/unclosed-interpolated-call.pug create mode 100644 node_modules/pug/test/anti-cases/unclosed-interpolated-tag.pug create mode 100644 node_modules/pug/test/anti-cases/unclosed-interpolation.pug create mode 100644 node_modules/pug/test/browser/index.html create mode 100644 node_modules/pug/test/browser/index.pug create mode 100644 node_modules/pug/test/cases-es2015/attr.html create mode 100644 node_modules/pug/test/cases-es2015/attr.pug create mode 100644 node_modules/pug/test/cases/attrs-data.html create mode 100644 node_modules/pug/test/cases/attrs-data.pug create mode 100644 node_modules/pug/test/cases/attrs.colon.html create mode 100644 node_modules/pug/test/cases/attrs.colon.pug create mode 100644 node_modules/pug/test/cases/attrs.html create mode 100644 node_modules/pug/test/cases/attrs.js.html create mode 100644 node_modules/pug/test/cases/attrs.js.pug create mode 100644 node_modules/pug/test/cases/attrs.pug create mode 100644 node_modules/pug/test/cases/attrs.unescaped.html create mode 100644 node_modules/pug/test/cases/attrs.unescaped.pug create mode 100644 node_modules/pug/test/cases/auxiliary/1794-extends.pug create mode 100644 node_modules/pug/test/cases/auxiliary/1794-include.pug create mode 100644 node_modules/pug/test/cases/auxiliary/blocks-in-blocks-layout.pug create mode 100644 node_modules/pug/test/cases/auxiliary/dialog.pug create mode 100644 node_modules/pug/test/cases/auxiliary/empty-block.pug create mode 100644 node_modules/pug/test/cases/auxiliary/escapes.html create mode 100644 node_modules/pug/test/cases/auxiliary/extends-empty-block-1.pug create mode 100644 node_modules/pug/test/cases/auxiliary/extends-empty-block-2.pug create mode 100644 node_modules/pug/test/cases/auxiliary/extends-from-root.pug create mode 100644 node_modules/pug/test/cases/auxiliary/extends-relative.pug create mode 100644 node_modules/pug/test/cases/auxiliary/filter-in-include.pug create mode 100644 node_modules/pug/test/cases/auxiliary/includable.js create mode 100644 node_modules/pug/test/cases/auxiliary/include-from-root.pug create mode 100644 node_modules/pug/test/cases/auxiliary/inheritance.extend.mixin.block.pug create mode 100644 node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grand-grandparent.pug create mode 100644 node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grandparent.pug create mode 100644 node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-parent.pug create mode 100644 node_modules/pug/test/cases/auxiliary/layout.include.pug create mode 100644 node_modules/pug/test/cases/auxiliary/layout.pug create mode 100644 node_modules/pug/test/cases/auxiliary/mixin-at-end-of-file.pug create mode 100644 node_modules/pug/test/cases/auxiliary/mixins.pug create mode 100644 node_modules/pug/test/cases/auxiliary/pet.pug create mode 100644 node_modules/pug/test/cases/auxiliary/smile.html create mode 100644 node_modules/pug/test/cases/auxiliary/window.pug create mode 100644 node_modules/pug/test/cases/auxiliary/yield-nested.pug create mode 100644 node_modules/pug/test/cases/basic.html create mode 100644 node_modules/pug/test/cases/basic.pug create mode 100644 node_modules/pug/test/cases/blanks.html create mode 100644 node_modules/pug/test/cases/blanks.pug create mode 100644 node_modules/pug/test/cases/block-code.html create mode 100644 node_modules/pug/test/cases/block-code.pug create mode 100644 node_modules/pug/test/cases/block-expansion.html create mode 100644 node_modules/pug/test/cases/block-expansion.pug create mode 100644 node_modules/pug/test/cases/block-expansion.shorthands.html create mode 100644 node_modules/pug/test/cases/block-expansion.shorthands.pug create mode 100644 node_modules/pug/test/cases/blockquote.html create mode 100644 node_modules/pug/test/cases/blockquote.pug create mode 100644 node_modules/pug/test/cases/blocks-in-blocks.html create mode 100644 node_modules/pug/test/cases/blocks-in-blocks.pug create mode 100644 node_modules/pug/test/cases/blocks-in-if.html create mode 100644 node_modules/pug/test/cases/blocks-in-if.pug create mode 100644 node_modules/pug/test/cases/case-blocks.html create mode 100644 node_modules/pug/test/cases/case-blocks.pug create mode 100644 node_modules/pug/test/cases/case.html create mode 100644 node_modules/pug/test/cases/case.pug create mode 100644 node_modules/pug/test/cases/classes-empty.html create mode 100644 node_modules/pug/test/cases/classes-empty.pug create mode 100644 node_modules/pug/test/cases/classes.html create mode 100644 node_modules/pug/test/cases/classes.pug create mode 100644 node_modules/pug/test/cases/code.conditionals.html create mode 100644 node_modules/pug/test/cases/code.conditionals.pug create mode 100644 node_modules/pug/test/cases/code.escape.html create mode 100644 node_modules/pug/test/cases/code.escape.pug create mode 100644 node_modules/pug/test/cases/code.html create mode 100644 node_modules/pug/test/cases/code.iteration.html create mode 100644 node_modules/pug/test/cases/code.iteration.pug create mode 100644 node_modules/pug/test/cases/code.pug create mode 100644 node_modules/pug/test/cases/comments-in-case.html create mode 100644 node_modules/pug/test/cases/comments-in-case.pug create mode 100644 node_modules/pug/test/cases/comments.html create mode 100644 node_modules/pug/test/cases/comments.pug create mode 100644 node_modules/pug/test/cases/comments.source.html create mode 100644 node_modules/pug/test/cases/comments.source.pug create mode 100644 node_modules/pug/test/cases/doctype.custom.html create mode 100644 node_modules/pug/test/cases/doctype.custom.pug create mode 100644 node_modules/pug/test/cases/doctype.default.html create mode 100644 node_modules/pug/test/cases/doctype.default.pug create mode 100644 node_modules/pug/test/cases/doctype.keyword.html create mode 100644 node_modules/pug/test/cases/doctype.keyword.pug create mode 100644 node_modules/pug/test/cases/each.else.html create mode 100644 node_modules/pug/test/cases/each.else.pug create mode 100644 node_modules/pug/test/cases/escape-chars.html create mode 100644 node_modules/pug/test/cases/escape-chars.pug create mode 100644 node_modules/pug/test/cases/escape-test.html create mode 100644 node_modules/pug/test/cases/escape-test.pug create mode 100644 node_modules/pug/test/cases/escaping-class-attribute.html create mode 100644 node_modules/pug/test/cases/escaping-class-attribute.pug create mode 100644 node_modules/pug/test/cases/filter-in-include.html create mode 100644 node_modules/pug/test/cases/filter-in-include.pug create mode 100644 node_modules/pug/test/cases/filters-empty.html create mode 100644 node_modules/pug/test/cases/filters-empty.pug create mode 100644 node_modules/pug/test/cases/filters.coffeescript.html create mode 100644 node_modules/pug/test/cases/filters.coffeescript.pug create mode 100644 node_modules/pug/test/cases/filters.custom.html create mode 100644 node_modules/pug/test/cases/filters.custom.pug create mode 100644 node_modules/pug/test/cases/filters.include.custom.html create mode 100644 node_modules/pug/test/cases/filters.include.custom.pug create mode 100644 node_modules/pug/test/cases/filters.include.html create mode 100644 node_modules/pug/test/cases/filters.include.pug create mode 100644 node_modules/pug/test/cases/filters.inline.html create mode 100644 node_modules/pug/test/cases/filters.inline.pug create mode 100644 node_modules/pug/test/cases/filters.less.html create mode 100644 node_modules/pug/test/cases/filters.less.pug create mode 100644 node_modules/pug/test/cases/filters.markdown.html create mode 100644 node_modules/pug/test/cases/filters.markdown.pug create mode 100644 node_modules/pug/test/cases/filters.nested.html create mode 100644 node_modules/pug/test/cases/filters.nested.pug create mode 100644 node_modules/pug/test/cases/filters.stylus.html create mode 100644 node_modules/pug/test/cases/filters.stylus.pug create mode 100644 node_modules/pug/test/cases/html.html create mode 100644 node_modules/pug/test/cases/html.pug create mode 100644 node_modules/pug/test/cases/html5.html create mode 100644 node_modules/pug/test/cases/html5.pug create mode 100644 node_modules/pug/test/cases/include-extends-from-root.html create mode 100644 node_modules/pug/test/cases/include-extends-from-root.pug create mode 100644 node_modules/pug/test/cases/include-extends-of-common-template.html create mode 100644 node_modules/pug/test/cases/include-extends-of-common-template.pug create mode 100644 node_modules/pug/test/cases/include-extends-relative.html create mode 100644 node_modules/pug/test/cases/include-extends-relative.pug create mode 100644 node_modules/pug/test/cases/include-filter-coffee.coffee create mode 100644 node_modules/pug/test/cases/include-only-text-body.html create mode 100644 node_modules/pug/test/cases/include-only-text-body.pug create mode 100644 node_modules/pug/test/cases/include-only-text.html create mode 100644 node_modules/pug/test/cases/include-only-text.pug create mode 100644 node_modules/pug/test/cases/include-with-text-head.html create mode 100644 node_modules/pug/test/cases/include-with-text-head.pug create mode 100644 node_modules/pug/test/cases/include-with-text.html create mode 100644 node_modules/pug/test/cases/include-with-text.pug create mode 100644 node_modules/pug/test/cases/include.script.html create mode 100644 node_modules/pug/test/cases/include.script.pug create mode 100644 node_modules/pug/test/cases/include.yield.nested.html create mode 100644 node_modules/pug/test/cases/include.yield.nested.pug create mode 100644 node_modules/pug/test/cases/includes-with-ext-js.html create mode 100644 node_modules/pug/test/cases/includes-with-ext-js.pug create mode 100644 node_modules/pug/test/cases/includes.html create mode 100644 node_modules/pug/test/cases/includes.pug create mode 100644 node_modules/pug/test/cases/inheritance.alert-dialog.html create mode 100644 node_modules/pug/test/cases/inheritance.alert-dialog.pug create mode 100644 node_modules/pug/test/cases/inheritance.defaults.html create mode 100644 node_modules/pug/test/cases/inheritance.defaults.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.include.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.include.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.mixins.block.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.mixins.block.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.mixins.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.mixins.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.recursive.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.recursive.pug create mode 100644 node_modules/pug/test/cases/inheritance.extend.whitespace.html create mode 100644 node_modules/pug/test/cases/inheritance.extend.whitespace.pug create mode 100644 node_modules/pug/test/cases/inheritance.html create mode 100644 node_modules/pug/test/cases/inheritance.pug create mode 100644 node_modules/pug/test/cases/inline-tag.html create mode 100644 node_modules/pug/test/cases/inline-tag.pug create mode 100644 node_modules/pug/test/cases/intepolated-elements.html create mode 100644 node_modules/pug/test/cases/intepolated-elements.pug create mode 100644 node_modules/pug/test/cases/interpolated-mixin.html create mode 100644 node_modules/pug/test/cases/interpolated-mixin.pug create mode 100644 node_modules/pug/test/cases/interpolation.escape.html create mode 100644 node_modules/pug/test/cases/interpolation.escape.pug create mode 100644 node_modules/pug/test/cases/javascript-new-lines.js create mode 100644 node_modules/pug/test/cases/layout.append.html create mode 100644 node_modules/pug/test/cases/layout.append.pug create mode 100644 node_modules/pug/test/cases/layout.append.without-block.html create mode 100644 node_modules/pug/test/cases/layout.append.without-block.pug create mode 100644 node_modules/pug/test/cases/layout.multi.append.prepend.block.html create mode 100644 node_modules/pug/test/cases/layout.multi.append.prepend.block.pug create mode 100644 node_modules/pug/test/cases/layout.prepend.html create mode 100644 node_modules/pug/test/cases/layout.prepend.pug create mode 100644 node_modules/pug/test/cases/layout.prepend.without-block.html create mode 100644 node_modules/pug/test/cases/layout.prepend.without-block.pug create mode 100644 node_modules/pug/test/cases/mixin-at-end-of-file.html create mode 100644 node_modules/pug/test/cases/mixin-at-end-of-file.pug create mode 100644 node_modules/pug/test/cases/mixin-block-with-space.html create mode 100644 node_modules/pug/test/cases/mixin-block-with-space.pug create mode 100644 node_modules/pug/test/cases/mixin-hoist.html create mode 100644 node_modules/pug/test/cases/mixin-hoist.pug create mode 100644 node_modules/pug/test/cases/mixin-via-include.html create mode 100644 node_modules/pug/test/cases/mixin-via-include.pug create mode 100644 node_modules/pug/test/cases/mixin.attrs.html create mode 100644 node_modules/pug/test/cases/mixin.attrs.pug create mode 100644 node_modules/pug/test/cases/mixin.block-tag-behaviour.html create mode 100644 node_modules/pug/test/cases/mixin.block-tag-behaviour.pug create mode 100644 node_modules/pug/test/cases/mixin.blocks.html create mode 100644 node_modules/pug/test/cases/mixin.blocks.pug create mode 100644 node_modules/pug/test/cases/mixin.merge.html create mode 100644 node_modules/pug/test/cases/mixin.merge.pug create mode 100644 node_modules/pug/test/cases/mixins-unused.html create mode 100644 node_modules/pug/test/cases/mixins-unused.pug create mode 100644 node_modules/pug/test/cases/mixins.html create mode 100644 node_modules/pug/test/cases/mixins.pug create mode 100644 node_modules/pug/test/cases/mixins.rest-args.html create mode 100644 node_modules/pug/test/cases/mixins.rest-args.pug create mode 100644 node_modules/pug/test/cases/namespaces.html create mode 100644 node_modules/pug/test/cases/namespaces.pug create mode 100644 node_modules/pug/test/cases/nesting.html create mode 100644 node_modules/pug/test/cases/nesting.pug create mode 100644 node_modules/pug/test/cases/pipeless-comments.html create mode 100644 node_modules/pug/test/cases/pipeless-comments.pug create mode 100644 node_modules/pug/test/cases/pipeless-filters.html create mode 100644 node_modules/pug/test/cases/pipeless-filters.pug create mode 100644 node_modules/pug/test/cases/pipeless-tag.html create mode 100644 node_modules/pug/test/cases/pipeless-tag.pug create mode 100644 node_modules/pug/test/cases/pre.html create mode 100644 node_modules/pug/test/cases/pre.pug create mode 100644 node_modules/pug/test/cases/quotes.html create mode 100644 node_modules/pug/test/cases/quotes.pug create mode 100644 node_modules/pug/test/cases/regression.1794.html create mode 100644 node_modules/pug/test/cases/regression.1794.pug create mode 100644 node_modules/pug/test/cases/regression.784.html create mode 100644 node_modules/pug/test/cases/regression.784.pug create mode 100644 node_modules/pug/test/cases/script.whitespace.html create mode 100644 node_modules/pug/test/cases/script.whitespace.pug create mode 100644 node_modules/pug/test/cases/scripts.html create mode 100644 node_modules/pug/test/cases/scripts.non-js.html create mode 100644 node_modules/pug/test/cases/scripts.non-js.pug create mode 100644 node_modules/pug/test/cases/scripts.pug create mode 100644 node_modules/pug/test/cases/self-closing-html.html create mode 100644 node_modules/pug/test/cases/self-closing-html.pug create mode 100644 node_modules/pug/test/cases/single-period.html create mode 100644 node_modules/pug/test/cases/single-period.pug create mode 100644 node_modules/pug/test/cases/some-included.styl create mode 100644 node_modules/pug/test/cases/some.md create mode 100644 node_modules/pug/test/cases/some.styl create mode 100644 node_modules/pug/test/cases/source.html create mode 100644 node_modules/pug/test/cases/source.pug create mode 100644 node_modules/pug/test/cases/styles.html create mode 100644 node_modules/pug/test/cases/styles.pug create mode 100644 node_modules/pug/test/cases/tag.interpolation.html create mode 100644 node_modules/pug/test/cases/tag.interpolation.pug create mode 100644 node_modules/pug/test/cases/tags.self-closing.html create mode 100644 node_modules/pug/test/cases/tags.self-closing.pug create mode 100644 node_modules/pug/test/cases/template.html create mode 100644 node_modules/pug/test/cases/template.pug create mode 100644 node_modules/pug/test/cases/text-block.html create mode 100644 node_modules/pug/test/cases/text-block.pug create mode 100644 node_modules/pug/test/cases/text.html create mode 100644 node_modules/pug/test/cases/text.pug create mode 100644 node_modules/pug/test/cases/utf8bom.html create mode 100644 node_modules/pug/test/cases/utf8bom.pug create mode 100644 node_modules/pug/test/cases/vars.html create mode 100644 node_modules/pug/test/cases/vars.pug create mode 100644 node_modules/pug/test/cases/while.html create mode 100644 node_modules/pug/test/cases/while.pug create mode 100644 node_modules/pug/test/cases/xml.html create mode 100644 node_modules/pug/test/cases/xml.pug create mode 100644 node_modules/pug/test/cases/yield-before-conditional-head.html create mode 100644 node_modules/pug/test/cases/yield-before-conditional-head.pug create mode 100644 node_modules/pug/test/cases/yield-before-conditional.html create mode 100644 node_modules/pug/test/cases/yield-before-conditional.pug create mode 100644 node_modules/pug/test/cases/yield-head.html create mode 100644 node_modules/pug/test/cases/yield-head.pug create mode 100644 node_modules/pug/test/cases/yield-title-head.html create mode 100644 node_modules/pug/test/cases/yield-title-head.pug create mode 100644 node_modules/pug/test/cases/yield-title.html create mode 100644 node_modules/pug/test/cases/yield-title.pug create mode 100644 node_modules/pug/test/cases/yield.html create mode 100644 node_modules/pug/test/cases/yield.pug create mode 100644 node_modules/pug/test/dependencies/dependency1.pug create mode 100644 node_modules/pug/test/dependencies/dependency2.pug create mode 100644 node_modules/pug/test/dependencies/dependency3.pug create mode 100644 node_modules/pug/test/dependencies/extends1.pug create mode 100644 node_modules/pug/test/dependencies/extends2.pug create mode 100644 node_modules/pug/test/dependencies/include1.pug create mode 100644 node_modules/pug/test/dependencies/include2.pug create mode 100644 node_modules/pug/test/duplicate-block/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug/test/duplicate-block/index.pug create mode 100644 node_modules/pug/test/duplicate-block/index.test.js create mode 100644 node_modules/pug/test/duplicate-block/layout-with-duplicate-block.pug create mode 100644 node_modules/pug/test/error.reporting.test.js create mode 100644 node_modules/pug/test/examples.test.js create mode 100644 node_modules/pug/test/extends-not-top-level/default.pug create mode 100644 node_modules/pug/test/extends-not-top-level/duplicate.pug create mode 100644 node_modules/pug/test/extends-not-top-level/index.pug create mode 100644 node_modules/pug/test/extends-not-top-level/index.test.js create mode 100644 node_modules/pug/test/fixtures/append-without-block/app-layout.pug create mode 100644 node_modules/pug/test/fixtures/append-without-block/layout.pug create mode 100644 node_modules/pug/test/fixtures/append-without-block/page.pug create mode 100644 node_modules/pug/test/fixtures/append/app-layout.pug create mode 100644 node_modules/pug/test/fixtures/append/layout.pug create mode 100644 node_modules/pug/test/fixtures/append/page.html create mode 100644 node_modules/pug/test/fixtures/append/page.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.include.locals.error.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.include.syntax.error.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.layout.locals.error.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.layout.syntax.error.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.layout.with.include.locals.error.pug create mode 100644 node_modules/pug/test/fixtures/compile.with.layout.with.include.syntax.error.pug create mode 100644 node_modules/pug/test/fixtures/element-with-multiple-attributes.pug create mode 100644 node_modules/pug/test/fixtures/include.locals.error.pug create mode 100644 node_modules/pug/test/fixtures/include.syntax.error.pug create mode 100644 node_modules/pug/test/fixtures/invalid-block-in-extends.pug create mode 100644 node_modules/pug/test/fixtures/issue-1593/include-layout.pug create mode 100644 node_modules/pug/test/fixtures/issue-1593/include.pug create mode 100644 node_modules/pug/test/fixtures/issue-1593/index.pug create mode 100644 node_modules/pug/test/fixtures/issue-1593/layout.pug create mode 100644 node_modules/pug/test/fixtures/layout.locals.error.pug create mode 100644 node_modules/pug/test/fixtures/layout.pug create mode 100644 node_modules/pug/test/fixtures/layout.syntax.error.pug create mode 100644 node_modules/pug/test/fixtures/layout.with.runtime.error.pug create mode 100644 node_modules/pug/test/fixtures/mixin-include.pug create mode 100644 node_modules/pug/test/fixtures/mixin.error.pug create mode 100644 node_modules/pug/test/fixtures/multi-append-prepend-block/redefine.pug create mode 100644 node_modules/pug/test/fixtures/multi-append-prepend-block/root.pug create mode 100644 node_modules/pug/test/fixtures/perf.pug create mode 100644 node_modules/pug/test/fixtures/prepend-without-block/app-layout.pug create mode 100644 node_modules/pug/test/fixtures/prepend-without-block/layout.pug create mode 100644 node_modules/pug/test/fixtures/prepend-without-block/page.html create mode 100644 node_modules/pug/test/fixtures/prepend-without-block/page.pug create mode 100644 node_modules/pug/test/fixtures/prepend/app-layout.pug create mode 100644 node_modules/pug/test/fixtures/prepend/layout.pug create mode 100644 node_modules/pug/test/fixtures/prepend/page.html create mode 100644 node_modules/pug/test/fixtures/prepend/page.pug create mode 100644 node_modules/pug/test/fixtures/runtime.error.pug create mode 100644 node_modules/pug/test/fixtures/runtime.layout.error.pug create mode 100644 node_modules/pug/test/fixtures/runtime.with.mixin.error.pug create mode 100644 node_modules/pug/test/fixtures/scripts.pug create mode 100644 node_modules/pug/test/output-es2015/attr.html create mode 100644 node_modules/pug/test/output-es2015/attr.js create mode 100644 node_modules/pug/test/output/attrs-data.html create mode 100644 node_modules/pug/test/output/attrs-data.js create mode 100644 node_modules/pug/test/output/attrs.colon.html create mode 100644 node_modules/pug/test/output/attrs.colon.js create mode 100644 node_modules/pug/test/output/attrs.html create mode 100644 node_modules/pug/test/output/attrs.js create mode 100644 node_modules/pug/test/output/attrs.js.html create mode 100644 node_modules/pug/test/output/attrs.js.js create mode 100644 node_modules/pug/test/output/attrs.unescaped.html create mode 100644 node_modules/pug/test/output/attrs.unescaped.js create mode 100644 node_modules/pug/test/output/basic.html create mode 100644 node_modules/pug/test/output/basic.js create mode 100644 node_modules/pug/test/output/blanks.html create mode 100644 node_modules/pug/test/output/blanks.js create mode 100644 node_modules/pug/test/output/block-code.html create mode 100644 node_modules/pug/test/output/block-code.js create mode 100644 node_modules/pug/test/output/block-expansion.html create mode 100644 node_modules/pug/test/output/block-expansion.js create mode 100644 node_modules/pug/test/output/block-expansion.shorthands.html create mode 100644 node_modules/pug/test/output/block-expansion.shorthands.js create mode 100644 node_modules/pug/test/output/blockquote.html create mode 100644 node_modules/pug/test/output/blockquote.js create mode 100644 node_modules/pug/test/output/blocks-in-blocks.html create mode 100644 node_modules/pug/test/output/blocks-in-blocks.js create mode 100644 node_modules/pug/test/output/blocks-in-if.html create mode 100644 node_modules/pug/test/output/blocks-in-if.js create mode 100644 node_modules/pug/test/output/case-blocks.html create mode 100644 node_modules/pug/test/output/case-blocks.js create mode 100644 node_modules/pug/test/output/case.html create mode 100644 node_modules/pug/test/output/case.js create mode 100644 node_modules/pug/test/output/classes-empty.html create mode 100644 node_modules/pug/test/output/classes-empty.js create mode 100644 node_modules/pug/test/output/classes.html create mode 100644 node_modules/pug/test/output/classes.js create mode 100644 node_modules/pug/test/output/code.conditionals.html create mode 100644 node_modules/pug/test/output/code.conditionals.js create mode 100644 node_modules/pug/test/output/code.escape.html create mode 100644 node_modules/pug/test/output/code.escape.js create mode 100644 node_modules/pug/test/output/code.html create mode 100644 node_modules/pug/test/output/code.iteration.html create mode 100644 node_modules/pug/test/output/code.iteration.js create mode 100644 node_modules/pug/test/output/code.js create mode 100644 node_modules/pug/test/output/comments-in-case.html create mode 100644 node_modules/pug/test/output/comments-in-case.js create mode 100644 node_modules/pug/test/output/comments.html create mode 100644 node_modules/pug/test/output/comments.js create mode 100644 node_modules/pug/test/output/comments.source.html create mode 100644 node_modules/pug/test/output/comments.source.js create mode 100644 node_modules/pug/test/output/doctype.custom.html create mode 100644 node_modules/pug/test/output/doctype.custom.js create mode 100644 node_modules/pug/test/output/doctype.default.html create mode 100644 node_modules/pug/test/output/doctype.default.js create mode 100644 node_modules/pug/test/output/doctype.keyword.html create mode 100644 node_modules/pug/test/output/doctype.keyword.js create mode 100644 node_modules/pug/test/output/each.else.html create mode 100644 node_modules/pug/test/output/each.else.js create mode 100644 node_modules/pug/test/output/escape-chars.html create mode 100644 node_modules/pug/test/output/escape-chars.js create mode 100644 node_modules/pug/test/output/escape-test.html create mode 100644 node_modules/pug/test/output/escape-test.js create mode 100644 node_modules/pug/test/output/escaping-class-attribute.html create mode 100644 node_modules/pug/test/output/escaping-class-attribute.js create mode 100644 node_modules/pug/test/output/filter-in-include.html create mode 100644 node_modules/pug/test/output/filter-in-include.js create mode 100644 node_modules/pug/test/output/filters-empty.html create mode 100644 node_modules/pug/test/output/filters-empty.js create mode 100644 node_modules/pug/test/output/filters.coffeescript.html create mode 100644 node_modules/pug/test/output/filters.coffeescript.js create mode 100644 node_modules/pug/test/output/filters.custom.html create mode 100644 node_modules/pug/test/output/filters.custom.js create mode 100644 node_modules/pug/test/output/filters.include.custom.html create mode 100644 node_modules/pug/test/output/filters.include.custom.js create mode 100644 node_modules/pug/test/output/filters.include.html create mode 100644 node_modules/pug/test/output/filters.include.js create mode 100644 node_modules/pug/test/output/filters.inline.html create mode 100644 node_modules/pug/test/output/filters.inline.js create mode 100644 node_modules/pug/test/output/filters.less.html create mode 100644 node_modules/pug/test/output/filters.less.js create mode 100644 node_modules/pug/test/output/filters.markdown.html create mode 100644 node_modules/pug/test/output/filters.markdown.js create mode 100644 node_modules/pug/test/output/filters.nested.html create mode 100644 node_modules/pug/test/output/filters.nested.js create mode 100644 node_modules/pug/test/output/filters.stylus.html create mode 100644 node_modules/pug/test/output/filters.stylus.js create mode 100644 node_modules/pug/test/output/html.html create mode 100644 node_modules/pug/test/output/html.js create mode 100644 node_modules/pug/test/output/html5.html create mode 100644 node_modules/pug/test/output/html5.js create mode 100644 node_modules/pug/test/output/include-extends-from-root.html create mode 100644 node_modules/pug/test/output/include-extends-from-root.js create mode 100644 node_modules/pug/test/output/include-extends-of-common-template.html create mode 100644 node_modules/pug/test/output/include-extends-of-common-template.js create mode 100644 node_modules/pug/test/output/include-extends-relative.html create mode 100644 node_modules/pug/test/output/include-extends-relative.js create mode 100644 node_modules/pug/test/output/include-only-text-body.html create mode 100644 node_modules/pug/test/output/include-only-text-body.js create mode 100644 node_modules/pug/test/output/include-only-text.html create mode 100644 node_modules/pug/test/output/include-only-text.js create mode 100644 node_modules/pug/test/output/include-with-text-head.html create mode 100644 node_modules/pug/test/output/include-with-text-head.js create mode 100644 node_modules/pug/test/output/include-with-text.html create mode 100644 node_modules/pug/test/output/include-with-text.js create mode 100644 node_modules/pug/test/output/include.script.html create mode 100644 node_modules/pug/test/output/include.script.js create mode 100644 node_modules/pug/test/output/include.yield.nested.html create mode 100644 node_modules/pug/test/output/include.yield.nested.js create mode 100644 node_modules/pug/test/output/includes-with-ext-js.html create mode 100644 node_modules/pug/test/output/includes-with-ext-js.js create mode 100644 node_modules/pug/test/output/includes.html create mode 100644 node_modules/pug/test/output/includes.js create mode 100644 node_modules/pug/test/output/inheritance.alert-dialog.html create mode 100644 node_modules/pug/test/output/inheritance.alert-dialog.js create mode 100644 node_modules/pug/test/output/inheritance.defaults.html create mode 100644 node_modules/pug/test/output/inheritance.defaults.js create mode 100644 node_modules/pug/test/output/inheritance.extend.html create mode 100644 node_modules/pug/test/output/inheritance.extend.include.html create mode 100644 node_modules/pug/test/output/inheritance.extend.include.js create mode 100644 node_modules/pug/test/output/inheritance.extend.js create mode 100644 node_modules/pug/test/output/inheritance.extend.mixins.block.html create mode 100644 node_modules/pug/test/output/inheritance.extend.mixins.block.js create mode 100644 node_modules/pug/test/output/inheritance.extend.mixins.html create mode 100644 node_modules/pug/test/output/inheritance.extend.mixins.js create mode 100644 node_modules/pug/test/output/inheritance.extend.recursive.html create mode 100644 node_modules/pug/test/output/inheritance.extend.recursive.js create mode 100644 node_modules/pug/test/output/inheritance.extend.whitespace.html create mode 100644 node_modules/pug/test/output/inheritance.extend.whitespace.js create mode 100644 node_modules/pug/test/output/inheritance.html create mode 100644 node_modules/pug/test/output/inheritance.js create mode 100644 node_modules/pug/test/output/inline-tag.html create mode 100644 node_modules/pug/test/output/inline-tag.js create mode 100644 node_modules/pug/test/output/intepolated-elements.html create mode 100644 node_modules/pug/test/output/intepolated-elements.js create mode 100644 node_modules/pug/test/output/interpolated-mixin.html create mode 100644 node_modules/pug/test/output/interpolated-mixin.js create mode 100644 node_modules/pug/test/output/interpolation.escape.html create mode 100644 node_modules/pug/test/output/interpolation.escape.js create mode 100644 node_modules/pug/test/output/layout.append.html create mode 100644 node_modules/pug/test/output/layout.append.js create mode 100644 node_modules/pug/test/output/layout.append.without-block.html create mode 100644 node_modules/pug/test/output/layout.append.without-block.js create mode 100644 node_modules/pug/test/output/layout.multi.append.prepend.block.html create mode 100644 node_modules/pug/test/output/layout.multi.append.prepend.block.js create mode 100644 node_modules/pug/test/output/layout.prepend.html create mode 100644 node_modules/pug/test/output/layout.prepend.js create mode 100644 node_modules/pug/test/output/layout.prepend.without-block.html create mode 100644 node_modules/pug/test/output/layout.prepend.without-block.js create mode 100644 node_modules/pug/test/output/mixin-at-end-of-file.html create mode 100644 node_modules/pug/test/output/mixin-at-end-of-file.js create mode 100644 node_modules/pug/test/output/mixin-block-with-space.html create mode 100644 node_modules/pug/test/output/mixin-block-with-space.js create mode 100644 node_modules/pug/test/output/mixin-hoist.html create mode 100644 node_modules/pug/test/output/mixin-hoist.js create mode 100644 node_modules/pug/test/output/mixin-via-include.html create mode 100644 node_modules/pug/test/output/mixin-via-include.js create mode 100644 node_modules/pug/test/output/mixin.attrs.html create mode 100644 node_modules/pug/test/output/mixin.attrs.js create mode 100644 node_modules/pug/test/output/mixin.block-tag-behaviour.html create mode 100644 node_modules/pug/test/output/mixin.block-tag-behaviour.js create mode 100644 node_modules/pug/test/output/mixin.blocks.html create mode 100644 node_modules/pug/test/output/mixin.blocks.js create mode 100644 node_modules/pug/test/output/mixin.merge.html create mode 100644 node_modules/pug/test/output/mixin.merge.js create mode 100644 node_modules/pug/test/output/mixins-unused.html create mode 100644 node_modules/pug/test/output/mixins-unused.js create mode 100644 node_modules/pug/test/output/mixins.html create mode 100644 node_modules/pug/test/output/mixins.js create mode 100644 node_modules/pug/test/output/mixins.rest-args.html create mode 100644 node_modules/pug/test/output/mixins.rest-args.js create mode 100644 node_modules/pug/test/output/namespaces.html create mode 100644 node_modules/pug/test/output/namespaces.js create mode 100644 node_modules/pug/test/output/nesting.html create mode 100644 node_modules/pug/test/output/nesting.js create mode 100644 node_modules/pug/test/output/pipeless-comments.html create mode 100644 node_modules/pug/test/output/pipeless-comments.js create mode 100644 node_modules/pug/test/output/pipeless-filters.html create mode 100644 node_modules/pug/test/output/pipeless-filters.js create mode 100644 node_modules/pug/test/output/pipeless-tag.html create mode 100644 node_modules/pug/test/output/pipeless-tag.js create mode 100644 node_modules/pug/test/output/pre.html create mode 100644 node_modules/pug/test/output/pre.js create mode 100644 node_modules/pug/test/output/quotes.html create mode 100644 node_modules/pug/test/output/quotes.js create mode 100644 node_modules/pug/test/output/regression.1794.html create mode 100644 node_modules/pug/test/output/regression.1794.js create mode 100644 node_modules/pug/test/output/regression.784.html create mode 100644 node_modules/pug/test/output/regression.784.js create mode 100644 node_modules/pug/test/output/script.whitespace.html create mode 100644 node_modules/pug/test/output/script.whitespace.js create mode 100644 node_modules/pug/test/output/scripts.html create mode 100644 node_modules/pug/test/output/scripts.js create mode 100644 node_modules/pug/test/output/scripts.non-js.html create mode 100644 node_modules/pug/test/output/scripts.non-js.js create mode 100644 node_modules/pug/test/output/self-closing-html.html create mode 100644 node_modules/pug/test/output/self-closing-html.js create mode 100644 node_modules/pug/test/output/single-period.html create mode 100644 node_modules/pug/test/output/single-period.js create mode 100644 node_modules/pug/test/output/source.html create mode 100644 node_modules/pug/test/output/source.js create mode 100644 node_modules/pug/test/output/styles.html create mode 100644 node_modules/pug/test/output/styles.js create mode 100644 node_modules/pug/test/output/tag.interpolation.html create mode 100644 node_modules/pug/test/output/tag.interpolation.js create mode 100644 node_modules/pug/test/output/tags.self-closing.html create mode 100644 node_modules/pug/test/output/tags.self-closing.js create mode 100644 node_modules/pug/test/output/template.html create mode 100644 node_modules/pug/test/output/template.js create mode 100644 node_modules/pug/test/output/text-block.html create mode 100644 node_modules/pug/test/output/text-block.js create mode 100644 node_modules/pug/test/output/text.html create mode 100644 node_modules/pug/test/output/text.js create mode 100644 node_modules/pug/test/output/utf8bom.html create mode 100644 node_modules/pug/test/output/utf8bom.js create mode 100644 node_modules/pug/test/output/vars.html create mode 100644 node_modules/pug/test/output/vars.js create mode 100644 node_modules/pug/test/output/while.html create mode 100644 node_modules/pug/test/output/while.js create mode 100644 node_modules/pug/test/output/xml.html create mode 100644 node_modules/pug/test/output/xml.js create mode 100644 node_modules/pug/test/output/yield-before-conditional-head.html create mode 100644 node_modules/pug/test/output/yield-before-conditional-head.js create mode 100644 node_modules/pug/test/output/yield-before-conditional.html create mode 100644 node_modules/pug/test/output/yield-before-conditional.js create mode 100644 node_modules/pug/test/output/yield-head.html create mode 100644 node_modules/pug/test/output/yield-head.js create mode 100644 node_modules/pug/test/output/yield-title-head.html create mode 100644 node_modules/pug/test/output/yield-title-head.js create mode 100644 node_modules/pug/test/output/yield-title.html create mode 100644 node_modules/pug/test/output/yield-title.js create mode 100644 node_modules/pug/test/output/yield.html create mode 100644 node_modules/pug/test/output/yield.js create mode 100644 node_modules/pug/test/pug.test.js create mode 100644 node_modules/pug/test/regression-2436/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug/test/regression-2436/index.test.js create mode 100644 node_modules/pug/test/regression-2436/issue1.pug create mode 100644 node_modules/pug/test/regression-2436/issue2.pug create mode 100644 node_modules/pug/test/regression-2436/layout.pug create mode 100644 node_modules/pug/test/regression-2436/other1.pug create mode 100644 node_modules/pug/test/regression-2436/other2.pug create mode 100644 node_modules/pug/test/regression-2436/other_layout.pug create mode 100644 node_modules/pug/test/run-es2015.test.js create mode 100644 node_modules/pug/test/run-syntax-errors.test.js create mode 100644 node_modules/pug/test/run-utils.js create mode 100644 node_modules/pug/test/run.test.js create mode 100644 node_modules/pug/test/shadowed-block/__snapshots__/index.test.js.snap create mode 100644 node_modules/pug/test/shadowed-block/base.pug create mode 100644 node_modules/pug/test/shadowed-block/index.pug create mode 100644 node_modules/pug/test/shadowed-block/index.test.js create mode 100644 node_modules/pug/test/shadowed-block/layout.pug create mode 100644 node_modules/pug/test/temp/input-compileFile.pug create mode 100644 node_modules/pug/test/temp/input-compileFileClient.pug create mode 100644 node_modules/pug/test/temp/input-compileModuleFileClient.js create mode 100644 node_modules/pug/test/temp/input-renderFile.pug create mode 100644 node_modules/punycode/LICENSE-MIT.txt create mode 100644 node_modules/punycode/README.md create mode 100644 node_modules/punycode/package.json create mode 100644 node_modules/punycode/punycode.js create mode 100644 node_modules/qs/.eslintignore create mode 100644 node_modules/qs/.eslintrc create mode 100644 node_modules/qs/.jscs.json create mode 100644 node_modules/qs/CHANGELOG.md create mode 100644 node_modules/qs/LICENSE create mode 100644 node_modules/qs/README.md create mode 100644 node_modules/qs/dist/qs.js create mode 100644 node_modules/qs/lib/formats.js create mode 100644 node_modules/qs/lib/index.js create mode 100644 node_modules/qs/lib/parse.js create mode 100644 node_modules/qs/lib/stringify.js create mode 100644 node_modules/qs/lib/utils.js create mode 100644 node_modules/qs/package.json create mode 100644 node_modules/qs/test/.eslintrc create mode 100644 node_modules/qs/test/index.js create mode 100644 node_modules/qs/test/parse.js create mode 100644 node_modules/qs/test/stringify.js create mode 100644 node_modules/qs/test/utils.js create mode 100644 node_modules/repeat-string/LICENSE create mode 100644 node_modules/repeat-string/README.md create mode 100644 node_modules/repeat-string/index.js create mode 100644 node_modules/repeat-string/package.json create mode 100644 node_modules/request/CHANGELOG.md create mode 100644 node_modules/request/LICENSE create mode 100644 node_modules/request/README.md create mode 100644 node_modules/request/index.js create mode 100644 node_modules/request/lib/auth.js create mode 100644 node_modules/request/lib/cookies.js create mode 100644 node_modules/request/lib/getProxyFromURI.js create mode 100644 node_modules/request/lib/har.js create mode 100644 node_modules/request/lib/helpers.js create mode 100644 node_modules/request/lib/multipart.js create mode 100644 node_modules/request/lib/oauth.js create mode 100644 node_modules/request/lib/querystring.js create mode 100644 node_modules/request/lib/redirect.js create mode 100644 node_modules/request/lib/tunnel.js create mode 100644 node_modules/request/package.json create mode 100644 node_modules/request/request.js create mode 100644 node_modules/resolve/.editorconfig create mode 100644 node_modules/resolve/.eslintignore create mode 100644 node_modules/resolve/.eslintrc create mode 100644 node_modules/resolve/.travis.yml create mode 100644 node_modules/resolve/LICENSE create mode 100644 node_modules/resolve/appveyor.yml create mode 100644 node_modules/resolve/example/async.js create mode 100644 node_modules/resolve/example/sync.js create mode 100644 node_modules/resolve/index.js create mode 100644 node_modules/resolve/lib/async.js create mode 100644 node_modules/resolve/lib/caller.js create mode 100644 node_modules/resolve/lib/core.js create mode 100644 node_modules/resolve/lib/core.json create mode 100644 node_modules/resolve/lib/node-modules-paths.js create mode 100644 node_modules/resolve/lib/sync.js create mode 100644 node_modules/resolve/package.json create mode 100644 node_modules/resolve/readme.markdown create mode 100644 node_modules/resolve/test/core.js create mode 100644 node_modules/resolve/test/dotdot.js create mode 100644 node_modules/resolve/test/dotdot/abc/index.js create mode 100644 node_modules/resolve/test/dotdot/index.js create mode 100644 node_modules/resolve/test/faulty_basedir.js create mode 100644 node_modules/resolve/test/filter.js create mode 100644 node_modules/resolve/test/filter_sync.js create mode 100644 node_modules/resolve/test/mock.js create mode 100644 node_modules/resolve/test/mock_sync.js create mode 100644 node_modules/resolve/test/module_dir.js create mode 100644 node_modules/resolve/test/module_dir/xmodules/aaa/index.js create mode 100644 node_modules/resolve/test/module_dir/ymodules/aaa/index.js create mode 100644 node_modules/resolve/test/module_dir/zmodules/bbb/main.js create mode 100644 node_modules/resolve/test/module_dir/zmodules/bbb/package.json create mode 100644 node_modules/resolve/test/node-modules-paths.js create mode 100644 node_modules/resolve/test/node_path.js create mode 100644 node_modules/resolve/test/node_path/x/aaa/index.js create mode 100644 node_modules/resolve/test/node_path/x/ccc/index.js create mode 100644 node_modules/resolve/test/node_path/y/bbb/index.js create mode 100644 node_modules/resolve/test/node_path/y/ccc/index.js create mode 100644 node_modules/resolve/test/nonstring.js create mode 100644 node_modules/resolve/test/pathfilter.js create mode 100644 node_modules/resolve/test/pathfilter/deep_ref/main.js create mode 100644 node_modules/resolve/test/precedence.js create mode 100644 node_modules/resolve/test/precedence/aaa.js create mode 100644 node_modules/resolve/test/precedence/aaa/index.js create mode 100644 node_modules/resolve/test/precedence/aaa/main.js create mode 100644 node_modules/resolve/test/precedence/bbb.js create mode 100644 node_modules/resolve/test/precedence/bbb/main.js create mode 100644 node_modules/resolve/test/resolver.js create mode 100644 node_modules/resolve/test/resolver/baz/doom.js create mode 100644 node_modules/resolve/test/resolver/baz/package.json create mode 100644 node_modules/resolve/test/resolver/baz/quux.js create mode 100644 node_modules/resolve/test/resolver/cup.coffee create mode 100644 node_modules/resolve/test/resolver/dot_main/index.js create mode 100644 node_modules/resolve/test/resolver/dot_main/package.json create mode 100644 node_modules/resolve/test/resolver/dot_slash_main/index.js create mode 100644 node_modules/resolve/test/resolver/dot_slash_main/package.json create mode 100644 node_modules/resolve/test/resolver/foo.js create mode 100644 node_modules/resolve/test/resolver/incorrect_main/index.js create mode 100644 node_modules/resolve/test/resolver/incorrect_main/package.json create mode 100644 node_modules/resolve/test/resolver/mug.coffee create mode 100644 node_modules/resolve/test/resolver/mug.js create mode 100644 node_modules/resolve/test/resolver/other_path/lib/other-lib.js create mode 100644 node_modules/resolve/test/resolver/other_path/root.js create mode 100644 node_modules/resolve/test/resolver/quux/foo/index.js create mode 100644 node_modules/resolve/test/resolver/same_names/foo.js create mode 100644 node_modules/resolve/test/resolver/same_names/foo/index.js create mode 100644 node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep create mode 100644 node_modules/resolve/test/resolver/without_basedir/main.js create mode 100644 node_modules/resolve/test/resolver_sync.js create mode 100644 node_modules/resolve/test/subdirs.js create mode 100644 node_modules/resolve/test/symlinks.js create mode 100644 node_modules/right-align/LICENSE create mode 100644 node_modules/right-align/README.md create mode 100644 node_modules/right-align/index.js create mode 100644 node_modules/right-align/package.json create mode 100644 node_modules/safe-buffer/.travis.yml create mode 100644 node_modules/safe-buffer/LICENSE create mode 100644 node_modules/safe-buffer/README.md create mode 100644 node_modules/safe-buffer/index.js create mode 100644 node_modules/safe-buffer/package.json create mode 100644 node_modules/safe-buffer/test.js create mode 100644 node_modules/sntp/.npmignore create mode 100644 node_modules/sntp/.travis.yml create mode 100644 node_modules/sntp/LICENSE create mode 100644 node_modules/sntp/Makefile create mode 100644 node_modules/sntp/README.md create mode 100644 node_modules/sntp/examples/offset.js create mode 100644 node_modules/sntp/examples/time.js create mode 100644 node_modules/sntp/index.js create mode 100644 node_modules/sntp/lib/index.js create mode 100644 node_modules/sntp/package.json create mode 100644 node_modules/sntp/test/index.js create mode 100644 node_modules/source-map/README.md create mode 100644 node_modules/source-map/build/assert-shim.js create mode 100644 node_modules/source-map/build/mini-require.js create mode 100644 node_modules/source-map/build/prefix-source-map.jsm create mode 100644 node_modules/source-map/build/prefix-utils.jsm create mode 100644 node_modules/source-map/build/suffix-browser.js create mode 100644 node_modules/source-map/build/suffix-source-map.jsm create mode 100644 node_modules/source-map/build/suffix-utils.jsm create mode 100644 node_modules/source-map/build/test-prefix.js create mode 100644 node_modules/source-map/build/test-suffix.js create mode 100644 node_modules/source-map/lib/source-map.js create mode 100644 node_modules/source-map/lib/source-map/array-set.js create mode 100644 node_modules/source-map/lib/source-map/base64-vlq.js create mode 100644 node_modules/source-map/lib/source-map/base64.js create mode 100644 node_modules/source-map/lib/source-map/binary-search.js create mode 100644 node_modules/source-map/lib/source-map/mapping-list.js create mode 100644 node_modules/source-map/lib/source-map/quick-sort.js create mode 100644 node_modules/source-map/lib/source-map/source-map-consumer.js create mode 100644 node_modules/source-map/lib/source-map/source-map-generator.js create mode 100644 node_modules/source-map/lib/source-map/source-node.js create mode 100644 node_modules/source-map/lib/source-map/util.js create mode 100644 node_modules/source-map/package.json create mode 100644 node_modules/sshpk/.npmignore create mode 100644 node_modules/sshpk/.travis.yml create mode 100644 node_modules/sshpk/LICENSE create mode 100644 node_modules/sshpk/README.md create mode 100644 node_modules/sshpk/bin/sshpk-conv create mode 100644 node_modules/sshpk/bin/sshpk-sign create mode 100644 node_modules/sshpk/bin/sshpk-verify create mode 100644 node_modules/sshpk/lib/algs.js create mode 100644 node_modules/sshpk/lib/certificate.js create mode 100644 node_modules/sshpk/lib/dhe.js create mode 100644 node_modules/sshpk/lib/ed-compat.js create mode 100644 node_modules/sshpk/lib/errors.js create mode 100644 node_modules/sshpk/lib/fingerprint.js create mode 100644 node_modules/sshpk/lib/formats/auto.js create mode 100644 node_modules/sshpk/lib/formats/openssh-cert.js create mode 100644 node_modules/sshpk/lib/formats/pem.js create mode 100644 node_modules/sshpk/lib/formats/pkcs1.js create mode 100644 node_modules/sshpk/lib/formats/pkcs8.js create mode 100644 node_modules/sshpk/lib/formats/rfc4253.js create mode 100644 node_modules/sshpk/lib/formats/ssh-private.js create mode 100644 node_modules/sshpk/lib/formats/ssh.js create mode 100644 node_modules/sshpk/lib/formats/x509-pem.js create mode 100644 node_modules/sshpk/lib/formats/x509.js create mode 100644 node_modules/sshpk/lib/identity.js create mode 100644 node_modules/sshpk/lib/index.js create mode 100644 node_modules/sshpk/lib/key.js create mode 100644 node_modules/sshpk/lib/private-key.js create mode 100644 node_modules/sshpk/lib/signature.js create mode 100644 node_modules/sshpk/lib/ssh-buffer.js create mode 100644 node_modules/sshpk/lib/utils.js create mode 100644 node_modules/sshpk/man/man1/sshpk-conv.1 create mode 100644 node_modules/sshpk/man/man1/sshpk-sign.1 create mode 100644 node_modules/sshpk/man/man1/sshpk-verify.1 create mode 100644 node_modules/sshpk/node_modules/assert-plus/AUTHORS create mode 100644 node_modules/sshpk/node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/sshpk/node_modules/assert-plus/README.md create mode 100644 node_modules/sshpk/node_modules/assert-plus/assert.js create mode 100644 node_modules/sshpk/node_modules/assert-plus/package.json create mode 100644 node_modules/sshpk/package.json create mode 100644 node_modules/stringstream/.npmignore create mode 100644 node_modules/stringstream/.travis.yml create mode 100644 node_modules/stringstream/LICENSE.txt create mode 100644 node_modules/stringstream/README.md create mode 100644 node_modules/stringstream/example.js create mode 100644 node_modules/stringstream/package.json create mode 100644 node_modules/stringstream/stringstream.js create mode 100644 node_modules/strip-ansi/index.js create mode 100644 node_modules/strip-ansi/license create mode 100644 node_modules/strip-ansi/package.json create mode 100644 node_modules/strip-ansi/readme.md create mode 100644 node_modules/supports-color/index.js create mode 100644 node_modules/supports-color/license create mode 100644 node_modules/supports-color/package.json create mode 100644 node_modules/supports-color/readme.md create mode 100644 node_modules/token-stream/.npmignore create mode 100644 node_modules/token-stream/.travis.yml create mode 100644 node_modules/token-stream/LICENSE create mode 100644 node_modules/token-stream/README.md create mode 100644 node_modules/token-stream/index.js create mode 100644 node_modules/token-stream/package.json create mode 100644 node_modules/token-stream/test/index.js create mode 100644 node_modules/tough-cookie/LICENSE create mode 100644 node_modules/tough-cookie/README.md create mode 100644 node_modules/tough-cookie/lib/cookie.js create mode 100644 node_modules/tough-cookie/lib/memstore.js create mode 100644 node_modules/tough-cookie/lib/pathMatch.js create mode 100644 node_modules/tough-cookie/lib/permuteDomain.js create mode 100644 node_modules/tough-cookie/lib/pubsuffix.js create mode 100644 node_modules/tough-cookie/lib/store.js create mode 100644 node_modules/tough-cookie/package.json create mode 100644 node_modules/tunnel-agent/LICENSE create mode 100644 node_modules/tunnel-agent/README.md create mode 100644 node_modules/tunnel-agent/index.js create mode 100644 node_modules/tunnel-agent/package.json create mode 100644 node_modules/tweetnacl/.npmignore create mode 100644 node_modules/tweetnacl/AUTHORS.md create mode 100644 node_modules/tweetnacl/CHANGELOG.md create mode 100644 node_modules/tweetnacl/LICENSE create mode 100644 node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md create mode 100644 node_modules/tweetnacl/README.md create mode 100644 node_modules/tweetnacl/nacl-fast.js create mode 100644 node_modules/tweetnacl/nacl-fast.min.js create mode 100644 node_modules/tweetnacl/nacl.d.ts create mode 100644 node_modules/tweetnacl/nacl.js create mode 100644 node_modules/tweetnacl/nacl.min.js create mode 100644 node_modules/tweetnacl/package.json create mode 100644 node_modules/uglify-js/LICENSE create mode 100644 node_modules/uglify-js/README.md create mode 100644 node_modules/uglify-js/bin/extract-props.js create mode 100644 node_modules/uglify-js/bin/uglifyjs create mode 100644 node_modules/uglify-js/lib/ast.js create mode 100644 node_modules/uglify-js/lib/compress.js create mode 100644 node_modules/uglify-js/lib/mozilla-ast.js create mode 100644 node_modules/uglify-js/lib/output.js create mode 100644 node_modules/uglify-js/lib/parse.js create mode 100644 node_modules/uglify-js/lib/propmangle.js create mode 100644 node_modules/uglify-js/lib/scope.js create mode 100644 node_modules/uglify-js/lib/sourcemap.js create mode 100644 node_modules/uglify-js/lib/transform.js create mode 100644 node_modules/uglify-js/lib/utils.js create mode 100644 node_modules/uglify-js/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/uglify-js/node_modules/source-map/LICENSE create mode 100644 node_modules/uglify-js/node_modules/source-map/README.md create mode 100644 node_modules/uglify-js/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/uglify-js/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/uglify-js/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/uglify-js/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/base64.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/uglify-js/node_modules/source-map/lib/util.js create mode 100644 node_modules/uglify-js/node_modules/source-map/package.json create mode 100644 node_modules/uglify-js/node_modules/source-map/source-map.js create mode 100644 node_modules/uglify-js/package.json create mode 100644 node_modules/uglify-js/tools/domprops.json create mode 100644 node_modules/uglify-js/tools/exports.js create mode 100644 node_modules/uglify-js/tools/node.js create mode 100644 node_modules/uglify-js/tools/props.html create mode 100644 node_modules/uglify-to-browserify/.npmignore create mode 100644 node_modules/uglify-to-browserify/.travis.yml create mode 100644 node_modules/uglify-to-browserify/LICENSE create mode 100644 node_modules/uglify-to-browserify/README.md create mode 100644 node_modules/uglify-to-browserify/index.js create mode 100644 node_modules/uglify-to-browserify/package.json create mode 100644 node_modules/uglify-to-browserify/test/index.js create mode 100644 node_modules/uuid/.eslintrc.json create mode 100644 node_modules/uuid/AUTHORS create mode 100644 node_modules/uuid/HISTORY.md create mode 100644 node_modules/uuid/LICENSE.md create mode 100644 node_modules/uuid/README.md create mode 100644 node_modules/uuid/bin/uuid create mode 100644 node_modules/uuid/index.js create mode 100644 node_modules/uuid/lib/bytesToUuid.js create mode 100644 node_modules/uuid/lib/rng-browser.js create mode 100644 node_modules/uuid/lib/rng.js create mode 100644 node_modules/uuid/lib/sha1-browser.js create mode 100644 node_modules/uuid/lib/sha1.js create mode 100644 node_modules/uuid/package.json create mode 100644 node_modules/uuid/v1.js create mode 100644 node_modules/uuid/v4.js create mode 100644 node_modules/uuid/v5.js create mode 100644 node_modules/verror/.npmignore create mode 100644 node_modules/verror/CHANGES.md create mode 100644 node_modules/verror/CONTRIBUTING.md create mode 100644 node_modules/verror/LICENSE create mode 100644 node_modules/verror/README.md create mode 100644 node_modules/verror/lib/verror.js create mode 100644 node_modules/verror/node_modules/assert-plus/AUTHORS create mode 100644 node_modules/verror/node_modules/assert-plus/CHANGES.md create mode 100644 node_modules/verror/node_modules/assert-plus/README.md create mode 100644 node_modules/verror/node_modules/assert-plus/assert.js create mode 100644 node_modules/verror/node_modules/assert-plus/package.json create mode 100644 node_modules/verror/package.json create mode 100644 node_modules/void-elements/.gitattributes create mode 100644 node_modules/void-elements/.npmignore create mode 100644 node_modules/void-elements/.travis.yml create mode 100644 node_modules/void-elements/LICENSE create mode 100644 node_modules/void-elements/README.md create mode 100644 node_modules/void-elements/index.js create mode 100644 node_modules/void-elements/package.json create mode 100644 node_modules/void-elements/pre-publish.js create mode 100644 node_modules/void-elements/test/index.js create mode 100644 node_modules/window-size/LICENSE-MIT create mode 100644 node_modules/window-size/README.md create mode 100644 node_modules/window-size/index.js create mode 100644 node_modules/window-size/package.json create mode 100644 node_modules/with/.npmignore create mode 100644 node_modules/with/LICENSE create mode 100644 node_modules/with/README.md create mode 100644 node_modules/with/index.js create mode 100644 node_modules/with/package.json create mode 100644 node_modules/wordwrap/.npmignore create mode 100644 node_modules/wordwrap/README.markdown create mode 100644 node_modules/wordwrap/example/center.js create mode 100644 node_modules/wordwrap/example/meat.js create mode 100644 node_modules/wordwrap/index.js create mode 100644 node_modules/wordwrap/package.json create mode 100644 node_modules/wordwrap/test/break.js create mode 100644 node_modules/wordwrap/test/idleness.txt create mode 100644 node_modules/wordwrap/test/wrap.js create mode 100644 node_modules/yargs/CHANGELOG.md create mode 100644 node_modules/yargs/LICENSE create mode 100644 node_modules/yargs/README.md create mode 100644 node_modules/yargs/completion.sh.hbs create mode 100644 node_modules/yargs/index.js create mode 100644 node_modules/yargs/lib/completion.js create mode 100644 node_modules/yargs/lib/parser.js create mode 100644 node_modules/yargs/lib/usage.js create mode 100644 node_modules/yargs/lib/validation.js create mode 100644 node_modules/yargs/package.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 readme.md create mode 100644 rubik-regular-webfont.woff create mode 100644 rubik-regular-webfont.woff2 create mode 100644 script.js create mode 100644 style.css create mode 100644 style.less diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..bdb0cab --- /dev/null +++ b/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd2946a --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ========================= +# Operating System Files +# ========================= + +# OSX +# ========================= + +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/Rubik-Regular.ttf b/Rubik-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..20100d2fc0afc686a3c0eb9b1350bbb31dc557b7 GIT binary patch literal 220600 zcmeFa378yJ**1Ktdf%(}y}Nqfrn_ffvrRIY>Dd%EvdGTPCw-~#)QX_%j)Gr3s!D?@2q8v*{@|x_tNnjkKJT`>+j!ZYyr~P z*zudsly&Ph7cq9!dZd@vZd$kT`oZ7)ld&Txk7L&zd&VZ_XC{>YI<8CWPTsoq3(vo> zjj>}dWWvhD>rdFY#k@T>2NmALSYONfHOHQ?|Het1aqoPj?_Q4+hN^B7jxWJ+di};T zx6C1#Ia{cz1IxF5;c z8sv#v*~Q|s8Q8^4r(QSX921{p8XRlHlyEJsF!2!)9Aj50d*KDv&cI=j z>9sg3GVLyAt}bTsk@f61Z9V-AHjS};bCo)1?xFPT0lF?4#YeD{nN>*AF{(=Y_pt9_ z(}erju;64fgfFr|_AZWp%Lavc*glJ`A6pByd$28LJ?N1^q#so88x(9v|CoB;>uQ?Y zv9I6vRW>MoiAkSi(|m^sw28N}<=FZTxz%uuwr?|sxET9SvJE2LeaP?N?FpR!HS>$u z3l_dD!(J;`#{Z1%6~q@}{~WdtgeY^+dGRck?7N9mJ^$|B-A-Cl?e=RoJms#bLY{F&C&C}C8&D$|3 z=a}(*BKE*HVSFZgcl=-2UdQ$twqIiVvtWfR^JAp@=lJtNZv0&#$4tUFn@1bOobKnF zP~`iBP{B0~3uw-vGCpP-M1B61jPknAqxuWTQ{4uz&k6rzrN;J;ruenY zE!@QXLJfPw#bs>x6K}07u1T}Z!JC+7QSe+ocmp4b%^R1)Dyxc@s8}Z+%tgKPsK+^M zvhW4w6^B`?xP%qNG+7i4{uRfJ7Q`vJ2HN3e*n675~Ze8LhI5=NLT6qr{yfhBQ1!2ZZm*uwwa^e8i{ zVZh~2uqtu>tw&iwvScOzA7-$#@=SV!ma4Dn^>>- zAnO+%VeR5t+>>P8!fPx@8{0LW(JX@wUC#Qj1yS$W*h0d2Xv=xH{uY}e>cR8F!JosC z?nqX~)+4;ihQz6CNTXr1gt<5t*pLu_-hG3mLmpN#|d`*;xA46h<@C&g3Z_7fO57#N32KxCs-aj$ER6^c77kaUj}AA2RqOL zZ0ErfEz1c1Vm8!s0s9+UApC^c#nadVaWk96-az?uEseU_aPL~2zlCLZy1lq}F`F%( z0UbP@wF@5tPv=25MxdY0M?P=izQ3U!cd{04Z!QKVZ^Kr__Fd#fw&Dj!doJ)**UhBE zA7*y0ugM;euBAQcU9v%>Lyu$u@Gi>r;8Qrig_Sj1*>cTQi0@_|O%L|x@vW@+I`*Uk zuLQ4(XzzT;!k@vDB; z#xf#w5pX$ATmTvS9`;sjCDx)@f_(*Lpq-i*(59cDF4VqfQT7h(Ne7Go@+j-$vh_hI-uq98w=rpAyf|9_X-PoNE)- zvPsyoz+w(EGAs_DoDFEl1{`mPUf7On9l%im_SFj<&tStE0qN*mhD{PLhd=cHwXQiC zy6dhmeyE&7LM17kSFg-hFDa)QbUsg5Pfh!w`2(OR z4gVCHuPJ95RK0{x(*BpJ@b18<_{#$W?mds z6cr#g@x(n;7X(fQs#GK7Mi~-6d9&sV9moNdrWfVLqqe2P!w^n2OUBY z93o@t9%Q2iL<_}bZ91pg|TG{|5`PAZVC{KqD*+8fB634_J&vLF1gtEQWZ3#mE27l1v6o zu>@$EB|$SRHU2&{UK%vVGN907paqs2{~If^JZOm(KwDT5w9HE5@39JN0j+Y{%F2kh zvC8;gF>35CC$T=z$*h0; z&uj{(Q`rFG)7T`?K{k2(Pi#7y0y=|D1s!73KxeYS@psrTn+`gQ%>bRvhCt`And5(C zbJ;NHJT?n-KAR1?0Q7CPkj(*I#O8u7X7fM~WAn$~Vu!N@pi9_7(4}k<=rXo={7tr; z9R|9B9S*vZEdd>2OUK_}N3dm}N3!LhN3j*4t3Y38N3)fn$FLF5)$9n+W7(18e_+S4 zqd<>mt3Xd+M}w|m$G|UN%T|M~W5}o=W%*IJ8S$Ub^+TA`YCoc=!I+x=%?A%@fX=e>>SXG*}0&Xu=7AKW#^Co zmR-g!0R0U66zJvbLeMMNr^jDl+t@{*S8{q4yBP89>=M}4tJ$TX*Rab#uVtSBy^dWz z{v5lWT><)8whip^d4 zpB?`-yMx^TdMCRPbQik`^e%Su_^;UK*e#%+XFEXeW;;Q@z;4Bu=!@(&(0kbJpkHEl zfZogQ9Djy=nbWVppM8ei$L<3CD*N2{)9h>P^Pu;$yFqL03!tOyi{nqR-RvIFJ?u-M zd)d99UuRz)|1b6p_7%_v*nOZ6vaf*GIX-(%kZ{XTmD^fC4z=nvRK<3D3RWDkS>hzfc}&{I{qa48T&3M@&g@X-v|8#du;qC?7!F#K%Zhi1bv$Q2=p2D`1lj- zm+Z%&zhX~-{+iQg*-yrQ%zne31bvSE6!dxaGtd{<&&MBUzhz^fFS1{NzQq0u^kw$c z_>b7{*wdiDXU~AX!hQ+*D*M&=57}$%*Pwsk^mXzp+W7a_`|J;(f9LcA z_B!JKU~i0n7vr%vLHDt@K>x+w2K|uzar{xXpS=S*&i(|-pm&*gp2?!Yl$Ay+;!lG= zt%hjhNZ$x1lNvSX4Z4Y7ptA;pUQ~ld)a&b4jmpKweR`t-DeHk!)sJY8YxS%346sLL zCZn1o-C4h+*YYS%)Jw)*qrqkD@MmhItlxq9YY>z}EkZp7?Rnw#lvFQ+L8sTC5WSB7 ziy|VZrB;v3)gTg=D1c?626ZHS$crEoJDk6dxdIQC<#~*5Az#Y6=s6QQ{B}TnbZ!)1CdJ``J zDR~3v4g@1L&B$-m>&#}{hf?U@fP#2Ru#tF3mBmHWM58t6HB_FKZlh8tsm^H7pvu%F z-Wnu5fHlo*LcTn6RME&$q%~4sFte4g2mWbAoq|2iO`Uqg`-Bs-c_L1ksiA(d-XR)I z{feGLt$v;FP3jTn6Qygqsy9-YxLHL8c4iaW%R_xn2h;~VG(bEi=Nz|#>(-QUoJQHOD;DMRALfwh# zm^k*pUg9_5iE2rmfu2;bXR;Cu4d`Q&mJoyc3|2_E!GwxZg$yD$MsOF^HNNv|!z%;@h57f$f2G~PYAk-71UTCGkph5Rjz}-*+obAv|5Of4? zA;2L7;*&;0O)(=As5uer12;*>5cYT)tp>Rut%5x&2^kXvjT()~MhQ`v-mD|U;IzSp zVvS}F2p~s;ics4OMv9>-_%o4~)kDP*^8kB7h2CHWvP>2_wD1yeiZ_7v$iTv(3C#!W z87vkKSu^fZKuI7WCV~(+z!8+K)tMkg;0a^_xgcjPm1F|;&;Vj2E&_W<*~FUWIBK8< zqgkmHdI#9E+8fw|>`_jTHNu{9L=8g#imX;8N=Nmquvbr-CJ-m+_-)pdP6GFm`z?EC$5|ji5<(Mv` zM~OXPH&qDTMh1vFw1GW>A4w?Z7r~FfYc`q9T+I>o$iAU7MKi}97)ty`-{C&=69VZR zgASZC+mSK)7Q#u`BM=&K%3!n*AUPl)rIdle1nl8H08No>LKxgrJFsfZddM+OJD1I&;QR3-tOGXZ&-P0&oZ z3cS#5$gwV#oHZ);cpUjEm7`AP^#BF-Yz{3$Ij=?t+nnScQGN|Z#PeiA*UhI+}^LlTK^9DDW4jlIoi zoIo5I-o_Q=+JrqS0X>ScfIXfDoP%ED{i`#PeIS#qYr-C!BP~#8wwNszGgo?qJs2{= zo`sU@buh{(A1VfEIrPwe>~&_1#^RuagguLn6cakr=s=}RP!fpaNJH48h>2p@1ACmi zgf(I+U{4fv#2;bL#IZ*f7){_^&+oIKX|P~G3Q%aXamXTOf##!BR1~Rj!k-rYAQh?A zn~lU*G{=lI$Qd3ustShyQb~-YR7h$(h&2s1O)%PIfkZ%@lloJ_! zpiepCeZq;|J`rz%jC#^S!mR|(3o6cJnYcrVsaZ_i-kiWnK{?ULg4fz^s{>Y5i~Ovf zGaV`G=?5k@SBy`L=tFq1mzM@^q>XOZc=P9O47plL3>PkGh~ti znFo?s;uo<`Yq44^Hml8Qf!yK(G%%D2I#aY!awI}7P!T38?j!9%#svMK2j{F#RE_K& zE?S{wfOwM&P%_&9F{+M93t2!705NDG+)FUy+%;M_mrZ6XKSU0wxXo^{noV}Jg0vz~ zsj>?90c{+bMx)JWayU#DC~F9%4M?R_R211-YA(h*WT#LzV1@|l2c9TQKuW6x(nTIA z^d(Y(c?Ywm!KMj5gF{GbGN5;WJ;|+OU?emvq?~&lBy0Q#n1+nhgTn!#R>MSQrur$~ z^VI8508jxufDZ`u+pu>uV~vv3uTe4^g^2`pewj>myON!WIMoPx*f%POn>4j_NFrg6 zfMMg8)rugM+2l|hI;22=#!)h$Jn+v8SMsLI7SdrR9ngcT)G5><)W7he$gV4p1D7bu z;it7)Emk|Su@d%RQAo3pA=KEpY5;r9W*{Hq3XWrxMOTdmt5$1sVK{}ZLpAg^V2=>* zM%67gXep`=Vb2WkqUR|FJVDQZyTBR$L&U~8jXIjGCY!?oMmms?s*V;YYLOZOwjf(G zG@spQk|bncHiNx3V24l&01@^;AOU(VjWD%Vvkq6GGOZ{VsMg~ylMN$rWDKLs1r#O? z*gKFlbv6-;sXNdjJBo#8h3e_`%;{0E2hrskl-mJ9pK`?Y0kPF8NdzPciilCqBj5_Z zOdwYRV5A1R4HxUdYEiQQ;^@DAw~~Q{cfXRBE~y{`^MHEwpc#AU10~dPN5F@R0+;}M z`U7Cj6G~tj={=qo%tRvt%E(SZEd@LDC{!@V9xg)GsYA?AY8ZbKgH^mWV-KjaIc#>j zjg%h8o|Si|#zDz3#zqDx-E4!JB>r>kkqXdi?QVb?6D_EQ-VQ5@&NO>~eJeT&wIpo^ z;F3pa2KJO&%}_jGEny8@He2kR&!{6R?r>NEMG39Iy`&eZh13oc0134S>_MVUW~YS)5ApG3dak*Cv5piLq@ z&>WmNAUN_snbZ?tZ*@?ZxTLU)>g;sZ@mt^1t#y@bohTV92zPP6LFeMQZ`^=Nxquu5 zC127elnVt)#0yunFeR{AY<8Flr=HtvA|OEhw!(FFV)9=AK}4#^=& z4#+Joz-Ymcp;t5#lE9hLA{XG@;=p~R?;*9MU5((J9`00g3~GXTfnn9CN$X{2&4o1;bNDuv)o0 z1%}bk6>|v0H`4WPt9o6z11UXVS_5&=2TBG!mCecvSCUe>4y)Z^g8?-0T)-_DajOlo z1XIQFR>vOYNa6|r0eCK_%P9eP7?D6zIAE8|W{r#B3HJ%P0Qpu4jx@Ixs1hJ(l5{#} zz=qL*-DtNujZUBpAhZP`;SLv9zyOpE9tok}iWqty7S?W&&?$DS1FFQ~usNLA5&9%3 zUzgkAwA(y@3a~;gfFz;%P}^1yc9IiD+3K=dyrtn~0iqCo55#kmxB@7w^@-YVuAGalCh^TF-!qktf!(7)S94s>^{Y)DgYzp z*0=_+^TJgeA_aO7ooTQuX{>g;UT+8EB!}4vDWw3{oaV^ji;=9tn!5lzuiN8s(E|mT zBIs+21G1s@AT|6QJ#s-e+1-Gul?(~60w9=Odc8aBfEkp`lHFtSn9;Ym7y+Q19=K*C zZw@^aGazAeNP1FnggC2<&<=TUf{S*i+bMz5cDoA|_j#QjhrTtqnaXE|xSqn0^DojA#Js2QCL}6}G zMVsAaw@C-Hrp_kfK1qn(E}<_Gv7&k=6AQ=jvIM+Hc*ZuGlY||xP8?ZXN^rYep^zGP zx!o$7Xs4X?xH-x}j0UGuMVI77Qa5f@gWDB^Ucdn$iGNrqh=CHYcX}zPI7G&%q8b7L zH6o$&8^KbqM7?Ax+z32T9gLX;bV%Hs0%S*mfkK&aOx#5 zY6sjQK$1`qkKW*oIiX2hW}wFG0|HIxs5nsJ_FEmWZ9tB}>XZNpyW}!hfiXbIY4Z@; z0R^`c9Rk?%L&@WGNj|^J=X8b~E>eXK@Y*h+PtZ!c6ad#f9?5NY_#ILxB%zf~p94z4 zO(+IBoM58_H^G5X2}~WzHd;Lr@zrIOJSf-Wk}Oav4xby+WrJHy4hukq&ip8A6gHuB z_0R1`1z_F$a5eFwXi~u*2H8-me2fn4!L3n_JdF^Es5pUaH>oRr-R<>~E>Hq^z*{Og z{mRA0eeSS=HQTm)HeEDoRMW8^J<}5XhuafWH7Fpi9YbFqr}b za-|TS%H<48@HJpVNC@FIsCJg;;gopcO5Owu4?5E&nOur3M)y&NIDHm8_ zv?=cMd3`~DAmF113b3wL7jPa1#U_(0r8>bs6gao=ImmNyh~cX&{gMyJLv{3#p_{4jI&|I zX=IM6Ay^u?H4;DK`hb&ooGT`;*XL6aLXCCtYv?(y3^?(4R9)u|P28=-q8=Y*0%qag zg=YKJ6xe%%6g<2Tg^e5*U|J*!5vSlryOkJPW2HnCRLIkWg$dIJ68Q~gb6B}pPmU_Z zJ#MnM3cz3`6g#UX3sF!KQv$!sgGQP>NQ2fu;Ter?mpkC|*nDugDF98dpoqiQ0sD={ zK+qqI1jC^KP3qE=nayYS0Aji@C5ICS^#rHh6@+mi{<~bzAW#7TqcNEFKt*|>$->sK z4Snl!da@q3(-(npL{lY?5z5K{weR*C?En`nipLS~`aE8jAE@*B-2R~7=f|Nt=m~hD zF<;o@i2*9WrVG4wf^!gim(v|Zss5nb=X602$Z>Z7oe_pn0|4DnX;hTa1fH6p;;n%I zoiIBB9y7}J+L7Aj33$N-0=N&}ql5t*4MUyopv&bwm^F1aDe8svj4u*(VK1S277I({ z@KU0JJq2y>OI7S)CfGiK9$BvA#INWxo};3z0)fB;_Pky~AB7OtCXFooz8Kg9aH(}c z3Z6hAUf%s2dOSfLH7-}Ifjys!YFu;Ms4Wzlut#HJr-Hqxa*@{q1XYq%>~Vw7v8N;< z>Izd(iX_PU-QIx5V+OmaEzl0Yp4$`jdF*}#Zy41zVUH%lg26yA8j6I2ggtn6cAMV; zlt{V=VGq8wllU#U73`rQzyq*n4;qc3jMojTW%Iftwg?aiPsfw<0whtGO?0f2u;(>G zb$EP64Ej(Zmsbjsrga58F!X+pKNRo*jHshG;El%oVXrq%?kBJZZUTE;+MVt=pco9f z{Z3cJ<&kAi0DuJw!>%B#HAEXl0ec<=d%+-;ZE*y>W|R$43ZmSg&uaq!Tp>R+yW}S9 zL5aA7DCncCQP|}5pbqGEug4!%uov-otX7sO;Z<0ZRl>{<+)bzjs~vjYO!kJ3xH94- zl?pTt8gNpz6<|Y#g@VQGCnd&1G)Q=A+!hKZVUrM4uptdkz(E%ZL@Ds=0m@$m25Oy1 zsQLKsK;~$CKLcO><~#PDwWp*1XW7;Fxr4C#{;}A#m7^c;*C+5P`WT$ zVV}?9mvE!c3)NyWp`#-~zas<-K>;kMDOtoYvw^rV5(!1*Xgn6-v$kaYL$FIOmtLkJ z1;#mUpARa+8-;OkQBOcm0SJzW$rLO2y^<>cO%}Js9Z;^gSOTCzaTrH35Pp*rmIZR) z51J%+m2QB|6(O{HL%xtd6!HP~L2%mZ3kSmfL?RgT`%_R+z={{_cKZU{6?OX(fNC`A z4Y|E>uP>eQh5fz&G(rpjBn?VMnan<)$?SDo?U4wTZFNTcR+Jr-yb+Yknczb%7>WB` zUbM_X$clJ9fo9e;$9?D}MGXbzgcng)-0!#9Sg{Q+V4LkO%=~zu;W1u;E8((`%+nDE z1Sk1?IKo3XidNS{Ai^)kVkF!Ytd>v+OyMEHuPJwdMkBdkBn15e#NnTkD0fGr*oPAo zxc&)K?n-T`(wVG^)<8s!P(vgY({ za{jPC0G$YS`+{NM6lOV?@rV5JL?G(*r+vXf4#`7dXoQ464uyv5dPDFgP?p8-wM+3h zm2Gp!gEo{MaRuTiHy#N(p;Y`yjKo7;3pG5kR7uj30gBO@%@Z z2di}9wSNo7*=`F4J5UP_xDp<#S2^;;8=<8oro?4gRuIA|KL^k#Qy1jI14$9C%EDcYHLLOd-$>6tJ(z2^qNn#P~;TB0K>l zg1*R8P;rR7Rn$bn;g+(B)>tA|2V5lVsaHZpJxw!15&BXTMhal~PtV$mpM9U>KpWs-4kvOf03Xvd179}OTKE=<&B zvgvFoUo2z+JewC9*pu?b!-0UYgcNY}t)W;9Dk7S5VPY)=S%}6XqyjQlYrZ!g@dgqe zIZ|{LJ+ZJW5{?bX@o=gHzYS(07`OW4aceLfjwh`?fGa46v9z3ux3nblak&~!grT4!ax5MK=fHwUC|U`}qSl%4cNvnV&4jC)eCcqE^6x#9utzENYck+9s%n&vp~ zZtC(_vZWlsK3I&$T`tx=RbrCO>38^TA*5W)R_ zsYyAStpuX}D5Nl93nmgaC=5Am^T(4hD4;|rpUx!Hu^hmV$;jDKE}cuIZ89pQo~=U_RkQ*=c_~k8<;AFhNelN*T915duqnaF(MmX|dFSteIew(%(cg)hgPZ z2$vHHx1043IhoUrVNSpvfp_5yVz`c@5RNdy4gysa^0{1ZuM)*UUQuLRnc*m(FBA$i zD@MWTNCRKIv}A>AldO7QKA-E#WC?8w8WYJxf+wI1^7(9qf`WAdsEQ2iIy+Me%#zt8 zkf4NwzpgVC%;T8{=AxW{59UWP0pCG+)M1{0AC~AzC23#*J%)dHTa65mkzA#q@|?UlCH7J7CNAnTtG zrR7M()J8*0jB{eiq{kCUl-&*~0{+VhT#d&9CA+;km`(&ES${Us>T3<8;$AtP8p^;D zw1wmVAQMg7!|Aj=D#ub;doY9p6&W-N3wx8#jtDpK}^y&jnGD2}2M900E;$^lWSlq;2K(^|?rR4UavWB?~zsZ?59 zTkBIIZdb7gAW_J5Rj5amyUIvdo>DBgAONZe*<3cu6Ce%tr7j9w|CA_y1%;$>Crwfh z@-2|{`uPyA1o9zw3IWp@n8koRNSJ>2xF_*43UzrY6mnDYd9t^P+=Ro?aJ>}}pKLb; zC2LAh&6cW#oTnJcK`e5qLeA;TWee@)LZlMJkP`v36PWd;IL50KZ|`XB=5zhU zC%lD5(!Hm(gZ?5DV5Kon{u6gr#q3#W;3~b7I+A^OH$YTVm2zb1WVbTKu@TU z31rgwg~dXq+8;|tGMQAeD8-9KDVa$X%2G66%q2_dQlg_=DU~yod~2av%~!ix%dMqy zHs4-qEl!$T=_!_`W?BHobf#1&r1C9*WUK@XNudjH9G06O7}i zqY-A$ZdXD_XD0zj2_=5LtEZbQ0}!u=(1y~A#nJ$hc6N3&?rWdf+R=uf0GeRN6HuDY z&b9#xKrsTrm6Rz$u27ghqlM>JY-wvLC^0l9%0;221tyILOlM#g1CV#Q&>ruM7G8>i z#Qs|tPEW{zC*|IBHsW`KRT)EvP zmny|9z?SX<+S`j=EnTgho#oC+-R)hi?WJ;0Yj<^UsB>~_Wp<&hSjrTNt(8iy+*T=7 z%EesE^g^Z7-`~=eD^4r4%$rm0X{)qOEw)T9_GDUe)nYnZ!DMtx+2tu>PNJ`m$_^y^ zDt?sRE|>aHZeM#f*4a`iPU;MYE16O_5{nfJ`BHze(ALb3=6Jcv`vMxKb8x8GQmtmD zRx05zK9yuxR)%j8d=-zNyBtS|8Lnqq-N`s{6}~6d<6C%IUag9+z%O9;37-yUt0gtJWBcEmKU#k@e1rOeDVAjPkXWQBED>W z?kUp@x<*0&7XIGUzoCC!{|EhRN)O_DZpQ8wT7>EN3ifv*)`t^c7vB`I@`eU$>SXSZ(g#1x-cMs$8${=}433G^;7%dbe`DiE4z!!eK&1CIJP>i(oQV6TrGB_|E@ueA9mf zzSdujZ|OJU8~W4nE&O@-YW;G2m3}q*tZ=+=v~YrOf$%A;+i)|!62BYYe}5HUZ9j;w zvLD5_)IY_y(!a!4&@bTY8#(7%Rn(|6-L@$cfh@y7%&zSI64zR!LMUt7P7wPjw#SI+;$x6dC6 zR^dj$jz!oz)7ui@)h*WrFh?;fn$ z@C~f)P{S$>53{NGs(m`XV;{s9?KAQ9`VhWjUxe?`7vTH!+4y#SA-+(b$9^ofVSS&& z@KyQ}e24yXtg!G4tgL|5hVb?IN_=%bf^W``!dK=;{I!7l``Ho_}dJ>f;H zl<<43hwwVqK6o2z9=wCq5B`Yt4*rZ44*rU@4*r5w58lOk1|MK$gTG^qgZJ5Gf`(lT z1#|(v^1f6Mv4X*Vc8MUcZGwSai#7eOV>bv+c9Y;{HwrExgw-!ThqV`8!&(XNF`aOS z7{q!WHs~umGl`wTKSX?8j1>&+qEqyWX5pX0KH)=Xiw@B(>=%9`JS#jWJTJT;{8o5T zcuDk&-J%H1W)OX%O_W5B=nw^bd1@3*VwdO=HNswD54%b*u`2{UyHYT+>jj6fOjs@~ z5mpE*g{8t}!e@jlgxSJ8VXm-1SSTzKb_kaXXA0+G?GPu{2Eke&EGV8Vo+@q>|lQyYYWOz$%jJaeaTl<)#DW&i^EJVId+!g_sZ*WFa9Wg_Mx~pCgHA z4ard%GIR{q+qe+2aT}!LR>;Slkd3cFI!HFY3+aGtKr(&{*?0+S75o7*G0vspGDs{* z^Ofj_>x7_iHKci)7=Tot4f$Lz+zNR{e?Zo+70yBL+ya*026?|8W#7eK71l!=Y!P+} zWnr^$Gqk{oSXWX5DbGTFfn(tm;Z)w&)ay40w?hK26OIvz!bt+}RrLQRpkb+SF_WPO zV$cNriY9*Y5tW-TnX7?$%h#yqan8%27eMdgMW2{LT*qNsR_kIxu$86hijV5@Zl>{Bl0$R+nf`&$;0ycV^64QGklK=YqpJ4oExC5!TjUa;))eNxbr>Y;8Yr2+sa!r$6yz;P>wF`&B zwP`~mcn&SktUbDTW$n?SaAIVnT+=t|h`OG?A)wUO&{ESE%Qd5t!;+P?Y2g|h*|v@H zTe32hs9m^iTX-8KC^M7vzOMf-sEH`;&bX6x?M zy{_-pPuDNhkLXX(pQ=AsKaN*+eTFLyHyb0yZy3L4{Hf^)(=(=*&4-&;ncua{uq?71 zVOe9@WI5OJ8O!yS+pSgW7F)&EZyUB9ZadocnEhD$M*9x?-S+$K58HoWAG1Gaf6Xz| zvDoo7$3s$FDoLxQlcckyi=}I%_nfCXf8%`3`4{JYm)Z4@>j$o1xSn_Y!Sxr{ez)2E zSNFKb?77n`dY|yk_AT`t<2%XU?Vs*n5I8Y#R^ZctM}wJQYj9HVuHaXL4+Vb^91A`l zd_DMH=(N!Jp({dT;lc2N@JM(~__Xk|k$j{xGBq+cvMh3Y*UAdsFtV?ANjn=elyg$i0xy=G*d<^0V@X=U3&|=l_!b5YtPS6s{@!s@Pwg zS-hwCRPn{)TgCTFV(C*YgDsD=Jl^tj%Zn{hg~A-R1ks50`&XSz9^1 za(;DrtGo57wq#qmt+#DPJ8QSL`!WAG&@tTc_0GdOS9PxMe5v#8&cAnwUAC@3SE{Sh z^^2|-x?bwcvB@$RR4sy$nKF73It=hmJt_WZHuAHCXMsrT-_jeXDd5BL9Y z;GBWSC!I3szR8uz-Ga2EY#!>EX`Ol9ux|LC;o9&+ z!`~bJ$?(&|FATpn{HNg$W(l**v)r?;nf0yN!P)1{er(RXIX|28_qn&ubIm(q-i~=+ zp7+gpPtJQ`-aGTg=S%Yw^V{d2IscLQzgwVNFl)i41v?hJwy!b=H%5Q z$Id(U)#HA0{IuhLeu8|${U^M!X6l-Mt$lu-cijo=9#}WNe((A}Zy4Ng+J-kz>^SkZ z6Q4V&@1)fyeetBfpM25Dcc1+1#(|C3Z~WycZKo_b<=RuNr!G77u2bLMv|-bur=?Fj z;CM7M`*EjQ7v{@tIGb`TH~9I&1D(ho5!CS;w6?EER`51;??1w$7s zx?uEEj!#|jsXu<|Zx;?-IRC<>7k>7_H!gBt6u#)(i=Mf7(Z!En(sRkTFHK+i^~;XC z?B&be{>+xkZI=fxzv2q9_ylj=&v<-|?k8essrccb;_TZ}0qYmwuOHS729SS8-Rz zu1ULQ?pnBO#je%6Htafm*SWhc*|mMwO}p;g^`%{-yB^;4{asJ)dgiWk?|S@mb3gao z=X*Z?v%Al@d-Mx8e6jtDFWz(Wm(KmtKkvQh-Y357`f}{c|NP2PU-|Y|{(4{jKANEs zu65~pSWt8)8q^K3cfzy9N&ma?YU$^pwP&uZ znX2JYlX=R>9*r2#mTCcMlxg1EEd(@9S6|H}je5lQra28BzbEJE@yzn9@T~Kk?J=&} zdzt4ZkGQI}t;f*a(eCql^r>V;?CI%_i5=}-ovEZ=k4JIY?w+3eb2eY1ROxah0w#mq zXt6o%r4l~tGwGdJl_C{hVr)&PJ1r7kD>sNHQ!1s?3VN4bGA>4|hQ%eqTJc4!scA)Z zt2JY_=B&21x!dt(77E4VGL(YlC=luDMCsifFX5A&qjZuNpAXERk8h#9lI|$8WD#F9 zT8`2gC7r&bL$8yJx}#u!1guS|$2xgG!y2C^wnrn_w58TIKXTzsGAJ2mySi42UQegV zCUk4@_Ke9kVh`G|D$A8-pUs4c2dp=|QdlGY2;=`an^lvmHGj1xOEtq-%}^a>`uA#n zX;i{4q4L}Uo?GlwMtBE=aS)~hi!`bc->bRDYMwDP5gbM9y1F`*+V~GTu1S_Yyo5vK z>l0D&4E5Z^Dak_U5LdGMc@0B*7}j7ZDV<-h2o?O%BJZEbq$ywC-X+5A=oKesro7;r z#scJMq?&gOji^Pb_MC@a4_L^%1~~Z0nN#p(;7pHxh1D04G~%-d9EnewO>Tq!XuG5} zYK~}%qb-BLgol@IVl`W}rUf8`1{ktkoz#1N!J(5flFN9i&OI03e~O#X`DVkBI)g`V zBY7DVR|$uUd(da-c>{jY0zL0;;x{4sC}QSwM8s8+MWzS{zZ=r_56qv1*^)hOta(?e z>7-G+0ivRJ``lS~w|m&V+`ZPl*$q*-)P18{TvZErta)v92thzjVd$6vi=qI^JM?-ks^jSZ%wWhB^uxr+_nw8@bwZ!VRSTiMuWyQ5-~ZuqQx$RC7zC zI`O@|SLk-=sFp@uK$q9`!h>6>Td&)qLoJz9Gmq8G1PZV*m9&doj)A1A6hwa11Y2H=Pg{;*)l)LWRFX%-0;Jn)itB2oB9TkOLsmTCHhF zHBI1L)k>EGev90?Q;jaEDCsooY+sW04FBRdk{B*EI~z8SV}jj2X^s$$+kFFMvzTrytgRx zh$G%6zTr!k{rFzP7)mBXwD*_OK3vnQg!V+ zht#$IcUq`HVBk<(`*;iW>Y=%&Ip<@zrpLOi|ItD%gN5o>EmYu87U~`0V$CXUq1ykw zh1z4qDvVs6!xCAgTKK8XD7~j1iDF4Z7)mUK@vMjg&%3l^kgGnoLkrZkTw3 z+`J>)!)5RPtqq#XZBPO>=(n&z6GxhLO?KxX8+3r=f4mJc>mc&n1}%aT&{#fVgWeI2 z!gIO*XoCP5*r0bLOPV4e|0md>SJ+$l-GKjbHb~QXNE`HqaI)rD*q|&^Ee$+jSek}8 zAp`HmadfPP_Y?oKZSnczL0_{e@%!TeAJ(X77#s18W_!{cCw!xe#hWpw5ydlxR>dwl zUq#ma+os-jVSE@LZ?RZWK1^g z-*g_&B#%e;p4Mi{cqGmK8wBsRJ1#XkZ6=*bJllfLU_QJ8QJd5FqOgYHX*jQ&<{UAL z+Tk?<;P-8IsPhum4*%$REbDT?q0R=*oH)Bm&0EjBr%#-n-6%1L)y+AV#?zcjW$_6U#h3l9qIeE+j!etCqd2`^UI zVi31leEbxw547WRcL*o$zlqw>Z5klkP^)hiCIAF#2rInqxN6-h+l9b+s zmZYT7JltH2-UO*;8{50hwbR8tVpq^raP_(7xJFzXTw7hhQ(hV^A!%v?NOgCWi=_{Y z@)4u#+->toqXKCVY1AgZw>!`503l4CmweK$PWY-CM7bX=fNM^8bqRQ^eMQ+Vq@U<)YwP^* z4w#S2EK;s-dMMGJ^k_rN`m(e8Q{YeE`1^Q9{X>iecI?sUBi#Sg_%vBfHy&Os*R0iS z){y_Hxlw~5490kDtQL`KF%={!v@lhd8$S;GXzr+<&l%|b`kcN;KTE$tzfONP1`vBM z)8B-#1&xO70$r0hD$qwn0&$vyhcKxe+Qw{v#qO3dwT=`>=F!L9e;V?JV&;(q$P zb`4E8wjV z*}ytN73Ud86+NdT{r4J|wgb;&=`=_iaX8I6yi(AE!&88>s2&mnKmXtJd3Rt+6bRY7 zt-Q0$@mCI(3+2A@obpI{LwRc%_?sftrl~zK6U?7k?+JW{Fe=xFnDuVqknF>iK7wRO ztOD!kici*AGCGU*YRO;9m3m6EN-Ik1N@tg-S4%gQ(5o}0(FN#E?3Pn^F5j`7cjxlJ z^8E7N<+GQsT)uw!mgOJUoreE3ja1Qm(%z0wUq8qD@8+C5T}$v=IG+>?^1`92Q2Dq? zs;aRvd_>nL!b#okDJUTer=Z7&x0gsOlTO+Uo#e$k3@6v})tayRZ|3m$ypm=NDo7pI zN1=#(QY|$`E=xhRYkYd4jtV3C-iW@hNz!N-ipVI9MoCu-K92zcMYBz$bV#5KkffB8 zOI&AnXI4B5Kc-WhyLQT3q;FoGvSEJdXu(^V+kN}zy63dG>6doCS{^D-T{E0f6isG$ z%}{zqXZ*tt;+-?nK0G-hx#2D3a?^?yLq1NYb~`{WLA&F4hv_r5NtilAyXBoS$GjYr z3v!=4M;?(k;N3#ws(QO8sqL=$Xp}PAhSq1tXx6QVGhnjHfDqaoI+y`_@ahl1ACg8h zU;~(z8>`u*T6K(A(snRQ8nbW*FbAqyv2ZD_zk4{FE}mdhKXI!6KxTc0&VA+(EEA%V zC2o-fk436;?iqgOw+;3QoO?3(lwy-%smNx-?$jrh4)6`@)*3>dKr+=dJET!RwXNAS zD@H~&)lKGD)KOK*7Q?(;#p4b0TQ|OBP@0Wyy@zGq!yT$-{65!=)bkVP^-S9O(bT{L z_bv}k>ux$rQbRezFC3Z3p?=nYS*^zoSzh3%iPYppDtQDql73ze{Y-rAW}j8~x~K9V z{K(w~U4kcE=z4dP42PFWrq$pzQBc*ewtKdG7CkEfLm3m9@ zEqln1`nb-jdr_(6gp>Jq@-Q9y|9Pkm6c*E2^ThOFOH7g4=HBFSWkQj7g#HVHM={oo z`OXk3?3QXqwZ*)Vbs1~;JZ8~}WN3zg3)Dw_KBqd?r)CM8j@71FU+h`q5kc)LZxoNwf-GZiB7E z4)e8pukh~ha$AR0AM)N_?`-c%?|SbRFAQ|QG@9gQGwH`?T0O~G$rZ_U$+MGWHj_6c z=>dvcbzyuo^T9nB_7j`w&59c79K<@ZV5>vBIoISK|W=at3rb0kxjTZ;< zg_-R!0k1d4+GiH>!=2G9&OO|6Mt(j9O%{`%irRwi&;Zi+?OSObIaY>%Yk~N=q<5#GZ^LpwV z$eEI!p4v~OCuvpA`|xHTmq4KFOs?6EucfOsOLbI>9!c{D3f}6d9S7(rJX(m4)wEJA zqxR4NxZ^|MdUqWlX^r7ZoQ5kfcVJ`#dx=JjTRvP#5FW)5;v6uzf0qhH#D&!gB0oHb zE()RjuVJY{tD*+?za!wAXjn7)U83)zEj_SiJII=;4bY6$V6xDFcy%;@2E}2d$7oi* zZLH>%Y8{;R@-zKoHM>-+Td)IKSq2Wv^;Xs!#`Oswt`S0Yd{EXa;t?QC-^pWuX)Vub zJDhy$f&4mF)2K85%1BH>-6NN%c` zVZsaiu7i}N-v*A#c*X(*KyQ+R33g|UMTbOhEa~5Ibw8Hi?jNsv(oo*7Qc1JgizC2_x*JC z6`aj#2+v9m-p^AG3z6Hmn$G&{l=eBC{d!XlfxGGK2gt##A&aEs5PSe9@Y{oF_9L`7 z&eqagt(!khJ3YQZMM~9+CobaR?i?4$zY(H<^^Syvj|@EPB{P51)F5?Ba36Wn!$# ztFVUV9F#Ui?x!{-p(`?IQ-&?ZoG%_VE4`RNJreaA*5|aElq;S+W4V)@x5qonyTZH9 zdp5M{-pjlUTt~k59oP6d1XUIB=nZ)4gsgsYHp2D!N!>QBx zbA7p$bNAoFae2E%`difHmU!c1QURMnRwvKc5TF2@Ua7yTqH} z&zLBI;SFJ#9`kln>@My8SJkc|Rb|n-?06oa)e9T5 zt1;;bv&+ZzBHDsJI~*-E;61DBuvglcLK{6Sx5q<1=OKKYdV^^G=cC>w#}Ixb4EWf; zL6yY=J;)Cqq8coP-b`^GBSz8~<@KVo;txTl~9PU(~DV{Cy3-ulc-@y|MpU zw8M>jTG5UoJA6;U;6`5+q*06hz1>!Kfjl`3A__FCQ7e*;RvLN0(4o1J=&TTRR-Eq+ zY;qSKctZox%Lok#>fw(>>0vnD;;J*E)u=I9eHb91w{9_L5&vABEq`%otfolN=o1Ec z>Q^Qy$J2hT_Q+$rC7WxdDtS32sg@k8B@xGCK{SaaP1K|$26<2gCaKn<+Dk2DO zEDo~u11k=!P@h~i#BdP9!ER>NQZt>(F2r{*9qNSggbl^7)6n2Cr#T3yeqs9)dapC9 z_WEr`mm}+N8E;cznss{hf>-zq7O>)~119x1`=7#R)efP&pWj44_29EK1&6EA>I6H5 zTI$8K)-gP8MI+VGuMSQ1;LQnKlSX4WNU4oJU<7=ClTf!AywUZs@op`{nsj};y?oc& z1}*Xt0rU%vu7!w-NxR#y|C?%~QaBK1st0b1@Wy_O=@iT3w(R!{Z_`oT0+Cm}nq!{6 z7NdEj_Zlc}KJUaYde)^BTmb5o^d5ZwRF{&~T;nR|Ba|M#2>EC0;3NC-mC%#5cDw{o zt+lIO^4@KModG_?4g>>*Kwn@^U?i|1ur&a$6^}m5U?JWYfL9FBfFGUYb|>k>SMlA+ z;pFn<+T>>PVlPeJ2rssl;f@Oi&}O(YhjO4Bz6yM1OgiknBDy2WedcH&nveEIXGd2? z*GIQRQMwb8^xS7I`ir?@PjOapMR8s6>>?@t;!VW^d}f-r;Qnxirv928=brA)NkV3L z?eytuhch(UgMsz*>6oB^5B#JUZXL|!23sTKEJu`h7|{oMkDpU2%{jhzWTf}_xy9mK z#FkcvD}H}vxQZFVi70ds=PvKP)oSl4PeBeoFX1~j>ZJqEV>alViL>NGP%aqPo-%Qk zp0Frq1E+oTtO5OcNmI_`MNn!3euwxX>^1n!p$hwN{a8Q^smj@S>Ddn{_C-M4*Er zq=VWbI#OmpO&6i2YeyGH4PN!kclCD7?poQkzH3XDan^B@=pW1t_6*J% zTrs$A@a#bX&)`jX>1SfVHKCT3`7grJg!ayM_UJuce8fz!(sg&|bjl3$Ob)8PBZpc{ zNv^gtqR6p@QzdhnYxS&ftSFplSv{LWYy&2R_TOwimX5;0?*27%OLE`BicL}K_WW>x zpXyy$wJWC_x#42GC$jypg@E0!;@#1!4_km3A%OQNo_gn?EB=T+*5g~l31pDZMF`Nd z$T=kc_!dR89$K@2vB)Jf7U`hkK^ z>gFnSW%b4?y0WNRMK5~BTell^tGGuNbFiuEL=!YHM4WKai8AoKRH}84VP3A;Qqtso zC(Yj1Cok~2F^x%}P!nFkqo+kiG#wpI;=X19H-m;LYv&eeshz{gif70L$;+4#&Hpu8uD zA9mvtB60GQ1ohEQDy8~)e0s;NJ^)Gy8{1Y)&*i4CXnRmKCPRB>FIqHvkN8Nib8%14 zVcns>)eX!3uT7aYt)J`r?{IyO8AA3vi5CXbctn6lHVn;4?@aUNq=V@~x(}~&kEA!G zx27TO>4v_C`c|e+5JBtEg>WrCk(^_+KET!g)I-TLe=G(jjCOP3?Dlu(x_i23b+71N z*L`+331|0B-QucIKVEBstQSbu3p)y2)(e3`zR+8kU07LIU)WOMPY~*JCV0$kpw%W- zS2@SuLd|9Wvo*-2=L(|5RCT*_#h&5+hF$18A+rWQ@oKU<^?kvAV<1TW>Zp<-fuF7w ztF;WeA+s~XyCDOpU36c50&#l7#ESsAkHOyYguTP2-mI~iN*=fNy8G%7yq6$&ulPuy zePPdGt3CVwp~q_h9>e%}1Bws!O`Fz58i}`^TSxlVk$jtn8otWWjq{lEUCmQt`~mrc z{!&tV@I^EEefZUTaVjj>9QL!?+-hy0TAM4?W{%ZnR!4nYU-|Ghq_5jI>|5?z>)VWX zoA+MoyAiKF@7*@AbAa=CAUIGM=o^?bFfy=VVCw+jJ|K^_n#6csb`>=BoFr7P`9GK34GwxIp^b|(2y_rZyKH%?I*xR?L-Jcsi zesceD{||d_9v(+})eBcut9PmQuI`r9d#e|1Ew!X>wf24WB6*SIu|1xJk?ombz6q1q z7TIoKW^!i|wi)bTCj@TD2H9ju2}uaqAPa$jNq|5|m~eB+2RCpNAcTZu+V^)(RrMlE zwukR~zUTh&%`@&=x>Wrx=RNOPe&?K-3>4jr1$6@gtwWjkXjgM&Xtj`=X?KSPPe`9l z7DfZeb8WMPgWiTlq`^xBkxMbrG1$_vm=DGB6A}8>77cnFq1ML6mQcXf(9$&!YnjPM zF}FM`Jcn@L@ZA0(&u#5}%yoPx9%&>CEZk>G{(qPM<%$aT-$*acutNUX$91N$u2Jqm>y3#$guU%+j(+ zOT)^txw}d4bX+eoS1bC8sbZlxTU;%kEnX}VS1VpAl6362zQ#|i`PNcvg|*qW)wQ#0 z7uV>CwJU2Rl+bptKRw)qb5yYnykv4o&O9)5duM6(P=EM8OH2#-@V=hYE@Lt`(EJkU z3=%VYagyK_;0fRr3iWxA6@loCEUz)_;Q^s*+iY-Xwu+j~xT5H?Ut-e?n}xxyg^v=OfIymDB3xe}=t_r7zPnVh3N~ z7DObhZXQQo-Ip+~Sj8-P`Y`GkU5q;2B})t;X+&WO9QtAOI|^GRH1nWhyN6zGgB3e_ zowNv;>@{t?W(ZtZa4t=hZ@kOwp4 zA?vVB5gf=2Ov?4GW@79~6=O)v9Qbnw`$EC8;n-*>V0XG@Lh`5Qy3P7-a z{Jr_z6I31%!ni3T(uB+U`4KDq?%#lDPz0zs)R%04(z&8yb zzOCj4ihBZ)X%<#0;H?<90D)(VxX&%sDac9bFAYtew5QSVSCWF9{FL+?jGENH_(qh2 za7iymu`8e^U;GqWgD5TOyJ$@oIU*_+C#^NS5os5^E?DlsuB7>Ow(4BSJzw1NDTh`* z@M=JPhFe>^N3;1U@mF0o>9KX4%aR5#>XmwrA3!m~sZ$2om-c(~uLP%0TU@&J$0VC8 zCPigq>E%)ewP;XA`o$~AVCxePm9~7rrhxP?gkaRgd+{sc8;vr}1NV^E4{-)ad}0gF z&+hwf;X_sTX`Lv~dy&~^ulM*>S&;Y=VfH$Z$A(9+hJVz+71`3MjbH|oo1w`S>QMLt zBgh8~ojOM3?QrYL)2oI!K&LS35M`sO7UJ;7^bSuO22J|M{|>=8>v7d>y}!;yw{$Oj zTf)F)Jr2DXD3uIA&Ps@4n-cRZAM3yOuX-=Qw1(2>OCPU8ZTSYo--z&~3(`aAPe>S1 zQ1DxBqksk~onwh!qlg+}WiqDzxOEDGutm{+`uZxJs3r;VWxVRXgKDd79;g1pAJIFh z(faQ+5%>R};`4;a;rQb>b7H-{6hy<5tAjl-{7()e{X)`3VnNwW3I*=itc@Vkad+oc`!McADkIn8C)N{08M1) zslm%oQdE`Opct+V4($0`DIo+>pg>KSPC|~&ag}GY1-o9g)Yo8>+d<~-MDqb?^Q5L& zu3A`4vG^@%OTT5#vSvAFxnzNCj3*pWwA&f%1P@!cuRGOU=$`Ff?LOOmv70vA?knBW z>8(_IH(G%pPv{+mf*RqaFhmu3S@r_-DVA6tV-|R)2uaCE|6=RUP3GD=P^+pwWOa&C zxNkbuaj+0}SX)qkG}+zfOO1B~KAae8^IaHSu*mVBO%Js;8hs5tJrUVta9HKegs(BT z&{g^qn$nCr=&{Hxy#YCuj|SY9_PAAshXAvvjQV!IG)m-7Y_C9apFz!BjAgECv6veZYWdt?i^CN2v7NwH&J| zxj-(HE9T~NCvxX=8#$OR4Y?%Gb(S3$ift7WU%0W=uYLn7=?%bG4#)?R2l5AI4y+tl zKXBmy5zv9l2S7j|kRy8$NR6^H3<4Q`NdyAT29|@(VaN3e7Rn}k6RC;9#O%cC#Mz09 z6GSHyS0+Fw{lgP?rW4retGvwMx1gz)NHu0F>J#)CWZ5!2ZIc7mmqb9HN1VkVOXte+iEu4M-zM>K|Z!dl?zPp0h-fgc{#b9U!GZBSzcehuuOBhe0dpj3WM4M zd(CMW(-_t`zz{BmXif>FKY@!0Tx_p0Na=3*z*chrm1T;s3}5fyY3}eL8E2tmwqv#9 zEV44tGQH-+Get=HhdLUe6w0BK^2t@EuXTF|2D=K91APJ#lykHP9+@-3-RMrc;`Mge@cO*il7-54)9M3KfC3K>wOAIY% zhZo=i#(uyb?uFC(Ln9N5dQsFbPK+KfNRlf$yjHNs?S-|GXr>83S*UZYz3xlBd=~McGepbJ#KdZlp7@?h~ z^;Zx+wCMpp0H!=(Oft#=Xw02wx~_KdSakWj(p~*sb6sm)=ejO+kxjZlfV~>pCLc#R zLP53lDgGp*;pgj`QeAfn$Zj(PB^(o%q&nbWe2! zx>HR$-QTAB6V61d!|Jg5i`}ur$gwU**4cGzBoXT_`f=CMitqc=E#P6wI1pXFUEL9p zrSz8j2Jx-4%BUrH)YgPAZ8sWPX~)`^R+V9$1iP8khLsKcnpv%e>hgFjPh80-wZp82 zalN~dN0{O z{v&fo){dMza_Pukb8}bG26sPo`Q^Ub+tAu3I|Fw;vA+K9_-z6XjG3VWt$R=U9w_yj&~sDhveJd8YL$^Gs8#zct<3-#XX2)_Sh>5_sm8PH3fe zA&Mo(q>}UHQn^BIHn*BPo4W|vYUkPcJ@BpW&uVbVTJ`!_m^` z?A`X+g9@`cpw5c)1&n@@G+*dg2JuDd2kNYx#Qh#*Yc0XofmzwK(x@|{2NQ$whkOR1!MXohOZ%`{`{9aZ!?w`qTktc%#NJHQjByRkGnRptTTP z3~uN4xl`_fd)B?`KI^_n=|i4&U!n9Ncp{*9M>}b}JFfy@fnB-N-pa(a z3D}D=z+pd;i?*dgS;Fe6OAIXM_7|mcOM{6z{k>(;Nz8XH4aN2nl;XojkpNv4jIhrr zqe1)6`_%pC9lZb4-iJnZ53Pk=cg44|)p^%lK|fx3mbe+c8G72(t#^&!algLT?+KP- zFnUh zU~*-T(qxTZ#d5=BjrvE^qy3|Eqidt*MlWF{-eIzCwYU~gZQ?Fx&)+eDLN8?ltb1tA zc*l8krs9ot`o_3sj_r&G9$zR=D#-~zQi`vW{s*jZhcP}B;(;L%SSW3(_H$@-&L~Rl zLX$vMya@SKp|b?C3LM7`{JpyU(ij8p?Y``I>;8Y`wA7#!x_r z!<#*D&a*)V4Ig6GIwTJzhw?)+Ln}k;Ll=gKwGLe#!fFM)36D-848^fIr>=i?K50Wy zLp_?ko%g?1FxXa&+p-2v7a%2g8F!v3UWG>yq*U}5)5ZScTyd>>DY|BO940fJwxdI3RKv;KxN^P}uj`Oa`Au6>SCxh-3 zdpOCx6sS_>!VH>%l&@@{0OI9X%GdVM3m1lt7n(HDR@V^BCZfewUxgvRwrWouJq#tG zrLZ;}Z40pAUurz}%3ymh%en@y*WM7yB}TE&l7^6QY1`|e8G9?O@@{xbkoya({KLd4 zq`>`q+!ge5<-58j^;tW1LmU!h-mEiq}+=eIX)K zzJcJ)>voV(=*Cu9CaW&dj~10#gDmEaK%)xHw#$T2_5*u?waCWH}VXLrc zI(Xo~!O{paPe3#Dk1zx?R7zT_hx^&*ZtMKmKjTJCrc(G+crCIY-P)XP*hg~ z_gj+&bD;U$Z3kf+Dkhjs?oLBNwlK)102X%OS97-?mVE?^{f4P5JkZI$!-Zh8irjEE z(8j|CDq?D3JM-@{73q;t|IOe;FdPb-pd!j1SGXlRn>Hvl{*5x3Al(AQ1}LB9c~_z~ zv};XddS_*tkql2u9H&h6muQloq7S~0mQI7X{k&@a0BtiMF(B5*%^&0ZdsTM>ze9Kb z9?zO8cLn|1=KiIr!qh!>FrGh$#q zk5LK3V|E!C4G~`fYneedB$23f#;{^oH(a2c0#6w(Q%(UG&%;=5kdm>^>Jeq-VAnIE ztRjdChBcn40#Sna8gg-<&m;Mpkgj0yb~F4DL!g>f>K0y>+W8tA$L^d@$9QB8t-7iIX4=jls*IBOPjt6bcN|U~?C`XiORuY<-JAb> zb3$}7jr|c*p8h>FMrQQoYZxQs>fdfKB6l4jUdugU@W0j*4j3Ry2K5!~M^uHMmY7?E zglJJwm1}h3bw{ZY&s!bU?H0GVk-OTf&YAcx7+Z=R5)CG_MGO#QsXmrSUTdi$1 ze$51UW&)xC{FY+fHAAzr>ds@_Y7`Z&SKM<{#mpb>TH&* z-K+oFr>IK`_b+|$P5OG9MQ=8I?B5I~y~S3qCysX0K)nDxev!x8a6#+azhbOY=$qdV zM&JA-S1Ent9%$W(qX%*AqP*MDf-8Hy1sBJl`1pWHsO^f@lUr<#@BBk_sEs=GFQV0A zv-F`qU#ajwaduPf&YykVgzxM1TkodMip&ekYl?XCt!qk~nY&+8${2#z(HD%pE8IhF-~j=5Pn7aA?`s zYl>`dG-|8gX@uFoHcsjT&5Wl{@-#IoKzcqGf8DAA<4b?cvt-k*#VlPb^QG&BG(Q4M z`)HPYrui%xr${r&Q){<2Q{w5Z570-1KE8pEP5;-nzTv0a^sz}F5&AHtC>DaDD(RjzFK3itC&+A*ONqI$*W0L9FqQII@zC`ORgo)B`+lb1wh`3 z9##{3d_Ae2LeFf^YR}o8i#?YU5SzWv7tDuq59a+ zvAlW?+h}~~*yoXz$&=`f$9oeVUDY|9I|E0%&8QJ?${iVqMhA}MOt>(2A03F6KJV;y zg?cIDZEwic?Nm=OipmJksDE7@b>PKsxsNe@aF4r!exY)gWK?<&S+ef5qv>NVSoHM&&}Ue%`V9s%6Quj(s*OWbU%af zE}(wdDdGLwR>M)q956TEtFr8xu{S{GFlgMShB0e6vF)Rh9Zq{)oYi(@DZ70NbYy|K z-UzRFGEPCkG)rSNOJi5Zc$UWeW9hN}vAMCev2$aW#<1i(j?IHW2st)a6=?5WddT6H z*mvDk%(=*Q_CPRndSrit?(n_A(EU?)wKnf7TYV*0uDz{iFRO1)dq?hW7VSmNV-Ehc zcyj`taTj~Wzd>Fn1Yy9}1m#Ul{o%fGyR2t0u0q$_@>s((;E0cbQ=#mX0xALe9rQlU zInK;bn{f6mX&3B|B1xYlP9_qp$vecJ*1DW_p2=NhRF5g=&!uzyxw+h0?p*E?p?Wlz zlYVcPIH#>+pSe!WZU^77;(8LtHB%XH#udXDnbCH;oGhxxNs%#YJx*e=#^c00#{^qF z36t3GkO>ec4pDke$u0X3u6XQo!QV*((4nl)(v0DPcRuNwAA0B+Qy$KeXXMLghS25cd2!c zvn=y%;<}QOHEWRDOnV>S72k?7d_YY?_d`##yMlp|p$Kj8fc-I6_PFqAz>zrY5Viei zD$Q(1C}KxEfm)6m$T+__;UJPTWob3TwiA}a$#6bA6J80ghcASQu)>$aAS`s6!c-?! zc3wk9W&1cN#|!t^9ffK#d*|^W4#OOw3=tvBg6HW$F}fWl`@?pxVG5ra z!mjN+yYHOcW}3FLCQ7BT^X$~MDW34Dz*J_cI5j_YV(R?V#uV1>5N_DVL z+)va+KEjKzLv#pdVUZ*sAvP4mHMtm10t+m_3)pEgdexH1_yWzWQsXdW8<)lfHSZzk ztaX0f&PQw1EV1XAJ8zgJY<61 z9ItVs5|64GlyZnzC0MK)RH1rbzoLx8t%G#SP>C0KOkP$sVu&?>S$61_VFQN(RWQ~l zi3-gM+GRxg0o}(=0%`#b(S6WRlxS!MT9k#Yi2sFrYoRP-SS^{n+GylFd6Td%;;R(7gYEY}1G zD&rcp9anXH_RTO6O;3!@RrXu=%rN37L#oyK2jo-}m0U=OQ~*GT%m_z0URvod@$Vn1 z{Cku6ckO*>v>b1->#m?bLaR}^OByY`0~#$yEbM;P%sTPzyO!z78%U#7-e85jf#xE? zbI~t+VB5&(=FlAwf?L^Ej$g=TX_~UiG{tXhbt$*uof}Yhfc@u;Bhs|(fENpi=eM7; z%_IzV5Rkfh6vyAbQ@1A=UGZS=o=AYsy=Bn3H(=d=PE%I1#qKO4%;U{oQ*ieT6Q-PJ z7!|CatD0e=e`U;Vl$cHkW3@Oz|K;d44v^I7xrVqk)nyCyuvsjmq(ytj0-=YZp}|)7 zInicmvD`21vZ2tFzb~rqX5c5tGAasneCZ%nr1sg&aa?O(&!` zUPCo@{2G8Q!xyx6Rs>h<;u1{PI)^=qwqHft!wn7k zix>5LQg;=-i`pH!$1mv`?6SQ<_crkmcc-q@TkmjM#RH`stJ6_0{!yLM-7WgwVWJhF z^c3q*)GO;y1UtI*KI%Gutm;12obo)-0iUS4Uw#kl{O`g0M5>s8YUL&r%q%D)$(fO~ z@v7PUc#J{wJm4Da4&ww=5QQXCjxj3CqsSChVQa{Up*coG$IsQ-8#*nvy5D{u+&Wzi z_PVE@RPVh1gX*2%zpl60%qGL%{guIFw%PRWdY5wj*WXmG(dq~^b{AS5)?z8yOQyBD zCMby)G?wj_S4Ww&P|d2++&zi%f2bsQ-)AvxnR=V<+FR5+?^I~;PsQI>$@0D8G36G` zh|(q+VXMk9-^L?fdmoYtBVd)gG*9$2cq8+>-OpP3XpWGVTl^||TN|OK^_I;B#EQr} zxNn4-CV!||ZH%J$3F7!Aq%<=cMfZL))9tjZhkSO0&O?G||V?wn;?60*=>e~9SBK~!}A!sc9- z;J0&(r!63SWBMA~Ud_{i>CAL-dVc!E^!e!x*j_2`eFuzExEDST1*L zI7Y{rsi_(K6aS*Y+S8Fxtin!Pv(03w^B4^%qL^0h$-&8^4~_Mm7>&nAPxKW}j6_zB zPfs7Gf1q5>B!d}g25B$p7i6O<_!h(x9SMs1QNvacgIK3D39fAGV* z6Ez{_fSRf)r=@D*1Pp4T;89N21TM33Gb~X~!*=1GZOMRoGTTkYI3#@N5wNroDiZ2L zXSJfN(FEIuvu6eIXh6ljM-g&o$aG=_&( zeZ;F6h~XB$w`V@X?zNK~R?FB*AX3mX@&tCHCQrZ+LC*vu=`JwjP*hWZR>f8(LX@oR zfi-F#2eN9+R!anj0%3$U2d4e@8Mn7G?OwbVdDB%yl(Ihpp>an@Ts3lIPh?!K3UneK zuK?s~T!OTJEP~+@E^tElC~AFxlu%>m_7z#T^fHA~!3w*xfBB-V96!YA%BNJiU};Mu zg$VSpYP();XY`<<#<=+J6tx9yJ2h8t>jK3KW#ki9;_mJ}d6kV#wz zz@thNH7WYE#HIwog0dU*1yjL7a5lIaJR7`-belU*2d^L#=O&W&-QHD1t?Y~p1|H>@|Px3lw%;VM9jSbhe-A#Lb4 z%o)}U=M0yq$SR(o;z(GhC>($>&ntyhIr|Dr{e=Bct3nx7;ZmuxMR^e(357-`}r1xk!Fp`c99BPmBX4`!? z$~h90G01?HDR=h>qFOo)78(P~HBK&IwgfC0OVKiKIbk_(*`VYC$nB|NWtbmn6QpVI z+Zl4NQar^S;s7HIyrTyPMOvpS&Rk(hTo}2)Wig1uYf`qcBEBfuz~$HLU5UYLxW5%y zZu_Hfh*wc$4%k$}S<$wng`O(;~IFxw5E z)<(qaG<`x0_AO?6mJ6Y9&nOB*HDI-qRyTnWia|!1g+-kzXu=1HfG4a=SUYj9A*Pro zX@jDv?%Q$R-r`*H0Pakxq0Bih)I=8rEg=o$4%JLYDjuq)i9d%phtIN7F=TSrr>%|^ zW~dJ9)L%KQ&!XK%w@G}f6(-Hnz1$0Q`z94HAnJy90GZ@JCJYJxb-SJX06Wi`u9=v+ zO#xHJR5Z<-PMFS{HcXgVFsBifx>--vI?;`trkf=Y9eK369aK&lyhi8KrE~?|tZr3z zR(Fxgh&`>lLS@8&szL=c%18tn-%7YR+!%jWFd&~{U|0Lc|qfz?0!#UXAdwM#Zo<7~1J2~A-Gi|beC|htP z3JLu0a=MYVMLa}LBMsL3O!mm|YN4A@qBzHz7k)LUx;ITo{C?NV|+}G&3<*DYhd4+ z0UYI*ky2ty$Z?T&>=U;Slw~fWF%1f~=hO>jYYVcckfB)H?lIbvT(EZuMzL@yn8~WqhrtXKlQNj=@}e+9lTO?UeLJDjk9= zD-dYShtwnJt_j5V_ZZ10AyI{2(g=$2!z{G zDSN=SMb1AV;}JIFWcOAMOzQk6e~z?T}>P4k11$ zDL+Zu&E(Zd-fkxSlj+I+$+^k3$#avJCOI@3+eXF538tcna-b9Ts#MX1dl#MLdpcV( z@sZ=X-0{(PTcV@4W%5*^aB8yUj4xA+#|AP!UuGZ{FJ^phZ%Zy1>}m0OTY7@QT#NT} zJ*&Z{10CtPzHqp2F5PjUDY)9xcAyxI77w%q+9Gaugw`@2#h9FGb~>9=vU;Son7~IP zW-%t@g}2gLjFXnFIFxsujbFn$!WJD5#53_?d_I06em=f|B}Nh=6)^|68|pgdyF>0s zcH}!|I#xQ?J1$VNi>Ep+Q?d&+Y5*$#I=zW%cbmlfH_ObnNJ9e>$D+PtT>- z(&y5b5Uma!3{gBaG`Gb zwoZiLjO|sGj({6e7g^t=T2s2W&h0_E&?8XT&2_rhTV$lS!WtfhUFpMki(P0$_PKIx zh>CekN4vJRT`|}<--B8k4(lX+Y^Xa|jhg6TxW*sm- z9J*mdT12qgeO=6(Q;0Ue^l|_eC7ur4*bE>mp_aQGCvcc0_+5zR>){hd3zKp>z!Whc z4KA~nF!OVbrgrHH}+ z@xvKCj;s^AR_dbLnK79fO|mJ|I2@hmYsFck3GR5e+u3R|HQ_SdI1-)eOXIAGzHpuN z#IsFJ*|WDD2QrxHGc z#O3F9r`Ygkr;zFryLT- ztcR7Tu0uttq`GIOVSje6iyx9cZA3*^dGCb7nVH_0p6i@UA|dSHJ_%u?W4#Gw{57d{ z2fTj~_LY9pN5})OgRGsU6Bfrd5swJ17@u&xcd5}{HHvXr^tKQm-*%DVkF?+*w68lV z!?Zi#^#E_dzmMPSWy7;OyY);Mu{8lGrYt5Y@Pq+hg8)7S-E} z_qe0&N~JqatnwD6bYBlm2wqav#wRwS=U7ujiu{~ z3%`IT{Fp8?wrWO!j@&?Xi|dDQ3x`$WuB%s9nY*s~SJSKgt8=SstLIiPtulA@$Ub#+ zVF9mZHEMZbPF1A1+Q4aGF;}Olf(TPg3@Qx%o09Z-S^k*OB1WM^H^w7%YWZPzYNWkm zs@M~(+-eB6hefMlNtP#d;o*A*r%o3GtdgK2u{YM+k}M>g;+Cz^hM5QtN6d*tQ&*fT z6OVKS6K#nsUo`i%M~#u8Fdhm7ht}t7Dit?%PtlA~X2t`o;XS5spe<_$r<(%{f|`#?)nv^#h#xoIK&T>tYOp|~ z8ZxP7pJ!V%_WA9cL`)YF8{VNt2|}u9p-%5_M6BSC%D@q3!?3cx@mABKg26eoia2+N z)kZ;(YA|7S8UyTRl;xng$}SB_suQ^RpOt<=I4m3$&I;ShBJHS1b%0L=LbU9l!Y<%o zn15h(V|)%j74Cysf~SF-K?Tim3Ij+` zM;78$r>Y#-Qz(y=#>~9Np7N=P?*f4;&DGne#J>Y@4zQv=f5zU&ozDE-pA$%~p0Pl$`C<7gCt zew9qPV-xQczJUDKMsY~J(=6UA4)HU?>Kz~cs*j%;QSZojW}5FnTITmO;u+Ww@SZXC zP6T(x_zoh$`57<%%Efmk)H^XeGr_+#sowF6XT*N#(|8Y-xnxEQ<6=tqlJp|(Osmf{ z;m#NM4l41%pAD_)=CZhmN(^3DrC&}~>D$+sCabiGt= z(Us_W^a4C>J5NO~!wE-ANQSwKcSM+^w~>JXqz8`(i*)2~L{JI|tVzglkZ|*PpNhan z)fXRaaJV-leRy_`^25!|@{!KoC`ID&2<*qOAS-7dIXq^jRV{dI1e^Sx{3?^f5^isaxE+3<$!c^v5+RQ(l<@^JsZ0RrFJ&4NA84TuW6~}x z0@Vd3al4XW2>GOT%j8Q!$|CYp!bII9es8O;m6K0d&GdU76|Gp~HH~rth|z4S~k7a4;(y^>Y_x`A_6$taj_Dxw|zx-W|69 z5n)Zc+_J-D)z5J^BtgdLPoo#jLKt2kJJ(^fJ2nkBD9$Ft=_jI4+MK8um)$mT-EX*p zz0ALYNY3F@5`HV3hiam#+Y&ccZLqJW@7*T5u}hB2_&+K?FYC<92i|5i${$55x@7zx zkR0{;M=+|57}XxMrNlBXm{3|3~knW(J3}qe_Q?;Ij=WO z}m|vTg>{p25XZq0I-k24)~;91dU0+=q!WJ?Z7^sK}<3#;6U|mCBfm26^YcO z$QS__$F`h;Ox?uRjM{$Cn?iCZ8On!dLMx&5(1j2&pU~wHm=8FQRv<@1Ol?Oc0_no& zY(`!j9GFghoYGh`dVpp%S3kx?Lp)$1Vt;k&SM&~3!c=e24R*(OkyRmp16Q&T02iA zE~C&E=y%I0a|j{yAkgG?s?Lm2X_BbiyGDgnx)v5370(COhR{#N-_cgt``$54w)`Bi^` zTGStayp#lk`Xn@?6eKAdY?&$S;(ka;MsZktQur-;;^vQ}FYWoni1@3@6L`n3@A<^2 zc(VMCKi~6-N%47pqV497bb0Ah+zzT}lM;soJGTS2V19yZ-T$b*;~suuL}=hAM#Xn2 zPv9NVJ)f8qU(nj2v#C!Y;VXV+OsMB~Op1TRPjsNSf2Kasz)wu5<1r~dhYXbx@GOFG z9ZyiEqExjfzQ$+ahJNqHPIkSCwjwPJj+Pc@cea;zRlxF9nTg=ggzxUJ=~Jn;&W1MH zQF_I{ha{|IOKMeoM>W4*c9_BUp@Sg+BCCfKGi8mzKB^cKRZwdA`WGdHyIAc2xi&cR zjt1$CyRM}=8~%H%9T~^oT0SEw3hfcz&h2pvWPl<&hSs24e|GoJRJ|7O`hUYNPYA{j zis#t6-vT*bvG0=`8e9vKPXvRZ2s@As%B-hvk6XLU{~y1NH{hun*8qCbElI*BF)A)d z+&mD@R(D|Uduv}WWolk23jKKF=c?bxfDf1}s8~4OsO{vHE*;qQ#$T&> zBeE!<;OoQu#ui{~Yg)+{W%L4EJVZ$tKOd>O8n>>rz0ANXx5Sm&U*9!)wcV>7K8gA& zzO1%oT5q{!W&EEG>>DkMpe`%X_^o504R6&d-&R6 z-e3<04rdM*56>Syarpe0|xJ=8ml$J9q5TF|z)tfC@}q6AchMzB+pb$m48 zOLjLkB|N5hVKNdK?~Be2{YvyZsl~|qy{V8pknWx`xkFx8OUT{ei@IBi;+na^W@>#R zziu!YEk<1-mI-vtbVdtZX=kV-o%E)MTfO9UA3B+SQ~yq&>3t2saLnD9^jpP0wKq0L zWlJE`A~!U7ZEaYEIq`Y%S?R0b+XeyUUqKImiGE<43DHooI6ETspH!H2%b*P7Wp7aebY^c+WjXLmf^%22m$XSnwE< zT$)Yve9r@V9m)}!bO^~nO-LasjY$P$59m;HXTewnqd&}46iF>px@3r1aO#r<8pb`y z5l&jTW$#hh^i=j9X+|sYKHiRgpEjP~=hM&dPNe%B9X`i}(zGwba9m1Q34-{K(s}HO zJ*ea3Bt2R+syWH8B@ke_I={enn?#A!pvge9+jOvpvW?u6UEMvZZA?SDfYubjuqtj( zb9ZSCeu$gLrZ6QL>T`7CIc_?#k-;ZLCPMxY&!W(o!+M!Jp*=>Oz?cSZzE}LB&ILrJ zSs?hK4#c8Cjy%Q+%M%~gd)&Z0Nu~GKc|7nKNYeMLZn%Z@KmLlvL&sa*20M!$Z_`&| zQpzza;vb@LR>{dnQHw4^M>jG%-E6@NHz0F(A*1s^)^I{CzNo6T zfU{^E8h|*T(QZpx(ae%dJClCXY_XapgYLx(>Iumeg_}R43rN2zJR-bWIJ^0pEK-nd zzD9E#pAF<`T_A=EJQ;#GZEmQ zN0JR*fDWfK8!rzIo)~Iq%eLDF*9L>e22X?0WN$DTy{Vuxv-HHGE!)%CF#n3Bw${V1 zSoE|en%lf>3ExDqxg+ZGCEAJBiZ|~UhjkRI(*-{(beh|ERRx7DY+EFDmr`a3Rofzk zrh>s>1GX5OJK5uQ_ne%gMtAiG&E{Z#7tVjJ`0~w*7dM|M^3ZkN_Y3#l`wRDV^98S@ z`^6x)ClBm*J=uTiuhsK*S0AX))EDdL>rd35uivN#7zKy|R7Tu360_R&E3NXWT%e4* zVW^{~>h$hvj8$#qukr79D~;*mi{ca1%$FBwl;$u>qi9t?2!lrvIuW9SjA&&msMX0o zZz8)BDS1giRc%XjlW z@j?7%P8i%a>6LhM*44p+VU5Q20QU^`0%U~ka&kEp+yYQ{TQ6aPU>{0TGZf5(;=EwW zNMhrIh)M`tR>>T5hupD9B<2qFAL04I7tVMh5r5OjN}r$GnqGK# zyl32DLs?6kW2|TV;e|Bc_xG)g6pp%F$C+~O6CdJU)O^oi588-e7S#J0YdieWKpczuy{f=Iq$+j%NdWWuZuh0wxmR=d?nB3ZO}$MYM4AUN!F{l6v%upIA@O#D+p$->_8&&# zJq7$y=bpbLzVsnLvD$rR48Jsmedxc5tB}QjYh$L0-l#;c2~}r^;>8qyiYgz$GFJck zM|btt%>IybqbyqCuV*2revJQG*!`0a(2q%@xBMiJ&BsNzcnxw__!U0};#L1Iey z1-!(bL}tluW99T(-}(peCd!=JBsbqSGbFH2Cty-yW&^aR+Clmd6Xv$<`6h| zwM_k5ME16zGb;QBbpbJEnhRGQyWQ7sqpkqASN$O(y{dMr^tQ@5t(UQz9}@nA+Y%EJ zYFp3>2eRWsSa(3J7Pj3YX_DNITN|LeRkPhG|9r4k)2?aAD;1spX$`X&7ly^(l3oi` zge)K)9r;lSSZK^{*?mezB_PcUE%-H+@8~IAF3SeV6w=!F#qBn6fl7GRd#$A(AeDo+ zo=Sa|K4i0tPuSdMWWuXAci3g)_O?;BcbK6RzF>CSFb44dil3Fv35~EdMA=dVUPp?7 z2Jzi$Xd)LSZ)RBX_Yqg?WV5Lptzt1V5UCugC9iDnmT>yLqR1n34tD<^>;Me zu28d5;fBW_ZwRNTQCDourKhUsR|0(JN%3FBKVy2a3y@c#rR=wc09_(mY#EY&KmX1} z`Yb(DITv43`Gx~HpF1)^k549#!St{k7}-JF2Dgs1uyok|7rWYe1aog3ee4qtLeZGKvD+Ri$Hi11o2mc2xMaX_~8Z zQ=Dl0MoiW0Vl#C2;pq?1;ma{q&3lsP@9q3~MA7(`t8Oi;${%>J@QnB)U?n_4Gb&S) z5?&9}Bbb?4B)wPZ54Lv=zOV6RYQ6aDrB5*VFoQ*UbWy3}0a=r7gKqj^e;NRKv`y$2 z-nd!h2#liYPXv}pNp|eG-p^WEzucef&-c&tuk^3?U+5<-t^aaAv@|;pUxo)%%R^H3 zzv?BFd)e;bGA{5wBHR@ISFg{T@)o?a-c|2e??rNtJng+g?h!oER7WgRb=4EEhyskN z5F_hoih4)DTom0Qs)WmDKx!F3Juq_LcnnMC6{0sYoGH$`xJW8W7&aAGM*;k9k)%`N z0l9TFof>XMj;9B+r{>zbmLDEyM#MvMyc_9)&5*m@-EE=Hh0|T3c5hwFShlgTbBtUY zlowO{5j5u*5JB&y175jRUd2Yln?X~s z^r70#LR>&r1lD8lA-;0&y#lR6gc~Au$nP>L{0!AM?gkNcUqh8(5K(uaJJVh4p6@=< zeZG4G1%xSbl~SByjb*ZIJ3*A{xJo58FkCk0khchleKvu+&6C|We>Kl`+q^%Y&iCi% z@@x5X`Ac~aC!QE0d%srbg!M*j)}p%pJhnRCE0qZvsZ(vV(0~Z-AP!b436#Dm1&b@i z?xVx8rc5@|#3nO7gVDCJcfkg$ZkyT0J1Kjg#1BNLi-}-vCJm!VD$^YU$9Gu0X}ahP z2U3l;-T^=~K}EyTQSr3&0`_|N`{BMc5!8sK8WQ{oW&|xpX_D#!`3gc2Pw5?AOTGEP z0du{@>(HNqJ4|}PWId%fIrN5}9s}IJ`cqaD-amNr&!tW9z-l>HGaG39l%oI@p%V~y zZGuT2pTF59yj}NS@YjTeg4`$2PD`Q)&jnJqKqV*5A2hC60>Jpej``z*bgXM+h77tm z06FtrI(RIFu+XBskM<_Wc7O~)u+!eHc?B^HyWXwAA+_JC@(5ObRs25vpx92IKmK9m zT+kzi@ki1>!+%PcwsB!q_(^emJ8FRbyse|C`|X2<0eof+2q}PVNGI!(y1Z^ix1w9u zUC_~{pu4OCCx?9kP&eq-ZUW}-i*AduNdaaI0NlV$dvEMKJ8+Fl-INmkJj!qTztk1N z*mTVUauWX3liEcA7X>UAp09OWtP_WAm!{E02HKHjIY4V@-w1z7MzX{#c*(bvS}H8f zF0C$|UAnkLEO_b460u&1Yw_E7|qz1m);Dv+q*ul#O@mMt_o^)*9cVlzivH1vy_pxh_ zaRVL;JeGN^_}KhoCmuWh*v4Zf5VT=K-bilbH)b|gHr6*TY|z^_E^pv%8)OIHe9W== zT84qXS*7b5&)(}ny|35knk5H~t{=oV4{8_B;o>DDFG&T6k#O!q4S*Dp@Fh|R z-E1##U<>ZXdqsqi?_)sgM~a1!9`>##Up! z1f60lt{l4g02zR^F9_4|IE$=(6r!WoF!C%OrcieYVj>hEQgnSj#VhIUl;11My|N$w zBngMG-ePrGE&4FdWk0e{7K?SZ2EQ!5Q^tQ=^gjZpP%F5;-ZXGYmj6a}81BE{;9vxC z>&=%-Hs~Eo2rm1?_Ob!4nr*!yM1Hk>ahhAFLR>ND6jYQ`*G}>Fbt-TwbElmZetBkjWqE!1!ZK}P%a@mdS?NqKlm6S8y*>+ME0a2>Fu?%Aji>}2 zUUwstI3*}i4pSs|Om*QP1|RC=m^YHn(6>fF>Nq`zjR#dr%Mn{5T8rf>{qH7XX^ z3|1955Ks-}B)=|!GRP^#Zr_x_AlZ^Fav(R~-FvVHxyBv!QG-Ko@ietGb_~}iX9s#l zLge7iMS@XD-i3r+1!R zx(0a`qW4l@DYH~unqNAxbbe_AqVDF9WAmgcmatH*Etzqwl5vtZOcH4iVF^*Ya9dut zVUAH%FonZ7LZMjtSoAHX77L5Bi>r%g7cVZ7^s#tl5z+@l?BhfX$FClzpEn)%A5S0e zKR$PS?fALlmyR<431uIu>_n=Aj?6@4ekN-_Prl;&*Y9=#uzMfq0M(!*F2MC+a)tbj zEjGQ;+9rE5Bbh_T2|RQB5Kg^vo7JedwKV!eE>r36i}(NR;^NQVU(}9^?FY{d4V^pK zt{uhK*^_pA(AVIUjW*epiThUPaA$7ShrIK$%_ut?e8F7xE9g~24TBBkqPU-rXd}0}bwIn{QZWcG(*o^;T2Z(tx!XY-=tI$l^b=`i*+8RW4vSJvO=7 z?uqyuI&+=XVltQvfO^SZTfXagaJ;(mx(EX4G$0%j{(XDUK%U+v142SjH6n)3ZUYp) zP54l-r6RNiu#*r(_1Lu-6MHNW%fyPY`Phlr`PfE`MfE{>FgchXoEcmhTpzqZ@yJgN zUPe6f?Q&XnJ2sd0lHBtc?mR7#5Ib!QQVTB>EL=h~U}p1N1P9{zm~SjKRv4QdTOB() zc99T)Pmf&zB9OMA1)7qDs|!3O3;u=lLjS_t!rH>Qg-Z*}En_f0U}I4McxC)hiuNPK ztZ*1h{EjOFF*|Qa_eB~SqeF^G;){pLCI zn)#ghl9|TVT@_wo+{IfiwZ>wt^l#ChDTKp?j9)uSeaaWDF)gWxdL&8eWZcX-M%^1Zyua>f%FSM9(DlZBe zbNk#WcfmdDUUi>!Uvv|Vxv#hhb=vMGv8J03x7xIv${1*7CrzC0Q|%lXI3FJuwUrfOzmxl3dM6J~6`-5RciT86#m>YqK+6J_E-J2D>Mc|C3sU z4jkssRxc_F1BT)z^Re4wi&`x^EEC_Xl@QP zXPS%6^UWuk&o^(NG$GGvn#1hi#)KdV86U1?g)TwVkn56i9=Qcp?$)fQ_LSr$NFP)v9;K_*d;JDs6T9k zr|nX){8B0uHFmU;i%`t!W_o*P5JxJ?@ixD|E$)@X4@gZOPZMp8%28@A=JQ2U($w7A zWV1E3Hk*>VpwAaHHJcjopQ#!1Hz@p+_+2RlZBB4=iWSPkQclKFPQ#*QVEOaslw>Q< zJ+EX%dH#9j`uXRSYw^H7Up%M&A=NeO6UN2=jtXdGSrb@O%#}c{SH5#dA^i-HIJV4Vvd(J!6s<*`X@|z@&X!?bn~JGAhFgjQrq9 z$Z~ObG5^1*=mlcomBA1Oje&6PA+2P9mf++6go<7h|A~rTI!;FSb=0;WL2diEy|6YM z-CfbEj=V;7lttK$x|_&sAbfs%m@E0L7!HCoLY&*oLQ%0h`&aeZdDe5yLtBN}6Yyj_ zMbEtFgy+0x!-K5`tf-BbY7es|O=O;f2r#G3!7?tEwTmn+vJehb}@!;#z<_4 zbBL>+BEn%7pzL*OH_@i0?~vYP$g{5kqke7s$vsS5RA3S zj-{t#BdhuR>PSpGim#>2Sk;@^7&CL^WrwZ6<~Ejo=hlSCa6_CdoSH}^CMemNa%@!q zwXN#$pOCYGUV)D(w^jUyJ(DK?G|Vj$=jXUb`ejs=X~e%xx5DqsNwm21bc+f?(UL)` zfgV0L^rvGIY&6TP4QEuQSh=w z?9@R}Oh7n9_!mEfa&~>75SNG@2pR1uNi$HIJcIR^w0doB*}S8zFHXNo7xiqH!nRc2 zgj8%u`TCveUMjwYMg_Z)wEp9NqEm&&f4s%#l+IU3-|XkifN9jm<_6SQ$+QK|hA=2) zA=(aMVPzJl3{OE6YtboDQ5im@;Qu21PU!;bhKol^??*~Z5y>!d=WoP>#csEhzV=fZ zS93Lp=frajF3oXP`hwM2-(2ssmcBr(B-6xubf>_X)yN@krN)MM%!tqh3GTJ6rg{oq zu42t<8pGW+I+PNAul#GB-9Bo!)x8bn5E7`-@zj@bLx+03Xv>RktIcLDm+5#?x?zIN zP6sSyx2{F}C-8tl^p~6 z84K7)SzW5nrGewed6p@S`is9@bpbv>RUp2P9X1H`7(BKl6!K!wmL?M*Xl^Sc6OwH! z!Ut|oq0BF^5P)B(kYCcRbGuvhy0_>9o`@%)e~V6EbMdX$zy9^&gC?6nOcDzzebr!t z24pCGm9E63!6sTt_)nB*WX9q3zJCv|H#xgCCGkf$kNmqt zIH`N7a-}YNy&ilD7EFK$;k;Ec{q?bZxg|?^0yZ;*J^(RORwCFQ07Rl}3r3g@6fVm^ z1Z{WHl23tNVO%Sl(kb?=^lCfJN+Ym5U~N6!kLYZcZs?hx2p|D1?qs_j zk+7C?7OP&gcqVc`Pdw-O(Z`~{s@Gd=c9R(JjAws|ZeAIBH1=x%k)a|z`S}UPQ;#0U zh3vM$08tMD_GXL9n6=OsFd0g30FfD)rL`bM!oyKAi)zLQyq=PTLt&49QABFVD6_vM z`V@QD4m?dK(qL@#WbwNiC$u`gePE3*&?1V)`8Ke;J;FSVXsc3Q9vVL^I#~Ac?Db}h zJD7uJnW+ii<2rA|7we=>te93>H`|JC(a{sdriDp_Y)GwEN6Yw$zO}C^wPW5BXe~zSsejI{mGNZH5rVIwM~HM5 z{{ds%h%uHaGD2Bfn()XAt&C)9kRV7A;HeI5jkcR|#DWI9P!ut-V0C>m?#FI7Ps9qeNJdLm$!gVg2L=>*&eBBd0RF49UsGScTqMCp z=@&r2Br261DY-HWita*Qh=1TrjduJlHSyB`Xkz?IFYtjs#PN>Nl#|>1Z>2w{hqydFYjB}2lD4lCt1Tgn1kXLz*o()B zCTLb#(Uu_Q1cm1?C*UFVH{fTvuE#V0VF7>~sju*dff&N-oM@@`nP#+5RYcc-sAx`- zh^5&z9OY~APu3QnRLABIUiE4|6DJneh)%E~F-kx4Q>8!SW~ONDXMuwp!#XSq8=C{! z%@}m`eT{!gn{N;V09F`#mMi?m7{G$fdQfe=1#+H+)@C1PCq+7++ZPN#k36!+pr*=$ zrB2!QoT_0O@hH7Xr0J|8!;mD6Lg{WEJUuye|46e!1RaCXC~~utHtuU3NGwnn56|4& z9}t&K;dsQDM+WZX#EBk}2cq;R?Zau8Ju%R342GLc+0hm}j;V}~BP{}XfWIrejVaPz zg>0f&#@(2sD&vl*khPb78SiMg`J~DZn#%luVpO(k);=Mi?|$vS3R8&cfEvxc_)(5G zXhV~~i`FLLAvQ60hlf=MGp_HNkCicG)5-XXzIopX-+AAL56YO2LR=}HDXq?$2AjYp z0QfxC1=+-iGC3I?d~!TT3iwUk)ADMuhBANn{>4`#f=~bIi}-Vg^*xKnDeczr#rM$F zrZo84SD4`1Grr=r+<~=4dz*c+ydOA#G5vkk`{%YB40T}YE@LAaf=EeNH*qL$SG+hh zVMSZc=*o3L{N8mN8cnG;B}nt4rqJ>3MSN9TC1nXpJYV`WwGOOA9I-kM9_^&7FlWj8 zJ9L4r9*0=}{E44XM!hLP#V2`PhnYTPVSr3)j_h?xafV@qn*p`Qy|{oV;a5jj)50*i zgcU9_1v$uz&KsjD)B#Ue&Ox|) z?8NV{Ejm7lMCnxU?{}}#D2X;|Gjqt5e?;?ol=5ogXL;PT#)ELt>Vr3*RQdhx)wLTf zSjFWzG(ciJH}xD6jrb_|Rui~K&@8))_S-oXc&`#EsT0LC0OM8GrKXi4up8@R?*aLj=~AQLDC<^v}J z=K~w4g2Ox$NfO)GodHKx1e5`&P?8m#cD2ErB$K8^kl>Jp0(3pj7U{Szo{AUZv+>pV z+4x0d9p8C6egz51iFDw;t>K%HhxNoJl`>n*HpRY~)owSjM7d{ma_VGW7VTE?9?2Q& zP5j*9@$u<8d^HH3mp3(sgB2FpZ?*l9SmO6r4@|5Y8=C?&;xTl-9sQ1D#GAO{IGjZ! zLs}R#Kzc+7tUrWqP}v4-5gbg|(^Hkc6Y_9{zbhMhAB5evyj>N*-Z6KC7vqz!_`cOK zh(-BXwO(J3v^KBAT9y9niPvE+s6{z&*#F=b^^qG7@!>#U!I_I~79)s43EBn=K1U6; zB7BL~9|B}i;7XGhD{O%ZJ7M_PAg)P_IfwNl^n>6K$LC*u<_OWl>WNdd?Z4(_B~$?c z>A!pa_*?H~`dC|~b_LO{zeKxIh>;Zx_$kU~Y68l|%gN=f*)6@*t0?l6waH!93Se(g zl>pXdHPzvNllLCbZCzK^@Oyy3UO-apB04~@f+8svNhC$8ORj>5Vvmb@vE-&oV3L`9 z<3u4y3ASf!M{*LEu@l#rB4s-+nZ)VI%$HHhBzEH7<2aM%OyaRk{`>6r9!RKXzWm?% z*ZSA8Hy<9JF5W%+o_o(d_uO;UXRGI3(6&dH(d3kVaaDCkgBHJ{ez|$=K*Oxb7d2^_ z{$7{bA4~kbjT_`0@mAQrYg&P~YDIo3Y?H*~rHzR@u^&dkSdn=I>!fhpWmaa^Wp-z- z%#3Dk%N)WIs;rZu0i$CnghbJG)#DGG?&xCX9v`c>rVgs%+Nm^R7dNUG(<_JdP&5X; zB}hI-`qWR9vQh1{K?d8R|7eUMkESGV&HZm}nE818k8C6QK+njcl^c3oSco0(ZhZNR_<>G+4^jZf7&w$%5`H zGBeSc+``6DIQgi|+2-XGSk$`W74u2Q)+M_gpU9e>Wenu%H%u8OIWJYlmZ^T64YB|| zTZ3}GY_%v39GwM`H)61cKLjf|KyB>{U7m4NlN+k%HXLdv4>#=pjNv9VV7JaIGR8=8 zf*Ql4sHh3~V*e(}aP{^pCU2CgKm~L#EkN}?8P*2x%Ow^b75OB*htJ3(5-Sd=%Y5jc zQI8761*-&cM`CVN=^b9m+@M09Mipg&0j{ld*NE?3RGnk z`s4@kTTRMRL^oj;i!niqae^ylJfqr(aSF)Kv!}45)uYEU=tjtM2Hp@`#(0#MCaKIa zbOk4MSg8(7+)eU9MbeD1in?E4!MFUI=zm2o<5hXRy#&$_S$%LculRCxuSiGa7743y zUjJiuh2O4XL`NNvguoO*9em1#6IGd*eoYi)U|K6d3t|CTj2+vC#l|>4s2l5H^t=<< zO!o-4n*{io#F+uzOEWO1S)MVEkVgEs^W>e>3K_`3b!7EF7z4VRB*VriuGSj!3DAys zN|}J(hAgugvbO^*I0U!^e&IRDg||a;;niS-tT}?i!O*|dRMynhbl0q`iPmhZ8N#_? z93jz-6d-1vx$tD&616q5FY@RE!`@3xE))}@7sNWOLOn6ZV9KGk+%$DBDG7q(6QiZ#AFx3DmG@@{omk#nx|>t6>HsrNbOOAyO^Cm5tN z!;@=$@+Xx|&XV^^oK3P%U23@nwah>*rPr6wHhi9qv&FK-BAGG&H(uZH=gPo@tSy=a z$QPVu1-fTu;~3Xh40r+!Jho5BU3nRiv32TZlSGC3v7&eFM7hMVVP}GbN@mIF0OPZp zn4Um8*mAs4;h}(Yb?xJdxbaSg39av|gY_&Seee)y69gBWF-Y8de5~m>EZU>Z^47+5 zIhE0YJ&My9GqoNO+5vMe(^=$1tfcts%jNxXK-y%VUNLK_y(IgJtOB)u@?Fzi^6f`Y zAmxl)1Ua(eGPko4y1oEK)`h>7`|(kmiGsEH}nm(eN~{ zKmA5V#r^0q{lR*N(gYwmB~%fP`?@Y|?M)Q$`bvfo%#8!)Ujktet+_5*-(~` zRT&t%(q=vAH@a9dlnd;G6v+CPm524X93qSriX#P6N9kq^5 z$8ty5vBj|uDMgQc%5f{Qjf(p8$g+OV;U4K!vU)0d{5@SgD|#Y5TYL8Rz-Yk}OH?YD zbO|%hBGMA~>FIA6`#3!wPRGGz(mF**fZ9F}r+w9Xn&vgE-qgKh<6@T_X3<=nl~L2U z(CbAwM0KFg16vj8FP!rmD=Qo4JDu}tD>Jf+o3jg4)!uWN>D!g9t6ExDRaOPN+s>a? zUEAG{Q*g?PUDZW}w#J${4K^#nfziPfRQs!{{M7|T)vjWkjZ@j*U2C-Zb!g?wl}k;J zDazN7a8cKVb>E2t@Js3`?tdLzp4C~GmZM%sOSOxEYuP;rdTzEkxN z#!#I$UP@PBMK^%~lZH~NM=<09YXkR;UiaPnyqKT6QM)asZ({_ylC_n-7~dN!lbDc; z1%=hgQk)MHI9h-Yu$_#R$+VVf*iNkO^cZVBnkPNqOcSaIb!01{6<~@QRl8H~-lX5w za!#6-Pj}w>+h5MN-;sLztNHfz{4Bkii{I~OZ7T3NjN14S$-&n$f_V7BhZ;1c|T?mA_omP}{%Gb1`_njS2b)$pK%BFnKyEk(1DAK&uZlDf7&Kl9Ku%y!x4 z6qs(y&dAQUW>4O$UYc#q$A`&w_saQRQdM5tQib)ynyGh9KQJAKXQBlwh$BcAC%(-& zm?Azu9w$~-p$_}0#XgvMgpKS3=4mzJ>#i;8 zH6xc6L!@Ozw`a%2fxyK(ddTSX2erV~v8u6gRflczXM*y{bljSIiMejcC2eh&EU7bJ zBCR3)^W-5MD_Cuse9~0iF#nqZPToL^5XNCkp#2`y+Al`;d%(CGCpuSUAP*7dk+5pV z^Qsw!s=JSk1ssmxM$eiy#4%YWn!^NQdLf&9%`C*gUM=n(V^xREz%ZHQCR(;OsVOyW zw;RoxJ0_vJDh`>)pG%C9+Axqldcw3^o|SQ>No&DaVGO~gEWv4T6LVcnw`IBFX0b|$ zC#GOXUB%X$=Gv>lP+McvDm7lr(wBM=a@S_Oq@jk>+3iq=(G^P`)D;nLd+fUF_(A>s z>VB1-wWgWByLuP%e`xlb*-e?>Cf)=zN_}Ave!TqW$FImoi%bek34Bf9Mu21$hhWFb zpC3<_%d<{UKk3m-2S}Xe(qmHSBvtqUw_K0*l##)^0)K1lTy7tpo=#H+_ z>3Wvc)zAtvN;6^&j#7Wo<fWr}pv{osv6f_W4)G?BHM~j+uB+lm1?OlLIO4XVyJBTUv|?MuP=)3LLfQ~4C>o~>q*c)i zRrMOp*r+cFHzI6Nd66Y*oiZ25VOp&jm?fLDdJ)T!?v4l*<~E!l0QKJK+W)KG>cKVV z5i{iQgdqYGY%F~^*5^=SCCEHgBy!c5mk~@}-Ge9_3eF@D1UHEl0qP+aj5((?oeWX@ zrL{jxZBJiE_Pwx$mcXX(R}M}z>ABfua@}MV{}FJp-rLe;WU$r>3R`8Q;L0xoZp49r zm}m$`!U30KJNy=9pCTr>a;pLp+|3oDW5Xqf5g`o|yriPUU(!{wq9jtXwPZhnr{#$% zvty|Kwewkn5a#gc`+4`O(a`>`tpjY|3FLL*;X`y}Mzo^eY!>+D7|Ehs<#~erb zz*Xnh%`nKNF9=~j(ceOX&B_X#>RQcx65V?IV*srczp_ea$_H|M22*LqpW*kRvKiJY>>&w=L?C#(Op@9Ux09jviguiy*S?}X(!RBQ ze>)gL#CShh?l14J?eFYg-XHGY(!Z}?Snj{IpX&@pP;`nH zSL5>Wt_>?28dh%TiblIO$m#AIy7J2NC*Krp*9Nr7|IC?f2`p1R$7STU@pSfedg$%DYT1${%kaPHtM2)o-L4ErZ?xM;Zgc*w(4vmH$Q5Lrd~9&( z(n0xOVg*-2o^sAXmQsYdNlc$m9I;RhER~izOSfgEC2HAb8M2`9 zAt(hc6c)v}%iK!l|(?AgXIhNw=V2%edwOnjs>l6$|li2hpx;mD$T94Z3zD2h8mx*`lo+a?ekSk zUYM7qzMPeJUSGMZYIaun!rB$*!9qlR)z?wqQ+fD|_dPccpZYy%!Z=J^bE=!P>{OH6 zSI=H3Q+(Uwv+H*?6aO^6_S`cp#>ktXW3+?HJ-2iach4X`3Itr zJ<7U@m6lFB@@541X?{Fe!ASW5nM_Ia@|yg@S=y4~CuSAqx8xMedie2K1v$;QeUM^1 zh}$@WeAeR+<93TFtH5&i5fSW>yDbF;*;yISy^)cXT~J^-dcWMg|EPBNjpyX9)=rTb zH4A%$*2^9tWaGphps$rrK;TsV40+Jx%1WM?_$#nIL;oP@o`CJ%M^lDgiKfxpdM zRgm7L+Vqmir@n%=kYTFaE7pzZ;D@MNt#a{11=m(9#A4H`!l-iN?P=Z^AB=8p+EYEDi;PJ3agzj!Jb!vAGgk3=2(8OgVR7oKcPcnJ*3sdZI55i*@S7@;Z3m9~RXv z3eXjo*KE_(6cpfz+a^D#Tik**W~}qfYf>5W4^~#=-RqV868nINSrthfaDg5fjS3zY zEEu=~N2~Dx_7E0-;Hfdf9MbrqQDanWy4ysHG}Lok$s<2S+Mg=^fgx!)u~KG;u41*d zsXN;6SFWzU!(3Fv#)gXSwGRdUCip<|t8#55BCv6TDZu)t))tdeD$sh9* z_$tVlp-*mQgLnpXZ=%N-=VTsG1MT95H1tfyOh2t>N*mM+U1DoYjr?}WA)W4GoR?Zt zG1^`!LT|A`r0CpDzB!}aRlzF4NTSu{8{f#a7UpSf?g=a%p?8I)V=7?p`T~1bO~WLY zH}`Lxiy$OnXZ7h-IKfML(u+^OF`8Ry0L0s_#!fIV-}aZZ-o#GR#)f4)ri zyH@;qx=+^lUHW8=5A?}mY5srUlXWoEBY)OI59+~IKc4Mw=edWkJqS8m>X};uJFRtUzXGW0%8DgYkuQa$IP&K0kh~ zRh(7=|1PjdzzR58iMEZUz|iyK){uNFfRoO!>LaiSAg7m!uN5&(&4{3fhv4{lr$tf= z%7=wC@|NI{0e-oP51voF==fNOnUkPNSLlNgqmhl74!xI#6pb@;sWY6d8qp4E!<2Et zu=qOrWcJf{xR0}+zKTA7UsvCXzDVEJzWse!s9=7d^!}CnBW-s%P3`67%WIc+E?>Sp zynM^@eapqvUViIx$>X6cm*+7VmdXW>kM$w(16q@0|2MXemQ9-lh{xibHg&Q>%5o|& zmq;>(jLZzocwxC>rqqcX4*E3@X~1@2lymWqVKSH`@^$c_^H>;Q8A2073=#e}9z4MpmID7Q%f4$DS>Sv`5J)5>C zQ1%$VAh%zT9mi^S|9NXy%$c)d?fJ_K=N96><>zak&x3Y~Wrp)wOc`p9)|bFzy#o5+ zRxX`zXCQJDItl;Mc&U;t($W`QjIJ?lAYgZI&}{5JnNCo2vB>Fa!P4pE=kdleU&qz{t*`xs?@P{t)}hqh}AT?jX` zz#VOYie4yS75Ex}J}V2txAASEd@EoT_!@xm+y+HyqZeaHjhfM`WqdGfsiU(nd4QKm zqW)kWmljQXrKhjZQjBe~XxSU(Nnn&Xx_jt1Kdru4ts*euf`*>iZa=~t+8ld@Zn z@hK1=7i>X97>#=hE2On~0<>@$?PK`TjTb(BRp`Zp?LS?Wu?lol=)t7BI_eN7)@iFI zW^YQtPg6;wNq+QG;q#PLO-+xq#tDM4A6GFopvIbK+M1b-+LqHZ4Vw!=$7k?NNDqwJ zQu%Z+4F^O+6h_C1qaVaGjop_*B053_)6fZTjEk&Z%2~@KCYq!6i@Dazr8ZdD-O+Mk zx5LqWVavx$z3sNkFSoUOOT~!fP=o`v=d`VCY+Ttk=bN_rs=Vj(s<7Cp`4IM@cH(9f zuXI47IIwR+vNLJ+J-lJL$B!laNBndo_$&Q&{%-$Df7HLtKjeoa0TTejD^0V+s9xFx zz^H551OTD33rwtq?l z)$)vHn@#>KB@Pp3H}6my9%a+CN7~G_D9Lsqk~qDW9!}|EJY@Ky)1+Yt0Cg5mJnBqO z{LH16={nCK_@p|fvzuP8X=)MA27B$lO~p!&vPYYpG4+N)jd`_fGqH?=rg= z4t8{`UFe2EVsR~8+tD$&&~3iUBK=Y%+l=AyHRzEIy~>Eh%<6L+Ka-+V2PAV0+_v^I zyU*TXUuF;4H{16jebcc|+HXN-CoL9Hk|80K0J}RdwL>?GshyE!ByDg!lb$1a05=XPfhX; z-Kx2MZYsK{KN=ou^G(#kHj{NNhxsx@l9oo{Il&%FkqIJz%um7lEgA1WjtEn@nJ3z0 zeHZJTjc6!(oGF6BGttSMKC3$xyNp!#Y`>hq#e$W-NkW!vJ#suN4?29DFvl!ehk@wo3=V^ z*pJ4TRD`WVSWwf3WcA*Y7fXLT9SZT=nG2^U2}-S!<(0xbV|nE%LsELXTEU33Lgfc& zQyGdDTULtZbuT2?sBD*H0SNfODx)@L$!1fm2B2#ehfuRV%cB)yv>Rh!V!JV1Km5=D zXKaIrrrhL%P;~nQAtR+QGSkcxBhGg^v!`ab`1C10)`$O|L+&QQPZ`l5T8IctF|3s% z{El$-)w}*Imw#B@KlzDNbcAU!>gQGtiJhH~<8Lu{etx_!3x;!2;AMdu0Ze>>siy>m zWTD~cK_Pvqc#xM*j0d6n$B@M-LqI4CV;9%aGMH%P$B)jEAui<|;yfbN7*f$Y(o9tB z8HB&!A*mDossX(vFu*p5x_?T(Nec*3r#_gnV~>-pA>TGpnc+aYR5B%i2qTiD^l)$~ z88iMCPUO3ek9Rx7U9OE&ji9a3sL?`vSZIt>sqMvivil45FNSB_Y{$6$*B+yc251aRR4HS?()(O2i%4LO2=&xslyoVQAMFHR`iwD3 zyy|Eusp$Ze?#`LcbDmq`B0w(8C{G% z(J`j=n9hqm0`G-c&Yl;pKl9ffca8dS+%-O=v7Z`uIpS)g@7P=habVHn^aC&l7VKZs zx*wy@ElnGMuciQIHiPf#B7tR^dfrOW zSIg)-PZ>l$V;G$io=mY@aG;RBZwL`eaItpkgKt{2sIk*wqD79boNzE{9=3qwLldy3 zVZ%V1o^QZ#2&9j=hCQP7wuquPEi=L|PZ)PE2y+_Ra{akoxhrxbxm$Dh z=VI7Gs)t%kA7nv&JkXkp@ev(ys@?pBqZQlF8HXutx|DUc@ky8Fhm_`P(vpxFaF{DB zE{t1VMj>CsmZi10daST4m;7EZdSC@(%|OrZrJFfM6n&aeM+dK%ZbhnuBAq(1S88mA zP#)FI67>T8!nA%mW}Y3%&6@uY#J_6Vi+5To@1z8{?1=Z8j_k*Rqw!8@^E6|jO{^FM zpB}Y{38l__38&GHMXl8Xy3VFjnV7QpB8T8qPAybP>ui9h;|E-+`VHlXxFb^^H}?(35w;Qg83P zIkzx(Rf*-AtYWLzYBBv=eg=*qyEHQgM^&+m3)F6uQG;`t^YpX1^UCskc^!Gn@|>wIy9MWCk0Gk8((;}%QOJlfD0?|Lgu!uafJRiD{-MD16-U5Un3L_u z&XIi1yePBkt}6Lk-sCA0>qXmf{4_@49*n!~8Q6M)6BW8;^yN;C zvIZ`JV%+VMHo`~=>^a8ac@lF&myt2#)S|se0MbOe6 zsh2pzM5oiTto>uER?Vl&xAy00D%HiOOTC7+Yvf)lR0fnw#})@9@zY}KSle;rg*e)X z`8|C%Nb|(Q_mCqW!|M{Qil`h;*_Qe_&}toMwfvCs=Fc|uLIrRrQ!4X4aXq3P;xR|69eTi%$KZ*s8R=?3f-vMgfgx?(Cv`LBO*tvw8zWFC z?2$8New$Itm1oKUXTls-Q6z_zcKV-{S*);n=|qjHnXE*o#F)dKtV1W}4(d$_|8vum zuNg1INC(NLgi#9KakK=<8dr$C^MMH$BW#=MTy$zdr24O?)>dXSRU#G$Q_?!kGFlA({D^yl0e>b)&fI|X~C0dWPis_WyTG?9H z+TFUcHQKtZb*L5DB_tCU*3wonIuG#?;*o9@SE4xOR;PM3>C%kNvlC0{hr@zM6Aibf z@}}CR&Zgx};ifH3`k(*bs55Om=EtN>smsQG1R# z?Pdrr`j=+6Gr>>)TjhOS*QzH@)HO*QEgE-nyFPIhklQ`k37lHPN~CHkACSIQ&xa>{ ztrTUm?ULA5JuqqW;=hp@2&=9$E`;xX~3;N2lE_=_Mh zq`$7k1=^7j6N8~&!V7TP8nStvEY6a1%Bpu~s)qe%NUt}evg+cQ>5n9j%Zx;O;K9hW zCpOFl6E%|2eZrL~OT}2FksP7es>`IS8a1d7gTf7K)#w5tf}>Vs+(Y8*F{~g%Q%qc5uvS(}oz*+K=qqPP95>-TYP6xXB6BQoeewc%uOUk@!Qx&}~ za)#u2GwOQxne*tG;0@Mt;1!}Jw_^5zbsBk3ri3DS2>zG$m`ZYFmGiUVkb=`F< z>!Nkr>V|NFH+yYtQ(s^mgZYVYE*#s$-KXre7iyXZb6d-ED|Jjc^R1E*SiJaHK*glH zt-P(at+Q=;TexjY+rBpGyW4JUJ5}FpmT1ki{u`6jlQQbnrfAGOdv3j%l39E%Y4(h{ z)&HNyb0aTZAyyl285`h9H3MQ;$y%}%eev0{m_oNDGz!gnKK{%*F8OI?k1IN7cnF~b z$ngzDM;r&53#K~KT(})b4B=KrL&3j-Oc|PQQ`#9qaF9)~hapENE4_sSJA7H^oXbu- zu7D%q1tW4W8JgV^}_6m^yuyJW0>3 zPdfkY4EgeA)LIog_spsDz^9SV?*Cg>{m)XB{inaWRc~a!D^xlVL0+GU=_$^ffg540 zUK_e$t+!%93Z!ccBWXqYQ1iDixn5n<}tgWyG5? z?VVwPrNs^y*}++JBbWPG9L|ses)T(9#_A>4v|(f8?HMRcA-xWPh_j29lpPQ#aDBrG@9Kq*2$8joKZ53{XfhrDDbLAuR(V&A4O zh3bMbmVzayP3&Bw*`x$1dz01go}8BbYjjI|>~Fs(GR4C14XYz3W@;a0Q`;ms`IGCB z22*7??&N<&R->jk$HMeEw4wkk-rL1Lgo6~|A5suG3gfE%2)F%bw^z2;wRg9#Y>&2Y zYafzr|LxYJIH^UJ!Njb>u_Fm4L~kog%gpO%!?ro5W~op*Uz^+G@IX@GpXxFyt&S>E|)tV$J<< zZg`-!b|5_W%g>dSJ;#Q3L0Q=a`2XRF6&GH(VnW?6J#c0FMV*}&cT}~OHJ5Q=ZW}J- zL+_$R^RarcaB4(dWNyXYju!ZAv0LB_=gKKKl2=+ujtNaB|S0*pNJbC3@e!%FjTKJ)Rm%Qd~m|!Y;qM)hYB&VJ?rJdHTO6-y%=R(g4 zXu^?}l8qcva%d=&!cc(e%`DpN4k9wdrmkZP|E9dzH+lIjxm4$UNB(>VDc5tY#+SIn z+bmPtaN^}K{94(1<){70hHq^h%b-QBwy{2%gyADn9#h{#-Usm})@V^_Tynt@9fAoZ zTX-gyH%~6pqRZ0wjrIJEeS(w2)7R?Q^zZ%m^rgsgHP{^hyOqfPT%_luJX&UX4>M5( zy^1uhEKwVrBRQkH)jS%8yr|{R$j^NOF^EXRiUY2$lM4{|5jti35ytRKHvW=-qRb-M zFUzbL>s^j<|>)?9JDK=r>i1w3YCpGLDUDm+#uknYq)?)fVuiS??+CpkqJ(Wb{*h&Yj-ZQVoC$i$IZPsm2^-o6VjfzGn1U2xknMO4i^M}uI3>&kj)G|&(lS0QuRbEwKUDVdUeHB8?@UJW8g?c-K#l?fDg%7p3p0#M5D7PSaoXj2&Ei-N|D3^Hc z40dNO#`D&LHf-?2%NJ`0Gr^D7DaP*!iihn3=++R^tslT_Xz17F^@<#G(XLNb0sCA> z(KDTc#l^wS^eQaUtANVPsDf~?LUpR|s<%T^-6Gdwygt@E%MsFm6?@&`fqoeAJ2i4* z1?IKfWZ2P((Mj4FmO-`65HjAQH5~P})HS)wJz2A|GYhg7v}qsh+Q$y{b~$}66Nd?5 zJ401n+6Q@?`N|FIZ%p0d!9SN1Eq`*h6D==4hZ8N^m0jv9rd8DM{})fRY!u2Crvvc>S;Y0|F!9z;Riz?y!#aA0O*Kr?yo7f7sge#&?>w zXsS$WerX>*Nc)ub0j+eQvK%XYdohPxrHuy+=Q2Vzj4i0hfjke|lIYqmL>hH0Do(-ey2jcLhUkr z9q)rMSW`CM(5==gKQeuUJ4^Lvs&VK0ydyIKsfB0i19i2!L93VYfYb{!h3~7EYxUxt zIq1q3@)^{Ncgpdv=J6TSi+2$Cp)Tbe)Qfkj@Jt);EYj~daAy(kNR*fS7IsId#k_-h z@s1164Dh#5FWy0Hm)gZUs2A_Jr@p8BNWDX=7w=T#&i8o-^->;y{ojFEWC!9OE8!dY zwwx5;fZ6Xjf&|I1BpsEGI!Cu-r6cOt<`_cmWFAlhJH3&{0fPBp_#=d`iaVhY%I>S` zs9IJPs@hz&7a>Q-K3R1OqLE}(8D1m=0KlGySz#PEaLORkvmEq<1-GL|XJ*Vc%|p63d+!wk16TAS+uQW@ z+n*wLv+x?v-GFD_nGPY*ymm}fvL;*TFxLue$SdPGutrdvM)B7%M*8ubAW*TO)?iTD+KW?-2 zE_Tm#mSmURmZ|`SLfQUnw)Y^)k|ut)OYe?9M_nqUR&MOG;jHAcT+`fUVgUs zyk5U+{soPW_CRC#aaNv?E9}feOP>pNdX?Bjb4HHHAm>O9Wsp;uQ)V_|h);6Ro=MsUX+)``lv@ExTEn6)6keck+r!2Q3YZ=-; zcLdGkam_Bk6LP{c`0V~aV^!J83SKiWL6QFJBi^W6N5xnNgkpV=noEAbC+Psp1^x& zmSiFEH%{`H#2GEvXN77{$v!h-R`$wZWWf0R>4`?syJLy0BUxlNt1_!Dt2=9DRy1o{ z)=(ChMc37M%tt=w%1Y#Q_BGX%7q(^R+c3tiW0QZu zTC||C9hv0)OD}70y>w~4Fr8KSSfI1m)9Jx~#YH7Z-!F;(DWiw83LQP+&Q6?KH>YiR zeRe+dz(i^FlI0HNA#vwpiKNqtoHjTl=1jQ;u|$I7kj9l_&d88N&&^)nUFP<=JKW3M zA@^qYUO8UslkQt^yp(KR6E~~4R@1hmrSeIeO|977sLC)^q^iKAmS>h`bzQNvwsz?iUGg`- zv?~8GWYy}<&NZ7R-!HH4@%eh{%ZQVl~fFDCZuSCNHpc z)K^y4OQLT6MY}_%Z<+&1RwD}+>q$j08q{>2Eqw_{)jDzG#9MUroh8Onh)K=0W>{WC zh92Z>Q%x^Tepxu=sU6v~b3ghhHaqspp$DII+=4NEJVRj`X1I#mWu}_Z4%r_|^d9M@w)9r^*7bJx zuI!EWZtETDMSh!-UMrp$ujd~GDI81GA3@4Uj2rcp^>y{#^(*V6_1o%)kWG^N6<6wv zv+{-{Qn3u(CZs+cHwU_<%o6^A2k5Am#CyxVwcbwea&OqX#kBuEi@BM;32gynnF_`NniwoNS_0GXs`2KY>I#Yr0r+LOWT|*6giw z_YStU4)(blJWcK1#d4JTV(%5@b=_{){JQe;y7?}5cU^f&sTW5vw|PrTy=^#>*<1RZ zws1}Lc}@Nm^X&F{EBsC8Ro8^u8qVu>I=jznkm%?Vhv+i@s;;uyIYmWtYRmM$)I~ru z#$^{)EIu!~h^02@BKJoeOSq3fk05GyrMu4E?Oy4Qy0^K9pkk61SCTZ~z``afVN+R? zuc@PHSyQNKbJJdlF8XBCEr>1>SE`|e)Vq@?Y2|JmP5X`w`wufgMwY+A@Ar54SNJ3T zt^WN`Lb&@eax?bXkTC}HRLnw0ClgJlJexQm=K@Rdtd>ibHTaia+BP4D`&ujJ(wln7%Q_(fH7X!Jy0dkhX(o zDZW`M!$cVueGxt>C*8nJ2HO^H*12?FEy7F};bO);@#d$Jv>DeVJq>$_2q zPhn$3!qn{su1LUEwW8UMkOp5R~IPAJ9Yg8BR{?+jDN`HTPS)K>+ zop(yX8pFc0-6>M8=T`RfG$~_^Nn~|*$;(JsRBJq?$e^5kymmKu@$6Tu}YeSC4UkW!(+-V=Uy8$iP+zojTDt{OY z1uz$oaMhyc$B!3bNBA8A0f8$8S^#62_%2hv69@=gDbNDY{is}=LDwpa+$R%8swD6D z`6Mr_>%;$D+JwT3|H|YUe44RnA__1APst$tUGs!N?a}`kiS%`AdIL|{>zHK?X{RHS zj5hX1McU!yP#Dk)*AF@;uz&y+TpP13+M|YYa0S}rL_?US3d(TYvEsC_3QYSVU7qBl;fy;g6uK6nOEdt(db z|9S1j(a?697Ig+07>&k+X;rGxoT9n#+Y?&I$+FNI16spZv9j_FtPlM4R}Am_AFUYP zkN0_4f1k6h7#b@+=d@PHMYkCXm*=up2%lE})PVW`Y#*QUHTa@3mG3LR!(WrqIrSZL zrRi1WD&=F!ma&hcKMah0T%Vtawdg{ZhS|ps8a_M9cKCL5>{zxVv}5y*y*tG4*>TGb z7(VFqc4N_HktvAbYrTvj6Fwd(T5cMG4O%tCHJYIH=n6BY<*N9Le6^a_NMAmh&cZ0! z&tX4ybQoI;GcsnE>4$&mE}G0~m($Fo2xS==UYeWme`waHx!hD)+dijhK|xm0oO)+n zkAL=Te@|U~Gv?^<&)RE>%L_8GF){BSZ)m-IRZE6yQcW2xt1fS?ThQz+&dtwl#P+(( z(#{o^Em-om>w7cAb7kpW_wglb53K9N$=Rwp*^pi8tZesYmAa}bou%2T*N61lHAOkI ztvQY^c(GP@I&B5nqUitO@a31nbF#E8{Mq@LS%vvonWeQg zMRgbLT3rxmYtCP}=c0!C3-_#^UGJIGP}<-rALyRb?9|* z=DCxU-eslbXZlj@Io0c)x()-Ud(|`40Vf(O=c{!%)p`zAwq(T}EFgP#hOE4tNw}@2 zdN1UnJB=8{PVB)iwV(2r)H8~p{ggk|bo!sdZz)rgidugkx{Cb1-(vn-GxY}0Mzj+h zL?_WjbQ3*9FVRP=oq7fT)=%7z-Opxah!`Wri3j-Pp{ZB#ZIXB+@h0NUg6b@JMzu`+ z5|}~EBxVt_iMdjmnn%nh77z=G_sTOSClEPyQCf|%f9lJ?A!3XeCmxvkA?|;A>P6r% zF+m(5juH<|J&tda#2bk>5pO2`k>&pv@lV7*3!)Y;19MTM8oZ}qKCysUNSrhEAGq&= z#A;Lz-n>S=c zv{8mO%Fw2Y3~j2&(58wEZIq#nGPF^KHpb0%Fw2Y3~j2&(58wEZK}x7Mj6^DLmOpiqYQ17q0J;Rw3$SPHpIw(U2W$2&` z9h9MiGIUUe4$9C$89FFK2W9A>3>}oAgEDkbh7QWmK^ZzILkDH(pbQ<9Au@nNk`Bty zK^ZzILkDH(pbQ<9p@TAXP=*f5&_NkGC_@Kj=%5T8l%az%bWny4%Fsa>Iw(U2W$2&` z9h9MiGIUUe4$9C$89FFK2W9A>44ssrlQMKthEB@RNf|mRLnmeEqzs*up_4LnQie{- z&`B9ODMKe^=%fstl%bO{bW(;+%Fsy}Iw?aZW$2^~os^-IGIUagPRh_p89FILCuQiQ z44ssrlQMKthEB@RNf|mRLnmeEqzs*up_4LnQie{-&`B9ODMKe^=%fstl%bO{bW(;+ z%Fsy}Iw?aJW$2;|U6i4VGIUXfF3QkF8M-J#7iH+83|*9=i!yXkhAzs`MH#v%Llp^GwfQHCzc&_x-#C_@)z=%Nf=l%b0p^GwfQHCzc&`lY-DML49 z=%x(al%bn4bW?_I%Fs<2x+z09Wr&P_7(3jQp_?*vQ-*HJ&`lY-DML49=%x(al%bn4 zbW?_I%Fs<2x+z09W$301-ISr5GIUdhZpzS28M-M$H)ZIi4BeEWn=*7$hHlExO&Pi= zLpNpUrVQPbp_?*vQ-*HJ&`lY-DML49=%x(al%bn4^iYN#%Fsg@dMHB=W$2*{J(Qt` zGW1Y}9?H-|8G0x~4`t|~3_X;ghcfhF?&!oCjEv46O436~dMHT`CF!9gJ(Q$}lJroL z9!k(nCplC`k_` z>7gV&l%$7}^iYx>O436~dMHT`CF!9gy_BSvlJruNUP{tSNqQ+sFD2=vB)ycRmy+~S zl3q&EOG$buNiQYor6j$Sp_elBQifj2&`TM5DMK%1=%oz3l%bb0^iqai%Fs(0dMQIM zW$2|0y_BJsGW1f0Udqr*8G0#0FJ}eUzb(GW1b~KFZKX8Tu$g zA7$vH41JWLk23U8hCa&BM;ZDkLmy@6qYQnNp^q~3QHDOs&_@~iC_^7*=%WmMl%bC@ z^ihUB%Fss{`Y1ymW$2>}eUzb(GW1b~KFZKX8Tu$gA7$vH41JWLk23U8hCa%$4ib11 zd$5zl8;Lg&Zx+Nm2yP^97BtPD`US9W>Um&4upZC61>89GHgK~bp22-Q^CGYx*uZBR z_)G(zY2Y&re5QfVH1e57KGVo&8u?5kpK0VXO?;+_&ouFwCO*@|XPWp-GoNYZGtGRa zna?!ynPxr{;4=X}6W}ueJ`>8CWmCs-{{~$5Lf?N0JV=yQ-OEkwCY~S2T1mN$$l^7^On*} z_In|p7jP}Dx{syxv9vzwNFPhtkt)SlS|%wuq%I zVrh$5+9H;=h@~xJX^U9eB9^v@r7dDt|{GEUllV^|Q2ome$YG z`dL~(OY3K8{VZ*Or46vO0hTtv(gs-C081NSX#*^6fTazvv;mejz|sa-+DgQTdX$yw zdaQ)6R5xNYU#V`EYtww}Z(D_L1Hkpz`MnC?)&e)nHNJHN`|$iKQ$LzZl|0Uuh#4+Mg;y7`Fc#QZc@iF4#;ChYn zWnMo)e3JMS@oD0>lqx*)uV~L}loxpCMdC}umx-?sUnRaqe4Y3P@lE1e#J7p>@Xi0o zU;i)SpNM}Zz7K6$qx?7V1LB9okBE~*$x66JRfsClL^Km;O??~RTBd#k%phhGvxwQm zTzHMvV4M}qCl(M3iKXZ>*QizUJ{TXr1-y#5bLtsfUroG*I4Y7+4+&ySdx(oL|jW=Hl8(1(w93hSp4^7>I`$^)B#G8mW6Ca;?3E%!J>a`Y< z{~_?dh<_sfSrBsjJkWxAt%ckKGl^NmY+^2-$s^_y3y6ipD)|-I%wGYDcX};s=3f9W zp86-?8sgy80bGZs62LI8BfP$3>eIM$`P7$y>){1mixEmn+sx~2kmp*kAh;9W}H8^@0xRkhzxI=yg90^`cyoPu!agY2W zIC=`vAi~igIT|EKgNkr8hja5PAc2FcMNIU2+~En>C>#x< zZ3_xVgXCzC91W7AL2@)mjs`KWIe=$`qd{^shh-4QJ5Ts$x)abg~?Hv9EHhIm>h-4QJ5Ts$x)abMaWTv z97V`cgd9c4QG^^t$WeqGMaWTv97V`cgd9c4QG^^t$WeqGMaWTv97V`cgd9c4QG^^t z$WeqGMaWTv97V`cgd9c4QG^^t$WeqGMaWTv97V`cgd9c4QG^^t$WeqGMaWTv97V`c zgd9c4QG^^t$WeqGMaWTv97V`cgd9c4QG^^t$WeqGMaWTv97V`cgd9c4QG^^t$WeqG zMaWTv97V`cgd9c4QG^^t$x)OXMafZ=97V}dlpICLQIs4-$x)OXMafZ=97V}dlpICL zQIs4-$x)OXMafZ=97V}dlpICLQIs4-$x)OXMafZ=97V}dlpICLQIs4-$x)OXMafZ= z97V}dlpICLQIs4-$x)OXMafZ=97V}dlpICLQIs4-$x)OXMafZ=97V}dlpICLQIs4- z$x)OXMafZ=97V}dlpICLQIs4-$x)OXMafZ=97V}dlpI}&`S|O~m5}o*z$EcT;!VVx z1@Y#u0yo0Wxe{-VYtwvqQLe;%{O7=atQxOlIqO)?I+n8ze7%DEQqDT?1!OtvSk5|@ zvySDgV>#siivmb0GatYzY; zIU8BdCYG~_#Pc&UTiwo#kw2Ionyzc9yf9YaKF=pzP+Yl)X(m+cOC7x69L z1iy$kc^23Y+{qg4WQ}&RMmt%fovhJL)@Ubdw39X3$r|lsjdrp|J6WTv(ciwKT#a(x z1}2F&5^o~j47`TlUc+y%!LP_2`Su$8%G=7dEa6%{b1k2_md{+vXRhTl*YVry`0aK4 z_Bwuh9lyOECHzvk9?!f9l(m5C@r=plNEK4R_EefU>?;%!r3#Pw&0hlxjs zw-Y~0{2cM~#5;(067M43O}qy)+5PZD34Ve2MdE$L`-u+_A0$3Re3W{;!)x_ zae{b^_$cu);^T;_+7C~Z{NfYDCy7rHpCOpA5fLn#9y1`GHtoS(8^`7S)n`<3ra zJp}xB;!lY`BR)%fj`(xpFNn_*Utq~E5?>;|Onim-D)BYq>%=#RZxY`kzD@ikOM8dc zzvA_~#9t%QV88O8y#CG9y}14@@pr`E6aPSbkN8J;3HHOv68sbK&&2oP71o4p9?_6w$;XMKp0p5ltLYL=%S;(ZnG|G;v4~O&n506NjjY zL&|Ma6S)2i@i6fS@pj^8iJv2Wo_GiGPU2m}yNUO(!(hp34| z&_t2yPl-PxK1+O#_;cbfh|d#WV975MUn0Ite1-Tb@ipS>#5ag<65k@eP5dQGdk3Dt zA>~)RewQekI0Q|UxB3mDScjmAg1;mFp7;mid&ED&Q#}Mt6#NtM&&2o94u_zLf*%k+ zBz{DkBu)uJ69rYGiD)Ly5@w-^PXaTDnZzt&HZccQ%@8zk9GFMUCl(M3iB@Rb5HwM+ zm{>v-O&o$IqNdcuA!s5vr6vxkqKQM)#35?pkSdxuq>3gEVV&+PK+(h@XyT86R}ptk z{X4F&CSF6l4s(+sXrkZ^@^7Jicplm(xQw_%eizy&cs21F;#uOO`V_1<9lyNYI6&XPp2V+=~5tMN-h7}n>83$vSaeosi<6w;AU<@lV zaxLRv3@b8%qJ1&yU5t7cqu#}+cQKBDG3ebxct%FRm?9%!Opy^VrpO2wQ)C2;DKY}a zu%;tr$_N<4nvS51fHAD;2+9Z;!-c^BzI&4jA2zsP)5KQN5B|Iz!+AA)I)yBJ5n81*j35imx*i&5`l)Vmn< zE=IkJQSV~ZyBPH@#t|^a5ika?#aB_LjDRtCEd*r*jBx~vQSV~#TD*=sG6Kdp0>(H3 z#yA4T;Hf~1;s_Yy2pEH>Lhi^27=x$cUw|?K#;JpG>R_BY7^e=#se^IqV4OM_rw+!c zgK_F$oH`h%4#ug2aq3{4IvA%8#;JpG>R_BY7^e=#se^IqV4OM_rw+!cgK_F$oH`h% z4#ug2aq3{4IvA%8#;JpG>R_BY7^e=#se^IqV4OM_rw+!cgK_F$oH`h%4#ug2aq3{4 zIvA%8#;JpG>R_BY7^e=#se^IqV4OM_rw+!cgK_F$oH`h%4#ug2aq3{4IvA%8#;JpG z>R_BY7^e=#se^IqV4OM_rw+!cgK_F$oH`h%4#ug2aq3{4IvA%8#;JpG>R_BY7^e=# zse^IqV4OM_rw+!cgK_F$oH`h%4#ug2aq3{4IvA%8#;JpG>R_BY7^e=#se^IqV4OM_ zrw+!cgK_F$oH`h%4#ug2aq3{4IvA%8#;JpG>R_BY7^e=#se^IqV4OM_rw+!cgK_F$ zoH`h%4#ug2aq3{4IvA%8#;JpG>R_BY7^e=#se^IqV4OM_rw+!cgK_F$oH`h%4#ug2 zaq3{4IvA%8#;JpG>R_BY7^e=#se^Iq;Kvy!^AE%W(8o8F1JK7G0wuod0Q6B%;=2w& z9|a}8>j3moP~y7|KpzDqzUu(=@iCyEcs*wN2b5jJ-9*`AazNQj+(*0(Yu^W;vx0|- zM~Jr*KTG@^@$KNPLO- zGVvAStHjrcuM^)OzDazG_%`vEEbSd$|BBb|5`PV^%K>Pmywz_o#vOoG3jU7xd*UC6 z?-AdJ{doY|C-?#JL*hroN#c|sv`*NWh_4b~Bfd_2gZL)#E#lk6cLdRM zz6$h;J(8gCGK?NcPGE82EVIj!1@G=YwK~Q)ZhJ_#~ybQxa5ENd9VIc?#FT>7J{JgG7JkrP|wpg_mL227A~OUWPH63kom87|jKRmtl4oWt6;(l9y5PGD==X$;&8t86_{H z4oWt6;(l9y5PGD=xmnP8;P5Un~7V9TZ!9<+lf~ZcM|Wxs@XyCBKQU37m4=~?5ri37wd ziR*}x2jCE5zXdlEHxXqg(ILcs3vMNDBW@>NMchdgtN4(zi@2M(hq#xxk9Zs3{4>PE z#3RJpiJv8Yj`(@v9mG3{cM-ypMQ4@d4t4#D|Cv6Td`!gg8b# zN*pIn5RVZbB|b)c9CM08=xyW|pCCR-e2Vxq@fozkL-43n0KbJjCWqilc>?(F#Gev> zMtqj|9P#JGUl5-szQEF6B)&v^nfMCvRpM*J*NJZs-z2_8e4F@7mi7*>f5q!}iN7ZP zC-FD@_P4~}5r0qo1MxkgtRo!aI>I5YBOHP+Mee*0Px~QgoZtt<4~ZWUCy7&nszOwW zCZd@*3sDV+pq1YTW)L%pS;TB&4)o{{d@1r|9xCiPsRXCGN&5 z!y(fisgX&19f#1L$n}0)C)ukc*{dYkt0dX0Bw-0Wj&G$`Nx~8klwKtXOF&S1l_V?y zLFrYJ>{XH&xn9Aw^eRdADoI6pm82rQN>Y(tC5as+g3_xb73o!y*ij-Vy-E^0N(7}> zNn+#@lwKvtUL}bgC2}pjN|L=wlD$e2J4)n^^eRd0C=rxiC8Nmws}(yJt4y$DLLl7#glD7{J&){CI@ zDoOZhp94y-l4P%vgbgFt(yJt4!w5>Rl4P%vWUrEBuaac1l7uhl34ANPN)jGgLFrYJ z@X!iMuabm^R#1ACBt~07=~a@jg#@KnNx~KqlwKtXTS!oPl_YE-LFrYJu!RJrS4qMm zl56QzlJL+9O0SZHFGx^&l_Y#Yg3_xb;h`0jUL^?+t)TQON%ks9_9{vCDoOS#N%ks9 z_9{tuXupCdrB_M9Ln|n~N|L=wQk7mMsY=N|L=wlD$fjy-Je3N|L=w zlD$fj{YjGjNfNf=BluU+pCnc3Pm=6UlI%~C>`#*a4@qwVT~~GHd){*)9wJK)b^=ui z0c<0YRHo|m3f)xG4C$_{m0IhqDkNduqMrR?#B~VRx(QXh3h>hXUO&C2Dg!>}1RFdX zgC_>hHo-R7sX&T=Ed^ubS=KDuSi%!SJfQx4zg}AFx6V5EXn)_{-*^6dpM8d{p3Grf zv5j9tPv)p6bC|8|U_10=j(RdD2|bykp3G5C=BOugilHZSilHZS)RQ^t$sA^DV^8SG zoMPz79Q9<5dNM~nnWLVh>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3k zNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkk zo}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt z>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tY zs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1e zr0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3k zNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkk zo}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt>Pf1er0Pkko}}tYs-C3kNvfWt z>Pf1er0PkU%wlYlsw%0flBz1Hs*rZO^Nv%Ig1W&L(tUpNvgJJzitv{*tCy8C`3F}YNl2J}re^TpD zYW+!Ca!=t&tv{*tCuys<*b~;D)cRbl&(-=|tU5`dqEg)%skm&(-=|tU5`dqEg)%skm&(-=|tU3`aG@A)A~HE&(r!mtGLw0b zH$D4dy}XgEP6Je=7Mozdo(?r?vicA*?^m zJFvm9{U!e5`T3?{`1zKOA^#xjAp!Ee>U!e5`T3?{` z1zKOI^@UnrsP%B_7ioQw))#4gk=7S!eUa7|X?>B_ z7ioQw))#AivDO!BeX-UTYkjfS7i)d7))#AivDO!BeX-UTYkjfS7i)d7))#AivDO!B zeX-UTYki5YJI8Jmuh{f)|YC1sn(ZjeW})$YJI8Jmuh{f)|YC1 zsn(ZjeW})$YJHj3muY>O)|XlLWm@O11)0Vyql~OuruAi7U#9hCT3@F1Wm;dR^<`RL zruAi7U#9hCT3@Dh-cjR8^=Ggid{jOrALkjrXRy8)&XK9iWFEwNFRYh$qb<*1y$d$E zU2=OmPj5bh^>^WYsN6GH-v>kMc>4-l%eBr^=Wd7f<<$Lc7}l3-eK{>3+hKht*x~&zUXHnJv%JVm<7c zPIR8L#h$app0mZC!-u{C@BCqFh1Pk$!R@fVf_S|P!}N}S808f)>mnLmDX2j zeU;W%X?>N}S808f)>mnLmDX2jeU;W%X`T0CvBf)iGOVw*?yI%FTI;K|zFO<6wZ2;G ztF^vb>#McCTI;K|zFO<6wZ2;GtF^vb>#McCM(b;|zQ($*(fS&#uhIG%t*_Dg8m+I< z`WmgT(fS&#uhIG%t*_Dg8m+I<`WmgT(fS&#zrfY~i9(!b*TYxkYjUUD#kXQ#DEwCb zoBW-8UA`fIFaKS>DgPkfD%`;T?y;OU`A7MV+$-Oe`{aAU_@@xMvEyoc{YzQFe( zgZCD`1MibF<e-Dy+nHkL-$^yJ%gcp zFVUX8FjV&?+Or3S>b^vK#&+o5OSI=ZFjV&?+w&#c^CjA|r@%Y4*jlS~-X(H7tgqGj zTCK0u`dY28)%sekuhsfmt*_PkTCK0u`dY28)%sekuhsfmt*_PkI<2qM`Z}$zv+nD( z&Ruuv$el46bzi6Tby{Di^>tcbr}cGOU#InTT3@I2by{Di^>tcbr}gz(U$6D`T3@gA z^;%!A_4Qg`Z{62xeZAJ#Ykj@e*K2*f*4Jx&z1G)jeZAJ#Ykj@e*K2)));DN);DN);DNDH)?&O z);DT>qt-WSeWTVlYJH>DH)?&O);DT>qt-WSeWTVlYJH>DH)?&O);DT>lh%1#luX;C z^-Wser1ec&-=y_TTHmDgOmh` zTHmbo&062A_03w}to6-W->mh`THmbo&062A_03w}to6-W->mh`THmbo&0620^(|W8 zqV+9W-=g&`THm7eEn45A^(|W8qV+9W-=g&`THm7eEn45A^(|W8qV+9W-=g)cTHmVm zty62zZFus9vuvx@w`zT>*0*YXtJb$_eXG{DYJIELw`zT>*0*YXtJb$_eXG`A zR=rs}h_N55+{o+Y4RVs4ET_mDWv#4}|5o^O{`Ymh)B7^Bf49Tm^KIUjc~9-S!pq4Q z7@54B)H0@eIjNHkvQbWxvl)ZE%nU%VB3s%28(QW?_=tQ|J|-Xc*C%*};WxBQFqN6i zgVg#cyf==d*1?(Fi+{y3U$M+rXzdr-6J_#d3CFxbYrg`c%vUV)6@SS>`s&+-8~EEOVP>Znw zU&vp|@bEP~e2rSic6j(2wT625njXH!`GqY#d`%BuOTxp~lJM{~J$y|MU(>_a^zb## zvaSN(mcSq0(U;-jPCeX7%eS!|9`4k`oqRbhw!^obw%$&C+o^9m^=+rV?bNrO`nFTw zcIw+secP#TJN0d+zU|bvo%*&@-*)QTZy6W;Md7!Mi~bjQpPVUqpQG@*=8KPkxR9yvZ?>;e9f`;Qc21r!ac^DOX#2sC)2H`IvlSWH)=}$W&%B zm(MYR+QXfW;7Yklu9j=$^YR7xqI^lNmFwhsxj}A}o8)G>MQ)Y9k*~;Ya=Y9ikIGJY zOm@j`*&};ppX`?da!?+ZCxfVB7o5&`Zx3%Htrk+qdnWWa}$TzDB(4qjdTqEjiEG2XUK{T9+HkMehI?6M;5+P(Ys0->8}9Ym@LlWm zp6noV78g2H^$s#8wxi$SJycY^Lsjok)jL%64!(zZlKr9WJaJ6_!gGQ$`kfB7y+dv9 zP}@7y_71hZLv8O++dGozcRG^jcRJMe4z;~QZSPRqJJk05dbnQ?_v_()J>0K{`}J_Y zp6u6?{q{2Z^<=-E?AMe1da_?n_Up-hJ=w1(`}JhMp6u6?{d%%rPxk8x-&>+(_|}Vz zwmP6Ey!A_4@x(VRa6lgp=)(bhIG_&)^x=R$9MFdY`fxxW4(P)HeK?>G2lU~9J{-`8 z1Nv}K9}eonL0jXXKJXSYKJZL8KJeV7jEEf6hlBcXP#+HJ!$EyGs1FDA;h;Vo)Q5xm za8Mr(>cc^OIH(VY^nowg&;p0_;gCKY(uYGv_^yiTN9MYdd z`g2Hs4(ZP!{W+vRhxF%={v6VuL;7<_e-7)Ks@hr{}C*ti_lhr{}C zSRW4S!(n|mtPh9v;jlg&)`!FTa9AG>>%(DvIIIsx^x=p;9MOj(`oR0y#N~)S9MOj( z`fx-aj_AV?eK?{INA%%{J{-}9Bl>VeACBn55q&tK4@dOjh&~*}hi3|Wfl0<}^HF>V z##Pu+;&KAUZ1YjhGW48GyegU$IqQFAS3oI zcIsiL9(L+sryh3dVW%E;>S3oIcIsiL9(L+sryh3FhVwR}!!AAS(!(x2?9#(7J?zrMEJ?z%QZawVQ!)`t7*28W+?AF6> zJ?z#)-hd(Bcy3)r9(LtVMZcI#oc9(LtT-`_UK`c z9`@*Aj~?=7Ke^YVhdp}OqlZ0u*rSKMU58gade~zd_UK`c9`@*Aj~@2uVUHg6=wXi@ z_9XYvhxX`akAC*(XODjN=x48f^4%}alwSSp)z4o2?A6a+{p{7xUj6LV&tCoHZ65sO z8GIQn*{h$u`q`_Wz53a!pS}9otDn94*{g@Wdf2Ony?WTIhkbh3r-yt|2|xSvkndY? zzVzu~pC0z0zH9_UU1t z9`@;BpC0z>VZR>s>tVkh^0gQ|?AOD7J?z)Rem(5hL*7rtL*BHb-FP!bMjQ6)VZR>s z>tVkh_UmE49`@^DzaIAMVZR>s>tVkh_Uqw*9uDZ?fF2I$;eZ|v=;44K4(Q>49uDXs zZ?)p#fF2I$;ec&8poar`IG~3EdN`nm19~{1hXZ;zpoar`IG~3EdN`nmgL=qU42kcc z9uDf^pdRw25Y89AEg?g<2la4J4+r&dP!9+7a8M5i^>9!R2la4J4+r&dP!9+7a8M5i z^>9!R2la4J4+r(|I3BJj9LK|8+;KRLhrx(4Z;LWk;r%TcbN_gGkFp#!I+tR-)p7!nTc&<`#O2Oyg^QqljRh7qpX#6^6&8W{lZ=H zrz0!bendVhACtf0{mS?8@NGCprZSVc{54*^UwBf^mGgpJ6?Vc}-nx39x!hobY?RZ& z2kP}6yf3U!ui$K2@_nulgB97z@u#fsDeHU6`kvyc;5PP0eNXXJa4_n7il>5uQQuRA zsPCyl)b~^&>U+xio+2VE*^c_2A|k=4?Hr;@L?2=c!11uy&`c-6?B#isv5xP#CgyL)LD{+6`H|A!|2e z?S`z~khL4Kc0<-~$l48AyCG{gWbKBm-H^2#vUWq(ZphjVS-T-?H)QRGtlf~c8?tso z)^5n!4OzP(Yd2)=hOFI?wHvZ_L)LD{+6`H|A!|2m?S`%0u(cbucEi?g*xC(SyJ2fL zZ0&}v-LSPAwsynTZrIulTf1RvH*D>Ot=+J-8@6`C)^6C^4O_cmYd37|hOOPOwHvl} z!`5!t+6`N~VQV*R?S{?OVRLoZTphN)!`64$`VL#)5A^T@J^VlqKhVPuIN#qXe1M0~ z!?;rW01tyPhx`E^Le%C2EXnDd9Uo}-1MKc+d#3z3Pko%$%4w~f*2-zEoYu-|t(?}% zX|0^r%4w~f*2-zEoJL{ZE1cHKX|0^r%4rmApm0VjXS8xgD`&KFMk{Buaz-m>v~or( zXS8xgD`&KFMk{Buaz-m>v~or(XSH%xD`&NGRx4+=d^N8E9bOwPAliMa!xDfv~o@>=d^N8 zE9bRxUMuIda$YOvwQ^o7=e2TPE9bRxUMuIda$YOvwQ^o7=e2TPE9bTHAyzgNKEz7! zQTdpB0?qu8@`I_&WFDl|gf?pA!voZcOpFSdVH_%{5ng>S&07s~Kg1y;XKc*_LNjq;1L!d9^& z|B-S&v28!GZ9lPXKe25;v28!GZ9lPXKe25;v28!GRX?#+Ke1K+L^&@O{zN&!7)AVv za)L36_!FhQ0%H{MCrS&(DB@3)28q;B7^8?kQD!hk5f?1;f@NN?%nO!z!7?vc<^{{V zV3`*z^MYkwu*?gVdBHL-Sms5`yl9yhE%TyfUbM`MmU+=KFIwhB%e-ir7cKLmWnQ$* zi_xdD${ATjpiU zylk15E%UNvUbf83mU-DSFI(ni%e-uvpIYXpmieh=erlPYTIQ#g`Ke`oYMGx}=BJkV zsbzj@nV(wbr7XqiRJELvvKGK-d3w9KMq7A>=AnMKPiTILm&d4*+OVVPH0 z<`tHCg=Jo0nO9im6_$C0WnN*KS6Jp1mU)F`UdafjKe>_-P8YmRUN3KuljLMMMcycD zWu5#xd6)d@$WqFAL_R7XlfN2ym;FzS`~l99smx?9e?8K{uTRRka-Mu@8sNk*)mKXJP~h ze>$=XJ|Z8LkI7$+9AW!a7*8I7;ngU;8bv(ywz8m(8O^=hKjTCc|F)fl}R zqgP|}YK&fu(W^0fHAb(-=+zj#8lzWZ^lFS=jnS(ydNoF`#^}`;y&9ueWAti_UX9VK zF?uydug2)rSiKsnS7Y^RtX_@PtFd}DReX1i z8mm`h^=hnMjn%8MdNo$B#_H8rz4|QvypVhre}X*20J-N5v)1FR^*C!i z&RUPN*5j=8IBPx5T932Vt*fndwY9Fc*45U!+FDmz>uPIVZLO=Vb+xsww$|0wy4qS-TkC3TU2Uzat#!4v zuC~_I*1FnSS6l09Yh7)vtF3jlwXU|-)z-S&T31`^YHM9>t*fndwY9Fc*45U!+FDmz z>uPIVW36kfb&a*IvDP)#y2e`9SnC>VU1P0ltaXjGuCdlN*1E=8*I4TsYh7clYpivR zwXU(&HP*VuTGv?X8f#r+t!u1xjkT_^)-~3;##+}{>l$laW36kfb&a*IvDP)#y2e`9 zSnC>VU1P1sTkG-Gdc3tBZ>`5$>+#llytN*0t;bvI@z#30wH|M+$6M?1)_T0P9&fG3 zTkG-Gdc3tBZ>`5$>+#llytN*0t;bvI@z#30wH|M+$6M?1)_T0P9&fG3TkG-Gdc3tB zZ>`5$>+#llytN*0t;bvI&*A5?k6|Diaa+OxD(#lm@ zxk@WnY2_+v)Spby$^@-U(8>g@Owh^%txV9$1g%Wa$^@-U(8>g@Owh^%txV9$1g%Wa z%0#V9)XGGyOw`ImtxVL)M6FEJ%0#V9)XGGyOw`ImtxVL)M6FEJ%0#Vvo;>MJK2K?# zaE?r6Ci5VrorL$&Pko-!dLUncOFm!xD|&&?v!dJqc<0Fe+Y9gY z*ZW2ev(20{Y;_O!3zDnx{EzTI(Q6SIlK%O^%Jb?*$RtGY( z2btM}%ER$)ClY7s&Igkf%c-&#ywBUxhrS19?gZa%TbZ{3?u5>!0Cgkf%eF zKj+sIknhJr=5Qe2j7`4C^HJZ1|5o^C_`AY?gs<}@(=YO5)MEJi!heJRUicz>v+!Tw zTZON{p~C-~e37S>zMXst|Bpk~h=i;H30VaavI=DKB`o&Bu=ph{eu=g^n0$%0It=gR z?E5lVbON@>isX(=ay@O;3!mUTy`J)esmx>^q#;Zh?<30BW07qvc0s;U z2=8Qj64B{^kH|;mWAbryU=kL0L!KIiJmm;^$`SIEV={@geFx!WJf9TzeIWOJ;B@j~ z64sAEp0tEBV;k!niS^jNlOrdi)qCM}@_KoLoFpg9De^{HE9-)MSD_0|qGcwN!@q-d z@+-9VWHLGSG|GRVH71k8v1hjb)gmkM$JAmnIUK+Ki+kc6naq3f!M~Q@li!C^Xp@u4 z6x()+Z9B!bokH!7BvYu}QFtf3k=g~Xlh?}|YSH%Bqn! z_;sADmNjy`ymsVOew~cY)Utl`K6uy2ldxXiJ;FK`=m1}AM+aiN~juf^-4wBn@rwRmHcU#xY{x81&#nV(v6Dfm4(E849X*ZZ}6iz67<`?Y+F<9JeM z)ar~{T_K`Yhh_#NYIR1f&ZyO)pGVjeQLE!FZ7`x%XVmIAXJb2}R>wITjHuNawK}6# zXVmJ9S{+|p8A$4kTAfj=Gir5wapFDpN7U;0;zTf_R%g`e_~JxtN7U;0;zTf_R%g`e zj9Q&ht21hKs5k457_~a1R%g`e>_h8}TAfj=Gir57M6J%K)fu%qqgIzh)ar~{T@q2N zGir54t`8MQj2R+mK7>Wo@lF``yy)ar~{ol&bZYIVhkS{(}T3XG`L8MV4%M6J%K z)fu%qqgH3s?&5ssEep=~;Pvtb$=7t*Gg(fNH_BRBCvO_zE$+fs$RXi>Ic8FUptPzgDi3>*WTyQErl( zIc8+vIk+Lmu^*PI*jr$!^&rdu5;OmjiN89+xM>PsY;k!Rtr<9kQYg ztVI*h_2#ELzUQT2QgD;OD7&ljmcyRnK$y zu_rRBp6Bp`kx}(#RJ|Eh&vW>(KQgMG=kSA(QT05BAB>Eu=Q;dfWK=!R;Rhq5>Uj>I zC;ZH)dNZn?=kQ}sWK=!R;m0wNQT05BAB>Eu=Q;dfWK=!R;Rhq5>Uj=77#UU1bNIo? zsCu5m$7eID-i)d@qw3A5dNZotjH;&>ev%_2qw3A5dNZotjH)-I>dmNnGpas`jH)-I z>XXQ*dNZotjH)-I>dmP7Br>YrjH)-I>JvRQqw3A5`Xn-{-i)d@qw3A5dNZotjH)k2 zM%5Q1qw3A5`eI~My&2VD&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE z&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe z(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZh zV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE z&(dJe(qPZhV9(NE&(dJe(qPZhV9(NE&(dhr8jV_`QEN16jYh4}s5Kh3Mx)kf)EbRi zqfu)#YK=y%(Wo^VwML`XXw({wTBA{GG-{1TtqtqtK%MhzU2P3a-Cc+H^_~0liVz~ z$gT1>@)fyFZkIbGE1qEGsN0?LnCz0>vPbsHKG`n^Iw_EKQXnfDKvpz>tY`pP(Ezfd0c1r3$chG#6%8Qkq`;@}XDS&LoG%y1g>sQx zESJcoa+!QaE|<^I=2OY2;7Yklu9j=$^W5p1N=5}=lrOn|tz0M9%MEg)+$1;4Epn^; zjeJFJliTGE`Fi0xth`a+>VmuquR7&1*(JMWkL;CwvR@9!L3v!B)aMWAL#L8g!87u# zJSWcw$*X;^mMhSytZ)49jrPkOJ`q@+n{cKV{o7B%H^|ML+Y+`KuIKPH| zHZktyEf@8(N&Rdx8=K6=CbE&Y4%E*k^|ML+Y*Ig))XygMvq}AIA{*c3_|VTL^|Q%r zY*Ig))XygMvq}AIQa_u>Lwq0)iJkgcQa?-TXG#4msh=hFv!s5O)X$RoSyDes>Ssy) zpC$4t{15#ssh=hF zvqWCSp3u({c?H$alKNRvKTGOoiM;wbzlMI6)X$RoSyDesj1u|QlKNRvKTBj_93T2w zQa?-TXG#4msh=hFv!s5O)X$RoSxQ1bOX_FIj4he5CH1qUewNhFlKNRvKTGOoN&PIT zpC$FPq<)sv&ypEiQa?-TXG#4msh=hFv!s5O)X$RoSyDes>Sw7K`dKQ5ewN5*+LjS1 zZ(XXNCH1pZ4E-#rpMTF)!=B{txoS89A9edN`8X>5_gokJ4$hIO%w!&9eEuG+ms1%p z{XJvycz^rL+*QAaGbnhyyg^QqljRh7ql{-5?%@my-o!I<_izRU<9VukI8%c0+|)gs zDZ!<3nS4e*&;0g1 zT*fu^J>*GjZwo((dq0dhpL>Y)aoEW$&^<)C3l6y_=5y{Ln(QH(cuoX^*G6f?j?#$H z$>bln_Bjr}jKzQ83h0ew8g2M0jCsOov|%u2b*4G1GtF6@Y0m0QLxp00%<4>|4TCq0 zY=U2r-!Ig%{Wpcbg#V#%E&N;eJVg#nL!E;28s^OYUDQ*U9yAgWM=L$<1<$+$w(~Uyg$}u2 z9*_s+A$eFHkw^XCPI*jr$!^&rdu5;OmjiN89+xL9?WA>l-|bT}=K7`;hUEvGFVj%D z;2C*Vo|EV0pU9bMe9t_1QC^al<)?Bam=t8>*tDc5uaH;L3r|ZvLrzXhM#<4~j2tUJ zOAb%tsyvPyC*%5J8dv4P@$z%z@HD<>9-JU2$}gZT)A*h_^1yoW0&)ql8dad4zHA~kI6PGW5RKgH8I(q5Y~%dh%*r#i2u6A z{ntecFrN@*##3a|m`{j3-*)>umT)u2Pe-fy?h;xZd{jOrA7?Z>of#h9>Su;0_;dLS z`Ahi(iaH%752iAcxqKOm)0x}heRAe@f*;Gc4xOG{$^FFXr!?-w~WDOL98-Gd)>KM5d#)c-NksICK>^5t8bNtKhiN0VueR`C+ zJKEEc=k(+qa&J1bL$nODL$p8nvk#uOgmc7edJ=bwraL<{o%qJ~7o)Ty>m_WRQ!)@|A5Rn3LlY=%Ex3p8S(>q`F(JXOl2l>ID?+38(t@`mp8~saE8T60A`Er3=C>P1aa*13j zm&s@3a`_yZHiOZ7aHU)&SIaf>dHI5TQNASC%5`$R+#ol~O>(o`BDczyZSB`>pEnAB zh26K9>zF~GcmQ_D{qlf3C=bcQ@`yZYX`S+z?2_HGNA}7-*)Ip=pgb;5SlUUq-*@|z z9FoH_`otObi8JgIXE5@QJ<%u5VB{bCkTKE>)G7F}jJswt3V$+7FUX7Xl8ke6M&VOA z5~QyTCbB56kXLec&p_Yy!clUx93#id&vKjMlyvnaYj;(8qrH~#wEYyOrMdw>5*^Cc=lih zePxt(*#9+B^p&yS7|~0HpWW{1k-aj;r8DRyxA(X zcQa$@U_8a$%vd@YPjNRhmJUYW)XZ2q7*BCGGnVd#Uy*-dXJo6QSd%lmNVrK<^A$U@&WmvjJh|gUCo7u zX}xByp7z71<$Sq7E|iPpV!1>vmCNKaa=Cntm^Pze!RUFLnSThbmTTnmfH#7eb+#sVbZf5==xLIzITV;$!nwe*q1Vh1^QLtJV3f8QGHM4qAY=?q1 zvwBf56s(!mi-K`pG&4I9<#)zmc%62GNvkKO%f;BVRk3FGa%_!I*c$J(WC(18G z9aXSq6fBMm1#3pZI^ZO&Okr%(jDk@+6pV961#3pZ$jszz*~VzF83l`4#0+yYqy2;M zs5C|>SoqoPo*vmN`z*8H?Ez_wP_QWBgghDXLcyZ^p@b~U42obPB? z{O>jX`W=tF**!6eYjzaZ>?p38`-8D3Msa0FUu8#MWwfiCJu&(!qg}xmeU;I!V2r-X zXjd>sUuCqb7slwT?C7iP=&M|a(O0<;qpxxyMqlMZjK0dO(H4x+SGf?QuW}(qU*$rK zzRHCdeU%-3l^uPR9etGxG5RXAYFjWyUuCo_7^AN;tF{GW^i^inwqT6D%BL zLa)l|RoM|&8NE8lo({QR9*_s+AsKfD%ji`w?nafJO)Wc{T6Q+I>}+b;+0?SLsbyzV z%g&~jolPw}n_6}@wajX3QCjroW%MexPst%UEJLr#>Q$K$S8Rt~l^JmbL$Au}Raw2_ zJ#5bFGWYs}f8snUGdmHyC@;y&@>4kyM6ZHzKd8*?MDPk3dR0cR_Q7~UvW#8@$H=kr zvy52E=+yumC#z+R94|k|*Q&i!-7` zkjsv^%IFo=(JR_ny(+6$W%a7eh>QPa#1#y^Dm&IHt5;>mT4nSq{x|fh%vdXqjQQkp zG4!geUX|6WvU*ikuVyCqGJ>6%+((|wO!)3W@lmD0ezvX|G|4sfs^1sVg`9I|UD`WQNer9j>!+(`O zm%os|luwMj#IJK?Dl?hO)r|MFaGgBq{tvCuNAhF&NsxJ- zH{fT8^8K8Z!O?Pz94o8HxBEFCgVnM|jt`O**di-VCO_f{qF@dmpce~XC$E<`$Vqat zWZgrKxlz{2I(ZXk^aJ!_!Jjfm^nkha08xnT$7H;T@BnYP?1fM8)b0bcRWOyA%;m4S zB71;0T!M4uydd*Yl)!vca4MsM2a=N97CtazIRJM>`OI7P!rfsv*~5A9K+^91eeUmL z6!ZWygmKJe)aC)sMD{R86x$Oy{y{uE3FpXEMq52-Tg|eqX4zJ==3Hm1gm78hdP|S+>$FTWOZ9G|TpxW&6yseP-D{vuvMPw$ChP(t0T&+Gm#S zGt2gwW&6yseP-D{vuS}7$!uC67|#aGrUinNWXzt;rUimG%34_`Z(^J_n|28PbYv%d zgnn=~?GW3K$;VNc*|Y=So~9kP!8tOOnat&{>8)nd4#Bx{o{Z-xW*6QLa@HJ&(Ob>7 zx0-ElHJh_zfIZP$&1Q5R{2aV%qj90XCaO%i!U`Z}# z>^+-j+j`*|x8v^BY}&sE?ur`G{^7}P%h|(R_iWlf_V1%dm~C%0n<#`o?{h}aW>z!G zjDBaf&%DhhI+q1$G6d)LHC(Wi`2>uwh z7}FMG+G0#wjA@H8Z6T}Un22eMF>N8MV>@EnLT-1$h-r&4Z84@T##-5023%MPPn6?v|>yv#v|>yv z#v|>yv#v|>yv#v|>yv#@D6(d_QvK1p+F|rjSTQRZ~ zBU>@D6(d_QvK1p+F|rjSTQRZ~BU>@D6(d_QvK1p+F|rjSTQRZ~BU>@D6(d_QvK1p+ zF|rjS`{TkN8Fl=)@Q&Oo-;S(R>};Lg7MB&tItTc`iyid z7T2*S-gIllVldvBYQcLah(Ocw6CLsQa$um&CCTJ}MuRPmp!LBs#%VW-^CQc>EI{ z{{#{5V^19agvUSO@lO!V*b~Rk;W}|Ij5(HHWAQ}tBtG=RFU!gFGIJ^O85rO6m`lmQ z_@>8Pa_Mat@8r%UmxA%u^IUQ%$oI)1UrB|0B^B}|UdWetA>Sv5e4jj-OJonjcw2TZ zkv$0cN-E?lsgSRvLcWp;<6Y*tTzR!azLE<0N-E?lsW38mZo+Dq$vo;ZkSt3cV0&3I zOU@?umXRC53Ven;_$S~j^z9ikrx(VI`ZN66n=I%13CEM=Jb$$n*2xChD5rC;b2;Vr z!MILbP6@kUi>%02k6cE*mUD0S-DElUN!jK;>AT6ZSRYKDlPk2f0$Z;qE3g%eZ+)!b zS+C%9-s)O`t$sL5&gL9hfvsRg#`ir|a38r7#vIWKY_W~4{mDwLtfu_!$!f|EHpoUf zog-KCoY?kcjh?Kr)@!Ww8jjqWtih9D)OwAzUSqA-SnD;`dJUfJ;@7D48az1+qtg}y81da?d^Z{2 zP1NfT?1{VEnxAK)gzZt=F8Z92gcK7FY^>Z@RcB*@GGA1D|h^3 z&sXGETD3GQ~2+aJ%%Kb;6l$|HyJ4lrauxv@2sAzAgC~zHLL>e*@nkcH2<(KKMTBu?nyL)C*Zx3&%4?uCCXzb7A#l6jKwM6#W7jwZ1l*#Nvx#`gqv6#t5x-{BkmJBoLr zMZBxcw;g!*S2oB-Ic;P;`+vl9>96wKW^gw18?RD}U`76ftavqfNVfW4+eV&cPh6qD z%4n(^wxNNqGHdrsczER3@CZ-jzRIj!uyZ7b$434;?Bc5tuQGQR`+H=s?4#d&mASjv zKOhG^{Z@SvV}e8-TqL1H1e

A#{VmzmnY>Od-hdCv*^EYBrxwAAd=u?`omvFjsP*gA z;ut(eIj>WT;7R$uC7eRrU#Avv%xPlxI<>$GwV(uQ!SU3BW2i-J-z;yX*La;;1ivRA zj?$>b8wu;Op;xTS#u@Y`wTSIqw8@){{2?_u0B=Vj-=szdleaiuw!-Lb-?HC%%YNrA zl;jWWiJs*xt}OP$cq*01&@yj%F1$sVu^n$7y~TCJdoZ%=EwYPkZ1G>%Isos4Z`;Ce z+rn?-+wtUWjyVFOh2OS?cjM2lWH+D0Dk*7M!^yqmb}V9!Cm5V)J@Y=%d8N^LjiZ?JP@4LrtJYd7cb3$WY$ zJ+fE!c}&0C19H&gkGp+Bo^;RqBhOL7DZc%?Vuwf%Eq|c(wm^P58t4 z8~=5)dv1*uBd>zrlMhEblUJ`Le0c)j_7Im~gKU)3$n#jk?f`sH&gOh%7C~0zPl)v% z;u382zqS#tJ;bFC#+=d~;u60eWW>IQxa@#O=tuStmtZHeD|?8`Z(z53dStKcbAP|v z19H$k$K5_5Pr7Hwaz1d+8F^NommkWHP=-CUdD#7gK5>s%!FyD-E%8v-yT{!_&xb>v>vT}AZequ zgLSe&Hp*$7gR$~mAH3H+@g1aC`7VxcmAkOsMqj)g?xFW=<2;Q$m*dFdC^<3qbN0Oh zZ|7`ny7_ZrDLtP*bbF$SEbvD*V}Bz)9LNRWdIJ!lQLAgU6pPp z^9R`um2Ow1+g0gyT9W@FGqFW0#rDlIRJxs(35H6y^G-n=^UrV}BbnD=JlnaCk<6=b zDmC55l}l`w+`b1}JTHlY?W2`CV0`CxAFUMIaX)1r?ei>*QOZ6>7w^GS)MX#7gcVvT zI3f0^nfuhteQIW`*Y;Wx>$L^Lhgh#|I}9IUy|&m6A9(r_A7Z_>4j4YfdTp^CK6K~< z9^pfWK6L0qhdy-ZLx(+3a%lCS$M5&}{T?5yr1d1R zN?I?B;}3ZJ0gpf6@drHqfXBxQX#Gj7fEK))GGhg_9@yk|$?fUX(Y4QDeCI0GKI=$g zrLe;=t}bJxu)T09zs5>ov0ZZe9$J9sdCAyVDeMT0Z)V0yVX^%)RPHcs(g{z+k+efs z66=4Rgz=53SpVw;oJw}Z`d_hKa(g;fV&$*keVlQz^4GrPDCg9Ruue9}MmddsGuGjH z7v6{eu@2XJF!KMX`G3^>Kg#(PC3KP%N9pg5B}dVOV+l_jQ+}*h)eBi01+q2@WNj44 z+9;5Br%NGOoOsA(nCF)ysL^2U)2T z4oX(uWP2#~7mKmYIUBqg@{BOn`?MbG3LRiOtjB6TM`3sstN8?Df2^T%6vqBoLnj#f zUEK!8H`ZL;2C{A%WZg8#x@nMA$zaS#xVjCT$-RbHcjhRJGGpDDV3Zjv!gRrUc{eS< z`=A^dE5gKfl*xNJ!$=Ok`+eS?xUUGC*OLL zSfk{3Fs{~Pjgnwot;ZTAj5hG3AKuIVo}%P;VSJZ0)-D-@aUC6NmjvU={S^5e$M?~~ zr_AReTWrV{8zPfClObDd$QB#2#fEILAzN$+Td2G(HiWJAWSIQ}F!DK8+&Bs&pNH|G z8^*VAW5tc`3pttYHz1*u|<7M`7%bRVRY6Kh}wOCpm|o>tVgTdt?LK zQyE>H!_U|*xqT1wqUSjN-(a*!toZOQoM{O^BU0zknceUddUcK-Y9Kj>+8j>KYduzQ zIKXyTKd-?KmL#(E8Zgkd+{vi z?uXj_i1NFWk0?LL>VYsa_9M!V?a0`VDE}mkb0Jo6XopdLtl;oRcq)FSw37*IB~T7) zCCDi4V@vzk(pWcv(pWKpa#%5ea#%5ea#%5eaz3#IVl9IMY)1>kS_TJ`3zYd9j2`d; z9=-~r2fRR;u^m0&1w3qr(F4XR1067Wz*uDcd5S zxTp^o_2HsET-1k)`fyPnF6zTYeYk{*zL8u)MT2oYc!}H&#`WMO#!K(QxE{RZ_24CR z^%&c6J$T9M!Ao8bUczpa5Z8m3ydJ#d_24D12QPU&c&QlIgO~7xW6<8%zFEfg;3dXO z!MGm0#CVC)ydJzvD>0^_m4eY1U#6A*2%|5)Oe@9qJ?L1hi4c44rOa3p;Ru|`xqq4V z*$np)h0C-FqZ8VsBN?IOBd}iH%@yScB_DuIZkODSIpkQyU^o2P$cbWsHtd48j`YFX z-M(|Ao9(}L&-Y+L$?GBKHRSw)oY#=^8ggDk&M(OM1v$SUc?&teAmK}HKeD8^wf}^8lo@|J%{KyM9+(^AOJZdAZG;Rj3{2I&sXa6mHK?8 zK3}QNSL*YX`h2B6U#ZXW?frN8-|+cLeZEqkuhi!&_4!JD{tTMGxcC_~KghfmWL^t0 zuLYUcg3N0{=CvU6T9A1y$h;P0UJEj>1)0}^%xgjBwIK6aka;c0ycT3$3o@?-nb(5M zYeD91)0}^%xgjBwIJ8U#m~@x;X{#mEy%nUWL^t0uLYUcg3N0{=CvU6 zT9A1y$h;P0UJEj>1)0}^%xgjBwIK6aka;c0yjF1(ap!7*xCc4EAm0Bvj7}kQXppNj$mkR@ zI)!~B$BLt)H!qIC!y}OM6mp(I&Qr*F3OP?9=PBeog?zUbGIEAtYm8^^Sbps-#y9i3 zAR|f0ND?xVgp4F1BT2|e5;Bs6j3gl=NytbNGLnRhB#UE-6x%V9gp4GMpT+YN#n0mT ziDGtRzGGv?#87D)=$uRnk_+IzB zka03(oD3N!L&nLFaWZ6_4CBn2ptln#e_e4RG>5Pl6i+hfcd*zUOj*xqfkb91hxqZl8W5`|O;&pM?7;>+? zcs)K07H^>Z0az!Q5n`JeA=u!aMtL{>+(0`VgH3Li+`b17Z=js_U@J#X(&tH(`Fe2@ zWd^zD4!P$Jx#teK=MK5&4!P$Jx#teK=MK3)3%TbGx#wP-6!)4T_uPwFu=p*H{I>1Mp|hu`ekbhBsE z&7O(3@C^Tf;w^=*$*;?A$ZyJT$=f7%pg8gl$$coczbn6A_%pWuhOyr*ymJ)WKXCsH z8Q$K)Q~km4`IbUiGSklX59R$bbp96JISPi_-@-db!H4kwmcl>Ef07T&|1AGG$onG) z;kDH97M=@ghc}Qdw*P)3#;rU{8RQ8!$lDf>C)^-U zxIv!%hQA_XZ{@k8-$B0W1No{C#>0sm`M*>0$>MEf z&LQ|U`E~gX`AzvPd7I=uDM#KRSs#Jz@5;ZSAGwWei9Ivqy|P)djtTqAl9lz?{-L~I z{zyI`AC$A@L)7awvL*OW@?rU(mc#H`YIIvXMFx3x9ZsUAw~;MJ;f?aQWWsG^ z3)ab&U>hxP8|}k>vV}cl3uW>?4s{`028(ylG6&(;B;SQ#`y29`@>}vYdAqzravzx^ zzbn5_k9-H`)D-x)ZvVjjGbC#cvcFj}7sPg1h8o;KD+TYDKavl~2W6zh!N0&qJ({MgG!=Um#Vl?Q3DAO z4GCs}Xzj0d)%vskthN35Ypr{0tG0D(U8;yntviD3n^BRSu7b=Z}O5!6_8mUwo2}eo%Hw7|OlDo92 zkx&VLsDzJFX(UvlMB1iCG0t4&jAER*n)@i+qv6}N+aIh8pTSDVx>m0QlnU@QLNM`R%#S0HHwuQ#Y&B0rADz* zqgbg?tkfu0Y7{Fqij^A0N{wQrMzK<(SgBF0)F@VJ6e~4~l^VrLjbf!nu~MU0sZp%d zC{}8W(Y(fJUSl+`3+z=$`-`}*

  • q4~T`%0`A@Qjs-OC0=*xj_a1uhsrO!bKUVL@ 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 X&bh#gq^2D=Usf57(*6{N^-}*o{XiDd literal 0 HcmV?d00001 diff --git a/bitsy-default.txt b/bitsy-default.txt new file mode 100644 index 0000000..898876c --- /dev/null +++ b/bitsy-default.txt @@ -0,0 +1,5196 @@ +default game data + +# BITSY VERSION 4.5 + +! ROOM_FORMAT 1 + +PAL 0 +NAME test +249,232,162 +158,238,252 +255,255,255 + +ROOM 0 +k,k,k,k,k,k,k,g,h,k,k,k,k,k,k,k +k,k,k,k,k,k,k,i,j,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k +a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a +f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f +WAL a +EXT 0,15 0 15,15 +EXT 15,15 0 0,15 +PAL 0 + +TIL a +00111100 +01100110 +01101110 +01101110 +01100000 +01100010 +00111100 +00000000 + +TIL b +00011000 +00111100 +01100110 +01111110 +01100110 +01100110 +01100110 +00000000 + +TIL c +01111100 +01100110 +01100110 +01111100 +01100110 +01100110 +01111100 +00000000 + +TIL d +00111100 +01100110 +01100000 +01100000 +01100000 +01100110 +00111100 +00000000 + +TIL e +01111000 +01101100 +01100110 +01100110 +01100110 +01101100 +01111000 +00000000 + +TIL f +01111110 +01100000 +01100000 +01111000 +01100000 +01100000 +01111110 +00000000 + +TIL g +01111110 +01100000 +01100000 +01111000 +01100000 +01100000 +01100000 +00000000 + +TIL h +00111100 +01100110 +01100000 +01101110 +01100110 +01100110 +00111100 +00000000 + +TIL i +01100110 +01100110 +01100110 +01111110 +01100110 +01100110 +01100110 +00000000 + +TIL j +00111100 +00011000 +00011000 +00011000 +00011000 +00011000 +00111100 +00000000 + +TIL ba +00011110 +00001100 +00001100 +00001100 +00001100 +01101100 +00111000 +00000000 + +TIL bb +01100110 +01101100 +01111000 +01110000 +01111000 +01101100 +01100110 +00000000 + +TIL bc +01100000 +01100000 +01100000 +01100000 +01100000 +01100000 +01111110 +00000000 + +TIL bd +01100011 +01110111 +01111111 +01101011 +01100011 +01100011 +01100011 +00000000 + +TIL be +01100110 +01110110 +01111110 +01111110 +01101110 +01100110 +01100110 +00000000 + +TIL bf +00111100 +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00000000 + +TIL bg +01111100 +01100110 +01100110 +01111100 +01100000 +01100000 +01100000 +00000000 + +TIL bh +00111100 +01100110 +01100110 +01100110 +01100110 +00111100 +00001110 +00000000 + +TIL bi +01111100 +01100110 +01100110 +01111100 +01111000 +01101100 +01100110 +00000000 + +TIL bj +00111100 +01100110 +01100000 +00111100 +00000110 +01100110 +00111100 +00000000 + +TIL ca +01111110 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00000000 + +TIL cb +01100110 +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00000000 + +TIL cc +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00011000 +00000000 + +TIL cd +01100011 +01100011 +01100011 +01101011 +01111111 +01110111 +01100011 +00000000 + +TIL ce +01100110 +01100110 +00111100 +00011000 +00111100 +01100110 +01100110 +00000000 + +TIL cf +01100110 +01100110 +01100110 +00111100 +00011000 +00011000 +00011000 +00000000 + +TIL cg +01111110 +00000110 +00001100 +00011000 +00110000 +01100000 +01111110 +00000000 + +TIL ch +00111100 +00110000 +00110000 +00110000 +00110000 +00110000 +00111100 +00000000 + +TIL ci +00001100 +00010010 +00110000 +01111100 +00110000 +01100010 +11111100 +00000000 + +TIL cj +00111100 +00001100 +00001100 +00001100 +00001100 +00001100 +00111100 +00000000 + +TIL da +00000000 +00011000 +00111100 +01111110 +00011000 +00011000 +00011000 +00011000 + +TIL db +00000000 +00010000 +00110000 +01111111 +01111111 +00110000 +00010000 +00000000 + +TIL dc +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL dd +00011000 +00011000 +00011000 +00011000 +00000000 +00000000 +00011000 +00000000 + +TIL de +01100110 +01100110 +01100110 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL df +01100110 +01100110 +11111111 +01100110 +11111111 +01100110 +01100110 +00000000 + +TIL dg +00011000 +00111110 +01100000 +00111100 +00000110 +01111100 +00011000 +00000000 + +TIL dh +01100010 +01100110 +00001100 +00011000 +00110000 +01100110 +01000110 +00000000 + +TIL di +00111100 +01100110 +00111100 +00111000 +01100111 +01100110 +00111111 +00000000 + +TIL dj +00000110 +00001100 +00011000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL ea +00001100 +00011000 +00110000 +00110000 +00110000 +00011000 +00001100 +00000000 + +TIL eb +00110000 +00011000 +00001100 +00001100 +00001100 +00011000 +00110000 +00000000 + +TIL ec +00000000 +01100110 +00111100 +11111111 +00111100 +01100110 +00000000 +00000000 + +TIL ed +00000000 +00011000 +00011000 +01111110 +00011000 +00011000 +00000000 +00000000 + +TIL ee +00000000 +00000000 +00000000 +00000000 +00000000 +00011000 +00011000 +00110000 + +TIL ef +00000000 +00000000 +00000000 +01111110 +00000000 +00000000 +00000000 +00000000 + +TIL eg +00000000 +00000000 +00000000 +00000000 +00000000 +00011000 +00011000 +00000000 + +TIL eh +00000000 +00000011 +00000110 +00001100 +00011000 +00110000 +01100000 +00000000 + +TIL ei +00111100 +01100110 +01101110 +01110110 +01100110 +01100110 +00111100 +00000000 + +TIL ej +00011000 +00011000 +00111000 +00011000 +00011000 +00011000 +01111110 +00000000 + +TIL fa +00111100 +01100110 +00000110 +00001100 +00110000 +01100000 +01111110 +00000000 + +TIL fb +00111100 +01100110 +00000110 +00011100 +00000110 +01100110 +00111100 +00000000 + +TIL fc +00000110 +00001110 +00011110 +01100110 +01111111 +00000110 +00000110 +00000000 + +TIL fd +01111110 +01100000 +01111100 +00000110 +00000110 +01100110 +00111100 +00000000 + +TIL fe +00111100 +01100110 +01100000 +01111100 +01100110 +01100110 +00111100 +00000000 + +TIL ff +01111110 +01100110 +00001100 +00011000 +00011000 +00011000 +00011000 +00000000 + +TIL fg +00111100 +01100110 +01100110 +00111100 +01100110 +01100110 +00111100 +00000000 + +TIL fh +00111100 +01100110 +01100110 +00111110 +00000110 +01100110 +00111100 +00000000 + +TIL fi +00000000 +00000000 +00011000 +00000000 +00000000 +00011000 +00000000 +00000000 + +TIL fj +00000000 +00000000 +00011000 +00000000 +00000000 +00011000 +00011000 +00110000 + +TIL ga +00001110 +00011000 +00110000 +01100000 +00110000 +00011000 +00001110 +00000000 + +TIL gb +00000000 +00000000 +01111110 +00000000 +01111110 +00000000 +00000000 +00000000 + +TIL gc +01110000 +00011000 +00001100 +00000110 +00001100 +00011000 +01110000 +00000000 + +TIL gd +00111100 +01100110 +00000110 +00001100 +00011000 +00000000 +00011000 +00000000 + +TIL ge +00000000 +00000000 +00000000 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL gf +00001000 +00011100 +00111110 +01111111 +01111111 +00011100 +00111110 +00000000 + +TIL gg +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 + +TIL gh +00000000 +00000000 +00000000 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL gi +00000000 +00000000 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 + +TIL gj +00000000 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL ha +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +00000000 +00000000 + +TIL hb +00110000 +00110000 +00110000 +00110000 +00110000 +00110000 +00110000 +00110000 + +TIL hc +00001100 +00001100 +00001100 +00001100 +00001100 +00001100 +00001100 +00001100 + +TIL hd +00000000 +00000000 +00000000 +11100000 +11110000 +00111000 +00011000 +00011000 + +TIL he +00011000 +00011000 +00011100 +00001111 +00000111 +00000000 +00000000 +00000000 + +TIL hf +00011000 +00011000 +00111000 +11110000 +11100000 +00000000 +00000000 +00000000 + +TIL hg +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11111111 +11111111 + +TIL hh +11000000 +11100000 +01110000 +00111000 +00011100 +00001110 +00000111 +00000011 + +TIL hi +00000011 +00000111 +00001110 +00011100 +00111000 +01110000 +11100000 +11000000 + +TIL hj +11111111 +11111111 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 + +TIL ia +11111111 +11111111 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 + +TIL ib +00000000 +00111100 +01111110 +01111110 +01111110 +01111110 +00111100 +00000000 + +TIL ic +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +00000000 + +TIL id +00110110 +01111111 +01111111 +01111111 +00111110 +00011100 +00001000 +00000000 + +TIL ie +01100000 +01100000 +01100000 +01100000 +01100000 +01100000 +01100000 +01100000 + +TIL if +00000000 +00000000 +00000000 +00000111 +00001111 +00011100 +00011000 +00011000 + +TIL ig +11000011 +11100111 +01111110 +00111100 +00111100 +01111110 +11100111 +11000011 + +TIL ih +00000000 +00111100 +01111110 +01100110 +01100110 +01111110 +00111100 +00000000 + +TIL ii +00011000 +00011000 +01100110 +01100110 +00011000 +00011000 +00111100 +00000000 + +TIL ij +00000110 +00000110 +00000110 +00000110 +00000110 +00000110 +00000110 +00000110 + +TIL ja +00001000 +00011100 +00111110 +01111111 +00111110 +00011100 +00001000 +00000000 + +TIL jb +00011000 +00011000 +00011000 +11111111 +11111111 +00011000 +00011000 +00011000 + +TIL jc +11000000 +11000000 +00110000 +00110000 +11000000 +11000000 +00110000 +00110000 + +TIL jd +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 + +TIL je +00000000 +00000000 +00000011 +00111110 +01110110 +00110110 +00110110 +00000000 + +TIL jf +11111111 +01111111 +00111111 +00011111 +00001111 +00000111 +00000011 +00000001 + +TIL jg +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL jh +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 + +TIL ji +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 + +TIL jj +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL baa +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 + +TIL bab +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 + +TIL bac +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 + +TIL bad +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 + +TIL bae +00000000 +00000000 +00000000 +00000000 +11001100 +11001100 +00110011 +00110011 + +TIL baf +11111111 +11111110 +11111100 +11111000 +11110000 +11100000 +11000000 +10000000 + +TIL bag +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 + +TIL bah +00011000 +00011000 +00011000 +00011111 +00011111 +00011000 +00011000 +00011000 + +TIL bai +00000000 +00000000 +00000000 +00000000 +00001111 +00001111 +00001111 +00001111 + +TIL baj +00011000 +00011000 +00011000 +00011111 +00011111 +00000000 +00000000 +00000000 + +TIL bba +00000000 +00000000 +00000000 +11111000 +11111000 +00011000 +00011000 +00011000 + +TIL bbb +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 + +TIL bbc +00000000 +00000000 +00000000 +00011111 +00011111 +00011000 +00011000 +00011000 + +TIL bbd +00011000 +00011000 +00011000 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL bbe +00000000 +00000000 +00000000 +11111111 +11111111 +00011000 +00011000 +00011000 + +TIL bbf +00011000 +00011000 +00011000 +11111000 +11111000 +00011000 +00011000 +00011000 + +TIL bbg +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 + +TIL bbh +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 + +TIL bbi +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 + +TIL bbj +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL bca +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL bcb +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL bcc +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +11111111 +11111111 + +TIL bcd +00000000 +00000000 +00000000 +00000000 +11110000 +11110000 +11110000 +11110000 + +TIL bce +00001111 +00001111 +00001111 +00001111 +00000000 +00000000 +00000000 +00000000 + +TIL bcf +00011000 +00011000 +00011000 +11111000 +11111000 +00000000 +00000000 +00000000 + +TIL bcg +11110000 +11110000 +11110000 +11110000 +00000000 +00000000 +00000000 +00000000 + +TIL bch +11110000 +11110000 +11110000 +11110000 +00001111 +00001111 +00001111 +00001111 + +TIL bci +11000011 +10011001 +10010001 +10010001 +10011111 +10011001 +11000011 +11111111 + +TIL bcj +11100111 +11000011 +10011001 +10000001 +10011001 +10011001 +10011001 +11111111 + +TIL bda +10000011 +10011001 +10011001 +10000011 +10011001 +10011001 +10000011 +11111111 + +TIL bdb +11000011 +10011001 +10011111 +10011111 +10011111 +10011001 +11000011 +11111111 + +TIL bdc +10000111 +10010011 +10011001 +10011001 +10011001 +10010011 +10000111 +11111111 + +TIL bdd +10000001 +10011111 +10011111 +10000111 +10011111 +10011111 +10000001 +11111111 + +TIL bde +10000001 +10011111 +10011111 +10000111 +10011111 +10011111 +10011111 +11111111 + +TIL bdf +11000011 +10011001 +10011111 +10010001 +10011001 +10011001 +11000011 +11111111 + +TIL bdg +10011001 +10011001 +10011001 +10000001 +10011001 +10011001 +10011001 +11111111 + +TIL bdh +11000011 +11100111 +11100111 +11100111 +11100111 +11100111 +11000011 +11111111 + +TIL bdi +11100001 +11110011 +11110011 +11110011 +11110011 +10010011 +11000111 +11111111 + +TIL bdj +10011001 +10010011 +10000111 +10001111 +10000111 +10010011 +10011001 +11111111 + +TIL bea +10011111 +10011111 +10011111 +10011111 +10011111 +10011111 +10000001 +11111111 + +TIL beb +10011100 +10001000 +10000000 +10010100 +10011100 +10011100 +10011100 +11111111 + +TIL bec +10011001 +10001001 +10000001 +10000001 +10010001 +10011001 +10011001 +11111111 + +TIL bed +11000011 +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11111111 + +TIL bee +10000011 +10011001 +10011001 +10000011 +10011111 +10011111 +10011111 +11111111 + +TIL bef +11000011 +10011001 +10011001 +10011001 +10011001 +11000011 +11110001 +11111111 + +TIL beg +10000011 +10011001 +10011001 +10000011 +10000111 +10010011 +10011001 +11111111 + +TIL beh +11000011 +10011001 +10011111 +11000011 +11111001 +10011001 +11000011 +11111111 + +TIL bei +10000001 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11111111 + +TIL bej +10011001 +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11111111 + +TIL bfa +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11100111 +11111111 + +TIL bfb +10011100 +10011100 +10011100 +10010100 +10000000 +10001000 +10011100 +11111111 + +TIL bfc +10011001 +10011001 +11000011 +11100111 +11000011 +10011001 +10011001 +11111111 + +TIL bfd +10011001 +10011001 +10011001 +11000011 +11100111 +11100111 +11100111 +11111111 + +TIL bfe +10000001 +11111001 +11110011 +11100111 +11001111 +10011111 +10000001 +11111111 + +TIL bff +11000011 +11001111 +11001111 +11001111 +11001111 +11001111 +11000011 +11111111 + +TIL bfg +11110011 +11101101 +11001111 +10000011 +11001111 +10011101 +00000011 +11111111 + +TIL bfh +11000011 +11110011 +11110011 +11110011 +11110011 +11110011 +11000011 +11111111 + +TIL bfi +11111111 +11100111 +11000011 +10000001 +11100111 +11100111 +11100111 +11100111 + +TIL bfj +11111111 +11101111 +11001111 +10000000 +10000000 +11001111 +11101111 +11111111 + +TIL bga +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL bgb +11100111 +11100111 +11100111 +11100111 +11111111 +11111111 +11100111 +11111111 + +TIL bgc +10011001 +10011001 +10011001 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL bgd +10011001 +10011001 +00000000 +10011001 +00000000 +10011001 +10011001 +11111111 + +TIL bge +11100111 +11000001 +10011111 +11000011 +11111001 +10000011 +11100111 +11111111 + +TIL bgf +10011101 +10011001 +11110011 +11100111 +11001111 +10011001 +10111001 +11111111 + +TIL bgg +11000011 +10011001 +11000011 +11000111 +10011000 +10011001 +11000000 +11111111 + +TIL bgh +11111001 +11110011 +11100111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL bgi +11110011 +11100111 +11001111 +11001111 +11001111 +11100111 +11110011 +11111111 + +TIL bgj +11001111 +11100111 +11110011 +11110011 +11110011 +11100111 +11001111 +11111111 + +TIL bha +11111111 +10011001 +11000011 +00000000 +11000011 +10011001 +11111111 +11111111 + +TIL bhb +11111111 +11100111 +11100111 +10000001 +11100111 +11100111 +11111111 +11111111 + +TIL bhc +11111111 +11111111 +11111111 +11111111 +11111111 +11100111 +11100111 +11001111 + +TIL bhd +11111111 +11111111 +11111111 +10000001 +11111111 +11111111 +11111111 +11111111 + +TIL bhe +11111111 +11111111 +11111111 +11111111 +11111111 +11100111 +11100111 +11111111 + +TIL bhf +11111111 +11111100 +11111001 +11110011 +11100111 +11001111 +10011111 +11111111 + +TIL bhg +11000011 +10011001 +10010001 +10001001 +10011001 +10011001 +11000011 +11111111 + +TIL bhh +11100111 +11100111 +11000111 +11100111 +11100111 +11100111 +10000001 +11111111 + +TIL bhi +11000011 +10011001 +11111001 +11110011 +11001111 +10011111 +10000001 +11111111 + +TIL bhj +11000011 +10011001 +11111001 +11100011 +11111001 +10011001 +11000011 +11111111 + +TIL bia +11111001 +11110001 +11100001 +10011001 +10000000 +11111001 +11111001 +11111111 + +TIL bib +10000001 +10011111 +10000011 +11111001 +11111001 +10011001 +11000011 +11111111 + +TIL bic +11000011 +10011001 +10011111 +10000011 +10011001 +10011001 +11000011 +11111111 + +TIL bid +10000001 +10011001 +11110011 +11100111 +11100111 +11100111 +11100111 +11111111 + +TIL bie +11000011 +10011001 +10011001 +11000011 +10011001 +10011001 +11000011 +11111111 + +TIL bif +11000011 +10011001 +10011001 +11000001 +11111001 +10011001 +11000011 +11111111 + +TIL big +11111111 +11111111 +11100111 +11111111 +11111111 +11100111 +11111111 +11111111 + +TIL bih +11111111 +11111111 +11100111 +11111111 +11111111 +11100111 +11100111 +11001111 + +TIL bii +11110001 +11100111 +11001111 +10011111 +11001111 +11100111 +11110001 +11111111 + +TIL bij +11111111 +11111111 +10000001 +11111111 +10000001 +11111111 +11111111 +11111111 + +TIL bja +10001111 +11100111 +11110011 +11111001 +11110011 +11100111 +10001111 +11111111 + +TIL bjb +11000011 +10011001 +11111001 +11110011 +11100111 +11111111 +11100111 +11111111 + +TIL bjc +11111111 +11111111 +11111111 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL bjd +11110111 +11100011 +11000001 +10000000 +10000000 +11100011 +11000001 +11111111 + +TIL bje +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 + +TIL bjf +11111111 +11111111 +11111111 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL bjg +11111111 +11111111 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 + +TIL bjh +11111111 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL bji +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +11111111 +11111111 + +TIL bjj +11001111 +11001111 +11001111 +11001111 +11001111 +11001111 +11001111 +11001111 + +TIL caa +11110011 +11110011 +11110011 +11110011 +11110011 +11110011 +11110011 +11110011 + +TIL cab +11111111 +11111111 +11111111 +00011111 +00001111 +11000111 +11100111 +11100111 + +TIL cac +11100111 +11100111 +11100011 +11110000 +11111000 +11111111 +11111111 +11111111 + +TIL cad +11100111 +11100111 +11000111 +00001111 +00011111 +11111111 +11111111 +11111111 + +TIL cae +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00000000 +00000000 + +TIL caf +00111111 +00011111 +10001111 +11000111 +11100011 +11110001 +11111000 +11111100 + +TIL cag +11111100 +11111000 +11110001 +11100011 +11000111 +10001111 +00011111 +00111111 + +TIL cah +00000000 +00000000 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 + +TIL cai +00000000 +00000000 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 + +TIL caj +11111111 +11000011 +10000001 +10000001 +10000001 +10000001 +11000011 +11111111 + +TIL cba +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +11111111 + +TIL cbb +11001001 +10000000 +10000000 +10000000 +11000001 +11100011 +11110111 +11111111 + +TIL cbc +10011111 +10011111 +10011111 +10011111 +10011111 +10011111 +10011111 +10011111 + +TIL cbd +11111111 +11111111 +11111111 +11111000 +11110000 +11100011 +11100111 +11100111 + +TIL cbe +00111100 +00011000 +10000001 +11000011 +11000011 +10000001 +00011000 +00111100 + +TIL cbf +11111111 +11000011 +10000001 +10011001 +10011001 +10000001 +11000011 +11111111 + +TIL cbg +11100111 +11100111 +10011001 +10011001 +11100111 +11100111 +11000011 +11111111 + +TIL cbh +11111001 +11111001 +11111001 +11111001 +11111001 +11111001 +11111001 +11111001 + +TIL cbi +11110111 +11100011 +11000001 +10000000 +11000001 +11100011 +11110111 +11111111 + +TIL cbj +11100111 +11100111 +11100111 +00000000 +00000000 +11100111 +11100111 +11100111 + +TIL cca +00111111 +00111111 +11001111 +11001111 +00111111 +00111111 +11001111 +11001111 + +TIL ccb +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 + +TIL ccc +11111111 +11111111 +11111100 +11000001 +10001001 +11001001 +11001001 +11111111 + +TIL ccd +00000000 +10000000 +11000000 +11100000 +11110000 +11111000 +11111100 +11111110 + +TIL cce +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL ccf +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 + +TIL ccg +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 + +TIL cch +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL cci +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 + +TIL ccj +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 + +TIL cda +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 + +TIL cdb +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 + +TIL cdc +11111111 +11111111 +11111111 +11111111 +00110011 +00110011 +11001100 +11001100 + +TIL cdd +00000000 +00000001 +00000011 +00000111 +00001111 +00011111 +00111111 +01111111 + +TIL cde +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 + +TIL cdf +11100111 +11100111 +11100111 +11100000 +11100000 +11100111 +11100111 +11100111 + +TIL cdg +11111111 +11111111 +11111111 +11111111 +11110000 +11110000 +11110000 +11110000 + +TIL cdh +11100111 +11100111 +11100111 +11100000 +11100000 +11111111 +11111111 +11111111 + +TIL cdi +11111111 +11111111 +11111111 +00000111 +00000111 +11100111 +11100111 +11100111 + +TIL cdj +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 + +TIL cea +11111111 +11111111 +11111111 +11100000 +11100000 +11100111 +11100111 +11100111 + +TIL ceb +11100111 +11100111 +11100111 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL cec +11111111 +11111111 +11111111 +00000000 +00000000 +11100111 +11100111 +11100111 + +TIL ced +11100111 +11100111 +11100111 +00000111 +00000111 +11100111 +11100111 +11100111 + +TIL cee +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 + +TIL cef +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 + +TIL ceg +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 + +TIL ceh +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL cei +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL cej +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL cfa +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +00000000 +00000000 + +TIL cfb +11111111 +11111111 +11111111 +11111111 +00001111 +00001111 +00001111 +00001111 + +TIL cfc +11110000 +11110000 +11110000 +11110000 +11111111 +11111111 +11111111 +11111111 + +TIL cfd +11100111 +11100111 +11100111 +00000111 +00000111 +11111111 +11111111 +11111111 + +TIL cfe +00001111 +00001111 +00001111 +00001111 +11111111 +11111111 +11111111 +11111111 + +TIL cff +00001111 +00001111 +00001111 +00001111 +11110000 +11110000 +11110000 +11110000 + +TIL cfg +00111100 +01100110 +01101110 +01101110 +01100000 +01100010 +00111100 +00000000 + +TIL cfh +00000000 +00000000 +00111100 +00000110 +00111110 +01100110 +00111110 +00000000 + +TIL cfi +00000000 +01100000 +01100000 +01111100 +01100110 +01100110 +01111100 +00000000 + +TIL cfj +00000000 +00000000 +00111100 +01100000 +01100000 +01100000 +00111100 +00000000 + +TIL cga +00000000 +00000110 +00000110 +00111110 +01100110 +01100110 +00111110 +00000000 + +TIL cgb +00000000 +00000000 +00111100 +01100110 +01111110 +01100000 +00111100 +00000000 + +TIL cgc +00000000 +00001110 +00011000 +00111110 +00011000 +00011000 +00011000 +00000000 + +TIL cgd +00000000 +00000000 +00111110 +01100110 +01100110 +00111110 +00000110 +01111100 + +TIL cge +00000000 +01100000 +01100000 +01111100 +01100110 +01100110 +01100110 +00000000 + +TIL cgf +00000000 +00011000 +00000000 +00111000 +00011000 +00011000 +00111100 +00000000 + +TIL cgg +00000000 +00000110 +00000000 +00000110 +00000110 +00000110 +00000110 +00111100 + +TIL cgh +00000000 +01100000 +01100000 +01101100 +01111000 +01101100 +01100110 +00000000 + +TIL cgi +00000000 +00111000 +00011000 +00011000 +00011000 +00011000 +00111100 +00000000 + +TIL cgj +00000000 +00000000 +01100110 +01111111 +01111111 +01101011 +01100011 +00000000 + +TIL cha +00000000 +00000000 +01111100 +01100110 +01100110 +01100110 +01100110 +00000000 + +TIL chb +00000000 +00000000 +00111100 +01100110 +01100110 +01100110 +00111100 +00000000 + +TIL chc +00000000 +00000000 +01111100 +01100110 +01100110 +01111100 +01100000 +01100000 + +TIL chd +00000000 +00000000 +00111110 +01100110 +01100110 +00111110 +00000110 +00000110 + +TIL che +00000000 +00000000 +01111100 +01100110 +01100000 +01100000 +01100000 +00000000 + +TIL chf +00000000 +00000000 +00111110 +01100000 +00111100 +00000110 +01111100 +00000000 + +TIL chg +00000000 +00011000 +01111110 +00011000 +00011000 +00011000 +00001110 +00000000 + +TIL chh +00000000 +00000000 +01100110 +01100110 +01100110 +01100110 +00111110 +00000000 + +TIL chi +00000000 +00000000 +01100110 +01100110 +01100110 +00111100 +00011000 +00000000 + +TIL chj +00000000 +00000000 +01100011 +01101011 +01111111 +00111110 +00110110 +00000000 + +TIL cia +00000000 +00000000 +01100110 +00111100 +00011000 +00111100 +01100110 +00000000 + +TIL cib +00000000 +00000000 +01100110 +01100110 +01100110 +00111110 +00001100 +01111000 + +TIL cic +00000000 +00000000 +01111110 +00001100 +00011000 +00110000 +01111110 +00000000 + +TIL cid +00111100 +00110000 +00110000 +00110000 +00110000 +00110000 +00111100 +00000000 + +TIL cie +00001100 +00010010 +00110000 +01111100 +00110000 +01100010 +11111100 +00000000 + +TIL cif +00111100 +00001100 +00001100 +00001100 +00001100 +00001100 +00111100 +00000000 + +TIL cig +00000000 +00011000 +00111100 +01111110 +00011000 +00011000 +00011000 +00011000 + +TIL cih +00000000 +00010000 +00110000 +01111111 +01111111 +00110000 +00010000 +00000000 + +TIL cii +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL cij +00011000 +00011000 +00011000 +00011000 +00000000 +00000000 +00011000 +00000000 + +TIL cja +01100110 +01100110 +01100110 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL cjb +01100110 +01100110 +11111111 +01100110 +11111111 +01100110 +01100110 +00000000 + +TIL cjc +00011000 +00111110 +01100000 +00111100 +00000110 +01111100 +00011000 +00000000 + +TIL cjd +01100010 +01100110 +00001100 +00011000 +00110000 +01100110 +01000110 +00000000 + +TIL cje +00111100 +01100110 +00111100 +00111000 +01100111 +01100110 +00111111 +00000000 + +TIL cjf +00000110 +00001100 +00011000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL cjg +00001100 +00011000 +00110000 +00110000 +00110000 +00011000 +00001100 +00000000 + +TIL cjh +00110000 +00011000 +00001100 +00001100 +00001100 +00011000 +00110000 +00000000 + +TIL cji +00000000 +01100110 +00111100 +11111111 +00111100 +01100110 +00000000 +00000000 + +TIL cjj +00000000 +00011000 +00011000 +01111110 +00011000 +00011000 +00000000 +00000000 + +TIL daa +00000000 +00000000 +00000000 +00000000 +00000000 +00011000 +00011000 +00110000 + +TIL dab +00000000 +00000000 +00000000 +01111110 +00000000 +00000000 +00000000 +00000000 + +TIL dac +00000000 +00000000 +00000000 +00000000 +00000000 +00011000 +00011000 +00000000 + +TIL dad +00000000 +00000011 +00000110 +00001100 +00011000 +00110000 +01100000 +00000000 + +TIL dae +00111100 +01100110 +01101110 +01110110 +01100110 +01100110 +00111100 +00000000 + +TIL daf +00011000 +00011000 +00111000 +00011000 +00011000 +00011000 +01111110 +00000000 + +TIL dag +00111100 +01100110 +00000110 +00001100 +00110000 +01100000 +01111110 +00000000 + +TIL dah +00111100 +01100110 +00000110 +00011100 +00000110 +01100110 +00111100 +00000000 + +TIL dai +00000110 +00001110 +00011110 +01100110 +01111111 +00000110 +00000110 +00000000 + +TIL daj +01111110 +01100000 +01111100 +00000110 +00000110 +01100110 +00111100 +00000000 + +TIL dba +00111100 +01100110 +01100000 +01111100 +01100110 +01100110 +00111100 +00000000 + +TIL dbb +01111110 +01100110 +00001100 +00011000 +00011000 +00011000 +00011000 +00000000 + +TIL dbc +00111100 +01100110 +01100110 +00111100 +01100110 +01100110 +00111100 +00000000 + +TIL dbd +00111100 +01100110 +01100110 +00111110 +00000110 +01100110 +00111100 +00000000 + +TIL dbe +00000000 +00000000 +00011000 +00000000 +00000000 +00011000 +00000000 +00000000 + +TIL dbf +00000000 +00000000 +00011000 +00000000 +00000000 +00011000 +00011000 +00110000 + +TIL dbg +00001110 +00011000 +00110000 +01100000 +00110000 +00011000 +00001110 +00000000 + +TIL dbh +00000000 +00000000 +01111110 +00000000 +01111110 +00000000 +00000000 +00000000 + +TIL dbi +01110000 +00011000 +00001100 +00000110 +00001100 +00011000 +01110000 +00000000 + +TIL dbj +00111100 +01100110 +00000110 +00001100 +00011000 +00000000 +00011000 +00000000 + +TIL dca +00000000 +00000000 +00000000 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL dcb +00011000 +00111100 +01100110 +01111110 +01100110 +01100110 +01100110 +00000000 + +TIL dcc +01111100 +01100110 +01100110 +01111100 +01100110 +01100110 +01111100 +00000000 + +TIL dcd +00111100 +01100110 +01100000 +01100000 +01100000 +01100110 +00111100 +00000000 + +TIL dce +01111000 +01101100 +01100110 +01100110 +01100110 +01101100 +01111000 +00000000 + +TIL dcf +01111110 +01100000 +01100000 +01111000 +01100000 +01100000 +01111110 +00000000 + +TIL dcg +01111110 +01100000 +01100000 +01111000 +01100000 +01100000 +01100000 +00000000 + +TIL dch +00111100 +01100110 +01100000 +01101110 +01100110 +01100110 +00111100 +00000000 + +TIL dci +01100110 +01100110 +01100110 +01111110 +01100110 +01100110 +01100110 +00000000 + +TIL dcj +00111100 +00011000 +00011000 +00011000 +00011000 +00011000 +00111100 +00000000 + +TIL dda +00011110 +00001100 +00001100 +00001100 +00001100 +01101100 +00111000 +00000000 + +TIL ddb +01100110 +01101100 +01111000 +01110000 +01111000 +01101100 +01100110 +00000000 + +TIL ddc +01100000 +01100000 +01100000 +01100000 +01100000 +01100000 +01111110 +00000000 + +TIL ddd +01100011 +01110111 +01111111 +01101011 +01100011 +01100011 +01100011 +00000000 + +TIL dde +01100110 +01110110 +01111110 +01111110 +01101110 +01100110 +01100110 +00000000 + +TIL ddf +00111100 +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00000000 + +TIL ddg +01111100 +01100110 +01100110 +01111100 +01100000 +01100000 +01100000 +00000000 + +TIL ddh +00111100 +01100110 +01100110 +01100110 +01100110 +00111100 +00001110 +00000000 + +TIL ddi +01111100 +01100110 +01100110 +01111100 +01111000 +01101100 +01100110 +00000000 + +TIL ddj +00111100 +01100110 +01100000 +00111100 +00000110 +01100110 +00111100 +00000000 + +TIL dea +01111110 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00000000 + +TIL deb +01100110 +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00000000 + +TIL dec +01100110 +01100110 +01100110 +01100110 +01100110 +00111100 +00011000 +00000000 + +TIL ded +01100011 +01100011 +01100011 +01101011 +01111111 +01110111 +01100011 +00000000 + +TIL dee +01100110 +01100110 +00111100 +00011000 +00111100 +01100110 +01100110 +00000000 + +TIL def +01100110 +01100110 +01100110 +00111100 +00011000 +00011000 +00011000 +00000000 + +TIL deg +01111110 +00000110 +00001100 +00011000 +00110000 +01100000 +01111110 +00000000 + +TIL deh +00011000 +00011000 +00011000 +11111111 +11111111 +00011000 +00011000 +00011000 + +TIL dei +11000000 +11000000 +00110000 +00110000 +11000000 +11000000 +00110000 +00110000 + +TIL dej +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 +00011000 + +TIL dfa +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 + +TIL dfb +00110011 +10011001 +11001100 +01100110 +00110011 +10011001 +11001100 +01100110 + +TIL dfc +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL dfd +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 +11110000 + +TIL dfe +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 + +TIL dff +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL dfg +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 + +TIL dfh +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 + +TIL dfi +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 + +TIL dfj +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 + +TIL dga +00000000 +00000000 +00000000 +00000000 +11001100 +11001100 +00110011 +00110011 + +TIL dgb +11001100 +10011001 +00110011 +01100110 +11001100 +10011001 +00110011 +01100110 + +TIL dgc +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 +00000011 + +TIL dgd +00011000 +00011000 +00011000 +00011111 +00011111 +00011000 +00011000 +00011000 + +TIL dge +00000000 +00000000 +00000000 +00000000 +00001111 +00001111 +00001111 +00001111 + +TIL dgf +00011000 +00011000 +00011000 +00011111 +00011111 +00000000 +00000000 +00000000 + +TIL dgg +00000000 +00000000 +00000000 +11111000 +11111000 +00011000 +00011000 +00011000 + +TIL dgh +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 + +TIL dgi +00000000 +00000000 +00000000 +00011111 +00011111 +00011000 +00011000 +00011000 + +TIL dgj +00011000 +00011000 +00011000 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL dha +00000000 +00000000 +00000000 +11111111 +11111111 +00011000 +00011000 +00011000 + +TIL dhb +00011000 +00011000 +00011000 +11111000 +11111000 +00011000 +00011000 +00011000 + +TIL dhc +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 +11000000 + +TIL dhd +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 +11100000 + +TIL dhe +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 +00000111 + +TIL dhf +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL dhg +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 +00000000 + +TIL dhh +00000000 +00000000 +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL dhi +00000001 +00000011 +00000110 +01101100 +01111000 +01110000 +01100000 +00000000 + +TIL dhj +00000000 +00000000 +00000000 +00000000 +11110000 +11110000 +11110000 +11110000 + +TIL dia +00001111 +00001111 +00001111 +00001111 +00000000 +00000000 +00000000 +00000000 + +TIL dib +00011000 +00011000 +00011000 +11111000 +11111000 +00000000 +00000000 +00000000 + +TIL dic +11110000 +11110000 +11110000 +11110000 +00000000 +00000000 +00000000 +00000000 + +TIL did +11110000 +11110000 +11110000 +11110000 +00001111 +00001111 +00001111 +00001111 + +TIL die +11000011 +10011001 +10010001 +10010001 +10011111 +10011001 +11000011 +11111111 + +TIL dif +11111111 +11111111 +11000011 +11111001 +11000001 +10011001 +11000001 +11111111 + +TIL dig +11111111 +10011111 +10011111 +10000011 +10011001 +10011001 +10000011 +11111111 + +TIL dih +11111111 +11111111 +11000011 +10011111 +10011111 +10011111 +11000011 +11111111 + +TIL dii +11111111 +11111001 +11111001 +11000001 +10011001 +10011001 +11000001 +11111111 + +TIL dij +11111111 +11111111 +11000011 +10011001 +10000001 +10011111 +11000011 +11111111 + +TIL dja +11111111 +11110001 +11100111 +11000001 +11100111 +11100111 +11100111 +11111111 + +TIL djb +11111111 +11111111 +11000001 +10011001 +10011001 +11000001 +11111001 +10000011 + +TIL djc +11111111 +10011111 +10011111 +10000011 +10011001 +10011001 +10011001 +11111111 + +TIL djd +11111111 +11100111 +11111111 +11000111 +11100111 +11100111 +11000011 +11111111 + +TIL dje +11111111 +11111001 +11111111 +11111001 +11111001 +11111001 +11111001 +11000011 + +TIL djf +11111111 +10011111 +10011111 +10010011 +10000111 +10010011 +10011001 +11111111 + +TIL djg +11111111 +11000111 +11100111 +11100111 +11100111 +11100111 +11000011 +11111111 + +TIL djh +11111111 +11111111 +10011001 +10000000 +10000000 +10010100 +10011100 +11111111 + +TIL dji +11111111 +11111111 +10000011 +10011001 +10011001 +10011001 +10011001 +11111111 + +TIL djj +11111111 +11111111 +11000011 +10011001 +10011001 +10011001 +11000011 +11111111 + +TIL eaa +11111111 +11111111 +10000011 +10011001 +10011001 +10000011 +10011111 +10011111 + +TIL eab +11111111 +11111111 +11000001 +10011001 +10011001 +11000001 +11111001 +11111001 + +TIL eac +11111111 +11111111 +10000011 +10011001 +10011111 +10011111 +10011111 +11111111 + +TIL ead +11111111 +11111111 +11000001 +10011111 +11000011 +11111001 +10000011 +11111111 + +TIL eae +11111111 +11100111 +10000001 +11100111 +11100111 +11100111 +11110001 +11111111 + +TIL eaf +11111111 +11111111 +10011001 +10011001 +10011001 +10011001 +11000001 +11111111 + +TIL eag +11111111 +11111111 +10011001 +10011001 +10011001 +11000011 +11100111 +11111111 + +TIL eah +11111111 +11111111 +10011100 +10010100 +10000000 +11000001 +11001001 +11111111 + +TIL eai +11111111 +11111111 +10011001 +11000011 +11100111 +11000011 +10011001 +11111111 + +TIL eaj +11111111 +11111111 +10011001 +10011001 +10011001 +11000001 +11110011 +10000111 + +TIL eba +11111111 +11111111 +10000001 +11110011 +11100111 +11001111 +10000001 +11111111 + +TIL ebb +11000011 +11001111 +11001111 +11001111 +11001111 +11001111 +11000011 +11111111 + +TIL ebc +11110011 +11101101 +11001111 +10000011 +11001111 +10011101 +00000011 +11111111 + +TIL ebd +11000011 +11110011 +11110011 +11110011 +11110011 +11110011 +11000011 +11111111 + +TIL ebe +11111111 +11100111 +11000011 +10000001 +11100111 +11100111 +11100111 +11100111 + +TIL ebf +11111111 +11101111 +11001111 +10000000 +10000000 +11001111 +11101111 +11111111 + +TIL ebg +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL ebh +11100111 +11100111 +11100111 +11100111 +11111111 +11111111 +11100111 +11111111 + +TIL ebi +10011001 +10011001 +10011001 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL ebj +10011001 +10011001 +00000000 +10011001 +00000000 +10011001 +10011001 +11111111 + +TIL eca +11100111 +11000001 +10011111 +11000011 +11111001 +10000011 +11100111 +11111111 + +TIL ecb +10011101 +10011001 +11110011 +11100111 +11001111 +10011001 +10111001 +11111111 + +TIL ecc +11000011 +10011001 +11000011 +11000111 +10011000 +10011001 +11000000 +11111111 + +TIL ecd +11111001 +11110011 +11100111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL ece +11110011 +11100111 +11001111 +11001111 +11001111 +11100111 +11110011 +11111111 + +TIL ecf +11001111 +11100111 +11110011 +11110011 +11110011 +11100111 +11001111 +11111111 + +TIL ecg +11111111 +10011001 +11000011 +00000000 +11000011 +10011001 +11111111 +11111111 + +TIL ech +11111111 +11100111 +11100111 +10000001 +11100111 +11100111 +11111111 +11111111 + +TIL eci +11111111 +11111111 +11111111 +11111111 +11111111 +11100111 +11100111 +11001111 + +TIL ecj +11111111 +11111111 +11111111 +10000001 +11111111 +11111111 +11111111 +11111111 + +TIL eda +11111111 +11111111 +11111111 +11111111 +11111111 +11100111 +11100111 +11111111 + +TIL edb +11111111 +11111100 +11111001 +11110011 +11100111 +11001111 +10011111 +11111111 + +TIL edc +11000011 +10011001 +10010001 +10001001 +10011001 +10011001 +11000011 +11111111 + +TIL edd +11100111 +11100111 +11000111 +11100111 +11100111 +11100111 +10000001 +11111111 + +TIL ede +11000011 +10011001 +11111001 +11110011 +11001111 +10011111 +10000001 +11111111 + +TIL edf +11000011 +10011001 +11111001 +11100011 +11111001 +10011001 +11000011 +11111111 + +TIL edg +11111001 +11110001 +11100001 +10011001 +10000000 +11111001 +11111001 +11111111 + +TIL edh +10000001 +10011111 +10000011 +11111001 +11111001 +10011001 +11000011 +11111111 + +TIL edi +11000011 +10011001 +10011111 +10000011 +10011001 +10011001 +11000011 +11111111 + +TIL edj +10000001 +10011001 +11110011 +11100111 +11100111 +11100111 +11100111 +11111111 + +TIL eea +11000011 +10011001 +10011001 +11000011 +10011001 +10011001 +11000011 +11111111 + +TIL eeb +11000011 +10011001 +10011001 +11000001 +11111001 +10011001 +11000011 +11111111 + +TIL eec +11111111 +11111111 +11100111 +11111111 +11111111 +11100111 +11111111 +11111111 + +TIL eed +11111111 +11111111 +11100111 +11111111 +11111111 +11100111 +11100111 +11001111 + +TIL eee +11110001 +11100111 +11001111 +10011111 +11001111 +11100111 +11110001 +11111111 + +TIL eef +11111111 +11111111 +10000001 +11111111 +10000001 +11111111 +11111111 +11111111 + +TIL eeg +10001111 +11100111 +11110011 +11111001 +11110011 +11100111 +10001111 +11111111 + +TIL eeh +11000011 +10011001 +11111001 +11110011 +11100111 +11111111 +11100111 +11111111 + +TIL eei +11111111 +11111111 +11111111 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL eej +11100111 +11000011 +10011001 +10000001 +10011001 +10011001 +10011001 +11111111 + +TIL efa +10000011 +10011001 +10011001 +10000011 +10011001 +10011001 +10000011 +11111111 + +TIL efb +11000011 +10011001 +10011111 +10011111 +10011111 +10011001 +11000011 +11111111 + +TIL efc +10000111 +10010011 +10011001 +10011001 +10011001 +10010011 +10000111 +11111111 + +TIL efd +10000001 +10011111 +10011111 +10000111 +10011111 +10011111 +10000001 +11111111 + +TIL efe +10000001 +10011111 +10011111 +10000111 +10011111 +10011111 +10011111 +11111111 + +TIL eff +11000011 +10011001 +10011111 +10010001 +10011001 +10011001 +11000011 +11111111 + +TIL efg +10011001 +10011001 +10011001 +10000001 +10011001 +10011001 +10011001 +11111111 + +TIL efh +11000011 +11100111 +11100111 +11100111 +11100111 +11100111 +11000011 +11111111 + +TIL efi +11100001 +11110011 +11110011 +11110011 +11110011 +10010011 +11000111 +11111111 + +TIL efj +10011001 +10010011 +10000111 +10001111 +10000111 +10010011 +10011001 +11111111 + +TIL ega +10011111 +10011111 +10011111 +10011111 +10011111 +10011111 +10000001 +11111111 + +TIL egb +10011100 +10001000 +10000000 +10010100 +10011100 +10011100 +10011100 +11111111 + +TIL egc +10011001 +10001001 +10000001 +10000001 +10010001 +10011001 +10011001 +11111111 + +TIL egd +11000011 +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11111111 + +TIL ege +10000011 +10011001 +10011001 +10000011 +10011111 +10011111 +10011111 +11111111 + +TIL egf +11000011 +10011001 +10011001 +10011001 +10011001 +11000011 +11110001 +11111111 + +TIL egg +10000011 +10011001 +10011001 +10000011 +10000111 +10010011 +10011001 +11111111 + +TIL egh +11000011 +10011001 +10011111 +11000011 +11111001 +10011001 +11000011 +11111111 + +TIL egi +10000001 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11111111 + +TIL egj +10011001 +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11111111 + +TIL eha +10011001 +10011001 +10011001 +10011001 +10011001 +11000011 +11100111 +11111111 + +TIL ehb +10011100 +10011100 +10011100 +10010100 +10000000 +10001000 +10011100 +11111111 + +TIL ehc +10011001 +10011001 +11000011 +11100111 +11000011 +10011001 +10011001 +11111111 + +TIL ehd +10011001 +10011001 +10011001 +11000011 +11100111 +11100111 +11100111 +11111111 + +TIL ehe +10000001 +11111001 +11110011 +11100111 +11001111 +10011111 +10000001 +11111111 + +TIL ehf +11100111 +11100111 +11100111 +00000000 +00000000 +11100111 +11100111 +11100111 + +TIL ehg +00111111 +00111111 +11001111 +11001111 +00111111 +00111111 +11001111 +11001111 + +TIL ehh +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 +11100111 + +TIL ehi +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 + +TIL ehj +11001100 +01100110 +00110011 +10011001 +11001100 +01100110 +00110011 +10011001 + +TIL eia +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL eib +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 +00001111 + +TIL eic +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 +00000000 + +TIL eid +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL eie +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 + +TIL eif +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 + +TIL eig +00110011 +00110011 +11001100 +11001100 +00110011 +00110011 +11001100 +11001100 + +TIL eih +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 + +TIL eii +11111111 +11111111 +11111111 +11111111 +00110011 +00110011 +11001100 +11001100 + +TIL eij +00110011 +01100110 +11001100 +10011001 +00110011 +01100110 +11001100 +10011001 + +TIL eja +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 +11111100 + +TIL ejb +11100111 +11100111 +11100111 +11100000 +11100000 +11100111 +11100111 +11100111 + +TIL ejc +11111111 +11111111 +11111111 +11111111 +11110000 +11110000 +11110000 +11110000 + +TIL ejd +11100111 +11100111 +11100111 +11100000 +11100000 +11111111 +11111111 +11111111 + +TIL eje +11111111 +11111111 +11111111 +00000111 +00000111 +11100111 +11100111 +11100111 + +TIL ejf +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 + +TIL ejg +11111111 +11111111 +11111111 +11100000 +11100000 +11100111 +11100111 +11100111 + +TIL ejh +11100111 +11100111 +11100111 +00000000 +00000000 +11111111 +11111111 +11111111 + +TIL eji +11111111 +11111111 +11111111 +00000000 +00000000 +11100111 +11100111 +11100111 + +TIL ejj +11100111 +11100111 +11100111 +00000111 +00000111 +11100111 +11100111 +11100111 + +TIL faa +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 +00111111 + +TIL fab +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 +00011111 + +TIL fac +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 +11111000 + +TIL fad +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL fae +00000000 +00000000 +00000000 +11111111 +11111111 +11111111 +11111111 +11111111 + +TIL faf +11111111 +11111111 +11111111 +11111111 +11111111 +00000000 +00000000 +00000000 + +TIL fag +11111110 +11111100 +11111001 +10010011 +10000111 +10001111 +10011111 +11111111 + +TIL fah +11111111 +11111111 +11111111 +11111111 +00001111 +00001111 +00001111 +00001111 + +TIL fai +11110000 +11110000 +11110000 +11110000 +11111111 +11111111 +11111111 +11111111 + +TIL faj +11100111 +11100111 +11100111 +00000111 +00000111 +11111111 +11111111 +11111111 + +TIL fba +00001111 +00001111 +00001111 +00001111 +11111111 +11111111 +11111111 +11111111 + +TIL fbb +00001111 +00001111 +00001111 +00001111 +11110000 +11110000 +11110000 +11110000 + +SPR A +00011000 +00011000 +00011000 +00111100 +01111110 +10111101 +00100100 +00100100 +POS 0 0,15 + +SPR a +00000000 +00000000 +01010001 +01110001 +01110010 +01111100 +00111100 +00100100 +DLG SPR_0 + +ITM 0 +00000000 +00000000 +00000000 +00111100 +01100100 +00100100 +00011000 +00000000 +NAME tea +DLG ITM_0 + +DLG SPR_0 +I'm a cat + +DLG ITM_0 +You found a nice warm cup of tea + +VAR a +42 \ No newline at end of file diff --git a/croppie.css b/croppie.css new file mode 100644 index 0000000..0af2e2c --- /dev/null +++ b/croppie.css @@ -0,0 +1,250 @@ +.croppie-container { + width: 100%; + height: 100%; +} + +.croppie-container .cr-image { + z-index: -1; + position: absolute; + top: 0; + left: 0; + transform-origin: 0 0; + max-height: none; + max-width: none; +} + +.croppie-container .cr-boundary { + position: relative; + overflow: hidden; + margin: 0 auto; + z-index: 1; + width: 100%; + height: 100%; +} + +.croppie-container .cr-viewport, +.croppie-container .cr-resizer { + position: absolute; + border: 2px solid #fff; + margin: auto; + top: 0; + bottom: 0; + right: 0; + left: 0; + box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.5); + z-index: 0; +} + +.croppie-container .cr-resizer { + z-index: 2; + box-shadow: none; + pointer-events: none; +} + +.croppie-container .cr-resizer-vertical, +.croppie-container .cr-resizer-horisontal { + position: absolute; + pointer-events: all; +} + +.croppie-container .cr-resizer-vertical::after, +.croppie-container .cr-resizer-horisontal::after { + display: block; + position: absolute; + box-sizing: border-box; + border: 1px solid black; + background: #fff; + width: 10px; + height: 10px; + content: ''; +} + +.croppie-container .cr-resizer-vertical { + bottom: -5px; + cursor: row-resize; + width: 100%; + height: 10px; +} + +.croppie-container .cr-resizer-vertical::after { + left: 50%; + margin-left: -5px; +} + +.croppie-container .cr-resizer-horisontal { + right: -5px; + cursor: col-resize; + width: 10px; + height: 100%; +} + +.croppie-container .cr-resizer-horisontal::after { + top: 50%; + margin-top: -5px; +} + +.croppie-container .cr-original-image { + display: none; +} + +.croppie-container .cr-vp-circle { + border-radius: 50%; +} + +.croppie-container .cr-overlay { + z-index: 1; + position: absolute; + cursor: move; + touch-action: none; +} + +.croppie-container .cr-slider-wrap { + width: 75%; + margin: 15px auto; + text-align: center; +} + +.croppie-result { + position: relative; + overflow: hidden; +} + +.croppie-result img { + position: absolute; +} + +.croppie-container .cr-image, +.croppie-container .cr-overlay, +.croppie-container .cr-viewport { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); +} + +/*************************************/ +/***** STYLING RANGE INPUT ***********/ +/*************************************/ +/*http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html */ +/*************************************/ + +.cr-slider { + -webkit-appearance: none; +/*removes default webkit styles*/ + /*border: 1px solid white; *//*fix for FF unable to apply focus style bug */ + width: 300px; +/*required for proper track sizing in FF*/ + max-width: 100%; + padding-top: 8px; + padding-bottom: 8px; + background-color: transparent; +} + +.cr-slider::-webkit-slider-runnable-track { + width: 100%; + height: 3px; + background: rgba(0, 0, 0, 0.5); + border: 0; + border-radius: 3px; +} + +.cr-slider::-webkit-slider-thumb { + -webkit-appearance: none; + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top: -6px; +} + +.cr-slider:focus { + outline: none; +} +/* +.cr-slider:focus::-webkit-slider-runnable-track { +background: #ccc; +} +*/ + +.cr-slider::-moz-range-track { + width: 100%; + height: 3px; + background: rgba(0, 0, 0, 0.5); + border: 0; + border-radius: 3px; +} + +.cr-slider::-moz-range-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top: -6px; +} + +/*hide the outline behind the border*/ +.cr-slider:-moz-focusring { + outline: 1px solid white; + outline-offset: -1px; +} + +.cr-slider::-ms-track { + width: 100%; + height: 5px; + background: transparent; +/*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */ + border-color: transparent;/*leave room for the larger thumb to overflow with a transparent border */ + border-width: 6px 0; + color: transparent;/*remove default tick marks*/ +} +.cr-slider::-ms-fill-lower { + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; +} +.cr-slider::-ms-fill-upper { + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; +} +.cr-slider::-ms-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top:1px; +} +.cr-slider:focus::-ms-fill-lower { + background: rgba(0, 0, 0, 0.5); +} +.cr-slider:focus::-ms-fill-upper { + background: rgba(0, 0, 0, 0.5); +} +/*******************************************/ + +/***********************************/ +/* Rotation Tools */ +/***********************************/ +.cr-rotate-controls { + position: absolute; + bottom: 5px; + left: 5px; + z-index: 1; +} +.cr-rotate-controls button { + border: 0; + background: none; +} +.cr-rotate-controls i:before { + display: inline-block; + font-style: normal; + font-weight: 900; + font-size: 22px; +} +.cr-rotate-l i:before { + content: '↺'; +} +.cr-rotate-r i:before { + content: '↻'; +} diff --git a/croppie.js b/croppie.js new file mode 100644 index 0000000..f6f4671 --- /dev/null +++ b/croppie.js @@ -0,0 +1,1596 @@ +/************************* + * Croppie + * Copyright 2017 + * Foliotek + * Version: 2.5.1 + *************************/ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['exports'], factory); + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { + // CommonJS + factory(exports); + } else { + // Browser globals + factory((root.commonJsStrict = {})); + } +}(this, function (exports) { + + /* Polyfills */ + if (typeof Promise !== 'function') { + /*! promise-polyfill 3.1.0 */ + !function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void k(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var c=a.then;if("function"==typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j=setTimeout,k="function"==typeof setImmediate&&setImmediate||function(a){j(a,1)},l=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};c.prototype["catch"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&l(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;fd;d++)a[d].then(b,c)})},c._setImmediateFn=function(a){k=a},"undefined"!=typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this); + } + + if ( typeof window.CustomEvent !== "function" ) { + (function(){ + function CustomEvent ( event, params ) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent( 'CustomEvent' ); + evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); + return evt; + } + CustomEvent.prototype = window.Event.prototype; + window.CustomEvent = CustomEvent; + }()); + } + + if (!HTMLCanvasElement.prototype.toBlob) { + Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', { + value: function (callback, type, quality) { + var binStr = atob( this.toDataURL(type, quality).split(',')[1] ), + len = binStr.length, + arr = new Uint8Array(len); + + for (var i=0; i= 5) { + var x= w; + w = h; + h = x; + } + return { width: w, height: h }; + } + + /* CSS Transform Prototype */ + var TRANSLATE_OPTS = { + 'translate3d': { + suffix: ', 0px' + }, + 'translate': { + suffix: '' + } + }; + var Transform = function (x, y, scale) { + this.x = parseFloat(x); + this.y = parseFloat(y); + this.scale = parseFloat(scale); + }; + + Transform.parse = function (v) { + if (v.style) { + return Transform.parse(v.style[CSS_TRANSFORM]); + } + else if (v.indexOf('matrix') > -1 || v.indexOf('none') > -1) { + return Transform.fromMatrix(v); + } + else { + return Transform.fromString(v); + } + }; + + Transform.fromMatrix = function (v) { + var vals = v.substring(7).split(','); + if (!vals.length || v === 'none') { + vals = [1, 0, 0, 1, 0, 0]; + } + + return new Transform(num(vals[4]), num(vals[5]), parseFloat(vals[0])); + }; + + Transform.fromString = function (v) { + var values = v.split(') '), + translate = values[0].substring(Croppie.globals.translate.length + 1).split(','), + scale = values.length > 1 ? values[1].substring(6) : 1, + x = translate.length > 1 ? translate[0] : 0, + y = translate.length > 1 ? translate[1] : 0; + + return new Transform(x, y, scale); + }; + + Transform.prototype.toString = function () { + var suffix = TRANSLATE_OPTS[Croppie.globals.translate].suffix || ''; + return Croppie.globals.translate + '(' + this.x + 'px, ' + this.y + 'px' + suffix + ') scale(' + this.scale + ')'; + }; + + var TransformOrigin = function (el) { + if (!el || !el.style[CSS_TRANS_ORG]) { + this.x = 0; + this.y = 0; + return; + } + var css = el.style[CSS_TRANS_ORG].split(' '); + this.x = parseFloat(css[0]); + this.y = parseFloat(css[1]); + }; + + TransformOrigin.prototype.toString = function () { + return this.x + 'px ' + this.y + 'px'; + }; + + function getExifOrientation (img) { + return img.exifdata.Orientation; + } + + function drawCanvas(canvas, img, orientation) { + var width = img.width, + height = img.height, + ctx = canvas.getContext('2d'); + + canvas.width = img.width; + canvas.height = img.height; + + ctx.save(); + switch (orientation) { + case 2: + ctx.translate(width, 0); + ctx.scale(-1, 1); + break; + + case 3: + ctx.translate(width, height); + ctx.rotate(180*Math.PI/180); + break; + + case 4: + ctx.translate(0, height); + ctx.scale(1, -1); + break; + + case 5: + canvas.width = height; + canvas.height = width; + ctx.rotate(90*Math.PI/180); + ctx.scale(1, -1); + break; + + case 6: + canvas.width = height; + canvas.height = width; + ctx.rotate(90*Math.PI/180); + ctx.translate(0, -height); + break; + + case 7: + canvas.width = height; + canvas.height = width; + ctx.rotate(-90*Math.PI/180); + ctx.translate(-width, height); + ctx.scale(1, -1); + break; + + case 8: + canvas.width = height; + canvas.height = width; + ctx.translate(0, width); + ctx.rotate(-90*Math.PI/180); + break; + } + ctx.drawImage(img, 0,0, width, height); + ctx.restore(); + } + + /* Private Methods */ + function _create() { + var self = this, + contClass = 'croppie-container', + customViewportClass = self.options.viewport.type ? 'cr-vp-' + self.options.viewport.type : null, + boundary, img, viewport, overlay, bw, bh; + + self.options.useCanvas = self.options.enableOrientation || _hasExif.call(self); + // Properties on class + self.data = {}; + self.elements = {}; + + boundary = self.elements.boundary = document.createElement('div'); + viewport = self.elements.viewport = document.createElement('div'); + img = self.elements.img = document.createElement('img'); + overlay = self.elements.overlay = document.createElement('div'); + + if (self.options.useCanvas) { + self.elements.canvas = document.createElement('canvas'); + self.elements.preview = self.elements.canvas; + } + else { + self.elements.preview = self.elements.img; + } + + addClass(boundary, 'cr-boundary'); + boundary.setAttribute('aria-dropeffect', 'none'); + bw = self.options.boundary.width; + bh = self.options.boundary.height; + css(boundary, { + width: (bw + (isNaN(bw) ? '' : 'px')), + height: (bh + (isNaN(bh) ? '' : 'px')) + }); + + addClass(viewport, 'cr-viewport'); + if (customViewportClass) { + addClass(viewport, customViewportClass); + } + css(viewport, { + width: self.options.viewport.width + 'px', + height: self.options.viewport.height + 'px' + }); + viewport.setAttribute('tabindex', 0); + + addClass(self.elements.preview, 'cr-image'); + setAttributes(self.elements.preview, { 'alt': 'preview', 'aria-grabbed': 'false' }); + addClass(overlay, 'cr-overlay'); + + self.element.appendChild(boundary); + boundary.appendChild(self.elements.preview); + boundary.appendChild(viewport); + boundary.appendChild(overlay); + + addClass(self.element, contClass); + if (self.options.customClass) { + addClass(self.element, self.options.customClass); + } + + _initDraggable.call(this); + + if (self.options.enableZoom) { + _initializeZoom.call(self); + } + + // if (self.options.enableOrientation) { + // _initRotationControls.call(self); + // } + + if (self.options.enableResize) { + _initializeResize.call(self); + } + } + + // function _initRotationControls () { + // var self = this, + // wrap, btnLeft, btnRight, iLeft, iRight; + + // wrap = document.createElement('div'); + // self.elements.orientationBtnLeft = btnLeft = document.createElement('button'); + // self.elements.orientationBtnRight = btnRight = document.createElement('button'); + + // wrap.appendChild(btnLeft); + // wrap.appendChild(btnRight); + + // iLeft = document.createElement('i'); + // iRight = document.createElement('i'); + // btnLeft.appendChild(iLeft); + // btnRight.appendChild(iRight); + + // addClass(wrap, 'cr-rotate-controls'); + // addClass(btnLeft, 'cr-rotate-l'); + // addClass(btnRight, 'cr-rotate-r'); + + // self.elements.boundary.appendChild(wrap); + + // btnLeft.addEventListener('click', function () { + // self.rotate(-90); + // }); + // btnRight.addEventListener('click', function () { + // self.rotate(90); + // }); + // } + + function _hasExif() { + return this.options.enableExif && window.EXIF; + } + + function _initializeResize () { + var self = this; + var wrap = document.createElement('div'); + var isDragging = false; + var direction; + var originalX; + var originalY; + var minSize = 50; + var maxWidth; + var maxHeight; + var vr; + var hr; + + addClass(wrap, 'cr-resizer'); + css(wrap, { + width: this.options.viewport.width + 'px', + height: this.options.viewport.height + 'px' + }); + + if (this.options.resizeControls.height) { + vr = document.createElement('div'); + addClass(vr, 'cr-resizer-vertical'); + wrap.appendChild(vr); + } + + if (this.options.resizeControls.width) { + hr = document.createElement('div'); + addClass(hr, 'cr-resizer-horisontal'); + wrap.appendChild(hr); + } + + function mouseDown(ev) { + if (ev.button !== undefined && ev.button !== 0) return; + + ev.preventDefault(); + if (isDragging) { + return; + } + + var overlayRect = self.elements.overlay.getBoundingClientRect(); + + isDragging = true; + originalX = ev.pageX; + originalY = ev.pageY; + direction = ev.currentTarget.className.indexOf('vertical') !== -1 ? 'v' : 'h'; + maxWidth = overlayRect.width; + maxHeight = overlayRect.height; + + if (ev.touches) { + var touches = ev.touches[0]; + originalX = touches.pageX; + originalY = touches.pageY; + } + + window.addEventListener('mousemove', mouseMove); + window.addEventListener('touchmove', mouseMove); + window.addEventListener('mouseup', mouseUp); + window.addEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = 'none'; + } + + function mouseMove(ev) { + var pageX = ev.pageX; + var pageY = ev.pageY; + + ev.preventDefault(); + + if (ev.touches) { + var touches = ev.touches[0]; + pageX = touches.pageX; + pageY = touches.pageY; + } + + var deltaX = pageX - originalX; + var deltaY = pageY - originalY; + var newHeight = self.options.viewport.height + deltaY; + var newWidth = self.options.viewport.width + deltaX; + + if (direction === 'v' && newHeight >= minSize && newHeight <= maxHeight) { + css(wrap, { + height: newHeight + 'px' + }); + + self.options.boundary.height += deltaY; + css(self.elements.boundary, { + height: self.options.boundary.height + 'px' + }); + + self.options.viewport.height += deltaY; + css(self.elements.viewport, { + height: self.options.viewport.height + 'px' + }); + } + else if (direction === 'h' && newWidth >= minSize && newWidth <= maxWidth) { + css(wrap, { + width: newWidth + 'px' + }); + + self.options.boundary.width += deltaX; + css(self.elements.boundary, { + width: self.options.boundary.width + 'px' + }); + + self.options.viewport.width += deltaX; + css(self.elements.viewport, { + width: self.options.viewport.width + 'px' + }); + } + + _updateOverlay.call(self); + _updateZoomLimits.call(self); + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalY = pageY; + originalX = pageX; + } + + function mouseUp() { + isDragging = false; + window.removeEventListener('mousemove', mouseMove); + window.removeEventListener('touchmove', mouseMove); + window.removeEventListener('mouseup', mouseUp); + window.removeEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = ''; + } + + if (vr) { + vr.addEventListener('mousedown', mouseDown); + } + + if (hr) { + hr.addEventListener('mousedown', mouseDown); + } + + this.elements.boundary.appendChild(wrap); + } + + function _setZoomerVal(v) { + if (this.options.enableZoom) { + var z = this.elements.zoomer, + val = fix(v, 4); + + z.value = Math.max(z.min, Math.min(z.max, val)); + } + } + + function _initializeZoom() { + var self = this, + wrap = self.elements.zoomerWrap = document.createElement('div'), + zoomer = self.elements.zoomer = document.createElement('input'); + + addClass(wrap, 'cr-slider-wrap'); + addClass(zoomer, 'cr-slider'); + zoomer.type = 'range'; + zoomer.step = '0.0001'; + zoomer.value = 1; + zoomer.style.display = self.options.showZoomer ? '' : 'none'; + zoomer.setAttribute('aria-label', 'zoom'); + + self.element.appendChild(wrap); + wrap.appendChild(zoomer); + + self._currentZoom = 1; + + function change() { + _onZoom.call(self, { + value: parseFloat(zoomer.value), + origin: new TransformOrigin(self.elements.preview), + viewportRect: self.elements.viewport.getBoundingClientRect(), + transform: Transform.parse(self.elements.preview) + }); + } + + function scroll(ev) { + var delta, targetZoom; + + if (ev.wheelDelta) { + delta = ev.wheelDelta / 1200; //wheelDelta min: -120 max: 120 // max x 10 x 2 + } else if (ev.deltaY) { + delta = ev.deltaY / 1060; //deltaY min: -53 max: 53 // max x 10 x 2 + } else if (ev.detail) { + delta = ev.detail / -60; //delta min: -3 max: 3 // max x 10 x 2 + } else { + delta = 0; + } + + targetZoom = self._currentZoom + (delta * self._currentZoom); + + ev.preventDefault(); + _setZoomerVal.call(self, targetZoom); + change.call(self); + } + + self.elements.zoomer.addEventListener('input', change);// this is being fired twice on keypress + self.elements.zoomer.addEventListener('change', change); + + if (self.options.mouseWheelZoom) { + self.elements.boundary.addEventListener('mousewheel', scroll); + self.elements.boundary.addEventListener('DOMMouseScroll', scroll); + } + } + + function _onZoom(ui) { + var self = this, + transform = ui ? ui.transform : Transform.parse(self.elements.preview), + vpRect = ui ? ui.viewportRect : self.elements.viewport.getBoundingClientRect(), + origin = ui ? ui.origin : new TransformOrigin(self.elements.preview); + + function applyCss() { + var transCss = {}; + transCss[CSS_TRANSFORM] = transform.toString(); + transCss[CSS_TRANS_ORG] = origin.toString(); + css(self.elements.preview, transCss); + } + + self._currentZoom = ui ? ui.value : self._currentZoom; + transform.scale = self._currentZoom; + self.elements.zoomer.setAttribute('aria-valuenow', self._currentZoom); + applyCss(); + + if (self.options.enforceBoundary) { + var boundaries = _getVirtualBoundaries.call(self, vpRect), + transBoundaries = boundaries.translate, + oBoundaries = boundaries.origin; + + if (transform.x >= transBoundaries.maxX) { + origin.x = oBoundaries.minX; + transform.x = transBoundaries.maxX; + } + + if (transform.x <= transBoundaries.minX) { + origin.x = oBoundaries.maxX; + transform.x = transBoundaries.minX; + } + + if (transform.y >= transBoundaries.maxY) { + origin.y = oBoundaries.minY; + transform.y = transBoundaries.maxY; + } + + if (transform.y <= transBoundaries.minY) { + origin.y = oBoundaries.maxY; + transform.y = transBoundaries.minY; + } + } + applyCss(); + _debouncedOverlay.call(self); + _triggerUpdate.call(self); + } + + function _getVirtualBoundaries(viewport) { + var self = this, + scale = self._currentZoom, + vpWidth = viewport.width, + vpHeight = viewport.height, + centerFromBoundaryX = self.elements.boundary.clientWidth / 2, + centerFromBoundaryY = self.elements.boundary.clientHeight / 2, + imgRect = self.elements.preview.getBoundingClientRect(), + curImgWidth = imgRect.width, + curImgHeight = imgRect.height, + halfWidth = vpWidth / 2, + halfHeight = vpHeight / 2; + + var maxX = ((halfWidth / scale) - centerFromBoundaryX) * -1; + var minX = maxX - ((curImgWidth * (1 / scale)) - (vpWidth * (1 / scale))); + + var maxY = ((halfHeight / scale) - centerFromBoundaryY) * -1; + var minY = maxY - ((curImgHeight * (1 / scale)) - (vpHeight * (1 / scale))); + + var originMinX = (1 / scale) * halfWidth; + var originMaxX = (curImgWidth * (1 / scale)) - originMinX; + + var originMinY = (1 / scale) * halfHeight; + var originMaxY = (curImgHeight * (1 / scale)) - originMinY; + + return { + translate: { + maxX: maxX, + minX: minX, + maxY: maxY, + minY: minY + }, + origin: { + maxX: originMaxX, + minX: originMinX, + maxY: originMaxY, + minY: originMinY + } + }; + } + + function _updateCenterPoint() { + var self = this, + scale = self._currentZoom, + data = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + transform = Transform.parse(self.elements.preview.style[CSS_TRANSFORM]), + pc = new TransformOrigin(self.elements.preview), + top = (vpData.top - data.top) + (vpData.height / 2), + left = (vpData.left - data.left) + (vpData.width / 2), + center = {}, + adj = {}; + + center.y = top / scale; + center.x = left / scale; + + adj.y = (center.y - pc.y) * (1 - scale); + adj.x = (center.x - pc.x) * (1 - scale); + + transform.x -= adj.x; + transform.y -= adj.y; + + var newCss = {}; + newCss[CSS_TRANS_ORG] = center.x + 'px ' + center.y + 'px'; + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + } + + function _initDraggable() { + var self = this, + isDragging = false, + originalX, + originalY, + originalDistance, + vpRect, + transform; + + function assignTransformCoordinates(deltaX, deltaY) { + var imgRect = self.elements.preview.getBoundingClientRect(), + top = transform.y + deltaY, + left = transform.x + deltaX; + + if (self.options.enforceBoundary) { + if (vpRect.top > imgRect.top + deltaY && vpRect.bottom < imgRect.bottom + deltaY) { + transform.y = top; + } + + if (vpRect.left > imgRect.left + deltaX && vpRect.right < imgRect.right + deltaX) { + transform.x = left; + } + } + else { + transform.y = top; + transform.x = left; + } + } + + function toggleGrabState(isDragging) { + self.elements.preview.setAttribute('aria-grabbed', isDragging); + self.elements.boundary.setAttribute('aria-dropeffect', isDragging? 'move': 'none'); + } + + function keyDown(ev) { + var LEFT_ARROW = 37, + UP_ARROW = 38, + RIGHT_ARROW = 39, + DOWN_ARROW = 40; + + if (ev.shiftKey && (ev.keyCode == UP_ARROW || ev.keyCode == DOWN_ARROW)) { + var zoom = 0.0; + if (ev.keyCode == UP_ARROW) { + zoom = parseFloat(self.elements.zoomer.value, 10) + parseFloat(self.elements.zoomer.step, 10) + } + else { + zoom = parseFloat(self.elements.zoomer.value, 10) - parseFloat(self.elements.zoomer.step, 10) + } + self.setZoom(zoom); + } + else if (self.options.enableKeyMovement && (ev.keyCode >= 37 && ev.keyCode <= 40)) { + ev.preventDefault(); + var movement = parseKeyDown(ev.keyCode); + + transform = Transform.parse(self.elements.preview); + document.body.style[CSS_USERSELECT] = 'none'; + vpRect = self.elements.viewport.getBoundingClientRect(); + keyMove(movement); + }; + + function parseKeyDown(key) { + switch (key) { + case LEFT_ARROW: + return [1, 0]; + case UP_ARROW: + return [0, 1]; + case RIGHT_ARROW: + return [-1, 0]; + case DOWN_ARROW: + return [0, -1]; + }; + }; + } + + function keyMove(movement) { + var deltaX = movement[0], + deltaY = movement[1], + newCss = {}; + + assignTransformCoordinates(deltaX, deltaY); + + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + _updateOverlay.call(self); + document.body.style[CSS_USERSELECT] = ''; + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalDistance = 0; + } + + function mouseDown(ev) { + if (ev.button !== undefined && ev.button !== 0) return; + + ev.preventDefault(); + if (isDragging) return; + isDragging = true; + originalX = ev.pageX; + originalY = ev.pageY; + + if (ev.touches) { + var touches = ev.touches[0]; + originalX = touches.pageX; + originalY = touches.pageY; + } + toggleGrabState(isDragging); + transform = Transform.parse(self.elements.preview); + window.addEventListener('mousemove', mouseMove); + window.addEventListener('touchmove', mouseMove); + window.addEventListener('mouseup', mouseUp); + window.addEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = 'none'; + vpRect = self.elements.viewport.getBoundingClientRect(); + } + + function mouseMove(ev) { + ev.preventDefault(); + var pageX = ev.pageX, + pageY = ev.pageY; + + if (ev.touches) { + var touches = ev.touches[0]; + pageX = touches.pageX; + pageY = touches.pageY; + } + + var deltaX = pageX - originalX, + deltaY = pageY - originalY, + newCss = {}; + + if (ev.type == 'touchmove') { + if (ev.touches.length > 1) { + var touch1 = ev.touches[0]; + var touch2 = ev.touches[1]; + var dist = Math.sqrt((touch1.pageX - touch2.pageX) * (touch1.pageX - touch2.pageX) + (touch1.pageY - touch2.pageY) * (touch1.pageY - touch2.pageY)); + + if (!originalDistance) { + originalDistance = dist / self._currentZoom; + } + + var scale = dist / originalDistance; + + _setZoomerVal.call(self, scale); + dispatchChange(self.elements.zoomer); + return; + } + } + + assignTransformCoordinates(deltaX, deltaY); + + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + _updateOverlay.call(self); + originalY = pageY; + originalX = pageX; + } + + function mouseUp() { + isDragging = false; + toggleGrabState(isDragging); + window.removeEventListener('mousemove', mouseMove); + window.removeEventListener('touchmove', mouseMove); + window.removeEventListener('mouseup', mouseUp); + window.removeEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = ''; + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalDistance = 0; + } + + self.elements.overlay.addEventListener('mousedown', mouseDown); + self.elements.viewport.addEventListener('keydown', keyDown); + self.elements.overlay.addEventListener('touchstart', mouseDown); + } + + function _updateOverlay() { + var self = this, + boundRect = self.elements.boundary.getBoundingClientRect(), + imgData = self.elements.preview.getBoundingClientRect(); + + css(self.elements.overlay, { + width: imgData.width + 'px', + height: imgData.height + 'px', + top: (imgData.top - boundRect.top) + 'px', + left: (imgData.left - boundRect.left) + 'px' + }); + } + var _debouncedOverlay = debounce(_updateOverlay, 500); + + function _triggerUpdate() { + var self = this, + data = self.get(), + ev; + + if (!_isVisible.call(self)) { + return; + } + + self.options.update.call(self, data); + if (self.$ && typeof Prototype == 'undefined') { + self.$(self.element).trigger('update', data); + } + else { + var ev; + if (window.CustomEvent) { + ev = new CustomEvent('update', { detail: data }); + } else { + ev = document.createEvent('CustomEvent'); + ev.initCustomEvent('update', true, true, data); + } + + self.element.dispatchEvent(ev); + } + } + + function _isVisible() { + return this.elements.preview.offsetHeight > 0 && this.elements.preview.offsetWidth > 0; + } + + function _updatePropertiesFromImage() { + var self = this, + initialZoom = 1, + cssReset = {}, + img = self.elements.preview, + imgData = null, + transformReset = new Transform(0, 0, initialZoom), + originReset = new TransformOrigin(), + isVisible = _isVisible.call(self); + + if (!isVisible || self.data.bound) { + // if the croppie isn't visible or it doesn't need binding + return; + } + + self.data.bound = true; + cssReset[CSS_TRANSFORM] = transformReset.toString(); + cssReset[CSS_TRANS_ORG] = originReset.toString(); + cssReset['opacity'] = 1; + css(img, cssReset); + + imgData = self.elements.preview.getBoundingClientRect(); + + self._originalImageWidth = imgData.width; + self._originalImageHeight = imgData.height; + + if (self.options.enableZoom) { + _updateZoomLimits.call(self, true); + } + else { + self._currentZoom = initialZoom; + } + + transformReset.scale = self._currentZoom; + cssReset[CSS_TRANSFORM] = transformReset.toString(); + css(img, cssReset); + + if (self.data.points.length) { + _bindPoints.call(self, self.data.points); + } + else { + _centerImage.call(self); + } + + _updateCenterPoint.call(self); + _updateOverlay.call(self); + } + + function _updateZoomLimits (initial) { + var self = this, + minZoom = 0, + maxZoom = 1.5, + initialZoom, + defaultInitialZoom, + zoomer = self.elements.zoomer, + scale = parseFloat(zoomer.value), + boundaryData = self.elements.boundary.getBoundingClientRect(), + imgData = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + minW, + minH; + + if (self.options.enforceBoundary) { + minW = vpData.width / (initial ? imgData.width : imgData.width / scale); + minH = vpData.height / (initial ? imgData.height : imgData.height / scale); + minZoom = Math.max(minW, minH); + } + + if (minZoom >= maxZoom) { + maxZoom = minZoom + 1; + } + + zoomer.min = fix(minZoom, 4); + zoomer.max = fix(maxZoom, 4); + + if (initial) { + defaultInitialZoom = Math.max((boundaryData.width / imgData.width), (boundaryData.height / imgData.height)); + initialZoom = self.data.boundZoom !== null ? self.data.boundZoom : defaultInitialZoom; + _setZoomerVal.call(self, initialZoom); + } + + dispatchChange(zoomer); + } + + function _bindPoints(points) { + if (points.length != 4) { + throw "Croppie - Invalid number of points supplied: " + points; + } + var self = this, + pointsWidth = points[2] - points[0], + // pointsHeight = points[3] - points[1], + vpData = self.elements.viewport.getBoundingClientRect(), + boundRect = self.elements.boundary.getBoundingClientRect(), + vpOffset = { + left: vpData.left - boundRect.left, + top: vpData.top - boundRect.top + }, + scale = vpData.width / pointsWidth, + originTop = points[1], + originLeft = points[0], + transformTop = (-1 * points[1]) + vpOffset.top, + transformLeft = (-1 * points[0]) + vpOffset.left, + newCss = {}; + + newCss[CSS_TRANS_ORG] = originLeft + 'px ' + originTop + 'px'; + newCss[CSS_TRANSFORM] = new Transform(transformLeft, transformTop, scale).toString(); + css(self.elements.preview, newCss); + + _setZoomerVal.call(self, scale); + self._currentZoom = scale; + } + + function _centerImage() { + var self = this, + imgDim = self.elements.preview.getBoundingClientRect(), + vpDim = self.elements.viewport.getBoundingClientRect(), + boundDim = self.elements.boundary.getBoundingClientRect(), + vpLeft = vpDim.left - boundDim.left, + vpTop = vpDim.top - boundDim.top, + w = vpLeft - ((imgDim.width - vpDim.width) / 2), + h = vpTop - ((imgDim.height - vpDim.height) / 2), + transform = new Transform(w, h, self._currentZoom); + + css(self.elements.preview, CSS_TRANSFORM, transform.toString()); + } + + function _transferImageToCanvas(customOrientation) { + var self = this, + canvas = self.elements.canvas, + img = self.elements.img, + ctx = canvas.getContext('2d'), + exif = _hasExif.call(self), + customOrientation = self.options.enableOrientation && customOrientation; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + canvas.width = img.width; + canvas.height = img.height; + + if (exif && !customOrientation) { + var orientation = getExifOrientation(img); + drawCanvas(canvas, img, num(orientation || 0, 10)); + } + else if (customOrientation) { + drawCanvas(canvas, img, customOrientation); + } + } + + function _getCanvas(data) { + var self = this, + points = data.points, + left = num(points[0]), + top = num(points[1]), + right = num(points[2]), + bottom = num(points[3]), + width = right-left, + height = bottom-top, + circle = data.circle, + canvas = document.createElement('canvas'), + ctx = canvas.getContext('2d'), + outWidth = width, + outHeight = height, + startX = 0, + startY = 0, + canvasWidth = outWidth, + canvasHeight = outHeight, + customDimensions = (data.outputWidth && data.outputHeight), + outputWidthRatio = 1; + outputHeightRatio = 1; + + if (customDimensions) { + canvasWidth = data.outputWidth; + canvasHeight = data.outputHeight; + outputWidthRatio = canvasWidth / outWidth; + outputHeightRatio = canvasHeight / outHeight; + } + + canvas.width = canvasWidth; + canvas.height = canvasHeight; + + if (data.backgroundColor) { + ctx.fillStyle = data.backgroundColor; + ctx.fillRect(0, 0, canvasWidth, canvasHeight); + } + + + // start fixing data to send to draw image for enforceBoundary: false + if (!self.options.enforceBoundary) { + if (left < 0) { + startX = Math.abs(left); + left = 0; + } + if (top < 0) { + startY = Math.abs(top); + top = 0; + } + if (right > self._originalImageWidth) { + width = self._originalImageWidth - left; + outWidth = width; + } + if (bottom > self._originalImageHeight) { + height = self._originalImageHeight - top; + outHeight = height; + } + } + else{ + width=Math.min(width, self._originalImageWidth); + height=Math.min(height, self._originalImageHeight) + } + + if (outputWidthRatio !== 1 || outputHeightRatio !== 1) { + startX *= outputWidthRatio; + startY *= outputHeightRatio; + outWidth *= outputWidthRatio; + outHeight *= outputHeightRatio; + } + ctx.drawImage(this.elements.preview, left, top, width, height, startX, startY, outWidth, outHeight); + if (circle) { + ctx.fillStyle = '#fff'; + ctx.globalCompositeOperation = 'destination-in'; + ctx.beginPath(); + ctx.arc(outWidth / 2, outHeight / 2, outWidth / 2, 0, Math.PI * 2, true); + ctx.closePath(); + ctx.fill(); + } + return canvas; + } + + function _getHtmlResult(data) { + var points = data.points, + div = document.createElement('div'), + img = document.createElement('img'), + width = points[2] - points[0], + height = points[3] - points[1]; + + addClass(div, 'croppie-result'); + div.appendChild(img); + css(img, { + left: (-1 * points[0]) + 'px', + top: (-1 * points[1]) + 'px' + }); + img.src = data.url; + css(div, { + width: width + 'px', + height: height + 'px' + }); + + return div; + } + + function _getBase64Result(data) { + return _getCanvas.call(this, data).toDataURL(data.format, data.quality); + } + + function _getBlobResult(data) { + var self = this; + return new Promise(function (resolve, reject) { + _getCanvas.call(self, data).toBlob(function (blob) { + resolve(blob); + }, data.format, data.quality); + }); + } + + function _bind(options, cb) { + var self = this, + url, + points = [], + zoom = null, + hasExif = _hasExif.call(self);; + + if (typeof (options) === 'string') { + url = options; + options = {}; + } + else if (Array.isArray(options)) { + points = options.slice(); + } + else if (typeof (options) == 'undefined' && self.data.url) { //refreshing + _updatePropertiesFromImage.call(self); + _triggerUpdate.call(self); + return null; + } + else { + url = options.url; + points = options.points || []; + zoom = typeof(options.zoom) === 'undefined' ? null : options.zoom; + } + + self.data.bound = false; + self.data.url = url || self.data.url; + self.data.boundZoom = zoom; + + return loadImage(url, self.elements.img, hasExif).then(function (img) { + if (!points.length) { + var natDim = naturalImageDimensions(img); + var rect = self.elements.viewport.getBoundingClientRect(); + var aspectRatio = rect.width / rect.height; + var imgAspectRatio = natDim.width / natDim.height; + var width, height; + + if (imgAspectRatio > aspectRatio) { + height = natDim.height; + width = height * aspectRatio; + } + else { + width = natDim.width; + height = width / aspectRatio; + } + + var x0 = (natDim.width - width) / 2; + var y0 = (natDim.height - height) / 2; + var x1 = x0 + width; + var y1 = y0 + height; + + self.data.points = [x0, y0, x1, y1]; + } + else if (self.options.relative) { + points = [ + points[0] * img.naturalWidth / 100, + points[1] * img.naturalHeight / 100, + points[2] * img.naturalWidth / 100, + points[3] * img.naturalHeight / 100 + ]; + } + + self.data.points = points.map(function (p) { + return parseFloat(p); + }); + if (self.options.useCanvas) { + _transferImageToCanvas.call(self, options.orientation || 1); + } + _updatePropertiesFromImage.call(self); + _triggerUpdate.call(self); + cb && cb(); + }); + } + + function fix(v, decimalPoints) { + return parseFloat(v).toFixed(decimalPoints || 0); + } + + function _get() { + var self = this, + imgData = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + x1 = vpData.left - imgData.left, + y1 = vpData.top - imgData.top, + widthDiff = (vpData.width - self.elements.viewport.offsetWidth) / 2, //border + heightDiff = (vpData.height - self.elements.viewport.offsetHeight) / 2, + x2 = x1 + self.elements.viewport.offsetWidth + widthDiff, + y2 = y1 + self.elements.viewport.offsetHeight + heightDiff, + scale = self._currentZoom; + + if (scale === Infinity || isNaN(scale)) { + scale = 1; + } + + var max = self.options.enforceBoundary ? 0 : Number.NEGATIVE_INFINITY; + x1 = Math.max(max, x1 / scale); + y1 = Math.max(max, y1 / scale); + x2 = Math.max(max, x2 / scale); + y2 = Math.max(max, y2 / scale); + + return { + points: [fix(x1), fix(y1), fix(x2), fix(y2)], + zoom: scale + }; + } + + var RESULT_DEFAULTS = { + type: 'canvas', + format: 'png', + quality: 1 + }, + RESULT_FORMATS = ['jpeg', 'webp', 'png']; + + function _result(options) { + var self = this, + data = _get.call(self), + opts = deepExtend(RESULT_DEFAULTS, deepExtend({}, options)), + resultType = (typeof (options) === 'string' ? options : (opts.type || 'base64')), + size = opts.size || 'viewport', + format = opts.format, + quality = opts.quality, + backgroundColor = opts.backgroundColor, + circle = typeof opts.circle === 'boolean' ? opts.circle : (self.options.viewport.type === 'circle'), + vpRect = self.elements.viewport.getBoundingClientRect(), + ratio = vpRect.width / vpRect.height, + prom; + + if (size === 'viewport') { + data.outputWidth = vpRect.width; + data.outputHeight = vpRect.height; + } else if (typeof size === 'object') { + if (size.width && size.height) { + data.outputWidth = size.width; + data.outputHeight = size.height; + } else if (size.width) { + data.outputWidth = size.width; + data.outputHeight = size.width / ratio; + } else if (size.height) { + data.outputWidth = size.height * ratio; + data.outputHeight = size.height; + } + } + + if (RESULT_FORMATS.indexOf(format) > -1) { + data.format = 'image/' + format; + data.quality = quality; + } + + data.circle = circle; + data.url = self.data.url; + data.backgroundColor = backgroundColor; + + prom = new Promise(function (resolve, reject) { + switch(resultType.toLowerCase()) + { + case 'rawcanvas': + resolve(_getCanvas.call(self, data)); + break; + case 'canvas': + case 'base64': + resolve(_getBase64Result.call(self, data)); + break; + case 'blob': + _getBlobResult.call(self, data).then(resolve); + break; + default: + resolve(_getHtmlResult.call(self, data)); + break; + } + }); + return prom; + } + + function _refresh() { + _updatePropertiesFromImage.call(this); + } + + function _rotate(deg) { + if (!this.options.useCanvas) { + throw 'Croppie: Cannot rotate without enableOrientation'; + } + + var self = this, + canvas = self.elements.canvas, + copy = document.createElement('canvas'), + ornt = 1; + + copy.width = canvas.width; + copy.height = canvas.height; + var ctx = copy.getContext('2d'); + ctx.drawImage(canvas, 0, 0); + + if (deg === 90 || deg === -270) ornt = 6; + if (deg === -90 || deg === 270) ornt = 8; + if (deg === 180 || deg === -180) ornt = 3; + + drawCanvas(canvas, copy, ornt); + _onZoom.call(self); + copy = null; + } + + function _destroy() { + var self = this; + self.element.removeChild(self.elements.boundary); + removeClass(self.element, 'croppie-container'); + if (self.options.enableZoom) { + self.element.removeChild(self.elements.zoomerWrap); + } + delete self.elements; + } + + if (window.jQuery) { + var $ = window.jQuery; + $.fn.croppie = function (opts) { + var ot = typeof opts; + + if (ot === 'string') { + var args = Array.prototype.slice.call(arguments, 1); + var singleInst = $(this).data('croppie'); + + if (opts === 'get') { + return singleInst.get(); + } + else if (opts === 'result') { + return singleInst.result.apply(singleInst, args); + } + else if (opts === 'bind') { + return singleInst.bind.apply(singleInst, args); + } + + return this.each(function () { + var i = $(this).data('croppie'); + if (!i) return; + + var method = i[opts]; + if ($.isFunction(method)) { + method.apply(i, args); + if (opts === 'destroy') { + $(this).removeData('croppie'); + } + } + else { + throw 'Croppie ' + opts + ' method not found'; + } + }); + } + else { + return this.each(function () { + var i = new Croppie(this, opts); + i.$ = $; + $(this).data('croppie', i); + }); + } + }; + } + + function Croppie(element, opts) { + this.element = element; + this.options = deepExtend(deepExtend({}, Croppie.defaults), opts); + + if (this.element.tagName.toLowerCase() === 'img') { + var origImage = this.element; + addClass(origImage, 'cr-original-image'); + setAttributes(origImage, {'aria-hidden' : 'true', 'alt' : '' }); + var replacementDiv = document.createElement('div'); + this.element.parentNode.appendChild(replacementDiv); + replacementDiv.appendChild(origImage); + this.element = replacementDiv; + this.options.url = this.options.url || origImage.src; + } + + _create.call(this); + if (this.options.url) { + var bindOpts = { + url: this.options.url, + points: this.options.points + }; + delete this.options['url']; + delete this.options['points']; + _bind.call(this, bindOpts); + } + } + + Croppie.defaults = { + viewport: { + width: 100, + height: 100, + type: 'square' + }, + boundary: { }, + orientationControls: { + enabled: true, + leftClass: '', + rightClass: '' + }, + resizeControls: { + width: true, + height: true + }, + customClass: '', + showZoomer: true, + enableZoom: true, + enableResize: false, + mouseWheelZoom: true, + enableExif: false, + enforceBoundary: true, + enableOrientation: false, + enableKeyMovement: true, + update: function () { } + }; + + Croppie.globals = { + translate: 'translate3d' + }; + + deepExtend(Croppie.prototype, { + bind: function (options, cb) { + return _bind.call(this, options, cb); + }, + get: function () { + var data = _get.call(this); + var points = data.points; + if (this.options.relative) { + points[0] /= this.elements.img.naturalWidth / 100; + points[1] /= this.elements.img.naturalHeight / 100; + points[2] /= this.elements.img.naturalWidth / 100; + points[3] /= this.elements.img.naturalHeight / 100; + } + return data; + }, + result: function (type) { + return _result.call(this, type); + }, + refresh: function () { + return _refresh.call(this); + }, + setZoom: function (v) { + _setZoomerVal.call(this, v); + dispatchChange(this.elements.zoomer); + }, + rotate: function (deg) { + _rotate.call(this, deg); + }, + destroy: function () { + return _destroy.call(this); + } + }); + + exports.Croppie = window.Croppie = Croppie; + + if (typeof module === 'object' && !!module.exports) { + module.exports = Croppie; + } +})); diff --git a/dj-hamster.jpg b/dj-hamster.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5f2c583cf6f42aa7bc1d9a4e187564710d71a48 GIT binary patch literal 49981 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%0AeK}Hus zG#*!!GekklQnKeWpgaG;r8uesq=tXOX(N(0VK^=(`k`qn2kM9k28P4u;vNCro>2r);Y^x{oS`x|s4VQ5I<%s(*@2=lDs5f5V2 zU78&2*AL>(e(w1R1g(QP$n|gf3A3O}%xQ7HA4H4VpxTVb-{ER_xek^pqAFTu812Vz zkg8mFv5!8+2mz^sMO0tT5!o2gBYaBY7xxh7TwG^iuO0IBKv0rqG3d!14wbR&=b{+s zZAP;sFY_xwFDRjYz~

    c2ser$1x2Eea!HybeTpljPbmv@2f+w!V2se_K!a`Dd#+q znYKBj>Dzy^QPsMLuCHErR|zhpaCG1}D&krFQX@1O$tIz8^UL5P zD+Pt0CfT8h!29(5`k_+vaAk+-{O@%{K9)$#Z9|bQrZOPIug(Iu%ST2UDI5Y|fs7H~ zG9KndvpO<%yMQX^(dTseEL@K(j4ud;c<^2-g!0DgmZ9gl z`i1NqFP?ilHKMwGzA~H4Fifx=eU;5Vw93R63h2J5o6i;q$p9XQjd@wzYAOS6li*}? zJQ)j*oWyRLB2C!|2LijHK-wVI>r>K8WKxa@oW)+;!m-mA6+&bsR0Kc^0&WY&;J|t! zc;!l6;inPSAWj=2fZJM1Y&(y(SNvt*<&r^eJrBJcFPZ0%wJAxh0ATTZU)p;a&eJ@3 z;=)z$EObttCj9I#^KG)%Q1m%Ubr;V|o9<{L@eVvDMP%^nW>srl-=TRDXCOFIs-ohN zB1x*6c%<`GTyLHZEJci0bY9K7nS21|rub-@FcZ&N@9ebodC^1&m{E ztmY*TeV>M;`qp5j!fZFy3}J$!wRzQ2%lAXBjTXbtY=#t-6}wHa$Tj+&64NX$LLmBC zf+uO)Np*~w49`#;RkN(|;_7U}xh^RW>6SXEOtzECo$m?M$dKbLxyUL%_FO_d(92&|WK{h151&fYa@+Y<9?R)gmKZ#)m0xaNd)TT2$ zG=`6<*=$uJmh|Wr-@?Aemo@K}syO(z`}PY6R=Nxzi_-NqshmxxPP-|G!zEKWx7cY5 zBIt-RHcGfELXt|aYWkuyk_D?VzgwH!Uw7f=MdRK?>&k$#Q2t{{yU>yOH{x*olRP?L z^27nB)hWmB)+0v-6H8L;&KGv^OH~g1kw+J>g5;CX9U1=e@qFh-4YIN z)?)i1x0;A)#S_Thh>V+)fH7}$CL_2Zl`=s2ZFJqpy+kPfQL%PP zk~*^)K&zD2P%t^vKmvM=qU_ir2D2YGutex`d5{dAdBGCH1RlY#l18AVkm&RS)pwhh z4uHXC&6r&~Kv-i&x$6x>i7y~0Djf`}+K9Iv|9i%aILhZDaflJjQTn%BgM?Dgdqz{O zA*h>zrnD*XTq6-Z%Sf;<)>GiY52qf<`@CPRXYc5PmKPz+w-9+Ec&%&#R8kqg6x@iu zvLccI5fP8%aAl2uB)X2>g^A(anGwyO0}*U*I67R?1+oYuZxWW(-%Muc8B>MTCqHZ} zrJ|^eb5kmDNre)s7iI%AAKhUbaw+M)%;ECy+!@4PYV4bmQ}Xrlw|tA5u9HN;r`<0$ zQN&AB0-L%!(@DS|M7rcCo*BYcn3Hqsks+Ma;*Rt`(3u6Yv($PARZF_CAsLdGS)aVY zqf_?c$pWQp+wH-Oj=styF)~I@#QHng0ZyDG(O1pR$frzYi5GVkvyF=r@L)?-B%;_0 z9ITa+sGIV1@Qd5Y1z5Jrz3O)#ftrn3pHQd7v^T8i8PJkN(%PN(76uX%utIpa1v>8* zb4LHP%|ohraB6k|>y55B^6xpER!+5cdEdWt=i)H`&K0UqC=vEfTWm&-lu46aK*OZeTMrCo06c(b9;0n3UBk z!}*75Uk37lvKFz&jK36B7&^>aaT8ykAplb@`iY(&@89Ad*i4DSY zK8kwer!*@FP$YUq<4&r%p+dfTr)SAZzl#(Oq6=fHDyoFJbHizB`ncozC8tqrap zrqFgTB>VSuRqX&TmL-=etAgf#=WrZvB3?|n-Q}0fxcha}_M6%PYP$dm0J;|7@Rk;t zMfWSFrq;k>nWzrw29)ZSq3TN?&z+S{u#gpy?DxbAP@j1r?*=nyxnTrHaX>iWZN6T4 z*^Z|Vsg2MC64yx5`PeIgP6X5YrU?Q1Rh_cDL#pQUl@-SDVz!&d)3>lPgMJ+2>K6(c z=8;LB#=Q&`1oC341FL&Qw!b9*lS2*zh^aLkHv2U9I`FFaeTSXw1MYL(up5@>yS*4= zn8nw33{Ii!Lm6L4L z9$p!*_38f}{>p$}!~E8=>BHS?v{}mmqOW_*>v9L?ct1S_FZGA|sV9qU-^Yvyz@~Ba z6}g;XOrrvPL%=MrCh^-9LhjOb2JE9^x|OX~m=y#bJ>o~&@YG~0Nvo@($E18uTdWq+{h<>3>Smjj zdebx&@RKS5gf)DzEIp5Z(!f+|<10cui@9bHSIoOl#)^Hme{;?VJR{=atfyMpaidS) z!i24&IMq?28RXapZM#@C@>AdakOP02h2`LkqMCNYb+`Yva@PB_(+qr*d3F6 z9*5=pv~aQ2t_+lYH^p_L_UGy&ofpMdr&aG@ySp%d@tCJqpK+nHEXO;)`xqxvF-d%(zz$zp80BQO_lH^nNjuD0a6X zdw-ZLcLyo!3!wQbBiSjLHe7E?V1z4^{-ZJo98;v|$%UhuR9xoTs}c!k*Bu^h!``Z? zV-s0%sRH1OJ^Rm#q^}1eWGP;ispfDETmX$%Q(8;k45Bh-d_U?_~ddYN}(0(O{SjeD{9dvy)jSMZhVMs-hG`r(K8LTzUz%#Jx+tTU}V@y;&&(a8qn>cXwIhY8g)f98$iEb zn`77H8M@uZW5mKa)6#!eIk%G!X*e`O{jis&Xkp~Uj4sHtbh>1rWD}MB?2c-Ob4|MG zl?^{hi&Pm$UY?OlTFQE4EYyzQOUpX%0`ir8VDiGK;)tX zJS>B1W*=p;6giwagIW|dQLeSJQ9+4fWNlXsP&?@MlVQlTTc!80X!EsXk)RjjdSGb# z<9?D%Qzkuqwyx+sC)5)6a4U_ah>Z}n` z<$VVljk)x`DsKBXIA>E&)Xx2Jdz*#j$S9W|xD9=nd5H>i;}gsq_An0>Lvmd@%2%&f zJ|ldE$6UR-YUP4JffLv$303= zl3u!<**TR;Tre24$bK4Pj&DJ&?n=PwyT$DKMg@Yu#);sa!1E=~31~!<7X(0BNBfgitN7zv#0j$D?aim$5F zIR|x+b$;jh-9`EaozE3iwp^-6RD0;0{vyS5>YHMD%!k%GW-s00!n8C8@q~u2brEjH z?Ys86v$**uIMG4IQfLd^l(p?tdh(Rf5@9B2mZAAxS`dEl+idRN@RrC^KBwRTlI z^WQo9qG$m2ujp&v)_DOql_yfn{YLxL0@;kC|=QpAf$s zV44F@3{TE4#SKLN_PhhLxdRC7x=LU4N8nOvrubKe(o-;hDZld7c*debR=Ym8}(?1>glNnoLrsp|mRE6?meb-u*pv zCb*%w)7O^Kh(|bLF-v;sO$Ni7@f{&HZ&<{@h9(De8dWRu?J5v&<_vOyiX; zCv(eMDc6t#actm7`0)^@$CS6KiFER`3%^?<&0UcGiivjWNk&ng;uy$h8{8f7Vcu$T zFk;@K$vEVWD(McP^x7`-!3;ZE7A`R+Tl|_*H?K^zj911H0^=W^f1)aygz!BQhK9Y` zR=d9D&=Z)fJNv5w`Sr#1D|poD`%62RlG94F+An}FJqFH0kv!}C-{cd18kwZkknAMO z3X}hcra#CcHN`($fz?wH%hCpW%2HgKids@3)LolN6Xz}cy(?YVyQ(8c2FkP^^Ewl)KG+c6(H?VIzQo`S3I6?kCiOw=-yMYo0 zV={d;!<~CcIB|7n)&NaJix>-!d#y4tF%Ks~o*{NMQ>uW-e0~}!^p>wtf9$A`wKe`E zk?WGg@_Ct|Uq;Qtg{!YFu)z`o4ZZx+cL~>j0>3}ex6Zdalic|s{g-uE?=RHp!7kFO zmU4b!4~_#xAVx!^Zljzbfl~D-Bjw0@OFECPUT4{SCzlWke=&Y{gJxNV3dZ-ZF0**V zdaBBqDcG|Rl14>NVPk5;eMh|PqfSPKmwFTPH7%|^q~2R{m&wf^0mc$#ca!v6U6?9o zQk_Yg*_g!i9G8YcYpp6eBjJth#@hVi7Pw|Ay`rmhM-*37zW((UYXtklwL!#+_2_QA z4)I$}SVMjDGX^|W-L&)SSHbtW;Ywv0MSGZ%zptA1XEyf+ZH^>zhLRUg2M=>UUG85+ z53eu|ucr7BeusEDn;9QjScj>)@9P{5nGHw<7JOj{o&Eye00v9H1U$P}dPrw=R9Hb+ zXN4j|0^f>rna6v*cv5&5F9e#$wZ$Go=hQjEy3@V_&oq$@=rsYaoc6Wp29~!TSC9F} z=w0Wy{tYJKfpyDEUPC@Q#e&T53q0#Lc>ES58gcIP-#&)FbU%(OUWV^RUp3@b1#P3X zX)6ogbb~0>*E|T@b)|9*IUZg>v0nQ3%q1_e@2{~rJDHV9k&xcp0wgNTSWM_*6 zAOFO$kH{Q(be1|b8>e=3K*dKlto|&bZ2W^E7R_JffNrfj#QI$g9c=S(nqR>W+TE>8 zHKoc=sVIt(U#?n2-lbGdM@fqxLfmTf=z?=*T|DsRq#vs+GwN+Jm@h!(5vArvk zUx*2EW}&(ak1D3FYeQXyM;6!zM=#Dk{Jt#ms3W_&goc``d573OkTe{*VZ~XuFb-Fi zoWj&5`hK{KHq}BY@BJ7Cn=-Ph8MUI!Qk6V=-*nX1$>1g9&?T|HxkjR({i_>377PjC zyXTbd7LvdIz5nl=ArrirynrF^hPwxX+>+|lyb;UCkU61>WzS#o{>#7U$^<}n^HTn* z%JUe0(OHQ)`flwxI^~K^rQ}LzN7~orudw^J?2nl7FDB*=*%~cynnr*f`#m(y2fU!e z8vO~xo|0*qBZRTIO4dg!&AcmyOq>wY7_5s8M7)wm%q2BnCHCs40>=5&|A1_Shj{#& z481A)yHMS9Mwd_>3IoRoE&_v%x;*WE1$dHkRe~-z zU)+s@lVCfq!Ts_aS)w$Ip|n8njZ5|O97#GlN0E@EZ$E(1_X&H8%*`1;U$x34q$K0L zd!R};0)v6ae0(brm~;Lw;ME~0S!IW=EU&im2lT$V?K0e4ek#h>hKSK%X~TX~eHN4I zv(-w(dGF>8UA@0>HS=xVlBR#>{6i7fzPu{;YG&bcbC?%m2K4|%b01VJVGrpm<}_dS z>%G7_TJ+c#FJd{Z@>2!*pxby;sVcx8N0rw|7`Ne>v1gIIvsQBCdFn1PP(BK|J1e&I zQ?42*vSA^h4Cf5gYhS382xp&M*>+| z-1hYgGhctnwoQ0ixg9K((4Em%&U;K$xH69XAUT!$en z%Gba6t>^QxRaNnTRyNUb`Wn2C-r2=G37B-HkOKalE02ezFjtRTy!=u4;)3eM1aTtm z2X|v%@7+EV zUlr--7o~P$I#BH2(D1yZ=Xv&i?eGqaKI7uIDPeGzth_VZXv?(2mad{@sZrVzC{M6q z((4X+@L+7`ViR^(e>S+{a4+R)s)S3RspT+*_mDrYz-&x$Vh|{&dqwHjT9TN9g68WR z?Q=|Ohx}22@zeDwDINq~ojHzc9^!h9W+-U}PBLQ~94<*0a&2g^9sa{uaM|9(=nM2a zfM~NM8dECtz#A^MX+V$#P378ndUX>TX(B&c?j-{fJbf3#OaQS@GYy1>Gm^dLj<_7) z#>eO~8iJtg4NB$hcS!xZaGqm4gf)ZcO_(>`6Gxnsz~7y7pZ<+Dqh0V^W)IjL9J+1) zHG%8FI!n~962ITN;K$}%E|7x_--~;hHf-PF=AW@F>U#k)kmGEfvNiLGwE%^93r`-m zq{n-@7Cgu2>E0fv6b2>=icS`cDlxxtKW(7%wLZDR%5-H;&62{`o ztR=v&Q{$E*%{Qi0YX#fI^1(6_`eO8^39}l@9TTkx0yl0r5E2#EpsU&k>k1@{3ZoRN zS6~4Owrt;Bwn)5zhP=WYZSOIZvy%#5ex_EvD8LPsfGL9?yV$_&WrdnUfi#IpN=={t z=N53lMp1p3FgR1SQhOk8Ij5Q5E+Y9IIpOe1v+csZb`hF$`bPYPtMuEM6dCaZWGUN& zLWo4mWWFTQ$)PeYMqGr1q#sXWHxdN%rO=qy0`c$F2^Bf`ix#ORY(`XCl0r(n7!ya6 z8$#PpLS97@Xw;tw=Jth1)tzVbGHZ&2x2MFry%SBliawBEz@QP!iNlln^FixeCA%MJ zcBj|{*t6TfU5^0%#%Y1e_z9d7l#!8(ex5nnYh~cMfR}|=5->0|*KE^R5?ZIv%{iQ@ z6haw~_|!x!z)!9fzh3~B(rvKjb0>*6zhL?k&VLlL;!>vny+#(Iy-rB+_~px=IikJT2jxrC1kBc%T#930wpn=^Kd^Iv{DalWq~!&-@&{ z`69)~9CYiN9l21&t(?d)skQ50I3)b5lF-dp2$?$qbT>SrB?50yul`c|b{pb1V>CK+ zfCA6VkiYxVdWU9cS+xn>^y$bEc!&G+UBG0&QvoH@RQ1{c&yy|2XT=L>J&z)rzGxJO z?E|I82&ZA4Dk?WSl*Mx{ru|H2hCS#S&AY=qrG5O z9_n>SZ4R-&^d+qZ{Z^i(jUy$1ClXxF+$1eb{>w1JZ~1YeEt=BwCRdM@OlxI;YL%j} z?!IrLqO>LUP#rejy>A$7c%a2C|E?u5zOLE+L$AAMsRL4j0?8 zZ@X0&cFOI>khz{8qs~VU{T6pl>bE^r5yfhARB6FU6~zJwa+{df;GAeCv>v|FZz9mJ zNlU?7cA*t4?a^0gE2Cpp6~8l9(tC#QZ)m9FfYkH62bJ^U@b)Apa8nS8UNIG-em_SXVSe@e>fCLW4KgjGdL*mD$?BRoLn3Tgg$P(c2{Za%ZSiWABD_;li#sTbr*bkDvG`XIJiop9EDg#d%s{ zt-+jZoYG44eMbkfQ@fn0mW_jSHf2&g+m*8mG??#Z2O*Wh za*O_%Y(D0u>FD8(s6-c@=R2Ahh?1x#w@Gw>onB7n*PDAGHGmwzY%++X@KB3O?~QU2 zv<54>Y}277oTwBL3icK);Slg4nhhJTC65bEkmTs$x@Ex2uuERpDAD5VHKRa7(l_z~ z=twL-Sc#BP3C62eh9{{#l>j5Y#=_zAVS>_j9)XQ?KEH(~Bl`qE#w0P40Y)0^0F0M1 z5E!0z;&kMzV>FaP>V-a0+N__P(?kc^MHw+&R`a+<+yNAzgg%KutB0o07%~;(L?@DU z$#F8N2#!TyZ@Ji8slXmq?nz|u1O1nP*~{?+gkmT4iX~!=FrU`}NNB#HyIj)cu>{6c z_^Q`I_LPq_ltglyA%Rhtj8|~ba5McZnwSU91?N=MGgVc6)rpX5uZo61ec_&l+lkC% zJ>N|=dq>4FsHi&tizlSA0Zbqx2m&8l#R(E7oVZ0C@LWTo-l_0dr&+{Hyv1qAYGU;G z)%fn&2++`7Rkma-8xAZ{Tp3B3YkH%9YiItk?wts85BPzsL4}Rz#Bg`vQuE6=O( zohK4fg4MK0eJs+B+#?3R1-qCFH1+r3tMpZyeCn{rsg^H?>jh%as*mZthK+{fh#A4& zR7V+hr39>GGjvx>Kn9G@r-hNLy^?g6BLt^d%~E-D^dmCBn$wG76p@;?nQmEeZI0dp z=G0E386JuDO2vnc^0xTFaG$_~{Q>BI=^NnOT4^5Bh%H53* z(>{iDGK=Cb;VQnf{ZSwNNmsVyWf&vclT5EF3u=NcL~__ZsbdQR;izPc6j3B>B_)=W z{puplmP@l1bOzER=wWntm_Z^3=agi}xLR_y<_O_uq_4O|_I+?t_GH!=<83MiY*l(gBiA@$Iw5uK_V zvcTjnl(Q(;NzSmOl->_RbV{hLq_~O6@R}KUw4w3J1)W> zR&hHpj9ht2#;Wmgd1+yWrK(ktuQ?fvQ!ibx?wTyUY_ZIiqW2pjkA;2W||Wj z4?IdUws5us_wE~hLoY->@ctnICPSC0wsxBQqIhxLGPs4RtO>V*5zBmBmEfMUKc65_ zHA;kMOkJ2__us`07t@Fu+_W$+3T-6B zm{E70PZ}<{qbZhHhe@@`X(1VFXDjao0}*%@(KrchI$RWXTXGd^FNddf6BcxRA1Q`7 zS2{qwQb|=db^6tu9Gr;Ft!*J^v77fj} z_=ESwG*YjL1cah`7o`b-6bp>CL1snCc96cmIUR%jbT)xj)ugT11?$>gfb-FD&~w^P z(ToGDM!EaD@@()>#ZXkpVwFWqbhS&%-2Ah?_1 zQIcMD%SFvleXOyBXV9Zbi<@9c4+|BI_<_IW(k5K04c&P<9H+ zMCd%t%A?GH1UO3()+yi|0pB$;Hk%bFh8kZ;eSpC>a=xjp;F&j0`N7wRnE+rg6(Ur% zs`V|A>=n%romkRq3}~!6Tz9S&7I_iZQW86IaZvCE1p9lUW-*a% zchdNDalxkl&BcOPS*7rKuea_SDXo(-5;F4K1I+#_fB7|GDKH!9I(9Mi+_$@5xt$)F~BG}r3R(2nBMy~%zQbe$kP z{3Z64rY_?p?~kDGtpeDG16){li#0rbf0ow35dG9=^Py1r##J}?uf9lLT#HYRP*a4V z)lE)*?^XwArXRoLHiN{H#cOI4nAl}IE^Efv-2mPg(!2eZOEJ{eyZ)}d9$YXKQFt3? z9v`b^YJcIe)skt5DyDcs-EH~p)j30Lv{YsMfux8_GH)FtcW6AP*Ip>O&Y@Th%_p|5 zzIIX%Z@PJ&85%gq@|Qo7*G-Rc;_69tYx1(o4G8^}U_7_ohbE?hEuxW!#R*{z=(=vT zdBt#vX!CdS&n$0hB#x zx+k+;r}CQzCFWg_J|-VGp0rL0)$E@f(JB7^>j&9#{b%*69DCLh#+>V#w0%I8oqoba z&t0V;-mUK2t=!KdXNwThS6x^K_~a9D%7_@|fz$ra-I|fZTP5+#V!!^K(`0<^IZ_sL z>tKZbSkdS14rz7jJp7SD9>WN|5PyzKX$TvK2fw7I$K~t_f08kbqvfR zQWLHjfzGr12Ize@@jVfs^Q!FaEX%#R6N19^;VTZ@_)@*+PDNeKjE_L@9IyR3?Gc$D0_I*_@ZX>b-*F_OuNj))LlPf ziCYM;0NwX&WHC8Q;4JGwL6b7~cTR_^CUzA6@tGY47_8wSJO z&%{uw12FQ(HJ<5e#+#+UABP{a-h@Dzph;&zwBOvhE&vGow|`IYTGnbyo#%IW-Oi+R z@-3vm%(Bq3D$TOZ_r*z8+gp+Ex{cz!lPb@LWPEI{=&{#pSxSCD&Lx`Zl{&*xcs|;N z&q&eTU()Y&R|kLXLFNQi6?EKJmk}9AK~c?5TTAZ$e*H({^%A1){l^zv4^jx~)BEwK;%@25yW^PxnoDPK*diQf3jy7KNb3Jj&EP+J z24`vp3i7({IGxb{24A05UIlqROm#Np5!OFRld^e#`|$qBkzJARbI54&M)_n@ew)L` zj{Dvx0KM<#nm?axpgx}k>9qQdC`}Mq{5ltI+U>m(K0EMP_f7oUglQ&zAV7$C`VH&K zFX#ZO!cAAlConq|r~-$OJL*JUY*3tvdkW@-Ku+I)!6H)tl(6xpF87Rm?37SaqebCU z)78}$W=J;+s1%FmvA4g$Sp|AQs(M~ov%Kl}G9T%2y^<~thqwd-w8c20+!Y|N04U#z z4-oD)X-B*Fo}i{f{!gWlML(q>e+eVY46%i8s1WlgX%jKxMX5?QoJ6X#RinFd2Sp+Z zjfUPy>5u8~>jxS+Tdo&?JhmW0#mhg!!aq2; z_!KxgJ4eY1jPXDuo#86D201ywMGsJkOmK=l#y7bNJPMj45GE=eHx)OF`#pR>>FI@- z9Fk!Y;c4u6CDR8F51_}@{-*c)FDhGpa&UvtDti4fR>1yzVu5}S<3xIm3z-mJL>UEH zIrpDG<@TrIl<2~Ue3QpOmEGMbRZc~WhM^CiEdg=vD_|uK=naf@bIh_ozq~+wudUvM-vd5dMF{F1))K_ zVR{|UeHq&4{zGm%-QIN9wN(TQivu2}{5uC2{R^^p)V^r=phoNW6-{(sn6Pyn5}46e)>oQloEk z$cm{WaY?J_hb){%TpzN?9%&%_K&Zw|W{q)CX%l-q1cD*eX1<&+UkN(BK74qI?c5Q^ z9S#s01pyIg{nP1tBr%5MXL_*^7I9NNPJ$kdB*XR32Gh~o_`Rg`O;rUWu~^>3kcdGp zMc{jfu5lEk4`9yPAIsZrvcsBofB+y}IKvyD0CT~ga^TP6RIzP0bE?!7cpUlrrEnTV zDaJ(F@({^I1R{!c3ZMTrQaJnM#U=`oX&Z$_#&{pX1n2YLj?Votvca}uB&`Nh+vfqs zPsNhHjx_Hzym|8Wr_$fk7advu&hh?-+AsQ_8GfdF|G$DI|8Iu7%j@EFEJ7>)SAzoN zuSz+rEp-0eX(zh(a4qhL=Tn_>&t13YN^<4kzmV?@4OikW?q`{D2a7i+Po&;SJW|#6 zzL;|Z`L3i}{^bX~k9#}Dhn#rf;XnLI7iMWQYhJ>3i5JUZGZt&Xqe!IWj8W#mQ_oq~ zYK5;7V`{Wl!s^oyo4L48*O0t{RURJRnHhgClKafP|CTg^ie(=Xv|D+o*#X0G+nxTG zGrzwt@7K%>@$Bz&f22NT9Z}KXf+Wj){<`P5J^IfT1P-Y;bg3s18 zf8yN91T(JTD&4nZlt;|bwm!aq={eLBTl3)%Dv!bIDIdtS@K;an5yJnS3rkEf1r=>k z;#)p~2ruQ}P(V;6Cq=BOSe1YJKlKr>Km;ft&>7_cWPusbNb5B{Jhtn}e*hmr0o1iieTJzwh|?UwEsW{5cj9SZ+p z=Nm{(r5a3c*5Wq`jLF?Xgl`w(Rfh`8xPoOjz9N0iVA-w-ArDzmjb<|;4ze4mhY_68 zt|pkR>;u#(XcclRB*QnW?mPb!3H2mYp#|5a(1a@B4CSDjzGqZIY$y3{ipeXqN}$Qy zXRj9cR$+T9g$f!kXApnUZgr!WWh!Ke_+I>XNeDRE(Y61~$}EOSwA;h`13i($pbtJX z#d_Tf?V%w@G%(bXpZ=Cq@8c!4ZJdLHk@eXlO59T89pw+Wo_U5ss)E({Wto+{b&;wA zGfTzJ?aP}X{0*49hzFsJE7BTRptBJDR9mY;H#q4dz%(h)XHkMdqC)_(84u;v7u6n| z%t3qLK`3C&#siNk=9J@TA$*#Ts{dZY0H6@nN^}ub`hR`{OGv$?nV1LNEOmqso%q^}Qv+!{+TB341A`Yy)0{i6*nU7d>66 z1Xj7-yH@R0>sLK*HVX_bt!x)AnGQ};wN%%=n0d z&T=5rosqo$>tXyi@y5CTp?SrVDybrUQ+w;*<^Mm&3sj8@*2r@nP%lETE^gHGMazQ5 zC4*Tp((QPHXwTcwQSb-M+rCXP$@%APT zgpOmQ0ZN>K{vcU?{h|@b1NzPaHQ|I5D_&W~%76zbj=b4-dalFEjir#3$PclnTKlzM z1rDmjgoHEQ3n=~JGc-}Ts;K*#)*Vg|?V;itUKKe7Xr0do-O1?CwAFVCSB3 zc5jDi-*7gg*#M65=hhVc8egM(nOkbpAFD^KygI`H3m1B}tl0}Bf65VQ^@%^hoz@Bv zi1-Fy13H+|w6a-UzqVq)VjC4IM?1?wskt-$@#yMUp-OZXm=sJuXsX8V?PCq-x7Lnm zJr=W0eC_t>qF*>MtYKT5vX+hnv`KP9{J`A#Tpw6j1pAOMBg`jupU*-J*q{RSbQ+*z z9J(^vpQEkT?h%z2C~sXmhTljlx|#Hz!AIu1c7NwU?K43ra6<3sZPw<*&&nt3Rz=?@ z`4(M#GzfJ!Cmaht#2W96_rzO;9a{&7%2pQkJ*B+8E=PqjY-;J3@IlcWxFG_7&v`Cl#8?Up8>{OJetz-?5~;(k+R{ITZ+*(0Db~ zBT7+_HpkBC3uHJg&y39C7d$}sNGG43!<72gO7 zVG`qzF((?h!6DMmm%L}F(`-%qB5AkxWZm_Y$*5p*_6s-V1&AFn>cZhJ zQ|mJJ{_zsC`sc9quyt8LPEpuvN`%a8-QqQ<;Mk*73e48+ph&SrV<)rdo01JMYV?8p zD#d7=V?a2eF8nF%L$D?EOenYT*_3zxg2_fWbFMMLMix|pf|!v(vj8FX($Q0u>F0M3 zyVdigs(2WA)CtW$C$B3=@|8eSKl_^+^9F~{SgvL1((JvZyJdM~1tT^%V*A>k(T@hJ z6KYkad<$Ut9@OdYvR=;5Ml+1^EZ1JW(hIBM4h4L0uCwsn?m-yUh3pkb9&_=%FoO`j zoGn(7kBxTDiYJ^~T%;&&<+zQg&o{o$&>^gSK5BfD>7%{mcnR|Uoo8i$w6%s7cF<(m zB196nKc=V`C@@VJLu;c5#sClH?0~8YgQ)H71eVz{k`%?q&M1S62QnIdfroCs2odo? z%X&l0sHZDWveV9(*75v<(4}cVfL_S#2Rq_~rJY{N_&(O<()-({XGDVM2C~O>fR%k0 zg?P&f1Bh2=qE22d=(|RSoz6?0JOIMkt$C|kHu(INO5T1+G@KbZpT<`%ACp#SpBq12 zGe1zDx)Uu~DV#2LwXcAkC>v}xdD^MI5BfY|lqbpLSbCS`RJ-$FCnS$YfuA?UpR=Sm zp)Qj96Ywb?(M8rS<(WoL0-M1)E$lsIRyu-5jY)`YbT*U@+!<3`qIu+=G8jQ&AD=SPo*N38Y1&=$*4c<89Wt9lfsh1V;wV-4$#k?aXZ@MC~F>j7~IYLEgt`mBq@Xq*i%zcY-ER7}a zL~phux=J zU08s7eE#zTp$9V|%kHyThG8uL!`ff!C_$rmI{0HniqYqndyPG}?5rxMSBIr9@7!iQ zwsb)$Fs}Q9eHs~Mx5o08D6jV0c_cfLkX1Zp(jBTf7J4AmS9h~O za$ZGtT}q^n<*Y~Yo$-Dw=A2d3xfV&@9o&Xwk-rTJVp12@vD41EFQ&NFm+97jV zw}o=sxTZ zm4D4h%lSVLS&X->;_} zTpYy(OBfk#e_-vfHOiA^*bozvz2-4cDYW0*$?$7v`ekjyY@3e=j;Ya=BRwnS_vYv= zZHkQ-n}cKzt*YW-ObCa>A~azZX)uQnPRdvKqSvuK_ON*#^nq|*%rVTv_)4 zc!Ak84V9MuC3fF4*_1O0`ZBVI#1JUMu_zMtxs6*Xh*YHB0qpl8 zFaoWe^BOU;gN6<_E3UXO;vFhiO2n?7<16@A@$oxAx|XJr?mghai;`k`j3z`Lp{Sl= zllU-(<##1^>M_oG5~4wfSBrw^`Ds@D_7XMue2`&HN_9aD(k7tbn5e2BAu^1w8ab$p zDyF&}J4@?mH;JHcM615_IY@hrn){Wt`6B59)E!*P+dZTAN8F&%@ha(jKvfhyC#=tk zfgHfNmqAxhr*4<#W0~t2A&nIVw*u-pA_^A_AiIVPp23LFsRuHNs$WoG^x|I=pW(+! zl`As8hdpZ=i$iqENyH{$<|TBxoMK$5Qo39^RM$!%N|jLP(wTJWa*>O=>2Og+%Wj5O zT)jy$kzBZ!aYiuv5Q3SH63fh7?01z6j7nEBkPg$lx?!ES_>Ka8CY$7xc0HKHs~c4O zLsgHNM{lz!=)U1a4~a=r;s!y-Kq1}F7@pw3g8z+$^@vWmQ#h zg+dA(rkI~*LI6L8RZ)CGm;nz5MiG!eN+4eo(o#}w3hyjwiDD#_WvpzLyvG{}j$=2D zVHCltXhu`gI9rH_8-!DdODJNcHbNP*9(H@i1vNucJ7tQ)hEX-ma{&l(P=@-~TK@p> z5mxSD~T%SJb;#Hn>%GcKjAL%&M7WtLTS#IikVR2!*HYvNa0_=AYP<0|NT zjX^0JEBTd_m{cW^b;3nc7>!1w#Tu7VhNE*A6ljTH;x$hMbc{-57Q06d;22Cwn3ph( zbq4#JZ=&4dVTgoC6~t=;**wJb!1s;0m4$a=tXP!`7{Y8~Y&Qb{fN6uGh9U>3SE!6d zsgX`eZ)w_N=X+6F*NhsK)@8voLAr*ee;q*o0P<&i3WyeK5!@MYW#(cBn4wW_4khAT zoIXA_EE%2K^a|UT~kyTb*%pY4&VM2F%HS$D00t#_Y z*;4|Nlhg%X`IMg^$|^_982mX&LGd)j@eN}#;#xLgix3s5PSS~3l^8OoEIKhN2zNk_xR)_JOY||UvM#BUT@AGoXl4{d#}gM# zG4FDm$|i|?9ZdB906&dN>ryuB0;za8jjHBBCJ>@skiZI5)LJEGS+eB;f*A=+MT3Q$ z#009BEIRynRfId24+s^+^py)j)4?jZfV5P&m`ap8 zmFUzerGXIJ(hqnTx{QRyVh+fxbp?$W0Gkt0i4nC4=oM7OmNlCdVT*$Yy?Kq-4?!|U zgh&<47gB?WuzCx?Fk%~2YS99v^chV+>H;x?7F?|EFEhIOP|*uA)GrI2vaVN&PjG?; z;JYQbz9z_pZgBwfFFKc1P+Q3^07FVk*Z%-48Db)88o{VR1G6acG1>@mEtd9|TVqaRBs!HNWTIs-OCj$q z%v4;w0tJM66qqZRwF#w&e&~U6oHiN&O|T=t->4S~S?U?uz&MzY2@3u| zf(w8~O-*oOi3AZs9lG-#mDl2UiEPmI7l{i6O-h00VkkiJvWQA}CA<^5#HM;Hm?N2f zS&o<_W?GWxyjZa@aPWs=Erc^IID~mK2*hR(GIJHB%y@Sx4R!>1lFEpYP`hGNRo#~z z>LC-Ll#5ZyQH5L>jw69J(mHOKE=f-0qnM9)*`YDyQ)i$Epln(n2HF9ptPQz4(Y8mOJPyTKIf zMGV2-ueJqIkNK=fX3l@9 zFDw(HUzi7JLKY#s!B-Fs=Md;y4-|qNr+TAjFH+z3PwFW{YJJ25Qo)Ju9wu3+4Z>37 zuedZscmRv+9*74hm2l}{F_&P=mdf$;_Kg)?i?7@S8=K*rAW4{rC_&WXYx$MaD^r58 z8MUh}t{``fI&ztGu(-yZE`8$*;DZQ&OXDy?39ZT;%#o`paMFu~*u=!l5vf+eGm73|31J$~2Iyri_y^$_q;}4O5L%yK^Qf!O)(QvOS0lh8(HoC}UZc zcB5K}iIwjfs^U18XS5G2GNt^?o1RIz0d6QT0X3O=K#4&ZO=P898B@_L+#RjW3Eq~b zMxvHcmrR`DJNqJ*bL4~Fl)**C%*=RLcTvO~MywW2`gv3x6&@HM^QK4vg<^9OQCXN} z#0NJNS#C23tCysyW?+;~dT$pH=2Ee_d4^yHnBiEQEDtvo{@HG+Jx=`sxTIQD)Hj(< z(*kQ|2NGNg+ujw0%7Fv4sO~*2%^>@YYoZuq37l1m$NV?<7i#hd_UEH9*!cuT?XW+| z-E!XOqm~Pm1iP08Er1mFh77*tA%bF8;-!6&_m(hnLmaY-xk4Ifi6g?}gtQsYSw}M- zW?o}x!n?~{7k+^!lpEX_1!fK~!FHZ_9!VThS6^;fkZJQ1c?d+iVx?RF4ay70nPY-P zrBW3MQle2}CS=?tn2|WSU?uWF?JY`@lOcvPSmY7AjRz4pvIKDE>OQo;iSrd2&NzdZ zPCNRY{$O|**PO(a;s!AR>Q5j=mv*tts?BQy?Vp{QLsSLu+(Q20nua`?V86N#$@%{P z*uDP%*zYJBMIZW=;Qs(nOh3kJe1kI|V2rc%*tvBhvR`mAxuywtVtN;-{-+P_W4*va zb6>MCwsB#I%*h<3O$W<3Ld?dJ))jamvDlSj*MSw^#wY5HOj{uwquxA&+m=9W%1-jA zkwP?f%%DVi3uHKp1V_YeD1y0BOlO$l51B=JkBA!n!^FiM#?f1uZSE+Y*>wTTPj~|= z^E}dwTw3m5zeS8sd0L6N?+SA~Is(fpFt~v#7&Q|C<`MVQL1T6>mRRwHs$VA^(K+9R~D zN2DREX1K(v#3JV#qsYcV2YT#96)5GXw~m`cd5YzYd5AfPMUh;;%uq!#=}VX^+|IWO zK!mPgjgX5|gu*#{TEtM)cb03ATNG3U9(pbs*UIifa<&d5DnkWqhF?6A;HWq~m=G+L zq8??M?+&NTh=7LSzEZB>?Gm|!SJ7V4vk=E=!!t z;k*HsOu;G-5LGY3!HG#hExj_CzZ$l1%o5S;*=p52$Vy5TnU@f-M;OEiC{+jpmW@`oaKJ}$VTL!G#5Qv8QvFcw zMOl_8x3o~I{7ehnGD9^CfUZL^PUYxuk>fOj4hG`(T9my+90+L$_xwxmE1jU^ z+COStwEWAL9^|3AN=tmC<^1Vplhc@}oz{aqos|rC!GkTuUXSh;dFB5AXcFXm$TEk9 z5(mzI@d~^S6a7kbFCf4*N6`@t*R)`pynYB}S;dbJHq2^Q?kN^_mP;j&2Lle)SooRk zEoCzwM?flN1@$Y!W!f|v8A03%%5Lybj8!-Km$6vkh?NhT#S~J@ddSpTyBwN5sBDFL~Gy%U~4hp@%%eN`)Vm#G&aVqOsMY48Q>uPpd?V z{SX`UfP)yeW9}gqBLxdl;Xg>Tc_ggAV$zT>-Xrlfrvqj9lu=n`8ht^TIx?@?2(b$U z{uzdHIw~GM{-V~agFBbc?#P*PwBK5U97sOqnrqzFo%{h*K1|Xu`ytfy-`I%zG&B2+ zr`{DlTg;(O37CPe2X%Z}m&|v-g4^P%e8g3ACFA|Y>=_*gwLDHRU@*PQ)TV}GY(s*( zkQycna~|>DUx5Lw$EidRc9*v21341y&CdZHB?++9L{_2$+G-pk6NGt1;xTT5&qpwE z6_^!J#xf=s3{KL_6A*=xt))yZ2Qk)->R?+#COg9+jHL;fbveg{M zpD~A2{E*DVSm5m#iwF!$D-&KIRCNdkV8qKrYO_ck3=7%RiKvN+JHbxkxv4?Wd*mzE zABk>(1!?su%KXNgQ8lMYobFX)xc>lDr+J`T0swoKKOyW6`6X^2!=VCiW`Ck>tFnw0 zYWV*EiDmr478vcydg8(YadB(&FNi6J2dago%cn1h0A0qfj84Qws~-~pNvb2{vDSK9 zYaeo`P1S$diNekPrGXiH7wRH%JF&puyo$pJy@j(P7>qRLB2!OMt$q-DVurcqI=v=k z!d*0!rG)JqpbrstcNu6YY`4s|W)}#vm>AogQAHumZtKOz8-i3Ajm9q%4k9~80;6cM z-q2q0W#%6erPMW;Fm6{{W0N_Hu~NzAC|c$iZZ-3p7O2IKL5A*F(<{=Imr$${-K)D1 zC9V5}J4{4>Qt+$9s0Jn?XsLoxQ5A@DDMHZ)m_u`RRG2_A*brjAA?Qu;HVPx>Qeasr zq@@8-maIy^jPfomlP;^j`0q0}dLXT4_QPzk-b45$;vL6tJt5?KLCf!hFesjcNKkx~ zDiPl>j;K3N+e<30uehuLR+d!kv6C?OXLQ2Z5n!UB#4l(h5nge!sZAAq#e$?N*K=`N zDcS()R3%)YnMqwrAa$uytumhQ=-LaS&{RuS3|vsV!toNw6m-TM#yaRFIg89u1iOqh zLknUdiE`k^7$(x{Zd?bZ0CNC%fNG|6N`kgS13%LcT8>Db(J3}Za2HUlkI8=yhSV!4WLTr1q?@o_S*j78JAiUnkv1Ca zL5(v774D&EmZ>n%q|uEUZXKc<0{;LrolvqWRNDgA^apbbjodv138-|ha-}_`b;PrG zEbk1k)WI>0UW`={aXG+^24!+7h!O@v-=Mby2&j380f+^m9113`#^Ey3>?*ok=6QuY zAOL1u)Cvf!GZLo@#LcImOBD8&5d{3@;FB`dmvh|p33B>5=xQ3wc#gp0XSAlZ9*XlQ zM+Ce;xT{+Ur@iV7EC!L5DnAKK9?_k1#u&Zl7ZS93mh6>rJabkcl@_FYE>U0q0FKhD z?7y*;A4mSK6ZSL}UvQ~^#uwbQA2j}v9@aQ*`)4M--|m$t=D)yBf8-@^W;TCwg%1n* zj^=u=>N#ln6Ew2@#Tde1k#A(huqR}>R?pVY#IvCm#3mt6Z;Jk)TI{?fiP{pbMmu?G zYmf-Mb`oyyw7PAc4WX*n6HH5qT6D8Kt~k)S+EKpc&@hOJsYI($LapHle4>SE$$ zj2=g$F@6t>Vi$4)?liyZdzs+x!9Zv}dI{P0dzL)SDVS1$7Dw(XO3&Xp2JDW+yW3j( zGeRwyZ322qc7_opHLey|ICl+`GdDe@bRtFoY$<~-VpPtP@n&o#w9x+mNLS20F6LYv zEQ)|kUw)Pn%reTBS+W>q;#{X`;4pkk@jRs{L~C(vJIp;xt{{Y65b-P~WFZ}5DhzfP zK4t#^;)+m5r|kq+g@58^=H1d0U!=F}LZWSKXZ@dz6#=f}&i?>xFayi`GkSwd`UKJ! zW(vQqU+z_O-kE(_ffkPssnF{fnA8Ql}R760s1j8~T+tz485+dN;c{0^xUC`X+Vpl&|Il=wPZG zGYjPHKeebpU5@?# z0W$`rJVF2=E^U%xK+_PT>ln#5aBxt@XCL$u8t*b>rp;eseh}RK+yr}1^h1R-7(I^sT;@tWEZmQKKwiWf}~{_y@c(QuK^m8S#wRLEU>_)Uw?{V<0CE z=;ql$^O%UlI|!MVln-+6iHt;+c$6!c_(3>`fTrLPr$H$GSY;wdb0ZcOhEJ9P_q1=~ zceAB&*-CQ(+8ydt4+YE{gy4i&70^f;g6%z_3+mrQsYVKOj}Wri<3VhrI{uQdUgI== z>k5JX5-jWWh`vY48L-}>dQUT9c}^kuK@8K(C6zhtE!q#X8nFcB6_ z4b2dkvNlJu1ES)wZ)n|0Lw9fj_4G|kN(qz#-3%Ok5Ihz(Q3^Q3VC2LaQQ4$`5A?qg zfcaecLNir1S8%uxvGfp~irp{8epVYtfVMdpoKtYX^I?9V`{&_%34VoVs(OO8B{N9Q zRT)N4xLvY7Ru$n60Q-n|`l-M}4*VjZfjmktL`=YL@PY7S4)b@pFAG>dk=YmnHjO}k zuoLtW00kBwu$9O`u+p%_Z#WO?V^rU$O#W!n#qN)zX<|Mt$w0ml(-XpBS43e`Xb#Ng z0ekZVBF4Y3?og?LV0wwg9xZ}7m=sPh6iSi!i8Yhh%o~dia7*`tQvU!av->!0lq7K{;%XJWcR6^&UAKWw+loIjLY)~>INbZev z&dKW8jRBijeZ$KmhBujhyTrI*UR(%WZ&tg|%(2Gd~BYu}GDg@M4k(Tpk+ZofolB3Bf$-kR1tR_>MVFsM6%|YWy-!Xn1b#K z!6>FT_bBgXTWSeIsIazO=3%@afe@mo#XI^PH3Quh$rEB)eBc^xXd10|memvzzJw=e zkrjBKd0CyK?&cVVVdS3BG*Ph~#Q0nfu;3^2JVskeW>L-$=#IlQ+YOGvMZU?QYs-JB zg@k!7e8X83qS)?;6mDh3?1H+f?9;Taxd*wr1 zI3_E|sNCZbl?~cns}4z+BINNBtF@$e(@K$#)0HKWTvWKCpQr+M;Wt@c32tWymtV_> z`aAg7Gv^#fr&+Yo$pOBmks6LxsSe6f3# z_b_|NKcW=JZO`UqyUyd(7$9+oA!&L!jA=7)Gt8^)1JWMQ=R8BPdt*-iQ8vE}{a7ZI zec~H<{FpsI%Qqw0G52<$OkL5X1beE?4F|N}m0hq$GshA+pSZ(`o-t5Bsf;O@3tke0 zWDg(N5fz^rCoelG5UuZj?;0X_!89K^uy3kjqv^7um9#j2QT2b?nD>0jT+g)r{>-yJ zkt;&=iF584b`DQW91zj{X1`1S0A*?9l!~_B zXs;_U^A-)?aD_QTCo%ESIb(_pmrzjFZFq_RqW-0QsiPzZ6wHB5AW&51a}|#9@)uT) zIi?@_&h0>8eppL^;vzi2xI&!dr5}lGLR$kBVx=rx)2Z}hOq?U!m+wL1FA?zv8wsdO zyd8Hmpa%w^P|HNIIQksQ(r~dJhK_}6FK(5(e)9PWOr2qy;E=oOS*x;Z)-x)74dSN zQRau~3m!4}1RPo&!}DfYKJEK6Ck1MU)Iijp3kLMn*!p=@f&#MTuJKxm4?-&tCJC@< zlwuJOHbhNM7)vHSH)DX+1`{qO+0u`dU zr|uO1WmU0p-1mjVVIh785iS%F(r9-?CREZI{{UsFflAlXJ~&8{z-F=r-=ZkPHC4eI z+ngv=aUrl9aT+!Q@eGvya1i_f7{I<_t5>LzLFJf^c-QVV(JPYY#sDE@o&vJ5e4>P4 zS-1XjfurFMs1El>e=`B_iS&i`z#=re(xrsKs*KqT)|Wd0%2fs(q1pn5E1PaA8Wfre zm4EM^jg`>Q77x1nV#^`oE!w_`%YB-fYWr?AWe(2%=CGb&NCfjgsiE(fum^U-77o(W z`jm=gR?wirYPo4tb|dtgIQB)|KX?dd9%b4-;QC9!9h1@0VCOH~4vY^%P~u@&i%gGW zGP~>_*KO_Q#^329?)o26S zhf>H>mR(Djp*Of-{+TB31HIU6Ol~`=8pzRlDa5z!%8?6Pj*G`HFsciQ{J zD0b#y3i3+@RL5zFh^`k`?Umm?7XwT;-f zD=TQMl#Pse2(aX;DZD1ML?vuAk8DOr+ZjzB0G6B3hIQ`a!*9g5dS9YLWgimVho~3# zkUh{n7y*J&+n`>HWi5|NROs*$ku%III34+(ICg?RCF?LhJR|)gqPOsxh+njYnNPQ+ ze-Z&H#A2m%6d24`xRr>u0Udu(P%%sUfB>wl zIVEv><{>=$m4k}#!8Mp_C!%fz zl&v2IardlG$z*L4(z;djRH;z)(!5HQ(1{nJjpY1FEFR!R&Sk+&ORx*&j)(>pIUwwE z7)w+g!e3Nqg`gHyr-(E%Y~=h;f;vJ);%z*|(DOg{nLs$S3&!VUKejlH{{SvvVu1={ z+CR!M!8_^^K7D`GXsA`^{DU+|3@L|``+z5JpZhrC`+x3Vw)mTex(Z$~F+o2QYM~(Y zQ*WHk4khkSsZq4}{{RxspU3$fh<9WBpL&jq1c6lfjHSW!f))vUl9s-_HIL&C4d_iH z>dN+hGdIgp7_d7KBEbDcd8{z5`X<|ZL70cc6L0YbD85)e08AxrTbY__9$0ZdP(|g4 zH7YL+Kq=1d<>7I`sdi(_Hy=AFY|1;vme?`cMv13CjHP8+Nq`ZlKe31=>u4`hhXfEp zu;fB9d{Ddg1Cmw3h7E(03}1c_hMAv76AkBI@pZu+UE{QVQrE4=32*SOl`wQVRHV9X@hfc~6JhNc8i2kb}EgsQV1qS{BC@#+IHOg&_r-SIP<*o*6~7C^>w_tDuVHej%DO z+|O|3e**xkfYp@jk5LTE-Y-l%4`yRWba^Y!lp2(de43@_NXYWW`=a@PCbO}@nM`|32>8M*M47GNfPgo|-4uz7uI#id z@kJk)x#cD%F&F(R75%T9iX9Imxwxh#U2+bfe3#;EBJ#xIB?MmM0RVfHUMY7ALh=B| zaPdYSL*QEm8ZWs5X~tAm^#7{6H-_6cbjy24YiHBLOZ$c;v_==nm z^2;|*f*TFJ);EjtkM)UGQK5_5FP9Z#B<065?K@NJsy2gF^9IsD@;yzAy~A4594q=q z0XwqBAoD929wy2B!Sa4tLHJU+i3QqQVV24dnL`2UG%a8Qo4w2$hB~OlFVO_%`XXwn z?vYNz!3(e<H=mz3`44pC0B9?0w(r; zVIk}c%Xw~@e{!_5uCJ1CBVG`TZdaLz61I7o0J|WW7WM)$ajRga{=925gPBJ|%G#+A7INBLKymm$qIr@stIZvjd@C zSkhSb1X+T1or(Oy*xTwTZhS$wJj9H?q4s0k(S&ea)H2=TUN;K`5qwTkO{73=dX6hS zvs9j;QE!rP)ii-PMfxHS%AfHVozH>~lkJB9oVbpUz?Wljkn+kOK>(kX191qMi@qbN z(c>QD$M7fgv<BgikgVK|Yj! zWpWjna^R8fOI)sCa)?wwQG4$Q7%j7pWGyY=F`rtLrLcHw5`??FOD^oV`XWjv=KG3X zoUv0^WU>Tj+{LKjv|;tP!hAzWjDoY+hL8hYB_t0vYX&EgoRJ2>P%{Fc?GM|a;UI24 zh#92C;tT8&$3H~1(Jjaxpl}l!Opq5#N2nCt#Oxu6&&1z&Jk&tjJM|lHCzb%LS4Z*< zeae}?h-&gq@J>PMWe>zdK8aWwqosdvM;Po7qx4W+i|$h4FXiY!7=JTA{?XcJq$XE+ zWnb!5*pzqrl-vA89e(9GWbrRcA2WtNSn|npd*d^ceL=zl-r&F23~E);*RxOQDBDQ< zLrm9*az8N{AWP^=0NtN6P4r8u%oZ&eJp_9n%;lr=02+sa4)DCxFkQZGB`i+tBBIYS zl_9`J25Yq3y^XIcDJuAtm$Sh$iryoKS%(y!YIBj|8nuE>&^aK7FnA%bNLgi`rEw>i zj@&?uaV`W3sC>^&J|-mv?%VDnfo_O8KAmF8uQuWMm=;N#?`+R(x}w%twjVGsFKAo= zJd4aHh=vR9ZW73o&7gtSos4FLQImVR5o*|?8@i9d}GHPHI zu!BIib^+Rb66o&*?I~7exo!dCVdvDf{{T@>HR^k;0isl^46_6w7=beqVy6fYqSPYh ztPSLRN+qw#1-id%?+ETEu?^MbA;2Et2R)47u3XWNan}>d^d+FL%Q#euvw9#YO7g`X z5x$4v7B2R~fd^!-5PaG8z-x3dN_v9pQ;<;2;BM z$q-=nF*_&;ZND+FsqDbo4~XkRm{B=9Ov#}$=J?cD8hC=7fx!hGd4ew9P*rmTQo+mz zX;U7PjI6=s@dVKMl|uxzo$(dv^)w<+F%?Bj8=~bTgz$)DzG5Yz=LC=a3o%7h1;bLD zcq^tqbSn<=P`4g@5L4zaarC#3Kh&CXNJ9sBL`HNPe-hLt6 z9$BFXn}Q9k_LeE3O-Gh?$>Q_v{hQwcw#IY;f4dVB?Y^V(cE5r-9^k7ZVa+u%D zOt5%`1+A4z3Ya{_FaYrZ&V9{c_M%e#5YHF9!wUnvs=4zHPuxo?6G-2wb`37gdG7>Y zIV}v6qG0=p`p^%e45vi}PxfYavB4IyeGuaQ_z%nl_G9iMd;Y`yLT>*632@Z&0|Y1? zIc&fb1Hlc`6No3Mc}$v<%j*N9aR?c82gIY9LO@EVb6m}(unu9ZWx=6AJ0z*NXJ%GV z)X^=76#7j7K-iQ*+MLaV6kKm;9@Quq%=yYt0i4F*G&Wy>^B6P|)l~Vp$n^_zw$=-_R_tJ1{^uHe5pQ_TCb(R$Q5I&2LH^@o0^!)Pb)0eSoC?6@E_Y0@!BNo` zq#TNh7X=`pp%#=rSog09%p{=7{l^^o5m{N~h+BFfCP}mcv9CY`(Tr_0FCs0%lBQ|WAzXfyA}}9VDhk#8sZIBp5SIdF@_HF zRwL?HSU(UC3A9#!VahVm;E1R}*xJjLj4Becl9Pfqz@xnQh2sk8L$+h7R|_cOs(6F| zEoRv+ZJ_ywayP`wM9Brhhl%ZkWrv>@7hVrIkh6tq{l#%lpA%d`~L ze8SSq2+&k6lLIt}3@g0uq3RE7zj1dJUzp~8Otp5tpw`bML$&cZ56m0>r8x}EsvyVc zjb^R$1lB~T!Q5rrP*yW38N_xs41f%&u@jlpa4ga7aWHk2(LjxebP!%JX9e*&3|B|8J2do1XS{|eH|`iI5o8bI5g4yEiM+pJ6%?`F1Y{7;BiNPx ziD!7qSp7_*V12UH8t_D@x3q5O9tp|Un5zE(7czx>zyL(?05Jo2A{@#B*pC^7R|j!C z#t2nH!wh0HZO(I7+E}X|rHA&+t1dRdex);Cn6$w4Iax;7!`+qLdW5zDHZs&n-UlUA zy_NZZkJ&GIdqo8v+Ob{(Ph1P}hDliXI2QgvG4hh0I^%11|j4io_ zZ(4$F!RAt=qAlq?1ikl(N$)~Mag~7qZTW-22rCc)mM%AP-IxO8SSe|Vt`l{{aw5O{ zmTu#2IG8}gip(r)aLZ6K6T}uf#M5L0J7SC(ViURq5JeK`fM6L%nPn|Z+Rgw_zTm>8 z%NnR2Af{Vi5YYK1lsyvF{G{%`a*n>DupsWsCK*cM>I}TEEba);mP%+#0h!_$s1EEH z)9PB}erGB^2qsE-S#JJ`o{8=N+PEizSe6H991OGl?9F(5zQV{^wp(C*L4M^B*XWkj6$2Lmh|*mVfKNU_mcHYH zse9ZaAB?T-gRc(j3ZR+s3I_46>K{9qD96Otc&wQq#$tp}4MUN+Tnx%$0Gtz4+yeyD z4dhq3kasbwBHIfvtuYL-Bid1>NQF*iP)1wj94%joqTt;8N(vY}&sW5%bBC6DDb9rL z0m6MIZXga&T&rHCJ=!z?E0QmNqBZ=ZC^)Hrx?)g!m~*^DHuy^$e#~m89}<8%^057n zh?7V=unyl7ov%2Smb(m)D#tN&zaHRfuke-&p%uWkI^lBI0~pF+?GPJ-*qxu; z9m6cUCxUR(+z$u=S+-=MET@&_o0|BF4BxXJ#Fn>9_?FS5;hGJ>oB1$(9+=l~;S6V5 z^nsnQq`SmWTM~anaWHpcv{YU}QF*)oltMhSuzDpv7u;)rLoM~dw`<&D)7m7|2WhfD z5{8hXz(Tc>7nXAb=dUa_6Nc45 zUKQ#WLfHYE#4u)3JOrf0MONPskTiRVhRBL4Mc5&;GJzCa{$^{6{{T=x)k4@MB{WOG zTzFA49pzXbsFQ;laFpbhFgp+f4?oiaEkFu)N|keenT!yD+Z1zRGzDT_a?6=!dQXXw zltnKq%`&Ys$L*H?06|g6!li};F9FN}diEj!szyR0 zhuomT^h6s2+)C%t3;PVSL<`EGlV`a`qI=8gCosP(8qoAiSy3Ac_X!qH1Tk8EARhk! zFx6jDw!$U1>L}JeSR(M0uBE}DHxQuisGwV)xCk#4j)? z%MpXQwGdkpsi;w?Xu%r|nNJDA25zwlvcweDCJ;;=qC4UtEodVRt_I*s92Ee;YYWDx zhjwCG7vg3W`9vw2ORYViU7u@!O9)f87S=BD?*15EPvr%6N;wa4P;coRu%DYO%{~%= zRQMnRK|4p~6{S)fmJA3}P~j-{U>OO6`@}n}8mLYa@F3Lw<@?hKztI$FVB1lVZSwGXyoqYcC9RKWIwHPds~B{wy+9m& z!Qn@FmX+}YAZ6zVh=pNv+&0vNI1C!7zeMe7A7$+t!*?#}4=kYn0Ms+4{6OL!^Afy# z7=;G!+i+|pnh8u5JuzV0^B+INu#`~;WvdBW;KW0-&C08B7K{;?x69%uFhvd?peX_F zH_AI0g-Q#bDU)%RiAG65UE`qAP`b<)oHDsEJ`4krRkw)Px`Klj0@mUw;qDxijd^NU z453c(V^@fW6KOHnY9MmOfM1BEAUIJ4f7DLICD^;-W~Ya3_RBvw%%kvz$R~CWrjF4- zElf?m;|e|~Jiln;LiR9CrF;_9DEBN(Nokh-Grm2uS*X(#5O}vS*4Ky!Dt_P@3i8wk zZ`7+l)G$@Pq3n5>Y9kdT1P3d>ad89aiygw> zma}!>fL2aQ!PtD02L9}OzA7kGo(Y04vo25(;J4x`tq=^9>_IopU{@QDEKtSCmq4nE zPU5yKN?M^P7&Sxkz8`b2Gumg9Y|Mf1@iTLG^y zvzq!M_utHQ8!3RRy2R~&5GDiL6}rnCNc}evq7fHu%Q9jWP0dp2-GxpeX0n?DGnhrl zkO6U8a;S!-a0>@~`-X!lNtPq3tMdbrz90+{wXblaj4{Syo)3wdk#P3Hh6Lw_%s3Ok zhGlvqWjp3_x+Z)5qSpcOD--O_;*SIhW9|uHe8)k22~HGC6=yca{$g_*g=|s?_h1^Q zxQ(F_GAnAMd#M_@kK9exC-Bg`weJ|Y$i?gfQHeyG8wPq@sV z!~x7E>OtiAn@~KnVL~Wy5~7LqHOtDtC(tJ=3n4(^;uKeKet(H!Q7=d2q6JY0&PSLl zNcWkUZ>dZlg3FkYak48~JZ4fJ_DVZY6ALY>6PZ}G#bSJT&=-j62+c&`GI4&fs90`DnN%Z3#y7>our|}#ASvJMCAs^ ztN_ap3LuR^0McE62s}iqcz|;z;2_0S0wvnDo1((VTy`K(R^}uRyu-dsIz~Z*)Fir! zs-Z0N2UNGrp$gY)l&+t+003fStovfDG3o$EcisSKBRPy!Uoccw{l`YE;yGF%s)8RP z2vtvr6uHD*VFG9msF_#<4O|!-FEPphJweYgAT;p}Q)`Z5P%3(ZWUtJoP@Go-8C+uo z7HyQS-ry)GiV&2-rq!8Jpdl|6M+Ra6TDZU*+@>M-7HaVo0XN<_AtK@ura;66 IY#@aH+4YBrMgRZ+ literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..5a9dee7 --- /dev/null +++ b/index.html @@ -0,0 +1,5196 @@ +

    image-to-bitsy

    convert any image to a bitsy room

    game data

    image

    palette

    preview

    output



    \ No newline at end of file diff --git a/index.pug b/index.pug new file mode 100644 index 0000000..50b8e1d --- /dev/null +++ b/index.pug @@ -0,0 +1,83 @@ +doctype html +html + head + // lodash + script(src="lodash.min.js") + + // jquery + script(src="jquery.min.js") + + // croppie + link(rel="stylesheet" href="croppie.css") + script(src="croppie.js") + + link(rel="stylesheet" type="text/css" href="style.css") + script(src="script.js") + body + h1 image-to-bitsy + p convert any image to a bitsy room + + #game-data.section + h2 game data + + textarea#bitsy-data(placeholder="Bitsy data or html") + include bitsy-default.txt + + #image.section + h2 image + + input#imageUpload(type="file" accepts="image/*") + + #croppie + + #palette.section + h2 palette + + form#palettes + table + tbody + tr.palette + td + input(type="radio" name="palette" checked) + td + label Palette 0 + td + input(type="color" name="background" value="#3e2b20") + td + input(type="color" name="tile" value="#d07038") + td + input(type="color" name="sprite" value="#e55c44") + + #crop.section + h2 preview + + canvas#preview(width=128, height=128) + + input#brightness(type="range" min=-255 max=255 value=0) + + label(for="brightness") brightness + + //- to do + input#dithering(type="checkbox") + label(for="dithering") dithering + + //- to do + input#smoothing(type="checkbox") + label(for="smoothing") smoothing + + #output.section + h2 output + + canvas#output(width=128, height=128) + + input#roomName(placeholder="room name") + + //-input(type="slider") + + br + + //-label favour broad strokes | favour details + + br + + //-button Download \ No newline at end of file diff --git a/jquery.min.js b/jquery.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="
    ",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" +``` + +## CDN +cdnjs.com provides croppie via cdn https://cdnjs.com/libraries/croppie +``` +https://cdnjs.cloudflare.com/ajax/libs/croppie/{version}/croppie.min.css +https://cdnjs.cloudflare.com/ajax/libs/croppie/{version}/croppie.min.js +``` + + +## Documentation +[Documentation](http://foliotek.github.io/Croppie#documentation) + +## Related Libraries +* https://github.com/wem/croppie-dart +* https://github.com/allenRoyston/ngCroppie +* https://github.com/lpsBetty/angular-croppie + + +## Contributing +#### Static Server +`live-server` + +#### Minifying +`uglifyjs croppie.js -c -m -r '$,require,exports' -o croppie.min.js` + +#### Releasing a new version +1. Bump version in croppie.js +2. Minify/Uglify +3. Commit +4. npm version [new version] +5. `git push && git push --tags` +6. `npm publish` +7. Draft a new release with new tag on https://github.com/Foliotek/Croppie/releases +8. Deploy to gh-pages `npm run deploy` diff --git a/node_modules/croppie/croppie.css b/node_modules/croppie/croppie.css new file mode 100644 index 0000000..0af2e2c --- /dev/null +++ b/node_modules/croppie/croppie.css @@ -0,0 +1,250 @@ +.croppie-container { + width: 100%; + height: 100%; +} + +.croppie-container .cr-image { + z-index: -1; + position: absolute; + top: 0; + left: 0; + transform-origin: 0 0; + max-height: none; + max-width: none; +} + +.croppie-container .cr-boundary { + position: relative; + overflow: hidden; + margin: 0 auto; + z-index: 1; + width: 100%; + height: 100%; +} + +.croppie-container .cr-viewport, +.croppie-container .cr-resizer { + position: absolute; + border: 2px solid #fff; + margin: auto; + top: 0; + bottom: 0; + right: 0; + left: 0; + box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.5); + z-index: 0; +} + +.croppie-container .cr-resizer { + z-index: 2; + box-shadow: none; + pointer-events: none; +} + +.croppie-container .cr-resizer-vertical, +.croppie-container .cr-resizer-horisontal { + position: absolute; + pointer-events: all; +} + +.croppie-container .cr-resizer-vertical::after, +.croppie-container .cr-resizer-horisontal::after { + display: block; + position: absolute; + box-sizing: border-box; + border: 1px solid black; + background: #fff; + width: 10px; + height: 10px; + content: ''; +} + +.croppie-container .cr-resizer-vertical { + bottom: -5px; + cursor: row-resize; + width: 100%; + height: 10px; +} + +.croppie-container .cr-resizer-vertical::after { + left: 50%; + margin-left: -5px; +} + +.croppie-container .cr-resizer-horisontal { + right: -5px; + cursor: col-resize; + width: 10px; + height: 100%; +} + +.croppie-container .cr-resizer-horisontal::after { + top: 50%; + margin-top: -5px; +} + +.croppie-container .cr-original-image { + display: none; +} + +.croppie-container .cr-vp-circle { + border-radius: 50%; +} + +.croppie-container .cr-overlay { + z-index: 1; + position: absolute; + cursor: move; + touch-action: none; +} + +.croppie-container .cr-slider-wrap { + width: 75%; + margin: 15px auto; + text-align: center; +} + +.croppie-result { + position: relative; + overflow: hidden; +} + +.croppie-result img { + position: absolute; +} + +.croppie-container .cr-image, +.croppie-container .cr-overlay, +.croppie-container .cr-viewport { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); +} + +/*************************************/ +/***** STYLING RANGE INPUT ***********/ +/*************************************/ +/*http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html */ +/*************************************/ + +.cr-slider { + -webkit-appearance: none; +/*removes default webkit styles*/ + /*border: 1px solid white; *//*fix for FF unable to apply focus style bug */ + width: 300px; +/*required for proper track sizing in FF*/ + max-width: 100%; + padding-top: 8px; + padding-bottom: 8px; + background-color: transparent; +} + +.cr-slider::-webkit-slider-runnable-track { + width: 100%; + height: 3px; + background: rgba(0, 0, 0, 0.5); + border: 0; + border-radius: 3px; +} + +.cr-slider::-webkit-slider-thumb { + -webkit-appearance: none; + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top: -6px; +} + +.cr-slider:focus { + outline: none; +} +/* +.cr-slider:focus::-webkit-slider-runnable-track { +background: #ccc; +} +*/ + +.cr-slider::-moz-range-track { + width: 100%; + height: 3px; + background: rgba(0, 0, 0, 0.5); + border: 0; + border-radius: 3px; +} + +.cr-slider::-moz-range-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top: -6px; +} + +/*hide the outline behind the border*/ +.cr-slider:-moz-focusring { + outline: 1px solid white; + outline-offset: -1px; +} + +.cr-slider::-ms-track { + width: 100%; + height: 5px; + background: transparent; +/*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */ + border-color: transparent;/*leave room for the larger thumb to overflow with a transparent border */ + border-width: 6px 0; + color: transparent;/*remove default tick marks*/ +} +.cr-slider::-ms-fill-lower { + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; +} +.cr-slider::-ms-fill-upper { + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; +} +.cr-slider::-ms-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #ddd; + margin-top:1px; +} +.cr-slider:focus::-ms-fill-lower { + background: rgba(0, 0, 0, 0.5); +} +.cr-slider:focus::-ms-fill-upper { + background: rgba(0, 0, 0, 0.5); +} +/*******************************************/ + +/***********************************/ +/* Rotation Tools */ +/***********************************/ +.cr-rotate-controls { + position: absolute; + bottom: 5px; + left: 5px; + z-index: 1; +} +.cr-rotate-controls button { + border: 0; + background: none; +} +.cr-rotate-controls i:before { + display: inline-block; + font-style: normal; + font-weight: 900; + font-size: 22px; +} +.cr-rotate-l i:before { + content: '↺'; +} +.cr-rotate-r i:before { + content: '↻'; +} diff --git a/node_modules/croppie/croppie.js b/node_modules/croppie/croppie.js new file mode 100644 index 0000000..3e0223e --- /dev/null +++ b/node_modules/croppie/croppie.js @@ -0,0 +1,1588 @@ +/************************* + * Croppie + * Copyright 2017 + * Foliotek + * Version: 2.5.1 + *************************/ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['exports'], factory); + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { + // CommonJS + factory(exports); + } else { + // Browser globals + factory((root.commonJsStrict = {})); + } +}(this, function (exports) { + + /* Polyfills */ + if (typeof Promise !== 'function') { + /*! promise-polyfill 3.1.0 */ + !function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void k(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var c=a.then;if("function"==typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j=setTimeout,k="function"==typeof setImmediate&&setImmediate||function(a){j(a,1)},l=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};c.prototype["catch"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&l(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;fd;d++)a[d].then(b,c)})},c._setImmediateFn=function(a){k=a},"undefined"!=typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this); + } + + if ( typeof window.CustomEvent !== "function" ) { + (function(){ + function CustomEvent ( event, params ) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent( 'CustomEvent' ); + evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); + return evt; + } + CustomEvent.prototype = window.Event.prototype; + window.CustomEvent = CustomEvent; + }()); + } + + if (!HTMLCanvasElement.prototype.toBlob) { + Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', { + value: function (callback, type, quality) { + var binStr = atob( this.toDataURL(type, quality).split(',')[1] ), + len = binStr.length, + arr = new Uint8Array(len); + + for (var i=0; i= 5) { + var x= w; + w = h; + h = x; + } + return { width: w, height: h }; + } + + /* CSS Transform Prototype */ + var TRANSLATE_OPTS = { + 'translate3d': { + suffix: ', 0px' + }, + 'translate': { + suffix: '' + } + }; + var Transform = function (x, y, scale) { + this.x = parseFloat(x); + this.y = parseFloat(y); + this.scale = parseFloat(scale); + }; + + Transform.parse = function (v) { + if (v.style) { + return Transform.parse(v.style[CSS_TRANSFORM]); + } + else if (v.indexOf('matrix') > -1 || v.indexOf('none') > -1) { + return Transform.fromMatrix(v); + } + else { + return Transform.fromString(v); + } + }; + + Transform.fromMatrix = function (v) { + var vals = v.substring(7).split(','); + if (!vals.length || v === 'none') { + vals = [1, 0, 0, 1, 0, 0]; + } + + return new Transform(num(vals[4]), num(vals[5]), parseFloat(vals[0])); + }; + + Transform.fromString = function (v) { + var values = v.split(') '), + translate = values[0].substring(Croppie.globals.translate.length + 1).split(','), + scale = values.length > 1 ? values[1].substring(6) : 1, + x = translate.length > 1 ? translate[0] : 0, + y = translate.length > 1 ? translate[1] : 0; + + return new Transform(x, y, scale); + }; + + Transform.prototype.toString = function () { + var suffix = TRANSLATE_OPTS[Croppie.globals.translate].suffix || ''; + return Croppie.globals.translate + '(' + this.x + 'px, ' + this.y + 'px' + suffix + ') scale(' + this.scale + ')'; + }; + + var TransformOrigin = function (el) { + if (!el || !el.style[CSS_TRANS_ORG]) { + this.x = 0; + this.y = 0; + return; + } + var css = el.style[CSS_TRANS_ORG].split(' '); + this.x = parseFloat(css[0]); + this.y = parseFloat(css[1]); + }; + + TransformOrigin.prototype.toString = function () { + return this.x + 'px ' + this.y + 'px'; + }; + + function getExifOrientation (img) { + return img.exifdata.Orientation; + } + + function drawCanvas(canvas, img, orientation) { + var width = img.width, + height = img.height, + ctx = canvas.getContext('2d'); + + canvas.width = img.width; + canvas.height = img.height; + + ctx.save(); + switch (orientation) { + case 2: + ctx.translate(width, 0); + ctx.scale(-1, 1); + break; + + case 3: + ctx.translate(width, height); + ctx.rotate(180*Math.PI/180); + break; + + case 4: + ctx.translate(0, height); + ctx.scale(1, -1); + break; + + case 5: + canvas.width = height; + canvas.height = width; + ctx.rotate(90*Math.PI/180); + ctx.scale(1, -1); + break; + + case 6: + canvas.width = height; + canvas.height = width; + ctx.rotate(90*Math.PI/180); + ctx.translate(0, -height); + break; + + case 7: + canvas.width = height; + canvas.height = width; + ctx.rotate(-90*Math.PI/180); + ctx.translate(-width, height); + ctx.scale(1, -1); + break; + + case 8: + canvas.width = height; + canvas.height = width; + ctx.translate(0, width); + ctx.rotate(-90*Math.PI/180); + break; + } + ctx.drawImage(img, 0,0, width, height); + ctx.restore(); + } + + /* Private Methods */ + function _create() { + var self = this, + contClass = 'croppie-container', + customViewportClass = self.options.viewport.type ? 'cr-vp-' + self.options.viewport.type : null, + boundary, img, viewport, overlay, bw, bh; + + self.options.useCanvas = self.options.enableOrientation || _hasExif.call(self); + // Properties on class + self.data = {}; + self.elements = {}; + + boundary = self.elements.boundary = document.createElement('div'); + viewport = self.elements.viewport = document.createElement('div'); + img = self.elements.img = document.createElement('img'); + overlay = self.elements.overlay = document.createElement('div'); + + if (self.options.useCanvas) { + self.elements.canvas = document.createElement('canvas'); + self.elements.preview = self.elements.canvas; + } + else { + self.elements.preview = self.elements.img; + } + + addClass(boundary, 'cr-boundary'); + boundary.setAttribute('aria-dropeffect', 'none'); + bw = self.options.boundary.width; + bh = self.options.boundary.height; + css(boundary, { + width: (bw + (isNaN(bw) ? '' : 'px')), + height: (bh + (isNaN(bh) ? '' : 'px')) + }); + + addClass(viewport, 'cr-viewport'); + if (customViewportClass) { + addClass(viewport, customViewportClass); + } + css(viewport, { + width: self.options.viewport.width + 'px', + height: self.options.viewport.height + 'px' + }); + viewport.setAttribute('tabindex', 0); + + addClass(self.elements.preview, 'cr-image'); + setAttributes(self.elements.preview, { 'alt': 'preview', 'aria-grabbed': 'false' }); + addClass(overlay, 'cr-overlay'); + + self.element.appendChild(boundary); + boundary.appendChild(self.elements.preview); + boundary.appendChild(viewport); + boundary.appendChild(overlay); + + addClass(self.element, contClass); + if (self.options.customClass) { + addClass(self.element, self.options.customClass); + } + + _initDraggable.call(this); + + if (self.options.enableZoom) { + _initializeZoom.call(self); + } + + // if (self.options.enableOrientation) { + // _initRotationControls.call(self); + // } + + if (self.options.enableResize) { + _initializeResize.call(self); + } + } + + // function _initRotationControls () { + // var self = this, + // wrap, btnLeft, btnRight, iLeft, iRight; + + // wrap = document.createElement('div'); + // self.elements.orientationBtnLeft = btnLeft = document.createElement('button'); + // self.elements.orientationBtnRight = btnRight = document.createElement('button'); + + // wrap.appendChild(btnLeft); + // wrap.appendChild(btnRight); + + // iLeft = document.createElement('i'); + // iRight = document.createElement('i'); + // btnLeft.appendChild(iLeft); + // btnRight.appendChild(iRight); + + // addClass(wrap, 'cr-rotate-controls'); + // addClass(btnLeft, 'cr-rotate-l'); + // addClass(btnRight, 'cr-rotate-r'); + + // self.elements.boundary.appendChild(wrap); + + // btnLeft.addEventListener('click', function () { + // self.rotate(-90); + // }); + // btnRight.addEventListener('click', function () { + // self.rotate(90); + // }); + // } + + function _hasExif() { + return this.options.enableExif && window.EXIF; + } + + function _initializeResize () { + var self = this; + var wrap = document.createElement('div'); + var isDragging = false; + var direction; + var originalX; + var originalY; + var minSize = 50; + var maxWidth; + var maxHeight; + var vr; + var hr; + + addClass(wrap, 'cr-resizer'); + css(wrap, { + width: this.options.viewport.width + 'px', + height: this.options.viewport.height + 'px' + }); + + if (this.options.resizeControls.height) { + vr = document.createElement('div'); + addClass(vr, 'cr-resizer-vertical'); + wrap.appendChild(vr); + } + + if (this.options.resizeControls.width) { + hr = document.createElement('div'); + addClass(hr, 'cr-resizer-horisontal'); + wrap.appendChild(hr); + } + + function mouseDown(ev) { + if (ev.button !== undefined && ev.button !== 0) return; + + ev.preventDefault(); + if (isDragging) { + return; + } + + var overlayRect = self.elements.overlay.getBoundingClientRect(); + + isDragging = true; + originalX = ev.pageX; + originalY = ev.pageY; + direction = ev.currentTarget.className.indexOf('vertical') !== -1 ? 'v' : 'h'; + maxWidth = overlayRect.width; + maxHeight = overlayRect.height; + + if (ev.touches) { + var touches = ev.touches[0]; + originalX = touches.pageX; + originalY = touches.pageY; + } + + window.addEventListener('mousemove', mouseMove); + window.addEventListener('touchmove', mouseMove); + window.addEventListener('mouseup', mouseUp); + window.addEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = 'none'; + } + + function mouseMove(ev) { + var pageX = ev.pageX; + var pageY = ev.pageY; + + ev.preventDefault(); + + if (ev.touches) { + var touches = ev.touches[0]; + pageX = touches.pageX; + pageY = touches.pageY; + } + + var deltaX = pageX - originalX; + var deltaY = pageY - originalY; + var newHeight = self.options.viewport.height + deltaY; + var newWidth = self.options.viewport.width + deltaX; + + if (direction === 'v' && newHeight >= minSize && newHeight <= maxHeight) { + css(wrap, { + height: newHeight + 'px' + }); + + self.options.boundary.height += deltaY; + css(self.elements.boundary, { + height: self.options.boundary.height + 'px' + }); + + self.options.viewport.height += deltaY; + css(self.elements.viewport, { + height: self.options.viewport.height + 'px' + }); + } + else if (direction === 'h' && newWidth >= minSize && newWidth <= maxWidth) { + css(wrap, { + width: newWidth + 'px' + }); + + self.options.boundary.width += deltaX; + css(self.elements.boundary, { + width: self.options.boundary.width + 'px' + }); + + self.options.viewport.width += deltaX; + css(self.elements.viewport, { + width: self.options.viewport.width + 'px' + }); + } + + _updateOverlay.call(self); + _updateZoomLimits.call(self); + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalY = pageY; + originalX = pageX; + } + + function mouseUp() { + isDragging = false; + window.removeEventListener('mousemove', mouseMove); + window.removeEventListener('touchmove', mouseMove); + window.removeEventListener('mouseup', mouseUp); + window.removeEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = ''; + } + + if (vr) { + vr.addEventListener('mousedown', mouseDown); + } + + if (hr) { + hr.addEventListener('mousedown', mouseDown); + } + + this.elements.boundary.appendChild(wrap); + } + + function _setZoomerVal(v) { + if (this.options.enableZoom) { + var z = this.elements.zoomer, + val = fix(v, 4); + + z.value = Math.max(z.min, Math.min(z.max, val)); + } + } + + function _initializeZoom() { + var self = this, + wrap = self.elements.zoomerWrap = document.createElement('div'), + zoomer = self.elements.zoomer = document.createElement('input'); + + addClass(wrap, 'cr-slider-wrap'); + addClass(zoomer, 'cr-slider'); + zoomer.type = 'range'; + zoomer.step = '0.0001'; + zoomer.value = 1; + zoomer.style.display = self.options.showZoomer ? '' : 'none'; + zoomer.setAttribute('aria-label', 'zoom'); + + self.element.appendChild(wrap); + wrap.appendChild(zoomer); + + self._currentZoom = 1; + + function change() { + _onZoom.call(self, { + value: parseFloat(zoomer.value), + origin: new TransformOrigin(self.elements.preview), + viewportRect: self.elements.viewport.getBoundingClientRect(), + transform: Transform.parse(self.elements.preview) + }); + } + + function scroll(ev) { + var delta, targetZoom; + + if (ev.wheelDelta) { + delta = ev.wheelDelta / 1200; //wheelDelta min: -120 max: 120 // max x 10 x 2 + } else if (ev.deltaY) { + delta = ev.deltaY / 1060; //deltaY min: -53 max: 53 // max x 10 x 2 + } else if (ev.detail) { + delta = ev.detail / -60; //delta min: -3 max: 3 // max x 10 x 2 + } else { + delta = 0; + } + + targetZoom = self._currentZoom + (delta * self._currentZoom); + + ev.preventDefault(); + _setZoomerVal.call(self, targetZoom); + change.call(self); + } + + self.elements.zoomer.addEventListener('input', change);// this is being fired twice on keypress + self.elements.zoomer.addEventListener('change', change); + + if (self.options.mouseWheelZoom) { + self.elements.boundary.addEventListener('mousewheel', scroll); + self.elements.boundary.addEventListener('DOMMouseScroll', scroll); + } + } + + function _onZoom(ui) { + var self = this, + transform = ui ? ui.transform : Transform.parse(self.elements.preview), + vpRect = ui ? ui.viewportRect : self.elements.viewport.getBoundingClientRect(), + origin = ui ? ui.origin : new TransformOrigin(self.elements.preview); + + function applyCss() { + var transCss = {}; + transCss[CSS_TRANSFORM] = transform.toString(); + transCss[CSS_TRANS_ORG] = origin.toString(); + css(self.elements.preview, transCss); + } + + self._currentZoom = ui ? ui.value : self._currentZoom; + transform.scale = self._currentZoom; + self.elements.zoomer.setAttribute('aria-valuenow', self._currentZoom); + applyCss(); + + if (self.options.enforceBoundary) { + var boundaries = _getVirtualBoundaries.call(self, vpRect), + transBoundaries = boundaries.translate, + oBoundaries = boundaries.origin; + + if (transform.x >= transBoundaries.maxX) { + origin.x = oBoundaries.minX; + transform.x = transBoundaries.maxX; + } + + if (transform.x <= transBoundaries.minX) { + origin.x = oBoundaries.maxX; + transform.x = transBoundaries.minX; + } + + if (transform.y >= transBoundaries.maxY) { + origin.y = oBoundaries.minY; + transform.y = transBoundaries.maxY; + } + + if (transform.y <= transBoundaries.minY) { + origin.y = oBoundaries.maxY; + transform.y = transBoundaries.minY; + } + } + applyCss(); + _debouncedOverlay.call(self); + _triggerUpdate.call(self); + } + + function _getVirtualBoundaries(viewport) { + var self = this, + scale = self._currentZoom, + vpWidth = viewport.width, + vpHeight = viewport.height, + centerFromBoundaryX = self.elements.boundary.clientWidth / 2, + centerFromBoundaryY = self.elements.boundary.clientHeight / 2, + imgRect = self.elements.preview.getBoundingClientRect(), + curImgWidth = imgRect.width, + curImgHeight = imgRect.height, + halfWidth = vpWidth / 2, + halfHeight = vpHeight / 2; + + var maxX = ((halfWidth / scale) - centerFromBoundaryX) * -1; + var minX = maxX - ((curImgWidth * (1 / scale)) - (vpWidth * (1 / scale))); + + var maxY = ((halfHeight / scale) - centerFromBoundaryY) * -1; + var minY = maxY - ((curImgHeight * (1 / scale)) - (vpHeight * (1 / scale))); + + var originMinX = (1 / scale) * halfWidth; + var originMaxX = (curImgWidth * (1 / scale)) - originMinX; + + var originMinY = (1 / scale) * halfHeight; + var originMaxY = (curImgHeight * (1 / scale)) - originMinY; + + return { + translate: { + maxX: maxX, + minX: minX, + maxY: maxY, + minY: minY + }, + origin: { + maxX: originMaxX, + minX: originMinX, + maxY: originMaxY, + minY: originMinY + } + }; + } + + function _updateCenterPoint() { + var self = this, + scale = self._currentZoom, + data = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + transform = Transform.parse(self.elements.preview.style[CSS_TRANSFORM]), + pc = new TransformOrigin(self.elements.preview), + top = (vpData.top - data.top) + (vpData.height / 2), + left = (vpData.left - data.left) + (vpData.width / 2), + center = {}, + adj = {}; + + center.y = top / scale; + center.x = left / scale; + + adj.y = (center.y - pc.y) * (1 - scale); + adj.x = (center.x - pc.x) * (1 - scale); + + transform.x -= adj.x; + transform.y -= adj.y; + + var newCss = {}; + newCss[CSS_TRANS_ORG] = center.x + 'px ' + center.y + 'px'; + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + } + + function _initDraggable() { + var self = this, + isDragging = false, + originalX, + originalY, + originalDistance, + vpRect, + transform; + + function assignTransformCoordinates(deltaX, deltaY) { + var imgRect = self.elements.preview.getBoundingClientRect(), + top = transform.y + deltaY, + left = transform.x + deltaX; + + if (self.options.enforceBoundary) { + if (vpRect.top > imgRect.top + deltaY && vpRect.bottom < imgRect.bottom + deltaY) { + transform.y = top; + } + + if (vpRect.left > imgRect.left + deltaX && vpRect.right < imgRect.right + deltaX) { + transform.x = left; + } + } + else { + transform.y = top; + transform.x = left; + } + } + + function toggleGrabState(isDragging) { + self.elements.preview.setAttribute('aria-grabbed', isDragging); + self.elements.boundary.setAttribute('aria-dropeffect', isDragging? 'move': 'none'); + } + + function keyDown(ev) { + var LEFT_ARROW = 37, + UP_ARROW = 38, + RIGHT_ARROW = 39, + DOWN_ARROW = 40; + + if (ev.shiftKey && (ev.keyCode == UP_ARROW || ev.keyCode == DOWN_ARROW)) { + var zoom = 0.0; + if (ev.keyCode == UP_ARROW) { + zoom = parseFloat(self.elements.zoomer.value, 10) + parseFloat(self.elements.zoomer.step, 10) + } + else { + zoom = parseFloat(self.elements.zoomer.value, 10) - parseFloat(self.elements.zoomer.step, 10) + } + self.setZoom(zoom); + } + else if (self.options.enableKeyMovement && (ev.keyCode >= 37 && ev.keyCode <= 40)) { + ev.preventDefault(); + var movement = parseKeyDown(ev.keyCode); + + transform = Transform.parse(self.elements.preview); + document.body.style[CSS_USERSELECT] = 'none'; + vpRect = self.elements.viewport.getBoundingClientRect(); + keyMove(movement); + }; + + function parseKeyDown(key) { + switch (key) { + case LEFT_ARROW: + return [1, 0]; + case UP_ARROW: + return [0, 1]; + case RIGHT_ARROW: + return [-1, 0]; + case DOWN_ARROW: + return [0, -1]; + }; + }; + } + + function keyMove(movement) { + var deltaX = movement[0], + deltaY = movement[1], + newCss = {}; + + assignTransformCoordinates(deltaX, deltaY); + + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + _updateOverlay.call(self); + document.body.style[CSS_USERSELECT] = ''; + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalDistance = 0; + } + + function mouseDown(ev) { + if (ev.button !== undefined && ev.button !== 0) return; + + ev.preventDefault(); + if (isDragging) return; + isDragging = true; + originalX = ev.pageX; + originalY = ev.pageY; + + if (ev.touches) { + var touches = ev.touches[0]; + originalX = touches.pageX; + originalY = touches.pageY; + } + toggleGrabState(isDragging); + transform = Transform.parse(self.elements.preview); + window.addEventListener('mousemove', mouseMove); + window.addEventListener('touchmove', mouseMove); + window.addEventListener('mouseup', mouseUp); + window.addEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = 'none'; + vpRect = self.elements.viewport.getBoundingClientRect(); + } + + function mouseMove(ev) { + ev.preventDefault(); + var pageX = ev.pageX, + pageY = ev.pageY; + + if (ev.touches) { + var touches = ev.touches[0]; + pageX = touches.pageX; + pageY = touches.pageY; + } + + var deltaX = pageX - originalX, + deltaY = pageY - originalY, + newCss = {}; + + if (ev.type == 'touchmove') { + if (ev.touches.length > 1) { + var touch1 = ev.touches[0]; + var touch2 = ev.touches[1]; + var dist = Math.sqrt((touch1.pageX - touch2.pageX) * (touch1.pageX - touch2.pageX) + (touch1.pageY - touch2.pageY) * (touch1.pageY - touch2.pageY)); + + if (!originalDistance) { + originalDistance = dist / self._currentZoom; + } + + var scale = dist / originalDistance; + + _setZoomerVal.call(self, scale); + dispatchChange(self.elements.zoomer); + return; + } + } + + assignTransformCoordinates(deltaX, deltaY); + + newCss[CSS_TRANSFORM] = transform.toString(); + css(self.elements.preview, newCss); + _updateOverlay.call(self); + originalY = pageY; + originalX = pageX; + } + + function mouseUp() { + isDragging = false; + toggleGrabState(isDragging); + window.removeEventListener('mousemove', mouseMove); + window.removeEventListener('touchmove', mouseMove); + window.removeEventListener('mouseup', mouseUp); + window.removeEventListener('touchend', mouseUp); + document.body.style[CSS_USERSELECT] = ''; + _updateCenterPoint.call(self); + _triggerUpdate.call(self); + originalDistance = 0; + } + + self.elements.overlay.addEventListener('mousedown', mouseDown); + self.elements.viewport.addEventListener('keydown', keyDown); + self.elements.overlay.addEventListener('touchstart', mouseDown); + } + + function _updateOverlay() { + var self = this, + boundRect = self.elements.boundary.getBoundingClientRect(), + imgData = self.elements.preview.getBoundingClientRect(); + + css(self.elements.overlay, { + width: imgData.width + 'px', + height: imgData.height + 'px', + top: (imgData.top - boundRect.top) + 'px', + left: (imgData.left - boundRect.left) + 'px' + }); + } + var _debouncedOverlay = debounce(_updateOverlay, 500); + + function _triggerUpdate() { + var self = this, + data = self.get(), + ev; + + if (!_isVisible.call(self)) { + return; + } + + self.options.update.call(self, data); + if (self.$ && typeof Prototype == 'undefined') { + self.$(self.element).trigger('update', data); + } + else { + var ev; + if (window.CustomEvent) { + ev = new CustomEvent('update', { detail: data }); + } else { + ev = document.createEvent('CustomEvent'); + ev.initCustomEvent('update', true, true, data); + } + + self.element.dispatchEvent(ev); + } + } + + function _isVisible() { + return this.elements.preview.offsetHeight > 0 && this.elements.preview.offsetWidth > 0; + } + + function _updatePropertiesFromImage() { + var self = this, + initialZoom = 1, + cssReset = {}, + img = self.elements.preview, + imgData = self.elements.preview.getBoundingClientRect(), + transformReset = new Transform(0, 0, initialZoom), + originReset = new TransformOrigin(), + isVisible = _isVisible.call(self); + + if (!isVisible || self.data.bound) { + // if the croppie isn't visible or it doesn't need binding + return; + } + + self.data.bound = true; + cssReset[CSS_TRANSFORM] = transformReset.toString(); + cssReset[CSS_TRANS_ORG] = originReset.toString(); + cssReset['opacity'] = 1; + css(img, cssReset); + + self._originalImageWidth = imgData.width; + self._originalImageHeight = imgData.height; + + if (self.options.enableZoom) { + _updateZoomLimits.call(self, true); + } + else { + self._currentZoom = initialZoom; + } + + transformReset.scale = self._currentZoom; + cssReset[CSS_TRANSFORM] = transformReset.toString(); + css(img, cssReset); + + if (self.data.points.length) { + _bindPoints.call(self, self.data.points); + } + else { + _centerImage.call(self); + } + + _updateCenterPoint.call(self); + _updateOverlay.call(self); + } + + function _updateZoomLimits (initial) { + var self = this, + minZoom = 0, + maxZoom = 1.5, + initialZoom, + defaultInitialZoom, + zoomer = self.elements.zoomer, + scale = parseFloat(zoomer.value), + boundaryData = self.elements.boundary.getBoundingClientRect(), + imgData = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + minW, + minH; + + if (self.options.enforceBoundary) { + minW = vpData.width / (initial ? imgData.width : imgData.width / scale); + minH = vpData.height / (initial ? imgData.height : imgData.height / scale); + minZoom = Math.max(minW, minH); + } + + if (minZoom >= maxZoom) { + maxZoom = minZoom + 1; + } + + zoomer.min = fix(minZoom, 4); + zoomer.max = fix(maxZoom, 4); + + if (initial) { + defaultInitialZoom = Math.max((boundaryData.width / imgData.width), (boundaryData.height / imgData.height)); + initialZoom = self.data.boundZoom !== null ? self.data.boundZoom : defaultInitialZoom; + _setZoomerVal.call(self, initialZoom); + } + + dispatchChange(zoomer); + } + + function _bindPoints(points) { + if (points.length != 4) { + throw "Croppie - Invalid number of points supplied: " + points; + } + var self = this, + pointsWidth = points[2] - points[0], + // pointsHeight = points[3] - points[1], + vpData = self.elements.viewport.getBoundingClientRect(), + boundRect = self.elements.boundary.getBoundingClientRect(), + vpOffset = { + left: vpData.left - boundRect.left, + top: vpData.top - boundRect.top + }, + scale = vpData.width / pointsWidth, + originTop = points[1], + originLeft = points[0], + transformTop = (-1 * points[1]) + vpOffset.top, + transformLeft = (-1 * points[0]) + vpOffset.left, + newCss = {}; + + newCss[CSS_TRANS_ORG] = originLeft + 'px ' + originTop + 'px'; + newCss[CSS_TRANSFORM] = new Transform(transformLeft, transformTop, scale).toString(); + css(self.elements.preview, newCss); + + _setZoomerVal.call(self, scale); + self._currentZoom = scale; + } + + function _centerImage() { + var self = this, + imgDim = self.elements.preview.getBoundingClientRect(), + vpDim = self.elements.viewport.getBoundingClientRect(), + boundDim = self.elements.boundary.getBoundingClientRect(), + vpLeft = vpDim.left - boundDim.left, + vpTop = vpDim.top - boundDim.top, + w = vpLeft - ((imgDim.width - vpDim.width) / 2), + h = vpTop - ((imgDim.height - vpDim.height) / 2), + transform = new Transform(w, h, self._currentZoom); + + css(self.elements.preview, CSS_TRANSFORM, transform.toString()); + } + + function _transferImageToCanvas(customOrientation) { + var self = this, + canvas = self.elements.canvas, + img = self.elements.img, + ctx = canvas.getContext('2d'), + exif = _hasExif.call(self), + customOrientation = self.options.enableOrientation && customOrientation; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + canvas.width = img.width; + canvas.height = img.height; + + if (exif && !customOrientation) { + var orientation = getExifOrientation(img); + drawCanvas(canvas, img, num(orientation || 0, 10)); + } + else if (customOrientation) { + drawCanvas(canvas, img, customOrientation); + } + } + + function _getCanvas(data) { + var self = this, + points = data.points, + left = num(points[0]), + top = num(points[1]), + right = num(points[2]), + bottom = num(points[3]), + width = right-left, + height = bottom-top, + circle = data.circle, + canvas = document.createElement('canvas'), + ctx = canvas.getContext('2d'), + outWidth = width, + outHeight = height, + startX = 0, + startY = 0, + canvasWidth = outWidth, + canvasHeight = outHeight, + customDimensions = (data.outputWidth && data.outputHeight), + outputRatio = 1; + + if (customDimensions) { + canvasWidth = data.outputWidth; + canvasHeight = data.outputHeight; + outputRatio = canvasWidth / outWidth; + } + + canvas.width = canvasWidth; + canvas.height = canvasHeight; + + if (data.backgroundColor) { + ctx.fillStyle = data.backgroundColor; + ctx.fillRect(0, 0, outWidth, outHeight); + } + + // start fixing data to send to draw image for enforceBoundary: false + if (!self.options.enforceBoundary) { + if (left < 0) { + startX = Math.abs(left); + left = 0; + } + if (top < 0) { + startY = Math.abs(top); + top = 0; + } + if (right > self._originalImageWidth) { + width = self._originalImageWidth - left; + outWidth = width; + } + if (bottom > self._originalImageHeight) { + height = self._originalImageHeight - top; + outHeight = height; + } + } + + if (outputRatio !== 1) { + startX *= outputRatio; + startY *= outputRatio; + outWidth *= outputRatio; + outHeight *= outputRatio; + } + + ctx.drawImage(this.elements.preview, left, top, Math.min(width, self._originalImageWidth), Math.min(height, self._originalImageHeight), startX, startY, outWidth, outHeight); + if (circle) { + ctx.fillStyle = '#fff'; + ctx.globalCompositeOperation = 'destination-in'; + ctx.beginPath(); + ctx.arc(outWidth / 2, outHeight / 2, outWidth / 2, 0, Math.PI * 2, true); + ctx.closePath(); + ctx.fill(); + } + return canvas; + } + + function _getHtmlResult(data) { + var points = data.points, + div = document.createElement('div'), + img = document.createElement('img'), + width = points[2] - points[0], + height = points[3] - points[1]; + + addClass(div, 'croppie-result'); + div.appendChild(img); + css(img, { + left: (-1 * points[0]) + 'px', + top: (-1 * points[1]) + 'px' + }); + img.src = data.url; + css(div, { + width: width + 'px', + height: height + 'px' + }); + + return div; + } + + function _getBase64Result(data) { + return _getCanvas.call(this, data).toDataURL(data.format, data.quality); + } + + function _getBlobResult(data) { + var self = this; + return new Promise(function (resolve, reject) { + _getCanvas.call(self, data).toBlob(function (blob) { + resolve(blob); + }, data.format, data.quality); + }); + } + + function _bind(options, cb) { + var self = this, + url, + points = [], + zoom = null, + hasExif = _hasExif.call(self);; + + if (typeof (options) === 'string') { + url = options; + options = {}; + } + else if (Array.isArray(options)) { + points = options.slice(); + } + else if (typeof (options) == 'undefined' && self.data.url) { //refreshing + _updatePropertiesFromImage.call(self); + _triggerUpdate.call(self); + return null; + } + else { + url = options.url; + points = options.points || []; + zoom = typeof(options.zoom) === 'undefined' ? null : options.zoom; + } + + self.data.bound = false; + self.data.url = url || self.data.url; + self.data.boundZoom = zoom; + + return loadImage(url, self.elements.img, hasExif).then(function (img) { + if (!points.length) { + var natDim = naturalImageDimensions(img); + var rect = self.elements.viewport.getBoundingClientRect(); + var aspectRatio = rect.width / rect.height; + var imgAspectRatio = natDim.width / natDim.height; + var width, height; + + if (imgAspectRatio > aspectRatio) { + height = natDim.height; + width = height * aspectRatio; + } + else { + width = natDim.width; + height = width / aspectRatio; + } + + var x0 = (natDim.width - width) / 2; + var y0 = (natDim.height - height) / 2; + var x1 = x0 + width; + var y1 = y0 + height; + + self.data.points = [x0, y0, x1, y1]; + } + else if (self.options.relative) { + points = [ + points[0] * img.naturalWidth / 100, + points[1] * img.naturalHeight / 100, + points[2] * img.naturalWidth / 100, + points[3] * img.naturalHeight / 100 + ]; + } + + self.data.points = points.map(function (p) { + return parseFloat(p); + }); + if (self.options.useCanvas) { + _transferImageToCanvas.call(self, options.orientation || 1); + } + _updatePropertiesFromImage.call(self); + _triggerUpdate.call(self); + cb && cb(); + }); + } + + function fix(v, decimalPoints) { + return parseFloat(v).toFixed(decimalPoints || 0); + } + + function _get() { + var self = this, + imgData = self.elements.preview.getBoundingClientRect(), + vpData = self.elements.viewport.getBoundingClientRect(), + x1 = vpData.left - imgData.left, + y1 = vpData.top - imgData.top, + widthDiff = (vpData.width - self.elements.viewport.offsetWidth) / 2, //border + heightDiff = (vpData.height - self.elements.viewport.offsetHeight) / 2, + x2 = x1 + self.elements.viewport.offsetWidth + widthDiff, + y2 = y1 + self.elements.viewport.offsetHeight + heightDiff, + scale = self._currentZoom; + + if (scale === Infinity || isNaN(scale)) { + scale = 1; + } + + var max = self.options.enforceBoundary ? 0 : Number.NEGATIVE_INFINITY; + x1 = Math.max(max, x1 / scale); + y1 = Math.max(max, y1 / scale); + x2 = Math.max(max, x2 / scale); + y2 = Math.max(max, y2 / scale); + + return { + points: [fix(x1), fix(y1), fix(x2), fix(y2)], + zoom: scale + }; + } + + var RESULT_DEFAULTS = { + type: 'canvas', + format: 'png', + quality: 1 + }, + RESULT_FORMATS = ['jpeg', 'webp', 'png']; + + function _result(options) { + var self = this, + data = _get.call(self), + opts = deepExtend(RESULT_DEFAULTS, deepExtend({}, options)), + resultType = (typeof (options) === 'string' ? options : (opts.type || 'base64')), + size = opts.size || 'viewport', + format = opts.format, + quality = opts.quality, + backgroundColor = opts.backgroundColor, + circle = typeof opts.circle === 'boolean' ? opts.circle : (self.options.viewport.type === 'circle'), + vpRect = self.elements.viewport.getBoundingClientRect(), + ratio = vpRect.width / vpRect.height, + prom; + + if (size === 'viewport') { + data.outputWidth = vpRect.width; + data.outputHeight = vpRect.height; + } else if (typeof size === 'object') { + if (size.width && size.height) { + data.outputWidth = size.width; + data.outputHeight = size.height; + } else if (size.width) { + data.outputWidth = size.width; + data.outputHeight = size.width / ratio; + } else if (size.height) { + data.outputWidth = size.height * ratio; + data.outputHeight = size.height; + } + } + + if (RESULT_FORMATS.indexOf(format) > -1) { + data.format = 'image/' + format; + data.quality = quality; + } + + data.circle = circle; + data.url = self.data.url; + data.backgroundColor = backgroundColor; + + prom = new Promise(function (resolve, reject) { + switch(resultType.toLowerCase()) + { + case 'rawcanvas': + resolve(_getCanvas.call(self, data)); + break; + case 'canvas': + case 'base64': + resolve(_getBase64Result.call(self, data)); + break; + case 'blob': + _getBlobResult.call(self, data).then(resolve); + break; + default: + resolve(_getHtmlResult.call(self, data)); + break; + } + }); + return prom; + } + + function _refresh() { + _updatePropertiesFromImage.call(this); + } + + function _rotate(deg) { + if (!this.options.useCanvas) { + throw 'Croppie: Cannot rotate without enableOrientation'; + } + + var self = this, + canvas = self.elements.canvas, + copy = document.createElement('canvas'), + ornt = 1; + + copy.width = canvas.width; + copy.height = canvas.height; + var ctx = copy.getContext('2d'); + ctx.drawImage(canvas, 0, 0); + + if (deg === 90 || deg === -270) ornt = 6; + if (deg === -90 || deg === 270) ornt = 8; + if (deg === 180 || deg === -180) ornt = 3; + + drawCanvas(canvas, copy, ornt); + _onZoom.call(self); + copy = null; + } + + function _destroy() { + var self = this; + self.element.removeChild(self.elements.boundary); + removeClass(self.element, 'croppie-container'); + if (self.options.enableZoom) { + self.element.removeChild(self.elements.zoomerWrap); + } + delete self.elements; + } + + if (window.jQuery) { + var $ = window.jQuery; + $.fn.croppie = function (opts) { + var ot = typeof opts; + + if (ot === 'string') { + var args = Array.prototype.slice.call(arguments, 1); + var singleInst = $(this).data('croppie'); + + if (opts === 'get') { + return singleInst.get(); + } + else if (opts === 'result') { + return singleInst.result.apply(singleInst, args); + } + else if (opts === 'bind') { + return singleInst.bind.apply(singleInst, args); + } + + return this.each(function () { + var i = $(this).data('croppie'); + if (!i) return; + + var method = i[opts]; + if ($.isFunction(method)) { + method.apply(i, args); + if (opts === 'destroy') { + $(this).removeData('croppie'); + } + } + else { + throw 'Croppie ' + opts + ' method not found'; + } + }); + } + else { + return this.each(function () { + var i = new Croppie(this, opts); + i.$ = $; + $(this).data('croppie', i); + }); + } + }; + } + + function Croppie(element, opts) { + this.element = element; + this.options = deepExtend(deepExtend({}, Croppie.defaults), opts); + + if (this.element.tagName.toLowerCase() === 'img') { + var origImage = this.element; + addClass(origImage, 'cr-original-image'); + setAttributes(origImage, {'aria-hidden' : 'true', 'alt' : '' }); + var replacementDiv = document.createElement('div'); + this.element.parentNode.appendChild(replacementDiv); + replacementDiv.appendChild(origImage); + this.element = replacementDiv; + this.options.url = this.options.url || origImage.src; + } + + _create.call(this); + if (this.options.url) { + var bindOpts = { + url: this.options.url, + points: this.options.points + }; + delete this.options['url']; + delete this.options['points']; + _bind.call(this, bindOpts); + } + } + + Croppie.defaults = { + viewport: { + width: 100, + height: 100, + type: 'square' + }, + boundary: { }, + orientationControls: { + enabled: true, + leftClass: '', + rightClass: '' + }, + resizeControls: { + width: true, + height: true + }, + customClass: '', + showZoomer: true, + enableZoom: true, + enableResize: false, + mouseWheelZoom: true, + enableExif: false, + enforceBoundary: true, + enableOrientation: false, + enableKeyMovement: true, + update: function () { } + }; + + Croppie.globals = { + translate: 'translate3d' + }; + + deepExtend(Croppie.prototype, { + bind: function (options, cb) { + return _bind.call(this, options, cb); + }, + get: function () { + var data = _get.call(this); + var points = data.points; + if (this.options.relative) { + points[0] /= this.elements.img.naturalWidth / 100; + points[1] /= this.elements.img.naturalHeight / 100; + points[2] /= this.elements.img.naturalWidth / 100; + points[3] /= this.elements.img.naturalHeight / 100; + } + return data; + }, + result: function (type) { + return _result.call(this, type); + }, + refresh: function () { + return _refresh.call(this); + }, + setZoom: function (v) { + _setZoomerVal.call(this, v); + dispatchChange(this.elements.zoomer); + }, + rotate: function (deg) { + _rotate.call(this, deg); + }, + destroy: function () { + return _destroy.call(this); + } + }); + + exports.Croppie = window.Croppie = Croppie; + + if (typeof module === 'object' && !!module.exports) { + module.exports = Croppie; + } +})); diff --git a/node_modules/croppie/croppie.min.js b/node_modules/croppie/croppie.min.js new file mode 100644 index 0000000..e9ffb8f --- /dev/null +++ b/node_modules/croppie/croppie.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(["exports"],t):t("object"==typeof exports&&"string"!=typeof exports.nodeName?exports:e.commonJsStrict={})}(this,function(e){function t(e){if(e in q)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=T.length;n--;)if((e=T[n]+t)in q)return e}function n(e,t){e=e||{};for(var i in t)t[i]&&t[i].constructor&&t[i].constructor===Object?(e[i]=e[i]||{},n(e[i],t[i])):e[i]=t[i];return e}function i(e){if("createEvent"in document){var t=document.createEvent("HTMLEvents");t.initEvent("change",!1,!0),e.dispatchEvent(t)}else e.fireEvent("onchange")}function o(e,t,n){if("string"==typeof t){var i=t;(t={})[i]=n}for(var o in t)e.style[o]=t[o]}function r(e,t){e.classList?e.classList.add(t):e.className+=" "+t}function a(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}function l(e,t){for(var n in t)e.setAttribute(n,t[n])}function s(e){return parseInt(e,10)}function u(e,t,n){var i=t||new Image;return i.style.opacity=0,new Promise(function(t){function o(){setTimeout(function(){t(i)},1)}i.src!==e?(i.exifdata=null,i.removeAttribute("crossOrigin"),e.match(/^https?:\/\/|^\/\//)&&i.setAttribute("crossOrigin","anonymous"),i.onload=function(){n?EXIF.getData(i,function(){o()}):o()},i.src=e):o()})}function c(e){var t=e.naturalWidth,n=e.naturalHeight;if(e.exifdata&&e.exifdata.Orientation>=5){var i=t;t=n,n=i}return{width:t,height:n}}function h(e){return e.exifdata.Orientation}function p(e,t,n){var i=t.width,o=t.height,r=e.getContext("2d");switch(e.width=t.width,e.height=t.height,r.save(),n){case 2:r.translate(i,0),r.scale(-1,1);break;case 3:r.translate(i,o),r.rotate(180*Math.PI/180);break;case 4:r.translate(0,o),r.scale(1,-1);break;case 5:e.width=o,e.height=i,r.rotate(90*Math.PI/180),r.scale(1,-1);break;case 6:e.width=o,e.height=i,r.rotate(90*Math.PI/180),r.translate(0,-o);break;case 7:e.width=o,e.height=i,r.rotate(-90*Math.PI/180),r.translate(-i,o),r.scale(1,-1);break;case 8:e.width=o,e.height=i,r.translate(0,i),r.rotate(-90*Math.PI/180)}r.drawImage(t,0,0,i,o),r.restore()}function d(){var e,t,n,i,a,s=this,u=s.options.viewport.type?"cr-vp-"+s.options.viewport.type:null;s.options.useCanvas=s.options.enableOrientation||m.call(s),s.data={},s.elements={},e=s.elements.boundary=document.createElement("div"),t=s.elements.viewport=document.createElement("div"),s.elements.img=document.createElement("img"),n=s.elements.overlay=document.createElement("div"),s.options.useCanvas?(s.elements.canvas=document.createElement("canvas"),s.elements.preview=s.elements.canvas):s.elements.preview=s.elements.img,r(e,"cr-boundary"),e.setAttribute("aria-dropeffect","none"),i=s.options.boundary.width,a=s.options.boundary.height,o(e,{width:i+(isNaN(i)?"":"px"),height:a+(isNaN(a)?"":"px")}),r(t,"cr-viewport"),u&&r(t,u),o(t,{width:s.options.viewport.width+"px",height:s.options.viewport.height+"px"}),t.setAttribute("tabindex",0),r(s.elements.preview,"cr-image"),l(s.elements.preview,{alt:"preview","aria-grabbed":"false"}),r(n,"cr-overlay"),s.element.appendChild(e),e.appendChild(s.elements.preview),e.appendChild(t),e.appendChild(n),r(s.element,"croppie-container"),s.options.customClass&&r(s.element,s.options.customClass),x.call(this),s.options.enableZoom&&g.call(s),s.options.enableResize&&f.call(s)}function m(){return this.options.enableExif&&window.EXIF}function f(){function e(e){if((void 0===e.button||0===e.button)&&(e.preventDefault(),!m)){var o=p.elements.overlay.getBoundingClientRect();if(m=!0,a=e.pageX,l=e.pageY,i=-1!==e.currentTarget.className.indexOf("vertical")?"v":"h",s=o.width,u=o.height,e.touches){var r=e.touches[0];a=r.pageX,l=r.pageY}window.addEventListener("mousemove",t),window.addEventListener("touchmove",t),window.addEventListener("mouseup",n),window.addEventListener("touchend",n),document.body.style[D]="none"}}function t(e){var t=e.pageX,n=e.pageY;if(e.preventDefault(),e.touches){var r=e.touches[0];t=r.pageX,n=r.pageY}var c=t-a,h=n-l,m=p.options.viewport.height+h,v=p.options.viewport.width+c;"v"===i&&m>=f&&m<=u?(o(d,{height:m+"px"}),p.options.boundary.height+=h,o(p.elements.boundary,{height:p.options.boundary.height+"px"}),p.options.viewport.height+=h,o(p.elements.viewport,{height:p.options.viewport.height+"px"})):"h"===i&&v>=f&&v<=s&&(o(d,{width:v+"px"}),p.options.boundary.width+=c,o(p.elements.boundary,{width:p.options.boundary.width+"px"}),p.options.viewport.width+=c,o(p.elements.viewport,{width:p.options.viewport.width+"px"})),C.call(p),B.call(p),b.call(p),E.call(p),l=n,a=t}function n(){m=!1,window.removeEventListener("mousemove",t),window.removeEventListener("touchmove",t),window.removeEventListener("mouseup",n),window.removeEventListener("touchend",n),document.body.style[D]=""}var i,a,l,s,u,c,h,p=this,d=document.createElement("div"),m=!1,f=50;r(d,"cr-resizer"),o(d,{width:this.options.viewport.width+"px",height:this.options.viewport.height+"px"}),this.options.resizeControls.height&&(r(c=document.createElement("div"),"cr-resizer-vertical"),d.appendChild(c)),this.options.resizeControls.width&&(r(h=document.createElement("div"),"cr-resizer-horisontal"),d.appendChild(h)),c&&c.addEventListener("mousedown",e),h&&h.addEventListener("mousedown",e),this.elements.boundary.appendChild(d)}function v(e){if(this.options.enableZoom){var t=this.elements.zoomer,n=F(e,4);t.value=Math.max(t.min,Math.min(t.max,n))}}function g(){function e(){w.call(n,{value:parseFloat(o.value),origin:new $(n.elements.preview),viewportRect:n.elements.viewport.getBoundingClientRect(),transform:K.parse(n.elements.preview)})}function t(t){var i,o;i=t.wheelDelta?t.wheelDelta/1200:t.deltaY?t.deltaY/1060:t.detail?t.detail/-60:0,o=n._currentZoom+i*n._currentZoom,t.preventDefault(),v.call(n,o),e.call(n)}var n=this,i=n.elements.zoomerWrap=document.createElement("div"),o=n.elements.zoomer=document.createElement("input");r(i,"cr-slider-wrap"),r(o,"cr-slider"),o.type="range",o.step="0.0001",o.value=1,o.style.display=n.options.showZoomer?"":"none",o.setAttribute("aria-label","zoom"),n.element.appendChild(i),i.appendChild(o),n._currentZoom=1,n.elements.zoomer.addEventListener("input",e),n.elements.zoomer.addEventListener("change",e),n.options.mouseWheelZoom&&(n.elements.boundary.addEventListener("mousewheel",t),n.elements.boundary.addEventListener("DOMMouseScroll",t))}function w(e){function t(){var e={};e[P]=i.toString(),e[N]=a.toString(),o(n.elements.preview,e)}var n=this,i=e?e.transform:K.parse(n.elements.preview),r=e?e.viewportRect:n.elements.viewport.getBoundingClientRect(),a=e?e.origin:new $(n.elements.preview);if(n._currentZoom=e?e.value:n._currentZoom,i.scale=n._currentZoom,n.elements.zoomer.setAttribute("aria-valuenow",n._currentZoom),t(),n.options.enforceBoundary){var l=y.call(n,r),s=l.translate,u=l.origin;i.x>=s.maxX&&(a.x=u.minX,i.x=s.maxX),i.x<=s.minX&&(a.x=u.maxX,i.x=s.minX),i.y>=s.maxY&&(a.y=u.minY,i.y=s.maxY),i.y<=s.minY&&(a.y=u.maxY,i.y=s.minY)}t(),Q.call(n),E.call(n)}function y(e){var t=this,n=t._currentZoom,i=e.width,o=e.height,r=t.elements.boundary.clientWidth/2,a=t.elements.boundary.clientHeight/2,l=t.elements.preview.getBoundingClientRect(),s=l.width,u=l.height,c=i/2,h=o/2,p=-1*(c/n-r),d=-1*(h/n-a),m=1/n*c,f=1/n*h;return{translate:{maxX:p,minX:p-(s*(1/n)-i*(1/n)),maxY:d,minY:d-(u*(1/n)-o*(1/n))},origin:{maxX:s*(1/n)-m,minX:m,maxY:u*(1/n)-f,minY:f}}}function b(){var e=this,t=e._currentZoom,n=e.elements.preview.getBoundingClientRect(),i=e.elements.viewport.getBoundingClientRect(),r=K.parse(e.elements.preview.style[P]),a=new $(e.elements.preview),l=i.top-n.top+i.height/2,s=i.left-n.left+i.width/2,u={},c={};u.y=l/t,u.x=s/t,c.y=(u.y-a.y)*(1-t),c.x=(u.x-a.x)*(1-t),r.x-=c.x,r.y-=c.y;var h={};h[N]=u.x+"px "+u.y+"px",h[P]=r.toString(),o(e.elements.preview,h)}function x(){function e(e,t){var n=d.elements.preview.getBoundingClientRect(),i=p.y+t,o=p.x+e;d.options.enforceBoundary?(h.top>n.top+t&&h.bottomn.left+e&&h.right1){var f=t.touches[0],g=t.touches[1],w=Math.sqrt((f.pageX-g.pageX)*(f.pageX-g.pageX)+(f.pageY-g.pageY)*(f.pageY-g.pageY));c||(c=w/d._currentZoom);var y=w/c;return v.call(d,y),void i(d.elements.zoomer)}e(l,h),m[P]=p.toString(),o(d.elements.preview,m),C.call(d),u=r,s=n}function l(){t(m=!1),window.removeEventListener("mousemove",a),window.removeEventListener("touchmove",a),window.removeEventListener("mouseup",l),window.removeEventListener("touchend",l),document.body.style[D]="",b.call(d),E.call(d),c=0}var s,u,c,h,p,d=this,m=!1;d.elements.overlay.addEventListener("mousedown",r),d.elements.viewport.addEventListener("keydown",function(e){var t=37,i=38,o=39,r=40;if(!e.shiftKey||e.keyCode!=i&&e.keyCode!=r){if(d.options.enableKeyMovement&&e.keyCode>=37&&e.keyCode<=40){e.preventDefault();var a=function(n){switch(e.keyCode){case t:return[1,0];case i:return[0,1];case o:return[-1,0];case r:return[0,-1]}}();p=K.parse(d.elements.preview),document.body.style[D]="none",h=d.elements.viewport.getBoundingClientRect(),n(a)}}else{var l=0;l=e.keyCode==i?parseFloat(d.elements.zoomer.value,10)+parseFloat(d.elements.zoomer.step,10):parseFloat(d.elements.zoomer.value,10)-parseFloat(d.elements.zoomer.step,10),d.setZoom(l)}}),d.elements.overlay.addEventListener("touchstart",r)}function C(){var e=this,t=e.elements.boundary.getBoundingClientRect(),n=e.elements.preview.getBoundingClientRect();o(e.elements.overlay,{width:n.width+"px",height:n.height+"px",top:n.top-t.top+"px",left:n.left-t.left+"px"})}function E(){var e=this,t=e.get();if(_.call(e))if(e.options.update.call(e,t),e.$&&"undefined"==typeof Prototype)e.$(e.element).trigger("update",t);else{var n;window.CustomEvent?n=new CustomEvent("update",{detail:t}):(n=document.createEvent("CustomEvent")).initCustomEvent("update",!0,!0,t),e.element.dispatchEvent(n)}}function _(){return this.elements.preview.offsetHeight>0&&this.elements.preview.offsetWidth>0}function L(){var e=this,t={},n=e.elements.preview,i=e.elements.preview.getBoundingClientRect(),r=new K(0,0,1),a=new $;_.call(e)&&!e.data.bound&&(e.data.bound=!0,t[P]=r.toString(),t[N]=a.toString(),t.opacity=1,o(n,t),e._originalImageWidth=i.width,e._originalImageHeight=i.height,e.options.enableZoom?B.call(e,!0):e._currentZoom=1,r.scale=e._currentZoom,t[P]=r.toString(),o(n,t),e.data.points.length?R.call(e,e.data.points):I.call(e),b.call(e),C.call(e))}function B(e){var t,n,o,r,a=this,l=0,s=1.5,u=a.elements.zoomer,c=parseFloat(u.value),h=a.elements.boundary.getBoundingClientRect(),p=a.elements.preview.getBoundingClientRect(),d=a.elements.viewport.getBoundingClientRect();a.options.enforceBoundary&&(o=d.width/(e?p.width:p.width/c),r=d.height/(e?p.height:p.height/c),l=Math.max(o,r)),l>=s&&(s=l+1),u.min=F(l,4),u.max=F(s,4),e&&(n=Math.max(h.width/p.width,h.height/p.height),t=null!==a.data.boundZoom?a.data.boundZoom:n,v.call(a,t)),i(u)}function R(e){if(4!=e.length)throw"Croppie - Invalid number of points supplied: "+e;var t=this,n=e[2]-e[0],i=t.elements.viewport.getBoundingClientRect(),r=t.elements.boundary.getBoundingClientRect(),a={left:i.left-r.left,top:i.top-r.top},l=i.width/n,s=e[1],u=e[0],c=-1*e[1]+a.top,h=-1*e[0]+a.left,p={};p[N]=u+"px "+s+"px",p[P]=new K(h,c,l).toString(),o(t.elements.preview,p),v.call(t,l),t._currentZoom=l}function I(){var e=this,t=e.elements.preview.getBoundingClientRect(),n=e.elements.viewport.getBoundingClientRect(),i=e.elements.boundary.getBoundingClientRect(),r=n.left-i.left,a=n.top-i.top,l=r-(t.width-n.width)/2,s=a-(t.height-n.height)/2,u=new K(l,s,e._currentZoom);o(e.elements.preview,P,u.toString())}function M(e){var t=this,n=t.elements.canvas,i=t.elements.img,o=n.getContext("2d"),r=m.call(t),e=t.options.enableOrientation&&e;o.clearRect(0,0,n.width,n.height),n.width=i.width,n.height=i.height,r&&!e?p(n,i,s(h(i)||0,10)):e&&p(n,i,e)}function Z(e){var t=this,n=e.points,i=s(n[0]),o=s(n[1]),r=s(n[2]),a=s(n[3]),l=r-i,u=a-o,c=e.circle,h=document.createElement("canvas"),p=h.getContext("2d"),d=l,m=u,f=0,v=0,g=d,w=m,y=1;return e.outputWidth&&e.outputHeight&&(g=e.outputWidth,w=e.outputHeight,y=g/d),h.width=g,h.height=w,e.backgroundColor&&(p.fillStyle=e.backgroundColor,p.fillRect(0,0,d,m)),t.options.enforceBoundary||(i<0&&(f=Math.abs(i),i=0),o<0&&(v=Math.abs(o),o=0),r>t._originalImageWidth&&(d=l=t._originalImageWidth-i),a>t._originalImageHeight&&(m=u=t._originalImageHeight-o)),1!==y&&(f*=y,v*=y,d*=y,m*=y),p.drawImage(this.elements.preview,i,o,Math.min(l,t._originalImageWidth),Math.min(u,t._originalImageHeight),f,v,d,m),c&&(p.fillStyle="#fff",p.globalCompositeOperation="destination-in",p.beginPath(),p.arc(d/2,m/2,d/2,0,2*Math.PI,!0),p.closePath(),p.fill()),h}function z(e){var t=e.points,n=document.createElement("div"),i=document.createElement("img"),a=t[2]-t[0],l=t[3]-t[1];return r(n,"croppie-result"),n.appendChild(i),o(i,{left:-1*t[0]+"px",top:-1*t[1]+"px"}),i.src=e.url,o(n,{width:a+"px",height:l+"px"}),n}function Y(e){return Z.call(this,e).toDataURL(e.format,e.quality)}function W(e){var t=this;return new Promise(function(n,i){Z.call(t,e).toBlob(function(e){n(e)},e.format,e.quality)})}function X(e,t){var n,i=this,o=[],r=null,a=m.call(i);if("string"==typeof e)n=e,e={};else if(Array.isArray(e))o=e.slice();else{if(void 0===e&&i.data.url)return L.call(i),E.call(i),null;n=e.url,o=e.points||[],r=void 0===e.zoom?null:e.zoom}return i.data.bound=!1,i.data.url=n||i.data.url,i.data.boundZoom=r,u(n,i.elements.img,a).then(function(n){if(o.length)i.options.relative&&(o=[o[0]*n.naturalWidth/100,o[1]*n.naturalHeight/100,o[2]*n.naturalWidth/100,o[3]*n.naturalHeight/100]);else{var r,a,l=c(n),s=i.elements.viewport.getBoundingClientRect(),u=s.width/s.height;l.width/l.height>u?r=(a=l.height)*u:a=(r=l.width)/u;var h=(l.width-r)/2,p=(l.height-a)/2,d=h+r,m=p+a;i.data.points=[h,p,d,m]}i.data.points=o.map(function(e){return parseFloat(e)}),i.options.useCanvas&&M.call(i,e.orientation||1),L.call(i),E.call(i),t&&t()})}function F(e,t){return parseFloat(e).toFixed(t||0)}function H(){var e=this,t=e.elements.preview.getBoundingClientRect(),n=e.elements.viewport.getBoundingClientRect(),i=n.left-t.left,o=n.top-t.top,r=(n.width-e.elements.viewport.offsetWidth)/2,a=(n.height-e.elements.viewport.offsetHeight)/2,l=i+e.elements.viewport.offsetWidth+r,s=o+e.elements.viewport.offsetHeight+a,u=e._currentZoom;(u===1/0||isNaN(u))&&(u=1);var c=e.options.enforceBoundary?0:Number.NEGATIVE_INFINITY;return i=Math.max(c,i/u),o=Math.max(c,o/u),l=Math.max(c,l/u),s=Math.max(c,s/u),{points:[F(i),F(o),F(l),F(s)],zoom:u}}function k(e){var t=this,i=H.call(t),o=n(G,n({},e)),r="string"==typeof e?e:o.type||"base64",a=o.size||"viewport",l=o.format,s=o.quality,u=o.backgroundColor,c="boolean"==typeof o.circle?o.circle:"circle"===t.options.viewport.type,h=t.elements.viewport.getBoundingClientRect(),p=h.width/h.height;return"viewport"===a?(i.outputWidth=h.width,i.outputHeight=h.height):"object"==typeof a&&(a.width&&a.height?(i.outputWidth=a.width,i.outputHeight=a.height):a.width?(i.outputWidth=a.width,i.outputHeight=a.width/p):a.height&&(i.outputWidth=a.height*p,i.outputHeight=a.height)),J.indexOf(l)>-1&&(i.format="image/"+l,i.quality=s),i.circle=c,i.url=t.data.url,i.backgroundColor=u,new Promise(function(e,n){switch(r.toLowerCase()){case"rawcanvas":e(Z.call(t,i));break;case"canvas":case"base64":e(Y.call(t,i));break;case"blob":W.call(t,i).then(e);break;default:e(z.call(t,i))}})}function j(){L.call(this)}function A(e){if(!this.options.useCanvas)throw"Croppie: Cannot rotate without enableOrientation";var t=this,n=t.elements.canvas,i=document.createElement("canvas"),o=1;i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),90!==e&&-270!==e||(o=6),-90!==e&&270!==e||(o=8),180!==e&&-180!==e||(o=3),p(n,i,o),w.call(t),i=null}function S(){var e=this;e.element.removeChild(e.elements.boundary),a(e.element,"croppie-container"),e.options.enableZoom&&e.element.removeChild(e.elements.zoomerWrap),delete e.elements}function O(e,t){if(this.element=e,this.options=n(n({},O.defaults),t),"img"===this.element.tagName.toLowerCase()){var i=this.element;r(i,"cr-original-image"),l(i,{"aria-hidden":"true",alt:""});var o=document.createElement("div");this.element.parentNode.appendChild(o),o.appendChild(i),this.element=o,this.options.url=this.options.url||i.src}if(d.call(this),this.options.url){var a={url:this.options.url,points:this.options.points};delete this.options.url,delete this.options.points,X.call(this,a)}}"function"!=typeof Promise&&function(e){function t(e,t){return function(){e.apply(t,arguments)}}function n(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(e,t(o,this),t(r,this))}function i(e){var t=this;return null===this._state?void this._deferreds.push(e):void c(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null!==n){var i;try{i=n(t._value)}catch(t){return void e.reject(t)}e.resolve(i)}else(t._state?e.resolve:e.reject)(t._value)})}function o(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if("function"==typeof n)return void s(t(n,e),t(o,this),t(r,this))}this._state=!0,this._value=e,a.call(this)}catch(e){r.call(this,e)}}function r(e){this._state=!1,this._value=e,a.call(this)}function a(){for(var e=0,t=this._deferreds.length;t>e;e++)i.call(this,this._deferreds[e]);this._deferreds=null}function l(e,t,n,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=i}function s(e,t,n){var i=!1;try{e(function(e){i||(i=!0,t(e))},function(e){i||(i=!0,n(e))})}catch(e){if(i)return;i=!0,n(e)}}var u=setTimeout,c="function"==typeof setImmediate&&setImmediate||function(e){u(e,1)},h=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};n.prototype.catch=function(e){return this.then(null,e)},n.prototype.then=function(e,t){var o=this;return new n(function(n,r){i.call(o,new l(e,t,n,r))})},n.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&h(arguments[0])?arguments[0]:arguments);return new n(function(t,n){function i(r,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var l=a.then;if("function"==typeof l)return void l.call(a,function(e){i(r,e)},n)}e[r]=a,0==--o&&t(e)}catch(e){n(e)}}if(0===e.length)return t([]);for(var o=e.length,r=0;ri;i++)e[i].then(t,n)})},n._setImmediateFn=function(e){c=e},"undefined"!=typeof module&&module.exports?module.exports=n:e.Promise||(e.Promise=n)}(this),"function"!=typeof window.CustomEvent&&function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}(),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,n){for(var i=atob(this.toDataURL(t,n).split(",")[1]),o=i.length,r=new Uint8Array(o),a=0;a-1||e.indexOf("none")>-1?K.fromMatrix(e):K.fromString(e)},K.fromMatrix=function(e){var t=e.substring(7).split(",");return t.length&&"none"!==e||(t=[1,0,0,1,0,0]),new K(s(t[4]),s(t[5]),parseFloat(t[0]))},K.fromString=function(e){var t=e.split(") "),n=t[0].substring(O.globals.translate.length+1).split(","),i=t.length>1?t[1].substring(6):1,o=n.length>1?n[0]:0,r=n.length>1?n[1]:0;return new K(o,r,i)},K.prototype.toString=function(){var e=U[O.globals.translate].suffix||"";return O.globals.translate+"("+this.x+"px, "+this.y+"px"+e+") scale("+this.scale+")"};var $=function(e){if(!e||!e.style[N])return this.x=0,void(this.y=0);var t=e.style[N].split(" ");this.x=parseFloat(t[0]),this.y=parseFloat(t[1])};$.prototype.toString=function(){return this.x+"px "+this.y+"px"};var Q=function(e,t,n){var i;return function(){var o=this,r=arguments,a=n&&!i;clearTimeout(i),i=setTimeout(function(){i=null,n||e.apply(o,r)},t),a&&e.apply(o,r)}}(C,500),G={type:"canvas",format:"png",quality:1},J=["jpeg","webp","png"];if(window.jQuery){var V=window.jQuery;V.fn.croppie=function(e){if("string"===typeof e){var t=Array.prototype.slice.call(arguments,1),n=V(this).data("croppie");return"get"===e?n.get():"result"===e?n.result.apply(n,t):"bind"===e?n.bind.apply(n,t):this.each(function(){var n=V(this).data("croppie");if(n){var i=n[e];if(!V.isFunction(i))throw"Croppie "+e+" method not found";i.apply(n,t),"destroy"===e&&V(this).removeData("croppie")}})}return this.each(function(){var t=new O(this,e);t.$=V,V(this).data("croppie",t)})}}O.defaults={viewport:{width:100,height:100,type:"square"},boundary:{},orientationControls:{enabled:!0,leftClass:"",rightClass:""},resizeControls:{width:!0,height:!0},customClass:"",showZoomer:!0,enableZoom:!0,enableResize:!1,mouseWheelZoom:!0,enableExif:!1,enforceBoundary:!0,enableOrientation:!1,enableKeyMovement:!0,update:function(){}},O.globals={translate:"translate3d"},n(O.prototype,{bind:function(e,t){return X.call(this,e,t)},get:function(){var e=H.call(this),t=e.points;return this.options.relative&&(t[0]/=this.elements.img.naturalWidth/100,t[1]/=this.elements.img.naturalHeight/100,t[2]/=this.elements.img.naturalWidth/100,t[3]/=this.elements.img.naturalHeight/100),e},result:function(e){return k.call(this,e)},refresh:function(){return j.call(this)},setZoom:function(e){v.call(this,e),i(this.elements.zoomer)},rotate:function(e){A.call(this,e)},destroy:function(){return S.call(this)}}),e.Croppie=window.Croppie=O,"object"==typeof module&&module.exports&&(module.exports=O)}); \ No newline at end of file diff --git a/node_modules/croppie/package.json b/node_modules/croppie/package.json new file mode 100644 index 0000000..67cc001 --- /dev/null +++ b/node_modules/croppie/package.json @@ -0,0 +1,64 @@ +{ + "_from": "croppie", + "_id": "croppie@2.5.1", + "_inBundle": false, + "_integrity": "sha512-8QsuDg2/vGlNutBH2hcnxm4rZUpMe50HQFpU1q0MDetD1uT4qHHkS485e+u7wvCQflJjfBxBsWlQ9grGMOsmxg==", + "_location": "/croppie", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "croppie", + "name": "croppie", + "escapedName": "croppie", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/croppie/-/croppie-2.5.1.tgz", + "_shasum": "87896bb4fb219350106558791730ed275730f38e", + "_spec": "croppie", + "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room", + "authors": [ + "Dustin Smith ", + "Ethan Calvert " + ], + "bugs": { + "url": "https://github.com/Foliotek/Croppie/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "A simple javascript image cropper", + "devDependencies": { + "gh-pages": "^0.11.0", + "mocha": "2.4.5" + }, + "files": [ + "croppie.css", + "croppie.js", + "croppie.min.js" + ], + "homepage": "http://foliotek.github.io/Croppie", + "keywords": [ + "crop", + "cropper", + "image", + "cropping" + ], + "license": "MIT", + "main": "croppie.js", + "name": "croppie", + "repository": { + "type": "git", + "url": "git+https://github.com/Foliotek/Croppie.git" + }, + "scripts": { + "deploy": "node deploy.js", + "test": "mocha test/unit" + }, + "version": "2.5.1" +} diff --git a/node_modules/cryptiles/.npmignore b/node_modules/cryptiles/.npmignore new file mode 100644 index 0000000..77ba16c --- /dev/null +++ b/node_modules/cryptiles/.npmignore @@ -0,0 +1,18 @@ +.idea +*.iml +npm-debug.log +dump.rdb +node_modules +results.tap +results.xml +npm-shrinkwrap.json +config.json +.DS_Store +*/.DS_Store +*/*/.DS_Store +._* +*/._* +*/*/._* +coverage.* +lib-cov + diff --git a/node_modules/cryptiles/.travis.yml b/node_modules/cryptiles/.travis.yml new file mode 100644 index 0000000..dd1b24f --- /dev/null +++ b/node_modules/cryptiles/.travis.yml @@ -0,0 +1,8 @@ +language: node_js + +node_js: + - 0.10 + - 4.0 + +sudo: false + diff --git a/node_modules/cryptiles/LICENSE b/node_modules/cryptiles/LICENSE new file mode 100644 index 0000000..cda4473 --- /dev/null +++ b/node_modules/cryptiles/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2014, Eran Hammer and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * 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. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS 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. + + * * * + +The complete list of contributors can be found at: https://github.com/hueniverse/cryptiles/graphs/contributors diff --git a/node_modules/cryptiles/README.md b/node_modules/cryptiles/README.md new file mode 100644 index 0000000..4008305 --- /dev/null +++ b/node_modules/cryptiles/README.md @@ -0,0 +1,16 @@ +cryptiles +========= + +General purpose crypto utilities + +[![Build Status](https://secure.travis-ci.org/hapijs/cryptiles.png)](http://travis-ci.org/hapijs/cryptiles) + +Lead Maintainer - [C J Silverio](https://github.com/ceejbot) + +## Methods + +### `randomString( size)` +Returns a cryptographically strong pseudo-random data string. Takes a size argument for the length of the string. + +### `fixedTimeComparison( a, b)` +Compare two strings using fixed time algorithm (to prevent time-based analysis of MAC digest match). Returns `true` if the strings match, `false` if they differ. diff --git a/node_modules/cryptiles/lib/index.js b/node_modules/cryptiles/lib/index.js new file mode 100644 index 0000000..f385870 --- /dev/null +++ b/node_modules/cryptiles/lib/index.js @@ -0,0 +1,68 @@ +// Load modules + +var Crypto = require('crypto'); +var Boom = require('boom'); + + +// Declare internals + +var internals = {}; + + +// Generate a cryptographically strong pseudo-random data + +exports.randomString = function (size) { + + var buffer = exports.randomBits((size + 1) * 6); + if (buffer instanceof Error) { + return buffer; + } + + var string = buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, ''); + return string.slice(0, size); +}; + + +exports.randomBits = function (bits) { + + if (!bits || + bits < 0) { + + return Boom.internal('Invalid random bits count'); + } + + var bytes = Math.ceil(bits / 8); + try { + return Crypto.randomBytes(bytes); + } + catch (err) { + return Boom.internal('Failed generating random bits: ' + err.message); + } +}; + + +// Compare two strings using fixed time algorithm (to prevent time-based analysis of MAC digest match) + +exports.fixedTimeComparison = function (a, b) { + + if (typeof a !== 'string' || + typeof b !== 'string') { + + return false; + } + + var mismatch = (a.length === b.length ? 0 : 1); + if (mismatch) { + b = a; + } + + for (var i = 0, il = a.length; i < il; ++i) { + var ac = a.charCodeAt(i); + var bc = b.charCodeAt(i); + mismatch |= (ac ^ bc); + } + + return (mismatch === 0); +}; + + diff --git a/node_modules/cryptiles/package.json b/node_modules/cryptiles/package.json new file mode 100644 index 0000000..444419f --- /dev/null +++ b/node_modules/cryptiles/package.json @@ -0,0 +1,59 @@ +{ + "_from": "cryptiles@2.x.x", + "_id": "cryptiles@2.0.5", + "_inBundle": false, + "_integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "_location": "/cryptiles", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "cryptiles@2.x.x", + "name": "cryptiles", + "escapedName": "cryptiles", + "rawSpec": "2.x.x", + "saveSpec": null, + "fetchSpec": "2.x.x" + }, + "_requiredBy": [ + "/hawk" + ], + "_resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "_shasum": "3bdfecdc608147c1c67202fa291e7dca59eaa3b8", + "_spec": "cryptiles@2.x.x", + "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\hawk", + "bugs": { + "url": "https://github.com/hapijs/cryptiles/issues" + }, + "bundleDependencies": false, + "dependencies": { + "boom": "2.x.x" + }, + "deprecated": false, + "description": "General purpose crypto utilities", + "devDependencies": { + "code": "1.x.x", + "lab": "5.x.x" + }, + "engines": { + "node": ">=0.10.40" + }, + "homepage": "https://github.com/hapijs/cryptiles#readme", + "keywords": [ + "cryptography", + "security", + "utilites" + ], + "license": "BSD-3-Clause", + "main": "lib/index.js", + "name": "cryptiles", + "repository": { + "type": "git", + "url": "git://github.com/hapijs/cryptiles.git" + }, + "scripts": { + "test": "lab -a code -t 100 -L", + "test-cov-html": "lab -a code -r html -o coverage.html" + }, + "version": "2.0.5" +} diff --git a/node_modules/cryptiles/test/index.js b/node_modules/cryptiles/test/index.js new file mode 100644 index 0000000..170393f --- /dev/null +++ b/node_modules/cryptiles/test/index.js @@ -0,0 +1,102 @@ +// Load modules + +var Code = require('code'); +var Cryptiles = require('..'); +var Lab = require('lab'); + + +// Declare internals + +var internals = {}; + + +// Test shortcuts + +var lab = exports.lab = Lab.script(); +var describe = lab.describe; +var it = lab.it; +var expect = Code.expect; + + +describe('randomString()', function () { + + it('should generate the right length string', function (done) { + + for (var i = 1; i <= 1000; ++i) { + expect(Cryptiles.randomString(i).length).to.equal(i); + } + + done(); + }); + + it('returns an error on invalid bits size', function (done) { + + expect(Cryptiles.randomString(99999999999999999999).message).to.match(/Failed generating random bits/); + done(); + }); +}); + +describe('randomBits()', function () { + + it('returns an error on invalid input', function (done) { + + expect(Cryptiles.randomBits(0).message).to.equal('Invalid random bits count'); + done(); + }); +}); + +describe('fixedTimeComparison()', function () { + + var a = Cryptiles.randomString(50000); + var b = Cryptiles.randomString(150000); + + it('should take the same amount of time comparing different string sizes', function (done) { + + var now = Date.now(); + Cryptiles.fixedTimeComparison(b, a); + var t1 = Date.now() - now; + + now = Date.now(); + Cryptiles.fixedTimeComparison(b, b); + var t2 = Date.now() - now; + + expect(t2 - t1).to.be.within(-20, 20); + done(); + }); + + it('should return true for equal strings', function (done) { + + expect(Cryptiles.fixedTimeComparison(a, a)).to.equal(true); + done(); + }); + + it('should return false for different strings (size, a < b)', function (done) { + + expect(Cryptiles.fixedTimeComparison(a, a + 'x')).to.equal(false); + done(); + }); + + it('should return false for different strings (size, a > b)', function (done) { + + expect(Cryptiles.fixedTimeComparison(a + 'x', a)).to.equal(false); + done(); + }); + + it('should return false for different strings (size, a = b)', function (done) { + + expect(Cryptiles.fixedTimeComparison(a + 'x', a + 'y')).to.equal(false); + done(); + }); + + it('should return false when not a string', function (done) { + + expect(Cryptiles.fixedTimeComparison('x', null)).to.equal(false); + done(); + }); + + it('should return false when not a string (left)', function (done) { + + expect(Cryptiles.fixedTimeComparison(null, 'x')).to.equal(false); + done(); + }); +}); diff --git a/node_modules/dashdash/CHANGES.md b/node_modules/dashdash/CHANGES.md new file mode 100644 index 0000000..d7c8f4e --- /dev/null +++ b/node_modules/dashdash/CHANGES.md @@ -0,0 +1,364 @@ +# node-dashdash changelog + +## not yet released + +(nothing yet) + +## 1.14.1 + +- [issue #30] Change the output used by dashdash's Bash completion support to + indicate "there are no completions for this argument" to cope with different + sorting rules on different Bash/platforms. For example: + + $ triton -v -p test2 package get # before + ##-no -tritonpackage- completions-## + + $ triton -v -p test2 package get # after + ##-no-completion- -results-## + +## 1.14.0 + +- New `synopsisFromOpt(