You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dj...@apache.org on 2021/11/13 03:34:06 UTC

[camel-website] branch main updated (ca76c8c -> bb72015)

This is an automated email from the ASF dual-hosted git repository.

djencks pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git.


    from ca76c8c  chore: mirror my latest blog post (#665)
     new eba7ab4  Util changes: better check for strong in util
     new 6d0172f  Playbook changes to use aggregate collector and indexPage extension.
     new 4454fd8  package.json dependency updates
     new 4c6baee  add update:dependencies script to package.json
     new 27c8ad8  generated changes from running yarn update:dependencies
     new ce424f3  temporary workaround for escaping special characters in attribute values
     new a5faff5  Scripts to run yarn update:dependencies inside docker container
     new bb72015  result of running ./update-deps-in-docker.sh

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .pnp.cjs                                           | 255 ++++++++++---------
 ...der-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip} | Bin 24190 -> 24180 bytes
 ...cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip} | Bin 12211 -> 12144 bytes
 ...or-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip | Bin 27417 -> 0 bytes
 ...ator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip | Bin 0 -> 28265 bytes
 ...ier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip} | Bin 21036 -> 21033 bytes
 ...ter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip} | Bin 10026 -> 10138 bytes
 ...ger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip} | Bin 10528 -> 10520 bytes
 ...der-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip} | Bin 10023 -> 10053 bytes
 ...ser-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip} | Bin 14871 -> 14868 bytes
 ...er-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip | Bin 14440 -> 0 bytes
 ...lder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip | Bin 0 -> 14612 bytes
 ...cer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip} | Bin 10245 -> 10238 bytes
 ...ult-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip} | Bin 10773 -> 11365 bytes
 ...per-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip} | Bin 9804 -> 9799 bytes
 ...her-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip} | Bin 12833 -> 12550 bytes
 ...der-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip} | Bin 13688 -> 13683 bytes
 ...ctor-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip | Bin 0 -> 7752 bytes
 ...xer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip | Bin 10081 -> 0 bytes
 ...exer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip | Bin 0 -> 10465 bytes
 ...ath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip | Bin 7623 -> 0 bytes
 ...path-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip | Bin 0 -> 7974 bytes
 ...ort-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip | Bin 14025 -> 0 bytes
 ...port-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip | Bin 0 -> 16661 bytes
 ...ons-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip | Bin 0 -> 2499180 bytes
 ...al-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip | Bin 0 -> 19348505 bytes
 ...elcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip | Bin 0 -> 5599 bytes
 .../commander-npm-8.3.0-c0d18c66d5-0f82321821.zip  | Bin 0 -> 44364 bytes
 .yarn/cache/fsevents-patch-7450bc5e91-8.zip        | Bin 0 -> 14634 bytes
 .yarn/cache/fsevents-patch-c0aa546cbc-8.zip        | Bin 0 -> 874628 bytes
 .../matcher-npm-4.0.0-418060075c-d338aff31d.zip    | Bin 4765 -> 0 bytes
 .../sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip | Bin 13081 -> 0 bytes
 ...sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip} | Bin 13949 -> 13951 bytes
 .../type-fest-npm-1.4.0-7dd848962a-b011c33886.zip  | Bin 0 -> 67531 bytes
 .../node_modules/gifsicle/vendor/gifsicle          | Bin 714696 -> 714696 bytes
 .../pylib/gyp/__pycache__/MSVSUtil.cpython-39.pyc  | Bin 6352 -> 6352 bytes
 .../gyp/__pycache__/MSVSVersion.cpython-39.pyc     | Bin 12999 -> 12999 bytes
 .../pylib/gyp/__pycache__/__init__.cpython-39.pyc  | Bin 13455 -> 13455 bytes
 .../pylib/gyp/__pycache__/common.cpython-39.pyc    | Bin 15271 -> 15271 bytes
 .../gyp/pylib/gyp/__pycache__/input.cpython-39.pyc | Bin 51925 -> 51925 bytes
 .../gyp/__pycache__/msvs_emulation.cpython-39.pyc  | Bin 40741 -> 40741 bytes
 .../gyp/__pycache__/ninja_syntax.cpython-39.pyc    | Bin 4712 -> 4712 bytes
 .../gyp/__pycache__/simple_copy.cpython-39.pyc     | Bin 1888 -> 1888 bytes
 .../gyp/__pycache__/xcode_emulation.cpython-39.pyc | Bin 55773 -> 55773 bytes
 .../gyp/__pycache__/xcode_ninja.cpython-39.pyc     | Bin 6900 -> 6900 bytes
 .../gyp/__pycache__/xcodeproj_file.cpython-39.pyc  | Bin 76891 -> 76891 bytes
 .../generator/__pycache__/__init__.cpython-39.pyc  | Bin 236 -> 236 bytes
 .../gyp/generator/__pycache__/make.cpython-39.pyc  | Bin 63116 -> 63116 bytes
 .../gyp/generator/__pycache__/ninja.cpython-39.pyc | Bin 60203 -> 60203 bytes
 .../gyp/generator/__pycache__/xcode.cpython-39.pyc | Bin 21707 -> 21707 bytes
 antora-playbook.yml                                |  54 +++-
 .../.yarn/cache/fsevents-patch-fcdf30aaca-8.zip    | Bin 0 -> 12793 bytes
 .../node_modules/gifsicle/vendor/gifsicle          | Bin 734392 -> 714696 bytes
 .../gifsicle/vendor/share/man/man1/gifsicle.1      |   0
 .../optipng-bin/vendor/man/man1/optipng.1          |   0
 .../node_modules/optipng-bin/vendor/optipng        | Bin 130680 -> 137968 bytes
 package.json                                       |  12 +-
 update-deps-in-docker.sh                           |   7 +
 update-deps.sh                                     |   4 +
 util/jsonpath-util.js                              |  20 +-
 yarn.lock                                          | 274 +++++++++++----------
 61 files changed, 369 insertions(+), 257 deletions(-)
 rename .yarn/cache/{@antora-asciidoc-loader-npm-3.0.0-alpha.10-1bfce6ae54-b79c28f304.zip => @antora-asciidoc-loader-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip} (79%)
 rename .yarn/cache/{@antora-cli-npm-3.0.0-alpha.10-2658c19379-92dcda7e7a.zip => @antora-cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip} (57%)
 delete mode 100644 .yarn/cache/@antora-content-aggregator-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip
 create mode 100644 .yarn/cache/@antora-content-aggregator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip
 rename .yarn/cache/{@antora-content-classifier-npm-3.0.0-alpha.10-a7aae684d0-59031bd51e.zip => @antora-content-classifier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip} (68%)
 rename .yarn/cache/{@antora-document-converter-npm-3.0.0-alpha.10-23934f2103-d899b72338.zip => @antora-document-converter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip} (55%)
 rename .yarn/cache/{@antora-logger-npm-3.0.0-alpha.10-86d5d08443-41be84469d.zip => @antora-logger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip} (56%)
 rename .yarn/cache/{@antora-navigation-builder-npm-3.0.0-alpha.10-bcb88528c5-0272a452a1.zip => @antora-navigation-builder-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip} (57%)
 rename .yarn/cache/{@antora-page-composer-npm-3.0.0-alpha.10-948fad507e-f25feca7fe.zip => @antora-page-composer-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip} (90%)
 delete mode 100644 .yarn/cache/@antora-playbook-builder-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip
 create mode 100644 .yarn/cache/@antora-playbook-builder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip
 rename .yarn/cache/{@antora-redirect-producer-npm-3.0.0-alpha.10-00bbf250d0-bed1aeab27.zip => @antora-redirect-producer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip} (79%)
 rename .yarn/cache/{@antora-site-generator-default-npm-3.0.0-alpha.10-411bc97dd9-eba880351d.zip => @antora-site-generator-default-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip} (50%)
 rename .yarn/cache/{@antora-site-mapper-npm-3.0.0-alpha.10-bb7e424c4a-7a939550f6.zip => @antora-site-mapper-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip} (80%)
 rename .yarn/cache/{@antora-site-publisher-npm-3.0.0-alpha.10-46135c3a79-6a4a4760a9.zip => @antora-site-publisher-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip} (67%)
 rename .yarn/cache/{@antora-ui-loader-npm-3.0.0-alpha.10-924fef82de-c2f59c4d14.zip => @antora-ui-loader-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip} (83%)
 create mode 100644 .yarn/cache/@djencks-antora-aggregate-collector-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip
 delete mode 100644 .yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip
 create mode 100644 .yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip
 delete mode 100644 .yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip
 create mode 100644 .yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip
 delete mode 100644 .yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip
 create mode 100644 .yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip
 create mode 100644 .yarn/cache/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip
 create mode 100644 .yarn/cache/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip
 create mode 100644 .yarn/cache/camelcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip
 create mode 100644 .yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip
 create mode 100644 .yarn/cache/fsevents-patch-7450bc5e91-8.zip
 create mode 100644 .yarn/cache/fsevents-patch-c0aa546cbc-8.zip
 delete mode 100644 .yarn/cache/matcher-npm-4.0.0-418060075c-d338aff31d.zip
 delete mode 100644 .yarn/cache/sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip
 rename .yarn/cache/{sonic-boom-npm-2.3.0-6a1292957e-208329d153.zip => sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip} (83%)
 create mode 100644 .yarn/cache/type-fest-npm-1.4.0-7dd848962a-b011c33886.zip
 create mode 100644 antora-ui-camel/.yarn/cache/fsevents-patch-fcdf30aaca-8.zip
 copy {.yarn => antora-ui-camel/.yarn}/unplugged/gifsicle-npm-4.0.1-47efba2323/node_modules/gifsicle/vendor/share/man/man1/gifsicle.1 (100%)
 copy {.yarn => antora-ui-camel/.yarn}/unplugged/optipng-bin-npm-6.0.0-3aa5f04a3e/node_modules/optipng-bin/vendor/man/man1/optipng.1 (100%)
 create mode 100755 update-deps-in-docker.sh
 create mode 100755 update-deps.sh

[camel-website] 06/08: temporary workaround for escaping special characters in attribute values

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit ce424f36c0199966242e136ca28c27808aa93347
Author: David Jencks <dj...@apache.org>
AuthorDate: Wed Nov 10 15:38:06 2021 -0800

    temporary workaround for escaping special characters in attribute values
---
 util/jsonpath-util.js | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/util/jsonpath-util.js b/util/jsonpath-util.js
index bb5f38e..5cce308 100644
--- a/util/jsonpath-util.js
+++ b/util/jsonpath-util.js
@@ -17,6 +17,14 @@
 
 const RESOURCEID_RX = /[^$]*\$json\/(.*)\.json/
 
+const SPECIAL_CHARS = /[<>&]/g
+
+const REPLACEMENTS = {
+  '<': '&lt;',
+  '>': '&gt;',
+  '&': '&amp;',
+}
+
 module.exports = {
   alias: (name, aliases) => {
     for (expr of (aliases || '').split(',')) {
@@ -82,6 +90,10 @@ module.exports = {
     return 'Both producer and consumer are supported'
   },
 
+  //Presumably temporary until asciidoctor-jsonpath can do this
+  //used from camel-kafka-connector template.
+  scSubs: (string) => string.replace(SPECIAL_CHARS, (m) => REPLACEMENTS[m]),
+
   starterArtifactId: (data) => {
     return data['starter-artifactid'] ? data['starter-artifactid'] : `${data.artifactid}-starter`
   },

[camel-website] 05/08: generated changes from running yarn update:dependencies

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 27c8ad8699454b8010ab62aed5529b414f66f084
Author: David Jencks <dj...@apache.org>
AuthorDate: Wed Nov 10 08:01:03 2021 -0800

    generated changes from running yarn update:dependencies
---
 .pnp.cjs                                           |  255 +-
 ...der-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip} |  Bin 24190 -> 24180 bytes
 ...cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip} |  Bin 12211 -> 12144 bytes
 ...or-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip |  Bin 27417 -> 0 bytes
 ...ator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip |  Bin 0 -> 28265 bytes
 ...ier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip} |  Bin 21036 -> 21033 bytes
 ...ter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip} |  Bin 10026 -> 10138 bytes
 ...ger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip} |  Bin 10528 -> 10520 bytes
 ...der-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip} |  Bin 10023 -> 10053 bytes
 ...ser-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip} |  Bin 14871 -> 14868 bytes
 ...er-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip |  Bin 14440 -> 0 bytes
 ...lder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip |  Bin 0 -> 14612 bytes
 ...cer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip} |  Bin 10245 -> 10238 bytes
 ...ult-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip} |  Bin 10773 -> 11365 bytes
 ...per-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip} |  Bin 9804 -> 9799 bytes
 ...her-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip} |  Bin 12833 -> 12550 bytes
 ...der-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip} |  Bin 13688 -> 13683 bytes
 ...ctor-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip |  Bin 0 -> 7752 bytes
 ...xer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip |  Bin 10081 -> 0 bytes
 ...exer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip |  Bin 0 -> 10465 bytes
 ...ath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip |  Bin 7623 -> 0 bytes
 ...path-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip |  Bin 0 -> 7974 bytes
 ...ort-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip |  Bin 14025 -> 0 bytes
 ...port-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip |  Bin 0 -> 16661 bytes
 ...ons-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip |  Bin 0 -> 2499180 bytes
 ...al-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip |  Bin 0 -> 19348505 bytes
 ...elcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip |  Bin 0 -> 5599 bytes
 .../commander-npm-8.3.0-c0d18c66d5-0f82321821.zip  |  Bin 0 -> 44364 bytes
 .yarn/cache/fsevents-patch-7450bc5e91-8.zip        |  Bin 0 -> 14634 bytes
 .yarn/cache/fsevents-patch-c0aa546cbc-8.zip        |  Bin 0 -> 874628 bytes
 .../matcher-npm-4.0.0-418060075c-d338aff31d.zip    |  Bin 4765 -> 0 bytes
 .../sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip |  Bin 13081 -> 0 bytes
 ...sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip} |  Bin 13949 -> 13951 bytes
 .../type-fest-npm-1.4.0-7dd848962a-b011c33886.zip  |  Bin 0 -> 67531 bytes
 .../local-functions-proxy-darwin-x64}/.ready       |    0
 .../local-functions-proxy-darwin-x64}/CHANGELOG.md |    4 +-
 .../local-functions-proxy-darwin-x64}/README.md    |    2 +-
 .../bin/local-functions-proxy                      |  Bin 6193152 -> 6596432 bytes
 .../local-functions-proxy-darwin-x64}/index.js     |    0
 .../local-functions-proxy.sha                      |    1 +
 .../local-functions-proxy-darwin-x64}/package.json |    6 +-
 .../local-functions-proxy.sha                      |    1 -
 .../routing-local-proxy-darwin-x64}/.ready         |    0
 .../routing-local-proxy-darwin-x64}/index.js       |    0
 .../routing-local-proxy-darwin-x64}/package.json   |    4 +-
 .../routing-local-proxy                            |  Bin 77213640 -> 59062608 bytes
 .../node_modules/fsevents}/.ready                  |    0
 .../node_modules/fsevents/LICENSE                  |   22 +
 .../node_modules/fsevents/README.md                |   77 +
 .../node_modules/fsevents/fsevents.d.ts            |   55 +
 .../node_modules/fsevents/fsevents.js              |   79 +
 .../node_modules/fsevents/fsevents.node            |  Bin 0 -> 36204 bytes
 .../node_modules/fsevents/package.json             |   62 +
 .../node_modules/fsevents/vfs.js                   |   76 +
 .../node_modules/fsevents}/.ready                  |    0
 .../node_modules/fsevents/.travis.yml              |  101 +
 .../node_modules/fsevents/ISSUE_TEMPLATE.md        |    8 +
 .../node_modules/fsevents/LICENSE                  |   22 +
 .../node_modules/fsevents/Readme.md                |   78 +
 .../node_modules/fsevents/binding.gyp              |   21 +
 .../node_modules/fsevents/build/.target.mk         |   55 +
 .../node_modules/fsevents/build/Makefile           |  347 ++
 .../fsevents/build/Release/.deps/Release/.node.d   |    1 +
 .../build/Release/.deps/Release/fse.node.d         |    1 +
 .../.deps/Release/obj.target/fse/fsevents.o.d      |   70 +
 .../node_modules/fsevents/build/Release/.node      |  Bin 0 -> 16432 bytes
 .../node_modules/fsevents/build/Release/fse.node   |  Bin 0 -> 52792 bytes
 .../build/Release/obj.target/fse/fsevents.o        |  Bin 0 -> 357416 bytes
 .../node_modules/fsevents/build/binding.Makefile   |    6 +
 .../node_modules/fsevents/build/config.gypi        |  303 ++
 .../node_modules/fsevents/build/fse.target.mk      |  196 ++
 .../node_modules/fsevents/build/gyp-mac-tool       |  777 +++++
 .../node_modules/fsevents/fsevents.cc              |   88 +
 .../node_modules/fsevents/fsevents.js              |  108 +
 .../fsevents/node_modules/abbrev/LICENSE           |   46 +
 .../fsevents/node_modules/abbrev/README.md         |   23 +
 .../fsevents/node_modules/abbrev/abbrev.js         |   61 +
 .../fsevents/node_modules/abbrev/package.json      |   56 +
 .../fsevents/node_modules/ansi-regex/index.js      |    4 +
 .../fsevents/node_modules/ansi-regex/license       |   21 +
 .../fsevents/node_modules/ansi-regex/package.json  |  108 +
 .../fsevents/node_modules/ansi-regex/readme.md     |   39 +
 .../fsevents/node_modules/aproba/LICENSE           |   14 +
 .../fsevents/node_modules/aproba/README.md         |   94 +
 .../fsevents/node_modules/aproba/index.js          |  105 +
 .../fsevents/node_modules/aproba/package.json      |   62 +
 .../node_modules/are-we-there-yet/CHANGES.md       |   37 +
 .../fsevents/node_modules/are-we-there-yet/LICENSE |    5 +
 .../node_modules/are-we-there-yet/README.md        |  195 ++
 .../node_modules/are-we-there-yet/index.js         |    4 +
 .../node_modules/are-we-there-yet/package.json     |   63 +
 .../node_modules/are-we-there-yet/tracker-base.js  |   11 +
 .../node_modules/are-we-there-yet/tracker-group.js |  107 +
 .../are-we-there-yet/tracker-stream.js             |   36 +
 .../node_modules/are-we-there-yet/tracker.js       |   30 +
 .../node_modules/balanced-match/.npmignore         |    5 +
 .../node_modules/balanced-match/LICENSE.md         |   21 +
 .../fsevents/node_modules/balanced-match/README.md |   91 +
 .../fsevents/node_modules/balanced-match/index.js  |   59 +
 .../node_modules/balanced-match/package.json       |   77 +
 .../fsevents/node_modules/brace-expansion/LICENSE  |   21 +
 .../node_modules/brace-expansion/README.md         |  129 +
 .../fsevents/node_modules/brace-expansion/index.js |  201 ++
 .../node_modules/brace-expansion/package.json      |   75 +
 .../fsevents/node_modules/chownr/LICENSE           |   15 +
 .../fsevents/node_modules/chownr/README.md         |    3 +
 .../fsevents/node_modules/chownr/chownr.js         |  125 +
 .../fsevents/node_modules/chownr/package.json      |   59 +
 .../fsevents/node_modules/code-point-at/index.js   |   32 +
 .../fsevents/node_modules/code-point-at/license    |   21 +
 .../node_modules/code-point-at/package.json        |   70 +
 .../fsevents/node_modules/code-point-at/readme.md  |   32 +
 .../fsevents/node_modules/concat-map/.travis.yml   |    4 +
 .../fsevents/node_modules/concat-map/LICENSE       |   18 +
 .../node_modules/concat-map/README.markdown        |   62 +
 .../node_modules/concat-map/example/map.js         |    6 +
 .../fsevents/node_modules/concat-map/index.js      |   13 +
 .../fsevents/node_modules/concat-map/package.json  |   88 +
 .../fsevents/node_modules/concat-map/test/map.js   |   39 +
 .../node_modules/console-control-strings/LICENSE   |   13 +
 .../node_modules/console-control-strings/README.md |  145 +
 .../console-control-strings/README.md~             |  140 +
 .../node_modules/console-control-strings/index.js  |  125 +
 .../console-control-strings/package.json           |   61 +
 .../fsevents/node_modules/core-util-is/LICENSE     |   19 +
 .../fsevents/node_modules/core-util-is/README.md   |    3 +
 .../fsevents/node_modules/core-util-is/float.patch |  604 ++++
 .../fsevents/node_modules/core-util-is/lib/util.js |  107 +
 .../node_modules/core-util-is/package.json         |   62 +
 .../fsevents/node_modules/core-util-is/test.js     |   68 +
 .../fsevents/node_modules/debug/CHANGELOG.md       |  395 +++
 .../fsevents/node_modules/debug/LICENSE            |   19 +
 .../fsevents/node_modules/debug/README.md          |  437 +++
 .../fsevents/node_modules/debug/dist/debug.js      |  886 +++++
 .../fsevents/node_modules/debug/node.js            |    1 +
 .../fsevents/node_modules/debug/package.json       |   90 +
 .../fsevents/node_modules/debug/src/browser.js     |  180 +
 .../fsevents/node_modules/debug/src/common.js      |  249 ++
 .../fsevents/node_modules/debug/src/index.js       |   12 +
 .../fsevents/node_modules/debug/src/node.js        |  174 +
 .../fsevents/node_modules/deep-extend/CHANGELOG.md |   46 +
 .../fsevents/node_modules/deep-extend/LICENSE      |   20 +
 .../fsevents/node_modules/deep-extend/README.md    |   91 +
 .../fsevents/node_modules/deep-extend/index.js     |    1 +
 .../node_modules/deep-extend/lib/deep-extend.js    |  150 +
 .../fsevents/node_modules/deep-extend/package.json |   92 +
 .../fsevents/node_modules/delegates/.npmignore     |    1 +
 .../fsevents/node_modules/delegates/History.md     |   22 +
 .../fsevents/node_modules/delegates/License        |   20 +
 .../fsevents/node_modules/delegates/Makefile       |    8 +
 .../fsevents/node_modules/delegates/Readme.md      |   94 +
 .../fsevents/node_modules/delegates/index.js       |  121 +
 .../fsevents/node_modules/delegates/package.json   |   48 +
 .../fsevents/node_modules/delegates/test/index.js  |   94 +
 .../fsevents/node_modules/detect-libc/.npmignore   |    7 +
 .../fsevents/node_modules/detect-libc/LICENSE      |  201 ++
 .../fsevents/node_modules/detect-libc/README.md    |   78 +
 .../node_modules/detect-libc/bin/detect-libc.js    |   18 +
 .../node_modules/detect-libc/lib/detect-libc.js    |   92 +
 .../fsevents/node_modules/detect-libc/package.json |   70 +
 .../fsevents/node_modules/fs-minipass/LICENSE      |   15 +
 .../fsevents/node_modules/fs-minipass/README.md    |   70 +
 .../fsevents/node_modules/fs-minipass/index.js     |  387 +++
 .../fsevents/node_modules/fs-minipass/package.json |   65 +
 .../fsevents/node_modules/fs.realpath/LICENSE      |   43 +
 .../fsevents/node_modules/fs.realpath/README.md    |   33 +
 .../fsevents/node_modules/fs.realpath/index.js     |   66 +
 .../fsevents/node_modules/fs.realpath/old.js       |  303 ++
 .../fsevents/node_modules/fs.realpath/package.json |   59 +
 .../fsevents/node_modules/gauge/CHANGELOG.md       |  160 +
 .../fsevents/node_modules/gauge/LICENSE            |   13 +
 .../fsevents/node_modules/gauge/README.md          |  399 +++
 .../fsevents/node_modules/gauge/base-theme.js      |   14 +
 .../fsevents/node_modules/gauge/error.js           |   24 +
 .../fsevents/node_modules/gauge/has-color.js       |   12 +
 .../fsevents/node_modules/gauge/index.js           |  233 ++
 .../fsevents/node_modules/gauge/package.json       |   91 +
 .../fsevents/node_modules/gauge/plumbing.js        |   48 +
 .../fsevents/node_modules/gauge/process.js         |    3 +
 .../fsevents/node_modules/gauge/progress-bar.js    |   35 +
 .../fsevents/node_modules/gauge/render-template.js |  181 +
 .../fsevents/node_modules/gauge/set-immediate.js   |    7 +
 .../fsevents/node_modules/gauge/set-interval.js    |    3 +
 .../fsevents/node_modules/gauge/spin.js            |    5 +
 .../fsevents/node_modules/gauge/template-item.js   |   73 +
 .../fsevents/node_modules/gauge/theme-set.js       |  115 +
 .../fsevents/node_modules/gauge/themes.js          |   54 +
 .../fsevents/node_modules/gauge/wide-truncate.js   |   25 +
 .../fsevents/node_modules/glob/LICENSE             |   21 +
 .../fsevents/node_modules/glob/README.md           |  375 +++
 .../fsevents/node_modules/glob/changelog.md        |   67 +
 .../fsevents/node_modules/glob/common.js           |  240 ++
 .../fsevents/node_modules/glob/glob.js             |  790 +++++
 .../fsevents/node_modules/glob/package.json        |   79 +
 .../fsevents/node_modules/glob/sync.js             |  486 +++
 .../fsevents/node_modules/has-unicode/LICENSE      |   14 +
 .../fsevents/node_modules/has-unicode/README.md    |   43 +
 .../fsevents/node_modules/has-unicode/index.js     |   16 +
 .../fsevents/node_modules/has-unicode/package.json |   58 +
 .../fsevents/node_modules/iconv-lite/Changelog.md  |  162 +
 .../fsevents/node_modules/iconv-lite/LICENSE       |   21 +
 .../fsevents/node_modules/iconv-lite/README.md     |  156 +
 .../iconv-lite/encodings/dbcs-codec.js             |  555 +++
 .../node_modules/iconv-lite/encodings/dbcs-data.js |  176 +
 .../node_modules/iconv-lite/encodings/index.js     |   22 +
 .../node_modules/iconv-lite/encodings/internal.js  |  188 ++
 .../iconv-lite/encodings/sbcs-codec.js             |   72 +
 .../iconv-lite/encodings/sbcs-data-generated.js    |  451 +++
 .../node_modules/iconv-lite/encodings/sbcs-data.js |  174 +
 .../iconv-lite/encodings/tables/big5-added.json    |  122 +
 .../iconv-lite/encodings/tables/cp936.json         |  264 ++
 .../iconv-lite/encodings/tables/cp949.json         |  273 ++
 .../iconv-lite/encodings/tables/cp950.json         |  177 +
 .../iconv-lite/encodings/tables/eucjp.json         |  182 +
 .../encodings/tables/gb18030-ranges.json           |    1 +
 .../iconv-lite/encodings/tables/gbk-added.json     |   55 +
 .../iconv-lite/encodings/tables/shiftjis.json      |  125 +
 .../node_modules/iconv-lite/encodings/utf16.js     |  177 +
 .../node_modules/iconv-lite/encodings/utf7.js      |  290 ++
 .../node_modules/iconv-lite/lib/bom-handling.js    |   52 +
 .../node_modules/iconv-lite/lib/extend-node.js     |  217 ++
 .../node_modules/iconv-lite/lib/index.d.ts         |   24 +
 .../fsevents/node_modules/iconv-lite/lib/index.js  |  153 +
 .../node_modules/iconv-lite/lib/streams.js         |  121 +
 .../fsevents/node_modules/iconv-lite/package.json  |   76 +
 .../fsevents/node_modules/ignore-walk/LICENSE      |   15 +
 .../fsevents/node_modules/ignore-walk/README.md    |   60 +
 .../fsevents/node_modules/ignore-walk/index.js     |  269 ++
 .../fsevents/node_modules/ignore-walk/package.json |   74 +
 .../fsevents/node_modules/inflight/LICENSE         |   15 +
 .../fsevents/node_modules/inflight/README.md       |   37 +
 .../fsevents/node_modules/inflight/inflight.js     |   54 +
 .../fsevents/node_modules/inflight/package.json    |   58 +
 .../fsevents/node_modules/inherits/LICENSE         |   16 +
 .../fsevents/node_modules/inherits/README.md       |   42 +
 .../fsevents/node_modules/inherits/inherits.js     |    9 +
 .../node_modules/inherits/inherits_browser.js      |   27 +
 .../fsevents/node_modules/inherits/package.json    |   62 +
 .../node_modules/fsevents/node_modules/ini/LICENSE |   15 +
 .../fsevents/node_modules/ini/README.md            |  102 +
 .../node_modules/fsevents/node_modules/ini/ini.js  |  194 ++
 .../fsevents/node_modules/ini/package.json         |   63 +
 .../node_modules/is-fullwidth-code-point/index.js  |   46 +
 .../node_modules/is-fullwidth-code-point/license   |   21 +
 .../is-fullwidth-code-point/package.json           |   77 +
 .../node_modules/is-fullwidth-code-point/readme.md |   39 +
 .../fsevents/node_modules/isarray/.npmignore       |    1 +
 .../fsevents/node_modules/isarray/.travis.yml      |    4 +
 .../fsevents/node_modules/isarray/Makefile         |    6 +
 .../fsevents/node_modules/isarray/README.md        |   60 +
 .../fsevents/node_modules/isarray/component.json   |   19 +
 .../fsevents/node_modules/isarray/index.js         |    5 +
 .../fsevents/node_modules/isarray/package.json     |   73 +
 .../fsevents/node_modules/isarray/test.js          |   20 +
 .../fsevents/node_modules/minimatch/LICENSE        |   15 +
 .../fsevents/node_modules/minimatch/README.md      |  209 ++
 .../fsevents/node_modules/minimatch/minimatch.js   |  923 +++++
 .../fsevents/node_modules/minimatch/package.json   |   64 +
 .../fsevents/node_modules/minimist/.travis.yml     |    4 +
 .../fsevents/node_modules/minimist/LICENSE         |   18 +
 .../node_modules/minimist/example/parse.js         |    2 +
 .../fsevents/node_modules/minimist/index.js        |  187 ++
 .../fsevents/node_modules/minimist/package.json    |   71 +
 .../fsevents/node_modules/minimist/readme.markdown |   73 +
 .../fsevents/node_modules/minimist/test/dash.js    |   24 +
 .../node_modules/minimist/test/default_bool.js     |   20 +
 .../fsevents/node_modules/minimist/test/dotted.js  |   16 +
 .../fsevents/node_modules/minimist/test/long.js    |   31 +
 .../fsevents/node_modules/minimist/test/parse.js   |  318 ++
 .../node_modules/minimist/test/parse_modified.js   |    9 +
 .../fsevents/node_modules/minimist/test/short.js   |   67 +
 .../node_modules/minimist/test/whitespace.js       |    8 +
 .../fsevents/node_modules/minipass/LICENSE         |   15 +
 .../fsevents/node_modules/minipass/README.md       |  606 ++++
 .../fsevents/node_modules/minipass/index.js        |  537 +++
 .../fsevents/node_modules/minipass/package.json    |   72 +
 .../fsevents/node_modules/minizlib/LICENSE         |   26 +
 .../fsevents/node_modules/minizlib/README.md       |   53 +
 .../fsevents/node_modules/minizlib/constants.js    |  115 +
 .../fsevents/node_modules/minizlib/index.js        |  320 ++
 .../fsevents/node_modules/minizlib/package.json    |   71 +
 .../fsevents/node_modules/mkdirp/.travis.yml       |    8 +
 .../fsevents/node_modules/mkdirp/LICENSE           |   21 +
 .../fsevents/node_modules/mkdirp/bin/cmd.js        |   33 +
 .../fsevents/node_modules/mkdirp/bin/usage.txt     |   12 +
 .../fsevents/node_modules/mkdirp/examples/pow.js   |    6 +
 .../fsevents/node_modules/mkdirp/index.js          |   98 +
 .../fsevents/node_modules/mkdirp/package.json      |   63 +
 .../fsevents/node_modules/mkdirp/readme.markdown   |  100 +
 .../fsevents/node_modules/mkdirp/test/chmod.js     |   41 +
 .../fsevents/node_modules/mkdirp/test/clobber.js   |   38 +
 .../fsevents/node_modules/mkdirp/test/mkdirp.js    |   28 +
 .../fsevents/node_modules/mkdirp/test/opts_fs.js   |   29 +
 .../node_modules/mkdirp/test/opts_fs_sync.js       |   27 +
 .../fsevents/node_modules/mkdirp/test/perm.js      |   32 +
 .../fsevents/node_modules/mkdirp/test/perm_sync.js |   36 +
 .../fsevents/node_modules/mkdirp/test/race.js      |   37 +
 .../fsevents/node_modules/mkdirp/test/rel.js       |   32 +
 .../fsevents/node_modules/mkdirp/test/return.js    |   25 +
 .../node_modules/mkdirp/test/return_sync.js        |   24 +
 .../fsevents/node_modules/mkdirp/test/root.js      |   19 +
 .../fsevents/node_modules/mkdirp/test/sync.js      |   32 +
 .../fsevents/node_modules/mkdirp/test/umask.js     |   28 +
 .../node_modules/mkdirp/test/umask_sync.js         |   32 +
 .../node_modules/fsevents/node_modules/ms/index.js |  162 +
 .../fsevents/node_modules/ms/license.md            |   21 +
 .../fsevents/node_modules/ms/package.json          |   69 +
 .../fsevents/node_modules/ms/readme.md             |   60 +
 .../fsevents/node_modules/needle/README.md         |  593 ++++
 .../fsevents/node_modules/needle/bin/needle        |   40 +
 .../needle/examples/deflated-stream.js             |   22 +
 .../node_modules/needle/examples/digest-auth.js    |   16 +
 .../needle/examples/download-to-file.js            |   18 +
 .../needle/examples/multipart-stream.js            |   25 +
 .../node_modules/needle/examples/parsed-stream.js  |   23 +
 .../node_modules/needle/examples/parsed-stream2.js |   21 +
 .../node_modules/needle/examples/stream-events.js  |   23 +
 .../node_modules/needle/examples/stream-to-file.js |   14 +
 .../node_modules/needle/examples/upload-image.js   |   51 +
 .../fsevents/node_modules/needle/lib/auth.js       |  110 +
 .../fsevents/node_modules/needle/lib/cookies.js    |   79 +
 .../fsevents/node_modules/needle/lib/decoder.js    |   53 +
 .../fsevents/node_modules/needle/lib/multipart.js  |   98 +
 .../fsevents/node_modules/needle/lib/needle.js     |  797 +++++
 .../fsevents/node_modules/needle/lib/parsers.js    |  120 +
 .../node_modules/needle/lib/querystring.js         |   49 +
 .../fsevents/node_modules/needle/license.txt       |   19 +
 .../fsevents/node_modules/needle/package.json      |  102 +
 .../node_modules/needle/test/basic_auth_spec.js    |  196 ++
 .../node_modules/needle/test/compression_spec.js   |   94 +
 .../node_modules/needle/test/cookies_spec.js       |  305 ++
 .../node_modules/needle/test/decoder_spec.js       |   86 +
 .../node_modules/needle/test/errors_spec.js        |  286 ++
 .../node_modules/needle/test/headers_spec.js       |  198 ++
 .../fsevents/node_modules/needle/test/helpers.js   |   72 +
 .../node_modules/needle/test/long_string_spec.js   |   34 +
 .../node_modules/needle/test/output_spec.js        |  254 ++
 .../node_modules/needle/test/parsing_spec.js       |  494 +++
 .../node_modules/needle/test/post_data_spec.js     | 1021 ++++++
 .../node_modules/needle/test/proxy_spec.js         |  202 ++
 .../node_modules/needle/test/querystring_spec.js   |  128 +
 .../node_modules/needle/test/redirect_spec.js      |  392 +++
 .../needle/test/redirect_with_timeout.js           |   45 +
 .../needle/test/request_stream_spec.js             |  202 ++
 .../needle/test/response_stream_spec.js            |  139 +
 .../node_modules/needle/test/socket_pool_spec.js   |   66 +
 .../fsevents/node_modules/needle/test/url_spec.js  |  155 +
 .../node_modules/needle/test/utils/formidable.js   |   17 +
 .../node_modules/needle/test/utils/proxy.js        |   62 +
 .../node_modules/needle/test/utils/test.js         |  104 +
 .../node_modules/node-pre-gyp/CHANGELOG.md         |  443 +++
 .../fsevents/node_modules/node-pre-gyp/LICENSE     |   27 +
 .../fsevents/node_modules/node-pre-gyp/README.md   |  693 ++++
 .../node_modules/node-pre-gyp/appveyor.yml         |   30 +
 .../node_modules/node-pre-gyp/bin/node-pre-gyp     |  134 +
 .../node_modules/node-pre-gyp/bin/node-pre-gyp.cmd |    2 +
 .../node_modules/node-pre-gyp/contributing.md      |   10 +
 .../node_modules/node-pre-gyp/lib/build.js         |   51 +
 .../node_modules/node-pre-gyp/lib/clean.js         |   32 +
 .../node_modules/node-pre-gyp/lib/configure.js     |   52 +
 .../fsevents/node_modules/node-pre-gyp/lib/info.js |   40 +
 .../node_modules/node-pre-gyp/lib/install.js       |  285 ++
 .../node_modules/node-pre-gyp/lib/node-pre-gyp.js  |  203 ++
 .../node_modules/node-pre-gyp/lib/package.js       |   56 +
 .../node_modules/node-pre-gyp/lib/pre-binding.js   |   30 +
 .../node_modules/node-pre-gyp/lib/publish.js       |   79 +
 .../node_modules/node-pre-gyp/lib/rebuild.js       |   21 +
 .../node_modules/node-pre-gyp/lib/reinstall.js     |   20 +
 .../node_modules/node-pre-gyp/lib/reveal.js        |   33 +
 .../node_modules/node-pre-gyp/lib/testbinary.js    |   81 +
 .../node_modules/node-pre-gyp/lib/testpackage.js   |   55 +
 .../node_modules/node-pre-gyp/lib/unpublish.js     |   43 +
 .../node-pre-gyp/lib/util/abi_crosswalk.json       | 2070 ++++++++++++
 .../node_modules/node-pre-gyp/lib/util/compile.js  |   87 +
 .../node-pre-gyp/lib/util/handle_gyp_opts.js       |  103 +
 .../node_modules/node-pre-gyp/lib/util/napi.js     |  205 ++
 .../node-pre-gyp/lib/util/nw-pre-gyp/index.html    |   26 +
 .../node-pre-gyp/lib/util/nw-pre-gyp/package.json  |    9 +
 .../node_modules/node-pre-gyp/lib/util/s3_setup.js |   27 +
 .../node-pre-gyp/lib/util/versioning.js            |  331 ++
 .../node_modules/node-pre-gyp/package.json         |   86 +
 .../fsevents/node_modules/nopt/.npmignore          |    1 +
 .../fsevents/node_modules/nopt/.travis.yml         |    8 +
 .../fsevents/node_modules/nopt/CHANGELOG.md        |   58 +
 .../fsevents/node_modules/nopt/LICENSE             |   15 +
 .../fsevents/node_modules/nopt/README.md           |  213 ++
 .../fsevents/node_modules/nopt/bin/nopt.js         |   54 +
 .../node_modules/nopt/examples/my-program.js       |   30 +
 .../fsevents/node_modules/nopt/lib/nopt.js         |  436 +++
 .../fsevents/node_modules/nopt/package.json        |   58 +
 .../fsevents/node_modules/nopt/test/basic.js       |  303 ++
 .../fsevents/node_modules/npm-bundled/LICENSE      |   15 +
 .../fsevents/node_modules/npm-bundled/README.md    |   48 +
 .../fsevents/node_modules/npm-bundled/index.js     |  249 ++
 .../fsevents/node_modules/npm-bundled/package.json |   63 +
 .../npm-normalize-package-bin/.github/settings.yml |    2 +
 .../npm-normalize-package-bin/.npmignore           |   24 +
 .../node_modules/npm-normalize-package-bin/LICENSE |   15 +
 .../npm-normalize-package-bin/README.md            |   14 +
 .../npm-normalize-package-bin/index.js             |   60 +
 .../npm-normalize-package-bin/package-lock.json    | 3529 ++++++++++++++++++++
 .../npm-normalize-package-bin/package.json         |   57 +
 .../npm-normalize-package-bin/test/array.js        |   37 +
 .../npm-normalize-package-bin/test/nobin.js        |   35 +
 .../npm-normalize-package-bin/test/object.js       |  141 +
 .../npm-normalize-package-bin/test/string.js       |   37 +
 .../fsevents/node_modules/npm-packlist/LICENSE     |   15 +
 .../fsevents/node_modules/npm-packlist/README.md   |   68 +
 .../fsevents/node_modules/npm-packlist/index.js    |  289 ++
 .../node_modules/npm-packlist/package.json         |   73 +
 .../fsevents/node_modules/npmlog/CHANGELOG.md      |   49 +
 .../fsevents/node_modules/npmlog/LICENSE           |   15 +
 .../fsevents/node_modules/npmlog/README.md         |  216 ++
 .../fsevents/node_modules/npmlog/log.js            |  309 ++
 .../fsevents/node_modules/npmlog/package.json      |   61 +
 .../fsevents/node_modules/number-is-nan/index.js   |    4 +
 .../fsevents/node_modules/number-is-nan/license    |   21 +
 .../node_modules/number-is-nan/package.json        |   67 +
 .../fsevents/node_modules/number-is-nan/readme.md  |   28 +
 .../fsevents/node_modules/object-assign/index.js   |   90 +
 .../fsevents/node_modules/object-assign/license    |   21 +
 .../node_modules/object-assign/package.json        |   74 +
 .../fsevents/node_modules/object-assign/readme.md  |   61 +
 .../fsevents/node_modules/once/LICENSE             |   15 +
 .../fsevents/node_modules/once/README.md           |   79 +
 .../fsevents/node_modules/once/once.js             |   42 +
 .../fsevents/node_modules/once/package.json        |   67 +
 .../fsevents/node_modules/os-homedir/index.js      |   24 +
 .../fsevents/node_modules/os-homedir/license       |   21 +
 .../fsevents/node_modules/os-homedir/package.json  |   73 +
 .../fsevents/node_modules/os-homedir/readme.md     |   31 +
 .../fsevents/node_modules/os-tmpdir/index.js       |   25 +
 .../fsevents/node_modules/os-tmpdir/license        |   21 +
 .../fsevents/node_modules/os-tmpdir/package.json   |   73 +
 .../fsevents/node_modules/os-tmpdir/readme.md      |   32 +
 .../fsevents/node_modules/osenv/LICENSE            |   15 +
 .../fsevents/node_modules/osenv/README.md          |   63 +
 .../fsevents/node_modules/osenv/osenv.js           |   72 +
 .../fsevents/node_modules/osenv/package.json       |   73 +
 .../node_modules/path-is-absolute/index.js         |   20 +
 .../fsevents/node_modules/path-is-absolute/license |   21 +
 .../node_modules/path-is-absolute/package.json     |   75 +
 .../node_modules/path-is-absolute/readme.md        |   59 +
 .../node_modules/process-nextick-args/index.js     |   45 +
 .../node_modules/process-nextick-args/license.md   |   19 +
 .../node_modules/process-nextick-args/package.json |   50 +
 .../node_modules/process-nextick-args/readme.md    |   18 +
 .../fsevents/node_modules/rc/LICENSE.APACHE2       |   15 +
 .../fsevents/node_modules/rc/LICENSE.BSD           |   26 +
 .../fsevents/node_modules/rc/LICENSE.MIT           |   24 +
 .../fsevents/node_modules/rc/README.md             |  227 ++
 .../fsevents/node_modules/rc/browser.js            |    7 +
 .../node_modules/fsevents/node_modules/rc/cli.js   |    4 +
 .../node_modules/fsevents/node_modules/rc/index.js |   53 +
 .../fsevents/node_modules/rc/lib/utils.js          |  104 +
 .../rc/node_modules/minimist/.travis.yml           |    8 +
 .../node_modules/rc/node_modules/minimist/LICENSE  |   18 +
 .../rc/node_modules/minimist/example/parse.js      |    2 +
 .../node_modules/rc/node_modules/minimist/index.js |  236 ++
 .../rc/node_modules/minimist/package.json          |   73 +
 .../rc/node_modules/minimist/readme.markdown       |   91 +
 .../rc/node_modules/minimist/test/all_bool.js      |   32 +
 .../rc/node_modules/minimist/test/bool.js          |  166 +
 .../rc/node_modules/minimist/test/dash.js          |   31 +
 .../rc/node_modules/minimist/test/default_bool.js  |   35 +
 .../rc/node_modules/minimist/test/dotted.js        |   22 +
 .../rc/node_modules/minimist/test/kv_short.js      |   16 +
 .../rc/node_modules/minimist/test/long.js          |   31 +
 .../rc/node_modules/minimist/test/num.js           |   36 +
 .../rc/node_modules/minimist/test/parse.js         |  197 ++
 .../node_modules/minimist/test/parse_modified.js   |    9 +
 .../rc/node_modules/minimist/test/short.js         |   67 +
 .../rc/node_modules/minimist/test/stop_early.js    |   15 +
 .../rc/node_modules/minimist/test/unknown.js       |  102 +
 .../rc/node_modules/minimist/test/whitespace.js    |    8 +
 .../fsevents/node_modules/rc/package.json          |   64 +
 .../fsevents/node_modules/rc/test/ini.js           |   16 +
 .../node_modules/rc/test/nested-env-vars.js        |   50 +
 .../fsevents/node_modules/rc/test/test.js          |   59 +
 .../node_modules/readable-stream/.travis.yml       |   55 +
 .../node_modules/readable-stream/CONTRIBUTING.md   |   38 +
 .../node_modules/readable-stream/GOVERNANCE.md     |  136 +
 .../fsevents/node_modules/readable-stream/LICENSE  |   47 +
 .../node_modules/readable-stream/README.md         |   58 +
 .../readable-stream/doc/wg-meetings/2015-01-30.md  |   60 +
 .../node_modules/readable-stream/duplex-browser.js |    1 +
 .../node_modules/readable-stream/duplex.js         |    1 +
 .../readable-stream/lib/_stream_duplex.js          |  131 +
 .../readable-stream/lib/_stream_passthrough.js     |   47 +
 .../readable-stream/lib/_stream_readable.js        | 1019 ++++++
 .../readable-stream/lib/_stream_transform.js       |  214 ++
 .../readable-stream/lib/_stream_writable.js        |  687 ++++
 .../lib/internal/streams/BufferList.js             |   79 +
 .../lib/internal/streams/destroy.js                |   74 +
 .../lib/internal/streams/stream-browser.js         |    1 +
 .../readable-stream/lib/internal/streams/stream.js |    1 +
 .../node_modules/readable-stream/package.json      |   81 +
 .../node_modules/readable-stream/passthrough.js    |    1 +
 .../readable-stream/readable-browser.js            |    7 +
 .../node_modules/readable-stream/readable.js       |   19 +
 .../node_modules/readable-stream/transform.js      |    1 +
 .../readable-stream/writable-browser.js            |    1 +
 .../node_modules/readable-stream/writable.js       |    8 +
 .../fsevents/node_modules/rimraf/LICENSE           |   15 +
 .../fsevents/node_modules/rimraf/README.md         |  101 +
 .../fsevents/node_modules/rimraf/bin.js            |   50 +
 .../fsevents/node_modules/rimraf/package.json      |   67 +
 .../fsevents/node_modules/rimraf/rimraf.js         |  372 +++
 .../fsevents/node_modules/safe-buffer/LICENSE      |   21 +
 .../fsevents/node_modules/safe-buffer/README.md    |  584 ++++
 .../fsevents/node_modules/safe-buffer/index.d.ts   |  187 ++
 .../fsevents/node_modules/safe-buffer/index.js     |   62 +
 .../fsevents/node_modules/safe-buffer/package.json |   65 +
 .../fsevents/node_modules/safer-buffer/LICENSE     |   21 +
 .../node_modules/safer-buffer/Porting-Buffer.md    |  268 ++
 .../fsevents/node_modules/safer-buffer/Readme.md   |  156 +
 .../node_modules/safer-buffer/dangerous.js         |   58 +
 .../node_modules/safer-buffer/package.json         |   60 +
 .../fsevents/node_modules/safer-buffer/safer.js    |   77 +
 .../fsevents/node_modules/safer-buffer/tests.js    |  406 +++
 .../node_modules/fsevents/node_modules/sax/LICENSE |   41 +
 .../fsevents/node_modules/sax/README.md            |  225 ++
 .../fsevents/node_modules/sax/lib/sax.js           | 1565 +++++++++
 .../fsevents/node_modules/sax/package.json         |   61 +
 .../fsevents/node_modules/semver/CHANGELOG.md      |   39 +
 .../fsevents/node_modules/semver/LICENSE           |   15 +
 .../fsevents/node_modules/semver/README.md         |  412 +++
 .../fsevents/node_modules/semver/bin/semver        |  160 +
 .../fsevents/node_modules/semver/package.json      |   60 +
 .../fsevents/node_modules/semver/range.bnf         |   16 +
 .../fsevents/node_modules/semver/semver.js         | 1483 ++++++++
 .../node_modules/set-blocking/CHANGELOG.md         |   26 +
 .../fsevents/node_modules/set-blocking/LICENSE.txt |   14 +
 .../fsevents/node_modules/set-blocking/README.md   |   31 +
 .../fsevents/node_modules/set-blocking/index.js    |    7 +
 .../node_modules/set-blocking/package.json         |   70 +
 .../fsevents/node_modules/signal-exit/CHANGELOG.md |   27 +
 .../fsevents/node_modules/signal-exit/LICENSE.txt  |   16 +
 .../fsevents/node_modules/signal-exit/README.md    |   40 +
 .../fsevents/node_modules/signal-exit/index.js     |  157 +
 .../fsevents/node_modules/signal-exit/package.json |   66 +
 .../fsevents/node_modules/signal-exit/signals.js   |   53 +
 .../fsevents/node_modules/string-width/index.js    |   37 +
 .../fsevents/node_modules/string-width/license     |   21 +
 .../node_modules/string-width/package.json         |   89 +
 .../fsevents/node_modules/string-width/readme.md   |   42 +
 .../node_modules/string_decoder/.travis.yml        |   50 +
 .../fsevents/node_modules/string_decoder/LICENSE   |   48 +
 .../fsevents/node_modules/string_decoder/README.md |   47 +
 .../string_decoder/lib/string_decoder.js           |  296 ++
 .../node_modules/string_decoder/package.json       |   59 +
 .../fsevents/node_modules/strip-ansi/index.js      |    6 +
 .../fsevents/node_modules/strip-ansi/license       |   21 +
 .../fsevents/node_modules/strip-ansi/package.json  |  102 +
 .../fsevents/node_modules/strip-ansi/readme.md     |   33 +
 .../node_modules/strip-json-comments/index.js      |   70 +
 .../node_modules/strip-json-comments/license       |   21 +
 .../node_modules/strip-json-comments/package.json  |   74 +
 .../node_modules/strip-json-comments/readme.md     |   64 +
 .../node_modules/fsevents/node_modules/tar/LICENSE |   15 +
 .../fsevents/node_modules/tar/README.md            |  954 ++++++
 .../fsevents/node_modules/tar/index.js             |   18 +
 .../fsevents/node_modules/tar/lib/buffer.js        |   11 +
 .../fsevents/node_modules/tar/lib/create.js        |  105 +
 .../fsevents/node_modules/tar/lib/extract.js       |  112 +
 .../fsevents/node_modules/tar/lib/header.js        |  289 ++
 .../node_modules/tar/lib/high-level-opt.js         |   29 +
 .../fsevents/node_modules/tar/lib/large-numbers.js |   97 +
 .../fsevents/node_modules/tar/lib/list.js          |  130 +
 .../fsevents/node_modules/tar/lib/mkdir.js         |  206 ++
 .../fsevents/node_modules/tar/lib/mode-fix.js      |   14 +
 .../fsevents/node_modules/tar/lib/pack.js          |  404 +++
 .../fsevents/node_modules/tar/lib/parse.js         |  428 +++
 .../fsevents/node_modules/tar/lib/pax.js           |  146 +
 .../fsevents/node_modules/tar/lib/read-entry.js    |   98 +
 .../fsevents/node_modules/tar/lib/replace.js       |  220 ++
 .../fsevents/node_modules/tar/lib/types.js         |   44 +
 .../fsevents/node_modules/tar/lib/unpack.js        |  621 ++++
 .../fsevents/node_modules/tar/lib/update.js        |   36 +
 .../fsevents/node_modules/tar/lib/warn-mixin.js    |   14 +
 .../fsevents/node_modules/tar/lib/winchars.js      |   23 +
 .../fsevents/node_modules/tar/lib/write-entry.js   |  422 +++
 .../fsevents/node_modules/tar/package.json         |   82 +
 .../node_modules/util-deprecate/History.md         |   16 +
 .../fsevents/node_modules/util-deprecate/LICENSE   |   24 +
 .../fsevents/node_modules/util-deprecate/README.md |   53 +
 .../node_modules/util-deprecate/browser.js         |   67 +
 .../fsevents/node_modules/util-deprecate/node.js   |    6 +
 .../node_modules/util-deprecate/package.json       |   56 +
 .../fsevents/node_modules/wide-align/LICENSE       |   14 +
 .../fsevents/node_modules/wide-align/README.md     |   47 +
 .../fsevents/node_modules/wide-align/align.js      |   65 +
 .../fsevents/node_modules/wide-align/package.json  |   66 +
 .../fsevents/node_modules/wrappy/LICENSE           |   15 +
 .../fsevents/node_modules/wrappy/README.md         |   36 +
 .../fsevents/node_modules/wrappy/package.json      |   59 +
 .../fsevents/node_modules/wrappy/wrappy.js         |   33 +
 .../fsevents/node_modules/yallist/LICENSE          |   15 +
 .../fsevents/node_modules/yallist/README.md        |  204 ++
 .../fsevents/node_modules/yallist/iterator.js      |    8 +
 .../fsevents/node_modules/yallist/package.json     |   63 +
 .../fsevents/node_modules/yallist/yallist.js       |  426 +++
 .../node_modules/fsevents/package.json             |   36 +
 .../node_modules/fsevents/src/async.cc             |   43 +
 .../node_modules/fsevents/src/constants.cc         |  110 +
 .../node_modules/fsevents/src/methods.cc           |   44 +
 .../node_modules/fsevents/src/storage.cc           |   27 +
 .../node_modules/fsevents/src/thread.cc            |   71 +
 .../node_modules/fsevents/vfs.js                   |   76 +
 .../pylib/gyp/__pycache__/MSVSUtil.cpython-39.pyc  |  Bin 6352 -> 6352 bytes
 .../gyp/__pycache__/MSVSVersion.cpython-39.pyc     |  Bin 12999 -> 12999 bytes
 .../pylib/gyp/__pycache__/__init__.cpython-39.pyc  |  Bin 13455 -> 13455 bytes
 .../pylib/gyp/__pycache__/common.cpython-39.pyc    |  Bin 15271 -> 15271 bytes
 .../gyp/pylib/gyp/__pycache__/input.cpython-39.pyc |  Bin 51925 -> 51925 bytes
 .../gyp/__pycache__/msvs_emulation.cpython-39.pyc  |  Bin 40741 -> 40741 bytes
 .../gyp/__pycache__/ninja_syntax.cpython-39.pyc    |  Bin 4712 -> 4712 bytes
 .../gyp/__pycache__/simple_copy.cpython-39.pyc     |  Bin 1888 -> 1888 bytes
 .../gyp/__pycache__/xcode_emulation.cpython-39.pyc |  Bin 55773 -> 55773 bytes
 .../gyp/__pycache__/xcode_ninja.cpython-39.pyc     |  Bin 6900 -> 6900 bytes
 .../gyp/__pycache__/xcodeproj_file.cpython-39.pyc  |  Bin 76891 -> 76891 bytes
 .../generator/__pycache__/__init__.cpython-39.pyc  |  Bin 236 -> 236 bytes
 .../gyp/generator/__pycache__/make.cpython-39.pyc  |  Bin 63116 -> 63116 bytes
 .../gyp/generator/__pycache__/ninja.cpython-39.pyc |  Bin 60203 -> 60203 bytes
 .../gyp/generator/__pycache__/xcode.cpython-39.pyc |  Bin 21707 -> 21707 bytes
 .../.yarn/cache/fsevents-patch-fcdf30aaca-8.zip    |  Bin 0 -> 12793 bytes
 .../node_modules/fsevents}/.ready                  |    0
 .../node_modules/fsevents/.travis.yml              |  103 +
 .../node_modules/fsevents/ISSUE_TEMPLATE.md        |    8 +
 .../node_modules/fsevents/LICENSE                  |   22 +
 .../node_modules/fsevents/Readme.md                |   78 +
 .../node_modules/fsevents/binding.gyp              |   21 +
 .../node_modules/fsevents/fsevents.cc              |   88 +
 .../node_modules/fsevents/fsevents.js              |  108 +
 .../node_modules/fsevents/install.js               |   13 +
 .../node_modules/fsevents/package.json             |   34 +
 .../node_modules/fsevents/src/async.cc             |   43 +
 .../node_modules/fsevents/src/constants.cc         |  110 +
 .../node_modules/fsevents/src/methods.cc           |   44 +
 .../node_modules/fsevents/src/storage.cc           |   27 +
 .../node_modules/fsevents/src/thread.cc            |   71 +
 .../node_modules/fsevents/vfs.js                   |   76 +
 .../node_modules/gifsicle/vendor/gifsicle          |  Bin 734392 -> 283280 bytes
 .../gifsicle/vendor/share/man/man1/gifsicle.1      | 1318 ++++++++
 .../optipng-bin/vendor/man/man1/optipng.1          |  343 ++
 .../node_modules/optipng-bin/vendor/optipng        |  Bin 130680 -> 182952 bytes
 yarn.lock                                          |  274 +-
 646 files changed, 67512 insertions(+), 255 deletions(-)

diff --git a/.pnp.cjs b/.pnp.cjs
index 4c7d4c7..f6fbd3f 100755
--- a/.pnp.cjs
+++ b/.pnp.cjs
@@ -40,11 +40,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         [null, {
           "packageLocation": "./",
           "packageDependencies": [
-            ["@antora/cli", "npm:3.0.0-alpha.10"],
-            ["@antora/site-generator-default", "npm:3.0.0-alpha.10"],
+            ["@antora/cli", "npm:3.0.0-beta.1"],
+            ["@antora/site-generator-default", "npm:3.0.0-beta.1"],
             ["@deadlinks/cargo-deadlinks", "github-release:deadlinks/cargo-deadlinks:0.8.0/deadlinks-linux"],
-            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-alpha.1"],
-            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-alpha.1"],
+            ["@djencks/antora-aggregate-collector", "npm:0.1.0-beta.1"],
+            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-beta.1"],
+            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-beta.1"],
             ["@oclif/errors", "npm:1.3.4"],
             ["antora-ui-camel", "workspace:antora-ui-camel"],
             ["del", "npm:6.0.0"],
@@ -213,11 +214,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/asciidoc-loader", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-alpha.10-1bfce6ae54-b79c28f304.zip/node_modules/@antora/asciidoc-loader/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip/node_modules/@antora/asciidoc-loader/",
           "packageDependencies": [
-            ["@antora/asciidoc-loader", "npm:3.0.0-alpha.10"],
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
+            ["@antora/asciidoc-loader", "npm:3.0.0-beta.1"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
             ["@antora/user-require-helper", "npm:2.0.0"],
             ["@asciidoctor/core", "npm:2.2.5"]
           ],
@@ -225,33 +226,32 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/cli", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-cli-npm-3.0.0-alpha.10-2658c19379-92dcda7e7a.zip/node_modules/@antora/cli/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip/node_modules/@antora/cli/",
           "packageDependencies": [
-            ["@antora/cli", "npm:3.0.0-alpha.10"],
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
-            ["@antora/playbook-builder", "npm:3.0.0-alpha.10"],
+            ["@antora/cli", "npm:3.0.0-beta.1"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
+            ["@antora/playbook-builder", "npm:3.0.0-beta.1"],
             ["@antora/user-require-helper", "npm:2.0.0"],
-            ["commander", "npm:7.2.0"]
+            ["commander", "npm:8.3.0"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/content-aggregator", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-content-aggregator-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip/node_modules/@antora/content-aggregator/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-content-aggregator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip/node_modules/@antora/content-aggregator/",
           "packageDependencies": [
-            ["@antora/content-aggregator", "npm:3.0.0-alpha.10"],
+            ["@antora/content-aggregator", "npm:3.0.0-beta.1"],
             ["@antora/expand-path-helper", "npm:2.0.0"],
             ["@antora/user-require-helper", "npm:2.0.0"],
             ["braces", "npm:3.0.2"],
             ["cache-directory", "npm:2.0.0"],
-            ["camelcase-keys", "npm:6.2.2"],
+            ["camelcase-keys", "npm:7.0.1"],
             ["hpagent", "npm:0.1.2"],
             ["isomorphic-git", "npm:1.10.0"],
             ["js-yaml", "npm:4.1.0"],
-            ["matcher", "npm:4.0.0"],
-            ["multi-progress", "virtual:9c905fd235859e703ad13a3f9b73bbd01ee7a643683ab75c410d983319c419c0c83588c50c79bf397a09214a677521d6748520f6c8e8e985b28aa2dbd2c38ed4#npm:4.0.0"],
+            ["multi-progress", "virtual:cff135cf8171beb0df07ff56d73432d014c0d17f5a53eab5c6f0e4227d24944f1b35b2de085edacdf062c0117e017378d591b58f5928e506e00329932d09c91c#npm:4.0.0"],
             ["picomatch", "npm:2.3.0"],
             ["progress", "npm:2.0.3"],
             ["should-proxy", "npm:1.0.4"],
@@ -263,11 +263,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/content-classifier", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-content-classifier-npm-3.0.0-alpha.10-a7aae684d0-59031bd51e.zip/node_modules/@antora/content-classifier/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-content-classifier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip/node_modules/@antora/content-classifier/",
           "packageDependencies": [
-            ["@antora/content-classifier", "npm:3.0.0-alpha.10"],
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
+            ["@antora/content-classifier", "npm:3.0.0-beta.1"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
             ["mime-types", "npm:2.1.26"],
             ["vinyl", "npm:2.2.1"]
           ],
@@ -275,11 +275,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/document-converter", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-document-converter-npm-3.0.0-alpha.10-23934f2103-d899b72338.zip/node_modules/@antora/document-converter/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-document-converter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip/node_modules/@antora/document-converter/",
           "packageDependencies": [
-            ["@antora/document-converter", "npm:3.0.0-alpha.10"],
-            ["@antora/asciidoc-loader", "npm:3.0.0-alpha.10"]
+            ["@antora/document-converter", "npm:3.0.0-beta.1"],
+            ["@antora/asciidoc-loader", "npm:3.0.0-beta.1"]
           ],
           "linkType": "HARD",
         }]
@@ -294,34 +294,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/logger", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-logger-npm-3.0.0-alpha.10-86d5d08443-41be84469d.zip/node_modules/@antora/logger/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-logger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip/node_modules/@antora/logger/",
           "packageDependencies": [
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
             ["@antora/expand-path-helper", "npm:2.0.0"],
             ["pino", "npm:6.13.2"],
             ["pino-pretty", "npm:7.1.0"],
-            ["sonic-boom", "npm:2.1.0"]
+            ["sonic-boom", "npm:2.3.1"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/navigation-builder", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-navigation-builder-npm-3.0.0-alpha.10-bcb88528c5-0272a452a1.zip/node_modules/@antora/navigation-builder/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-navigation-builder-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip/node_modules/@antora/navigation-builder/",
           "packageDependencies": [
-            ["@antora/navigation-builder", "npm:3.0.0-alpha.10"],
-            ["@antora/asciidoc-loader", "npm:3.0.0-alpha.10"]
+            ["@antora/navigation-builder", "npm:3.0.0-beta.1"],
+            ["@antora/asciidoc-loader", "npm:3.0.0-beta.1"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/page-composer", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-page-composer-npm-3.0.0-alpha.10-948fad507e-f25feca7fe.zip/node_modules/@antora/page-composer/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-page-composer-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip/node_modules/@antora/page-composer/",
           "packageDependencies": [
-            ["@antora/page-composer", "npm:3.0.0-alpha.10"],
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
+            ["@antora/page-composer", "npm:3.0.0-beta.1"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
             ["handlebars", "npm:4.7.5"],
             ["require-from-string", "npm:2.0.2"]
           ],
@@ -329,13 +329,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/playbook-builder", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-playbook-builder-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip/node_modules/@antora/playbook-builder/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-playbook-builder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip/node_modules/@antora/playbook-builder/",
           "packageDependencies": [
-            ["@antora/playbook-builder", "npm:3.0.0-alpha.10"],
-            ["@antora/logger", "npm:3.0.0-alpha.10"],
+            ["@antora/playbook-builder", "npm:3.0.0-beta.1"],
             ["@iarna/toml", "npm:2.2.5"],
-            ["camelcase-keys", "npm:6.2.2"],
+            ["camelcase-keys", "npm:7.0.1"],
             ["convict", "npm:6.2.1"],
             ["js-yaml", "npm:4.1.0"],
             ["json5", "npm:2.2.0"]
@@ -344,53 +343,53 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/redirect-producer", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-redirect-producer-npm-3.0.0-alpha.10-00bbf250d0-bed1aeab27.zip/node_modules/@antora/redirect-producer/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-redirect-producer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip/node_modules/@antora/redirect-producer/",
           "packageDependencies": [
-            ["@antora/redirect-producer", "npm:3.0.0-alpha.10"],
-            ["@antora/asciidoc-loader", "npm:3.0.0-alpha.10"],
+            ["@antora/redirect-producer", "npm:3.0.0-beta.1"],
+            ["@antora/asciidoc-loader", "npm:3.0.0-beta.1"],
             ["vinyl", "npm:2.2.1"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/site-generator-default", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-site-generator-default-npm-3.0.0-alpha.10-411bc97dd9-eba880351d.zip/node_modules/@antora/site-generator-default/",
-          "packageDependencies": [
-            ["@antora/site-generator-default", "npm:3.0.0-alpha.10"],
-            ["@antora/asciidoc-loader", "npm:3.0.0-alpha.10"],
-            ["@antora/content-aggregator", "npm:3.0.0-alpha.10"],
-            ["@antora/content-classifier", "npm:3.0.0-alpha.10"],
-            ["@antora/document-converter", "npm:3.0.0-alpha.10"],
-            ["@antora/navigation-builder", "npm:3.0.0-alpha.10"],
-            ["@antora/page-composer", "npm:3.0.0-alpha.10"],
-            ["@antora/playbook-builder", "npm:3.0.0-alpha.10"],
-            ["@antora/redirect-producer", "npm:3.0.0-alpha.10"],
-            ["@antora/site-mapper", "npm:3.0.0-alpha.10"],
-            ["@antora/site-publisher", "npm:3.0.0-alpha.10"],
-            ["@antora/ui-loader", "npm:3.0.0-alpha.10"],
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-site-generator-default-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip/node_modules/@antora/site-generator-default/",
+          "packageDependencies": [
+            ["@antora/site-generator-default", "npm:3.0.0-beta.1"],
+            ["@antora/asciidoc-loader", "npm:3.0.0-beta.1"],
+            ["@antora/content-aggregator", "npm:3.0.0-beta.1"],
+            ["@antora/content-classifier", "npm:3.0.0-beta.1"],
+            ["@antora/document-converter", "npm:3.0.0-beta.1"],
+            ["@antora/logger", "npm:3.0.0-beta.1"],
+            ["@antora/navigation-builder", "npm:3.0.0-beta.1"],
+            ["@antora/page-composer", "npm:3.0.0-beta.1"],
+            ["@antora/redirect-producer", "npm:3.0.0-beta.1"],
+            ["@antora/site-mapper", "npm:3.0.0-beta.1"],
+            ["@antora/site-publisher", "npm:3.0.0-beta.1"],
+            ["@antora/ui-loader", "npm:3.0.0-beta.1"],
             ["@antora/user-require-helper", "npm:2.0.0"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/site-mapper", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-site-mapper-npm-3.0.0-alpha.10-bb7e424c4a-7a939550f6.zip/node_modules/@antora/site-mapper/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-site-mapper-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip/node_modules/@antora/site-mapper/",
           "packageDependencies": [
-            ["@antora/site-mapper", "npm:3.0.0-alpha.10"],
-            ["@antora/content-classifier", "npm:3.0.0-alpha.10"],
+            ["@antora/site-mapper", "npm:3.0.0-beta.1"],
+            ["@antora/content-classifier", "npm:3.0.0-beta.1"],
             ["vinyl", "npm:2.2.1"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@antora/site-publisher", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-site-publisher-npm-3.0.0-alpha.10-46135c3a79-6a4a4760a9.zip/node_modules/@antora/site-publisher/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-site-publisher-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip/node_modules/@antora/site-publisher/",
           "packageDependencies": [
-            ["@antora/site-publisher", "npm:3.0.0-alpha.10"],
+            ["@antora/site-publisher", "npm:3.0.0-beta.1"],
             ["@antora/expand-path-helper", "npm:2.0.0"],
             ["@antora/user-require-helper", "npm:2.0.0"],
             ["gulp-vinyl-zip", "npm:2.5.0"],
@@ -401,13 +400,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@antora/ui-loader", [
-        ["npm:3.0.0-alpha.10", {
-          "packageLocation": "./.yarn/cache/@antora-ui-loader-npm-3.0.0-alpha.10-924fef82de-c2f59c4d14.zip/node_modules/@antora/ui-loader/",
+        ["npm:3.0.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@antora-ui-loader-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip/node_modules/@antora/ui-loader/",
           "packageDependencies": [
-            ["@antora/ui-loader", "npm:3.0.0-alpha.10"],
+            ["@antora/ui-loader", "npm:3.0.0-beta.1"],
             ["@antora/expand-path-helper", "npm:2.0.0"],
             ["cache-directory", "npm:2.0.0"],
-            ["camelcase-keys", "npm:6.2.2"],
+            ["camelcase-keys", "npm:7.0.1"],
             ["gulp-vinyl-zip", "npm:2.5.0"],
             ["hpagent", "npm:0.1.2"],
             ["js-yaml", "npm:4.1.0"],
@@ -2454,27 +2453,38 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           "linkType": "HARD",
         }]
       ]],
+      ["@djencks/antora-aggregate-collector", [
+        ["npm:0.1.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@djencks-antora-aggregate-collector-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip/node_modules/@djencks/antora-aggregate-collector/",
+          "packageDependencies": [
+            ["@djencks/antora-aggregate-collector", "npm:0.1.0-beta.1"],
+            ["@iarna/toml", "npm:2.2.5"],
+            ["js-yaml", "npm:4.1.0"],
+            ["json5", "npm:2.2.0"],
+            ["picomatch", "npm:2.3.0"]
+          ],
+          "linkType": "HARD",
+        }]
+      ]],
       ["@djencks/asciidoctor-antora-indexer", [
-        ["npm:0.1.0-alpha.1", {
-          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip/node_modules/@djencks/asciidoctor-antora-indexer/",
+        ["npm:0.1.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip/node_modules/@djencks/asciidoctor-antora-indexer/",
           "packageDependencies": [
-            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-alpha.1"],
-            ["@djencks/asciidoctor-report-support", "npm:0.1.0-alpha.1"],
+            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-beta.1"],
+            ["@djencks/asciidoctor-report-support", "npm:0.1.0-beta.1"],
             ["camelcase-keys", "npm:6.2.2"],
-            ["esprima", "npm:4.0.1"],
-            ["picomatch", "npm:2.1.1"],
-            ["static-eval", "npm:2.1.0"]
+            ["picomatch", "npm:2.1.1"]
           ],
           "linkType": "HARD",
         }]
       ]],
       ["@djencks/asciidoctor-jsonpath", [
-        ["npm:0.1.0-alpha.1", {
-          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip/node_modules/@djencks/asciidoctor-jsonpath/",
+        ["npm:0.1.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip/node_modules/@djencks/asciidoctor-jsonpath/",
           "packageDependencies": [
-            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-alpha.1"],
+            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-beta.1"],
             ["@antora/user-require-helper", "npm:2.0.0"],
-            ["@djencks/asciidoctor-report-support", "npm:0.1.0-alpha.1"],
+            ["@djencks/asciidoctor-report-support", "npm:0.1.0-beta.1"],
             ["@iarna/toml", "npm:2.2.5"],
             ["js-yaml", "npm:4.1.0"],
             ["json5", "npm:2.2.0"],
@@ -2484,12 +2494,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]
       ]],
       ["@djencks/asciidoctor-report-support", [
-        ["npm:0.1.0-alpha.1", {
-          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip/node_modules/@djencks/asciidoctor-report-support/",
+        ["npm:0.1.0-beta.1", {
+          "packageLocation": "./.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip/node_modules/@djencks/asciidoctor-report-support/",
           "packageDependencies": [
-            ["@djencks/asciidoctor-report-support", "npm:0.1.0-alpha.1"],
+            ["@djencks/asciidoctor-report-support", "npm:0.1.0-beta.1"],
             ["@antora/user-require-helper", "npm:2.0.0"],
             ["esprima", "npm:4.0.1"],
+            ["picomatch", "npm:2.1.1"],
             ["static-eval", "npm:2.1.0"]
           ],
           "linkType": "HARD",
@@ -4820,11 +4831,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           "packageLocation": "./",
           "packageDependencies": [
             ["apache-camel-website", "workspace:."],
-            ["@antora/cli", "npm:3.0.0-alpha.10"],
-            ["@antora/site-generator-default", "npm:3.0.0-alpha.10"],
+            ["@antora/cli", "npm:3.0.0-beta.1"],
+            ["@antora/site-generator-default", "npm:3.0.0-beta.1"],
             ["@deadlinks/cargo-deadlinks", "github-release:deadlinks/cargo-deadlinks:0.8.0/deadlinks-linux"],
-            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-alpha.1"],
-            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-alpha.1"],
+            ["@djencks/antora-aggregate-collector", "npm:0.1.0-beta.1"],
+            ["@djencks/asciidoctor-antora-indexer", "npm:0.1.0-beta.1"],
+            ["@djencks/asciidoctor-jsonpath", "npm:0.1.0-beta.1"],
             ["@oclif/errors", "npm:1.3.4"],
             ["antora-ui-camel", "workspace:antora-ui-camel"],
             ["del", "npm:6.0.0"],
@@ -6421,6 +6433,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["quick-lru", "npm:4.0.1"]
           ],
           "linkType": "HARD",
+        }],
+        ["npm:7.0.1", {
+          "packageLocation": "./.yarn/cache/camelcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip/node_modules/camelcase-keys/",
+          "packageDependencies": [
+            ["camelcase-keys", "npm:7.0.1"],
+            ["camelcase", "npm:6.2.0"],
+            ["map-obj", "npm:4.3.0"],
+            ["quick-lru", "npm:5.1.1"],
+            ["type-fest", "npm:1.4.0"]
+          ],
+          "linkType": "HARD",
         }]
       ]],
       ["caniuse-api", [
@@ -7227,6 +7250,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["commander", "npm:7.2.0"]
           ],
           "linkType": "HARD",
+        }],
+        ["npm:8.3.0", {
+          "packageLocation": "./.yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip/node_modules/commander/",
+          "packageDependencies": [
+            ["commander", "npm:8.3.0"]
+          ],
+          "linkType": "HARD",
         }]
       ]],
       ["common-path-prefix", [
@@ -15284,16 +15314,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           "linkType": "HARD",
         }]
       ]],
-      ["matcher", [
-        ["npm:4.0.0", {
-          "packageLocation": "./.yarn/cache/matcher-npm-4.0.0-418060075c-d338aff31d.zip/node_modules/matcher/",
-          "packageDependencies": [
-            ["matcher", "npm:4.0.0"],
-            ["escape-string-regexp", "npm:4.0.0"]
-          ],
-          "linkType": "HARD",
-        }]
-      ]],
       ["mathml-tag-names", [
         ["npm:2.1.3", {
           "packageLocation": "./.yarn/cache/mathml-tag-names-npm-2.1.3-875bd2d6e7-1201a25a13.zip/node_modules/mathml-tag-names/",
@@ -15899,10 +15919,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],
           "linkType": "SOFT",
         }],
-        ["virtual:9c905fd235859e703ad13a3f9b73bbd01ee7a643683ab75c410d983319c419c0c83588c50c79bf397a09214a677521d6748520f6c8e8e985b28aa2dbd2c38ed4#npm:4.0.0", {
-          "packageLocation": "./.yarn/__virtual__/multi-progress-virtual-f7891d6313/0/cache/multi-progress-npm-4.0.0-e647cd6e59-1e1290c3db.zip/node_modules/multi-progress/",
+        ["virtual:cff135cf8171beb0df07ff56d73432d014c0d17f5a53eab5c6f0e4227d24944f1b35b2de085edacdf062c0117e017378d591b58f5928e506e00329932d09c91c#npm:4.0.0", {
+          "packageLocation": "./.yarn/__virtual__/multi-progress-virtual-63bd8f21b8/0/cache/multi-progress-npm-4.0.0-e647cd6e59-1e1290c3db.zip/node_modules/multi-progress/",
           "packageDependencies": [
-            ["multi-progress", "virtual:9c905fd235859e703ad13a3f9b73bbd01ee7a643683ab75c410d983319c419c0c83588c50c79bf397a09214a677521d6748520f6c8e8e985b28aa2dbd2c38ed4#npm:4.0.0"],
+            ["multi-progress", "virtual:cff135cf8171beb0df07ff56d73432d014c0d17f5a53eab5c6f0e4227d24944f1b35b2de085edacdf062c0117e017378d591b58f5928e506e00329932d09c91c#npm:4.0.0"],
             ["@types/progress", null],
             ["progress", "npm:2.0.3"]
           ],
@@ -17850,7 +17870,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["readable-stream", "npm:3.6.0"],
             ["rfdc", "npm:1.3.0"],
             ["secure-json-parse", "npm:2.4.0"],
-            ["sonic-boom", "npm:2.3.0"],
+            ["sonic-boom", "npm:2.3.1"],
             ["strip-json-comments", "npm:3.1.1"]
           ],
           "linkType": "HARD",
@@ -20506,18 +20526,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],
           "linkType": "HARD",
         }],
-        ["npm:2.1.0", {
-          "packageLocation": "./.yarn/cache/sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip/node_modules/sonic-boom/",
-          "packageDependencies": [
-            ["sonic-boom", "npm:2.1.0"],
-            ["atomic-sleep", "npm:1.0.0"]
-          ],
-          "linkType": "HARD",
-        }],
-        ["npm:2.3.0", {
-          "packageLocation": "./.yarn/cache/sonic-boom-npm-2.3.0-6a1292957e-208329d153.zip/node_modules/sonic-boom/",
+        ["npm:2.3.1", {
+          "packageLocation": "./.yarn/cache/sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip/node_modules/sonic-boom/",
           "packageDependencies": [
-            ["sonic-boom", "npm:2.3.0"],
+            ["sonic-boom", "npm:2.3.1"],
             ["atomic-sleep", "npm:1.0.0"]
           ],
           "linkType": "HARD",
@@ -22261,6 +22273,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["type-fest", "npm:0.8.1"]
           ],
           "linkType": "HARD",
+        }],
+        ["npm:1.4.0", {
+          "packageLocation": "./.yarn/cache/type-fest-npm-1.4.0-7dd848962a-b011c33886.zip/node_modules/type-fest/",
+          "packageDependencies": [
+            ["type-fest", "npm:1.4.0"]
+          ],
+          "linkType": "HARD",
         }]
       ]],
       ["type-is", [
diff --git a/.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-alpha.10-1bfce6ae54-b79c28f304.zip b/.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip
similarity index 79%
rename from .yarn/cache/@antora-asciidoc-loader-npm-3.0.0-alpha.10-1bfce6ae54-b79c28f304.zip
rename to .yarn/cache/@antora-asciidoc-loader-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip
index 8a47256..62d3889 100644
Binary files a/.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-alpha.10-1bfce6ae54-b79c28f304.zip and b/.yarn/cache/@antora-asciidoc-loader-npm-3.0.0-beta.1-c10a1c8cbb-ad22592278.zip differ
diff --git a/.yarn/cache/@antora-cli-npm-3.0.0-alpha.10-2658c19379-92dcda7e7a.zip b/.yarn/cache/@antora-cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip
similarity index 57%
rename from .yarn/cache/@antora-cli-npm-3.0.0-alpha.10-2658c19379-92dcda7e7a.zip
rename to .yarn/cache/@antora-cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip
index 301863d..1771a16 100644
Binary files a/.yarn/cache/@antora-cli-npm-3.0.0-alpha.10-2658c19379-92dcda7e7a.zip and b/.yarn/cache/@antora-cli-npm-3.0.0-beta.1-ae7affff1d-3f3a325706.zip differ
diff --git a/.yarn/cache/@antora-content-aggregator-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip b/.yarn/cache/@antora-content-aggregator-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip
deleted file mode 100644
index dbfb514..0000000
Binary files a/.yarn/cache/@antora-content-aggregator-npm-3.0.0-alpha.10-9c905fd235-80d2f75945.zip and /dev/null differ
diff --git a/.yarn/cache/@antora-content-aggregator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip b/.yarn/cache/@antora-content-aggregator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip
new file mode 100644
index 0000000..c5ff2be
Binary files /dev/null and b/.yarn/cache/@antora-content-aggregator-npm-3.0.0-beta.1-cff135cf81-91f4e108cd.zip differ
diff --git a/.yarn/cache/@antora-content-classifier-npm-3.0.0-alpha.10-a7aae684d0-59031bd51e.zip b/.yarn/cache/@antora-content-classifier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip
similarity index 68%
rename from .yarn/cache/@antora-content-classifier-npm-3.0.0-alpha.10-a7aae684d0-59031bd51e.zip
rename to .yarn/cache/@antora-content-classifier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip
index a87a8c2..410ed1c 100644
Binary files a/.yarn/cache/@antora-content-classifier-npm-3.0.0-alpha.10-a7aae684d0-59031bd51e.zip and b/.yarn/cache/@antora-content-classifier-npm-3.0.0-beta.1-55e7c61c25-fc281c81dd.zip differ
diff --git a/.yarn/cache/@antora-document-converter-npm-3.0.0-alpha.10-23934f2103-d899b72338.zip b/.yarn/cache/@antora-document-converter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip
similarity index 55%
rename from .yarn/cache/@antora-document-converter-npm-3.0.0-alpha.10-23934f2103-d899b72338.zip
rename to .yarn/cache/@antora-document-converter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip
index ecaf0c3..5b81d49 100644
Binary files a/.yarn/cache/@antora-document-converter-npm-3.0.0-alpha.10-23934f2103-d899b72338.zip and b/.yarn/cache/@antora-document-converter-npm-3.0.0-beta.1-cc78d6c6b1-e7083e4532.zip differ
diff --git a/.yarn/cache/@antora-logger-npm-3.0.0-alpha.10-86d5d08443-41be84469d.zip b/.yarn/cache/@antora-logger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip
similarity index 56%
rename from .yarn/cache/@antora-logger-npm-3.0.0-alpha.10-86d5d08443-41be84469d.zip
rename to .yarn/cache/@antora-logger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip
index 6a4e75b..fb1611b 100644
Binary files a/.yarn/cache/@antora-logger-npm-3.0.0-alpha.10-86d5d08443-41be84469d.zip and b/.yarn/cache/@antora-logger-npm-3.0.0-beta.1-e8bd7e922b-89a8ff17c3.zip differ
diff --git a/.yarn/cache/@antora-navigation-builder-npm-3.0.0-alpha.10-bcb88528c5-0272a452a1.zip b/.yarn/cache/@antora-navigation-builder-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip
similarity index 57%
rename from .yarn/cache/@antora-navigation-builder-npm-3.0.0-alpha.10-bcb88528c5-0272a452a1.zip
rename to .yarn/cache/@antora-navigation-builder-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip
index c389b93..8eb9f71 100644
Binary files a/.yarn/cache/@antora-navigation-builder-npm-3.0.0-alpha.10-bcb88528c5-0272a452a1.zip and b/.yarn/cache/@antora-navigation-builder-npm-3.0.0-beta.1-15c7bc279d-703a3d95aa.zip differ
diff --git a/.yarn/cache/@antora-page-composer-npm-3.0.0-alpha.10-948fad507e-f25feca7fe.zip b/.yarn/cache/@antora-page-composer-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip
similarity index 90%
rename from .yarn/cache/@antora-page-composer-npm-3.0.0-alpha.10-948fad507e-f25feca7fe.zip
rename to .yarn/cache/@antora-page-composer-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip
index 05791e8..aae944b 100644
Binary files a/.yarn/cache/@antora-page-composer-npm-3.0.0-alpha.10-948fad507e-f25feca7fe.zip and b/.yarn/cache/@antora-page-composer-npm-3.0.0-beta.1-0e3708139b-cd1976207d.zip differ
diff --git a/.yarn/cache/@antora-playbook-builder-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip b/.yarn/cache/@antora-playbook-builder-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip
deleted file mode 100644
index 21c9dbb..0000000
Binary files a/.yarn/cache/@antora-playbook-builder-npm-3.0.0-alpha.10-d20aef1b86-0bd1d3b9bc.zip and /dev/null differ
diff --git a/.yarn/cache/@antora-playbook-builder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip b/.yarn/cache/@antora-playbook-builder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip
new file mode 100644
index 0000000..2a6f310
Binary files /dev/null and b/.yarn/cache/@antora-playbook-builder-npm-3.0.0-beta.1-105fea597f-1c92fd11af.zip differ
diff --git a/.yarn/cache/@antora-redirect-producer-npm-3.0.0-alpha.10-00bbf250d0-bed1aeab27.zip b/.yarn/cache/@antora-redirect-producer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip
similarity index 79%
rename from .yarn/cache/@antora-redirect-producer-npm-3.0.0-alpha.10-00bbf250d0-bed1aeab27.zip
rename to .yarn/cache/@antora-redirect-producer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip
index baf1d1e..3fc2c32 100644
Binary files a/.yarn/cache/@antora-redirect-producer-npm-3.0.0-alpha.10-00bbf250d0-bed1aeab27.zip and b/.yarn/cache/@antora-redirect-producer-npm-3.0.0-beta.1-5fd1a32ec5-4a94eaab48.zip differ
diff --git a/.yarn/cache/@antora-site-generator-default-npm-3.0.0-alpha.10-411bc97dd9-eba880351d.zip b/.yarn/cache/@antora-site-generator-default-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip
similarity index 50%
rename from .yarn/cache/@antora-site-generator-default-npm-3.0.0-alpha.10-411bc97dd9-eba880351d.zip
rename to .yarn/cache/@antora-site-generator-default-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip
index 977ad75..25ce58e 100644
Binary files a/.yarn/cache/@antora-site-generator-default-npm-3.0.0-alpha.10-411bc97dd9-eba880351d.zip and b/.yarn/cache/@antora-site-generator-default-npm-3.0.0-beta.1-14782b17d6-164c5ab742.zip differ
diff --git a/.yarn/cache/@antora-site-mapper-npm-3.0.0-alpha.10-bb7e424c4a-7a939550f6.zip b/.yarn/cache/@antora-site-mapper-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip
similarity index 80%
rename from .yarn/cache/@antora-site-mapper-npm-3.0.0-alpha.10-bb7e424c4a-7a939550f6.zip
rename to .yarn/cache/@antora-site-mapper-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip
index 817b269..08122af 100644
Binary files a/.yarn/cache/@antora-site-mapper-npm-3.0.0-alpha.10-bb7e424c4a-7a939550f6.zip and b/.yarn/cache/@antora-site-mapper-npm-3.0.0-beta.1-2fb9221cf4-4a6d0b9a81.zip differ
diff --git a/.yarn/cache/@antora-site-publisher-npm-3.0.0-alpha.10-46135c3a79-6a4a4760a9.zip b/.yarn/cache/@antora-site-publisher-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip
similarity index 67%
rename from .yarn/cache/@antora-site-publisher-npm-3.0.0-alpha.10-46135c3a79-6a4a4760a9.zip
rename to .yarn/cache/@antora-site-publisher-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip
index d1e689e..2b285b1 100644
Binary files a/.yarn/cache/@antora-site-publisher-npm-3.0.0-alpha.10-46135c3a79-6a4a4760a9.zip and b/.yarn/cache/@antora-site-publisher-npm-3.0.0-beta.1-936c3f3724-a6b0e42411.zip differ
diff --git a/.yarn/cache/@antora-ui-loader-npm-3.0.0-alpha.10-924fef82de-c2f59c4d14.zip b/.yarn/cache/@antora-ui-loader-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip
similarity index 83%
rename from .yarn/cache/@antora-ui-loader-npm-3.0.0-alpha.10-924fef82de-c2f59c4d14.zip
rename to .yarn/cache/@antora-ui-loader-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip
index a81deb2..47cc92f 100644
Binary files a/.yarn/cache/@antora-ui-loader-npm-3.0.0-alpha.10-924fef82de-c2f59c4d14.zip and b/.yarn/cache/@antora-ui-loader-npm-3.0.0-beta.1-6390ffba3e-4b43660841.zip differ
diff --git a/.yarn/cache/@djencks-antora-aggregate-collector-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip b/.yarn/cache/@djencks-antora-aggregate-collector-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip
new file mode 100644
index 0000000..7efb421
Binary files /dev/null and b/.yarn/cache/@djencks-antora-aggregate-collector-npm-0.1.0-beta.1-84fa087266-5307a717bb.zip differ
diff --git a/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip b/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip
deleted file mode 100644
index 1bfdc73..0000000
Binary files a/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-092ca5e29a.zip and /dev/null differ
diff --git a/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip b/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip
new file mode 100644
index 0000000..38ed273
Binary files /dev/null and b/.yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-beta.1-7a927f5ce1-23b1a45f2b.zip differ
diff --git a/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip b/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip
deleted file mode 100644
index b1c816a..0000000
Binary files a/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-29ddfc6794.zip and /dev/null differ
diff --git a/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip b/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip
new file mode 100644
index 0000000..3eebe5c
Binary files /dev/null and b/.yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-beta.1-a4dffb57f0-7e51f8c5a1.zip differ
diff --git a/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip b/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip
deleted file mode 100644
index 175f22a..0000000
Binary files a/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-ac27d4929f.zip and /dev/null differ
diff --git a/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip b/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip
new file mode 100644
index 0000000..7bbd86c
Binary files /dev/null and b/.yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-beta.1-d23786b067-6c457e505b.zip differ
diff --git a/.yarn/cache/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip b/.yarn/cache/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip
new file mode 100644
index 0000000..9c010de
Binary files /dev/null and b/.yarn/cache/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0-8.zip differ
diff --git a/.yarn/cache/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip b/.yarn/cache/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip
new file mode 100644
index 0000000..f6a6121
Binary files /dev/null and b/.yarn/cache/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b-8.zip differ
diff --git a/.yarn/cache/camelcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip b/.yarn/cache/camelcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip
new file mode 100644
index 0000000..9a17682
Binary files /dev/null and b/.yarn/cache/camelcase-keys-npm-7.0.1-6d6ae0a6b2-5dd8554a1e.zip differ
diff --git a/.yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip b/.yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip
new file mode 100644
index 0000000..4f07a5c
Binary files /dev/null and b/.yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip differ
diff --git a/.yarn/cache/fsevents-patch-7450bc5e91-8.zip b/.yarn/cache/fsevents-patch-7450bc5e91-8.zip
new file mode 100644
index 0000000..8043946
Binary files /dev/null and b/.yarn/cache/fsevents-patch-7450bc5e91-8.zip differ
diff --git a/.yarn/cache/fsevents-patch-c0aa546cbc-8.zip b/.yarn/cache/fsevents-patch-c0aa546cbc-8.zip
new file mode 100644
index 0000000..25bb7a3
Binary files /dev/null and b/.yarn/cache/fsevents-patch-c0aa546cbc-8.zip differ
diff --git a/.yarn/cache/matcher-npm-4.0.0-418060075c-d338aff31d.zip b/.yarn/cache/matcher-npm-4.0.0-418060075c-d338aff31d.zip
deleted file mode 100644
index 465b554..0000000
Binary files a/.yarn/cache/matcher-npm-4.0.0-418060075c-d338aff31d.zip and /dev/null differ
diff --git a/.yarn/cache/sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip b/.yarn/cache/sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip
deleted file mode 100644
index f97f67c..0000000
Binary files a/.yarn/cache/sonic-boom-npm-2.1.0-cd97469882-79b19f951a.zip and /dev/null differ
diff --git a/.yarn/cache/sonic-boom-npm-2.3.0-6a1292957e-208329d153.zip b/.yarn/cache/sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip
similarity index 83%
rename from .yarn/cache/sonic-boom-npm-2.3.0-6a1292957e-208329d153.zip
rename to .yarn/cache/sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip
index 6058ddf..3a5ef01 100644
Binary files a/.yarn/cache/sonic-boom-npm-2.3.0-6a1292957e-208329d153.zip and b/.yarn/cache/sonic-boom-npm-2.3.1-0ba04b648c-4f5022de97.zip differ
diff --git a/.yarn/cache/type-fest-npm-1.4.0-7dd848962a-b011c33886.zip b/.yarn/cache/type-fest-npm-1.4.0-7dd848962a-b011c33886.zip
new file mode 100644
index 0000000..9dbe978
Binary files /dev/null and b/.yarn/cache/type-fest-npm-1.4.0-7dd848962a-b011c33886.zip differ
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/.ready
similarity index 100%
copy from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready
copy to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/.ready
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md
similarity index 82%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md
rename to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md
index 6fd6d15..79b92c7 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md
@@ -1,13 +1,13 @@
 # Changelog
 
-### [1.1.1](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-linux-x64-v1.1.0...local-functions-proxy-linux-x64-v1.1.1) (2021-08-12)
+### [1.1.1](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-darwin-x64-v1.1.0...local-functions-proxy-darwin-x64-v1.1.1) (2021-08-12)
 
 
 ### Bug Fixes
 
 * forward stdout to stderr ([#54](https://www.github.com/netlify/local-functions-proxy/issues/54)) ([0d965f7](https://www.github.com/netlify/local-functions-proxy/commit/0d965f7951bd31f656c883c3d83987974762785a))
 
-## [1.1.0](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-linux-x64-v1.0.0...local-functions-proxy-linux-x64-v1.1.0) (2021-07-29)
+## [1.1.0](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-darwin-x64-v1.0.0...local-functions-proxy-darwin-x64-v1.1.0) (2021-07-29)
 
 
 ### Features
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md
similarity index 68%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md
rename to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md
index 3a3be23..e4af1d8 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md
@@ -1,4 +1,4 @@
 # Netlify Functions local proxy server
 
-This is the Linux 64-bit binary for the Netlify Functions local proxy server. You shouldn't use this package directly —
+This is the macOS 64-bit binary for the Netlify Functions local proxy server. You shouldn't use this package directly —
 use `@netlify/local-functions-proxy`.
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy
similarity index 53%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy
rename to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy
index 3523368..5deab00 100755
Binary files a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy and b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy differ
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/index.js b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/index.js
similarity index 100%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/index.js
rename to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/index.js
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha
new file mode 100644
index 0000000..bbebdac
--- /dev/null
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha
@@ -0,0 +1 @@
+be0937f9c5aff3b0a7c1b73d0656b3e925c6a171  bin/local-functions-proxy
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json
similarity index 64%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json
rename to .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json
index 3de2eea..aac69f6 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json
@@ -1,12 +1,12 @@
 {
-  "name": "@netlify/local-functions-proxy-linux-x64",
+  "name": "@netlify/local-functions-proxy-darwin-x64",
   "version": "1.1.1",
   "main": "index.js",
-  "description": "The Linux 64-bit binary for the Netlify Functions local proxy server",
+  "description": "The macOS 64-bit binary for the Netlify Functions local proxy server",
   "repository": "https://github.com/netlify/local-functions-proxy",
   "license": "MIT",
   "os": [
-    "linux"
+    "darwin"
   ],
   "cpu": [
     "x64"
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha
deleted file mode 100644
index 24951e5..0000000
--- a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha
+++ /dev/null
@@ -1 +0,0 @@
-8ed53f4715cae1ad0274798ef46ffb7c00ddc2e1  bin/local-functions-proxy
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/.ready b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/.ready
similarity index 100%
rename from .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/.ready
rename to .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/.ready
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/index.js b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/index.js
similarity index 100%
rename from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/index.js
rename to .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/index.js
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json
similarity index 85%
rename from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json
rename to .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json
index 44f6eed..d6d2bc8 100644
--- a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json
+++ b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json
@@ -1,10 +1,10 @@
 {
-  "name": "@netlify/routing-local-proxy-linux-x64",
+  "name": "@netlify/routing-local-proxy-darwin-x64",
   "version": "0.34.1",
   "description": "Platform-specific binaries for @netlify/routing-local-proxy",
   "main": "index.js",
   "os": [
-    "linux"
+    "darwin"
   ],
   "cpu": [
     "x64"
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy
similarity index 70%
rename from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy
rename to .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy
index 28cbbc3..50fae36 100755
Binary files a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy and b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy differ
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/.ready
similarity index 100%
copy from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready
copy to .yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/.ready
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE
new file mode 100644
index 0000000..5d70441
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+-----------
+
+Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md
new file mode 100644
index 0000000..afa1d30
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md
@@ -0,0 +1,77 @@
+# fsevents [![NPM](https://nodei.co/npm/fsevents.png)](https://nodei.co/npm/fsevents/)
+
+Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
+
+The FSEvents API in MacOS allows applications to register for notifications of
+changes to a given directory tree. It is a very fast and lightweight alternative
+to kqueue.
+
+This is a low-level library. For a cross-platform file watching module that
+uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
+
+## Installation
+
+Supports only **Node.js v8.16 and higher**.
+
+```sh
+npm install fsevents
+```
+
+## Usage
+
+```js
+const fsevents = require('fsevents');
+const stop = fsevents.watch(__dirname, (path, flags, id) => {
+  const info = fsevents.getInfo(path, flags, id);
+}); // To start observation
+stop(); // To end observation
+```
+
+The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
+a change in the file system. It takes three arguments:
+
+###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>`
+
+ * `path: string` - the item in the filesystem that have been changed
+ * `flags: number` - a numeric value describing what the change was
+ * `id: string` - an unique-id identifying this specific event
+
+ Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
+
+###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
+
+The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
+that is easier to digest to determine what the change was.
+
+The `FsEventsInfo` has the following shape:
+
+```js
+/**
+ * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
+ * @typedef {'file'|'directory'|'symlink'} FsEventsType
+ */
+{
+  "event": "created", // {FsEventsEvent}
+  "path": "file.txt", 
+  "type": "file",    // {FsEventsType}
+  "changes": {
+    "inode": true,   // Had iNode Meta-Information changed
+    "finder": false, // Had Finder Meta-Data changed
+    "access": false, // Had access permissions changed
+    "xattrs": false  // Had xAttributes changed
+  },
+  "flags": 0x100000000
+}
+```
+
+## Engine compatibility
+
+- v2 supports node 8.16+
+- v1.2.8 supports node 6+
+- v1.2.7 supports node 4+
+
+## License
+
+The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
+
+Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts
new file mode 100644
index 0000000..adbb28d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts
@@ -0,0 +1,55 @@
+declare type Event =
+    | 'created'
+    | 'cloned'
+    | 'modified'
+    | 'deleted'
+    | 'moved'
+    | 'root-changed'
+    | 'unknown';
+declare type Type = 'file' | 'directory' | 'symlink';
+declare type FileChanges = {
+    inode: boolean;
+    finder: boolean;
+    access: boolean;
+    xattrs: boolean;
+};
+declare type Info = {
+    event: Event;
+    path: string;
+    type: Type;
+    changes: FileChanges;
+    flags: number;
+};
+declare type WatchHandler = (path: string, flags: number, id: string) => void;
+export declare function watch(
+    path: string,
+    handler: WatchHandler,
+): () => Promise<void>;
+export declare function getInfo(path: string, flags: number): Info;
+export declare const constants: {
+    None: 0x00000000;
+    MustScanSubDirs: 0x00000001;
+    UserDropped: 0x00000002;
+    KernelDropped: 0x00000004;
+    EventIdsWrapped: 0x00000008;
+    HistoryDone: 0x00000010;
+    RootChanged: 0x00000020;
+    Mount: 0x00000040;
+    Unmount: 0x00000080;
+    ItemCreated: 0x00000100;
+    ItemRemoved: 0x00000200;
+    ItemInodeMetaMod: 0x00000400;
+    ItemRenamed: 0x00000800;
+    ItemModified: 0x00001000;
+    ItemFinderInfoMod: 0x00002000;
+    ItemChangeOwner: 0x00004000;
+    ItemXattrMod: 0x00008000;
+    ItemIsFile: 0x00010000;
+    ItemIsDir: 0x00020000;
+    ItemIsSymlink: 0x00040000;
+    ItemIsHardlink: 0x00100000;
+    ItemIsLastHardlink: 0x00200000;
+    OwnEvent: 0x00080000;
+    ItemCloned: 0x00400000;
+};
+export {}
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js
new file mode 100644
index 0000000..599b36f
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js
@@ -0,0 +1,79 @@
+/*
+ ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
+ ** Licensed under MIT License.
+ */
+
+/* jshint node:true */
+'use strict';
+
+if (process.platform !== 'darwin') {
+  throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
+}
+
+const Native = require('./fsevents.node');
+const events = Native.constants;
+
+function watch(path, handler) {
+  if (typeof path !== 'string') {
+    throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
+  }
+  if (typeof handler !== 'function') {
+    throw new TypeError(`fsevents argument 2 must be a function and not a ${typeof handler}`);
+  }
+
+  let VFS = require('./vfs');
+  let vfs = new VFS(path);
+  let instance = Native.start(vfs.resolvedPath, vfs.wrap(handler));
+  if (!instance) throw new Error(`could not watch: ${path}`);
+  return () => {
+    const result = instance
+      ? Promise.resolve(instance).then(Native.stop)
+      : Promise.resolve(undefined);
+    instance = undefined;
+    return result;
+  };
+}
+
+function getInfo(path, flags) {
+  return {
+    path,
+    flags,
+    event: getEventType(flags),
+    type: getFileType(flags),
+    changes: getFileChanges(flags)
+  };
+}
+
+function getFileType(flags) {
+  if (events.ItemIsFile & flags) return 'file';
+  if (events.ItemIsDir & flags) return 'directory';
+  if (events.ItemIsSymlink & flags) return 'symlink';
+}
+function anyIsTrue(obj) {
+  for (let key in obj) {
+    if (obj[key]) return true;
+  }
+  return false;
+}
+function getEventType(flags) {
+  if (events.ItemRemoved & flags) return 'deleted';
+  if (events.ItemRenamed & flags) return 'moved';
+  if (events.ItemCreated & flags) return 'created';
+  if (events.ItemModified & flags) return 'modified';
+  if (events.RootChanged & flags) return 'root-changed';
+  if (events.ItemCloned & flags) return 'cloned';
+  if (anyIsTrue(flags)) return 'modified';
+  return 'unknown';
+}
+function getFileChanges(flags) {
+  return {
+    inode: !!(events.ItemInodeMetaMod & flags),
+    finder: !!(events.ItemFinderInfoMod & flags),
+    access: !!(events.ItemChangeOwner & flags),
+    xattrs: !!(events.ItemXattrMod & flags)
+  };
+}
+
+exports.watch = watch;
+exports.getInfo = getInfo;
+exports.constants = events;
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node
new file mode 100755
index 0000000..8d952b5
Binary files /dev/null and b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node differ
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json
new file mode 100644
index 0000000..4b97a80
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json
@@ -0,0 +1,62 @@
+{
+  "name": "fsevents",
+  "version": "2.1.3",
+  "description": "Native Access to MacOS FSEvents",
+  "main": "fsevents.js",
+  "types": "fsevents.d.ts",
+  "os": [
+    "darwin"
+  ],
+  "files": [
+    "fsevents.d.ts",
+    "fsevents.js",
+    "fsevents.node"
+  ],
+  "engines": {
+    "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+  },
+  "scripts": {
+    "clean": "node-gyp clean && rm -f fsevents.node",
+    "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
+    "test": "/bin/bash ./test.sh 2>/dev/null",
+    "prepublishOnly": "npm run build"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/fsevents/fsevents.git"
+  },
+  "keywords": [
+    "fsevents",
+    "mac"
+  ],
+  "contributors": [
+    {
+      "name": "Philipp Dunkel",
+      "email": "pip@pipobscure.com"
+    },
+    {
+      "name": "Ben Noordhuis",
+      "email": "info@bnoordhuis.nl"
+    },
+    {
+      "name": "Elan Shankar",
+      "email": "elan.shanker@gmail.com"
+    },
+    {
+      "name": "Miroslav Bajtoš",
+      "email": "mbajtoss@gmail.com"
+    },
+    {
+      "name": "Paul Miller",
+      "url": "https://paulmillr.com"
+    }
+  ],
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/fsevents/fsevents/issues"
+  },
+  "homepage": "https://github.com/fsevents/fsevents",
+  "devDependencies": {
+    "node-gyp": "^6.1.0"
+  }
+}
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js
new file mode 100644
index 0000000..3419912
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js
@@ -0,0 +1,76 @@
+const path = require(`path`);
+
+let pnpApi = null;
+try {
+  pnpApi = require(`pnpapi`);
+} catch {
+}
+
+function getVirtualLookupFn(pnpApi) {
+  const reverseMap = new Map();
+
+  for (const locator of pnpApi.getAllLocators()) {
+    const pkg = pnpApi.getPackageInformation(locator);
+    console.assert(pkg, `The package information should be available`);
+
+    const resolvedLocation = pnpApi.resolveVirtual(pkg.packageLocation);
+    if (resolvedLocation === null)
+      continue;
+
+    const aliases = reverseMap.get(resolvedLocation) || [resolvedLocation];
+    reverseMap.set(resolvedLocation, aliases);
+    aliases.push(pkg.packageLocation);
+  }
+
+  const keys = [...reverseMap.keys()].sort((a, b) => {
+    return b.length - a.length;
+  });
+
+  return p => {
+    const prefix = keys.find(candidate => p.startsWith(candidate));
+    if (typeof prefix === `undefined`)
+      return [p];
+
+    const sub = p.substr(prefix.length);
+    return reverseMap.get(prefix).map(alias => {
+      return alias + sub;
+    });
+  };
+}
+
+if (pnpApi != null) {
+  const resolveVirtualAliases = getVirtualLookupFn(pnpApi);
+
+  module.exports = class FsePnp {
+    constructor(p) {
+      this.normalizedPath = path.resolve(p);
+      this.resolvedPath = pnpApi.resolveVirtual(this.normalizedPath) || this.normalizedPath;
+    }
+
+    transpose(p) {
+      if (this.resolvedPath !== null) {
+        return this.normalizedPath + p.substr(this.resolvedPath.length);
+      } else {
+        return p;
+      }
+    }
+
+    wrap(fn) {
+      return (path, ...args) => {
+        for (const entry of resolveVirtualAliases(path)) {
+          fn(this.transpose(entry), ...args);
+        }
+      };
+    }
+  };
+} else {
+  module.exports = class FsePnp {
+    constructor(p) {
+      this.resolvedPath = p;
+    }
+
+    wrap(fn) {
+      return fn;
+    }
+  };
+}
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.ready
similarity index 100%
copy from .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready
copy to .yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.ready
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml
new file mode 100644
index 0000000..4369a0b
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml
@@ -0,0 +1,101 @@
+language: objective-c
+
+env:
+  global:
+    - secure: "gve1nkeKkwFEG1VAT3i+JwYyAdF0gKXwKx0uxbkBTsmm2M+0MDusohQdFLoEIkSIFktXBIDefoa7iGpLKRfG2VsZLpwJgnvnD0HqbnuR+k+W+bu7BHt4CAaR6GTllsDCjyq9zNyhUThzSnf2WNIpOEF5kHspZlbGfawURuUJH/U="
+    - secure: "jqVpmWxxBVXu2X8+XJMpKH0cooc2EKz9xKL2znBfYdNafJORSXcFAVbjCX5mZmVDcgIMwDtm2+gIG4P73hzJ2e3S+y2Z9ROJGyXHa3AxUTvXHQsxqzH8coHHqB8vTvfr0t2O5aKfpvpICpSea39r0hzNoMv6Ie5SwBdqj1YY9K0="
+  matrix:
+    - NODE_VERSION="v12"
+    - NODE_VERSION="v11"
+    - NODE_VERSION="v10"
+    - NODE_VERSION="v9"
+    - NODE_VERSION="v8"
+    - NODE_VERSION="v7"
+    - NODE_VERSION="v6"
+
+before_install:
+
+  - echo $TRAVIS_OS_NAME
+
+  # commit
+  # ------------------------
+  # The commit message is used to determine the whether to manually
+  # invoke a binary publish
+
+  - COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n')
+
+  # node
+  # ------------------------
+
+  - export PATH=./node_modules/.bin/:$PATH
+  - rm -rf ~/.nvm && git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm
+  - source ~/.nvm/nvm.sh
+  - nvm install $NODE_VERSION
+  - nvm use $NODE_VERSION
+  - npm install -g npm@3
+  - node --version
+  - npm --version
+  - nvm --version
+
+  # publish dependencies
+  # ------------------------
+
+  - npm install node-gyp -g
+  - npm install aws-sdk
+
+install:
+
+  # in the first instance we build from source to create the initial binary
+  # which can then be used to create a package
+
+  - npm install --build-from-source
+  - npm test
+
+before_script:
+
+  # Detemine if a publish is required.
+  #
+  # a) we are building a tag
+  # b) we put [publish binary] in the commit message
+
+  - PUBLISH_BINARY=false
+
+  - if [[ $TRAVIS_BRANCH == `git describe --tags --always HEAD` ]]; then PUBLISH_BINARY=true; fi;       # a
+  - if test "${COMMIT_MESSAGE#*'[publish binary]'}" != "$COMMIT_MESSAGE"; then PUBLISH_BINARY=true; fi; # b
+
+  # package & publish
+  # ------------------------
+
+  - if [[ $PUBLISH_BINARY == true ]]; then npm run node-pre-gyp package publish; fi;
+
+  # clean-up
+  # ------------------------
+
+  - npm run node-pre-gyp clean
+  - node-gyp clean
+
+script:
+
+  # validate
+  # ------------------------
+  # Post publishing a release verify that installing will pull down latest
+  # binary from remote host
+
+  - INSTALL_RESULT=0
+  - if [[ $PUBLISH_BINARY == true ]]; then INSTALL_RESULT=$(npm install --fallback-to-build=false > /dev/null)$? || true; fi;
+
+  - npm run node-pre-gyp clean
+
+  # failure?
+  # ------------------------
+  # if install returned non zero (errored) then we first unpublish and then
+  # call false so travis will bail at this line.
+
+  - if [[ $INSTALL_RESULT != 0 ]]; then npm run node-pre-gyp unpublish; fi;
+  - if [[ $INSTALL_RESULT != 0 ]]; then echo "returned $INSTALL_RESULT";false; fi;
+
+after_success:
+
+  # display all published binaries
+
+ - npm run node-pre-gyp info
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..426abbb
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md
@@ -0,0 +1,8 @@
+If you are NOT on OS X and have come here to file an issue about compatibility problems, 
+please stop and go to #115 for your answer.
+
+You can look through many other similar closed issues as well if you're interested:
+https://github.com/strongloop/fsevents/search?utf8=%E2%9C%93&q=%22notsup%22+OR+%22EBADPLATFORM%22&type=Issues.
+
+If you are here to report an issue observed while using this module on OS X, please delete
+all this pre-filled text then go ahead and submit your report.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE
new file mode 100644
index 0000000..4a49ad8
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+-----------
+
+Copyright (C) 2010-2014 Philipp Dunkel
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md
new file mode 100644
index 0000000..03ddfa9
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md
@@ -0,0 +1,78 @@
+# fsevents [![NPM](https://nodei.co/npm/fsevents.png)](https://nodei.co/npm/fsevents/)
+
+Native access to OS X FSEvents in [Node.js](http://nodejs.org/)
+
+The FSEvents API in OS X allows applications to register for notifications of
+changes to a given directory tree. It is a very fast and lightweight alternative
+to kqueue.
+
+This is a low-level library. For a cross-compatible file watching module that
+uses fsevents, check out [Chokidar](https://www.npmjs.com/package/chokidar).
+
+* [Module Site & GitHub](https://github.com/strongloop/fsevents)
+* [NPM Page](https://npmjs.org/package/fsevents)
+
+## Installation
+
+	$ npm install fsevents
+
+## Usage
+
+```js
+var fsevents = require('fsevents');
+var watcher = fsevents(__dirname);
+watcher.on('fsevent', function(path, flags, id) { }); // RAW Event as emitted by OS-X
+watcher.on('change', function(path, info) { }); // Common Event for all changes
+watcher.start() // To start observation
+watcher.stop()  // To end observation
+```
+
+### Events
+
+ * *fsevent* - RAW Event as emitted by OS-X
+ * *change* - Common Event for all changes
+ * *created* - A File-System-Item has been created
+ * *deleted* - A File-System-Item has been deleted
+ * *modified* - A File-System-Item has been modified
+ * *moved-out* - A File-System-Item has been moved away from this location
+ * *moved-in* - A File-System-Item has been moved into this location
+
+All events except *fsevent* take an *info* object as the second parameter of the callback. The structure of this object is:
+
+```js
+{
+  "event": "<event-type>",
+  "id": <eventi-id>,
+  "path": "<path-that-this-is-about>",
+  "type": "<file|directory|symlink>",
+  "changes": {
+    "inode": true, // Has the iNode Meta-Information changed
+    "finder": false, // Has the Finder Meta-Data changed
+    "access": false, // Have the access permissions changed
+    "xattrs": false // Have the xAttributes changed
+  },
+  "flags": <raw-flags>
+}
+```
+
+## MIT License
+
+Copyright (C) 2010-2014 Philipp Dunkel
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp
new file mode 100644
index 0000000..7a5e5f6
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp
@@ -0,0 +1,21 @@
+{
+  "targets": [
+    { "target_name": "" }
+  ],
+  "conditions": [
+    ['OS=="mac"', {
+      "targets": [{
+        "target_name": "fse",
+        "sources": ["fsevents.cc"],
+        "xcode_settings": {
+          "OTHER_LDFLAGS": [
+            "-framework CoreFoundation -framework CoreServices"
+          ]
+        },
+        "include_dirs": [
+          "<!(node -e \"require('nan')\")"
+        ]
+      }]
+    }]
+  ]
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk
new file mode 100644
index 0000000..10f3242
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk
@@ -0,0 +1,55 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := 
+### Rules for final target.
+LDFLAGS_Debug := \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-L$(builddir) \
+	-stdlib=libc++
+
+LIBTOOLFLAGS_Debug := \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first
+
+LDFLAGS_Release := \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-L$(builddir) \
+	-stdlib=libc++
+
+LIBTOOLFLAGS_Release := \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first
+
+LIBS :=
+
+$(builddir)/.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
+$(builddir)/.node: LIBS := $(LIBS)
+$(builddir)/.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))
+$(builddir)/.node: TOOLSET := $(TOOLSET)
+$(builddir)/.node:  FORCE_DO_CMD
+	$(call do_cmd,solink_module)
+
+all_deps += $(builddir)/.node
+# Add target alias
+.PHONY: 
+: $(builddir)/.node
+
+# Short alias for building this executable.
+.PHONY: .node
+.node: $(builddir)/.node
+
+# Add executable to "all" target.
+.PHONY: all
+all: $(builddir)/.node
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile
new file mode 100644
index 0000000..282f416
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile
@@ -0,0 +1,347 @@
+# We borrow heavily from the kernel build setup, though we are simpler since
+# we don't have Kconfig tweaking settings on us.
+
+# The implicit make rules have it looking for RCS files, among other things.
+# We instead explicitly write all the rules we care about.
+# It's even quicker (saves ~200ms) to pass -r on the command line.
+MAKEFLAGS=-r
+
+# The source directory tree.
+srcdir := ..
+abs_srcdir := $(abspath $(srcdir))
+
+# The name of the builddir.
+builddir_name ?= .
+
+# The V=1 flag on command line makes us verbosely print command lines.
+ifdef V
+  quiet=
+else
+  quiet=quiet_
+endif
+
+# Specify BUILDTYPE=Release on the command line for a release build.
+BUILDTYPE ?= Release
+
+# Directory all our build output goes into.
+# Note that this must be two directories beneath src/ for unit tests to pass,
+# as they reach into the src/ directory for data with relative paths.
+builddir ?= $(builddir_name)/$(BUILDTYPE)
+abs_builddir := $(abspath $(builddir))
+depsdir := $(builddir)/.deps
+
+# Object output directory.
+obj := $(builddir)/obj
+abs_obj := $(abspath $(obj))
+
+# We build up a list of every single one of the targets so we can slurp in the
+# generated dependency rule Makefiles in one pass.
+all_deps :=
+
+
+
+CC.target ?= $(CC)
+CFLAGS.target ?= $(CPPFLAGS) $(CFLAGS)
+CXX.target ?= $(CXX)
+CXXFLAGS.target ?= $(CPPFLAGS) $(CXXFLAGS)
+LINK.target ?= $(LINK)
+LDFLAGS.target ?= $(LDFLAGS)
+AR.target ?= $(AR)
+
+# C++ apps need to be linked with g++.
+LINK ?= $(CXX.target)
+
+# TODO(evan): move all cross-compilation logic to gyp-time so we don't need
+# to replicate this environment fallback in make as well.
+CC.host ?= gcc
+CFLAGS.host ?= $(CPPFLAGS_host) $(CFLAGS_host)
+CXX.host ?= g++
+CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
+LINK.host ?= $(CXX.host)
+LDFLAGS.host ?=
+AR.host ?= ar
+
+# Define a dir function that can handle spaces.
+# http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
+# "leading spaces cannot appear in the text of the first argument as written.
+# These characters can be put into the argument value by variable substitution."
+empty :=
+space := $(empty) $(empty)
+
+# http://stackoverflow.com/questions/1189781/using-make-dir-or-notdir-on-a-path-with-spaces
+replace_spaces = $(subst $(space),?,$1)
+unreplace_spaces = $(subst ?,$(space),$1)
+dirx = $(call unreplace_spaces,$(dir $(call replace_spaces,$1)))
+
+# Flags to make gcc output dependency info.  Note that you need to be
+# careful here to use the flags that ccache and distcc can understand.
+# We write to a dep file on the side first and then rename at the end
+# so we can't end up with a broken dep file.
+depfile = $(depsdir)/$(call replace_spaces,$@).d
+DEPFLAGS = -MMD -MF $(depfile).raw
+
+# We have to fixup the deps output in a few ways.
+# (1) the file output should mention the proper .o file.
+# ccache or distcc lose the path to the target, so we convert a rule of
+# the form:
+#   foobar.o: DEP1 DEP2
+# into
+#   path/to/foobar.o: DEP1 DEP2
+# (2) we want missing files not to cause us to fail to build.
+# We want to rewrite
+#   foobar.o: DEP1 DEP2 \
+#               DEP3
+# to
+#   DEP1:
+#   DEP2:
+#   DEP3:
+# so if the files are missing, they're just considered phony rules.
+# We have to do some pretty insane escaping to get those backslashes
+# and dollar signs past make, the shell, and sed at the same time.
+# Doesn't work with spaces, but that's fine: .d files have spaces in
+# their names replaced with other characters.
+define fixup_dep
+# The depfile may not exist if the input file didn't have any #includes.
+touch $(depfile).raw
+# Fixup path as in (1).
+sed -e "s|^$(notdir $@)|$@|" $(depfile).raw >> $(depfile)
+# Add extra rules as in (2).
+# We remove slashes and replace spaces with new lines;
+# remove blank lines;
+# delete the first line and append a colon to the remaining lines.
+sed -e 's|\\||' -e 'y| |\n|' $(depfile).raw |\
+  grep -v '^$$'                             |\
+  sed -e 1d -e 's|$$|:|'                     \
+    >> $(depfile)
+rm $(depfile).raw
+endef
+
+# Command definitions:
+# - cmd_foo is the actual command to run;
+# - quiet_cmd_foo is the brief-output summary of the command.
+
+quiet_cmd_cc = CC($(TOOLSET)) $@
+cmd_cc = $(CC.$(TOOLSET)) -o $@ $< $(GYP_CFLAGS) $(DEPFLAGS) $(CFLAGS.$(TOOLSET)) -c
+
+quiet_cmd_cxx = CXX($(TOOLSET)) $@
+cmd_cxx = $(CXX.$(TOOLSET)) -o $@ $< $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c
+
+quiet_cmd_objc = CXX($(TOOLSET)) $@
+cmd_objc = $(CC.$(TOOLSET)) $(GYP_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<
+
+quiet_cmd_objcxx = CXX($(TOOLSET)) $@
+cmd_objcxx = $(CXX.$(TOOLSET)) $(GYP_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<
+
+# Commands for precompiled header files.
+quiet_cmd_pch_c = CXX($(TOOLSET)) $@
+cmd_pch_c = $(CC.$(TOOLSET)) $(GYP_PCH_CFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
+quiet_cmd_pch_cc = CXX($(TOOLSET)) $@
+cmd_pch_cc = $(CC.$(TOOLSET)) $(GYP_PCH_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
+quiet_cmd_pch_m = CXX($(TOOLSET)) $@
+cmd_pch_m = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<
+quiet_cmd_pch_mm = CXX($(TOOLSET)) $@
+cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<
+
+# gyp-mac-tool is written next to the root Makefile by gyp.
+# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd
+# already.
+quiet_cmd_mac_tool = MACTOOL $(4) $<
+cmd_mac_tool = ./gyp-mac-tool $(4) $< "$@"
+
+quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@
+cmd_mac_package_framework = ./gyp-mac-tool package-framework "$@" $(4)
+
+quiet_cmd_infoplist = INFOPLIST $@
+cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@"
+
+quiet_cmd_touch = TOUCH $@
+cmd_touch = touch $@
+
+quiet_cmd_copy = COPY $@
+# send stderr to /dev/null to ignore messages when linking directories.
+cmd_copy = ln -f "$<" "$@" 2>/dev/null || (rm -rf "$@" && cp -af "$<" "$@")
+
+quiet_cmd_alink = LIBTOOL-STATIC $@
+cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)
+
+quiet_cmd_link = LINK($(TOOLSET)) $@
+cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
+
+quiet_cmd_solink = SOLINK($(TOOLSET)) $@
+cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
+
+quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
+cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
+
+
+# Define an escape_quotes function to escape single quotes.
+# This allows us to handle quotes properly as long as we always use
+# use single quotes and escape_quotes.
+escape_quotes = $(subst ','\'',$(1))
+# This comment is here just to include a ' to unconfuse syntax highlighting.
+# Define an escape_vars function to escape '$' variable syntax.
+# This allows us to read/write command lines with shell variables (e.g.
+# $LD_LIBRARY_PATH), without triggering make substitution.
+escape_vars = $(subst $$,$$$$,$(1))
+# Helper that expands to a shell command to echo a string exactly as it is in
+# make. This uses printf instead of echo because printf's behaviour with respect
+# to escape sequences is more portable than echo's across different shells
+# (e.g., dash, bash).
+exact_echo = printf '%s\n' '$(call escape_quotes,$(1))'
+
+# Helper to compare the command we're about to run against the command
+# we logged the last time we ran the command.  Produces an empty
+# string (false) when the commands match.
+# Tricky point: Make has no string-equality test function.
+# The kernel uses the following, but it seems like it would have false
+# positives, where one string reordered its arguments.
+#   arg_check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
+#                       $(filter-out $(cmd_$@), $(cmd_$(1))))
+# We instead substitute each for the empty string into the other, and
+# say they're equal if both substitutions produce the empty string.
+# .d files contain ? instead of spaces, take that into account.
+command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\
+                       $(subst $(cmd_$(call replace_spaces,$@)),,$(cmd_$(1))))
+
+# Helper that is non-empty when a prerequisite changes.
+# Normally make does this implicitly, but we force rules to always run
+# so we can check their command lines.
+#   $? -- new prerequisites
+#   $| -- order-only dependencies
+prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?))
+
+# Helper that executes all postbuilds until one fails.
+define do_postbuilds
+  @E=0;\
+  for p in $(POSTBUILDS); do\
+    eval $$p;\
+    E=$$?;\
+    if [ $$E -ne 0 ]; then\
+      break;\
+    fi;\
+  done;\
+  if [ $$E -ne 0 ]; then\
+    rm -rf "$@";\
+    exit $$E;\
+  fi
+endef
+
+# do_cmd: run a command via the above cmd_foo names, if necessary.
+# Should always run for a given target to handle command-line changes.
+# Second argument, if non-zero, makes it do asm/C/C++ dependency munging.
+# Third argument, if non-zero, makes it do POSTBUILDS processing.
+# Note: We intentionally do NOT call dirx for depfile, since it contains ? for
+# spaces already and dirx strips the ? characters.
+define do_cmd
+$(if $(or $(command_changed),$(prereq_changed)),
+  @$(call exact_echo,  $($(quiet)cmd_$(1)))
+  @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))"
+  $(if $(findstring flock,$(word 2,$(cmd_$1))),
+    @$(cmd_$(1))
+    @echo "  $(quiet_cmd_$(1)): Finished",
+    @$(cmd_$(1))
+  )
+  @$(call exact_echo,$(call escape_vars,cmd_$(call replace_spaces,$@) := $(cmd_$(1)))) > $(depfile)
+  @$(if $(2),$(fixup_dep))
+  $(if $(and $(3), $(POSTBUILDS)),
+    $(call do_postbuilds)
+  )
+)
+endef
+
+# Declare the "all" target first so it is the default,
+# even though we don't have the deps yet.
+.PHONY: all
+all:
+
+# make looks for ways to re-generate included makefiles, but in our case, we
+# don't have a direct way. Explicitly telling make that it has nothing to do
+# for them makes it go faster.
+%.d: ;
+
+# Use FORCE_DO_CMD to force a target to run.  Should be coupled with
+# do_cmd.
+.PHONY: FORCE_DO_CMD
+FORCE_DO_CMD:
+
+TOOLSET := target
+# Suffix rules, putting all outputs into $(obj).
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.c FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cpp FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cxx FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.m FORCE_DO_CMD
+	@$(call do_cmd,objc,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.mm FORCE_DO_CMD
+	@$(call do_cmd,objcxx,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+
+# Try building from generated source, too.
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cpp FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cxx FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.m FORCE_DO_CMD
+	@$(call do_cmd,objc,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.mm FORCE_DO_CMD
+	@$(call do_cmd,objcxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+
+$(obj).$(TOOLSET)/%.o: $(obj)/%.c FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.cpp FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.cxx FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.m FORCE_DO_CMD
+	@$(call do_cmd,objc,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.mm FORCE_DO_CMD
+	@$(call do_cmd,objcxx,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD
+	@$(call do_cmd,cc,1)
+
+
+ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
+    $(findstring $(join ^,$(prefix)),\
+                 $(join ^,.target.mk)))),)
+  include .target.mk
+endif
+ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
+    $(findstring $(join ^,$(prefix)),\
+                 $(join ^,fse.target.mk)))),)
+  include fse.target.mk
+endif
+
+quiet_cmd_regen_makefile = ACTION Regenerating $@
+cmd_regen_makefile = cd $(srcdir); /Users/david/projects/camel/camel-website/.yarn/unplugged/node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/david/Library/Caches/node-gyp/14.18.1" "-Dnode_gyp_dir=/Users/david/projects/camel/camel-website/.yarn/unplugged/node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp" "-Dnode_lib_file=/Users/david/Library/Caches/node-gyp/14.18.1/< [...]
+Makefile: $(srcdir)/binding.gyp $(srcdir)/../../../node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../../../Library/Caches/node-gyp/14.18.1/include/node/common.gypi $(srcdir)/build/config.gypi
+	$(call do_cmd,regen_makefile)
+
+# "all" is a concatenation of the "all" targets from all the included
+# sub-makefiles. This is just here to clarify.
+all:
+
+# Add in dependency-tracking rules.  $(all_deps) is the list of every single
+# target in our tree. Only consider the ones with .d (dependency) info:
+d_files := $(wildcard $(foreach f,$(all_deps),$(depsdir)/$(f).d))
+ifneq ($(d_files),)
+  include $(d_files)
+endif
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d
new file mode 100644
index 0000000..459952a
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d
@@ -0,0 +1 @@
+cmd_Release/.node := c++ -bundle -undefined dynamic_lookup -Wl,-no_pie -Wl,-search_paths_first -mmacosx-version-min=10.13 -arch x86_64 -L./Release -stdlib=libc++  -o Release/.node  
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d
new file mode 100644
index 0000000..a1a6d88
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d
@@ -0,0 +1 @@
+cmd_Release/fse.node := c++ -bundle -framework CoreFoundation -framework CoreServices -undefined dynamic_lookup -Wl,-no_pie -Wl,-search_paths_first -mmacosx-version-min=10.13 -arch x86_64 -L./Release -stdlib=libc++  -o Release/fse.node Release/obj.target/fse/fsevents.o 
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d
new file mode 100644
index 0000000..5bc2cb1
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d
@@ -0,0 +1,70 @@
+cmd_Release/obj.target/fse/fsevents.o := c++ -o Release/obj.target/fse/fsevents.o ../fsevents.cc '-DNODE_GYP_MODULE_NAME=fse' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/Users/david/Library/Caches/node-gyp/14.18.1/include/node -I/Users/david/L [...]
+Release/obj.target/fse/fsevents.o: ../fsevents.cc \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_version.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/errno.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/version.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/unix.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/threadpool.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/darwin.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/cppgc/common.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8config.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-internal.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-version.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-platform.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_buffer.h \
+  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_object_wrap.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks_12_inl.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_maybe_43_inl.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters_43_inl.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_new.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_implementation_12_inl.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_persistent_12_inl.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_weak.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_object_wrap.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_private.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_typedarray_contents.h \
+  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_json.h \
+  ../src/storage.cc ../src/async.cc ../src/thread.cc ../src/constants.cc \
+  ../src/methods.cc
+../fsevents.cc:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_version.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/errno.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/version.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/unix.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/threadpool.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/darwin.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/cppgc/common.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8config.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-internal.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-version.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-platform.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_buffer.h:
+/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_object_wrap.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks_12_inl.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_maybe_43_inl.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters_43_inl.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_new.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_implementation_12_inl.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_persistent_12_inl.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_weak.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_object_wrap.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_private.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_typedarray_contents.h:
+../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_json.h:
+../src/storage.cc:
+../src/async.cc:
+../src/thread.cc:
+../src/constants.cc:
+../src/methods.cc:
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node
new file mode 100755
index 0000000..bb11b1b
Binary files /dev/null and b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node
new file mode 100755
index 0000000..c5b4cae
Binary files /dev/null and b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o
new file mode 100644
index 0000000..238217b
Binary files /dev/null and b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile
new file mode 100644
index 0000000..94f59b0
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile
@@ -0,0 +1,6 @@
+# This file is generated by gyp; do not edit.
+
+export builddir_name ?= ./build/.
+.PHONY: all
+all:
+	$(MAKE) fse 
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi
new file mode 100644
index 0000000..4f1b650
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi
@@ -0,0 +1,303 @@
+# Do not edit. File was generated by node-gyp's "configure" step
+{
+  "target_defaults": {
+    "cflags": [],
+    "default_configuration": "Release",
+    "defines": [],
+    "include_dirs": [],
+    "libraries": []
+  },
+  "variables": {
+    "asan": 0,
+    "build_v8_with_gn": "false",
+    "coverage": "false",
+    "dcheck_always_on": 0,
+    "debug_nghttp2": "false",
+    "debug_node": "false",
+    "enable_lto": "false",
+    "enable_pgo_generate": "false",
+    "enable_pgo_use": "false",
+    "error_on_warn": "false",
+    "force_dynamic_crt": 0,
+    "host_arch": "x64",
+    "icu_data_in": "../../deps/icu-tmp/icudt69l.dat",
+    "icu_endianness": "l",
+    "icu_gyp_path": "tools/icu/icu-generic.gyp",
+    "icu_path": "deps/icu-small",
+    "icu_small": "false",
+    "icu_ver_major": "69",
+    "is_debug": 0,
+    "llvm_version": "11.0",
+    "napi_build_version": "8",
+    "node_byteorder": "little",
+    "node_debug_lib": "false",
+    "node_enable_d8": "false",
+    "node_install_npm": "true",
+    "node_library_files": [
+      "lib/constants.js",
+      "lib/net.js",
+      "lib/trace_events.js",
+      "lib/events.js",
+      "lib/repl.js",
+      "lib/util.js",
+      "lib/dgram.js",
+      "lib/vm.js",
+      "lib/stream.js",
+      "lib/child_process.js",
+      "lib/assert.js",
+      "lib/_tls_wrap.js",
+      "lib/http2.js",
+      "lib/inspector.js",
+      "lib/os.js",
+      "lib/_http_server.js",
+      "lib/console.js",
+      "lib/perf_hooks.js",
+      "lib/readline.js",
+      "lib/punycode.js",
+      "lib/_http_incoming.js",
+      "lib/https.js",
+      "lib/_stream_wrap.js",
+      "lib/domain.js",
+      "lib/dns.js",
+      "lib/_http_client.js",
+      "lib/diagnostics_channel.js",
+      "lib/tty.js",
+      "lib/_http_agent.js",
+      "lib/timers.js",
+      "lib/_http_outgoing.js",
+      "lib/querystring.js",
+      "lib/_tls_common.js",
+      "lib/module.js",
+      "lib/_stream_passthrough.js",
+      "lib/_stream_transform.js",
+      "lib/worker_threads.js",
+      "lib/sys.js",
+      "lib/_stream_duplex.js",
+      "lib/path.js",
+      "lib/_http_common.js",
+      "lib/string_decoder.js",
+      "lib/cluster.js",
+      "lib/v8.js",
+      "lib/crypto.js",
+      "lib/wasi.js",
+      "lib/_stream_readable.js",
+      "lib/zlib.js",
+      "lib/url.js",
+      "lib/tls.js",
+      "lib/_stream_writable.js",
+      "lib/async_hooks.js",
+      "lib/process.js",
+      "lib/http.js",
+      "lib/buffer.js",
+      "lib/fs.js",
+      "lib/internal/constants.js",
+      "lib/internal/abort_controller.js",
+      "lib/internal/net.js",
+      "lib/internal/v8_prof_processor.js",
+      "lib/internal/event_target.js",
+      "lib/internal/inspector_async_hook.js",
+      "lib/internal/validators.js",
+      "lib/internal/linkedlist.js",
+      "lib/internal/cli_table.js",
+      "lib/internal/repl.js",
+      "lib/internal/util.js",
+      "lib/internal/histogram.js",
+      "lib/internal/error_serdes.js",
+      "lib/internal/dgram.js",
+      "lib/internal/child_process.js",
+      "lib/internal/assert.js",
+      "lib/internal/fixed_queue.js",
+      "lib/internal/blocklist.js",
+      "lib/internal/v8_prof_polyfill.js",
+      "lib/internal/options.js",
+      "lib/internal/worker.js",
+      "lib/internal/dtrace.js",
+      "lib/internal/idna.js",
+      "lib/internal/watchdog.js",
+      "lib/internal/encoding.js",
+      "lib/internal/tty.js",
+      "lib/internal/freeze_intrinsics.js",
+      "lib/internal/timers.js",
+      "lib/internal/heap_utils.js",
+      "lib/internal/querystring.js",
+      "lib/internal/js_stream_socket.js",
+      "lib/internal/errors.js",
+      "lib/internal/priority_queue.js",
+      "lib/internal/freelist.js",
+      "lib/internal/blob.js",
+      "lib/internal/socket_list.js",
+      "lib/internal/socketaddress.js",
+      "lib/internal/stream_base_commons.js",
+      "lib/internal/url.js",
+      "lib/internal/tls.js",
+      "lib/internal/async_hooks.js",
+      "lib/internal/http.js",
+      "lib/internal/buffer.js",
+      "lib/internal/trace_events_async_hooks.js",
+      "lib/internal/crypto/sig.js",
+      "lib/internal/crypto/util.js",
+      "lib/internal/crypto/scrypt.js",
+      "lib/internal/crypto/random.js",
+      "lib/internal/crypto/keys.js",
+      "lib/internal/crypto/certificate.js",
+      "lib/internal/crypto/keygen.js",
+      "lib/internal/crypto/diffiehellman.js",
+      "lib/internal/crypto/cipher.js",
+      "lib/internal/crypto/hash.js",
+      "lib/internal/crypto/pbkdf2.js",
+      "lib/internal/cluster/shared_handle.js",
+      "lib/internal/cluster/round_robin_handle.js",
+      "lib/internal/cluster/worker.js",
+      "lib/internal/cluster/master.js",
+      "lib/internal/cluster/utils.js",
+      "lib/internal/cluster/child.js",
+      "lib/internal/bootstrap/loaders.js",
+      "lib/internal/bootstrap/pre_execution.js",
+      "lib/internal/bootstrap/node.js",
+      "lib/internal/bootstrap/environment.js",
+      "lib/internal/bootstrap/switches/does_not_own_process_state.js",
+      "lib/internal/bootstrap/switches/is_not_main_thread.js",
+      "lib/internal/bootstrap/switches/does_own_process_state.js",
+      "lib/internal/bootstrap/switches/is_main_thread.js",
+      "lib/internal/test/binding.js",
+      "lib/internal/util/types.js",
+      "lib/internal/util/inspector.js",
+      "lib/internal/util/comparisons.js",
+      "lib/internal/util/debuglog.js",
+      "lib/internal/util/inspect.js",
+      "lib/internal/util/iterable_weak_map.js",
+      "lib/internal/timers/promises.js",
+      "lib/internal/streams/duplexpair.js",
+      "lib/internal/streams/destroy.js",
+      "lib/internal/streams/legacy.js",
+      "lib/internal/streams/passthrough.js",
+      "lib/internal/streams/readable.js",
+      "lib/internal/streams/from.js",
+      "lib/internal/streams/writable.js",
+      "lib/internal/streams/state.js",
+      "lib/internal/streams/buffer_list.js",
+      "lib/internal/streams/end-of-stream.js",
+      "lib/internal/streams/utils.js",
+      "lib/internal/streams/transform.js",
+      "lib/internal/streams/lazy_transform.js",
+      "lib/internal/streams/duplex.js",
+      "lib/internal/streams/pipeline.js",
+      "lib/internal/readline/utils.js",
+      "lib/internal/repl/history.js",
+      "lib/internal/repl/utils.js",
+      "lib/internal/repl/await.js",
+      "lib/internal/assert/calltracker.js",
+      "lib/internal/assert/assertion_error.js",
+      "lib/internal/http2/util.js",
+      "lib/internal/http2/core.js",
+      "lib/internal/http2/compat.js",
+      "lib/internal/per_context/messageport.js",
+      "lib/internal/per_context/primordials.js",
+      "lib/internal/per_context/domexception.js",
+      "lib/internal/vm/module.js",
+      "lib/internal/child_process/serialization.js",
+      "lib/internal/debugger/inspect_repl.js",
+      "lib/internal/debugger/inspect_client.js",
+      "lib/internal/debugger/inspect.js",
+      "lib/internal/worker/io.js",
+      "lib/internal/worker/js_transferable.js",
+      "lib/internal/main/repl.js",
+      "lib/internal/main/print_help.js",
+      "lib/internal/main/eval_string.js",
+      "lib/internal/main/check_syntax.js",
+      "lib/internal/main/prof_process.js",
+      "lib/internal/main/worker_thread.js",
+      "lib/internal/main/inspect.js",
+      "lib/internal/main/eval_stdin.js",
+      "lib/internal/main/run_main_module.js",
+      "lib/internal/main/run_third_party_main.js",
+      "lib/internal/modules/run_main.js",
+      "lib/internal/modules/package_json_reader.js",
+      "lib/internal/modules/esm/module_job.js",
+      "lib/internal/modules/esm/get_source.js",
+      "lib/internal/modules/esm/translators.js",
+      "lib/internal/modules/esm/resolve.js",
+      "lib/internal/modules/esm/create_dynamic_module.js",
+      "lib/internal/modules/esm/module_map.js",
+      "lib/internal/modules/esm/get_format.js",
+      "lib/internal/modules/esm/transform_source.js",
+      "lib/internal/modules/esm/loader.js",
+      "lib/internal/modules/cjs/helpers.js",
+      "lib/internal/modules/cjs/loader.js",
+      "lib/internal/source_map/source_map.js",
+      "lib/internal/source_map/prepare_stack_trace.js",
+      "lib/internal/source_map/source_map_cache.js",
+      "lib/internal/dns/promises.js",
+      "lib/internal/dns/utils.js",
+      "lib/internal/fs/watchers.js",
+      "lib/internal/fs/promises.js",
+      "lib/internal/fs/read_file_context.js",
+      "lib/internal/fs/rimraf.js",
+      "lib/internal/fs/sync_write_stream.js",
+      "lib/internal/fs/dir.js",
+      "lib/internal/fs/streams.js",
+      "lib/internal/fs/utils.js",
+      "lib/internal/policy/manifest.js",
+      "lib/internal/policy/sri.js",
+      "lib/internal/process/task_queues.js",
+      "lib/internal/process/per_thread.js",
+      "lib/internal/process/warning.js",
+      "lib/internal/process/policy.js",
+      "lib/internal/process/promises.js",
+      "lib/internal/process/signal.js",
+      "lib/internal/process/execution.js",
+      "lib/internal/process/esm_loader.js",
+      "lib/internal/process/report.js",
+      "lib/internal/process/worker_thread_only.js",
+      "lib/internal/console/constructor.js",
+      "lib/internal/console/global.js",
+      "lib/fs/promises.js"
+    ],
+    "node_module_version": 83,
+    "node_no_browser_globals": "false",
+    "node_prefix": "/",
+    "node_release_urlbase": "https://nodejs.org/download/release/",
+    "node_shared": "false",
+    "node_shared_brotli": "false",
+    "node_shared_cares": "false",
+    "node_shared_http_parser": "false",
+    "node_shared_libuv": "false",
+    "node_shared_nghttp2": "false",
+    "node_shared_openssl": "false",
+    "node_shared_zlib": "false",
+    "node_tag": "",
+    "node_target_type": "executable",
+    "node_use_bundled_v8": "true",
+    "node_use_dtrace": "true",
+    "node_use_etw": "false",
+    "node_use_node_code_cache": "true",
+    "node_use_node_snapshot": "true",
+    "node_use_openssl": "true",
+    "node_use_v8_platform": "true",
+    "node_with_ltcg": "false",
+    "node_without_node_options": "false",
+    "openssl_fips": "",
+    "openssl_is_fips": "false",
+    "ossfuzz": "false",
+    "shlib_suffix": "83.dylib",
+    "target_arch": "x64",
+    "v8_enable_31bit_smis_on_64bit_arch": 0,
+    "v8_enable_gdbjit": 0,
+    "v8_enable_i18n_support": 1,
+    "v8_enable_inspector": 1,
+    "v8_enable_lite_mode": 0,
+    "v8_enable_object_print": 1,
+    "v8_enable_pointer_compression": 0,
+    "v8_no_strict_aliasing": 1,
+    "v8_optimized_debug": 1,
+    "v8_promise_internal_field_count": 1,
+    "v8_random_seed": 0,
+    "v8_trace_maps": 0,
+    "v8_use_siphash": 1,
+    "want_separate_host_toolset": 0,
+    "xcode_version": "11.0",
+    "nodedir": "/Users/david/Library/Caches/node-gyp/14.18.1",
+    "standalone_static_library": 1,
+    "user_agent": "yarn/3.1.0 npm/? node/14.18.1 darwin x64"
+  }
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk
new file mode 100644
index 0000000..e3e8398
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk
@@ -0,0 +1,196 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := fse
+DEFS_Debug := \
+	'-DNODE_GYP_MODULE_NAME=fse' \
+	'-DUSING_UV_SHARED=1' \
+	'-DUSING_V8_SHARED=1' \
+	'-DV8_DEPRECATION_WARNINGS=1' \
+	'-DV8_DEPRECATION_WARNINGS' \
+	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
+	'-D_DARWIN_USE_64_BIT_INODE=1' \
+	'-D_LARGEFILE_SOURCE' \
+	'-D_FILE_OFFSET_BITS=64' \
+	'-DOPENSSL_NO_PINSHARED' \
+	'-DOPENSSL_THREADS' \
+	'-DBUILDING_NODE_EXTENSION' \
+	'-DDEBUG' \
+	'-D_DEBUG' \
+	'-DV8_ENABLE_CHECKS'
+
+# Flags passed to all source files.
+CFLAGS_Debug := \
+	-O0 \
+	-gdwarf-2 \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-Wall \
+	-Wendif-labels \
+	-W \
+	-Wno-unused-parameter
+
+# Flags passed to only C files.
+CFLAGS_C_Debug := \
+	-fno-strict-aliasing
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Debug := \
+	-std=gnu++1y \
+	-stdlib=libc++ \
+	-fno-rtti \
+	-fno-exceptions \
+	-fno-strict-aliasing
+
+# Flags passed to only ObjC files.
+CFLAGS_OBJC_Debug :=
+
+# Flags passed to only ObjC++ files.
+CFLAGS_OBJCC_Debug :=
+
+INCS_Debug := \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/include/node \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/src \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/config \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/openssl/include \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/uv/include \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/zlib \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/v8/include \
+	-I$(srcdir)/../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan
+
+DEFS_Release := \
+	'-DNODE_GYP_MODULE_NAME=fse' \
+	'-DUSING_UV_SHARED=1' \
+	'-DUSING_V8_SHARED=1' \
+	'-DV8_DEPRECATION_WARNINGS=1' \
+	'-DV8_DEPRECATION_WARNINGS' \
+	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
+	'-D_DARWIN_USE_64_BIT_INODE=1' \
+	'-D_LARGEFILE_SOURCE' \
+	'-D_FILE_OFFSET_BITS=64' \
+	'-DOPENSSL_NO_PINSHARED' \
+	'-DOPENSSL_THREADS' \
+	'-DBUILDING_NODE_EXTENSION'
+
+# Flags passed to all source files.
+CFLAGS_Release := \
+	-O3 \
+	-gdwarf-2 \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-Wall \
+	-Wendif-labels \
+	-W \
+	-Wno-unused-parameter
+
+# Flags passed to only C files.
+CFLAGS_C_Release := \
+	-fno-strict-aliasing
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Release := \
+	-std=gnu++1y \
+	-stdlib=libc++ \
+	-fno-rtti \
+	-fno-exceptions \
+	-fno-strict-aliasing
+
+# Flags passed to only ObjC files.
+CFLAGS_OBJC_Release :=
+
+# Flags passed to only ObjC++ files.
+CFLAGS_OBJCC_Release :=
+
+INCS_Release := \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/include/node \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/src \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/config \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/openssl/include \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/uv/include \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/zlib \
+	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/v8/include \
+	-I$(srcdir)/../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan
+
+OBJS := \
+	$(obj).target/$(TARGET)/fsevents.o
+
+# Add to the list of files we specially track dependencies for.
+all_deps += $(OBJS)
+
+# CFLAGS et al overrides must be target-local.
+# See "Target-specific Variable Values" in the GNU Make manual.
+$(OBJS): TOOLSET := $(TOOLSET)
+$(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
+$(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
+$(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE))
+$(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE))
+
+# Suffix rules, putting all outputs into $(obj).
+
+$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+
+# Try building from generated source, too.
+
+$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+
+$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD
+	@$(call do_cmd,cxx,1)
+
+# End of this set of suffix rules
+### Rules for final target.
+LDFLAGS_Debug := \
+	-framework CoreFoundation -framework CoreServices \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-L$(builddir) \
+	-stdlib=libc++
+
+LIBTOOLFLAGS_Debug := \
+	-framework CoreFoundation -framework CoreServices \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first
+
+LDFLAGS_Release := \
+	-framework CoreFoundation -framework CoreServices \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first \
+	-mmacosx-version-min=10.13 \
+	-arch x86_64 \
+	-L$(builddir) \
+	-stdlib=libc++
+
+LIBTOOLFLAGS_Release := \
+	-framework CoreFoundation -framework CoreServices \
+	-undefined dynamic_lookup \
+	-Wl,-no_pie \
+	-Wl,-search_paths_first
+
+LIBS :=
+
+$(builddir)/fse.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
+$(builddir)/fse.node: LIBS := $(LIBS)
+$(builddir)/fse.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))
+$(builddir)/fse.node: TOOLSET := $(TOOLSET)
+$(builddir)/fse.node: $(OBJS) FORCE_DO_CMD
+	$(call do_cmd,solink_module)
+
+all_deps += $(builddir)/fse.node
+# Add target alias
+.PHONY: fse
+fse: $(builddir)/fse.node
+
+# Short alias for building this executable.
+.PHONY: fse.node
+fse.node: $(builddir)/fse.node
+
+# Add executable to "all" target.
+.PHONY: all
+all: $(builddir)/fse.node
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool
new file mode 100755
index 0000000..d9fc076
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool
@@ -0,0 +1,777 @@
+#!/usr/bin/env python
+# Generated by gyp. Do not edit.
+# Copyright (c) 2012 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Utility functions to perform Xcode-style build steps.
+
+These functions are executed via gyp-mac-tool when using the Makefile generator.
+"""
+
+from __future__ import print_function
+
+import fcntl
+import fnmatch
+import glob
+import json
+import os
+import plistlib
+import re
+import shutil
+import struct
+import subprocess
+import sys
+import tempfile
+
+PY3 = bytes != str
+
+
+def main(args):
+    executor = MacTool()
+    exit_code = executor.Dispatch(args)
+    if exit_code is not None:
+        sys.exit(exit_code)
+
+
+class MacTool(object):
+    """This class performs all the Mac tooling steps. The methods can either be
+  executed directly, or dispatched from an argument list."""
+
+    def Dispatch(self, args):
+        """Dispatches a string command to a method."""
+        if len(args) < 1:
+            raise Exception("Not enough arguments")
+
+        method = "Exec%s" % self._CommandifyName(args[0])
+        return getattr(self, method)(*args[1:])
+
+    def _CommandifyName(self, name_string):
+        """Transforms a tool name like copy-info-plist to CopyInfoPlist"""
+        return name_string.title().replace("-", "")
+
+    def ExecCopyBundleResource(self, source, dest, convert_to_binary):
+        """Copies a resource file to the bundle/Resources directory, performing any
+    necessary compilation on each resource."""
+        convert_to_binary = convert_to_binary == "True"
+        extension = os.path.splitext(source)[1].lower()
+        if os.path.isdir(source):
+            # Copy tree.
+            # TODO(thakis): This copies file attributes like mtime, while the
+            # single-file branch below doesn't. This should probably be changed to
+            # be consistent with the single-file branch.
+            if os.path.exists(dest):
+                shutil.rmtree(dest)
+            shutil.copytree(source, dest)
+        elif extension == ".xib":
+            return self._CopyXIBFile(source, dest)
+        elif extension == ".storyboard":
+            return self._CopyXIBFile(source, dest)
+        elif extension == ".strings" and not convert_to_binary:
+            self._CopyStringsFile(source, dest)
+        else:
+            if os.path.exists(dest):
+                os.unlink(dest)
+            shutil.copy(source, dest)
+
+        if convert_to_binary and extension in (".plist", ".strings"):
+            self._ConvertToBinary(dest)
+
+    def _CopyXIBFile(self, source, dest):
+        """Compiles a XIB file with ibtool into a binary plist in the bundle."""
+
+        # ibtool sometimes crashes with relative paths. See crbug.com/314728.
+        base = os.path.dirname(os.path.realpath(__file__))
+        if os.path.relpath(source):
+            source = os.path.join(base, source)
+        if os.path.relpath(dest):
+            dest = os.path.join(base, dest)
+
+        args = ["xcrun", "ibtool", "--errors", "--warnings", "--notices"]
+
+        if os.environ["XCODE_VERSION_ACTUAL"] > "0700":
+            args.extend(["--auto-activate-custom-fonts"])
+            if "IPHONEOS_DEPLOYMENT_TARGET" in os.environ:
+                args.extend(
+                    [
+                        "--target-device",
+                        "iphone",
+                        "--target-device",
+                        "ipad",
+                        "--minimum-deployment-target",
+                        os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
+                    ]
+                )
+            else:
+                args.extend(
+                    [
+                        "--target-device",
+                        "mac",
+                        "--minimum-deployment-target",
+                        os.environ["MACOSX_DEPLOYMENT_TARGET"],
+                    ]
+                )
+
+        args.extend(
+            ["--output-format", "human-readable-text", "--compile", dest, source]
+        )
+
+        ibtool_section_re = re.compile(r"/\*.*\*/")
+        ibtool_re = re.compile(r".*note:.*is clipping its content")
+        try:
+            stdout = subprocess.check_output(args)
+        except subprocess.CalledProcessError as e:
+            print(e.output)
+            raise
+        current_section_header = None
+        for line in stdout.splitlines():
+            if ibtool_section_re.match(line):
+                current_section_header = line
+            elif not ibtool_re.match(line):
+                if current_section_header:
+                    print(current_section_header)
+                    current_section_header = None
+                print(line)
+        return 0
+
+    def _ConvertToBinary(self, dest):
+        subprocess.check_call(
+            ["xcrun", "plutil", "-convert", "binary1", "-o", dest, dest]
+        )
+
+    def _CopyStringsFile(self, source, dest):
+        """Copies a .strings file using iconv to reconvert the input into UTF-16."""
+        input_code = self._DetectInputEncoding(source) or "UTF-8"
+
+        # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call
+        # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints
+        #     CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
+        #     semicolon in dictionary.
+        # on invalid files. Do the same kind of validation.
+        import CoreFoundation
+
+        with open(source, "rb") as in_file:
+            s = in_file.read()
+        d = CoreFoundation.CFDataCreate(None, s, len(s))
+        _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None)
+        if error:
+            return
+
+        with open(dest, "wb") as fp:
+            fp.write(s.decode(input_code).encode("UTF-16"))
+
+    def _DetectInputEncoding(self, file_name):
+        """Reads the first few bytes from file_name and tries to guess the text
+    encoding. Returns None as a guess if it can't detect it."""
+        with open(file_name, "rb") as fp:
+            try:
+                header = fp.read(3)
+            except Exception:
+                return None
+        if header.startswith(b"\xFE\xFF"):
+            return "UTF-16"
+        elif header.startswith(b"\xFF\xFE"):
+            return "UTF-16"
+        elif header.startswith(b"\xEF\xBB\xBF"):
+            return "UTF-8"
+        else:
+            return None
+
+    def ExecCopyInfoPlist(self, source, dest, convert_to_binary, *keys):
+        """Copies the |source| Info.plist to the destination directory |dest|."""
+        # Read the source Info.plist into memory.
+        with open(source, "r") as fd:
+            lines = fd.read()
+
+        # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild).
+        plist = plistlib.readPlistFromString(lines)
+        if keys:
+            plist.update(json.loads(keys[0]))
+        lines = plistlib.writePlistToString(plist)
+
+        # Go through all the environment variables and replace them as variables in
+        # the file.
+        IDENT_RE = re.compile(r"[_/\s]")
+        for key in os.environ:
+            if key.startswith("_"):
+                continue
+            evar = "${%s}" % key
+            evalue = os.environ[key]
+            lines = lines.replace(lines, evar, evalue)
+
+            # Xcode supports various suffices on environment variables, which are
+            # all undocumented. :rfc1034identifier is used in the standard project
+            # template these days, and :identifier was used earlier. They are used to
+            # convert non-url characters into things that look like valid urls --
+            # except that the replacement character for :identifier, '_' isn't valid
+            # in a URL either -- oops, hence :rfc1034identifier was born.
+            evar = "${%s:identifier}" % key
+            evalue = IDENT_RE.sub("_", os.environ[key])
+            lines = lines.replace(lines, evar, evalue)
+
+            evar = "${%s:rfc1034identifier}" % key
+            evalue = IDENT_RE.sub("-", os.environ[key])
+            lines = lines.replace(lines, evar, evalue)
+
+        # Remove any keys with values that haven't been replaced.
+        lines = lines.splitlines()
+        for i in range(len(lines)):
+            if lines[i].strip().startswith("<string>${"):
+                lines[i] = None
+                lines[i - 1] = None
+        lines = "\n".join(line for line in lines if line is not None)
+
+        # Write out the file with variables replaced.
+        with open(dest, "w") as fd:
+            fd.write(lines)
+
+        # Now write out PkgInfo file now that the Info.plist file has been
+        # "compiled".
+        self._WritePkgInfo(dest)
+
+        if convert_to_binary == "True":
+            self._ConvertToBinary(dest)
+
+    def _WritePkgInfo(self, info_plist):
+        """This writes the PkgInfo file from the data stored in Info.plist."""
+        plist = plistlib.readPlist(info_plist)
+        if not plist:
+            return
+
+        # Only create PkgInfo for executable types.
+        package_type = plist["CFBundlePackageType"]
+        if package_type != "APPL":
+            return
+
+        # The format of PkgInfo is eight characters, representing the bundle type
+        # and bundle signature, each four characters. If that is missing, four
+        # '?' characters are used instead.
+        signature_code = plist.get("CFBundleSignature", "????")
+        if len(signature_code) != 4:  # Wrong length resets everything, too.
+            signature_code = "?" * 4
+
+        dest = os.path.join(os.path.dirname(info_plist), "PkgInfo")
+        with open(dest, "w") as fp:
+            fp.write("%s%s" % (package_type, signature_code))
+
+    def ExecFlock(self, lockfile, *cmd_list):
+        """Emulates the most basic behavior of Linux's flock(1)."""
+        # Rely on exception handling to report errors.
+        fd = os.open(lockfile, os.O_RDONLY | os.O_NOCTTY | os.O_CREAT, 0o666)
+        fcntl.flock(fd, fcntl.LOCK_EX)
+        return subprocess.call(cmd_list)
+
+    def ExecFilterLibtool(self, *cmd_list):
+        """Calls libtool and filters out '/path/to/libtool: file: foo.o has no
+    symbols'."""
+        libtool_re = re.compile(
+            r"^.*libtool: (?:for architecture: \S* )?" r"file: .* has no symbols$"
+        )
+        libtool_re5 = re.compile(
+            r"^.*libtool: warning for library: "
+            + r".* the table of contents is empty "
+            + r"\(no object file members in the library define global symbols\)$"
+        )
+        env = os.environ.copy()
+        # Ref:
+        # http://www.opensource.apple.com/source/cctools/cctools-809/misc/libtool.c
+        # The problem with this flag is that it resets the file mtime on the file to
+        # epoch=0, e.g. 1970-1-1 or 1969-12-31 depending on timezone.
+        env["ZERO_AR_DATE"] = "1"
+        libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env)
+        _, err = libtoolout.communicate()
+        if PY3:
+            err = err.decode("utf-8")
+        for line in err.splitlines():
+            if not libtool_re.match(line) and not libtool_re5.match(line):
+                print(line, file=sys.stderr)
+        # Unconditionally touch the output .a file on the command line if present
+        # and the command succeeded. A bit hacky.
+        if not libtoolout.returncode:
+            for i in range(len(cmd_list) - 1):
+                if cmd_list[i] == "-o" and cmd_list[i + 1].endswith(".a"):
+                    os.utime(cmd_list[i + 1], None)
+                    break
+        return libtoolout.returncode
+
+    def ExecPackageIosFramework(self, framework):
+        # Find the name of the binary based on the part before the ".framework".
+        binary = os.path.basename(framework).split(".")[0]
+        module_path = os.path.join(framework, "Modules")
+        if not os.path.exists(module_path):
+            os.mkdir(module_path)
+        module_template = (
+            "framework module %s {\n"
+            '  umbrella header "%s.h"\n'
+            "\n"
+            "  export *\n"
+            "  module * { export * }\n"
+            "}\n" % (binary, binary)
+        )
+
+        with open(os.path.join(module_path, "module.modulemap"), "w") as module_file:
+            module_file.write(module_template)
+
+    def ExecPackageFramework(self, framework, version):
+        """Takes a path to Something.framework and the Current version of that and
+    sets up all the symlinks."""
+        # Find the name of the binary based on the part before the ".framework".
+        binary = os.path.basename(framework).split(".")[0]
+
+        CURRENT = "Current"
+        RESOURCES = "Resources"
+        VERSIONS = "Versions"
+
+        if not os.path.exists(os.path.join(framework, VERSIONS, version, binary)):
+            # Binary-less frameworks don't seem to contain symlinks (see e.g.
+            # chromium's out/Debug/org.chromium.Chromium.manifest/ bundle).
+            return
+
+        # Move into the framework directory to set the symlinks correctly.
+        pwd = os.getcwd()
+        os.chdir(framework)
+
+        # Set up the Current version.
+        self._Relink(version, os.path.join(VERSIONS, CURRENT))
+
+        # Set up the root symlinks.
+        self._Relink(os.path.join(VERSIONS, CURRENT, binary), binary)
+        self._Relink(os.path.join(VERSIONS, CURRENT, RESOURCES), RESOURCES)
+
+        # Back to where we were before!
+        os.chdir(pwd)
+
+    def _Relink(self, dest, link):
+        """Creates a symlink to |dest| named |link|. If |link| already exists,
+    it is overwritten."""
+        if os.path.lexists(link):
+            os.remove(link)
+        os.symlink(dest, link)
+
+    def ExecCompileIosFrameworkHeaderMap(self, out, framework, *all_headers):
+        framework_name = os.path.basename(framework).split(".")[0]
+        all_headers = [os.path.abspath(header) for header in all_headers]
+        filelist = {}
+        for header in all_headers:
+            filename = os.path.basename(header)
+            filelist[filename] = header
+            filelist[os.path.join(framework_name, filename)] = header
+        WriteHmap(out, filelist)
+
+    def ExecCopyIosFrameworkHeaders(self, framework, *copy_headers):
+        header_path = os.path.join(framework, "Headers")
+        if not os.path.exists(header_path):
+            os.makedirs(header_path)
+        for header in copy_headers:
+            shutil.copy(header, os.path.join(header_path, os.path.basename(header)))
+
+    def ExecCompileXcassets(self, keys, *inputs):
+        """Compiles multiple .xcassets files into a single .car file.
+
+    This invokes 'actool' to compile all the inputs .xcassets files. The
+    |keys| arguments is a json-encoded dictionary of extra arguments to
+    pass to 'actool' when the asset catalogs contains an application icon
+    or a launch image.
+
+    Note that 'actool' does not create the Assets.car file if the asset
+    catalogs does not contains imageset.
+    """
+        command_line = [
+            "xcrun",
+            "actool",
+            "--output-format",
+            "human-readable-text",
+            "--compress-pngs",
+            "--notices",
+            "--warnings",
+            "--errors",
+        ]
+        is_iphone_target = "IPHONEOS_DEPLOYMENT_TARGET" in os.environ
+        if is_iphone_target:
+            platform = os.environ["CONFIGURATION"].split("-")[-1]
+            if platform not in ("iphoneos", "iphonesimulator"):
+                platform = "iphonesimulator"
+            command_line.extend(
+                [
+                    "--platform",
+                    platform,
+                    "--target-device",
+                    "iphone",
+                    "--target-device",
+                    "ipad",
+                    "--minimum-deployment-target",
+                    os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
+                    "--compile",
+                    os.path.abspath(os.environ["CONTENTS_FOLDER_PATH"]),
+                ]
+            )
+        else:
+            command_line.extend(
+                [
+                    "--platform",
+                    "macosx",
+                    "--target-device",
+                    "mac",
+                    "--minimum-deployment-target",
+                    os.environ["MACOSX_DEPLOYMENT_TARGET"],
+                    "--compile",
+                    os.path.abspath(os.environ["UNLOCALIZED_RESOURCES_FOLDER_PATH"]),
+                ]
+            )
+        if keys:
+            keys = json.loads(keys)
+            for key, value in keys.items():
+                arg_name = "--" + key
+                if isinstance(value, bool):
+                    if value:
+                        command_line.append(arg_name)
+                elif isinstance(value, list):
+                    for v in value:
+                        command_line.append(arg_name)
+                        command_line.append(str(v))
+                else:
+                    command_line.append(arg_name)
+                    command_line.append(str(value))
+        # Note: actool crashes if inputs path are relative, so use os.path.abspath
+        # to get absolute path name for inputs.
+        command_line.extend(map(os.path.abspath, inputs))
+        subprocess.check_call(command_line)
+
+    def ExecMergeInfoPlist(self, output, *inputs):
+        """Merge multiple .plist files into a single .plist file."""
+        merged_plist = {}
+        for path in inputs:
+            plist = self._LoadPlistMaybeBinary(path)
+            self._MergePlist(merged_plist, plist)
+        plistlib.writePlist(merged_plist, output)
+
+    def ExecCodeSignBundle(self, key, entitlements, provisioning, path, preserve):
+        """Code sign a bundle.
+
+    This function tries to code sign an iOS bundle, following the same
+    algorithm as Xcode:
+      1. pick the provisioning profile that best match the bundle identifier,
+         and copy it into the bundle as embedded.mobileprovision,
+      2. copy Entitlements.plist from user or SDK next to the bundle,
+      3. code sign the bundle.
+    """
+        substitutions, overrides = self._InstallProvisioningProfile(
+            provisioning, self._GetCFBundleIdentifier()
+        )
+        entitlements_path = self._InstallEntitlements(
+            entitlements, substitutions, overrides
+        )
+
+        args = ["codesign", "--force", "--sign", key]
+        if preserve == "True":
+            args.extend(["--deep", "--preserve-metadata=identifier,entitlements"])
+        else:
+            args.extend(["--entitlements", entitlements_path])
+        args.extend(["--timestamp=none", path])
+        subprocess.check_call(args)
+
+    def _InstallProvisioningProfile(self, profile, bundle_identifier):
+        """Installs embedded.mobileprovision into the bundle.
+
+    Args:
+      profile: string, optional, short name of the .mobileprovision file
+        to use, if empty or the file is missing, the best file installed
+        will be used
+      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
+
+    Returns:
+      A tuple containing two dictionary: variables substitutions and values
+      to overrides when generating the entitlements file.
+    """
+        source_path, provisioning_data, team_id = self._FindProvisioningProfile(
+            profile, bundle_identifier
+        )
+        target_path = os.path.join(
+            os.environ["BUILT_PRODUCTS_DIR"],
+            os.environ["CONTENTS_FOLDER_PATH"],
+            "embedded.mobileprovision",
+        )
+        shutil.copy2(source_path, target_path)
+        substitutions = self._GetSubstitutions(bundle_identifier, team_id + ".")
+        return substitutions, provisioning_data["Entitlements"]
+
+    def _FindProvisioningProfile(self, profile, bundle_identifier):
+        """Finds the .mobileprovision file to use for signing the bundle.
+
+    Checks all the installed provisioning profiles (or if the user specified
+    the PROVISIONING_PROFILE variable, only consult it) and select the most
+    specific that correspond to the bundle identifier.
+
+    Args:
+      profile: string, optional, short name of the .mobileprovision file
+        to use, if empty or the file is missing, the best file installed
+        will be used
+      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
+
+    Returns:
+      A tuple of the path to the selected provisioning profile, the data of
+      the embedded plist in the provisioning profile and the team identifier
+      to use for code signing.
+
+    Raises:
+      SystemExit: if no .mobileprovision can be used to sign the bundle.
+    """
+        profiles_dir = os.path.join(
+            os.environ["HOME"], "Library", "MobileDevice", "Provisioning Profiles"
+        )
+        if not os.path.isdir(profiles_dir):
+            print(
+                "cannot find mobile provisioning for %s" % (bundle_identifier),
+                file=sys.stderr,
+            )
+            sys.exit(1)
+        provisioning_profiles = None
+        if profile:
+            profile_path = os.path.join(profiles_dir, profile + ".mobileprovision")
+            if os.path.exists(profile_path):
+                provisioning_profiles = [profile_path]
+        if not provisioning_profiles:
+            provisioning_profiles = glob.glob(
+                os.path.join(profiles_dir, "*.mobileprovision")
+            )
+        valid_provisioning_profiles = {}
+        for profile_path in provisioning_profiles:
+            profile_data = self._LoadProvisioningProfile(profile_path)
+            app_id_pattern = profile_data.get("Entitlements", {}).get(
+                "application-identifier", ""
+            )
+            for team_identifier in profile_data.get("TeamIdentifier", []):
+                app_id = "%s.%s" % (team_identifier, bundle_identifier)
+                if fnmatch.fnmatch(app_id, app_id_pattern):
+                    valid_provisioning_profiles[app_id_pattern] = (
+                        profile_path,
+                        profile_data,
+                        team_identifier,
+                    )
+        if not valid_provisioning_profiles:
+            print(
+                "cannot find mobile provisioning for %s" % (bundle_identifier),
+                file=sys.stderr,
+            )
+            sys.exit(1)
+        # If the user has multiple provisioning profiles installed that can be
+        # used for ${bundle_identifier}, pick the most specific one (ie. the
+        # provisioning profile whose pattern is the longest).
+        selected_key = max(valid_provisioning_profiles, key=lambda v: len(v))
+        return valid_provisioning_profiles[selected_key]
+
+    def _LoadProvisioningProfile(self, profile_path):
+        """Extracts the plist embedded in a provisioning profile.
+
+    Args:
+      profile_path: string, path to the .mobileprovision file
+
+    Returns:
+      Content of the plist embedded in the provisioning profile as a dictionary.
+    """
+        with tempfile.NamedTemporaryFile() as temp:
+            subprocess.check_call(
+                ["security", "cms", "-D", "-i", profile_path, "-o", temp.name]
+            )
+            return self._LoadPlistMaybeBinary(temp.name)
+
+    def _MergePlist(self, merged_plist, plist):
+        """Merge |plist| into |merged_plist|."""
+        for key, value in plist.items():
+            if isinstance(value, dict):
+                merged_value = merged_plist.get(key, {})
+                if isinstance(merged_value, dict):
+                    self._MergePlist(merged_value, value)
+                    merged_plist[key] = merged_value
+                else:
+                    merged_plist[key] = value
+            else:
+                merged_plist[key] = value
+
+    def _LoadPlistMaybeBinary(self, plist_path):
+        """Loads into a memory a plist possibly encoded in binary format.
+
+    This is a wrapper around plistlib.readPlist that tries to convert the
+    plist to the XML format if it can't be parsed (assuming that it is in
+    the binary format).
+
+    Args:
+      plist_path: string, path to a plist file, in XML or binary format
+
+    Returns:
+      Content of the plist as a dictionary.
+    """
+        try:
+            # First, try to read the file using plistlib that only supports XML,
+            # and if an exception is raised, convert a temporary copy to XML and
+            # load that copy.
+            return plistlib.readPlist(plist_path)
+        except Exception:
+            pass
+        with tempfile.NamedTemporaryFile() as temp:
+            shutil.copy2(plist_path, temp.name)
+            subprocess.check_call(["plutil", "-convert", "xml1", temp.name])
+            return plistlib.readPlist(temp.name)
+
+    def _GetSubstitutions(self, bundle_identifier, app_identifier_prefix):
+        """Constructs a dictionary of variable substitutions for Entitlements.plist.
+
+    Args:
+      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
+      app_identifier_prefix: string, value for AppIdentifierPrefix
+
+    Returns:
+      Dictionary of substitutions to apply when generating Entitlements.plist.
+    """
+        return {
+            "CFBundleIdentifier": bundle_identifier,
+            "AppIdentifierPrefix": app_identifier_prefix,
+        }
+
+    def _GetCFBundleIdentifier(self):
+        """Extracts CFBundleIdentifier value from Info.plist in the bundle.
+
+    Returns:
+      Value of CFBundleIdentifier in the Info.plist located in the bundle.
+    """
+        info_plist_path = os.path.join(
+            os.environ["TARGET_BUILD_DIR"], os.environ["INFOPLIST_PATH"]
+        )
+        info_plist_data = self._LoadPlistMaybeBinary(info_plist_path)
+        return info_plist_data["CFBundleIdentifier"]
+
+    def _InstallEntitlements(self, entitlements, substitutions, overrides):
+        """Generates and install the ${BundleName}.xcent entitlements file.
+
+    Expands variables "$(variable)" pattern in the source entitlements file,
+    add extra entitlements defined in the .mobileprovision file and the copy
+    the generated plist to "${BundlePath}.xcent".
+
+    Args:
+      entitlements: string, optional, path to the Entitlements.plist template
+        to use, defaults to "${SDKROOT}/Entitlements.plist"
+      substitutions: dictionary, variable substitutions
+      overrides: dictionary, values to add to the entitlements
+
+    Returns:
+      Path to the generated entitlements file.
+    """
+        source_path = entitlements
+        target_path = os.path.join(
+            os.environ["BUILT_PRODUCTS_DIR"], os.environ["PRODUCT_NAME"] + ".xcent"
+        )
+        if not source_path:
+            source_path = os.path.join(os.environ["SDKROOT"], "Entitlements.plist")
+        shutil.copy2(source_path, target_path)
+        data = self._LoadPlistMaybeBinary(target_path)
+        data = self._ExpandVariables(data, substitutions)
+        if overrides:
+            for key in overrides:
+                if key not in data:
+                    data[key] = overrides[key]
+        plistlib.writePlist(data, target_path)
+        return target_path
+
+    def _ExpandVariables(self, data, substitutions):
+        """Expands variables "$(variable)" in data.
+
+    Args:
+      data: object, can be either string, list or dictionary
+      substitutions: dictionary, variable substitutions to perform
+
+    Returns:
+      Copy of data where each references to "$(variable)" has been replaced
+      by the corresponding value found in substitutions, or left intact if
+      the key was not found.
+    """
+        if isinstance(data, str):
+            for key, value in substitutions.items():
+                data = data.replace("$(%s)" % key, value)
+            return data
+        if isinstance(data, list):
+            return [self._ExpandVariables(v, substitutions) for v in data]
+        if isinstance(data, dict):
+            return {k: self._ExpandVariables(data[k], substitutions) for k in data}
+        return data
+
+
+def NextGreaterPowerOf2(x):
+    return 2 ** (x).bit_length()
+
+
+def WriteHmap(output_name, filelist):
+    """Generates a header map based on |filelist|.
+
+  Per Mark Mentovai:
+    A header map is structured essentially as a hash table, keyed by names used
+    in #includes, and providing pathnames to the actual files.
+
+  The implementation below and the comment above comes from inspecting:
+    http://www.opensource.apple.com/source/distcc/distcc-2503/distcc_dist/include_server/headermap.py?txt
+  while also looking at the implementation in clang in:
+    https://llvm.org/svn/llvm-project/cfe/trunk/lib/Lex/HeaderMap.cpp
+  """
+    magic = 1751998832
+    version = 1
+    _reserved = 0
+    count = len(filelist)
+    capacity = NextGreaterPowerOf2(count)
+    strings_offset = 24 + (12 * capacity)
+    max_value_length = max(len(value) for value in filelist.values())
+
+    out = open(output_name, "wb")
+    out.write(
+        struct.pack(
+            "<LHHLLLL",
+            magic,
+            version,
+            _reserved,
+            strings_offset,
+            count,
+            capacity,
+            max_value_length,
+        )
+    )
+
+    # Create empty hashmap buckets.
+    buckets = [None] * capacity
+    for file, path in filelist.items():
+        key = 0
+        for c in file:
+            key += ord(c.lower()) * 13
+
+        # Fill next empty bucket.
+        while buckets[key & capacity - 1] is not None:
+            key = key + 1
+        buckets[key & capacity - 1] = (file, path)
+
+    next_offset = 1
+    for bucket in buckets:
+        if bucket is None:
+            out.write(struct.pack("<LLL", 0, 0, 0))
+        else:
+            (file, path) = bucket
+            key_offset = next_offset
+            prefix_offset = key_offset + len(file) + 1
+            suffix_offset = prefix_offset + len(os.path.dirname(path) + os.sep) + 1
+            next_offset = suffix_offset + len(os.path.basename(path)) + 1
+            out.write(struct.pack("<LLL", key_offset, prefix_offset, suffix_offset))
+
+    # Pad byte since next offset starts at 1.
+    out.write(struct.pack("<x"))
+
+    for bucket in buckets:
+        if bucket is not None:
+            (file, path) = bucket
+            out.write(struct.pack("<%ds" % len(file), file))
+            out.write(struct.pack("<s", "\0"))
+            base = os.path.dirname(path) + os.sep
+            out.write(struct.pack("<%ds" % len(base), base))
+            out.write(struct.pack("<s", "\0"))
+            path = os.path.basename(path)
+            out.write(struct.pack("<%ds" % len(path), path))
+            out.write(struct.pack("<s", "\0"))
+
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv[1:]))
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc
new file mode 100644
index 0000000..c5031fe
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc
@@ -0,0 +1,88 @@
+/*
+** © 2014 by Philipp Dunkel <pi...@pipobscure.com>
+** Licensed under MIT License.
+*/
+
+#include "nan.h"
+#include "uv.h"
+#include "v8.h"
+#include "CoreFoundation/CoreFoundation.h"
+#include "CoreServices/CoreServices.h"
+#include <iostream>
+#include <vector>
+
+#include "src/storage.cc"
+namespace fse {
+  class FSEvents : public Nan::ObjectWrap {
+  public:
+    explicit FSEvents(const char *path);
+    ~FSEvents();
+
+    uv_mutex_t mutex;
+
+    // async.cc
+    uv_async_t async;
+    void asyncStart();
+    void asyncTrigger();
+    void asyncStop();
+
+    // thread.cc
+    uv_thread_t thread;
+    CFRunLoopRef threadloop;
+    void threadStart();
+    static void threadRun(void *ctx);
+    void threadStop();
+
+    // methods.cc - internal
+    Nan::AsyncResource async_resource;
+    void emitEvent(const char *path, UInt32 flags, UInt64 id);
+
+    // Common
+    CFArrayRef paths;
+    std::vector<fse_event*> events;
+    static void Initialize(v8::Local<v8::Object> exports);
+
+    // methods.cc - exposed
+    static NAN_METHOD(New);
+    static NAN_METHOD(Stop);
+    static NAN_METHOD(Start);
+
+  };
+}
+
+using namespace fse;
+
+FSEvents::FSEvents(const char *path)
+   : async_resource("fsevents:FSEvents") {
+  CFStringRef dirs[] = { CFStringCreateWithCString(NULL, path, kCFStringEncodingUTF8) };
+  paths = CFArrayCreate(NULL, (const void **)&dirs, 1, NULL);
+  threadloop = NULL;
+  if (uv_mutex_init(&mutex)) abort();
+}
+FSEvents::~FSEvents() {
+  CFRelease(paths);
+  uv_mutex_destroy(&mutex);
+}
+
+#ifndef kFSEventStreamEventFlagItemCreated
+#define kFSEventStreamEventFlagItemCreated 0x00000010
+#endif
+
+#include "src/async.cc"
+#include "src/thread.cc"
+#include "src/constants.cc"
+#include "src/methods.cc"
+
+void FSEvents::Initialize(v8::Local<v8::Object> exports) {
+  v8::Isolate* isolate = exports->GetIsolate();
+  v8::Local<v8::Context> context = isolate->GetCurrentContext();
+  v8::Local<v8::FunctionTemplate> tpl = Nan::New<v8::FunctionTemplate>(FSEvents::New);
+  tpl->SetClassName(Nan::New<v8::String>("FSEvents").ToLocalChecked());
+  tpl->InstanceTemplate()->SetInternalFieldCount(1);
+  Nan::SetPrototypeTemplate(tpl, "start", Nan::New<v8::FunctionTemplate>(FSEvents::Start));
+  Nan::SetPrototypeTemplate(tpl, "stop", Nan::New<v8::FunctionTemplate>(FSEvents::Stop));
+  Nan::Set(exports, Nan::New<v8::String>("Constants").ToLocalChecked(), Constants());
+  Nan::Set(exports, Nan::New<v8::String>("FSEvents").ToLocalChecked(), tpl->GetFunction(context).ToLocalChecked());
+}
+
+NODE_MODULE(fse, FSEvents::Initialize)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js
new file mode 100644
index 0000000..b6a5c43
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js
@@ -0,0 +1,108 @@
+/*
+ ** © 2014 by Philipp Dunkel <pi...@pipobscure.com>
+ ** Licensed under MIT License.
+ */
+
+/* jshint node:true */
+'use strict';
+
+if (process.platform !== 'darwin')
+  throw new Error('Module \'fsevents\' is not compatible with platform \'' + process.platform + '\'');
+
+var Native = require("bindings")("fse");
+
+var EventEmitter = require('events').EventEmitter;
+var fs = require('fs');
+var inherits = require('util').inherits;
+
+function FSEvents(path, handler) {
+  EventEmitter.call(this);
+
+  Object.defineProperty(this, '_impl', {
+    value: new Native.FSEvents(String(path || ''), handler),
+    enumerable: false,
+    writable: false
+  });
+}
+
+inherits(FSEvents, EventEmitter);
+proxies(FSEvents, Native.FSEvents);
+
+module.exports = watch;
+module.exports.getInfo = getInfo;
+module.exports.FSEvents = Native.FSEvents;
+module.exports.Constants = Native.Constants;
+
+var defer = global.setImmediate || process.nextTick;
+
+function watch(path) {
+  var VFS = require('./vfs');
+  var vfs = new VFS(String(path || ''));
+  var fse = new FSEvents(vfs.resolvedPath, vfs.wrap(handler));
+  EventEmitter.call(fse);
+  return fse;
+
+  function handler(path, flags, id) {
+    defer(function() {
+      fse.emit('fsevent', path, flags, id);
+      var info = getInfo(path, flags);
+      info.id = id;
+      if (info.event === 'moved') {
+        fs.stat(info.path, function(err, stat) {
+          info.event = (err || !stat) ? 'moved-out' : 'moved-in';
+          fse.emit('change', path, info);
+          fse.emit(info.event, path, info);
+        });
+      } else {
+        fse.emit('change', path, info);
+        fse.emit(info.event, path, info);
+      }
+    });
+  }
+}
+
+function proxies(ctor, target) {
+  Object.keys(target.prototype).filter(function(key) {
+    return typeof target.prototype[key] === 'function';
+  }).forEach(function(key) {
+    ctor.prototype[key] = function() {
+      this._impl[key].apply(this._impl, arguments);
+      return this;
+    }
+  });
+}
+
+function getFileType(flags) {
+  if (Native.Constants.kFSEventStreamEventFlagItemIsFile & flags) return 'file';
+  if (Native.Constants.kFSEventStreamEventFlagItemIsDir & flags) return 'directory';
+  if (Native.Constants.kFSEventStreamEventFlagItemIsSymlink & flags) return 'symlink';
+}
+
+function getEventType(flags) {
+  if (Native.Constants.kFSEventStreamEventFlagItemRemoved & flags) return 'deleted';
+  if (Native.Constants.kFSEventStreamEventFlagItemRenamed & flags) return 'moved';
+  if (Native.Constants.kFSEventStreamEventFlagItemCreated & flags) return 'created';
+  if (Native.Constants.kFSEventStreamEventFlagItemModified & flags) return 'modified';
+  if (Native.Constants.kFSEventStreamEventFlagRootChanged & flags) return 'root-changed';
+
+  return 'unknown';
+}
+
+function getFileChanges(flags) {
+  return {
+    inode: !! (Native.Constants.kFSEventStreamEventFlagItemInodeMetaMod & flags),
+    finder: !! (Native.Constants.kFSEventStreamEventFlagItemFinderInfoMod & flags),
+    access: !! (Native.Constants.kFSEventStreamEventFlagItemChangeOwner & flags),
+    xattrs: !! (Native.Constants.kFSEventStreamEventFlagItemXattrMod & flags)
+  };
+}
+
+function getInfo(path, flags) {
+  return {
+    path: path,
+    event: getEventType(flags),
+    type: getFileType(flags),
+    changes: getFileChanges(flags),
+    flags: flags
+  };
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE
new file mode 100644
index 0000000..9bcfa9d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE
@@ -0,0 +1,46 @@
+This software is dual-licensed under the ISC and MIT licenses.
+You may use this software under EITHER of the following licenses.
+
+----------
+
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+----------
+
+Copyright Isaac Z. Schlueter and Contributors
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md
new file mode 100644
index 0000000..99746fe
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md
@@ -0,0 +1,23 @@
+# abbrev-js
+
+Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).
+
+Usage:
+
+    var abbrev = require("abbrev");
+    abbrev("foo", "fool", "folding", "flop");
+    
+    // returns:
+    { fl: 'flop'
+    , flo: 'flop'
+    , flop: 'flop'
+    , fol: 'folding'
+    , fold: 'folding'
+    , foldi: 'folding'
+    , foldin: 'folding'
+    , folding: 'folding'
+    , foo: 'foo'
+    , fool: 'fool'
+    }
+
+This is handy for command-line scripts, or other cases where you want to be able to accept shorthands.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js
new file mode 100644
index 0000000..7b1dc5d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js
@@ -0,0 +1,61 @@
+module.exports = exports = abbrev.abbrev = abbrev
+
+abbrev.monkeyPatch = monkeyPatch
+
+function monkeyPatch () {
+  Object.defineProperty(Array.prototype, 'abbrev', {
+    value: function () { return abbrev(this) },
+    enumerable: false, configurable: true, writable: true
+  })
+
+  Object.defineProperty(Object.prototype, 'abbrev', {
+    value: function () { return abbrev(Object.keys(this)) },
+    enumerable: false, configurable: true, writable: true
+  })
+}
+
+function abbrev (list) {
+  if (arguments.length !== 1 || !Array.isArray(list)) {
+    list = Array.prototype.slice.call(arguments, 0)
+  }
+  for (var i = 0, l = list.length, args = [] ; i < l ; i ++) {
+    args[i] = typeof list[i] === "string" ? list[i] : String(list[i])
+  }
+
+  // sort them lexicographically, so that they're next to their nearest kin
+  args = args.sort(lexSort)
+
+  // walk through each, seeing how much it has in common with the next and previous
+  var abbrevs = {}
+    , prev = ""
+  for (var i = 0, l = args.length ; i < l ; i ++) {
+    var current = args[i]
+      , next = args[i + 1] || ""
+      , nextMatches = true
+      , prevMatches = true
+    if (current === next) continue
+    for (var j = 0, cl = current.length ; j < cl ; j ++) {
+      var curChar = current.charAt(j)
+      nextMatches = nextMatches && curChar === next.charAt(j)
+      prevMatches = prevMatches && curChar === prev.charAt(j)
+      if (!nextMatches && !prevMatches) {
+        j ++
+        break
+      }
+    }
+    prev = current
+    if (j === cl) {
+      abbrevs[current] = current
+      continue
+    }
+    for (var a = current.substr(0, j) ; j <= cl ; j ++) {
+      abbrevs[a] = current
+      a += current.charAt(j)
+    }
+  }
+  return abbrevs
+}
+
+function lexSort (a, b) {
+  return a === b ? 0 : a > b ? 1 : -1
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json
new file mode 100644
index 0000000..c58b55a
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json
@@ -0,0 +1,56 @@
+{
+  "_from": "abbrev@1",
+  "_id": "abbrev@1.1.1",
+  "_inBundle": false,
+  "_integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+  "_location": "/abbrev",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "abbrev@1",
+    "name": "abbrev",
+    "escapedName": "abbrev",
+    "rawSpec": "1",
+    "saveSpec": null,
+    "fetchSpec": "1"
+  },
+  "_requiredBy": [
+    "/nopt"
+  ],
+  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+  "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
+  "_spec": "abbrev@1",
+  "_where": "/Users/pipobscure/fsevents/node_modules/nopt",
+  "author": {
+    "name": "Isaac Z. Schlueter",
+    "email": "i@izs.me"
+  },
+  "bugs": {
+    "url": "https://github.com/isaacs/abbrev-js/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Like ruby's abbrev module, but in js",
+  "devDependencies": {
+    "tap": "^10.1"
+  },
+  "files": [
+    "abbrev.js"
+  ],
+  "homepage": "https://github.com/isaacs/abbrev-js#readme",
+  "license": "ISC",
+  "main": "abbrev.js",
+  "name": "abbrev",
+  "repository": {
+    "type": "git",
+    "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
+  },
+  "scripts": {
+    "postpublish": "git push origin --all; git push origin --tags",
+    "postversion": "npm publish",
+    "preversion": "npm test",
+    "test": "tap test.js --100"
+  },
+  "version": "1.1.1"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js
new file mode 100644
index 0000000..b9574ed
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = function () {
+	return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
+};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json
new file mode 100644
index 0000000..96a7ff7
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json
@@ -0,0 +1,108 @@
+{
+  "_from": "ansi-regex@^2.0.0",
+  "_id": "ansi-regex@2.1.1",
+  "_inBundle": false,
+  "_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+  "_location": "/ansi-regex",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "ansi-regex@^2.0.0",
+    "name": "ansi-regex",
+    "escapedName": "ansi-regex",
+    "rawSpec": "^2.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^2.0.0"
+  },
+  "_requiredBy": [
+    "/strip-ansi"
+  ],
+  "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+  "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
+  "_spec": "ansi-regex@^2.0.0",
+  "_where": "/Users/pipobscure/fsevents/node_modules/strip-ansi",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/chalk/ansi-regex/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Regular expression for matching ANSI escape codes",
+  "devDependencies": {
+    "ava": "0.17.0",
+    "xo": "0.16.0"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/chalk/ansi-regex#readme",
+  "keywords": [
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "string",
+    "tty",
+    "escape",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "command-line",
+    "text",
+    "regex",
+    "regexp",
+    "re",
+    "match",
+    "test",
+    "find",
+    "pattern"
+  ],
+  "license": "MIT",
+  "maintainers": [
+    {
+      "name": "Sindre Sorhus",
+      "email": "sindresorhus@gmail.com",
+      "url": "sindresorhus.com"
+    },
+    {
+      "name": "Joshua Appelman",
+      "email": "jappelman@xebia.com",
+      "url": "jbnicolai.com"
+    },
+    {
+      "name": "JD Ballard",
+      "email": "i.am.qix@gmail.com",
+      "url": "github.com/qix-"
+    }
+  ],
+  "name": "ansi-regex",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/chalk/ansi-regex.git"
+  },
+  "scripts": {
+    "test": "xo && ava --verbose",
+    "view-supported": "node fixtures/view-codes.js"
+  },
+  "version": "2.1.1",
+  "xo": {
+    "rules": {
+      "guard-for-in": 0,
+      "no-loop-func": 0
+    }
+  }
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md
new file mode 100644
index 0000000..6a928ed
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md
@@ -0,0 +1,39 @@
+# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
+
+> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install --save ansi-regex
+```
+
+
+## Usage
+
+```js
+const ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001b[4mcake\u001b[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001b[4mcake\u001b[0m'.match(ansiRegex());
+//=> ['\u001b[4m', '\u001b[0m']
+```
+
+## FAQ
+
+### Why do you test for codes not in the ECMA 48 standard?
+
+Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from [...]
+
+On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on c [...]
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE
new file mode 100644
index 0000000..f4be44d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE
@@ -0,0 +1,14 @@
+Copyright (c) 2015, Rebecca Turner <me...@re-becca.org>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md
new file mode 100644
index 0000000..0bfc594
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md
@@ -0,0 +1,94 @@
+aproba
+======
+
+A ridiculously light-weight function argument validator
+
+```
+var validate = require("aproba")
+
+function myfunc(a, b, c) {
+  // `a` must be a string, `b` a number, `c` a function
+  validate('SNF', arguments) // [a,b,c] is also valid
+}
+
+myfunc('test', 23, function () {}) // ok
+myfunc(123, 23, function () {}) // type error
+myfunc('test', 23) // missing arg error
+myfunc('test', 23, function () {}, true) // too many args error
+
+```
+
+Valid types are:
+
+| type | description
+| :--: | :----------
+| *    | matches any type
+| A    | `Array.isArray` OR an `arguments` object
+| S    | typeof == string
+| N    | typeof == number
+| F    | typeof == function
+| O    | typeof == object and not type A and not type E
+| B    | typeof == boolean
+| E    | `instanceof Error` OR `null` **(special: see below)**
+| Z    | == `null`
+
+Validation failures throw one of three exception types, distinguished by a
+`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`.
+
+If you pass in an invalid type then it will throw with a code of
+`EUNKNOWNTYPE`.
+
+If an **error** argument is found and is not null then the remaining
+arguments are optional.  That is, if you say `ESO` then that's like using a
+non-magical `E` in: `E|ESO|ZSO`.
+
+### But I have optional arguments?!
+
+You can provide more than one signature by separating them with pipes `|`.
+If any signature matches the arguments then they'll be considered valid.
+
+So for example, say you wanted to write a signature for
+`fs.createWriteStream`.  The docs for it describe it thusly:
+
+```
+fs.createWriteStream(path[, options])
+```
+
+This would be a signature of `SO|S`.  That is, a string and and object, or
+just a string.
+
+Now, if you read the full `fs` docs, you'll see that actually path can ALSO
+be a buffer.  And options can be a string, that is:
+```
+path <String> | <Buffer>
+options <String> | <Object>
+```
+
+To reproduce this you have to fully enumerate all of the possible
+combinations and that implies a signature of `SO|SS|OO|OS|S|O`.  The
+awkwardness is a feature: It reminds you of the complexity you're adding to
+your API when you do this sort of thing.
+
+
+### Browser support
+
+This has no dependencies and should work in browsers, though you'll have
+noisier stack traces.
+
+### Why this exists
+
+I wanted a very simple argument validator. It needed to do two things:
+
+1. Be more concise and easier to use than assertions
+
+2. Not encourage an infinite bikeshed of DSLs
+
+This is why types are specified by a single character and there's no such
+thing as an optional argument. 
+
+This is not intended to validate user data. This is specifically about
+asserting the interface of your functions.
+
+If you need greater validation, I encourage you to write them by hand or
+look elsewhere.
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js
new file mode 100644
index 0000000..6f3f797
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js
@@ -0,0 +1,105 @@
+'use strict'
+
+function isArguments (thingy) {
+  return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee')
+}
+
+var types = {
+  '*': {label: 'any', check: function () { return true }},
+  A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }},
+  S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }},
+  N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }},
+  F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }},
+  O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }},
+  B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }},
+  E: {label: 'error', check: function (thingy) { return thingy instanceof Error }},
+  Z: {label: 'null', check: function (thingy) { return thingy == null }}
+}
+
+function addSchema (schema, arity) {
+  var group = arity[schema.length] = arity[schema.length] || []
+  if (group.indexOf(schema) === -1) group.push(schema)
+}
+
+var validate = module.exports = function (rawSchemas, args) {
+  if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length)
+  if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas')
+  if (!args) throw missingRequiredArg(1, 'args')
+  if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas)
+  if (!types.A.check(args)) throw invalidType(1, ['array'], args)
+  var schemas = rawSchemas.split('|')
+  var arity = {}
+
+  schemas.forEach(function (schema) {
+    for (var ii = 0; ii < schema.length; ++ii) {
+      var type = schema[ii]
+      if (!types[type]) throw unknownType(ii, type)
+    }
+    if (/E.*E/.test(schema)) throw moreThanOneError(schema)
+    addSchema(schema, arity)
+    if (/E/.test(schema)) {
+      addSchema(schema.replace(/E.*$/, 'E'), arity)
+      addSchema(schema.replace(/E/, 'Z'), arity)
+      if (schema.length === 1) addSchema('', arity)
+    }
+  })
+  var matching = arity[args.length]
+  if (!matching) {
+    throw wrongNumberOfArgs(Object.keys(arity), args.length)
+  }
+  for (var ii = 0; ii < args.length; ++ii) {
+    var newMatching = matching.filter(function (schema) {
+      var type = schema[ii]
+      var typeCheck = types[type].check
+      return typeCheck(args[ii])
+    })
+    if (!newMatching.length) {
+      var labels = matching.map(function (schema) {
+        return types[schema[ii]].label
+      }).filter(function (schema) { return schema != null })
+      throw invalidType(ii, labels, args[ii])
+    }
+    matching = newMatching
+  }
+}
+
+function missingRequiredArg (num) {
+  return newException('EMISSINGARG', 'Missing required argument #' + (num + 1))
+}
+
+function unknownType (num, type) {
+  return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1))
+}
+
+function invalidType (num, expectedTypes, value) {
+  var valueType
+  Object.keys(types).forEach(function (typeCode) {
+    if (types[typeCode].check(value)) valueType = types[typeCode].label
+  })
+  return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' +
+    englishList(expectedTypes) + ' but got ' + valueType)
+}
+
+function englishList (list) {
+  return list.join(', ').replace(/, ([^,]+)$/, ' or $1')
+}
+
+function wrongNumberOfArgs (expected, got) {
+  var english = englishList(expected)
+  var args = expected.every(function (ex) { return ex.length === 1 })
+    ? 'argument'
+    : 'arguments'
+  return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got)
+}
+
+function moreThanOneError (schema) {
+  return newException('ETOOMANYERRORTYPES',
+    'Only one error type per argument signature is allowed, more than one found in "' + schema + '"')
+}
+
+function newException (code, msg) {
+  var e = new Error(msg)
+  e.code = code
+  if (Error.captureStackTrace) Error.captureStackTrace(e, validate)
+  return e
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json
new file mode 100644
index 0000000..7711d34
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json
@@ -0,0 +1,62 @@
+{
+  "_from": "aproba@^1.0.3",
+  "_id": "aproba@1.2.0",
+  "_inBundle": false,
+  "_integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+  "_location": "/aproba",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "aproba@^1.0.3",
+    "name": "aproba",
+    "escapedName": "aproba",
+    "rawSpec": "^1.0.3",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.3"
+  },
+  "_requiredBy": [
+    "/gauge"
+  ],
+  "_resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+  "_shasum": "6802e6264efd18c790a1b0d517f0f2627bf2c94a",
+  "_spec": "aproba@^1.0.3",
+  "_where": "/Users/pipobscure/fsevents/node_modules/gauge",
+  "author": {
+    "name": "Rebecca Turner",
+    "email": "me@re-becca.org"
+  },
+  "bugs": {
+    "url": "https://github.com/iarna/aproba/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {},
+  "deprecated": false,
+  "description": "A ridiculously light-weight argument validator (now browser friendly)",
+  "devDependencies": {
+    "standard": "^10.0.3",
+    "tap": "^10.0.2"
+  },
+  "directories": {
+    "test": "test"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/iarna/aproba",
+  "keywords": [
+    "argument",
+    "validate"
+  ],
+  "license": "ISC",
+  "main": "index.js",
+  "name": "aproba",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/iarna/aproba.git"
+  },
+  "scripts": {
+    "test": "standard && tap -j3 test/*.js"
+  },
+  "version": "1.2.0"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md
new file mode 100644
index 0000000..21f3b1c
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md
@@ -0,0 +1,37 @@
+Hi, figured we could actually use a changelog now:
+
+## 1.1.5 2018-05-24
+
+* [#92](https://github.com/iarna/are-we-there-yet/pull/92) Fix bug where
+  `finish` would throw errors when including `TrackerStream` objects in
+  `TrackerGroup` collections.  (@brianloveswords)
+
+## 1.1.4 2017-04-21
+
+* Fix typo in package.json
+
+## 1.1.3 2017-04-21
+
+* Improve documentation and limit files included in the distribution.
+
+## 1.1.2 2016-03-15
+
+* Add tracker group cycle detection and tests for it
+
+## 1.1.1 2016-01-29
+
+* Fix a typo in stream completion tracker
+
+## 1.1.0 2016-01-29
+
+* Rewrote completion percent computation to be low impact– no more walking a
+  tree of completion groups every time we need this info.  Previously, with
+  medium sized tree of completion groups, even a relatively modest number of
+  calls to the top level `completed()` method would result in absurd numbers
+  of calls overall as it walked down the tree. We now, instead, keep track as
+  we bubble up changes, so the computation is limited to when data changes and
+  to the depth of that one branch, instead of _every_ node. (Plus, we were already
+  incurring _this_ cost, since we already bubbled out changes.)
+* Moved different tracker types out to their own files.
+* Made tests test for TOO MANY events too.
+* Standarized the source code formatting
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE
new file mode 100644
index 0000000..af45880
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE
@@ -0,0 +1,5 @@
+Copyright (c) 2015, Rebecca Turner
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md
new file mode 100644
index 0000000..7e2b42d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md
@@ -0,0 +1,195 @@
+are-we-there-yet
+----------------
+
+Track complex hiearchies of asynchronous task completion statuses.  This is
+intended to give you a way of recording and reporting the progress of the big
+recursive fan-out and gather type workflows that are so common in async.
+
+What you do with this completion data is up to you, but the most common use case is to
+feed it to one of the many progress bar modules.
+
+Most progress bar modules include a rudamentary version of this, but my
+needs were more complex.
+
+Usage
+=====
+
+```javascript
+var TrackerGroup = require("are-we-there-yet").TrackerGroup
+
+var top = new TrackerGroup("program")
+
+var single = top.newItem("one thing", 100)
+single.completeWork(20)
+
+console.log(top.completed()) // 0.2
+
+fs.stat("file", function(er, stat) {
+  if (er) throw er  
+  var stream = top.newStream("file", stat.size)
+  console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete
+                              // and 50% * 20% == 10%
+  fs.createReadStream("file").pipe(stream).on("data", function (chunk) {
+    // do stuff with chunk
+  })
+  top.on("change", function (name) {
+    // called each time a chunk is read from "file"
+    // top.completed() will start at 0.1 and fill up to 0.6 as the file is read
+  })
+})
+```
+
+Shared Methods
+==============
+
+* var completed = tracker.completed()
+
+Implemented in: `Tracker`, `TrackerGroup`, `TrackerStream`
+
+Returns the ratio of completed work to work to be done. Range of 0 to 1.
+
+* tracker.finish()
+
+Implemented in: `Tracker`, `TrackerGroup`
+
+Marks the tracker as completed. With a TrackerGroup this marks all of its
+components as completed.
+
+Marks all of the components of this tracker as finished, which in turn means
+that `tracker.completed()` for this will now be 1.
+
+This will result in one or more `change` events being emitted.
+
+Events
+======
+
+All tracker objects emit `change` events with the following arguments:
+
+```
+function (name, completed, tracker)
+```
+
+`name` is the name of the tracker that originally emitted the event,
+or if it didn't have one, the first containing tracker group that had one.
+
+`completed` is the percent complete (as returned by `tracker.completed()` method).
+
+`tracker` is the tracker object that you are listening for events on.
+
+TrackerGroup
+============
+
+* var tracker = new TrackerGroup(**name**)
+
+  * **name** *(optional)* - The name of this tracker group, used in change
+    notifications if the component updating didn't have a name. Defaults to undefined.
+
+Creates a new empty tracker aggregation group. These are trackers whose
+completion status is determined by the completion status of other trackers.
+
+* tracker.addUnit(**otherTracker**, **weight**)
+
+  * **otherTracker** - Any of the other are-we-there-yet tracker objects
+  * **weight** *(optional)* - The weight to give the tracker, defaults to 1.
+
+Adds the **otherTracker** to this aggregation group. The weight determines
+how long you expect this tracker to take to complete in proportion to other
+units.  So for instance, if you add one tracker with a weight of 1 and
+another with a weight of 2, you're saying the second will take twice as long
+to complete as the first.  As such, the first will account for 33% of the
+completion of this tracker and the second will account for the other 67%.
+
+Returns **otherTracker**.
+
+* var subGroup = tracker.newGroup(**name**, **weight**)
+
+The above is exactly equivalent to:
+
+```javascript
+  var subGroup = tracker.addUnit(new TrackerGroup(name), weight)
+```
+
+* var subItem = tracker.newItem(**name**, **todo**, **weight**)
+
+The above is exactly equivalent to:
+
+```javascript
+  var subItem = tracker.addUnit(new Tracker(name, todo), weight)
+```
+
+* var subStream = tracker.newStream(**name**, **todo**, **weight**)
+
+The above is exactly equivalent to:
+
+```javascript
+  var subStream = tracker.addUnit(new TrackerStream(name, todo), weight)
+```
+
+* console.log( tracker.debug() )
+
+Returns a tree showing the completion of this tracker group and all of its
+children, including recursively entering all of the children.
+
+Tracker
+=======
+
+* var tracker = new Tracker(**name**, **todo**)
+
+  * **name** *(optional)* The name of this counter to report in change
+    events.  Defaults to undefined.
+  * **todo** *(optional)* The amount of work todo (a number). Defaults to 0.
+
+Ordinarily these are constructed as a part of a tracker group (via
+`newItem`).
+
+* var completed = tracker.completed()
+
+Returns the ratio of completed work to work to be done. Range of 0 to 1. If
+total work to be done is 0 then it will return 0.
+
+* tracker.addWork(**todo**)
+
+  * **todo** A number to add to the amount of work to be done.
+
+Increases the amount of work to be done, thus decreasing the completion
+percentage.  Triggers a `change` event.
+
+* tracker.completeWork(**completed**)
+
+  * **completed** A number to add to the work complete
+
+Increase the amount of work complete, thus increasing the completion percentage.
+Will never increase the work completed past the amount of work todo. That is,
+percentages > 100% are not allowed. Triggers a `change` event.
+
+* tracker.finish()
+
+Marks this tracker as finished, tracker.completed() will now be 1. Triggers
+a `change` event.
+
+TrackerStream
+=============
+
+* var tracker = new TrackerStream(**name**, **size**, **options**)
+
+  * **name** *(optional)* The name of this counter to report in change
+    events.  Defaults to undefined.
+  * **size** *(optional)* The number of bytes being sent through this stream.
+  * **options** *(optional)* A hash of stream options
+
+The tracker stream object is a pass through stream that updates an internal
+tracker object each time a block passes through.  It's intended to track
+downloads, file extraction and other related activities. You use it by piping
+your data source into it and then using it as your data source.
+
+If your data has a length attribute then that's used as the amount of work
+completed when the chunk is passed through.  If it does not (eg, object
+streams) then each chunk counts as completing 1 unit of work, so your size
+should be the total number of objects being streamed.
+
+* tracker.addWork(**todo**)
+
+  * **todo** Increase the expected overall size by **todo** bytes.
+
+Increases the amount of work to be done, thus decreasing the completion
+percentage.  Triggers a `change` event.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js
new file mode 100644
index 0000000..57d8743
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js
@@ -0,0 +1,4 @@
+'use strict'
+exports.TrackerGroup = require('./tracker-group.js')
+exports.Tracker = require('./tracker.js')
+exports.TrackerStream = require('./tracker-stream.js')
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json
new file mode 100644
index 0000000..671750b
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json
@@ -0,0 +1,63 @@
+{
+  "_from": "are-we-there-yet@~1.1.2",
+  "_id": "are-we-there-yet@1.1.5",
+  "_inBundle": false,
+  "_integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+  "_location": "/are-we-there-yet",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "are-we-there-yet@~1.1.2",
+    "name": "are-we-there-yet",
+    "escapedName": "are-we-there-yet",
+    "rawSpec": "~1.1.2",
+    "saveSpec": null,
+    "fetchSpec": "~1.1.2"
+  },
+  "_requiredBy": [
+    "/npmlog"
+  ],
+  "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+  "_shasum": "4b35c2944f062a8bfcda66410760350fe9ddfc21",
+  "_spec": "are-we-there-yet@~1.1.2",
+  "_where": "/Users/pipobscure/fsevents/node_modules/npmlog",
+  "author": {
+    "name": "Rebecca Turner",
+    "url": "http://re-becca.org"
+  },
+  "bugs": {
+    "url": "https://github.com/iarna/are-we-there-yet/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {
+    "delegates": "^1.0.0",
+    "readable-stream": "^2.0.6"
+  },
+  "deprecated": false,
+  "description": "Keep track of the overall completion of many disparate processes",
+  "devDependencies": {
+    "standard": "^11.0.1",
+    "tap": "^12.0.1"
+  },
+  "files": [
+    "index.js",
+    "tracker-base.js",
+    "tracker-group.js",
+    "tracker-stream.js",
+    "tracker.js",
+    "CHANGES.md"
+  ],
+  "homepage": "https://github.com/iarna/are-we-there-yet",
+  "license": "ISC",
+  "main": "index.js",
+  "name": "are-we-there-yet",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/iarna/are-we-there-yet.git"
+  },
+  "scripts": {
+    "test": "standard && tap test/*.js"
+  },
+  "version": "1.1.5"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js
new file mode 100644
index 0000000..6f43687
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js
@@ -0,0 +1,11 @@
+'use strict'
+var EventEmitter = require('events').EventEmitter
+var util = require('util')
+
+var trackerId = 0
+var TrackerBase = module.exports = function (name) {
+  EventEmitter.call(this)
+  this.id = ++trackerId
+  this.name = name
+}
+util.inherits(TrackerBase, EventEmitter)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js
new file mode 100644
index 0000000..9759e12
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js
@@ -0,0 +1,107 @@
+'use strict'
+var util = require('util')
+var TrackerBase = require('./tracker-base.js')
+var Tracker = require('./tracker.js')
+var TrackerStream = require('./tracker-stream.js')
+
+var TrackerGroup = module.exports = function (name) {
+  TrackerBase.call(this, name)
+  this.parentGroup = null
+  this.trackers = []
+  this.completion = {}
+  this.weight = {}
+  this.totalWeight = 0
+  this.finished = false
+  this.bubbleChange = bubbleChange(this)
+}
+util.inherits(TrackerGroup, TrackerBase)
+
+function bubbleChange (trackerGroup) {
+  return function (name, completed, tracker) {
+    trackerGroup.completion[tracker.id] = completed
+    if (trackerGroup.finished) return
+    trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)
+  }
+}
+
+TrackerGroup.prototype.nameInTree = function () {
+  var names = []
+  var from = this
+  while (from) {
+    names.unshift(from.name)
+    from = from.parentGroup
+  }
+  return names.join('/')
+}
+
+TrackerGroup.prototype.addUnit = function (unit, weight) {
+  if (unit.addUnit) {
+    var toTest = this
+    while (toTest) {
+      if (unit === toTest) {
+        throw new Error(
+          'Attempted to add tracker group ' +
+          unit.name + ' to tree that already includes it ' +
+          this.nameInTree(this))
+      }
+      toTest = toTest.parentGroup
+    }
+    unit.parentGroup = this
+  }
+  this.weight[unit.id] = weight || 1
+  this.totalWeight += this.weight[unit.id]
+  this.trackers.push(unit)
+  this.completion[unit.id] = unit.completed()
+  unit.on('change', this.bubbleChange)
+  if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit)
+  return unit
+}
+
+TrackerGroup.prototype.completed = function () {
+  if (this.trackers.length === 0) return 0
+  var valPerWeight = 1 / this.totalWeight
+  var completed = 0
+  for (var ii = 0; ii < this.trackers.length; ii++) {
+    var trackerId = this.trackers[ii].id
+    completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId]
+  }
+  return completed
+}
+
+TrackerGroup.prototype.newGroup = function (name, weight) {
+  return this.addUnit(new TrackerGroup(name), weight)
+}
+
+TrackerGroup.prototype.newItem = function (name, todo, weight) {
+  return this.addUnit(new Tracker(name, todo), weight)
+}
+
+TrackerGroup.prototype.newStream = function (name, todo, weight) {
+  return this.addUnit(new TrackerStream(name, todo), weight)
+}
+
+TrackerGroup.prototype.finish = function () {
+  this.finished = true
+  if (!this.trackers.length) this.addUnit(new Tracker(), 1, true)
+  for (var ii = 0; ii < this.trackers.length; ii++) {
+    var tracker = this.trackers[ii]
+    tracker.finish()
+    tracker.removeListener('change', this.bubbleChange)
+  }
+  this.emit('change', this.name, 1, this)
+}
+
+var buffer = '                                  '
+TrackerGroup.prototype.debug = function (depth) {
+  depth = depth || 0
+  var indent = depth ? buffer.substr(0, depth) : ''
+  var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n'
+  this.trackers.forEach(function (tracker) {
+    if (tracker instanceof TrackerGroup) {
+      output += tracker.debug(depth + 1)
+    } else {
+      output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n'
+    }
+  })
+  return output
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js
new file mode 100644
index 0000000..e1cf850
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js
@@ -0,0 +1,36 @@
+'use strict'
+var util = require('util')
+var stream = require('readable-stream')
+var delegate = require('delegates')
+var Tracker = require('./tracker.js')
+
+var TrackerStream = module.exports = function (name, size, options) {
+  stream.Transform.call(this, options)
+  this.tracker = new Tracker(name, size)
+  this.name = name
+  this.id = this.tracker.id
+  this.tracker.on('change', delegateChange(this))
+}
+util.inherits(TrackerStream, stream.Transform)
+
+function delegateChange (trackerStream) {
+  return function (name, completion, tracker) {
+    trackerStream.emit('change', name, completion, trackerStream)
+  }
+}
+
+TrackerStream.prototype._transform = function (data, encoding, cb) {
+  this.tracker.completeWork(data.length ? data.length : 1)
+  this.push(data)
+  cb()
+}
+
+TrackerStream.prototype._flush = function (cb) {
+  this.tracker.finish()
+  cb()
+}
+
+delegate(TrackerStream.prototype, 'tracker')
+  .method('completed')
+  .method('addWork')
+  .method('finish')
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js
new file mode 100644
index 0000000..68c2339
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js
@@ -0,0 +1,30 @@
+'use strict'
+var util = require('util')
+var TrackerBase = require('./tracker-base.js')
+
+var Tracker = module.exports = function (name, todo) {
+  TrackerBase.call(this, name)
+  this.workDone = 0
+  this.workTodo = todo || 0
+}
+util.inherits(Tracker, TrackerBase)
+
+Tracker.prototype.completed = function () {
+  return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
+}
+
+Tracker.prototype.addWork = function (work) {
+  this.workTodo += work
+  this.emit('change', this.name, this.completed(), this)
+}
+
+Tracker.prototype.completeWork = function (work) {
+  this.workDone += work
+  if (this.workDone > this.workTodo) this.workDone = this.workTodo
+  this.emit('change', this.name, this.completed(), this)
+}
+
+Tracker.prototype.finish = function () {
+  this.workTodo = this.workDone = 1
+  this.emit('change', this.name, 1, this)
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore
new file mode 100644
index 0000000..ae5d8c3
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore
@@ -0,0 +1,5 @@
+test
+.gitignore
+.travis.yml
+Makefile
+example.js
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md
new file mode 100644
index 0000000..2cdc8e4
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md
@@ -0,0 +1,21 @@
+(MIT)
+
+Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md
new file mode 100644
index 0000000..08e918c
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md
@@ -0,0 +1,91 @@
+# balanced-match
+
+Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
+
+[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
+[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
+
+[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
+
+## Example
+
+Get the first matching pair of braces:
+
+```js
+var balanced = require('balanced-match');
+
+console.log(balanced('{', '}', 'pre{in{nested}}post'));
+console.log(balanced('{', '}', 'pre{first}between{second}post'));
+console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre  {   in{nest}   }  post'));
+```
+
+The matches are:
+
+```bash
+$ node example.js
+{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
+{ start: 3,
+  end: 9,
+  pre: 'pre',
+  body: 'first',
+  post: 'between{second}post' }
+{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
+```
+
+## API
+
+### var m = balanced(a, b, str)
+
+For the first non-nested matching pair of `a` and `b` in `str`, return an
+object with those keys:
+
+* **start** the index of the first match of `a`
+* **end** the index of the matching `b`
+* **pre** the preamble, `a` and `b` not included
+* **body** the match, `a` and `b` not included
+* **post** the postscript, `a` and `b` not included
+
+If there's no match, `undefined` will be returned.
+
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
+
+### var r = balanced.range(a, b, str)
+
+For the first non-nested matching pair of `a` and `b` in `str`, return an
+array with indexes: `[ <a index>, <b index> ]`.
+
+If there's no match, `undefined` will be returned.
+
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
+
+## Installation
+
+With [npm](https://npmjs.org) do:
+
+```bash
+npm install balanced-match
+```
+
+## License
+
+(MIT)
+
+Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js
new file mode 100644
index 0000000..1685a76
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js
@@ -0,0 +1,59 @@
+'use strict';
+module.exports = balanced;
+function balanced(a, b, str) {
+  if (a instanceof RegExp) a = maybeMatch(a, str);
+  if (b instanceof RegExp) b = maybeMatch(b, str);
+
+  var r = range(a, b, str);
+
+  return r && {
+    start: r[0],
+    end: r[1],
+    pre: str.slice(0, r[0]),
+    body: str.slice(r[0] + a.length, r[1]),
+    post: str.slice(r[1] + b.length)
+  };
+}
+
+function maybeMatch(reg, str) {
+  var m = str.match(reg);
+  return m ? m[0] : null;
+}
+
+balanced.range = range;
+function range(a, b, str) {
+  var begs, beg, left, right, result;
+  var ai = str.indexOf(a);
+  var bi = str.indexOf(b, ai + 1);
+  var i = ai;
+
+  if (ai >= 0 && bi > 0) {
+    begs = [];
+    left = str.length;
+
+    while (i >= 0 && !result) {
+      if (i == ai) {
+        begs.push(i);
+        ai = str.indexOf(a, i + 1);
+      } else if (begs.length == 1) {
+        result = [ begs.pop(), bi ];
+      } else {
+        beg = begs.pop();
+        if (beg < left) {
+          left = beg;
+          right = bi;
+        }
+
+        bi = str.indexOf(b, i + 1);
+      }
+
+      i = ai < bi && ai >= 0 ? ai : bi;
+    }
+
+    if (begs.length) {
+      result = [ left, right ];
+    }
+  }
+
+  return result;
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json
new file mode 100644
index 0000000..2bf2f92
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json
@@ -0,0 +1,77 @@
+{
+  "_from": "balanced-match@^1.0.0",
+  "_id": "balanced-match@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+  "_location": "/balanced-match",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "balanced-match@^1.0.0",
+    "name": "balanced-match",
+    "escapedName": "balanced-match",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/brace-expansion"
+  ],
+  "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+  "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
+  "_spec": "balanced-match@^1.0.0",
+  "_where": "/Users/pipobscure/fsevents/node_modules/brace-expansion",
+  "author": {
+    "name": "Julian Gruber",
+    "email": "mail@juliangruber.com",
+    "url": "http://juliangruber.com"
+  },
+  "bugs": {
+    "url": "https://github.com/juliangruber/balanced-match/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {},
+  "deprecated": false,
+  "description": "Match balanced character pairs, like \"{\" and \"}\"",
+  "devDependencies": {
+    "matcha": "^0.7.0",
+    "tape": "^4.6.0"
+  },
+  "homepage": "https://github.com/juliangruber/balanced-match",
+  "keywords": [
+    "match",
+    "regexp",
+    "test",
+    "balanced",
+    "parse"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "balanced-match",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/juliangruber/balanced-match.git"
+  },
+  "scripts": {
+    "bench": "make bench",
+    "test": "make test"
+  },
+  "testling": {
+    "files": "test/*.js",
+    "browsers": [
+      "ie/8..latest",
+      "firefox/20..latest",
+      "firefox/nightly",
+      "chrome/25..latest",
+      "chrome/canary",
+      "opera/12..latest",
+      "opera/next",
+      "safari/5.1..latest",
+      "ipad/6.0..latest",
+      "iphone/6.0..latest",
+      "android-browser/4.2..latest"
+    ]
+  },
+  "version": "1.0.0"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE
new file mode 100644
index 0000000..de32266
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2013 Julian Gruber <ju...@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md
new file mode 100644
index 0000000..6b4e0e1
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md
@@ -0,0 +1,129 @@
+# brace-expansion
+
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), 
+as known from sh/bash, in JavaScript.
+
+[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
+[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
+[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/)
+
+[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
+
+## Example
+
+```js
+var expand = require('brace-expansion');
+
+expand('file-{a,b,c}.jpg')
+// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
+
+expand('-v{,,}')
+// => ['-v', '-v', '-v']
+
+expand('file{0..2}.jpg')
+// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
+
+expand('file-{a..c}.jpg')
+// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
+
+expand('file{2..0}.jpg')
+// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
+
+expand('file{0..4..2}.jpg')
+// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
+
+expand('file-{a..e..2}.jpg')
+// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
+
+expand('file{00..10..5}.jpg')
+// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
+
+expand('{{A..C},{a..c}}')
+// => ['A', 'B', 'C', 'a', 'b', 'c']
+
+expand('ppp{,config,oe{,conf}}')
+// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
+```
+
+## API
+
+```js
+var expand = require('brace-expansion');
+```
+
+### var expanded = expand(str)
+
+Return an array of all possible and valid expansions of `str`. If none are
+found, `[str]` is returned.
+
+Valid expansions are:
+
+```js
+/^(.*,)+(.+)?$/
+// {a,b,...}
+```
+
+A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
+
+```js
+/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
+// {x..y[..incr]}
+```
+
+A numeric sequence from `x` to `y` inclusive, with optional increment.
+If `x` or `y` start with a leading `0`, all the numbers will be padded
+to have equal length. Negative numbers and backwards iteration work too.
+
+```js
+/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
+// {x..y[..incr]}
+```
+
+An alphabetic sequence from `x` to `y` inclusive, with optional increment.
+`x` and `y` must be exactly one character, and if given, `incr` must be a
+number.
+
+For compatibility reasons, the string `${` is not eligible for brace expansion.
+
+## Installation
+
+With [npm](https://npmjs.org) do:
+
+```bash
+npm install brace-expansion
+```
+
+## Contributors
+
+- [Julian Gruber](https://github.com/juliangruber)
+- [Isaac Z. Schlueter](https://github.com/isaacs)
+
+## Sponsors
+
+This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
+
+Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
+
+## License
+
+(MIT)
+
+Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js
new file mode 100644
index 0000000..0478be8
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js
@@ -0,0 +1,201 @@
+var concatMap = require('concat-map');
+var balanced = require('balanced-match');
+
+module.exports = expandTop;
+
+var escSlash = '\0SLASH'+Math.random()+'\0';
+var escOpen = '\0OPEN'+Math.random()+'\0';
+var escClose = '\0CLOSE'+Math.random()+'\0';
+var escComma = '\0COMMA'+Math.random()+'\0';
+var escPeriod = '\0PERIOD'+Math.random()+'\0';
+
+function numeric(str) {
+  return parseInt(str, 10) == str
+    ? parseInt(str, 10)
+    : str.charCodeAt(0);
+}
+
+function escapeBraces(str) {
+  return str.split('\\\\').join(escSlash)
+            .split('\\{').join(escOpen)
+            .split('\\}').join(escClose)
+            .split('\\,').join(escComma)
+            .split('\\.').join(escPeriod);
+}
+
+function unescapeBraces(str) {
+  return str.split(escSlash).join('\\')
+            .split(escOpen).join('{')
+            .split(escClose).join('}')
+            .split(escComma).join(',')
+            .split(escPeriod).join('.');
+}
+
+
+// Basically just str.split(","), but handling cases
+// where we have nested braced sections, which should be
+// treated as individual members, like {a,{b,c},d}
+function parseCommaParts(str) {
+  if (!str)
+    return [''];
+
+  var parts = [];
+  var m = balanced('{', '}', str);
+
+  if (!m)
+    return str.split(',');
+
+  var pre = m.pre;
+  var body = m.body;
+  var post = m.post;
+  var p = pre.split(',');
+
+  p[p.length-1] += '{' + body + '}';
+  var postParts = parseCommaParts(post);
+  if (post.length) {
+    p[p.length-1] += postParts.shift();
+    p.push.apply(p, postParts);
+  }
+
+  parts.push.apply(parts, p);
+
+  return parts;
+}
+
+function expandTop(str) {
+  if (!str)
+    return [];
+
+  // I don't know why Bash 4.3 does this, but it does.
+  // Anything starting with {} will have the first two bytes preserved
+  // but *only* at the top level, so {},a}b will not expand to anything,
+  // but a{},b}c will be expanded to [a}c,abc].
+  // One could argue that this is a bug in Bash, but since the goal of
+  // this module is to match Bash's rules, we escape a leading {}
+  if (str.substr(0, 2) === '{}') {
+    str = '\\{\\}' + str.substr(2);
+  }
+
+  return expand(escapeBraces(str), true).map(unescapeBraces);
+}
+
+function identity(e) {
+  return e;
+}
+
+function embrace(str) {
+  return '{' + str + '}';
+}
+function isPadded(el) {
+  return /^-?0\d/.test(el);
+}
+
+function lte(i, y) {
+  return i <= y;
+}
+function gte(i, y) {
+  return i >= y;
+}
+
+function expand(str, isTop) {
+  var expansions = [];
+
+  var m = balanced('{', '}', str);
+  if (!m || /\$$/.test(m.pre)) return [str];
+
+  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+  var isSequence = isNumericSequence || isAlphaSequence;
+  var isOptions = m.body.indexOf(',') >= 0;
+  if (!isSequence && !isOptions) {
+    // {a},b}
+    if (m.post.match(/,.*\}/)) {
+      str = m.pre + '{' + m.body + escClose + m.post;
+      return expand(str);
+    }
+    return [str];
+  }
+
+  var n;
+  if (isSequence) {
+    n = m.body.split(/\.\./);
+  } else {
+    n = parseCommaParts(m.body);
+    if (n.length === 1) {
+      // x{{a,b}}y ==> x{a}y x{b}y
+      n = expand(n[0], false).map(embrace);
+      if (n.length === 1) {
+        var post = m.post.length
+          ? expand(m.post, false)
+          : [''];
+        return post.map(function(p) {
+          return m.pre + n[0] + p;
+        });
+      }
+    }
+  }
+
+  // at this point, n is the parts, and we know it's not a comma set
+  // with a single entry.
+
+  // no need to expand pre, since it is guaranteed to be free of brace-sets
+  var pre = m.pre;
+  var post = m.post.length
+    ? expand(m.post, false)
+    : [''];
+
+  var N;
+
+  if (isSequence) {
+    var x = numeric(n[0]);
+    var y = numeric(n[1]);
+    var width = Math.max(n[0].length, n[1].length)
+    var incr = n.length == 3
+      ? Math.abs(numeric(n[2]))
+      : 1;
+    var test = lte;
+    var reverse = y < x;
+    if (reverse) {
+      incr *= -1;
+      test = gte;
+    }
+    var pad = n.some(isPadded);
+
+    N = [];
+
+    for (var i = x; test(i, y); i += incr) {
+      var c;
+      if (isAlphaSequence) {
+        c = String.fromCharCode(i);
+        if (c === '\\')
+          c = '';
+      } else {
+        c = String(i);
+        if (pad) {
+          var need = width - c.length;
+          if (need > 0) {
+            var z = new Array(need + 1).join('0');
+            if (i < 0)
+              c = '-' + z + c.slice(1);
+            else
+              c = z + c;
+          }
+        }
+      }
+      N.push(c);
+    }
+  } else {
+    N = concatMap(n, function(el) { return expand(el, false) });
+  }
+
+  for (var j = 0; j < N.length; j++) {
+    for (var k = 0; k < post.length; k++) {
+      var expansion = pre + N[j] + post[k];
+      if (!isTop || isSequence || expansion)
+        expansions.push(expansion);
+    }
+  }
+
+  return expansions;
+}
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json
new file mode 100644
index 0000000..0063e45
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json
@@ -0,0 +1,75 @@
+{
+  "_from": "brace-expansion@^1.1.7",
+  "_id": "brace-expansion@1.1.11",
+  "_inBundle": false,
+  "_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+  "_location": "/brace-expansion",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "brace-expansion@^1.1.7",
+    "name": "brace-expansion",
+    "escapedName": "brace-expansion",
+    "rawSpec": "^1.1.7",
+    "saveSpec": null,
+    "fetchSpec": "^1.1.7"
+  },
+  "_requiredBy": [
+    "/minimatch"
+  ],
+  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+  "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
+  "_spec": "brace-expansion@^1.1.7",
+  "_where": "/Users/pipobscure/fsevents/node_modules/minimatch",
+  "author": {
+    "name": "Julian Gruber",
+    "email": "mail@juliangruber.com",
+    "url": "http://juliangruber.com"
+  },
+  "bugs": {
+    "url": "https://github.com/juliangruber/brace-expansion/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {
+    "balanced-match": "^1.0.0",
+    "concat-map": "0.0.1"
+  },
+  "deprecated": false,
+  "description": "Brace expansion as known from sh/bash",
+  "devDependencies": {
+    "matcha": "^0.7.0",
+    "tape": "^4.6.0"
+  },
+  "homepage": "https://github.com/juliangruber/brace-expansion",
+  "keywords": [],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "brace-expansion",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/juliangruber/brace-expansion.git"
+  },
+  "scripts": {
+    "bench": "matcha test/perf/bench.js",
+    "gentest": "bash test/generate.sh",
+    "test": "tape test/*.js"
+  },
+  "testling": {
+    "files": "test/*.js",
+    "browsers": [
+      "ie/8..latest",
+      "firefox/20..latest",
+      "firefox/nightly",
+      "chrome/25..latest",
+      "chrome/canary",
+      "opera/12..latest",
+      "opera/next",
+      "safari/5.1..latest",
+      "ipad/6.0..latest",
+      "iphone/6.0..latest",
+      "android-browser/4.2..latest"
+    ]
+  },
+  "version": "1.1.11"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE
new file mode 100644
index 0000000..19129e3
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md
new file mode 100644
index 0000000..70e9a54
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md
@@ -0,0 +1,3 @@
+Like `chown -R`.
+
+Takes the same arguments as `fs.chown()`
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js
new file mode 100644
index 0000000..9f04393
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js
@@ -0,0 +1,125 @@
+'use strict'
+const fs = require('fs')
+const path = require('path')
+
+/* istanbul ignore next */
+const LCHOWN = fs.lchown ? 'lchown' : 'chown'
+/* istanbul ignore next */
+const LCHOWNSYNC = fs.lchownSync ? 'lchownSync' : 'chownSync'
+
+const needEISDIRHandled = fs.lchown &&
+  !process.version.match(/v1[1-9]+\./) &&
+  !process.version.match(/v10\.[6-9]/)
+
+/* istanbul ignore next */
+const handleEISDIR =
+  needEISDIRHandled ? (path, uid, gid, cb) => er => {
+    // Node prior to v10 had a very questionable implementation of
+    // fs.lchown, which would always try to call fs.open on a directory
+    // Fall back to fs.chown in those cases.
+    if (!er || er.code !== 'EISDIR')
+      cb(er)
+    else
+      fs.chown(path, uid, gid, cb)
+  }
+  : (_, __, ___, cb) => cb
+
+/* istanbul ignore next */
+const handleEISDirSync =
+  needEISDIRHandled ? (path, uid, gid) => {
+    try {
+      return fs[LCHOWNSYNC](path, uid, gid)
+    } catch (er) {
+      if (er.code !== 'EISDIR')
+        throw er
+      fs.chownSync(path, uid, gid)
+    }
+  }
+  : (path, uid, gid) => fs[LCHOWNSYNC](path, uid, gid)
+
+// fs.readdir could only accept an options object as of node v6
+const nodeVersion = process.version
+let readdir = (path, options, cb) => fs.readdir(path, options, cb)
+let readdirSync = (path, options) => fs.readdirSync(path, options)
+/* istanbul ignore next */
+if (/^v4\./.test(nodeVersion))
+  readdir = (path, options, cb) => fs.readdir(path, cb)
+
+const chownrKid = (p, child, uid, gid, cb) => {
+  if (typeof child === 'string')
+    return fs.lstat(path.resolve(p, child), (er, stats) => {
+      if (er)
+        return cb(er)
+      stats.name = child
+      chownrKid(p, stats, uid, gid, cb)
+    })
+
+  if (child.isDirectory()) {
+    chownr(path.resolve(p, child.name), uid, gid, er => {
+      if (er)
+        return cb(er)
+      const cpath = path.resolve(p, child.name)
+      fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb))
+    })
+  } else {
+    const cpath = path.resolve(p, child.name)
+    fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb))
+  }
+}
+
+
+const chownr = (p, uid, gid, cb) => {
+  readdir(p, { withFileTypes: true }, (er, children) => {
+    // any error other than ENOTDIR or ENOTSUP means it's not readable,
+    // or doesn't exist.  give up.
+    if (er && er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP')
+      return cb(er)
+    if (er || !children.length)
+      return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb))
+
+    let len = children.length
+    let errState = null
+    const then = er => {
+      if (errState)
+        return
+      if (er)
+        return cb(errState = er)
+      if (-- len === 0)
+        return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb))
+    }
+
+    children.forEach(child => chownrKid(p, child, uid, gid, then))
+  })
+}
+
+const chownrKidSync = (p, child, uid, gid) => {
+  if (typeof child === 'string') {
+    const stats = fs.lstatSync(path.resolve(p, child))
+    stats.name = child
+    child = stats
+  }
+
+  if (child.isDirectory())
+    chownrSync(path.resolve(p, child.name), uid, gid)
+
+  handleEISDirSync(path.resolve(p, child.name), uid, gid)
+}
+
+const chownrSync = (p, uid, gid) => {
+  let children
+  try {
+    children = readdirSync(p, { withFileTypes: true })
+  } catch (er) {
+    if (er && er.code === 'ENOTDIR' && er.code !== 'ENOTSUP')
+      return handleEISDirSync(p, uid, gid)
+    throw er
+  }
+
+  if (children.length)
+    children.forEach(child => chownrKidSync(p, child, uid, gid))
+
+  return handleEISDirSync(p, uid, gid)
+}
+
+module.exports = chownr
+chownr.sync = chownrSync
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json
new file mode 100644
index 0000000..bfb5bb7
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json
@@ -0,0 +1,59 @@
+{
+  "_from": "chownr@^1.1.1",
+  "_id": "chownr@1.1.3",
+  "_inBundle": false,
+  "_integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
+  "_location": "/chownr",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "chownr@^1.1.1",
+    "name": "chownr",
+    "escapedName": "chownr",
+    "rawSpec": "^1.1.1",
+    "saveSpec": null,
+    "fetchSpec": "^1.1.1"
+  },
+  "_requiredBy": [
+    "/tar"
+  ],
+  "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
+  "_shasum": "42d837d5239688d55f303003a508230fa6727142",
+  "_spec": "chownr@^1.1.1",
+  "_where": "/Users/pipobscure/fsevents/node_modules/tar",
+  "author": {
+    "name": "Isaac Z. Schlueter",
+    "email": "i@izs.me",
+    "url": "http://blog.izs.me/"
+  },
+  "bugs": {
+    "url": "https://github.com/isaacs/chownr/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "like `chown -R`",
+  "devDependencies": {
+    "mkdirp": "0.3",
+    "rimraf": "",
+    "tap": "^12.0.1"
+  },
+  "files": [
+    "chownr.js"
+  ],
+  "homepage": "https://github.com/isaacs/chownr#readme",
+  "license": "ISC",
+  "main": "chownr.js",
+  "name": "chownr",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/chownr.git"
+  },
+  "scripts": {
+    "postpublish": "git push origin --follow-tags",
+    "postversion": "npm publish",
+    "preversion": "npm test",
+    "test": "tap test/*.js --cov"
+  },
+  "version": "1.1.3"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js
new file mode 100644
index 0000000..0432fe6
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js
@@ -0,0 +1,32 @@
+/* eslint-disable babel/new-cap, xo/throw-new-error */
+'use strict';
+module.exports = function (str, pos) {
+	if (str === null || str === undefined) {
+		throw TypeError();
+	}
+
+	str = String(str);
+
+	var size = str.length;
+	var i = pos ? Number(pos) : 0;
+
+	if (Number.isNaN(i)) {
+		i = 0;
+	}
+
+	if (i < 0 || i >= size) {
+		return undefined;
+	}
+
+	var first = str.charCodeAt(i);
+
+	if (first >= 0xD800 && first <= 0xDBFF && size > i + 1) {
+		var second = str.charCodeAt(i + 1);
+
+		if (second >= 0xDC00 && second <= 0xDFFF) {
+			return ((first - 0xD800) * 0x400) + second - 0xDC00 + 0x10000;
+		}
+	}
+
+	return first;
+};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json
new file mode 100644
index 0000000..fee158c
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json
@@ -0,0 +1,70 @@
+{
+  "_from": "code-point-at@^1.0.0",
+  "_id": "code-point-at@1.1.0",
+  "_inBundle": false,
+  "_integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+  "_location": "/code-point-at",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "code-point-at@^1.0.0",
+    "name": "code-point-at",
+    "escapedName": "code-point-at",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/string-width"
+  ],
+  "_resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+  "_shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77",
+  "_spec": "code-point-at@^1.0.0",
+  "_where": "/Users/pipobscure/fsevents/node_modules/string-width",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/code-point-at/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "ES2015 `String#codePointAt()` ponyfill",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "^0.16.0"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/code-point-at#readme",
+  "keywords": [
+    "es2015",
+    "ponyfill",
+    "polyfill",
+    "shim",
+    "string",
+    "str",
+    "code",
+    "point",
+    "at",
+    "codepoint",
+    "unicode"
+  ],
+  "license": "MIT",
+  "name": "code-point-at",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/code-point-at.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "1.1.0"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md
new file mode 100644
index 0000000..4c97730
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md
@@ -0,0 +1,32 @@
+# code-point-at [![Build Status](https://travis-ci.org/sindresorhus/code-point-at.svg?branch=master)](https://travis-ci.org/sindresorhus/code-point-at)
+
+> ES2015 [`String#codePointAt()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) [ponyfill](https://ponyfill.com)
+
+
+## Install
+
+```
+$ npm install --save code-point-at
+```
+
+
+## Usage
+
+```js
+var codePointAt = require('code-point-at');
+
+codePointAt('🐴');
+//=> 128052
+
+codePointAt('abc', 2);
+//=> 99
+```
+
+## API
+
+### codePointAt(input, [position])
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml
new file mode 100644
index 0000000..f1d0f13
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+  - 0.4
+  - 0.6
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE
new file mode 100644
index 0000000..ee27ba4
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE
@@ -0,0 +1,18 @@
+This software is released under the MIT license:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown
new file mode 100644
index 0000000..408f70a
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown
@@ -0,0 +1,62 @@
+concat-map
+==========
+
+Concatenative mapdashery.
+
+[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)
+
+[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)
+
+example
+=======
+
+``` js
+var concatMap = require('concat-map');
+var xs = [ 1, 2, 3, 4, 5, 6 ];
+var ys = concatMap(xs, function (x) {
+    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
+});
+console.dir(ys);
+```
+
+***
+
+```
+[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]
+```
+
+methods
+=======
+
+``` js
+var concatMap = require('concat-map')
+```
+
+concatMap(xs, fn)
+-----------------
+
+Return an array of concatenated elements by calling `fn(x, i)` for each element
+`x` and each index `i` in the array `xs`.
+
+When `fn(x, i)` returns an array, its result will be concatenated with the
+result array. If `fn(x, i)` returns anything else, that value will be pushed
+onto the end of the result array.
+
+install
+=======
+
+With [npm](http://npmjs.org) do:
+
+```
+npm install concat-map
+```
+
+license
+=======
+
+MIT
+
+notes
+=====
+
+This module was written while sitting high above the ground in a tree.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js
new file mode 100644
index 0000000..3365621
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js
@@ -0,0 +1,6 @@
+var concatMap = require('../');
+var xs = [ 1, 2, 3, 4, 5, 6 ];
+var ys = concatMap(xs, function (x) {
+    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
+});
+console.dir(ys);
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js
new file mode 100644
index 0000000..b29a781
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js
@@ -0,0 +1,13 @@
+module.exports = function (xs, fn) {
+    var res = [];
+    for (var i = 0; i < xs.length; i++) {
+        var x = fn(xs[i], i);
+        if (isArray(x)) res.push.apply(res, x);
+        else res.push(x);
+    }
+    return res;
+};
+
+var isArray = Array.isArray || function (xs) {
+    return Object.prototype.toString.call(xs) === '[object Array]';
+};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json
new file mode 100644
index 0000000..2906dbf
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json
@@ -0,0 +1,88 @@
+{
+  "_from": "concat-map@0.0.1",
+  "_id": "concat-map@0.0.1",
+  "_inBundle": false,
+  "_integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+  "_location": "/concat-map",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "version",
+    "registry": true,
+    "raw": "concat-map@0.0.1",
+    "name": "concat-map",
+    "escapedName": "concat-map",
+    "rawSpec": "0.0.1",
+    "saveSpec": null,
+    "fetchSpec": "0.0.1"
+  },
+  "_requiredBy": [
+    "/brace-expansion"
+  ],
+  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+  "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
+  "_spec": "concat-map@0.0.1",
+  "_where": "/Users/pipobscure/fsevents/node_modules/brace-expansion",
+  "author": {
+    "name": "James Halliday",
+    "email": "mail@substack.net",
+    "url": "http://substack.net"
+  },
+  "bugs": {
+    "url": "https://github.com/substack/node-concat-map/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "concatenative mapdashery",
+  "devDependencies": {
+    "tape": "~2.4.0"
+  },
+  "directories": {
+    "example": "example",
+    "test": "test"
+  },
+  "homepage": "https://github.com/substack/node-concat-map#readme",
+  "keywords": [
+    "concat",
+    "concatMap",
+    "map",
+    "functional",
+    "higher-order"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "concat-map",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/substack/node-concat-map.git"
+  },
+  "scripts": {
+    "test": "tape test/*.js"
+  },
+  "testling": {
+    "files": "test/*.js",
+    "browsers": {
+      "ie": [
+        6,
+        7,
+        8,
+        9
+      ],
+      "ff": [
+        3.5,
+        10,
+        15
+      ],
+      "chrome": [
+        10,
+        22
+      ],
+      "safari": [
+        5.1
+      ],
+      "opera": [
+        12
+      ]
+    }
+  },
+  "version": "0.0.1"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js
new file mode 100644
index 0000000..fdbd702
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js
@@ -0,0 +1,39 @@
+var concatMap = require('../');
+var test = require('tape');
+
+test('empty or not', function (t) {
+    var xs = [ 1, 2, 3, 4, 5, 6 ];
+    var ixes = [];
+    var ys = concatMap(xs, function (x, ix) {
+        ixes.push(ix);
+        return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
+    });
+    t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]);
+    t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]);
+    t.end();
+});
+
+test('always something', function (t) {
+    var xs = [ 'a', 'b', 'c', 'd' ];
+    var ys = concatMap(xs, function (x) {
+        return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ];
+    });
+    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
+    t.end();
+});
+
+test('scalars', function (t) {
+    var xs = [ 'a', 'b', 'c', 'd' ];
+    var ys = concatMap(xs, function (x) {
+        return x === 'b' ? [ 'B', 'B', 'B' ] : x;
+    });
+    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
+    t.end();
+});
+
+test('undefs', function (t) {
+    var xs = [ 'a', 'b', 'c', 'd' ];
+    var ys = concatMap(xs, function () {});
+    t.same(ys, [ undefined, undefined, undefined, undefined ]);
+    t.end();
+});
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE
new file mode 100644
index 0000000..e756052
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE
@@ -0,0 +1,13 @@
+Copyright (c) 2014, Rebecca Turner <me...@re-becca.org>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md
new file mode 100644
index 0000000..f58cc8d
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md
@@ -0,0 +1,145 @@
+# Console Control Strings
+
+A library of cross-platform tested terminal/console command strings for
+doing things like color and cursor positioning.  This is a subset of both
+ansi and vt100.  All control codes included work on both Windows & Unix-like
+OSes, except where noted.
+
+## Usage
+
+```js
+var consoleControl = require('console-control-strings')
+
+console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
+process.stdout.write(consoleControl.goto(75, 10))
+```
+
+## Why Another?
+
+There are tons of libraries similar to this one.  I wanted one that was:
+
+1. Very clear about compatibility goals.
+2. Could emit, for instance, a start color code without an end one.
+3. Returned strings w/o writing to streams.
+4. Was not weighed down with other unrelated baggage.
+
+## Functions
+
+### var code = consoleControl.up(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up.
+
+### var code = consoleControl.down(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down.
+
+### var code = consoleControl.forward(_num = 1_)
+
+Returns the escape sequence to move _num_ lines righ.
+
+### var code = consoleControl.back(_num = 1_)
+
+Returns the escape sequence to move _num_ lines left.
+
+### var code = consoleControl.nextLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down and to the beginning of
+the line.
+
+### var code = consoleControl.previousLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up and to the beginning of
+the line.
+
+### var code = consoleControl.eraseData()
+
+Returns the escape sequence to erase everything from the current cursor
+position to the bottom right of the screen.  This is line based, so it
+erases the remainder of the current line and all following lines.
+
+### var code = consoleControl.eraseLine()
+
+Returns the escape sequence to erase to the end of the current line.
+
+### var code = consoleControl.goto(_x_, _y_)
+
+Returns the escape sequence to move the cursor to the designated position. 
+Note that the origin is _1, 1_ not _0, 0_.
+
+### var code = consoleControl.gotoSOL()
+
+Returns the escape sequence to move the cursor to the beginning of the
+current line. (That is, it returns a carriage return, `\r`.)
+
+### var code = consoleControl.beep()
+
+Returns the escape sequence to cause the termianl to beep.  (That is, it
+returns unicode character `\x0007`, a Control-G.)
+
+### var code = consoleControl.hideCursor()
+
+Returns the escape sequence to hide the cursor.
+
+### var code = consoleControl.showCursor()
+
+Returns the escape sequence to show the cursor.
+
+### var code = consoleControl.color(_colors = []_)
+
+### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
+
+Returns the escape sequence to set the current terminal display attributes
+(mostly colors).  Arguments can either be a list of attributes or an array
+of attributes.  The difference between passing in an array or list of colors
+and calling `.color` separately for each one, is that in the former case a
+single escape sequence will be produced where as in the latter each change
+will have its own distinct escape sequence.  Each attribute can be one of:
+
+* Reset:
+  * **reset** – Reset all attributes to the terminal default.
+* Styles:
+  * **bold** – Display text as bold.  In some terminals this means using a
+    bold font, in others this means changing the color.  In some it means
+    both.
+  * **italic** – Display text as italic. This is not available in most Windows terminals.
+  * **underline** – Underline text. This is not available in most Windows Terminals.
+  * **inverse** – Invert the foreground and background colors.
+  * **stopBold** – Do not display text as bold.
+  * **stopItalic** – Do not display text as italic.
+  * **stopUnderline** – Do not underline text.
+  * **stopInverse** – Do not invert foreground and background.
+* Colors:
+  * **white**
+  * **black**
+  * **blue**
+  * **cyan**
+  * **green**
+  * **magenta**
+  * **red**
+  * **yellow**
+  * **grey** / **brightBlack**
+  * **brightRed**
+  * **brightGreen**
+  * **brightYellow**
+  * **brightBlue**
+  * **brightMagenta**
+  * **brightCyan**
+  * **brightWhite**
+* Background Colors:
+  * **bgWhite**
+  * **bgBlack**
+  * **bgBlue**
+  * **bgCyan**
+  * **bgGreen**
+  * **bgMagenta**
+  * **bgRed**
+  * **bgYellow**
+  * **bgGrey** / **bgBrightBlack**
+  * **bgBrightRed**
+  * **bgBrightGreen**
+  * **bgBrightYellow**
+  * **bgBrightBlue**
+  * **bgBrightMagenta**
+  * **bgBrightCyan**
+  * **bgBrightWhite**
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~
new file mode 100644
index 0000000..6eb34e8
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~
@@ -0,0 +1,140 @@
+# Console Control Strings
+
+A library of cross-platform tested terminal/console command strings for
+doing things like color and cursor positioning.  This is a subset of both
+ansi and vt100.  All control codes included work on both Windows & Unix-like
+OSes, except where noted.
+
+## Usage
+
+```js
+var consoleControl = require('console-control-strings')
+
+console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
+process.stdout.write(consoleControl.goto(75, 10))
+```
+
+## Why Another?
+
+There are tons of libraries similar to this one.  I wanted one that was:
+
+1. Very clear about compatibility goals.
+2. Could emit, for instance, a start color code without an end one.
+3. Returned strings w/o writing to streams.
+4. Was not weighed down with other unrelated baggage.
+
+## Functions
+
+### var code = consoleControl.up(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up.
+
+### var code = consoleControl.down(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down.
+
+### var code = consoleControl.forward(_num = 1_)
+
+Returns the escape sequence to move _num_ lines righ.
+
+### var code = consoleControl.back(_num = 1_)
+
+Returns the escape sequence to move _num_ lines left.
+
+### var code = consoleControl.nextLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down and to the beginning of
+the line.
+
+### var code = consoleControl.previousLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up and to the beginning of
+the line.
+
+### var code = consoleControl.eraseData()
+
+Returns the escape sequence to erase everything from the current cursor
+position to the bottom right of the screen.  This is line based, so it
+erases the remainder of the current line and all following lines.
+
+### var code = consoleControl.eraseLine()
+
+Returns the escape sequence to erase to the end of the current line.
+
+### var code = consoleControl.goto(_x_, _y_)
+
+Returns the escape sequence to move the cursor to the designated position. 
+Note that the origin is _1, 1_ not _0, 0_.
+
+### var code = consoleControl.gotoSOL()
+
+Returns the escape sequence to move the cursor to the beginning of the
+current line. (That is, it returns a carriage return, `\r`.)
+
+### var code = consoleControl.hideCursor()
+
+Returns the escape sequence to hide the cursor.
+
+### var code = consoleControl.showCursor()
+
+Returns the escape sequence to show the cursor.
+
+### var code = consoleControl.color(_colors = []_)
+
+### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
+
+Returns the escape sequence to set the current terminal display attributes
+(mostly colors).  Arguments can either be a list of attributes or an array
+of attributes.  The difference between passing in an array or list of colors
+and calling `.color` separately for each one, is that in the former case a
+single escape sequence will be produced where as in the latter each change
+will have its own distinct escape sequence.  Each attribute can be one of:
+
+* Reset:
+  * **reset** – Reset all attributes to the terminal default.
+* Styles:
+  * **bold** – Display text as bold.  In some terminals this means using a
+    bold font, in others this means changing the color.  In some it means
+    both.
+  * **italic** – Display text as italic. This is not available in most Windows terminals.
+  * **underline** – Underline text. This is not available in most Windows Terminals.
+  * **inverse** – Invert the foreground and background colors.
+  * **stopBold** – Do not display text as bold.
+  * **stopItalic** – Do not display text as italic.
+  * **stopUnderline** – Do not underline text.
+  * **stopInverse** – Do not invert foreground and background.
+* Colors:
+  * **white**
+  * **black**
+  * **blue**
+  * **cyan**
+  * **green**
+  * **magenta**
+  * **red**
+  * **yellow**
+  * **grey** / **brightBlack**
+  * **brightRed**
+  * **brightGreen**
+  * **brightYellow**
+  * **brightBlue**
+  * **brightMagenta**
+  * **brightCyan**
+  * **brightWhite**
+* Background Colors:
+  * **bgWhite**
+  * **bgBlack**
+  * **bgBlue**
+  * **bgCyan**
+  * **bgGreen**
+  * **bgMagenta**
+  * **bgRed**
+  * **bgYellow**
+  * **bgGrey** / **bgBrightBlack**
+  * **bgBrightRed**
+  * **bgBrightGreen**
+  * **bgBrightYellow**
+  * **bgBrightBlue**
+  * **bgBrightMagenta**
+  * **bgBrightCyan**
+  * **bgBrightWhite**
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js
new file mode 100644
index 0000000..bf89034
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js
@@ -0,0 +1,125 @@
+'use strict'
+
+// These tables borrowed from `ansi`
+
+var prefix = '\x1b['
+
+exports.up = function up (num) {
+  return prefix + (num || '') + 'A'
+}
+
+exports.down = function down (num) {
+  return prefix + (num || '') + 'B'
+}
+
+exports.forward = function forward (num) {
+  return prefix + (num || '') + 'C'
+}
+
+exports.back = function back (num) {
+  return prefix + (num || '') + 'D'
+}
+
+exports.nextLine = function nextLine (num) {
+  return prefix + (num || '') + 'E'
+}
+
+exports.previousLine = function previousLine (num) {
+  return prefix + (num || '') + 'F'
+}
+
+exports.horizontalAbsolute = function horizontalAbsolute (num) {
+  if (num == null) throw new Error('horizontalAboslute requires a column to position to')
+  return prefix + num + 'G'
+}
+
+exports.eraseData = function eraseData () {
+  return prefix + 'J'
+}
+
+exports.eraseLine = function eraseLine () {
+  return prefix + 'K'
+}
+
+exports.goto = function (x, y) {
+  return prefix + y + ';' + x + 'H'
+}
+
+exports.gotoSOL = function () {
+  return '\r'
+}
+
+exports.beep = function () {
+  return '\x07'
+}
+
+exports.hideCursor = function hideCursor () {
+  return prefix + '?25l'
+}
+
+exports.showCursor = function showCursor () {
+  return prefix + '?25h'
+}
+
+var colors = {
+  reset: 0,
+// styles
+  bold: 1,
+  italic: 3,
+  underline: 4,
+  inverse: 7,
+// resets
+  stopBold: 22,
+  stopItalic: 23,
+  stopUnderline: 24,
+  stopInverse: 27,
+// colors
+  white: 37,
+  black: 30,
+  blue: 34,
+  cyan: 36,
+  green: 32,
+  magenta: 35,
+  red: 31,
+  yellow: 33,
+  bgWhite: 47,
+  bgBlack: 40,
+  bgBlue: 44,
+  bgCyan: 46,
+  bgGreen: 42,
+  bgMagenta: 45,
+  bgRed: 41,
+  bgYellow: 43,
+
+  grey: 90,
+  brightBlack: 90,
+  brightRed: 91,
+  brightGreen: 92,
+  brightYellow: 93,
+  brightBlue: 94,
+  brightMagenta: 95,
+  brightCyan: 96,
+  brightWhite: 97,
+
+  bgGrey: 100,
+  bgBrightBlack: 100,
+  bgBrightRed: 101,
+  bgBrightGreen: 102,
+  bgBrightYellow: 103,
+  bgBrightBlue: 104,
+  bgBrightMagenta: 105,
+  bgBrightCyan: 106,
+  bgBrightWhite: 107
+}
+
+exports.color = function color (colorWith) {
+  if (arguments.length !== 1 || !Array.isArray(colorWith)) {
+    colorWith = Array.prototype.slice.call(arguments)
+  }
+  return prefix + colorWith.map(colorNameToCode).join(';') + 'm'
+}
+
+function colorNameToCode (color) {
+  if (colors[color] != null) return colors[color]
+  throw new Error('Unknown color or style name: ' + color)
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json
new file mode 100644
index 0000000..bd05097
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json
@@ -0,0 +1,61 @@
+{
+  "_from": "console-control-strings@~1.1.0",
+  "_id": "console-control-strings@1.1.0",
+  "_inBundle": false,
+  "_integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+  "_location": "/console-control-strings",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "console-control-strings@~1.1.0",
+    "name": "console-control-strings",
+    "escapedName": "console-control-strings",
+    "rawSpec": "~1.1.0",
+    "saveSpec": null,
+    "fetchSpec": "~1.1.0"
+  },
+  "_requiredBy": [
+    "/gauge",
+    "/npmlog"
+  ],
+  "_resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+  "_shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e",
+  "_spec": "console-control-strings@~1.1.0",
+  "_where": "/Users/pipobscure/fsevents/node_modules/npmlog",
+  "author": {
+    "name": "Rebecca Turner",
+    "email": "me@re-becca.org",
+    "url": "http://re-becca.org/"
+  },
+  "bugs": {
+    "url": "https://github.com/iarna/console-control-strings/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning.  This is a subset of both ansi and vt100.  All control codes included work on both Windows & Unix-like OSes, except where noted.",
+  "devDependencies": {
+    "standard": "^7.1.2",
+    "tap": "^5.7.2"
+  },
+  "directories": {
+    "test": "test"
+  },
+  "files": [
+    "LICENSE",
+    "index.js"
+  ],
+  "homepage": "https://github.com/iarna/console-control-strings#readme",
+  "keywords": [],
+  "license": "ISC",
+  "main": "index.js",
+  "name": "console-control-strings",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/iarna/console-control-strings.git"
+  },
+  "scripts": {
+    "test": "standard && tap test/*.js"
+  },
+  "version": "1.1.0"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE
new file mode 100644
index 0000000..d8d7f94
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE
@@ -0,0 +1,19 @@
+Copyright Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md
new file mode 100644
index 0000000..5a76b41
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md
@@ -0,0 +1,3 @@
+# core-util-is
+
+The `util.is*` functions introduced in Node v0.12.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch
new file mode 100644
index 0000000..a06d5c0
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch
@@ -0,0 +1,604 @@
+diff --git a/lib/util.js b/lib/util.js
+index a03e874..9074e8e 100644
+--- a/lib/util.js
++++ b/lib/util.js
+@@ -19,430 +19,6 @@
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-var formatRegExp = /%[sdj%]/g;
+-exports.format = function(f) {
+-  if (!isString(f)) {
+-    var objects = [];
+-    for (var i = 0; i < arguments.length; i++) {
+-      objects.push(inspect(arguments[i]));
+-    }
+-    return objects.join(' ');
+-  }
+-
+-  var i = 1;
+-  var args = arguments;
+-  var len = args.length;
+-  var str = String(f).replace(formatRegExp, function(x) {
+-    if (x === '%%') return '%';
+-    if (i >= len) return x;
+-    switch (x) {
+-      case '%s': return String(args[i++]);
+-      case '%d': return Number(args[i++]);
+-      case '%j':
+-        try {
+-          return JSON.stringify(args[i++]);
+-        } catch (_) {
+-          return '[Circular]';
+-        }
+-      default:
+-        return x;
+-    }
+-  });
+-  for (var x = args[i]; i < len; x = args[++i]) {
+-    if (isNull(x) || !isObject(x)) {
+-      str += ' ' + x;
+-    } else {
+-      str += ' ' + inspect(x);
+-    }
+-  }
+-  return str;
+-};
+-
+-
+-// Mark that a method should not be used.
+-// Returns a modified function which warns once by default.
+-// If --no-deprecation is set, then it is a no-op.
+-exports.deprecate = function(fn, msg) {
+-  // Allow for deprecating things in the process of starting up.
+-  if (isUndefined(global.process)) {
+-    return function() {
+-      return exports.deprecate(fn, msg).apply(this, arguments);
+-    };
+-  }
+-
+-  if (process.noDeprecation === true) {
+-    return fn;
+-  }
+-
+-  var warned = false;
+-  function deprecated() {
+-    if (!warned) {
+-      if (process.throwDeprecation) {
+-        throw new Error(msg);
+-      } else if (process.traceDeprecation) {
+-        console.trace(msg);
+-      } else {
+-        console.error(msg);
+-      }
+-      warned = true;
+-    }
+-    return fn.apply(this, arguments);
+-  }
+-
+-  return deprecated;
+-};
+-
+-
+-var debugs = {};
+-var debugEnviron;
+-exports.debuglog = function(set) {
+-  if (isUndefined(debugEnviron))
+-    debugEnviron = process.env.NODE_DEBUG || '';
+-  set = set.toUpperCase();
+-  if (!debugs[set]) {
+-    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
+-      var pid = process.pid;
+-      debugs[set] = function() {
+-        var msg = exports.format.apply(exports, arguments);
+-        console.error('%s %d: %s', set, pid, msg);
+-      };
+-    } else {
+-      debugs[set] = function() {};
+-    }
+-  }
+-  return debugs[set];
+-};
+-
+-
+-/**
+- * Echos the value of a value. Trys to print the value out
+- * in the best way possible given the different types.
+- *
+- * @param {Object} obj The object to print out.
+- * @param {Object} opts Optional options object that alters the output.
+- */
+-/* legacy: obj, showHidden, depth, colors*/
+-function inspect(obj, opts) {
+-  // default options
+-  var ctx = {
+-    seen: [],
+-    stylize: stylizeNoColor
+-  };
+-  // legacy...
+-  if (arguments.length >= 3) ctx.depth = arguments[2];
+-  if (arguments.length >= 4) ctx.colors = arguments[3];
+-  if (isBoolean(opts)) {
+-    // legacy...
+-    ctx.showHidden = opts;
+-  } else if (opts) {
+-    // got an "options" object
+-    exports._extend(ctx, opts);
+-  }
+-  // set default options
+-  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
+-  if (isUndefined(ctx.depth)) ctx.depth = 2;
+-  if (isUndefined(ctx.colors)) ctx.colors = false;
+-  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
+-  if (ctx.colors) ctx.stylize = stylizeWithColor;
+-  return formatValue(ctx, obj, ctx.depth);
+-}
+-exports.inspect = inspect;
+-
+-
+-// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
+-inspect.colors = {
+-  'bold' : [1, 22],
+-  'italic' : [3, 23],
+-  'underline' : [4, 24],
+-  'inverse' : [7, 27],
+-  'white' : [37, 39],
+-  'grey' : [90, 39],
+-  'black' : [30, 39],
+-  'blue' : [34, 39],
+-  'cyan' : [36, 39],
+-  'green' : [32, 39],
+-  'magenta' : [35, 39],
+-  'red' : [31, 39],
+-  'yellow' : [33, 39]
+-};
+-
+-// Don't use 'blue' not visible on cmd.exe
+-inspect.styles = {
+-  'special': 'cyan',
+-  'number': 'yellow',
+-  'boolean': 'yellow',
+-  'undefined': 'grey',
+-  'null': 'bold',
+-  'string': 'green',
+-  'date': 'magenta',
+-  // "name": intentionally not styling
+-  'regexp': 'red'
+-};
+-
+-
+-function stylizeWithColor(str, styleType) {
+-  var style = inspect.styles[styleType];
+-
+-  if (style) {
+-    return '\u001b[' + inspect.colors[style][0] + 'm' + str +
+-           '\u001b[' + inspect.colors[style][1] + 'm';
+-  } else {
+-    return str;
+-  }
+-}
+-
+-
+-function stylizeNoColor(str, styleType) {
+-  return str;
+-}
+-
+-
+-function arrayToHash(array) {
+-  var hash = {};
+-
+-  array.forEach(function(val, idx) {
+-    hash[val] = true;
+-  });
+-
+-  return hash;
+-}
+-
+-
+-function formatValue(ctx, value, recurseTimes) {
+-  // Provide a hook for user-specified inspect functions.
+-  // Check that value is an object with an inspect function on it
+-  if (ctx.customInspect &&
+-      value &&
+-      isFunction(value.inspect) &&
+-      // Filter out the util module, it's inspect function is special
+-      value.inspect !== exports.inspect &&
+-      // Also filter out any prototype objects using the circular check.
+-      !(value.constructor && value.constructor.prototype === value)) {
+-    var ret = value.inspect(recurseTimes, ctx);
+-    if (!isString(ret)) {
+-      ret = formatValue(ctx, ret, recurseTimes);
+-    }
+-    return ret;
+-  }
+-
+-  // Primitive types cannot have properties
+-  var primitive = formatPrimitive(ctx, value);
+-  if (primitive) {
+-    return primitive;
+-  }
+-
+-  // Look up the keys of the object.
+-  var keys = Object.keys(value);
+-  var visibleKeys = arrayToHash(keys);
+-
+-  if (ctx.showHidden) {
+-    keys = Object.getOwnPropertyNames(value);
+-  }
+-
+-  // Some type of object without properties can be shortcutted.
+-  if (keys.length === 0) {
+-    if (isFunction(value)) {
+-      var name = value.name ? ': ' + value.name : '';
+-      return ctx.stylize('[Function' + name + ']', 'special');
+-    }
+-    if (isRegExp(value)) {
+-      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+-    }
+-    if (isDate(value)) {
+-      return ctx.stylize(Date.prototype.toString.call(value), 'date');
+-    }
+-    if (isError(value)) {
+-      return formatError(value);
+-    }
+-  }
+-
+-  var base = '', array = false, braces = ['{', '}'];
+-
+-  // Make Array say that they are Array
+-  if (isArray(value)) {
+-    array = true;
+-    braces = ['[', ']'];
+-  }
+-
+-  // Make functions say that they are functions
+-  if (isFunction(value)) {
+-    var n = value.name ? ': ' + value.name : '';
+-    base = ' [Function' + n + ']';
+-  }
+-
+-  // Make RegExps say that they are RegExps
+-  if (isRegExp(value)) {
+-    base = ' ' + RegExp.prototype.toString.call(value);
+-  }
+-
+-  // Make dates with properties first say the date
+-  if (isDate(value)) {
+-    base = ' ' + Date.prototype.toUTCString.call(value);
+-  }
+-
+-  // Make error with message first say the error
+-  if (isError(value)) {
+-    base = ' ' + formatError(value);
+-  }
+-
+-  if (keys.length === 0 && (!array || value.length == 0)) {
+-    return braces[0] + base + braces[1];
+-  }
+-
+-  if (recurseTimes < 0) {
+-    if (isRegExp(value)) {
+-      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+-    } else {
+-      return ctx.stylize('[Object]', 'special');
+-    }
+-  }
+-
+-  ctx.seen.push(value);
+-
+-  var output;
+-  if (array) {
+-    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
+-  } else {
+-    output = keys.map(function(key) {
+-      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
+-    });
+-  }
+-
+-  ctx.seen.pop();
+-
+-  return reduceToSingleString(output, base, braces);
+-}
+-
+-
+-function formatPrimitive(ctx, value) {
+-  if (isUndefined(value))
+-    return ctx.stylize('undefined', 'undefined');
+-  if (isString(value)) {
+-    var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
+-                                             .replace(/'/g, "\\'")
+-                                             .replace(/\\"/g, '"') + '\'';
+-    return ctx.stylize(simple, 'string');
+-  }
+-  if (isNumber(value)) {
+-    // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
+-    // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
+-    if (value === 0 && 1 / value < 0)
+-      return ctx.stylize('-0', 'number');
+-    return ctx.stylize('' + value, 'number');
+-  }
+-  if (isBoolean(value))
+-    return ctx.stylize('' + value, 'boolean');
+-  // For some reason typeof null is "object", so special case here.
+-  if (isNull(value))
+-    return ctx.stylize('null', 'null');
+-}
+-
+-
+-function formatError(value) {
+-  return '[' + Error.prototype.toString.call(value) + ']';
+-}
+-
+-
+-function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
+-  var output = [];
+-  for (var i = 0, l = value.length; i < l; ++i) {
+-    if (hasOwnProperty(value, String(i))) {
+-      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+-          String(i), true));
+-    } else {
+-      output.push('');
+-    }
+-  }
+-  keys.forEach(function(key) {
+-    if (!key.match(/^\d+$/)) {
+-      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+-          key, true));
+-    }
+-  });
+-  return output;
+-}
+-
+-
+-function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
+-  var name, str, desc;
+-  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
+-  if (desc.get) {
+-    if (desc.set) {
+-      str = ctx.stylize('[Getter/Setter]', 'special');
+-    } else {
+-      str = ctx.stylize('[Getter]', 'special');
+-    }
+-  } else {
+-    if (desc.set) {
+-      str = ctx.stylize('[Setter]', 'special');
+-    }
+-  }
+-  if (!hasOwnProperty(visibleKeys, key)) {
+-    name = '[' + key + ']';
+-  }
+-  if (!str) {
+-    if (ctx.seen.indexOf(desc.value) < 0) {
+-      if (isNull(recurseTimes)) {
+-        str = formatValue(ctx, desc.value, null);
+-      } else {
+-        str = formatValue(ctx, desc.value, recurseTimes - 1);
+-      }
+-      if (str.indexOf('\n') > -1) {
+-        if (array) {
+-          str = str.split('\n').map(function(line) {
+-            return '  ' + line;
+-          }).join('\n').substr(2);
+-        } else {
+-          str = '\n' + str.split('\n').map(function(line) {
+-            return '   ' + line;
+-          }).join('\n');
+-        }
+-      }
+-    } else {
+-      str = ctx.stylize('[Circular]', 'special');
+-    }
+-  }
+-  if (isUndefined(name)) {
+-    if (array && key.match(/^\d+$/)) {
+-      return str;
+-    }
+-    name = JSON.stringify('' + key);
+-    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
+-      name = name.substr(1, name.length - 2);
+-      name = ctx.stylize(name, 'name');
+-    } else {
+-      name = name.replace(/'/g, "\\'")
+-                 .replace(/\\"/g, '"')
+-                 .replace(/(^"|"$)/g, "'");
+-      name = ctx.stylize(name, 'string');
+-    }
+-  }
+-
+-  return name + ': ' + str;
+-}
+-
+-
+-function reduceToSingleString(output, base, braces) {
+-  var numLinesEst = 0;
+-  var length = output.reduce(function(prev, cur) {
+-    numLinesEst++;
+-    if (cur.indexOf('\n') >= 0) numLinesEst++;
+-    return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
+-  }, 0);
+-
+-  if (length > 60) {
+-    return braces[0] +
+-           (base === '' ? '' : base + '\n ') +
+-           ' ' +
+-           output.join(',\n  ') +
+-           ' ' +
+-           braces[1];
+-  }
+-
+-  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
+-}
+-
+-
+ // NOTE: These type checking functions intentionally don't use `instanceof`
+ // because it is fragile and can be easily faked with `Object.create()`.
+ function isArray(ar) {
+@@ -522,166 +98,10 @@ function isPrimitive(arg) {
+ exports.isPrimitive = isPrimitive;
+
+ function isBuffer(arg) {
+-  return arg instanceof Buffer;
++  return Buffer.isBuffer(arg);
+ }
+ exports.isBuffer = isBuffer;
+
+ function objectToString(o) {
+   return Object.prototype.toString.call(o);
+-}
+-
+-
+-function pad(n) {
+-  return n < 10 ? '0' + n.toString(10) : n.toString(10);
+-}
+-
+-
+-var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
+-              'Oct', 'Nov', 'Dec'];
+-
+-// 26 Feb 16:19:34
+-function timestamp() {
+-  var d = new Date();
+-  var time = [pad(d.getHours()),
+-              pad(d.getMinutes()),
+-              pad(d.getSeconds())].join(':');
+-  return [d.getDate(), months[d.getMonth()], time].join(' ');
+-}
+-
+-
+-// log is just a thin wrapper to console.log that prepends a timestamp
+-exports.log = function() {
+-  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
+-};
+-
+-
+-/**
+- * Inherit the prototype methods from one constructor into another.
+- *
+- * The Function.prototype.inherits from lang.js rewritten as a standalone
+- * function (not on Function.prototype). NOTE: If this file is to be loaded
+- * during bootstrapping this function needs to be rewritten using some native
+- * functions as prototype setup using normal JavaScript does not work as
+- * expected during bootstrapping (see mirror.js in r114903).
+- *
+- * @param {function} ctor Constructor function which needs to inherit the
+- *     prototype.
+- * @param {function} superCtor Constructor function to inherit prototype from.
+- */
+-exports.inherits = function(ctor, superCtor) {
+-  ctor.super_ = superCtor;
+-  ctor.prototype = Object.create(superCtor.prototype, {
+-    constructor: {
+-      value: ctor,
+-      enumerable: false,
+-      writable: true,
+-      configurable: true
+-    }
+-  });
+-};
+-
+-exports._extend = function(origin, add) {
+-  // Don't do anything if add isn't an object
+-  if (!add || !isObject(add)) return origin;
+-
+-  var keys = Object.keys(add);
+-  var i = keys.length;
+-  while (i--) {
+-    origin[keys[i]] = add[keys[i]];
+-  }
+-  return origin;
+-};
+-
+-function hasOwnProperty(obj, prop) {
+-  return Object.prototype.hasOwnProperty.call(obj, prop);
+-}
+-
+-
+-// Deprecated old stuff.
+-
+-exports.p = exports.deprecate(function() {
+-  for (var i = 0, len = arguments.length; i < len; ++i) {
+-    console.error(exports.inspect(arguments[i]));
+-  }
+-}, 'util.p: Use console.error() instead');
+-
+-
+-exports.exec = exports.deprecate(function() {
+-  return require('child_process').exec.apply(this, arguments);
+-}, 'util.exec is now called `child_process.exec`.');
+-
+-
+-exports.print = exports.deprecate(function() {
+-  for (var i = 0, len = arguments.length; i < len; ++i) {
+-    process.stdout.write(String(arguments[i]));
+-  }
+-}, 'util.print: Use console.log instead');
+-
+-
+-exports.puts = exports.deprecate(function() {
+-  for (var i = 0, len = arguments.length; i < len; ++i) {
+-    process.stdout.write(arguments[i] + '\n');
+-  }
+-}, 'util.puts: Use console.log instead');
+-
+-
+-exports.debug = exports.deprecate(function(x) {
+-  process.stderr.write('DEBUG: ' + x + '\n');
+-}, 'util.debug: Use console.error instead');
+-
+-
+-exports.error = exports.deprecate(function(x) {
+-  for (var i = 0, len = arguments.length; i < len; ++i) {
+-    process.stderr.write(arguments[i] + '\n');
+-  }
+-}, 'util.error: Use console.error instead');
+-
+-
+-exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
+-  var callbackCalled = false;
+-
+-  function call(a, b, c) {
+-    if (callback && !callbackCalled) {
+-      callback(a, b, c);
+-      callbackCalled = true;
+-    }
+-  }
+-
+-  readStream.addListener('data', function(chunk) {
+-    if (writeStream.write(chunk) === false) readStream.pause();
+-  });
+-
+-  writeStream.addListener('drain', function() {
+-    readStream.resume();
+-  });
+-
+-  readStream.addListener('end', function() {
+-    writeStream.end();
+-  });
+-
+-  readStream.addListener('close', function() {
+-    call();
+-  });
+-
+-  readStream.addListener('error', function(err) {
+-    writeStream.end();
+-    call(err);
+-  });
+-
+-  writeStream.addListener('error', function(err) {
+-    readStream.destroy();
+-    call(err);
+-  });
+-}, 'util.pump(): Use readableStream.pipe() instead');
+-
+-
+-var uv;
+-exports._errnoException = function(err, syscall) {
+-  if (isUndefined(uv)) uv = process.binding('uv');
+-  var errname = uv.errname(err);
+-  var e = new Error(syscall + ' ' + errname);
+-  e.code = errname;
+-  e.errno = errname;
+-  e.syscall = syscall;
+-  return e;
+-};
++}
\ No newline at end of file
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js
new file mode 100644
index 0000000..ff4c851
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js
@@ -0,0 +1,107 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// NOTE: These type checking functions intentionally don't use `instanceof`
+// because it is fragile and can be easily faked with `Object.create()`.
+
+function isArray(arg) {
+  if (Array.isArray) {
+    return Array.isArray(arg);
+  }
+  return objectToString(arg) === '[object Array]';
+}
+exports.isArray = isArray;
+
+function isBoolean(arg) {
+  return typeof arg === 'boolean';
+}
+exports.isBoolean = isBoolean;
+
+function isNull(arg) {
+  return arg === null;
+}
+exports.isNull = isNull;
+
+function isNullOrUndefined(arg) {
+  return arg == null;
+}
+exports.isNullOrUndefined = isNullOrUndefined;
+
+function isNumber(arg) {
+  return typeof arg === 'number';
+}
+exports.isNumber = isNumber;
+
+function isString(arg) {
+  return typeof arg === 'string';
+}
+exports.isString = isString;
+
+function isSymbol(arg) {
+  return typeof arg === 'symbol';
+}
+exports.isSymbol = isSymbol;
+
+function isUndefined(arg) {
+  return arg === void 0;
+}
+exports.isUndefined = isUndefined;
+
+function isRegExp(re) {
+  return objectToString(re) === '[object RegExp]';
+}
+exports.isRegExp = isRegExp;
+
+function isObject(arg) {
+  return typeof arg === 'object' && arg !== null;
+}
+exports.isObject = isObject;
+
+function isDate(d) {
+  return objectToString(d) === '[object Date]';
+}
+exports.isDate = isDate;
+
+function isError(e) {
+  return (objectToString(e) === '[object Error]' || e instanceof Error);
+}
+exports.isError = isError;
+
+function isFunction(arg) {
+  return typeof arg === 'function';
+}
+exports.isFunction = isFunction;
+
+function isPrimitive(arg) {
+  return arg === null ||
+         typeof arg === 'boolean' ||
+         typeof arg === 'number' ||
+         typeof arg === 'string' ||
+         typeof arg === 'symbol' ||  // ES6 symbol
+         typeof arg === 'undefined';
+}
+exports.isPrimitive = isPrimitive;
+
+exports.isBuffer = Buffer.isBuffer;
+
+function objectToString(o) {
+  return Object.prototype.toString.call(o);
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json
new file mode 100644
index 0000000..783000e
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json
@@ -0,0 +1,62 @@
+{
+  "_from": "core-util-is@~1.0.0",
+  "_id": "core-util-is@1.0.2",
+  "_inBundle": false,
+  "_integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+  "_location": "/core-util-is",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "core-util-is@~1.0.0",
+    "name": "core-util-is",
+    "escapedName": "core-util-is",
+    "rawSpec": "~1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "~1.0.0"
+  },
+  "_requiredBy": [
+    "/readable-stream"
+  ],
+  "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+  "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
+  "_spec": "core-util-is@~1.0.0",
+  "_where": "/Users/pipobscure/fsevents/node_modules/readable-stream",
+  "author": {
+    "name": "Isaac Z. Schlueter",
+    "email": "i@izs.me",
+    "url": "http://blog.izs.me/"
+  },
+  "bugs": {
+    "url": "https://github.com/isaacs/core-util-is/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "The `util.is*` functions introduced in Node v0.12.",
+  "devDependencies": {
+    "tap": "^2.3.0"
+  },
+  "homepage": "https://github.com/isaacs/core-util-is#readme",
+  "keywords": [
+    "util",
+    "isBuffer",
+    "isArray",
+    "isNumber",
+    "isString",
+    "isRegExp",
+    "isThis",
+    "isThat",
+    "polyfill"
+  ],
+  "license": "MIT",
+  "main": "lib/util.js",
+  "name": "core-util-is",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/core-util-is.git"
+  },
+  "scripts": {
+    "test": "tap test.js"
+  },
+  "version": "1.0.2"
+}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js
new file mode 100644
index 0000000..1a490c6
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js
@@ -0,0 +1,68 @@
+var assert = require('tap');
+
+var t = require('./lib/util');
+
+assert.equal(t.isArray([]), true);
+assert.equal(t.isArray({}), false);
+
+assert.equal(t.isBoolean(null), false);
+assert.equal(t.isBoolean(true), true);
+assert.equal(t.isBoolean(false), true);
+
+assert.equal(t.isNull(null), true);
+assert.equal(t.isNull(undefined), false);
+assert.equal(t.isNull(false), false);
+assert.equal(t.isNull(), false);
+
+assert.equal(t.isNullOrUndefined(null), true);
+assert.equal(t.isNullOrUndefined(undefined), true);
+assert.equal(t.isNullOrUndefined(false), false);
+assert.equal(t.isNullOrUndefined(), true);
+
+assert.equal(t.isNumber(null), false);
+assert.equal(t.isNumber('1'), false);
+assert.equal(t.isNumber(1), true);
+
+assert.equal(t.isString(null), false);
+assert.equal(t.isString('1'), true);
+assert.equal(t.isString(1), false);
+
+assert.equal(t.isSymbol(null), false);
+assert.equal(t.isSymbol('1'), false);
+assert.equal(t.isSymbol(1), false);
+assert.equal(t.isSymbol(Symbol()), true);
+
+assert.equal(t.isUndefined(null), false);
+assert.equal(t.isUndefined(undefined), true);
+assert.equal(t.isUndefined(false), false);
+assert.equal(t.isUndefined(), true);
+
+assert.equal(t.isRegExp(null), false);
+assert.equal(t.isRegExp('1'), false);
+assert.equal(t.isRegExp(new RegExp()), true);
+
+assert.equal(t.isObject({}), true);
+assert.equal(t.isObject([]), true);
+assert.equal(t.isObject(new RegExp()), true);
+assert.equal(t.isObject(new Date()), true);
+
+assert.equal(t.isDate(null), false);
+assert.equal(t.isDate('1'), false);
+assert.equal(t.isDate(new Date()), true);
+
+assert.equal(t.isError(null), false);
+assert.equal(t.isError({ err: true }), false);
+assert.equal(t.isError(new Error()), true);
+
+assert.equal(t.isFunction(null), false);
+assert.equal(t.isFunction({ }), false);
+assert.equal(t.isFunction(function() {}), true);
+
+assert.equal(t.isPrimitive(null), true);
+assert.equal(t.isPrimitive(''), true);
+assert.equal(t.isPrimitive(0), true);
+assert.equal(t.isPrimitive(new Date()), false);
+
+assert.equal(t.isBuffer(null), false);
+assert.equal(t.isBuffer({}), false);
+assert.equal(t.isBuffer(new Buffer(0)), true);
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md
new file mode 100644
index 0000000..820d21e
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md
@@ -0,0 +1,395 @@
+
+3.1.0 / 2017-09-26
+==================
+
+  * Add `DEBUG_HIDE_DATE` env var (#486)
+  * Remove ReDoS regexp in %o formatter (#504)
+  * Remove "component" from package.json
+  * Remove `component.json`
+  * Ignore package-lock.json
+  * Examples: fix colors printout
+  * Fix: browser detection
+  * Fix: spelling mistake (#496, @EdwardBetts)
+
+3.0.1 / 2017-08-24
+==================
+
+  * Fix: Disable colors in Edge and Internet Explorer (#489)
+
+3.0.0 / 2017-08-08
+==================
+
+  * Breaking: Remove DEBUG_FD (#406)
+  * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418)
+  * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408)
+  * Addition: document `enabled` flag (#465)
+  * Addition: add 256 colors mode (#481)
+  * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440)
+  * Update: component: update "ms" to v2.0.0
+  * Update: separate the Node and Browser tests in Travis-CI
+  * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots
+  * Update: separate Node.js and web browser examples for organization
+  * Update: update "browserify" to v14.4.0
+  * Fix: fix Readme typo (#473)
+
+2.6.9 / 2017-09-22
+==================
+
+  * remove ReDoS regexp in %o formatter (#504)
+
+2.6.8 / 2017-05-18
+==================
+
+  * Fix: Check for undefined on browser globals (#462, @marbemac)
+
+2.6.7 / 2017-05-16
+==================
+
+  * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom)
+  * Fix: Inline extend function in node implementation (#452, @dougwilson)
+  * Docs: Fix typo (#455, @msasad)
+
+2.6.5 / 2017-04-27
+==================
+  
+  * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek)
+  * Misc: clean up browser reference checks (#447, @thebigredgeek)
+  * Misc: add npm-debug.log to .gitignore (@thebigredgeek)
+
+
+2.6.4 / 2017-04-20
+==================
+
+  * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo)
+  * Chore: ignore bower.json in npm installations. (#437, @joaovieira)
+  * Misc: update "ms" to v0.7.3 (@tootallnate)
+
+2.6.3 / 2017-03-13
+==================
+
+  * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts)
+  * Docs: Changelog fix (@thebigredgeek)
+
+2.6.2 / 2017-03-10
+==================
+
+  * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin)
+  * Docs: Add backers and sponsors from Open Collective (#422, @piamancini)
+  * Docs: Add Slackin invite badge (@tootallnate)
+
+2.6.1 / 2017-02-10
+==================
+
+  * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error
+  * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0)
+  * Fix: IE8 "Expected identifier" error (#414, @vgoma)
+  * Fix: Namespaces would not disable once enabled (#409, @musikov)
+
+2.6.0 / 2016-12-28
+==================
+
+  * Fix: added better null pointer checks for browser useColors (@thebigredgeek)
+  * Improvement: removed explicit `window.debug` export (#404, @tootallnate)
+  * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate)
+
+2.5.2 / 2016-12-25
+==================
+
+  * Fix: reference error on window within webworkers (#393, @KlausTrainer)
+  * Docs: fixed README typo (#391, @lurch)
+  * Docs: added notice about v3 api discussion (@thebigredgeek)
+
+2.5.1 / 2016-12-20
+==================
+
+  * Fix: babel-core compatibility
+
+2.5.0 / 2016-12-20
+==================
+
+  * Fix: wrong reference in bower file (@thebigredgeek)
+  * Fix: webworker compatibility (@thebigredgeek)
+  * Fix: output formatting issue (#388, @kribblo)
+  * Fix: babel-loader compatibility (#383, @escwald)
+  * Misc: removed built asset from repo and publications (@thebigredgeek)
+  * Misc: moved source files to /src (#378, @yamikuronue)
+  * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue)
+  * Test: coveralls integration (#378, @yamikuronue)
+  * Docs: simplified language in the opening paragraph (#373, @yamikuronue)
+
+2.4.5 / 2016-12-17
+==================
+
+  * Fix: `navigator` undefined in Rhino (#376, @jochenberger)
+  * Fix: custom log function (#379, @hsiliev)
+  * Improvement: bit of cleanup + linting fixes (@thebigredgeek)
+  * Improvement: rm non-maintainted `dist/` dir (#375, @freewil)
+  * Docs: simplified language in the opening paragraph. (#373, @yamikuronue)
+
+2.4.4 / 2016-12-14
+==================
+
+  * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts)
+
+2.4.3 / 2016-12-14
+==================
+
+  * Fix: navigation.userAgent error for react native (#364, @escwald)
+
+2.4.2 / 2016-12-14
+==================
+
+  * Fix: browser colors (#367, @tootallnate)
+  * Misc: travis ci integration (@thebigredgeek)
+  * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek)
+
+2.4.1 / 2016-12-13
+==================
+
+  * Fix: typo that broke the package (#356)
+
+2.4.0 / 2016-12-13
+==================
+
+  * Fix: bower.json references unbuilt src entry point (#342, @justmatt)
+  * Fix: revert "handle regex special characters" (@tootallnate)
+  * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate)
+  * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate)
+  * Improvement: allow colors in workers (#335, @botverse)
+  * Improvement: use same color for same namespace. (#338, @lchenay)
+
+2.3.3 / 2016-11-09
+==================
+
+  * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne)
+  * Fix: Returning `localStorage` saved values (#331, Levi Thomason)
+  * Improvement: Don't create an empty object when no `process` (Nathan Rajlich)
+
+2.3.2 / 2016-11-09
+==================
+
+  * Fix: be super-safe in index.js as well (@TooTallNate)
+  * Fix: should check whether process exists (Tom Newby)
+
+2.3.1 / 2016-11-09
+==================
+
+  * Fix: Added electron compatibility (#324, @paulcbetts)
+  * Improvement: Added performance optimizations (@tootallnate)
+  * Readme: Corrected PowerShell environment variable example (#252, @gimre)
+  * Misc: Removed yarn lock file from source control (#321, @fengmk2)
+
+2.3.0 / 2016-11-07
+==================
+
+  * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic)
+  * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos)
+  * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15)
+  * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran)
+  * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom)
+  * Package: Update "ms" to 0.7.2 (#315, @DevSide)
+  * Package: removed superfluous version property from bower.json (#207 @kkirsche)
+  * Readme: fix USE_COLORS to DEBUG_COLORS
+  * Readme: Doc fixes for format string sugar (#269, @mlucool)
+  * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0)
+  * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable)
+  * Readme: better docs for browser support (#224, @matthewmueller)
+  * Tooling: Added yarn integration for development (#317, @thebigredgeek)
+  * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek)
+  * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman)
+  * Misc: Updated contributors (@thebigredgeek)
+
+2.2.0 / 2015-05-09
+==================
+
+  * package: update "ms" to v0.7.1 (#202, @dougwilson)
+  * README: add logging to file example (#193, @DanielOchoa)
+  * README: fixed a typo (#191, @amir-s)
+  * browser: expose `storage` (#190, @stephenmathieson)
+  * Makefile: add a `distclean` target (#189, @stephenmathieson)
+
+2.1.3 / 2015-03-13
+==================
+
+  * Updated stdout/stderr example (#186)
+  * Updated example/stdout.js to match debug current behaviour
+  * Renamed example/stderr.js to stdout.js
+  * Update Readme.md (#184)
+  * replace high intensity foreground color for bold (#182, #183)
+
+2.1.2 / 2015-03-01
+==================
+
+  * dist: recompile
+  * update "ms" to v0.7.0
+  * package: update "browserify" to v9.0.3
+  * component: fix "ms.js" repo location
+  * changed bower package name
+  * updated documentation about using debug in a browser
+  * fix: security error on safari (#167, #168, @yields)
+
+2.1.1 / 2014-12-29
+==================
+
+  * browser: use `typeof` to check for `console` existence
+  * browser: check for `console.log` truthiness (fix IE 8/9)
+  * browser: add support for Chrome apps
+  * Readme: added Windows usage remarks
+  * Add `bower.json` to properly support bower install
+
+2.1.0 / 2014-10-15
+==================
+
+  * node: implement `DEBUG_FD` env variable support
+  * package: update "browserify" to v6.1.0
+  * package: add "license" field to package.json (#135, @panuhorsmalahti)
+
+2.0.0 / 2014-09-01
+==================
+
+  * package: update "browserify" to v5.11.0
+  * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
+
+1.0.4 / 2014-07-15
+==================
+
+  * dist: recompile
+  * example: remove `console.info()` log usage
+  * example: add "Content-Type" UTF-8 header to browser example
+  * browser: place %c marker after the space character
+  * browser: reset the "content" color via `color: inherit`
+  * browser: add colors support for Firefox >= v31
+  * debug: prefer an instance `log()` function over the global one (#119)
+  * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
+
+1.0.3 / 2014-07-09
+==================
+
+  * Add support for multiple wildcards in namespaces (#122, @seegno)
+  * browser: fix lint
+
+1.0.2 / 2014-06-10
+==================
+
+  * browser: update color palette (#113, @gscottolson)
+  * common: make console logging function configurable (#108, @timoxley)
+  * node: fix %o colors on old node <= 0.8.x
+  * Makefile: find node path using shell/which (#109, @timoxley)
+
+1.0.1 / 2014-06-06
+==================
+
+  * browser: use `removeItem()` to clear localStorage
+  * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
+  * package: add "contributors" section
+  * node: fix comment typo
+  * README: list authors
+
+1.0.0 / 2014-06-04
+==================
+
+  * make ms diff be global, not be scope
+  * debug: ignore empty strings in enable()
+  * node: make DEBUG_COLORS able to disable coloring
+  * *: export the `colors` array
+  * npmignore: don't publish the `dist` dir
+  * Makefile: refactor to use browserify
+  * package: add "browserify" as a dev dependency
+  * Readme: add Web Inspector Colors section
+  * node: reset terminal color for the debug content
+  * node: map "%o" to `util.inspect()`
+  * browser: map "%j" to `JSON.stringify()`
+  * debug: add custom "formatters"
+  * debug: use "ms" module for humanizing the diff
+  * Readme: add "bash" syntax highlighting
+  * browser: add Firebug color support
+  * browser: add colors for WebKit browsers
+  * node: apply log to `console`
+  * rewrite: abstract common logic for Node & browsers
+  * add .jshintrc file
+
+0.8.1 / 2014-04-14
+==================
+
+  * package: re-add the "component" section
+
+0.8.0 / 2014-03-30
+==================
+
+  * add `enable()` method for nodejs. Closes #27
+  * change from stderr to stdout
+  * remove unnecessary index.js file
+
+0.7.4 / 2013-11-13
+==================
+
+  * remove "browserify" key from package.json (fixes something in browserify)
+
+0.7.3 / 2013-10-30
+==================
+
+  * fix: catch localStorage security error when cookies are blocked (Chrome)
+  * add debug(err) support. Closes #46
+  * add .browser prop to package.json. Closes #42
+
+0.7.2 / 2013-02-06
+==================
+
+  * fix package.json
+  * fix: Mobile Safari (private mode) is broken with debug
+  * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
+
+0.7.1 / 2013-02-05
+==================
+
+  * add repository URL to package.json
+  * add DEBUG_COLORED to force colored output
+  * add browserify support
+  * fix component. Closes #24
+
+0.7.0 / 2012-05-04
+==================
+
+  * Added .component to package.json
+  * Added debug.component.js build
+
+0.6.0 / 2012-03-16
+==================
+
+  * Added support for "-" prefix in DEBUG [Vinay Pulim]
+  * Added `.enabled` flag to the node version [TooTallNate]
+
+0.5.0 / 2012-02-02
+==================
+
+  * Added: humanize diffs. Closes #8
+  * Added `debug.disable()` to the CS variant
+  * Removed padding. Closes #10
+  * Fixed: persist client-side variant again. Closes #9
+
+0.4.0 / 2012-02-01
+==================
+
+  * Added browser variant support for older browsers [TooTallNate]
+  * Added `debug.enable('project:*')` to browser variant [TooTallNate]
+  * Added padding to diff (moved it to the right)
+
+0.3.0 / 2012-01-26
+==================
+
+  * Added millisecond diff when isatty, otherwise UTC string
+
+0.2.0 / 2012-01-22
+==================
+
+  * Added wildcard support
+
+0.1.0 / 2011-12-02
+==================
+
+  * Added: remove colors unless stderr isatty [TooTallNate]
+
+0.0.1 / 2010-01-03
+==================
+
+  * Initial release
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE
new file mode 100644
index 0000000..658c933
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE
@@ -0,0 +1,19 @@
+(The MIT License)
+
+Copyright (c) 2014 TJ Holowaychuk <tj...@vision-media.ca>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
+and associated documentation files (the 'Software'), to deal in the Software without restriction, 
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial 
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md
new file mode 100644
index 0000000..0ee7634
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md
@@ -0,0 +1,437 @@
+# debug
+[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug)  [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master)  [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
+[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+A tiny JavaScript debugging utility modelled after Node.js core's debugging
+technique. Works in Node.js and web browsers.
+
+## Installation
+
+```bash
+$ npm install debug
+```
+
+## Usage
+
+`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
+
+Example [_app.js_](./examples/node/app.js):
+
+```js
+var debug = require('debug')('http')
+  , http = require('http')
+  , name = 'My App';
+
+// fake app
+
+debug('booting %o', name);
+
+http.createServer(function(req, res){
+  debug(req.method + ' ' + req.url);
+  res.end('hello\n');
+}).listen(3000, function(){
+  debug('listening');
+});
+
+// fake worker of some kind
+
+require('./worker');
+```
+
+Example [_worker.js_](./examples/node/worker.js):
+
+```js
+var a = require('debug')('worker:a')
+  , b = require('debug')('worker:b');
+
+function work() {
+  a('doing lots of uninteresting work');
+  setTimeout(work, Math.random() * 1000);
+}
+
+work();
+
+function workb() {
+  b('doing some work');
+  setTimeout(workb, Math.random() * 2000);
+}
+
+workb();
+```
+
+The `DEBUG` environment variable is then used to enable these based on space or
+comma-delimited names.
+
+Here are some examples:
+
+<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
+
+#### Windows command prompt notes
+
+##### CMD
+
+On Windows the environment variable is set using the `set` command.
+
+```cmd
+set DEBUG=*,-not_this
+```
+
+Example:
+
+```cmd
+set DEBUG=* & node app.js
+```
+
+##### PowerShell (VS Code default)
+
+PowerShell uses different syntax to set environment variables.
+
+```cmd
+$env:DEBUG = "*,-not_this"
+```
+
+Example:
+
+```cmd
+$env:DEBUG='app';node app.js
+```
+
+Then, run the program to be debugged as usual.
+
+npm script example:
+```js
+  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
+```
+
+## Namespace Colors
+
+Every debug instance has a color generated for it based on its namespace name.
+This helps when visually parsing the debug output to identify which debug instance
+a debug line belongs to.
+
+#### Node.js
+
+In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
+the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
+otherwise debug will only use a small handful of basic colors.
+
+<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
+
+#### Web Browser
+
+Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
+option. These are WebKit web inspectors, Firefox ([since version
+31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
+and the Firebug plugin for Firefox (any version).
+
+<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
+
+
+## Millisecond diff
+
+When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
+
+
+## Conventions
+
+If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".  If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment varia [...]
+
+## Wildcards
+
+The `*` character may be used as a wildcard. Suppose for example your library has
+debuggers named "connect:bodyParser", "connect:compress", "connect:session",
+instead of listing all three with
+`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
+`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
+
+You can also exclude specific debuggers by prefixing them with a "-" character.
+For example, `DEBUG=*,-connect:*` would include all debuggers except those
+starting with "connect:".
+
+## Environment Variables
+
+When running through Node.js, you can set a few environment variables that will
+change the behavior of the debug logging:
+
+| Name      | Purpose                                         |
+|-----------|-------------------------------------------------|
+| `DEBUG`   | Enables/disables specific debugging namespaces. |
+| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY).  |
+| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
+| `DEBUG_DEPTH` | Object inspection depth.                    |
+| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
+
+
+__Note:__ The environment variables beginning with `DEBUG_` end up being
+converted into an Options object that gets used with `%o`/`%O` formatters.
+See the Node.js documentation for
+[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
+for the complete list.
+
+## Formatters
+
+Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
+Below are the officially supported formatters:
+
+| Formatter | Representation |
+|-----------|----------------|
+| `%O`      | Pretty-print an Object on multiple lines. |
+| `%o`      | Pretty-print an Object all on a single line. |
+| `%s`      | String. |
+| `%d`      | Number (both integer and float). |
+| `%j`      | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
+| `%%`      | Single percent sign ('%'). This does not consume an argument. |
+
+
+### Custom formatters
+
+You can add custom formatters by extending the `debug.formatters` object.
+For example, if you wanted to add support for rendering a Buffer as hex with
+`%h`, you could do something like:
+
+```js
+const createDebug = require('debug')
+createDebug.formatters.h = (v) => {
+  return v.toString('hex')
+}
+
+// …elsewhere
+const debug = createDebug('foo')
+debug('this is hex: %h', new Buffer('hello world'))
+//   foo this is hex: 68656c6c6f20776f726c6421 +0ms
+```
+
+
+## Browser Support
+
+You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
+or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
+if you don't want to build it yourself.
+
+Debug's enable state is currently persisted by `localStorage`.
+Consider the situation shown below where you have `worker:a` and `worker:b`,
+and wish to debug both. You can enable this using `localStorage.debug`:
+
+```js
+localStorage.debug = 'worker:*'
+```
+
+And then refresh the page.
+
+```js
+a = debug('worker:a');
+b = debug('worker:b');
+
+setInterval(function(){
+  a('doing some work');
+}, 1000);
+
+setInterval(function(){
+  b('doing some work');
+}, 1200);
+```
+
+
+## Output streams
+
+  By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
+
+Example [_stdout.js_](./examples/node/stdout.js):
+
+```js
+var debug = require('debug');
+var error = debug('app:error');
+
+// by default stderr is used
+error('goes to stderr!');
+
+var log = debug('app:log');
+// set this namespace to log via console.log
+log.log = console.log.bind(console); // don't forget to bind to console!
+log('goes to stdout');
+error('still goes to stderr!');
+
+// set all output to go via console.info
+// overrides all per-namespace log settings
+debug.log = console.info.bind(console);
+error('now goes to stdout via console.info');
+log('still goes to stdout, but via console.info now');
+```
+
+## Extend
+You can simply extend debugger 
+```js
+const log = require('debug')('auth');
+
+//creates new debug instance with extended namespace
+const logSign = log.extend('sign');
+const logLogin = log.extend('login');
+
+log('hello'); // auth hello
+logSign('hello'); //auth:sign hello
+logLogin('hello'); //auth:login hello
+```
+
+## Set dynamically
+
+You can also enable debug dynamically by calling the `enable()` method :
+
+```js
+let debug = require('debug');
+
+console.log(1, debug.enabled('test'));
+
+debug.enable('test');
+console.log(2, debug.enabled('test'));
+
+debug.disable();
+console.log(3, debug.enabled('test'));
+
+```
+
+print :   
+```
+1 false
+2 true
+3 false
+```
+
+Usage :  
+`enable(namespaces)`  
+`namespaces` can include modes separated by a colon and wildcards.
+   
+Note that calling `enable()` completely overrides previously set DEBUG variable : 
+
+```
+$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
+=> false
+```
+
+## Checking whether a debug target is enabled
+
+After you've created a debug instance, you can determine whether or not it is
+enabled by checking the `enabled` property:
+
+```javascript
+const debug = require('debug')('http');
+
+if (debug.enabled) {
+  // do stuff...
+}
+```
+
+You can also manually toggle this property to force the debug instance to be
+enabled or disabled.
+
+
+## Authors
+
+ - TJ Holowaychuk
+ - Nathan Rajlich
+ - Andrew Rhyne
+
+## Backers
+
+Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
+
+<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
+
+
+## Sponsors
+
+Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
+
+<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js
new file mode 100644
index 0000000..f271e01
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js
@@ -0,0 +1,886 @@
+"use strict";
+
+function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+(function (f) {
+  if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") {
+    module.exports = f();
+  } else if (typeof define === "function" && define.amd) {
+    define([], f);
+  } else {
+    var g;
+
+    if (typeof window !== "undefined") {
+      g = window;
+    } else if (typeof global !== "undefined") {
+      g = global;
+    } else if (typeof self !== "undefined") {
+      g = self;
+    } else {
+      g = this;
+    }
+
+    g.debug = f();
+  }
+})(function () {
+  var define, module, exports;
+  return function () {
+    function r(e, n, t) {
+      function o(i, f) {
+        if (!n[i]) {
+          if (!e[i]) {
+            var c = "function" == typeof require && require;
+            if (!f && c) return c(i, !0);
+            if (u) return u(i, !0);
+            var a = new Error("Cannot find module '" + i + "'");
+            throw a.code = "MODULE_NOT_FOUND", a;
+          }
+
+          var p = n[i] = {
+            exports: {}
+          };
+          e[i][0].call(p.exports, function (r) {
+            var n = e[i][1][r];
+            return o(n || r);
+          }, p, p.exports, r, e, n, t);
+        }
+
+        return n[i].exports;
+      }
+
+      for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) {
+        o(t[i]);
+      }
+
+      return o;
+    }
+
+    return r;
+  }()({
+    1: [function (require, module, exports) {
+      /**
+       * Helpers.
+       */
+      var s = 1000;
+      var m = s * 60;
+      var h = m * 60;
+      var d = h * 24;
+      var w = d * 7;
+      var y = d * 365.25;
+      /**
+       * Parse or format the given `val`.
+       *
+       * Options:
+       *
+       *  - `long` verbose formatting [false]
+       *
+       * @param {String|Number} val
+       * @param {Object} [options]
+       * @throws {Error} throw an error if val is not a non-empty string or a number
+       * @return {String|Number}
+       * @api public
+       */
+
+      module.exports = function (val, options) {
+        options = options || {};
+
+        var type = _typeof(val);
+
+        if (type === 'string' && val.length > 0) {
+          return parse(val);
+        } else if (type === 'number' && isNaN(val) === false) {
+          return options.long ? fmtLong(val) : fmtShort(val);
+        }
+
+        throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));
+      };
+      /**
+       * Parse the given `str` and return milliseconds.
+       *
+       * @param {String} str
+       * @return {Number}
+       * @api private
+       */
+
+
+      function parse(str) {
+        str = String(str);
+
+        if (str.length > 100) {
+          return;
+        }
+
+        var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
+
+        if (!match) {
+          return;
+        }
+
+        var n = parseFloat(match[1]);
+        var type = (match[2] || 'ms').toLowerCase();
+
+        switch (type) {
+          case 'years':
+          case 'year':
+          case 'yrs':
+          case 'yr':
+          case 'y':
+            return n * y;
+
+          case 'weeks':
+          case 'week':
+          case 'w':
+            return n * w;
+
+          case 'days':
+          case 'day':
+          case 'd':
+            return n * d;
+
+          case 'hours':
+          case 'hour':
+          case 'hrs':
+          case 'hr':
+          case 'h':
+            return n * h;
+
+          case 'minutes':
+          case 'minute':
+          case 'mins':
+          case 'min':
+          case 'm':
+            return n * m;
+
+          case 'seconds':
+          case 'second':
+          case 'secs':
+          case 'sec':
+          case 's':
+            return n * s;
+
+          case 'milliseconds':
+          case 'millisecond':
+          case 'msecs':
+          case 'msec':
+          case 'ms':
+            return n;
+
+          default:
+            return undefined;
+        }
+      }
+      /**
+       * Short format for `ms`.
+       *
+       * @param {Number} ms
+       * @return {String}
+       * @api private
+       */
+
+
+      function fmtShort(ms) {
+        var msAbs = Math.abs(ms);
+
+        if (msAbs >= d) {
+          return Math.round(ms / d) + 'd';
+        }
+
+        if (msAbs >= h) {
+          return Math.round(ms / h) + 'h';
+        }
+
+        if (msAbs >= m) {
+          return Math.round(ms / m) + 'm';
+        }
+
+        if (msAbs >= s) {
+          return Math.round(ms / s) + 's';
+        }
+
+        return ms + 'ms';
+      }
+      /**
+       * Long format for `ms`.
+       *
+       * @param {Number} ms
+       * @return {String}
+       * @api private
+       */
+
+
+      function fmtLong(ms) {
+        var msAbs = Math.abs(ms);
+
+        if (msAbs >= d) {
+          return plural(ms, msAbs, d, 'day');
+        }
+
+        if (msAbs >= h) {
+          return plural(ms, msAbs, h, 'hour');
+        }
+
+        if (msAbs >= m) {
+          return plural(ms, msAbs, m, 'minute');
+        }
+
+        if (msAbs >= s) {
+          return plural(ms, msAbs, s, 'second');
+        }
+
+        return ms + ' ms';
+      }
+      /**
+       * Pluralization helper.
+       */
+
+
+      function plural(ms, msAbs, n, name) {
+        var isPlural = msAbs >= n * 1.5;
+        return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
+      }
+    }, {}],
+    2: [function (require, module, exports) {
+      // shim for using process in browser
+      var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it
+      // don't break things.  But we need to wrap it in a try catch in case it is
+      // wrapped in strict mode code which doesn't define any globals.  It's inside a
+      // function because try/catches deoptimize in certain engines.
+
+      var cachedSetTimeout;
+      var cachedClearTimeout;
+
+      function defaultSetTimout() {
+        throw new Error('setTimeout has not been defined');
+      }
+
+      function defaultClearTimeout() {
+        throw new Error('clearTimeout has not been defined');
+      }
+
+      (function () {
+        try {
+          if (typeof setTimeout === 'function') {
+            cachedSetTimeout = setTimeout;
+          } else {
+            cachedSetTimeout = defaultSetTimout;
+          }
+        } catch (e) {
+          cachedSetTimeout = defaultSetTimout;
+        }
+
+        try {
+          if (typeof clearTimeout === 'function') {
+            cachedClearTimeout = clearTimeout;
+          } else {
+            cachedClearTimeout = defaultClearTimeout;
+          }
+        } catch (e) {
+          cachedClearTimeout = defaultClearTimeout;
+        }
+      })();
+
+      function runTimeout(fun) {
+        if (cachedSetTimeout === setTimeout) {
+          //normal enviroments in sane situations
+          return setTimeout(fun, 0);
+        } // if setTimeout wasn't available but was latter defined
+
+
+        if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+          cachedSetTimeout = setTimeout;
+          return setTimeout(fun, 0);
+        }
+
+        try {
+          // when when somebody has screwed with setTimeout but no I.E. maddness
+          return cachedSetTimeout(fun, 0);
+        } catch (e) {
+          try {
+            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+            return cachedSetTimeout.call(null, fun, 0);
+          } catch (e) {
+            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+            return cachedSetTimeout.call(this, fun, 0);
+          }
+        }
+      }
+
+      function runClearTimeout(marker) {
+        if (cachedClearTimeout === clearTimeout) {
+          //normal enviroments in sane situations
+          return clearTimeout(marker);
+        } // if clearTimeout wasn't available but was latter defined
+
+
+        if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+          cachedClearTimeout = clearTimeout;
+          return clearTimeout(marker);
+        }
+
+        try {
+          // when when somebody has screwed with setTimeout but no I.E. maddness
+          return cachedClearTimeout(marker);
+        } catch (e) {
+          try {
+            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
+            return cachedClearTimeout.call(null, marker);
+          } catch (e) {
+            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+            return cachedClearTimeout.call(this, marker);
+          }
+        }
+      }
+
+      var queue = [];
+      var draining = false;
+      var currentQueue;
+      var queueIndex = -1;
+
+      function cleanUpNextTick() {
+        if (!draining || !currentQueue) {
+          return;
+        }
+
+        draining = false;
+
+        if (currentQueue.length) {
+          queue = currentQueue.concat(queue);
+        } else {
+          queueIndex = -1;
+        }
+
+        if (queue.length) {
+          drainQueue();
+        }
+      }
+
+      function drainQueue() {
+        if (draining) {
+          return;
+        }
+
+        var timeout = runTimeout(cleanUpNextTick);
+        draining = true;
+        var len = queue.length;
+
+        while (len) {
+          currentQueue = queue;
+          queue = [];
+
+          while (++queueIndex < len) {
+            if (currentQueue) {
+              currentQueue[queueIndex].run();
+            }
+          }
+
+          queueIndex = -1;
+          len = queue.length;
+        }
+
+        currentQueue = null;
+        draining = false;
+        runClearTimeout(timeout);
+      }
+
+      process.nextTick = function (fun) {
+        var args = new Array(arguments.length - 1);
+
+        if (arguments.length > 1) {
+          for (var i = 1; i < arguments.length; i++) {
+            args[i - 1] = arguments[i];
+          }
+        }
+
+        queue.push(new Item(fun, args));
+
+        if (queue.length === 1 && !draining) {
+          runTimeout(drainQueue);
+        }
+      }; // v8 likes predictible objects
+
+
+      function Item(fun, array) {
+        this.fun = fun;
+        this.array = array;
+      }
+
+      Item.prototype.run = function () {
+        this.fun.apply(null, this.array);
+      };
+
+      process.title = 'browser';
+      process.browser = true;
+      process.env = {};
+      process.argv = [];
+      process.version = ''; // empty string to avoid regexp issues
+
+      process.versions = {};
+
+      function noop() {}
+
+      process.on = noop;
+      process.addListener = noop;
+      process.once = noop;
+      process.off = noop;
+      process.removeListener = noop;
+      process.removeAllListeners = noop;
+      process.emit = noop;
+      process.prependListener = noop;
+      process.prependOnceListener = noop;
+
+      process.listeners = function (name) {
+        return [];
+      };
+
+      process.binding = function (name) {
+        throw new Error('process.binding is not supported');
+      };
+
+      process.cwd = function () {
+        return '/';
+      };
+
+      process.chdir = function (dir) {
+        throw new Error('process.chdir is not supported');
+      };
+
+      process.umask = function () {
+        return 0;
+      };
+    }, {}],
+    3: [function (require, module, exports) {
+      /**
+       * This is the common logic for both the Node.js and web browser
+       * implementations of `debug()`.
+       */
+      function setup(env) {
+        createDebug.debug = createDebug;
+        createDebug.default = createDebug;
+        createDebug.coerce = coerce;
+        createDebug.disable = disable;
+        createDebug.enable = enable;
+        createDebug.enabled = enabled;
+        createDebug.humanize = require('ms');
+        Object.keys(env).forEach(function (key) {
+          createDebug[key] = env[key];
+        });
+        /**
+        * Active `debug` instances.
+        */
+
+        createDebug.instances = [];
+        /**
+        * The currently active debug mode names, and names to skip.
+        */
+
+        createDebug.names = [];
+        createDebug.skips = [];
+        /**
+        * Map of special "%n" handling functions, for the debug "format" argument.
+        *
+        * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
+        */
+
+        createDebug.formatters = {};
+        /**
+        * Selects a color for a debug namespace
+        * @param {String} namespace The namespace string for the for the debug instance to be colored
+        * @return {Number|String} An ANSI color code for the given namespace
+        * @api private
+        */
+
+        function selectColor(namespace) {
+          var hash = 0;
+
+          for (var i = 0; i < namespace.length; i++) {
+            hash = (hash << 5) - hash + namespace.charCodeAt(i);
+            hash |= 0; // Convert to 32bit integer
+          }
+
+          return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+        }
+
+        createDebug.selectColor = selectColor;
+        /**
+        * Create a debugger with the given `namespace`.
+        *
+        * @param {String} namespace
+        * @return {Function}
+        * @api public
+        */
+
+        function createDebug(namespace) {
+          var prevTime;
+
+          function debug() {
+            for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+              args[_key] = arguments[_key];
+            }
+
+            // Disabled?
+            if (!debug.enabled) {
+              return;
+            }
+
+            var self = debug; // Set `diff` timestamp
+
+            var curr = Number(new Date());
+            var ms = curr - (prevTime || curr);
+            self.diff = ms;
+            self.prev = prevTime;
+            self.curr = curr;
+            prevTime = curr;
+            args[0] = createDebug.coerce(args[0]);
+
+            if (typeof args[0] !== 'string') {
+              // Anything else let's inspect with %O
+              args.unshift('%O');
+            } // Apply any `formatters` transformations
+
+
+            var index = 0;
+            args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
+              // If we encounter an escaped % then don't increase the array index
+              if (match === '%%') {
+                return match;
+              }
+
+              index++;
+              var formatter = createDebug.formatters[format];
+
+              if (typeof formatter === 'function') {
+                var val = args[index];
+                match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`
+
+                args.splice(index, 1);
+                index--;
+              }
+
+              return match;
+            }); // Apply env-specific formatting (colors, etc.)
+
+            createDebug.formatArgs.call(self, args);
+            var logFn = self.log || createDebug.log;
+            logFn.apply(self, args);
+          }
+
+          debug.namespace = namespace;
+          debug.enabled = createDebug.enabled(namespace);
+          debug.useColors = createDebug.useColors();
+          debug.color = selectColor(namespace);
+          debug.destroy = destroy;
+          debug.extend = extend; // Debug.formatArgs = formatArgs;
+          // debug.rawLog = rawLog;
+          // env-specific initialization logic for debug instances
+
+          if (typeof createDebug.init === 'function') {
+            createDebug.init(debug);
+          }
+
+          createDebug.instances.push(debug);
+          return debug;
+        }
+
+        function destroy() {
+          var index = createDebug.instances.indexOf(this);
+
+          if (index !== -1) {
+            createDebug.instances.splice(index, 1);
+            return true;
+          }
+
+          return false;
+        }
+
+        function extend(namespace, delimiter) {
+          return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
+        }
+        /**
+        * Enables a debug mode by namespaces. This can include modes
+        * separated by a colon and wildcards.
+        *
+        * @param {String} namespaces
+        * @api public
+        */
+
+
+        function enable(namespaces) {
+          createDebug.save(namespaces);
+          createDebug.names = [];
+          createDebug.skips = [];
+          var i;
+          var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
+          var len = split.length;
+
+          for (i = 0; i < len; i++) {
+            if (!split[i]) {
+              // ignore empty strings
+              continue;
+            }
+
+            namespaces = split[i].replace(/\*/g, '.*?');
+
+            if (namespaces[0] === '-') {
+              createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
+            } else {
+              createDebug.names.push(new RegExp('^' + namespaces + '$'));
+            }
+          }
+
+          for (i = 0; i < createDebug.instances.length; i++) {
+            var instance = createDebug.instances[i];
+            instance.enabled = createDebug.enabled(instance.namespace);
+          }
+        }
+        /**
+        * Disable debug output.
+        *
+        * @api public
+        */
+
+
+        function disable() {
+          createDebug.enable('');
+        }
+        /**
+        * Returns true if the given mode name is enabled, false otherwise.
+        *
+        * @param {String} name
+        * @return {Boolean}
+        * @api public
+        */
+
+
+        function enabled(name) {
+          if (name[name.length - 1] === '*') {
+            return true;
+          }
+
+          var i;
+          var len;
+
+          for (i = 0, len = createDebug.skips.length; i < len; i++) {
+            if (createDebug.skips[i].test(name)) {
+              return false;
+            }
+          }
+
+          for (i = 0, len = createDebug.names.length; i < len; i++) {
+            if (createDebug.names[i].test(name)) {
+              return true;
+            }
+          }
+
+          return false;
+        }
+        /**
+        * Coerce `val`.
+        *
+        * @param {Mixed} val
+        * @return {Mixed}
+        * @api private
+        */
+
+
+        function coerce(val) {
+          if (val instanceof Error) {
+            return val.stack || val.message;
+          }
+
+          return val;
+        }
+
+        createDebug.enable(createDebug.load());
+        return createDebug;
+      }
+
+      module.exports = setup;
+    }, {
+      "ms": 1
+    }],
+    4: [function (require, module, exports) {
+      (function (process) {
+        /* eslint-env browser */
+
+        /**
+         * This is the web browser implementation of `debug()`.
+         */
+        exports.log = log;
+        exports.formatArgs = formatArgs;
+        exports.save = save;
+        exports.load = load;
+        exports.useColors = useColors;
+        exports.storage = localstorage();
+        /**
+         * Colors.
+         */
+
+        exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC [...]
+        /**
+         * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+         * and the Firebug extension (any Firefox version) are known
+         * to support "%c" CSS customizations.
+         *
+         * TODO: add a `localStorage` variable to explicitly enable/disable colors
+         */
+        // eslint-disable-next-line complexity
+
+        function useColors() {
+          // NB: In an Electron preload script, document will be defined but not fully
+          // initialized. Since we know we're in Chrome, we'll just detect this case
+          // explicitly
+          if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+            return true;
+          } // Internet Explorer and Edge do not support colors.
+
+
+          if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+            return false;
+          } // Is webkit? http://stackoverflow.com/a/16459606/376773
+          // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+
+
+          return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+          typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+          // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+          typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+          typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+        }
+        /**
+         * Colorize log arguments if enabled.
+         *
+         * @api public
+         */
+
+
+        function formatArgs(args) {
+          args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
+
+          if (!this.useColors) {
+            return;
+          }
+
+          var c = 'color: ' + this.color;
+          args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other
+          // arguments passed either before or after the %c, so we need to
+          // figure out the correct index to insert the CSS into
+
+          var index = 0;
+          var lastC = 0;
+          args[0].replace(/%[a-zA-Z%]/g, function (match) {
+            if (match === '%%') {
+              return;
+            }
+
+            index++;
+
+            if (match === '%c') {
+              // We only are interested in the *last* %c
+              // (the user may have provided their own)
+              lastC = index;
+            }
+          });
+          args.splice(lastC, 0, c);
+        }
+        /**
+         * Invokes `console.log()` when available.
+         * No-op when `console.log` is not a "function".
+         *
+         * @api public
+         */
+
+
+        function log() {
+          var _console;
+
+          // This hackery is required for IE8/9, where
+          // the `console.log` function doesn't have 'apply'
+          return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments);
+        }
+        /**
+         * Save `namespaces`.
+         *
+         * @param {String} namespaces
+         * @api private
+         */
+
+
+        function save(namespaces) {
+          try {
+            if (namespaces) {
+              exports.storage.setItem('debug', namespaces);
+            } else {
+              exports.storage.removeItem('debug');
+            }
+          } catch (error) {// Swallow
+            // XXX (@Qix-) should we be logging these?
+          }
+        }
+        /**
+         * Load `namespaces`.
+         *
+         * @return {String} returns the previously persisted debug modes
+         * @api private
+         */
+
+
+        function load() {
+          var r;
+
+          try {
+            r = exports.storage.getItem('debug');
+          } catch (error) {} // Swallow
+          // XXX (@Qix-) should we be logging these?
+          // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+
+
+          if (!r && typeof process !== 'undefined' && 'env' in process) {
+            r = process.env.DEBUG;
+          }
+
+          return r;
+        }
+        /**
+         * Localstorage attempts to return the localstorage.
+         *
+         * This is necessary because safari throws
+         * when a user disables cookies/localstorage
+         * and you attempt to access it.
+         *
+         * @return {LocalStorage}
+         * @api private
+         */
+
+
+        function localstorage() {
+          try {
+            // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+            // The Browser also has localStorage in the global context.
+            return localStorage;
+          } catch (error) {// Swallow
+            // XXX (@Qix-) should we be logging these?
+          }
+        }
+
+        module.exports = require('./common')(exports);
+        var formatters = module.exports.formatters;
+        /**
+         * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+         */
+
+        formatters.j = function (v) {
+          try {
+            return JSON.stringify(v);
+          } catch (error) {
+            return '[UnexpectedJSONParseError]: ' + error.message;
+          }
+        };
+      }).call(this, require('_process'));
+    }, {
+      "./common": 3,
+      "_process": 2
+    }]
+  }, {}, [4])(4);
+});
+
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js
new file mode 100644
index 0000000..7fc36fe
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js
@@ -0,0 +1 @@
+module.exports = require('./src/node');
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json
new file mode 100644
index 0000000..62e5385
--- /dev/null
+++ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json
@@ -0,0 +1,90 @@
+{
+  "_from": "debug@^3.2.6",
+  "_id": "debug@3.2.6",
+  "_inBundle": false,
+  "_integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+  "_location": "/debug",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "debug@^3.2.6",
+    "name": "debug",
+    "escapedName": "debug",
+    "rawSpec": "^3.2.6",
+    "saveSpec": null,
+    "fetchSpec": "^3.2.6"
+  },
+  "_requiredBy": [
+    "/needle"
+  ],
+  "_resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+  "_shasum": "e83d17de16d8a7efb7717edbe5fb10135eee629b",
+  "_spec": "debug@^3.2.6",
+  "_where": "/Users/pipobscure/fsevents/node_modules/needle",
+  "author": {
+    "name": "TJ Holowaychuk",
+    "email": "tj@vision-media.ca"
+  },
+  "browser": "./src/browser.js",
+  "bugs": {
+    "url": "https://github.com/visionmedia/debug/issues"
+  },
+  "bundleDependencies": false,
+  "contributors": [
+    {
+      "name": "Nathan Rajlich",
+      "email": "nathan@tootallnate.net",
+      "url": "http://n8.io"
+    },
+    {
+      "name": "Andrew Rhyne",
+      "email": "rhyneandrew@gmail.com"
+    }
+  ],
... 62649 lines suppressed ...

[camel-website] 08/08: result of running ./update-deps-in-docker.sh

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit bb72015c11342c5154045ef619e91f07e67e87d2
Author: David Jencks <dj...@apache.org>
AuthorDate: Thu Nov 11 08:35:56 2021 -0800

    result of running ./update-deps-in-docker.sh
---
 .../local-functions-proxy-darwin-x64/.ready        |    0
 .../local-functions-proxy.sha                      |    1 -
 .../local-functions-proxy-linux-x64}/.ready        |    0
 .../local-functions-proxy-linux-x64}/CHANGELOG.md  |    4 +-
 .../local-functions-proxy-linux-x64}/README.md     |    2 +-
 .../bin/local-functions-proxy                      |  Bin 6596432 -> 6193152 bytes
 .../local-functions-proxy-linux-x64}/index.js      |    0
 .../local-functions-proxy.sha                      |    1 +
 .../local-functions-proxy-linux-x64}/package.json  |    6 +-
 .../@netlify/routing-local-proxy-darwin-x64/.ready |    0
 .../@netlify/routing-local-proxy-linux-x64}/.ready |    0
 .../routing-local-proxy-linux-x64}/index.js        |    0
 .../routing-local-proxy-linux-x64}/package.json    |    4 +-
 .../routing-local-proxy                            |  Bin 59062608 -> 77213640 bytes
 .../node_modules/fsevents/.ready                   |    0
 .../node_modules/fsevents/LICENSE                  |   22 -
 .../node_modules/fsevents/README.md                |   77 -
 .../node_modules/fsevents/fsevents.d.ts            |   55 -
 .../node_modules/fsevents/fsevents.js              |   79 -
 .../node_modules/fsevents/fsevents.node            |  Bin 36204 -> 0 bytes
 .../node_modules/fsevents/package.json             |   62 -
 .../node_modules/fsevents/vfs.js                   |   76 -
 .../node_modules/fsevents/.travis.yml              |  101 -
 .../node_modules/fsevents/ISSUE_TEMPLATE.md        |    8 -
 .../node_modules/fsevents/LICENSE                  |   22 -
 .../node_modules/fsevents/Readme.md                |   78 -
 .../node_modules/fsevents/binding.gyp              |   21 -
 .../node_modules/fsevents/build/.target.mk         |   55 -
 .../node_modules/fsevents/build/Makefile           |  347 --
 .../fsevents/build/Release/.deps/Release/.node.d   |    1 -
 .../build/Release/.deps/Release/fse.node.d         |    1 -
 .../.deps/Release/obj.target/fse/fsevents.o.d      |   70 -
 .../node_modules/fsevents/build/Release/.node      |  Bin 16432 -> 0 bytes
 .../node_modules/fsevents/build/Release/fse.node   |  Bin 52792 -> 0 bytes
 .../build/Release/obj.target/fse/fsevents.o        |  Bin 357416 -> 0 bytes
 .../node_modules/fsevents/build/binding.Makefile   |    6 -
 .../node_modules/fsevents/build/config.gypi        |  303 --
 .../node_modules/fsevents/build/fse.target.mk      |  196 --
 .../node_modules/fsevents/build/gyp-mac-tool       |  777 -----
 .../node_modules/fsevents/fsevents.cc              |   88 -
 .../node_modules/fsevents/fsevents.js              |  108 -
 .../fsevents/node_modules/abbrev/LICENSE           |   46 -
 .../fsevents/node_modules/abbrev/README.md         |   23 -
 .../fsevents/node_modules/abbrev/abbrev.js         |   61 -
 .../fsevents/node_modules/abbrev/package.json      |   56 -
 .../fsevents/node_modules/ansi-regex/index.js      |    4 -
 .../fsevents/node_modules/ansi-regex/license       |   21 -
 .../fsevents/node_modules/ansi-regex/package.json  |  108 -
 .../fsevents/node_modules/ansi-regex/readme.md     |   39 -
 .../fsevents/node_modules/aproba/LICENSE           |   14 -
 .../fsevents/node_modules/aproba/README.md         |   94 -
 .../fsevents/node_modules/aproba/index.js          |  105 -
 .../fsevents/node_modules/aproba/package.json      |   62 -
 .../node_modules/are-we-there-yet/CHANGES.md       |   37 -
 .../fsevents/node_modules/are-we-there-yet/LICENSE |    5 -
 .../node_modules/are-we-there-yet/README.md        |  195 --
 .../node_modules/are-we-there-yet/index.js         |    4 -
 .../node_modules/are-we-there-yet/package.json     |   63 -
 .../node_modules/are-we-there-yet/tracker-base.js  |   11 -
 .../node_modules/are-we-there-yet/tracker-group.js |  107 -
 .../are-we-there-yet/tracker-stream.js             |   36 -
 .../node_modules/are-we-there-yet/tracker.js       |   30 -
 .../node_modules/balanced-match/.npmignore         |    5 -
 .../node_modules/balanced-match/LICENSE.md         |   21 -
 .../fsevents/node_modules/balanced-match/README.md |   91 -
 .../fsevents/node_modules/balanced-match/index.js  |   59 -
 .../node_modules/balanced-match/package.json       |   77 -
 .../fsevents/node_modules/brace-expansion/LICENSE  |   21 -
 .../node_modules/brace-expansion/README.md         |  129 -
 .../fsevents/node_modules/brace-expansion/index.js |  201 --
 .../node_modules/brace-expansion/package.json      |   75 -
 .../fsevents/node_modules/chownr/LICENSE           |   15 -
 .../fsevents/node_modules/chownr/README.md         |    3 -
 .../fsevents/node_modules/chownr/chownr.js         |  125 -
 .../fsevents/node_modules/chownr/package.json      |   59 -
 .../fsevents/node_modules/code-point-at/index.js   |   32 -
 .../fsevents/node_modules/code-point-at/license    |   21 -
 .../node_modules/code-point-at/package.json        |   70 -
 .../fsevents/node_modules/code-point-at/readme.md  |   32 -
 .../fsevents/node_modules/concat-map/.travis.yml   |    4 -
 .../fsevents/node_modules/concat-map/LICENSE       |   18 -
 .../node_modules/concat-map/README.markdown        |   62 -
 .../node_modules/concat-map/example/map.js         |    6 -
 .../fsevents/node_modules/concat-map/index.js      |   13 -
 .../fsevents/node_modules/concat-map/package.json  |   88 -
 .../fsevents/node_modules/concat-map/test/map.js   |   39 -
 .../node_modules/console-control-strings/LICENSE   |   13 -
 .../node_modules/console-control-strings/README.md |  145 -
 .../console-control-strings/README.md~             |  140 -
 .../node_modules/console-control-strings/index.js  |  125 -
 .../console-control-strings/package.json           |   61 -
 .../fsevents/node_modules/core-util-is/LICENSE     |   19 -
 .../fsevents/node_modules/core-util-is/README.md   |    3 -
 .../fsevents/node_modules/core-util-is/float.patch |  604 ----
 .../fsevents/node_modules/core-util-is/lib/util.js |  107 -
 .../node_modules/core-util-is/package.json         |   62 -
 .../fsevents/node_modules/core-util-is/test.js     |   68 -
 .../fsevents/node_modules/debug/CHANGELOG.md       |  395 ---
 .../fsevents/node_modules/debug/LICENSE            |   19 -
 .../fsevents/node_modules/debug/README.md          |  437 ---
 .../fsevents/node_modules/debug/dist/debug.js      |  886 -----
 .../fsevents/node_modules/debug/node.js            |    1 -
 .../fsevents/node_modules/debug/package.json       |   90 -
 .../fsevents/node_modules/debug/src/browser.js     |  180 -
 .../fsevents/node_modules/debug/src/common.js      |  249 --
 .../fsevents/node_modules/debug/src/index.js       |   12 -
 .../fsevents/node_modules/debug/src/node.js        |  174 -
 .../fsevents/node_modules/deep-extend/CHANGELOG.md |   46 -
 .../fsevents/node_modules/deep-extend/LICENSE      |   20 -
 .../fsevents/node_modules/deep-extend/README.md    |   91 -
 .../fsevents/node_modules/deep-extend/index.js     |    1 -
 .../node_modules/deep-extend/lib/deep-extend.js    |  150 -
 .../fsevents/node_modules/deep-extend/package.json |   92 -
 .../fsevents/node_modules/delegates/.npmignore     |    1 -
 .../fsevents/node_modules/delegates/History.md     |   22 -
 .../fsevents/node_modules/delegates/License        |   20 -
 .../fsevents/node_modules/delegates/Makefile       |    8 -
 .../fsevents/node_modules/delegates/Readme.md      |   94 -
 .../fsevents/node_modules/delegates/index.js       |  121 -
 .../fsevents/node_modules/delegates/package.json   |   48 -
 .../fsevents/node_modules/delegates/test/index.js  |   94 -
 .../fsevents/node_modules/detect-libc/.npmignore   |    7 -
 .../fsevents/node_modules/detect-libc/LICENSE      |  201 --
 .../fsevents/node_modules/detect-libc/README.md    |   78 -
 .../node_modules/detect-libc/bin/detect-libc.js    |   18 -
 .../node_modules/detect-libc/lib/detect-libc.js    |   92 -
 .../fsevents/node_modules/detect-libc/package.json |   70 -
 .../fsevents/node_modules/fs-minipass/LICENSE      |   15 -
 .../fsevents/node_modules/fs-minipass/README.md    |   70 -
 .../fsevents/node_modules/fs-minipass/index.js     |  387 ---
 .../fsevents/node_modules/fs-minipass/package.json |   65 -
 .../fsevents/node_modules/fs.realpath/LICENSE      |   43 -
 .../fsevents/node_modules/fs.realpath/README.md    |   33 -
 .../fsevents/node_modules/fs.realpath/index.js     |   66 -
 .../fsevents/node_modules/fs.realpath/old.js       |  303 --
 .../fsevents/node_modules/fs.realpath/package.json |   59 -
 .../fsevents/node_modules/gauge/CHANGELOG.md       |  160 -
 .../fsevents/node_modules/gauge/LICENSE            |   13 -
 .../fsevents/node_modules/gauge/README.md          |  399 ---
 .../fsevents/node_modules/gauge/base-theme.js      |   14 -
 .../fsevents/node_modules/gauge/error.js           |   24 -
 .../fsevents/node_modules/gauge/has-color.js       |   12 -
 .../fsevents/node_modules/gauge/index.js           |  233 --
 .../fsevents/node_modules/gauge/package.json       |   91 -
 .../fsevents/node_modules/gauge/plumbing.js        |   48 -
 .../fsevents/node_modules/gauge/process.js         |    3 -
 .../fsevents/node_modules/gauge/progress-bar.js    |   35 -
 .../fsevents/node_modules/gauge/render-template.js |  181 -
 .../fsevents/node_modules/gauge/set-immediate.js   |    7 -
 .../fsevents/node_modules/gauge/set-interval.js    |    3 -
 .../fsevents/node_modules/gauge/spin.js            |    5 -
 .../fsevents/node_modules/gauge/template-item.js   |   73 -
 .../fsevents/node_modules/gauge/theme-set.js       |  115 -
 .../fsevents/node_modules/gauge/themes.js          |   54 -
 .../fsevents/node_modules/gauge/wide-truncate.js   |   25 -
 .../fsevents/node_modules/glob/LICENSE             |   21 -
 .../fsevents/node_modules/glob/README.md           |  375 ---
 .../fsevents/node_modules/glob/changelog.md        |   67 -
 .../fsevents/node_modules/glob/common.js           |  240 --
 .../fsevents/node_modules/glob/glob.js             |  790 -----
 .../fsevents/node_modules/glob/package.json        |   79 -
 .../fsevents/node_modules/glob/sync.js             |  486 ---
 .../fsevents/node_modules/has-unicode/LICENSE      |   14 -
 .../fsevents/node_modules/has-unicode/README.md    |   43 -
 .../fsevents/node_modules/has-unicode/index.js     |   16 -
 .../fsevents/node_modules/has-unicode/package.json |   58 -
 .../fsevents/node_modules/iconv-lite/Changelog.md  |  162 -
 .../fsevents/node_modules/iconv-lite/LICENSE       |   21 -
 .../fsevents/node_modules/iconv-lite/README.md     |  156 -
 .../iconv-lite/encodings/dbcs-codec.js             |  555 ---
 .../node_modules/iconv-lite/encodings/dbcs-data.js |  176 -
 .../node_modules/iconv-lite/encodings/index.js     |   22 -
 .../node_modules/iconv-lite/encodings/internal.js  |  188 --
 .../iconv-lite/encodings/sbcs-codec.js             |   72 -
 .../iconv-lite/encodings/sbcs-data-generated.js    |  451 ---
 .../node_modules/iconv-lite/encodings/sbcs-data.js |  174 -
 .../iconv-lite/encodings/tables/big5-added.json    |  122 -
 .../iconv-lite/encodings/tables/cp936.json         |  264 --
 .../iconv-lite/encodings/tables/cp949.json         |  273 --
 .../iconv-lite/encodings/tables/cp950.json         |  177 -
 .../iconv-lite/encodings/tables/eucjp.json         |  182 -
 .../encodings/tables/gb18030-ranges.json           |    1 -
 .../iconv-lite/encodings/tables/gbk-added.json     |   55 -
 .../iconv-lite/encodings/tables/shiftjis.json      |  125 -
 .../node_modules/iconv-lite/encodings/utf16.js     |  177 -
 .../node_modules/iconv-lite/encodings/utf7.js      |  290 --
 .../node_modules/iconv-lite/lib/bom-handling.js    |   52 -
 .../node_modules/iconv-lite/lib/extend-node.js     |  217 --
 .../node_modules/iconv-lite/lib/index.d.ts         |   24 -
 .../fsevents/node_modules/iconv-lite/lib/index.js  |  153 -
 .../node_modules/iconv-lite/lib/streams.js         |  121 -
 .../fsevents/node_modules/iconv-lite/package.json  |   76 -
 .../fsevents/node_modules/ignore-walk/LICENSE      |   15 -
 .../fsevents/node_modules/ignore-walk/README.md    |   60 -
 .../fsevents/node_modules/ignore-walk/index.js     |  269 --
 .../fsevents/node_modules/ignore-walk/package.json |   74 -
 .../fsevents/node_modules/inflight/LICENSE         |   15 -
 .../fsevents/node_modules/inflight/README.md       |   37 -
 .../fsevents/node_modules/inflight/inflight.js     |   54 -
 .../fsevents/node_modules/inflight/package.json    |   58 -
 .../fsevents/node_modules/inherits/LICENSE         |   16 -
 .../fsevents/node_modules/inherits/README.md       |   42 -
 .../fsevents/node_modules/inherits/inherits.js     |    9 -
 .../node_modules/inherits/inherits_browser.js      |   27 -
 .../fsevents/node_modules/inherits/package.json    |   62 -
 .../node_modules/fsevents/node_modules/ini/LICENSE |   15 -
 .../fsevents/node_modules/ini/README.md            |  102 -
 .../node_modules/fsevents/node_modules/ini/ini.js  |  194 --
 .../fsevents/node_modules/ini/package.json         |   63 -
 .../node_modules/is-fullwidth-code-point/index.js  |   46 -
 .../node_modules/is-fullwidth-code-point/license   |   21 -
 .../is-fullwidth-code-point/package.json           |   77 -
 .../node_modules/is-fullwidth-code-point/readme.md |   39 -
 .../fsevents/node_modules/isarray/.npmignore       |    1 -
 .../fsevents/node_modules/isarray/.travis.yml      |    4 -
 .../fsevents/node_modules/isarray/Makefile         |    6 -
 .../fsevents/node_modules/isarray/README.md        |   60 -
 .../fsevents/node_modules/isarray/component.json   |   19 -
 .../fsevents/node_modules/isarray/index.js         |    5 -
 .../fsevents/node_modules/isarray/package.json     |   73 -
 .../fsevents/node_modules/isarray/test.js          |   20 -
 .../fsevents/node_modules/minimatch/LICENSE        |   15 -
 .../fsevents/node_modules/minimatch/README.md      |  209 --
 .../fsevents/node_modules/minimatch/minimatch.js   |  923 -----
 .../fsevents/node_modules/minimatch/package.json   |   64 -
 .../fsevents/node_modules/minimist/.travis.yml     |    4 -
 .../fsevents/node_modules/minimist/LICENSE         |   18 -
 .../node_modules/minimist/example/parse.js         |    2 -
 .../fsevents/node_modules/minimist/index.js        |  187 --
 .../fsevents/node_modules/minimist/package.json    |   71 -
 .../fsevents/node_modules/minimist/readme.markdown |   73 -
 .../fsevents/node_modules/minimist/test/dash.js    |   24 -
 .../node_modules/minimist/test/default_bool.js     |   20 -
 .../fsevents/node_modules/minimist/test/dotted.js  |   16 -
 .../fsevents/node_modules/minimist/test/long.js    |   31 -
 .../fsevents/node_modules/minimist/test/parse.js   |  318 --
 .../node_modules/minimist/test/parse_modified.js   |    9 -
 .../fsevents/node_modules/minimist/test/short.js   |   67 -
 .../node_modules/minimist/test/whitespace.js       |    8 -
 .../fsevents/node_modules/minipass/LICENSE         |   15 -
 .../fsevents/node_modules/minipass/README.md       |  606 ----
 .../fsevents/node_modules/minipass/index.js        |  537 ---
 .../fsevents/node_modules/minipass/package.json    |   72 -
 .../fsevents/node_modules/minizlib/LICENSE         |   26 -
 .../fsevents/node_modules/minizlib/README.md       |   53 -
 .../fsevents/node_modules/minizlib/constants.js    |  115 -
 .../fsevents/node_modules/minizlib/index.js        |  320 --
 .../fsevents/node_modules/minizlib/package.json    |   71 -
 .../fsevents/node_modules/mkdirp/.travis.yml       |    8 -
 .../fsevents/node_modules/mkdirp/LICENSE           |   21 -
 .../fsevents/node_modules/mkdirp/bin/cmd.js        |   33 -
 .../fsevents/node_modules/mkdirp/bin/usage.txt     |   12 -
 .../fsevents/node_modules/mkdirp/examples/pow.js   |    6 -
 .../fsevents/node_modules/mkdirp/index.js          |   98 -
 .../fsevents/node_modules/mkdirp/package.json      |   63 -
 .../fsevents/node_modules/mkdirp/readme.markdown   |  100 -
 .../fsevents/node_modules/mkdirp/test/chmod.js     |   41 -
 .../fsevents/node_modules/mkdirp/test/clobber.js   |   38 -
 .../fsevents/node_modules/mkdirp/test/mkdirp.js    |   28 -
 .../fsevents/node_modules/mkdirp/test/opts_fs.js   |   29 -
 .../node_modules/mkdirp/test/opts_fs_sync.js       |   27 -
 .../fsevents/node_modules/mkdirp/test/perm.js      |   32 -
 .../fsevents/node_modules/mkdirp/test/perm_sync.js |   36 -
 .../fsevents/node_modules/mkdirp/test/race.js      |   37 -
 .../fsevents/node_modules/mkdirp/test/rel.js       |   32 -
 .../fsevents/node_modules/mkdirp/test/return.js    |   25 -
 .../node_modules/mkdirp/test/return_sync.js        |   24 -
 .../fsevents/node_modules/mkdirp/test/root.js      |   19 -
 .../fsevents/node_modules/mkdirp/test/sync.js      |   32 -
 .../fsevents/node_modules/mkdirp/test/umask.js     |   28 -
 .../node_modules/mkdirp/test/umask_sync.js         |   32 -
 .../node_modules/fsevents/node_modules/ms/index.js |  162 -
 .../fsevents/node_modules/ms/license.md            |   21 -
 .../fsevents/node_modules/ms/package.json          |   69 -
 .../fsevents/node_modules/ms/readme.md             |   60 -
 .../fsevents/node_modules/needle/README.md         |  593 ----
 .../fsevents/node_modules/needle/bin/needle        |   40 -
 .../needle/examples/deflated-stream.js             |   22 -
 .../node_modules/needle/examples/digest-auth.js    |   16 -
 .../needle/examples/download-to-file.js            |   18 -
 .../needle/examples/multipart-stream.js            |   25 -
 .../node_modules/needle/examples/parsed-stream.js  |   23 -
 .../node_modules/needle/examples/parsed-stream2.js |   21 -
 .../node_modules/needle/examples/stream-events.js  |   23 -
 .../node_modules/needle/examples/stream-to-file.js |   14 -
 .../node_modules/needle/examples/upload-image.js   |   51 -
 .../fsevents/node_modules/needle/lib/auth.js       |  110 -
 .../fsevents/node_modules/needle/lib/cookies.js    |   79 -
 .../fsevents/node_modules/needle/lib/decoder.js    |   53 -
 .../fsevents/node_modules/needle/lib/multipart.js  |   98 -
 .../fsevents/node_modules/needle/lib/needle.js     |  797 -----
 .../fsevents/node_modules/needle/lib/parsers.js    |  120 -
 .../node_modules/needle/lib/querystring.js         |   49 -
 .../fsevents/node_modules/needle/license.txt       |   19 -
 .../fsevents/node_modules/needle/package.json      |  102 -
 .../node_modules/needle/test/basic_auth_spec.js    |  196 --
 .../node_modules/needle/test/compression_spec.js   |   94 -
 .../node_modules/needle/test/cookies_spec.js       |  305 --
 .../node_modules/needle/test/decoder_spec.js       |   86 -
 .../node_modules/needle/test/errors_spec.js        |  286 --
 .../node_modules/needle/test/headers_spec.js       |  198 --
 .../fsevents/node_modules/needle/test/helpers.js   |   72 -
 .../node_modules/needle/test/long_string_spec.js   |   34 -
 .../node_modules/needle/test/output_spec.js        |  254 --
 .../node_modules/needle/test/parsing_spec.js       |  494 ---
 .../node_modules/needle/test/post_data_spec.js     | 1021 ------
 .../node_modules/needle/test/proxy_spec.js         |  202 --
 .../node_modules/needle/test/querystring_spec.js   |  128 -
 .../node_modules/needle/test/redirect_spec.js      |  392 ---
 .../needle/test/redirect_with_timeout.js           |   45 -
 .../needle/test/request_stream_spec.js             |  202 --
 .../needle/test/response_stream_spec.js            |  139 -
 .../node_modules/needle/test/socket_pool_spec.js   |   66 -
 .../fsevents/node_modules/needle/test/url_spec.js  |  155 -
 .../node_modules/needle/test/utils/formidable.js   |   17 -
 .../node_modules/needle/test/utils/proxy.js        |   62 -
 .../node_modules/needle/test/utils/test.js         |  104 -
 .../node_modules/node-pre-gyp/CHANGELOG.md         |  443 ---
 .../fsevents/node_modules/node-pre-gyp/LICENSE     |   27 -
 .../fsevents/node_modules/node-pre-gyp/README.md   |  693 ----
 .../node_modules/node-pre-gyp/appveyor.yml         |   30 -
 .../node_modules/node-pre-gyp/bin/node-pre-gyp     |  134 -
 .../node_modules/node-pre-gyp/bin/node-pre-gyp.cmd |    2 -
 .../node_modules/node-pre-gyp/contributing.md      |   10 -
 .../node_modules/node-pre-gyp/lib/build.js         |   51 -
 .../node_modules/node-pre-gyp/lib/clean.js         |   32 -
 .../node_modules/node-pre-gyp/lib/configure.js     |   52 -
 .../fsevents/node_modules/node-pre-gyp/lib/info.js |   40 -
 .../node_modules/node-pre-gyp/lib/install.js       |  285 --
 .../node_modules/node-pre-gyp/lib/node-pre-gyp.js  |  203 --
 .../node_modules/node-pre-gyp/lib/package.js       |   56 -
 .../node_modules/node-pre-gyp/lib/pre-binding.js   |   30 -
 .../node_modules/node-pre-gyp/lib/publish.js       |   79 -
 .../node_modules/node-pre-gyp/lib/rebuild.js       |   21 -
 .../node_modules/node-pre-gyp/lib/reinstall.js     |   20 -
 .../node_modules/node-pre-gyp/lib/reveal.js        |   33 -
 .../node_modules/node-pre-gyp/lib/testbinary.js    |   81 -
 .../node_modules/node-pre-gyp/lib/testpackage.js   |   55 -
 .../node_modules/node-pre-gyp/lib/unpublish.js     |   43 -
 .../node-pre-gyp/lib/util/abi_crosswalk.json       | 2070 ------------
 .../node_modules/node-pre-gyp/lib/util/compile.js  |   87 -
 .../node-pre-gyp/lib/util/handle_gyp_opts.js       |  103 -
 .../node_modules/node-pre-gyp/lib/util/napi.js     |  205 --
 .../node-pre-gyp/lib/util/nw-pre-gyp/index.html    |   26 -
 .../node-pre-gyp/lib/util/nw-pre-gyp/package.json  |    9 -
 .../node_modules/node-pre-gyp/lib/util/s3_setup.js |   27 -
 .../node-pre-gyp/lib/util/versioning.js            |  331 --
 .../node_modules/node-pre-gyp/package.json         |   86 -
 .../fsevents/node_modules/nopt/.npmignore          |    1 -
 .../fsevents/node_modules/nopt/.travis.yml         |    8 -
 .../fsevents/node_modules/nopt/CHANGELOG.md        |   58 -
 .../fsevents/node_modules/nopt/LICENSE             |   15 -
 .../fsevents/node_modules/nopt/README.md           |  213 --
 .../fsevents/node_modules/nopt/bin/nopt.js         |   54 -
 .../node_modules/nopt/examples/my-program.js       |   30 -
 .../fsevents/node_modules/nopt/lib/nopt.js         |  436 ---
 .../fsevents/node_modules/nopt/package.json        |   58 -
 .../fsevents/node_modules/nopt/test/basic.js       |  303 --
 .../fsevents/node_modules/npm-bundled/LICENSE      |   15 -
 .../fsevents/node_modules/npm-bundled/README.md    |   48 -
 .../fsevents/node_modules/npm-bundled/index.js     |  249 --
 .../fsevents/node_modules/npm-bundled/package.json |   63 -
 .../npm-normalize-package-bin/.github/settings.yml |    2 -
 .../npm-normalize-package-bin/.npmignore           |   24 -
 .../node_modules/npm-normalize-package-bin/LICENSE |   15 -
 .../npm-normalize-package-bin/README.md            |   14 -
 .../npm-normalize-package-bin/index.js             |   60 -
 .../npm-normalize-package-bin/package-lock.json    | 3529 --------------------
 .../npm-normalize-package-bin/package.json         |   57 -
 .../npm-normalize-package-bin/test/array.js        |   37 -
 .../npm-normalize-package-bin/test/nobin.js        |   35 -
 .../npm-normalize-package-bin/test/object.js       |  141 -
 .../npm-normalize-package-bin/test/string.js       |   37 -
 .../fsevents/node_modules/npm-packlist/LICENSE     |   15 -
 .../fsevents/node_modules/npm-packlist/README.md   |   68 -
 .../fsevents/node_modules/npm-packlist/index.js    |  289 --
 .../node_modules/npm-packlist/package.json         |   73 -
 .../fsevents/node_modules/npmlog/CHANGELOG.md      |   49 -
 .../fsevents/node_modules/npmlog/LICENSE           |   15 -
 .../fsevents/node_modules/npmlog/README.md         |  216 --
 .../fsevents/node_modules/npmlog/log.js            |  309 --
 .../fsevents/node_modules/npmlog/package.json      |   61 -
 .../fsevents/node_modules/number-is-nan/index.js   |    4 -
 .../fsevents/node_modules/number-is-nan/license    |   21 -
 .../node_modules/number-is-nan/package.json        |   67 -
 .../fsevents/node_modules/number-is-nan/readme.md  |   28 -
 .../fsevents/node_modules/object-assign/index.js   |   90 -
 .../fsevents/node_modules/object-assign/license    |   21 -
 .../node_modules/object-assign/package.json        |   74 -
 .../fsevents/node_modules/object-assign/readme.md  |   61 -
 .../fsevents/node_modules/once/LICENSE             |   15 -
 .../fsevents/node_modules/once/README.md           |   79 -
 .../fsevents/node_modules/once/once.js             |   42 -
 .../fsevents/node_modules/once/package.json        |   67 -
 .../fsevents/node_modules/os-homedir/index.js      |   24 -
 .../fsevents/node_modules/os-homedir/license       |   21 -
 .../fsevents/node_modules/os-homedir/package.json  |   73 -
 .../fsevents/node_modules/os-homedir/readme.md     |   31 -
 .../fsevents/node_modules/os-tmpdir/index.js       |   25 -
 .../fsevents/node_modules/os-tmpdir/license        |   21 -
 .../fsevents/node_modules/os-tmpdir/package.json   |   73 -
 .../fsevents/node_modules/os-tmpdir/readme.md      |   32 -
 .../fsevents/node_modules/osenv/LICENSE            |   15 -
 .../fsevents/node_modules/osenv/README.md          |   63 -
 .../fsevents/node_modules/osenv/osenv.js           |   72 -
 .../fsevents/node_modules/osenv/package.json       |   73 -
 .../node_modules/path-is-absolute/index.js         |   20 -
 .../fsevents/node_modules/path-is-absolute/license |   21 -
 .../node_modules/path-is-absolute/package.json     |   75 -
 .../node_modules/path-is-absolute/readme.md        |   59 -
 .../node_modules/process-nextick-args/index.js     |   45 -
 .../node_modules/process-nextick-args/license.md   |   19 -
 .../node_modules/process-nextick-args/package.json |   50 -
 .../node_modules/process-nextick-args/readme.md    |   18 -
 .../fsevents/node_modules/rc/LICENSE.APACHE2       |   15 -
 .../fsevents/node_modules/rc/LICENSE.BSD           |   26 -
 .../fsevents/node_modules/rc/LICENSE.MIT           |   24 -
 .../fsevents/node_modules/rc/README.md             |  227 --
 .../fsevents/node_modules/rc/browser.js            |    7 -
 .../node_modules/fsevents/node_modules/rc/cli.js   |    4 -
 .../node_modules/fsevents/node_modules/rc/index.js |   53 -
 .../fsevents/node_modules/rc/lib/utils.js          |  104 -
 .../rc/node_modules/minimist/.travis.yml           |    8 -
 .../node_modules/rc/node_modules/minimist/LICENSE  |   18 -
 .../rc/node_modules/minimist/example/parse.js      |    2 -
 .../node_modules/rc/node_modules/minimist/index.js |  236 --
 .../rc/node_modules/minimist/package.json          |   73 -
 .../rc/node_modules/minimist/readme.markdown       |   91 -
 .../rc/node_modules/minimist/test/all_bool.js      |   32 -
 .../rc/node_modules/minimist/test/bool.js          |  166 -
 .../rc/node_modules/minimist/test/dash.js          |   31 -
 .../rc/node_modules/minimist/test/default_bool.js  |   35 -
 .../rc/node_modules/minimist/test/dotted.js        |   22 -
 .../rc/node_modules/minimist/test/kv_short.js      |   16 -
 .../rc/node_modules/minimist/test/long.js          |   31 -
 .../rc/node_modules/minimist/test/num.js           |   36 -
 .../rc/node_modules/minimist/test/parse.js         |  197 --
 .../node_modules/minimist/test/parse_modified.js   |    9 -
 .../rc/node_modules/minimist/test/short.js         |   67 -
 .../rc/node_modules/minimist/test/stop_early.js    |   15 -
 .../rc/node_modules/minimist/test/unknown.js       |  102 -
 .../rc/node_modules/minimist/test/whitespace.js    |    8 -
 .../fsevents/node_modules/rc/package.json          |   64 -
 .../fsevents/node_modules/rc/test/ini.js           |   16 -
 .../node_modules/rc/test/nested-env-vars.js        |   50 -
 .../fsevents/node_modules/rc/test/test.js          |   59 -
 .../node_modules/readable-stream/.travis.yml       |   55 -
 .../node_modules/readable-stream/CONTRIBUTING.md   |   38 -
 .../node_modules/readable-stream/GOVERNANCE.md     |  136 -
 .../fsevents/node_modules/readable-stream/LICENSE  |   47 -
 .../node_modules/readable-stream/README.md         |   58 -
 .../readable-stream/doc/wg-meetings/2015-01-30.md  |   60 -
 .../node_modules/readable-stream/duplex-browser.js |    1 -
 .../node_modules/readable-stream/duplex.js         |    1 -
 .../readable-stream/lib/_stream_duplex.js          |  131 -
 .../readable-stream/lib/_stream_passthrough.js     |   47 -
 .../readable-stream/lib/_stream_readable.js        | 1019 ------
 .../readable-stream/lib/_stream_transform.js       |  214 --
 .../readable-stream/lib/_stream_writable.js        |  687 ----
 .../lib/internal/streams/BufferList.js             |   79 -
 .../lib/internal/streams/destroy.js                |   74 -
 .../lib/internal/streams/stream-browser.js         |    1 -
 .../readable-stream/lib/internal/streams/stream.js |    1 -
 .../node_modules/readable-stream/package.json      |   81 -
 .../node_modules/readable-stream/passthrough.js    |    1 -
 .../readable-stream/readable-browser.js            |    7 -
 .../node_modules/readable-stream/readable.js       |   19 -
 .../node_modules/readable-stream/transform.js      |    1 -
 .../readable-stream/writable-browser.js            |    1 -
 .../node_modules/readable-stream/writable.js       |    8 -
 .../fsevents/node_modules/rimraf/LICENSE           |   15 -
 .../fsevents/node_modules/rimraf/README.md         |  101 -
 .../fsevents/node_modules/rimraf/bin.js            |   50 -
 .../fsevents/node_modules/rimraf/package.json      |   67 -
 .../fsevents/node_modules/rimraf/rimraf.js         |  372 ---
 .../fsevents/node_modules/safe-buffer/LICENSE      |   21 -
 .../fsevents/node_modules/safe-buffer/README.md    |  584 ----
 .../fsevents/node_modules/safe-buffer/index.d.ts   |  187 --
 .../fsevents/node_modules/safe-buffer/index.js     |   62 -
 .../fsevents/node_modules/safe-buffer/package.json |   65 -
 .../fsevents/node_modules/safer-buffer/LICENSE     |   21 -
 .../node_modules/safer-buffer/Porting-Buffer.md    |  268 --
 .../fsevents/node_modules/safer-buffer/Readme.md   |  156 -
 .../node_modules/safer-buffer/dangerous.js         |   58 -
 .../node_modules/safer-buffer/package.json         |   60 -
 .../fsevents/node_modules/safer-buffer/safer.js    |   77 -
 .../fsevents/node_modules/safer-buffer/tests.js    |  406 ---
 .../node_modules/fsevents/node_modules/sax/LICENSE |   41 -
 .../fsevents/node_modules/sax/README.md            |  225 --
 .../fsevents/node_modules/sax/lib/sax.js           | 1565 ---------
 .../fsevents/node_modules/sax/package.json         |   61 -
 .../fsevents/node_modules/semver/CHANGELOG.md      |   39 -
 .../fsevents/node_modules/semver/LICENSE           |   15 -
 .../fsevents/node_modules/semver/README.md         |  412 ---
 .../fsevents/node_modules/semver/bin/semver        |  160 -
 .../fsevents/node_modules/semver/package.json      |   60 -
 .../fsevents/node_modules/semver/range.bnf         |   16 -
 .../fsevents/node_modules/semver/semver.js         | 1483 --------
 .../node_modules/set-blocking/CHANGELOG.md         |   26 -
 .../fsevents/node_modules/set-blocking/LICENSE.txt |   14 -
 .../fsevents/node_modules/set-blocking/README.md   |   31 -
 .../fsevents/node_modules/set-blocking/index.js    |    7 -
 .../node_modules/set-blocking/package.json         |   70 -
 .../fsevents/node_modules/signal-exit/CHANGELOG.md |   27 -
 .../fsevents/node_modules/signal-exit/LICENSE.txt  |   16 -
 .../fsevents/node_modules/signal-exit/README.md    |   40 -
 .../fsevents/node_modules/signal-exit/index.js     |  157 -
 .../fsevents/node_modules/signal-exit/package.json |   66 -
 .../fsevents/node_modules/signal-exit/signals.js   |   53 -
 .../fsevents/node_modules/string-width/index.js    |   37 -
 .../fsevents/node_modules/string-width/license     |   21 -
 .../node_modules/string-width/package.json         |   89 -
 .../fsevents/node_modules/string-width/readme.md   |   42 -
 .../node_modules/string_decoder/.travis.yml        |   50 -
 .../fsevents/node_modules/string_decoder/LICENSE   |   48 -
 .../fsevents/node_modules/string_decoder/README.md |   47 -
 .../string_decoder/lib/string_decoder.js           |  296 --
 .../node_modules/string_decoder/package.json       |   59 -
 .../fsevents/node_modules/strip-ansi/index.js      |    6 -
 .../fsevents/node_modules/strip-ansi/license       |   21 -
 .../fsevents/node_modules/strip-ansi/package.json  |  102 -
 .../fsevents/node_modules/strip-ansi/readme.md     |   33 -
 .../node_modules/strip-json-comments/index.js      |   70 -
 .../node_modules/strip-json-comments/license       |   21 -
 .../node_modules/strip-json-comments/package.json  |   74 -
 .../node_modules/strip-json-comments/readme.md     |   64 -
 .../node_modules/fsevents/node_modules/tar/LICENSE |   15 -
 .../fsevents/node_modules/tar/README.md            |  954 ------
 .../fsevents/node_modules/tar/index.js             |   18 -
 .../fsevents/node_modules/tar/lib/buffer.js        |   11 -
 .../fsevents/node_modules/tar/lib/create.js        |  105 -
 .../fsevents/node_modules/tar/lib/extract.js       |  112 -
 .../fsevents/node_modules/tar/lib/header.js        |  289 --
 .../node_modules/tar/lib/high-level-opt.js         |   29 -
 .../fsevents/node_modules/tar/lib/large-numbers.js |   97 -
 .../fsevents/node_modules/tar/lib/list.js          |  130 -
 .../fsevents/node_modules/tar/lib/mkdir.js         |  206 --
 .../fsevents/node_modules/tar/lib/mode-fix.js      |   14 -
 .../fsevents/node_modules/tar/lib/pack.js          |  404 ---
 .../fsevents/node_modules/tar/lib/parse.js         |  428 ---
 .../fsevents/node_modules/tar/lib/pax.js           |  146 -
 .../fsevents/node_modules/tar/lib/read-entry.js    |   98 -
 .../fsevents/node_modules/tar/lib/replace.js       |  220 --
 .../fsevents/node_modules/tar/lib/types.js         |   44 -
 .../fsevents/node_modules/tar/lib/unpack.js        |  621 ----
 .../fsevents/node_modules/tar/lib/update.js        |   36 -
 .../fsevents/node_modules/tar/lib/warn-mixin.js    |   14 -
 .../fsevents/node_modules/tar/lib/winchars.js      |   23 -
 .../fsevents/node_modules/tar/lib/write-entry.js   |  422 ---
 .../fsevents/node_modules/tar/package.json         |   82 -
 .../node_modules/util-deprecate/History.md         |   16 -
 .../fsevents/node_modules/util-deprecate/LICENSE   |   24 -
 .../fsevents/node_modules/util-deprecate/README.md |   53 -
 .../node_modules/util-deprecate/browser.js         |   67 -
 .../fsevents/node_modules/util-deprecate/node.js   |    6 -
 .../node_modules/util-deprecate/package.json       |   56 -
 .../fsevents/node_modules/wide-align/LICENSE       |   14 -
 .../fsevents/node_modules/wide-align/README.md     |   47 -
 .../fsevents/node_modules/wide-align/align.js      |   65 -
 .../fsevents/node_modules/wide-align/package.json  |   66 -
 .../fsevents/node_modules/wrappy/LICENSE           |   15 -
 .../fsevents/node_modules/wrappy/README.md         |   36 -
 .../fsevents/node_modules/wrappy/package.json      |   59 -
 .../fsevents/node_modules/wrappy/wrappy.js         |   33 -
 .../fsevents/node_modules/yallist/LICENSE          |   15 -
 .../fsevents/node_modules/yallist/README.md        |  204 --
 .../fsevents/node_modules/yallist/iterator.js      |    8 -
 .../fsevents/node_modules/yallist/package.json     |   63 -
 .../fsevents/node_modules/yallist/yallist.js       |  426 ---
 .../node_modules/fsevents/package.json             |   36 -
 .../node_modules/fsevents/src/async.cc             |   43 -
 .../node_modules/fsevents/src/constants.cc         |  110 -
 .../node_modules/fsevents/src/methods.cc           |   44 -
 .../node_modules/fsevents/src/storage.cc           |   27 -
 .../node_modules/fsevents/src/thread.cc            |   71 -
 .../node_modules/fsevents/vfs.js                   |   76 -
 .../node_modules/gifsicle/vendor/gifsicle          |  Bin 714696 -> 714696 bytes
 .../node_modules/fsevents/.travis.yml              |  103 -
 .../node_modules/fsevents/ISSUE_TEMPLATE.md        |    8 -
 .../node_modules/fsevents/LICENSE                  |   22 -
 .../node_modules/fsevents/Readme.md                |   78 -
 .../node_modules/fsevents/binding.gyp              |   21 -
 .../node_modules/fsevents/fsevents.cc              |   88 -
 .../node_modules/fsevents/fsevents.js              |  108 -
 .../node_modules/fsevents/install.js               |   13 -
 .../node_modules/fsevents/package.json             |   34 -
 .../node_modules/fsevents/src/async.cc             |   43 -
 .../node_modules/fsevents/src/constants.cc         |  110 -
 .../node_modules/fsevents/src/methods.cc           |   44 -
 .../node_modules/fsevents/src/storage.cc           |   27 -
 .../node_modules/fsevents/src/thread.cc            |   71 -
 .../node_modules/fsevents/vfs.js                   |   76 -
 .../node_modules/gifsicle/vendor/gifsicle          |  Bin 283280 -> 714696 bytes
 .../node_modules/optipng-bin/vendor/optipng        |  Bin 182952 -> 137968 bytes
 594 files changed, 9 insertions(+), 65568 deletions(-)

diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/.ready b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/.ready
deleted file mode 100644
index e69de29..0000000
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha b/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha
deleted file mode 100644
index bbebdac..0000000
--- a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/local-functions-proxy.sha
+++ /dev/null
@@ -1 +0,0 @@
-be0937f9c5aff3b0a7c1b73d0656b3e925c6a171  bin/local-functions-proxy
diff --git a/antora-ui-camel/.yarn/unplugged/fsevents-patch-fcdf30aaca/node_modules/fsevents/.ready b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/.ready
similarity index 100%
rename from antora-ui-camel/.yarn/unplugged/fsevents-patch-fcdf30aaca/node_modules/fsevents/.ready
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/.ready
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md
similarity index 82%
rename from .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md
index 79b92c7..6fd6d15 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/CHANGELOG.md
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/CHANGELOG.md
@@ -1,13 +1,13 @@
 # Changelog
 
-### [1.1.1](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-darwin-x64-v1.1.0...local-functions-proxy-darwin-x64-v1.1.1) (2021-08-12)
+### [1.1.1](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-linux-x64-v1.1.0...local-functions-proxy-linux-x64-v1.1.1) (2021-08-12)
 
 
 ### Bug Fixes
 
 * forward stdout to stderr ([#54](https://www.github.com/netlify/local-functions-proxy/issues/54)) ([0d965f7](https://www.github.com/netlify/local-functions-proxy/commit/0d965f7951bd31f656c883c3d83987974762785a))
 
-## [1.1.0](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-darwin-x64-v1.0.0...local-functions-proxy-darwin-x64-v1.1.0) (2021-07-29)
+## [1.1.0](https://www.github.com/netlify/local-functions-proxy/compare/local-functions-proxy-linux-x64-v1.0.0...local-functions-proxy-linux-x64-v1.1.0) (2021-07-29)
 
 
 ### Features
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md
similarity index 68%
rename from .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md
index e4af1d8..3a3be23 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/README.md
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/README.md
@@ -1,4 +1,4 @@
 # Netlify Functions local proxy server
 
-This is the macOS 64-bit binary for the Netlify Functions local proxy server. You shouldn't use this package directly —
+This is the Linux 64-bit binary for the Netlify Functions local proxy server. You shouldn't use this package directly —
 use `@netlify/local-functions-proxy`.
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy
similarity index 53%
rename from .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy
index 5deab00..3523368 100755
Binary files a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/bin/local-functions-proxy and b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/bin/local-functions-proxy differ
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/index.js b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/index.js
similarity index 100%
rename from .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/index.js
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/index.js
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha
new file mode 100644
index 0000000..24951e5
--- /dev/null
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/local-functions-proxy.sha
@@ -0,0 +1 @@
+8ed53f4715cae1ad0274798ef46ffb7c00ddc2e1  bin/local-functions-proxy
diff --git a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json
similarity index 64%
rename from .yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json
rename to .yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json
index aac69f6..3de2eea 100644
--- a/.yarn/unplugged/@netlify-local-functions-proxy-darwin-x64-npm-1.1.1-29b580f7a0/node_modules/@netlify/local-functions-proxy-darwin-x64/package.json
+++ b/.yarn/unplugged/@netlify-local-functions-proxy-linux-x64-npm-1.1.1-d006623477/node_modules/@netlify/local-functions-proxy-linux-x64/package.json
@@ -1,12 +1,12 @@
 {
-  "name": "@netlify/local-functions-proxy-darwin-x64",
+  "name": "@netlify/local-functions-proxy-linux-x64",
   "version": "1.1.1",
   "main": "index.js",
-  "description": "The macOS 64-bit binary for the Netlify Functions local proxy server",
+  "description": "The Linux 64-bit binary for the Netlify Functions local proxy server",
   "repository": "https://github.com/netlify/local-functions-proxy",
   "license": "MIT",
   "os": [
-    "darwin"
+    "linux"
   ],
   "cpu": [
     "x64"
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/.ready b/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/.ready
deleted file mode 100644
index e69de29..0000000
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.ready b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready
similarity index 100%
rename from .yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.ready
rename to .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/.ready
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/index.js b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/index.js
similarity index 100%
rename from .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/index.js
rename to .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/index.js
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json
similarity index 85%
rename from .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json
rename to .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json
index d6d2bc8..44f6eed 100644
--- a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/package.json
+++ b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/package.json
@@ -1,10 +1,10 @@
 {
-  "name": "@netlify/routing-local-proxy-darwin-x64",
+  "name": "@netlify/routing-local-proxy-linux-x64",
   "version": "0.34.1",
   "description": "Platform-specific binaries for @netlify/routing-local-proxy",
   "main": "index.js",
   "os": [
-    "darwin"
+    "linux"
   ],
   "cpu": [
     "x64"
diff --git a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy
similarity index 70%
rename from .yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy
rename to .yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy
index 50fae36..28cbbc3 100755
Binary files a/.yarn/unplugged/@netlify-routing-local-proxy-darwin-x64-npm-0.34.1-0f01779c8b/node_modules/@netlify/routing-local-proxy-darwin-x64/routing-local-proxy and b/.yarn/unplugged/@netlify-routing-local-proxy-linux-x64-npm-0.34.1-d25a74393e/node_modules/@netlify/routing-local-proxy-linux-x64/routing-local-proxy differ
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/.ready b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/.ready
deleted file mode 100644
index e69de29..0000000
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE
deleted file mode 100644
index 5d70441..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
------------
-
-Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md
deleted file mode 100644
index afa1d30..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# fsevents [![NPM](https://nodei.co/npm/fsevents.png)](https://nodei.co/npm/fsevents/)
-
-Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
-
-The FSEvents API in MacOS allows applications to register for notifications of
-changes to a given directory tree. It is a very fast and lightweight alternative
-to kqueue.
-
-This is a low-level library. For a cross-platform file watching module that
-uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
-
-## Installation
-
-Supports only **Node.js v8.16 and higher**.
-
-```sh
-npm install fsevents
-```
-
-## Usage
-
-```js
-const fsevents = require('fsevents');
-const stop = fsevents.watch(__dirname, (path, flags, id) => {
-  const info = fsevents.getInfo(path, flags, id);
-}); // To start observation
-stop(); // To end observation
-```
-
-The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
-a change in the file system. It takes three arguments:
-
-###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>`
-
- * `path: string` - the item in the filesystem that have been changed
- * `flags: number` - a numeric value describing what the change was
- * `id: string` - an unique-id identifying this specific event
-
- Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
-
-###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
-
-The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
-that is easier to digest to determine what the change was.
-
-The `FsEventsInfo` has the following shape:
-
-```js
-/**
- * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
- * @typedef {'file'|'directory'|'symlink'} FsEventsType
- */
-{
-  "event": "created", // {FsEventsEvent}
-  "path": "file.txt", 
-  "type": "file",    // {FsEventsType}
-  "changes": {
-    "inode": true,   // Had iNode Meta-Information changed
-    "finder": false, // Had Finder Meta-Data changed
-    "access": false, // Had access permissions changed
-    "xattrs": false  // Had xAttributes changed
-  },
-  "flags": 0x100000000
-}
-```
-
-## Engine compatibility
-
-- v2 supports node 8.16+
-- v1.2.8 supports node 6+
-- v1.2.7 supports node 4+
-
-## License
-
-The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
-
-Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts
deleted file mode 100644
index adbb28d..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.d.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-declare type Event =
-    | 'created'
-    | 'cloned'
-    | 'modified'
-    | 'deleted'
-    | 'moved'
-    | 'root-changed'
-    | 'unknown';
-declare type Type = 'file' | 'directory' | 'symlink';
-declare type FileChanges = {
-    inode: boolean;
-    finder: boolean;
-    access: boolean;
-    xattrs: boolean;
-};
-declare type Info = {
-    event: Event;
-    path: string;
-    type: Type;
-    changes: FileChanges;
-    flags: number;
-};
-declare type WatchHandler = (path: string, flags: number, id: string) => void;
-export declare function watch(
-    path: string,
-    handler: WatchHandler,
-): () => Promise<void>;
-export declare function getInfo(path: string, flags: number): Info;
-export declare const constants: {
-    None: 0x00000000;
-    MustScanSubDirs: 0x00000001;
-    UserDropped: 0x00000002;
-    KernelDropped: 0x00000004;
-    EventIdsWrapped: 0x00000008;
-    HistoryDone: 0x00000010;
-    RootChanged: 0x00000020;
-    Mount: 0x00000040;
-    Unmount: 0x00000080;
-    ItemCreated: 0x00000100;
-    ItemRemoved: 0x00000200;
-    ItemInodeMetaMod: 0x00000400;
-    ItemRenamed: 0x00000800;
-    ItemModified: 0x00001000;
-    ItemFinderInfoMod: 0x00002000;
-    ItemChangeOwner: 0x00004000;
-    ItemXattrMod: 0x00008000;
-    ItemIsFile: 0x00010000;
-    ItemIsDir: 0x00020000;
-    ItemIsSymlink: 0x00040000;
-    ItemIsHardlink: 0x00100000;
-    ItemIsLastHardlink: 0x00200000;
-    OwnEvent: 0x00080000;
-    ItemCloned: 0x00400000;
-};
-export {}
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js
deleted file mode 100644
index 599b36f..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
- ** Licensed under MIT License.
- */
-
-/* jshint node:true */
-'use strict';
-
-if (process.platform !== 'darwin') {
-  throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
-}
-
-const Native = require('./fsevents.node');
-const events = Native.constants;
-
-function watch(path, handler) {
-  if (typeof path !== 'string') {
-    throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
-  }
-  if (typeof handler !== 'function') {
-    throw new TypeError(`fsevents argument 2 must be a function and not a ${typeof handler}`);
-  }
-
-  let VFS = require('./vfs');
-  let vfs = new VFS(path);
-  let instance = Native.start(vfs.resolvedPath, vfs.wrap(handler));
-  if (!instance) throw new Error(`could not watch: ${path}`);
-  return () => {
-    const result = instance
-      ? Promise.resolve(instance).then(Native.stop)
-      : Promise.resolve(undefined);
-    instance = undefined;
-    return result;
-  };
-}
-
-function getInfo(path, flags) {
-  return {
-    path,
-    flags,
-    event: getEventType(flags),
-    type: getFileType(flags),
-    changes: getFileChanges(flags)
-  };
-}
-
-function getFileType(flags) {
-  if (events.ItemIsFile & flags) return 'file';
-  if (events.ItemIsDir & flags) return 'directory';
-  if (events.ItemIsSymlink & flags) return 'symlink';
-}
-function anyIsTrue(obj) {
-  for (let key in obj) {
-    if (obj[key]) return true;
-  }
-  return false;
-}
-function getEventType(flags) {
-  if (events.ItemRemoved & flags) return 'deleted';
-  if (events.ItemRenamed & flags) return 'moved';
-  if (events.ItemCreated & flags) return 'created';
-  if (events.ItemModified & flags) return 'modified';
-  if (events.RootChanged & flags) return 'root-changed';
-  if (events.ItemCloned & flags) return 'cloned';
-  if (anyIsTrue(flags)) return 'modified';
-  return 'unknown';
-}
-function getFileChanges(flags) {
-  return {
-    inode: !!(events.ItemInodeMetaMod & flags),
-    finder: !!(events.ItemFinderInfoMod & flags),
-    access: !!(events.ItemChangeOwner & flags),
-    xattrs: !!(events.ItemXattrMod & flags)
-  };
-}
-
-exports.watch = watch;
-exports.getInfo = getInfo;
-exports.constants = events;
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node
deleted file mode 100755
index 8d952b5..0000000
Binary files a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/fsevents.node and /dev/null differ
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json
deleted file mode 100644
index 4b97a80..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "name": "fsevents",
-  "version": "2.1.3",
-  "description": "Native Access to MacOS FSEvents",
-  "main": "fsevents.js",
-  "types": "fsevents.d.ts",
-  "os": [
-    "darwin"
-  ],
-  "files": [
-    "fsevents.d.ts",
-    "fsevents.js",
-    "fsevents.node"
-  ],
-  "engines": {
-    "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-  },
-  "scripts": {
-    "clean": "node-gyp clean && rm -f fsevents.node",
-    "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
-    "test": "/bin/bash ./test.sh 2>/dev/null",
-    "prepublishOnly": "npm run build"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/fsevents/fsevents.git"
-  },
-  "keywords": [
-    "fsevents",
-    "mac"
-  ],
-  "contributors": [
-    {
-      "name": "Philipp Dunkel",
-      "email": "pip@pipobscure.com"
-    },
-    {
-      "name": "Ben Noordhuis",
-      "email": "info@bnoordhuis.nl"
-    },
-    {
-      "name": "Elan Shankar",
-      "email": "elan.shanker@gmail.com"
-    },
-    {
-      "name": "Miroslav Bajtoš",
-      "email": "mbajtoss@gmail.com"
-    },
-    {
-      "name": "Paul Miller",
-      "url": "https://paulmillr.com"
-    }
-  ],
-  "license": "MIT",
-  "bugs": {
-    "url": "https://github.com/fsevents/fsevents/issues"
-  },
-  "homepage": "https://github.com/fsevents/fsevents",
-  "devDependencies": {
-    "node-gyp": "^6.1.0"
-  }
-}
diff --git a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js b/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js
deleted file mode 100644
index 3419912..0000000
--- a/.yarn/unplugged/fsevents-patch-7450bc5e91/node_modules/fsevents/vfs.js
+++ /dev/null
@@ -1,76 +0,0 @@
-const path = require(`path`);
-
-let pnpApi = null;
-try {
-  pnpApi = require(`pnpapi`);
-} catch {
-}
-
-function getVirtualLookupFn(pnpApi) {
-  const reverseMap = new Map();
-
-  for (const locator of pnpApi.getAllLocators()) {
-    const pkg = pnpApi.getPackageInformation(locator);
-    console.assert(pkg, `The package information should be available`);
-
-    const resolvedLocation = pnpApi.resolveVirtual(pkg.packageLocation);
-    if (resolvedLocation === null)
-      continue;
-
-    const aliases = reverseMap.get(resolvedLocation) || [resolvedLocation];
-    reverseMap.set(resolvedLocation, aliases);
-    aliases.push(pkg.packageLocation);
-  }
-
-  const keys = [...reverseMap.keys()].sort((a, b) => {
-    return b.length - a.length;
-  });
-
-  return p => {
-    const prefix = keys.find(candidate => p.startsWith(candidate));
-    if (typeof prefix === `undefined`)
-      return [p];
-
-    const sub = p.substr(prefix.length);
-    return reverseMap.get(prefix).map(alias => {
-      return alias + sub;
-    });
-  };
-}
-
-if (pnpApi != null) {
-  const resolveVirtualAliases = getVirtualLookupFn(pnpApi);
-
-  module.exports = class FsePnp {
-    constructor(p) {
-      this.normalizedPath = path.resolve(p);
-      this.resolvedPath = pnpApi.resolveVirtual(this.normalizedPath) || this.normalizedPath;
-    }
-
-    transpose(p) {
-      if (this.resolvedPath !== null) {
-        return this.normalizedPath + p.substr(this.resolvedPath.length);
-      } else {
-        return p;
-      }
-    }
-
-    wrap(fn) {
-      return (path, ...args) => {
-        for (const entry of resolveVirtualAliases(path)) {
-          fn(this.transpose(entry), ...args);
-        }
-      };
-    }
-  };
-} else {
-  module.exports = class FsePnp {
-    constructor(p) {
-      this.resolvedPath = p;
-    }
-
-    wrap(fn) {
-      return fn;
-    }
-  };
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml
deleted file mode 100644
index 4369a0b..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/.travis.yml
+++ /dev/null
@@ -1,101 +0,0 @@
-language: objective-c
-
-env:
-  global:
-    - secure: "gve1nkeKkwFEG1VAT3i+JwYyAdF0gKXwKx0uxbkBTsmm2M+0MDusohQdFLoEIkSIFktXBIDefoa7iGpLKRfG2VsZLpwJgnvnD0HqbnuR+k+W+bu7BHt4CAaR6GTllsDCjyq9zNyhUThzSnf2WNIpOEF5kHspZlbGfawURuUJH/U="
-    - secure: "jqVpmWxxBVXu2X8+XJMpKH0cooc2EKz9xKL2znBfYdNafJORSXcFAVbjCX5mZmVDcgIMwDtm2+gIG4P73hzJ2e3S+y2Z9ROJGyXHa3AxUTvXHQsxqzH8coHHqB8vTvfr0t2O5aKfpvpICpSea39r0hzNoMv6Ie5SwBdqj1YY9K0="
-  matrix:
-    - NODE_VERSION="v12"
-    - NODE_VERSION="v11"
-    - NODE_VERSION="v10"
-    - NODE_VERSION="v9"
-    - NODE_VERSION="v8"
-    - NODE_VERSION="v7"
-    - NODE_VERSION="v6"
-
-before_install:
-
-  - echo $TRAVIS_OS_NAME
-
-  # commit
-  # ------------------------
-  # The commit message is used to determine the whether to manually
-  # invoke a binary publish
-
-  - COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n')
-
-  # node
-  # ------------------------
-
-  - export PATH=./node_modules/.bin/:$PATH
-  - rm -rf ~/.nvm && git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm
-  - source ~/.nvm/nvm.sh
-  - nvm install $NODE_VERSION
-  - nvm use $NODE_VERSION
-  - npm install -g npm@3
-  - node --version
-  - npm --version
-  - nvm --version
-
-  # publish dependencies
-  # ------------------------
-
-  - npm install node-gyp -g
-  - npm install aws-sdk
-
-install:
-
-  # in the first instance we build from source to create the initial binary
-  # which can then be used to create a package
-
-  - npm install --build-from-source
-  - npm test
-
-before_script:
-
-  # Detemine if a publish is required.
-  #
-  # a) we are building a tag
-  # b) we put [publish binary] in the commit message
-
-  - PUBLISH_BINARY=false
-
-  - if [[ $TRAVIS_BRANCH == `git describe --tags --always HEAD` ]]; then PUBLISH_BINARY=true; fi;       # a
-  - if test "${COMMIT_MESSAGE#*'[publish binary]'}" != "$COMMIT_MESSAGE"; then PUBLISH_BINARY=true; fi; # b
-
-  # package & publish
-  # ------------------------
-
-  - if [[ $PUBLISH_BINARY == true ]]; then npm run node-pre-gyp package publish; fi;
-
-  # clean-up
-  # ------------------------
-
-  - npm run node-pre-gyp clean
-  - node-gyp clean
-
-script:
-
-  # validate
-  # ------------------------
-  # Post publishing a release verify that installing will pull down latest
-  # binary from remote host
-
-  - INSTALL_RESULT=0
-  - if [[ $PUBLISH_BINARY == true ]]; then INSTALL_RESULT=$(npm install --fallback-to-build=false > /dev/null)$? || true; fi;
-
-  - npm run node-pre-gyp clean
-
-  # failure?
-  # ------------------------
-  # if install returned non zero (errored) then we first unpublish and then
-  # call false so travis will bail at this line.
-
-  - if [[ $INSTALL_RESULT != 0 ]]; then npm run node-pre-gyp unpublish; fi;
-  - if [[ $INSTALL_RESULT != 0 ]]; then echo "returned $INSTALL_RESULT";false; fi;
-
-after_success:
-
-  # display all published binaries
-
- - npm run node-pre-gyp info
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md
deleted file mode 100644
index 426abbb..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,8 +0,0 @@
-If you are NOT on OS X and have come here to file an issue about compatibility problems, 
-please stop and go to #115 for your answer.
-
-You can look through many other similar closed issues as well if you're interested:
-https://github.com/strongloop/fsevents/search?utf8=%E2%9C%93&q=%22notsup%22+OR+%22EBADPLATFORM%22&type=Issues.
-
-If you are here to report an issue observed while using this module on OS X, please delete
-all this pre-filled text then go ahead and submit your report.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE
deleted file mode 100644
index 4a49ad8..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
------------
-
-Copyright (C) 2010-2014 Philipp Dunkel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md
deleted file mode 100644
index 03ddfa9..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/Readme.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# fsevents [![NPM](https://nodei.co/npm/fsevents.png)](https://nodei.co/npm/fsevents/)
-
-Native access to OS X FSEvents in [Node.js](http://nodejs.org/)
-
-The FSEvents API in OS X allows applications to register for notifications of
-changes to a given directory tree. It is a very fast and lightweight alternative
-to kqueue.
-
-This is a low-level library. For a cross-compatible file watching module that
-uses fsevents, check out [Chokidar](https://www.npmjs.com/package/chokidar).
-
-* [Module Site & GitHub](https://github.com/strongloop/fsevents)
-* [NPM Page](https://npmjs.org/package/fsevents)
-
-## Installation
-
-	$ npm install fsevents
-
-## Usage
-
-```js
-var fsevents = require('fsevents');
-var watcher = fsevents(__dirname);
-watcher.on('fsevent', function(path, flags, id) { }); // RAW Event as emitted by OS-X
-watcher.on('change', function(path, info) { }); // Common Event for all changes
-watcher.start() // To start observation
-watcher.stop()  // To end observation
-```
-
-### Events
-
- * *fsevent* - RAW Event as emitted by OS-X
- * *change* - Common Event for all changes
- * *created* - A File-System-Item has been created
- * *deleted* - A File-System-Item has been deleted
- * *modified* - A File-System-Item has been modified
- * *moved-out* - A File-System-Item has been moved away from this location
- * *moved-in* - A File-System-Item has been moved into this location
-
-All events except *fsevent* take an *info* object as the second parameter of the callback. The structure of this object is:
-
-```js
-{
-  "event": "<event-type>",
-  "id": <eventi-id>,
-  "path": "<path-that-this-is-about>",
-  "type": "<file|directory|symlink>",
-  "changes": {
-    "inode": true, // Has the iNode Meta-Information changed
-    "finder": false, // Has the Finder Meta-Data changed
-    "access": false, // Have the access permissions changed
-    "xattrs": false // Have the xAttributes changed
-  },
-  "flags": <raw-flags>
-}
-```
-
-## MIT License
-
-Copyright (C) 2010-2014 Philipp Dunkel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp
deleted file mode 100644
index 7a5e5f6..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/binding.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "targets": [
-    { "target_name": "" }
-  ],
-  "conditions": [
-    ['OS=="mac"', {
-      "targets": [{
-        "target_name": "fse",
-        "sources": ["fsevents.cc"],
-        "xcode_settings": {
-          "OTHER_LDFLAGS": [
-            "-framework CoreFoundation -framework CoreServices"
-          ]
-        },
-        "include_dirs": [
-          "<!(node -e \"require('nan')\")"
-        ]
-      }]
-    }]
-  ]
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk
deleted file mode 100644
index 10f3242..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/.target.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# This file is generated by gyp; do not edit.
-
-TOOLSET := target
-TARGET := 
-### Rules for final target.
-LDFLAGS_Debug := \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-L$(builddir) \
-	-stdlib=libc++
-
-LIBTOOLFLAGS_Debug := \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first
-
-LDFLAGS_Release := \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-L$(builddir) \
-	-stdlib=libc++
-
-LIBTOOLFLAGS_Release := \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first
-
-LIBS :=
-
-$(builddir)/.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
-$(builddir)/.node: LIBS := $(LIBS)
-$(builddir)/.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))
-$(builddir)/.node: TOOLSET := $(TOOLSET)
-$(builddir)/.node:  FORCE_DO_CMD
-	$(call do_cmd,solink_module)
-
-all_deps += $(builddir)/.node
-# Add target alias
-.PHONY: 
-: $(builddir)/.node
-
-# Short alias for building this executable.
-.PHONY: .node
-.node: $(builddir)/.node
-
-# Add executable to "all" target.
-.PHONY: all
-all: $(builddir)/.node
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile
deleted file mode 100644
index 282f416..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Makefile
+++ /dev/null
@@ -1,347 +0,0 @@
-# We borrow heavily from the kernel build setup, though we are simpler since
-# we don't have Kconfig tweaking settings on us.
-
-# The implicit make rules have it looking for RCS files, among other things.
-# We instead explicitly write all the rules we care about.
-# It's even quicker (saves ~200ms) to pass -r on the command line.
-MAKEFLAGS=-r
-
-# The source directory tree.
-srcdir := ..
-abs_srcdir := $(abspath $(srcdir))
-
-# The name of the builddir.
-builddir_name ?= .
-
-# The V=1 flag on command line makes us verbosely print command lines.
-ifdef V
-  quiet=
-else
-  quiet=quiet_
-endif
-
-# Specify BUILDTYPE=Release on the command line for a release build.
-BUILDTYPE ?= Release
-
-# Directory all our build output goes into.
-# Note that this must be two directories beneath src/ for unit tests to pass,
-# as they reach into the src/ directory for data with relative paths.
-builddir ?= $(builddir_name)/$(BUILDTYPE)
-abs_builddir := $(abspath $(builddir))
-depsdir := $(builddir)/.deps
-
-# Object output directory.
-obj := $(builddir)/obj
-abs_obj := $(abspath $(obj))
-
-# We build up a list of every single one of the targets so we can slurp in the
-# generated dependency rule Makefiles in one pass.
-all_deps :=
-
-
-
-CC.target ?= $(CC)
-CFLAGS.target ?= $(CPPFLAGS) $(CFLAGS)
-CXX.target ?= $(CXX)
-CXXFLAGS.target ?= $(CPPFLAGS) $(CXXFLAGS)
-LINK.target ?= $(LINK)
-LDFLAGS.target ?= $(LDFLAGS)
-AR.target ?= $(AR)
-
-# C++ apps need to be linked with g++.
-LINK ?= $(CXX.target)
-
-# TODO(evan): move all cross-compilation logic to gyp-time so we don't need
-# to replicate this environment fallback in make as well.
-CC.host ?= gcc
-CFLAGS.host ?= $(CPPFLAGS_host) $(CFLAGS_host)
-CXX.host ?= g++
-CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
-LINK.host ?= $(CXX.host)
-LDFLAGS.host ?=
-AR.host ?= ar
-
-# Define a dir function that can handle spaces.
-# http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
-# "leading spaces cannot appear in the text of the first argument as written.
-# These characters can be put into the argument value by variable substitution."
-empty :=
-space := $(empty) $(empty)
-
-# http://stackoverflow.com/questions/1189781/using-make-dir-or-notdir-on-a-path-with-spaces
-replace_spaces = $(subst $(space),?,$1)
-unreplace_spaces = $(subst ?,$(space),$1)
-dirx = $(call unreplace_spaces,$(dir $(call replace_spaces,$1)))
-
-# Flags to make gcc output dependency info.  Note that you need to be
-# careful here to use the flags that ccache and distcc can understand.
-# We write to a dep file on the side first and then rename at the end
-# so we can't end up with a broken dep file.
-depfile = $(depsdir)/$(call replace_spaces,$@).d
-DEPFLAGS = -MMD -MF $(depfile).raw
-
-# We have to fixup the deps output in a few ways.
-# (1) the file output should mention the proper .o file.
-# ccache or distcc lose the path to the target, so we convert a rule of
-# the form:
-#   foobar.o: DEP1 DEP2
-# into
-#   path/to/foobar.o: DEP1 DEP2
-# (2) we want missing files not to cause us to fail to build.
-# We want to rewrite
-#   foobar.o: DEP1 DEP2 \
-#               DEP3
-# to
-#   DEP1:
-#   DEP2:
-#   DEP3:
-# so if the files are missing, they're just considered phony rules.
-# We have to do some pretty insane escaping to get those backslashes
-# and dollar signs past make, the shell, and sed at the same time.
-# Doesn't work with spaces, but that's fine: .d files have spaces in
-# their names replaced with other characters.
-define fixup_dep
-# The depfile may not exist if the input file didn't have any #includes.
-touch $(depfile).raw
-# Fixup path as in (1).
-sed -e "s|^$(notdir $@)|$@|" $(depfile).raw >> $(depfile)
-# Add extra rules as in (2).
-# We remove slashes and replace spaces with new lines;
-# remove blank lines;
-# delete the first line and append a colon to the remaining lines.
-sed -e 's|\\||' -e 'y| |\n|' $(depfile).raw |\
-  grep -v '^$$'                             |\
-  sed -e 1d -e 's|$$|:|'                     \
-    >> $(depfile)
-rm $(depfile).raw
-endef
-
-# Command definitions:
-# - cmd_foo is the actual command to run;
-# - quiet_cmd_foo is the brief-output summary of the command.
-
-quiet_cmd_cc = CC($(TOOLSET)) $@
-cmd_cc = $(CC.$(TOOLSET)) -o $@ $< $(GYP_CFLAGS) $(DEPFLAGS) $(CFLAGS.$(TOOLSET)) -c
-
-quiet_cmd_cxx = CXX($(TOOLSET)) $@
-cmd_cxx = $(CXX.$(TOOLSET)) -o $@ $< $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c
-
-quiet_cmd_objc = CXX($(TOOLSET)) $@
-cmd_objc = $(CC.$(TOOLSET)) $(GYP_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<
-
-quiet_cmd_objcxx = CXX($(TOOLSET)) $@
-cmd_objcxx = $(CXX.$(TOOLSET)) $(GYP_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<
-
-# Commands for precompiled header files.
-quiet_cmd_pch_c = CXX($(TOOLSET)) $@
-cmd_pch_c = $(CC.$(TOOLSET)) $(GYP_PCH_CFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
-quiet_cmd_pch_cc = CXX($(TOOLSET)) $@
-cmd_pch_cc = $(CC.$(TOOLSET)) $(GYP_PCH_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
-quiet_cmd_pch_m = CXX($(TOOLSET)) $@
-cmd_pch_m = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<
-quiet_cmd_pch_mm = CXX($(TOOLSET)) $@
-cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<
-
-# gyp-mac-tool is written next to the root Makefile by gyp.
-# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd
-# already.
-quiet_cmd_mac_tool = MACTOOL $(4) $<
-cmd_mac_tool = ./gyp-mac-tool $(4) $< "$@"
-
-quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@
-cmd_mac_package_framework = ./gyp-mac-tool package-framework "$@" $(4)
-
-quiet_cmd_infoplist = INFOPLIST $@
-cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@"
-
-quiet_cmd_touch = TOUCH $@
-cmd_touch = touch $@
-
-quiet_cmd_copy = COPY $@
-# send stderr to /dev/null to ignore messages when linking directories.
-cmd_copy = ln -f "$<" "$@" 2>/dev/null || (rm -rf "$@" && cp -af "$<" "$@")
-
-quiet_cmd_alink = LIBTOOL-STATIC $@
-cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)
-
-quiet_cmd_link = LINK($(TOOLSET)) $@
-cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
-
-quiet_cmd_solink = SOLINK($(TOOLSET)) $@
-cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
-
-quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
-cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
-
-
-# Define an escape_quotes function to escape single quotes.
-# This allows us to handle quotes properly as long as we always use
-# use single quotes and escape_quotes.
-escape_quotes = $(subst ','\'',$(1))
-# This comment is here just to include a ' to unconfuse syntax highlighting.
-# Define an escape_vars function to escape '$' variable syntax.
-# This allows us to read/write command lines with shell variables (e.g.
-# $LD_LIBRARY_PATH), without triggering make substitution.
-escape_vars = $(subst $$,$$$$,$(1))
-# Helper that expands to a shell command to echo a string exactly as it is in
-# make. This uses printf instead of echo because printf's behaviour with respect
-# to escape sequences is more portable than echo's across different shells
-# (e.g., dash, bash).
-exact_echo = printf '%s\n' '$(call escape_quotes,$(1))'
-
-# Helper to compare the command we're about to run against the command
-# we logged the last time we ran the command.  Produces an empty
-# string (false) when the commands match.
-# Tricky point: Make has no string-equality test function.
-# The kernel uses the following, but it seems like it would have false
-# positives, where one string reordered its arguments.
-#   arg_check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
-#                       $(filter-out $(cmd_$@), $(cmd_$(1))))
-# We instead substitute each for the empty string into the other, and
-# say they're equal if both substitutions produce the empty string.
-# .d files contain ? instead of spaces, take that into account.
-command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\
-                       $(subst $(cmd_$(call replace_spaces,$@)),,$(cmd_$(1))))
-
-# Helper that is non-empty when a prerequisite changes.
-# Normally make does this implicitly, but we force rules to always run
-# so we can check their command lines.
-#   $? -- new prerequisites
-#   $| -- order-only dependencies
-prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?))
-
-# Helper that executes all postbuilds until one fails.
-define do_postbuilds
-  @E=0;\
-  for p in $(POSTBUILDS); do\
-    eval $$p;\
-    E=$$?;\
-    if [ $$E -ne 0 ]; then\
-      break;\
-    fi;\
-  done;\
-  if [ $$E -ne 0 ]; then\
-    rm -rf "$@";\
-    exit $$E;\
-  fi
-endef
-
-# do_cmd: run a command via the above cmd_foo names, if necessary.
-# Should always run for a given target to handle command-line changes.
-# Second argument, if non-zero, makes it do asm/C/C++ dependency munging.
-# Third argument, if non-zero, makes it do POSTBUILDS processing.
-# Note: We intentionally do NOT call dirx for depfile, since it contains ? for
-# spaces already and dirx strips the ? characters.
-define do_cmd
-$(if $(or $(command_changed),$(prereq_changed)),
-  @$(call exact_echo,  $($(quiet)cmd_$(1)))
-  @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))"
-  $(if $(findstring flock,$(word 2,$(cmd_$1))),
-    @$(cmd_$(1))
-    @echo "  $(quiet_cmd_$(1)): Finished",
-    @$(cmd_$(1))
-  )
-  @$(call exact_echo,$(call escape_vars,cmd_$(call replace_spaces,$@) := $(cmd_$(1)))) > $(depfile)
-  @$(if $(2),$(fixup_dep))
-  $(if $(and $(3), $(POSTBUILDS)),
-    $(call do_postbuilds)
-  )
-)
-endef
-
-# Declare the "all" target first so it is the default,
-# even though we don't have the deps yet.
-.PHONY: all
-all:
-
-# make looks for ways to re-generate included makefiles, but in our case, we
-# don't have a direct way. Explicitly telling make that it has nothing to do
-# for them makes it go faster.
-%.d: ;
-
-# Use FORCE_DO_CMD to force a target to run.  Should be coupled with
-# do_cmd.
-.PHONY: FORCE_DO_CMD
-FORCE_DO_CMD:
-
-TOOLSET := target
-# Suffix rules, putting all outputs into $(obj).
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.c FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cpp FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cxx FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.m FORCE_DO_CMD
-	@$(call do_cmd,objc,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.mm FORCE_DO_CMD
-	@$(call do_cmd,objcxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-
-# Try building from generated source, too.
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cpp FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cxx FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.m FORCE_DO_CMD
-	@$(call do_cmd,objc,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.mm FORCE_DO_CMD
-	@$(call do_cmd,objcxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-
-$(obj).$(TOOLSET)/%.o: $(obj)/%.c FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cpp FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cxx FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.m FORCE_DO_CMD
-	@$(call do_cmd,objc,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.mm FORCE_DO_CMD
-	@$(call do_cmd,objcxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD
-	@$(call do_cmd,cc,1)
-
-
-ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
-    $(findstring $(join ^,$(prefix)),\
-                 $(join ^,.target.mk)))),)
-  include .target.mk
-endif
-ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
-    $(findstring $(join ^,$(prefix)),\
-                 $(join ^,fse.target.mk)))),)
-  include fse.target.mk
-endif
-
-quiet_cmd_regen_makefile = ACTION Regenerating $@
-cmd_regen_makefile = cd $(srcdir); /Users/david/projects/camel/camel-website/.yarn/unplugged/node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/david/Library/Caches/node-gyp/14.18.1" "-Dnode_gyp_dir=/Users/david/projects/camel/camel-website/.yarn/unplugged/node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp" "-Dnode_lib_file=/Users/david/Library/Caches/node-gyp/14.18.1/< [...]
-Makefile: $(srcdir)/binding.gyp $(srcdir)/../../../node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../../../Library/Caches/node-gyp/14.18.1/include/node/common.gypi $(srcdir)/build/config.gypi
-	$(call do_cmd,regen_makefile)
-
-# "all" is a concatenation of the "all" targets from all the included
-# sub-makefiles. This is just here to clarify.
-all:
-
-# Add in dependency-tracking rules.  $(all_deps) is the list of every single
-# target in our tree. Only consider the ones with .d (dependency) info:
-d_files := $(wildcard $(foreach f,$(all_deps),$(depsdir)/$(f).d))
-ifneq ($(d_files),)
-  include $(d_files)
-endif
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d
deleted file mode 100644
index 459952a..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/.node.d
+++ /dev/null
@@ -1 +0,0 @@
-cmd_Release/.node := c++ -bundle -undefined dynamic_lookup -Wl,-no_pie -Wl,-search_paths_first -mmacosx-version-min=10.13 -arch x86_64 -L./Release -stdlib=libc++  -o Release/.node  
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d
deleted file mode 100644
index a1a6d88..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/fse.node.d
+++ /dev/null
@@ -1 +0,0 @@
-cmd_Release/fse.node := c++ -bundle -framework CoreFoundation -framework CoreServices -undefined dynamic_lookup -Wl,-no_pie -Wl,-search_paths_first -mmacosx-version-min=10.13 -arch x86_64 -L./Release -stdlib=libc++  -o Release/fse.node Release/obj.target/fse/fsevents.o 
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d
deleted file mode 100644
index 5bc2cb1..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d
+++ /dev/null
@@ -1,70 +0,0 @@
-cmd_Release/obj.target/fse/fsevents.o := c++ -o Release/obj.target/fse/fsevents.o ../fsevents.cc '-DNODE_GYP_MODULE_NAME=fse' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/Users/david/Library/Caches/node-gyp/14.18.1/include/node -I/Users/david/L [...]
-Release/obj.target/fse/fsevents.o: ../fsevents.cc \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_version.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/errno.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/version.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/unix.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/threadpool.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/darwin.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/cppgc/common.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8config.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-internal.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-version.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-platform.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_buffer.h \
-  /Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_object_wrap.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks_12_inl.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_maybe_43_inl.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters_43_inl.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_new.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_implementation_12_inl.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_persistent_12_inl.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_weak.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_object_wrap.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_private.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_typedarray_contents.h \
-  ../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_json.h \
-  ../src/storage.cc ../src/async.cc ../src/thread.cc ../src/constants.cc \
-  ../src/methods.cc
-../fsevents.cc:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_version.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/errno.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/version.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/unix.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/threadpool.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/uv/darwin.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/cppgc/common.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8config.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-internal.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-version.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/v8-platform.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_buffer.h:
-/Users/david/Library/Caches/node-gyp/14.18.1/include/node/node_object_wrap.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_callbacks_12_inl.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_maybe_43_inl.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_converters_43_inl.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_new.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_implementation_12_inl.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_persistent_12_inl.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_weak.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_object_wrap.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_private.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_typedarray_contents.h:
-../../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan/nan_json.h:
-../src/storage.cc:
-../src/async.cc:
-../src/thread.cc:
-../src/constants.cc:
-../src/methods.cc:
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node
deleted file mode 100755
index bb11b1b..0000000
Binary files a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/.node and /dev/null differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node
deleted file mode 100755
index c5b4cae..0000000
Binary files a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/fse.node and /dev/null differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o
deleted file mode 100644
index 238217b..0000000
Binary files a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/Release/obj.target/fse/fsevents.o and /dev/null differ
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile
deleted file mode 100644
index 94f59b0..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/binding.Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file is generated by gyp; do not edit.
-
-export builddir_name ?= ./build/.
-.PHONY: all
-all:
-	$(MAKE) fse 
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi
deleted file mode 100644
index 4f1b650..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/config.gypi
+++ /dev/null
@@ -1,303 +0,0 @@
-# Do not edit. File was generated by node-gyp's "configure" step
-{
-  "target_defaults": {
-    "cflags": [],
-    "default_configuration": "Release",
-    "defines": [],
-    "include_dirs": [],
-    "libraries": []
-  },
-  "variables": {
-    "asan": 0,
-    "build_v8_with_gn": "false",
-    "coverage": "false",
-    "dcheck_always_on": 0,
-    "debug_nghttp2": "false",
-    "debug_node": "false",
-    "enable_lto": "false",
-    "enable_pgo_generate": "false",
-    "enable_pgo_use": "false",
-    "error_on_warn": "false",
-    "force_dynamic_crt": 0,
-    "host_arch": "x64",
-    "icu_data_in": "../../deps/icu-tmp/icudt69l.dat",
-    "icu_endianness": "l",
-    "icu_gyp_path": "tools/icu/icu-generic.gyp",
-    "icu_path": "deps/icu-small",
-    "icu_small": "false",
-    "icu_ver_major": "69",
-    "is_debug": 0,
-    "llvm_version": "11.0",
-    "napi_build_version": "8",
-    "node_byteorder": "little",
-    "node_debug_lib": "false",
-    "node_enable_d8": "false",
-    "node_install_npm": "true",
-    "node_library_files": [
-      "lib/constants.js",
-      "lib/net.js",
-      "lib/trace_events.js",
-      "lib/events.js",
-      "lib/repl.js",
-      "lib/util.js",
-      "lib/dgram.js",
-      "lib/vm.js",
-      "lib/stream.js",
-      "lib/child_process.js",
-      "lib/assert.js",
-      "lib/_tls_wrap.js",
-      "lib/http2.js",
-      "lib/inspector.js",
-      "lib/os.js",
-      "lib/_http_server.js",
-      "lib/console.js",
-      "lib/perf_hooks.js",
-      "lib/readline.js",
-      "lib/punycode.js",
-      "lib/_http_incoming.js",
-      "lib/https.js",
-      "lib/_stream_wrap.js",
-      "lib/domain.js",
-      "lib/dns.js",
-      "lib/_http_client.js",
-      "lib/diagnostics_channel.js",
-      "lib/tty.js",
-      "lib/_http_agent.js",
-      "lib/timers.js",
-      "lib/_http_outgoing.js",
-      "lib/querystring.js",
-      "lib/_tls_common.js",
-      "lib/module.js",
-      "lib/_stream_passthrough.js",
-      "lib/_stream_transform.js",
-      "lib/worker_threads.js",
-      "lib/sys.js",
-      "lib/_stream_duplex.js",
-      "lib/path.js",
-      "lib/_http_common.js",
-      "lib/string_decoder.js",
-      "lib/cluster.js",
-      "lib/v8.js",
-      "lib/crypto.js",
-      "lib/wasi.js",
-      "lib/_stream_readable.js",
-      "lib/zlib.js",
-      "lib/url.js",
-      "lib/tls.js",
-      "lib/_stream_writable.js",
-      "lib/async_hooks.js",
-      "lib/process.js",
-      "lib/http.js",
-      "lib/buffer.js",
-      "lib/fs.js",
-      "lib/internal/constants.js",
-      "lib/internal/abort_controller.js",
-      "lib/internal/net.js",
-      "lib/internal/v8_prof_processor.js",
-      "lib/internal/event_target.js",
-      "lib/internal/inspector_async_hook.js",
-      "lib/internal/validators.js",
-      "lib/internal/linkedlist.js",
-      "lib/internal/cli_table.js",
-      "lib/internal/repl.js",
-      "lib/internal/util.js",
-      "lib/internal/histogram.js",
-      "lib/internal/error_serdes.js",
-      "lib/internal/dgram.js",
-      "lib/internal/child_process.js",
-      "lib/internal/assert.js",
-      "lib/internal/fixed_queue.js",
-      "lib/internal/blocklist.js",
-      "lib/internal/v8_prof_polyfill.js",
-      "lib/internal/options.js",
-      "lib/internal/worker.js",
-      "lib/internal/dtrace.js",
-      "lib/internal/idna.js",
-      "lib/internal/watchdog.js",
-      "lib/internal/encoding.js",
-      "lib/internal/tty.js",
-      "lib/internal/freeze_intrinsics.js",
-      "lib/internal/timers.js",
-      "lib/internal/heap_utils.js",
-      "lib/internal/querystring.js",
-      "lib/internal/js_stream_socket.js",
-      "lib/internal/errors.js",
-      "lib/internal/priority_queue.js",
-      "lib/internal/freelist.js",
-      "lib/internal/blob.js",
-      "lib/internal/socket_list.js",
-      "lib/internal/socketaddress.js",
-      "lib/internal/stream_base_commons.js",
-      "lib/internal/url.js",
-      "lib/internal/tls.js",
-      "lib/internal/async_hooks.js",
-      "lib/internal/http.js",
-      "lib/internal/buffer.js",
-      "lib/internal/trace_events_async_hooks.js",
-      "lib/internal/crypto/sig.js",
-      "lib/internal/crypto/util.js",
-      "lib/internal/crypto/scrypt.js",
-      "lib/internal/crypto/random.js",
-      "lib/internal/crypto/keys.js",
-      "lib/internal/crypto/certificate.js",
-      "lib/internal/crypto/keygen.js",
-      "lib/internal/crypto/diffiehellman.js",
-      "lib/internal/crypto/cipher.js",
-      "lib/internal/crypto/hash.js",
-      "lib/internal/crypto/pbkdf2.js",
-      "lib/internal/cluster/shared_handle.js",
-      "lib/internal/cluster/round_robin_handle.js",
-      "lib/internal/cluster/worker.js",
-      "lib/internal/cluster/master.js",
-      "lib/internal/cluster/utils.js",
-      "lib/internal/cluster/child.js",
-      "lib/internal/bootstrap/loaders.js",
-      "lib/internal/bootstrap/pre_execution.js",
-      "lib/internal/bootstrap/node.js",
-      "lib/internal/bootstrap/environment.js",
-      "lib/internal/bootstrap/switches/does_not_own_process_state.js",
-      "lib/internal/bootstrap/switches/is_not_main_thread.js",
-      "lib/internal/bootstrap/switches/does_own_process_state.js",
-      "lib/internal/bootstrap/switches/is_main_thread.js",
-      "lib/internal/test/binding.js",
-      "lib/internal/util/types.js",
-      "lib/internal/util/inspector.js",
-      "lib/internal/util/comparisons.js",
-      "lib/internal/util/debuglog.js",
-      "lib/internal/util/inspect.js",
-      "lib/internal/util/iterable_weak_map.js",
-      "lib/internal/timers/promises.js",
-      "lib/internal/streams/duplexpair.js",
-      "lib/internal/streams/destroy.js",
-      "lib/internal/streams/legacy.js",
-      "lib/internal/streams/passthrough.js",
-      "lib/internal/streams/readable.js",
-      "lib/internal/streams/from.js",
-      "lib/internal/streams/writable.js",
-      "lib/internal/streams/state.js",
-      "lib/internal/streams/buffer_list.js",
-      "lib/internal/streams/end-of-stream.js",
-      "lib/internal/streams/utils.js",
-      "lib/internal/streams/transform.js",
-      "lib/internal/streams/lazy_transform.js",
-      "lib/internal/streams/duplex.js",
-      "lib/internal/streams/pipeline.js",
-      "lib/internal/readline/utils.js",
-      "lib/internal/repl/history.js",
-      "lib/internal/repl/utils.js",
-      "lib/internal/repl/await.js",
-      "lib/internal/assert/calltracker.js",
-      "lib/internal/assert/assertion_error.js",
-      "lib/internal/http2/util.js",
-      "lib/internal/http2/core.js",
-      "lib/internal/http2/compat.js",
-      "lib/internal/per_context/messageport.js",
-      "lib/internal/per_context/primordials.js",
-      "lib/internal/per_context/domexception.js",
-      "lib/internal/vm/module.js",
-      "lib/internal/child_process/serialization.js",
-      "lib/internal/debugger/inspect_repl.js",
-      "lib/internal/debugger/inspect_client.js",
-      "lib/internal/debugger/inspect.js",
-      "lib/internal/worker/io.js",
-      "lib/internal/worker/js_transferable.js",
-      "lib/internal/main/repl.js",
-      "lib/internal/main/print_help.js",
-      "lib/internal/main/eval_string.js",
-      "lib/internal/main/check_syntax.js",
-      "lib/internal/main/prof_process.js",
-      "lib/internal/main/worker_thread.js",
-      "lib/internal/main/inspect.js",
-      "lib/internal/main/eval_stdin.js",
-      "lib/internal/main/run_main_module.js",
-      "lib/internal/main/run_third_party_main.js",
-      "lib/internal/modules/run_main.js",
-      "lib/internal/modules/package_json_reader.js",
-      "lib/internal/modules/esm/module_job.js",
-      "lib/internal/modules/esm/get_source.js",
-      "lib/internal/modules/esm/translators.js",
-      "lib/internal/modules/esm/resolve.js",
-      "lib/internal/modules/esm/create_dynamic_module.js",
-      "lib/internal/modules/esm/module_map.js",
-      "lib/internal/modules/esm/get_format.js",
-      "lib/internal/modules/esm/transform_source.js",
-      "lib/internal/modules/esm/loader.js",
-      "lib/internal/modules/cjs/helpers.js",
-      "lib/internal/modules/cjs/loader.js",
-      "lib/internal/source_map/source_map.js",
-      "lib/internal/source_map/prepare_stack_trace.js",
-      "lib/internal/source_map/source_map_cache.js",
-      "lib/internal/dns/promises.js",
-      "lib/internal/dns/utils.js",
-      "lib/internal/fs/watchers.js",
-      "lib/internal/fs/promises.js",
-      "lib/internal/fs/read_file_context.js",
-      "lib/internal/fs/rimraf.js",
-      "lib/internal/fs/sync_write_stream.js",
-      "lib/internal/fs/dir.js",
-      "lib/internal/fs/streams.js",
-      "lib/internal/fs/utils.js",
-      "lib/internal/policy/manifest.js",
-      "lib/internal/policy/sri.js",
-      "lib/internal/process/task_queues.js",
-      "lib/internal/process/per_thread.js",
-      "lib/internal/process/warning.js",
-      "lib/internal/process/policy.js",
-      "lib/internal/process/promises.js",
-      "lib/internal/process/signal.js",
-      "lib/internal/process/execution.js",
-      "lib/internal/process/esm_loader.js",
-      "lib/internal/process/report.js",
-      "lib/internal/process/worker_thread_only.js",
-      "lib/internal/console/constructor.js",
-      "lib/internal/console/global.js",
-      "lib/fs/promises.js"
-    ],
-    "node_module_version": 83,
-    "node_no_browser_globals": "false",
-    "node_prefix": "/",
-    "node_release_urlbase": "https://nodejs.org/download/release/",
-    "node_shared": "false",
-    "node_shared_brotli": "false",
-    "node_shared_cares": "false",
-    "node_shared_http_parser": "false",
-    "node_shared_libuv": "false",
-    "node_shared_nghttp2": "false",
-    "node_shared_openssl": "false",
-    "node_shared_zlib": "false",
-    "node_tag": "",
-    "node_target_type": "executable",
-    "node_use_bundled_v8": "true",
-    "node_use_dtrace": "true",
-    "node_use_etw": "false",
-    "node_use_node_code_cache": "true",
-    "node_use_node_snapshot": "true",
-    "node_use_openssl": "true",
-    "node_use_v8_platform": "true",
-    "node_with_ltcg": "false",
-    "node_without_node_options": "false",
-    "openssl_fips": "",
-    "openssl_is_fips": "false",
-    "ossfuzz": "false",
-    "shlib_suffix": "83.dylib",
-    "target_arch": "x64",
-    "v8_enable_31bit_smis_on_64bit_arch": 0,
-    "v8_enable_gdbjit": 0,
-    "v8_enable_i18n_support": 1,
-    "v8_enable_inspector": 1,
-    "v8_enable_lite_mode": 0,
-    "v8_enable_object_print": 1,
-    "v8_enable_pointer_compression": 0,
-    "v8_no_strict_aliasing": 1,
-    "v8_optimized_debug": 1,
-    "v8_promise_internal_field_count": 1,
-    "v8_random_seed": 0,
-    "v8_trace_maps": 0,
-    "v8_use_siphash": 1,
-    "want_separate_host_toolset": 0,
-    "xcode_version": "11.0",
-    "nodedir": "/Users/david/Library/Caches/node-gyp/14.18.1",
-    "standalone_static_library": 1,
-    "user_agent": "yarn/3.1.0 npm/? node/14.18.1 darwin x64"
-  }
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk
deleted file mode 100644
index e3e8398..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/fse.target.mk
+++ /dev/null
@@ -1,196 +0,0 @@
-# This file is generated by gyp; do not edit.
-
-TOOLSET := target
-TARGET := fse
-DEFS_Debug := \
-	'-DNODE_GYP_MODULE_NAME=fse' \
-	'-DUSING_UV_SHARED=1' \
-	'-DUSING_V8_SHARED=1' \
-	'-DV8_DEPRECATION_WARNINGS=1' \
-	'-DV8_DEPRECATION_WARNINGS' \
-	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
-	'-D_DARWIN_USE_64_BIT_INODE=1' \
-	'-D_LARGEFILE_SOURCE' \
-	'-D_FILE_OFFSET_BITS=64' \
-	'-DOPENSSL_NO_PINSHARED' \
-	'-DOPENSSL_THREADS' \
-	'-DBUILDING_NODE_EXTENSION' \
-	'-DDEBUG' \
-	'-D_DEBUG' \
-	'-DV8_ENABLE_CHECKS'
-
-# Flags passed to all source files.
-CFLAGS_Debug := \
-	-O0 \
-	-gdwarf-2 \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-Wall \
-	-Wendif-labels \
-	-W \
-	-Wno-unused-parameter
-
-# Flags passed to only C files.
-CFLAGS_C_Debug := \
-	-fno-strict-aliasing
-
-# Flags passed to only C++ files.
-CFLAGS_CC_Debug := \
-	-std=gnu++1y \
-	-stdlib=libc++ \
-	-fno-rtti \
-	-fno-exceptions \
-	-fno-strict-aliasing
-
-# Flags passed to only ObjC files.
-CFLAGS_OBJC_Debug :=
-
-# Flags passed to only ObjC++ files.
-CFLAGS_OBJCC_Debug :=
-
-INCS_Debug := \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/include/node \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/src \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/config \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/openssl/include \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/uv/include \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/zlib \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/v8/include \
-	-I$(srcdir)/../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan
-
-DEFS_Release := \
-	'-DNODE_GYP_MODULE_NAME=fse' \
-	'-DUSING_UV_SHARED=1' \
-	'-DUSING_V8_SHARED=1' \
-	'-DV8_DEPRECATION_WARNINGS=1' \
-	'-DV8_DEPRECATION_WARNINGS' \
-	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
-	'-D_DARWIN_USE_64_BIT_INODE=1' \
-	'-D_LARGEFILE_SOURCE' \
-	'-D_FILE_OFFSET_BITS=64' \
-	'-DOPENSSL_NO_PINSHARED' \
-	'-DOPENSSL_THREADS' \
-	'-DBUILDING_NODE_EXTENSION'
-
-# Flags passed to all source files.
-CFLAGS_Release := \
-	-O3 \
-	-gdwarf-2 \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-Wall \
-	-Wendif-labels \
-	-W \
-	-Wno-unused-parameter
-
-# Flags passed to only C files.
-CFLAGS_C_Release := \
-	-fno-strict-aliasing
-
-# Flags passed to only C++ files.
-CFLAGS_CC_Release := \
-	-std=gnu++1y \
-	-stdlib=libc++ \
-	-fno-rtti \
-	-fno-exceptions \
-	-fno-strict-aliasing
-
-# Flags passed to only ObjC files.
-CFLAGS_OBJC_Release :=
-
-# Flags passed to only ObjC++ files.
-CFLAGS_OBJCC_Release :=
-
-INCS_Release := \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/include/node \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/src \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/config \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/openssl/openssl/include \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/uv/include \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/zlib \
-	-I/Users/david/Library/Caches/node-gyp/14.18.1/deps/v8/include \
-	-I$(srcdir)/../../../nan-npm-2.14.0-b880e7ae7d/node_modules/nan
-
-OBJS := \
-	$(obj).target/$(TARGET)/fsevents.o
-
-# Add to the list of files we specially track dependencies for.
-all_deps += $(OBJS)
-
-# CFLAGS et al overrides must be target-local.
-# See "Target-specific Variable Values" in the GNU Make manual.
-$(OBJS): TOOLSET := $(TOOLSET)
-$(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
-$(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
-$(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE))
-$(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE))
-
-# Suffix rules, putting all outputs into $(obj).
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-
-# Try building from generated source, too.
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD
-	@$(call do_cmd,cxx,1)
-
-# End of this set of suffix rules
-### Rules for final target.
-LDFLAGS_Debug := \
-	-framework CoreFoundation -framework CoreServices \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-L$(builddir) \
-	-stdlib=libc++
-
-LIBTOOLFLAGS_Debug := \
-	-framework CoreFoundation -framework CoreServices \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first
-
-LDFLAGS_Release := \
-	-framework CoreFoundation -framework CoreServices \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first \
-	-mmacosx-version-min=10.13 \
-	-arch x86_64 \
-	-L$(builddir) \
-	-stdlib=libc++
-
-LIBTOOLFLAGS_Release := \
-	-framework CoreFoundation -framework CoreServices \
-	-undefined dynamic_lookup \
-	-Wl,-no_pie \
-	-Wl,-search_paths_first
-
-LIBS :=
-
-$(builddir)/fse.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
-$(builddir)/fse.node: LIBS := $(LIBS)
-$(builddir)/fse.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))
-$(builddir)/fse.node: TOOLSET := $(TOOLSET)
-$(builddir)/fse.node: $(OBJS) FORCE_DO_CMD
-	$(call do_cmd,solink_module)
-
-all_deps += $(builddir)/fse.node
-# Add target alias
-.PHONY: fse
-fse: $(builddir)/fse.node
-
-# Short alias for building this executable.
-.PHONY: fse.node
-fse.node: $(builddir)/fse.node
-
-# Add executable to "all" target.
-.PHONY: all
-all: $(builddir)/fse.node
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool
deleted file mode 100755
index d9fc076..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/build/gyp-mac-tool
+++ /dev/null
@@ -1,777 +0,0 @@
-#!/usr/bin/env python
-# Generated by gyp. Do not edit.
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Utility functions to perform Xcode-style build steps.
-
-These functions are executed via gyp-mac-tool when using the Makefile generator.
-"""
-
-from __future__ import print_function
-
-import fcntl
-import fnmatch
-import glob
-import json
-import os
-import plistlib
-import re
-import shutil
-import struct
-import subprocess
-import sys
-import tempfile
-
-PY3 = bytes != str
-
-
-def main(args):
-    executor = MacTool()
-    exit_code = executor.Dispatch(args)
-    if exit_code is not None:
-        sys.exit(exit_code)
-
-
-class MacTool(object):
-    """This class performs all the Mac tooling steps. The methods can either be
-  executed directly, or dispatched from an argument list."""
-
-    def Dispatch(self, args):
-        """Dispatches a string command to a method."""
-        if len(args) < 1:
-            raise Exception("Not enough arguments")
-
-        method = "Exec%s" % self._CommandifyName(args[0])
-        return getattr(self, method)(*args[1:])
-
-    def _CommandifyName(self, name_string):
-        """Transforms a tool name like copy-info-plist to CopyInfoPlist"""
-        return name_string.title().replace("-", "")
-
-    def ExecCopyBundleResource(self, source, dest, convert_to_binary):
-        """Copies a resource file to the bundle/Resources directory, performing any
-    necessary compilation on each resource."""
-        convert_to_binary = convert_to_binary == "True"
-        extension = os.path.splitext(source)[1].lower()
-        if os.path.isdir(source):
-            # Copy tree.
-            # TODO(thakis): This copies file attributes like mtime, while the
-            # single-file branch below doesn't. This should probably be changed to
-            # be consistent with the single-file branch.
-            if os.path.exists(dest):
-                shutil.rmtree(dest)
-            shutil.copytree(source, dest)
-        elif extension == ".xib":
-            return self._CopyXIBFile(source, dest)
-        elif extension == ".storyboard":
-            return self._CopyXIBFile(source, dest)
-        elif extension == ".strings" and not convert_to_binary:
-            self._CopyStringsFile(source, dest)
-        else:
-            if os.path.exists(dest):
-                os.unlink(dest)
-            shutil.copy(source, dest)
-
-        if convert_to_binary and extension in (".plist", ".strings"):
-            self._ConvertToBinary(dest)
-
-    def _CopyXIBFile(self, source, dest):
-        """Compiles a XIB file with ibtool into a binary plist in the bundle."""
-
-        # ibtool sometimes crashes with relative paths. See crbug.com/314728.
-        base = os.path.dirname(os.path.realpath(__file__))
-        if os.path.relpath(source):
-            source = os.path.join(base, source)
-        if os.path.relpath(dest):
-            dest = os.path.join(base, dest)
-
-        args = ["xcrun", "ibtool", "--errors", "--warnings", "--notices"]
-
-        if os.environ["XCODE_VERSION_ACTUAL"] > "0700":
-            args.extend(["--auto-activate-custom-fonts"])
-            if "IPHONEOS_DEPLOYMENT_TARGET" in os.environ:
-                args.extend(
-                    [
-                        "--target-device",
-                        "iphone",
-                        "--target-device",
-                        "ipad",
-                        "--minimum-deployment-target",
-                        os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
-                    ]
-                )
-            else:
-                args.extend(
-                    [
-                        "--target-device",
-                        "mac",
-                        "--minimum-deployment-target",
-                        os.environ["MACOSX_DEPLOYMENT_TARGET"],
-                    ]
-                )
-
-        args.extend(
-            ["--output-format", "human-readable-text", "--compile", dest, source]
-        )
-
-        ibtool_section_re = re.compile(r"/\*.*\*/")
-        ibtool_re = re.compile(r".*note:.*is clipping its content")
-        try:
-            stdout = subprocess.check_output(args)
-        except subprocess.CalledProcessError as e:
-            print(e.output)
-            raise
-        current_section_header = None
-        for line in stdout.splitlines():
-            if ibtool_section_re.match(line):
-                current_section_header = line
-            elif not ibtool_re.match(line):
-                if current_section_header:
-                    print(current_section_header)
-                    current_section_header = None
-                print(line)
-        return 0
-
-    def _ConvertToBinary(self, dest):
-        subprocess.check_call(
-            ["xcrun", "plutil", "-convert", "binary1", "-o", dest, dest]
-        )
-
-    def _CopyStringsFile(self, source, dest):
-        """Copies a .strings file using iconv to reconvert the input into UTF-16."""
-        input_code = self._DetectInputEncoding(source) or "UTF-8"
-
-        # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call
-        # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints
-        #     CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
-        #     semicolon in dictionary.
-        # on invalid files. Do the same kind of validation.
-        import CoreFoundation
-
-        with open(source, "rb") as in_file:
-            s = in_file.read()
-        d = CoreFoundation.CFDataCreate(None, s, len(s))
-        _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None)
-        if error:
-            return
-
-        with open(dest, "wb") as fp:
-            fp.write(s.decode(input_code).encode("UTF-16"))
-
-    def _DetectInputEncoding(self, file_name):
-        """Reads the first few bytes from file_name and tries to guess the text
-    encoding. Returns None as a guess if it can't detect it."""
-        with open(file_name, "rb") as fp:
-            try:
-                header = fp.read(3)
-            except Exception:
-                return None
-        if header.startswith(b"\xFE\xFF"):
-            return "UTF-16"
-        elif header.startswith(b"\xFF\xFE"):
-            return "UTF-16"
-        elif header.startswith(b"\xEF\xBB\xBF"):
-            return "UTF-8"
-        else:
-            return None
-
-    def ExecCopyInfoPlist(self, source, dest, convert_to_binary, *keys):
-        """Copies the |source| Info.plist to the destination directory |dest|."""
-        # Read the source Info.plist into memory.
-        with open(source, "r") as fd:
-            lines = fd.read()
-
-        # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild).
-        plist = plistlib.readPlistFromString(lines)
-        if keys:
-            plist.update(json.loads(keys[0]))
-        lines = plistlib.writePlistToString(plist)
-
-        # Go through all the environment variables and replace them as variables in
-        # the file.
-        IDENT_RE = re.compile(r"[_/\s]")
-        for key in os.environ:
-            if key.startswith("_"):
-                continue
-            evar = "${%s}" % key
-            evalue = os.environ[key]
-            lines = lines.replace(lines, evar, evalue)
-
-            # Xcode supports various suffices on environment variables, which are
-            # all undocumented. :rfc1034identifier is used in the standard project
-            # template these days, and :identifier was used earlier. They are used to
-            # convert non-url characters into things that look like valid urls --
-            # except that the replacement character for :identifier, '_' isn't valid
-            # in a URL either -- oops, hence :rfc1034identifier was born.
-            evar = "${%s:identifier}" % key
-            evalue = IDENT_RE.sub("_", os.environ[key])
-            lines = lines.replace(lines, evar, evalue)
-
-            evar = "${%s:rfc1034identifier}" % key
-            evalue = IDENT_RE.sub("-", os.environ[key])
-            lines = lines.replace(lines, evar, evalue)
-
-        # Remove any keys with values that haven't been replaced.
-        lines = lines.splitlines()
-        for i in range(len(lines)):
-            if lines[i].strip().startswith("<string>${"):
-                lines[i] = None
-                lines[i - 1] = None
-        lines = "\n".join(line for line in lines if line is not None)
-
-        # Write out the file with variables replaced.
-        with open(dest, "w") as fd:
-            fd.write(lines)
-
-        # Now write out PkgInfo file now that the Info.plist file has been
-        # "compiled".
-        self._WritePkgInfo(dest)
-
-        if convert_to_binary == "True":
-            self._ConvertToBinary(dest)
-
-    def _WritePkgInfo(self, info_plist):
-        """This writes the PkgInfo file from the data stored in Info.plist."""
-        plist = plistlib.readPlist(info_plist)
-        if not plist:
-            return
-
-        # Only create PkgInfo for executable types.
-        package_type = plist["CFBundlePackageType"]
-        if package_type != "APPL":
-            return
-
-        # The format of PkgInfo is eight characters, representing the bundle type
-        # and bundle signature, each four characters. If that is missing, four
-        # '?' characters are used instead.
-        signature_code = plist.get("CFBundleSignature", "????")
-        if len(signature_code) != 4:  # Wrong length resets everything, too.
-            signature_code = "?" * 4
-
-        dest = os.path.join(os.path.dirname(info_plist), "PkgInfo")
-        with open(dest, "w") as fp:
-            fp.write("%s%s" % (package_type, signature_code))
-
-    def ExecFlock(self, lockfile, *cmd_list):
-        """Emulates the most basic behavior of Linux's flock(1)."""
-        # Rely on exception handling to report errors.
-        fd = os.open(lockfile, os.O_RDONLY | os.O_NOCTTY | os.O_CREAT, 0o666)
-        fcntl.flock(fd, fcntl.LOCK_EX)
-        return subprocess.call(cmd_list)
-
-    def ExecFilterLibtool(self, *cmd_list):
-        """Calls libtool and filters out '/path/to/libtool: file: foo.o has no
-    symbols'."""
-        libtool_re = re.compile(
-            r"^.*libtool: (?:for architecture: \S* )?" r"file: .* has no symbols$"
-        )
-        libtool_re5 = re.compile(
-            r"^.*libtool: warning for library: "
-            + r".* the table of contents is empty "
-            + r"\(no object file members in the library define global symbols\)$"
-        )
-        env = os.environ.copy()
-        # Ref:
-        # http://www.opensource.apple.com/source/cctools/cctools-809/misc/libtool.c
-        # The problem with this flag is that it resets the file mtime on the file to
-        # epoch=0, e.g. 1970-1-1 or 1969-12-31 depending on timezone.
-        env["ZERO_AR_DATE"] = "1"
-        libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env)
-        _, err = libtoolout.communicate()
-        if PY3:
-            err = err.decode("utf-8")
-        for line in err.splitlines():
-            if not libtool_re.match(line) and not libtool_re5.match(line):
-                print(line, file=sys.stderr)
-        # Unconditionally touch the output .a file on the command line if present
-        # and the command succeeded. A bit hacky.
-        if not libtoolout.returncode:
-            for i in range(len(cmd_list) - 1):
-                if cmd_list[i] == "-o" and cmd_list[i + 1].endswith(".a"):
-                    os.utime(cmd_list[i + 1], None)
-                    break
-        return libtoolout.returncode
-
-    def ExecPackageIosFramework(self, framework):
-        # Find the name of the binary based on the part before the ".framework".
-        binary = os.path.basename(framework).split(".")[0]
-        module_path = os.path.join(framework, "Modules")
-        if not os.path.exists(module_path):
-            os.mkdir(module_path)
-        module_template = (
-            "framework module %s {\n"
-            '  umbrella header "%s.h"\n'
-            "\n"
-            "  export *\n"
-            "  module * { export * }\n"
-            "}\n" % (binary, binary)
-        )
-
-        with open(os.path.join(module_path, "module.modulemap"), "w") as module_file:
-            module_file.write(module_template)
-
-    def ExecPackageFramework(self, framework, version):
-        """Takes a path to Something.framework and the Current version of that and
-    sets up all the symlinks."""
-        # Find the name of the binary based on the part before the ".framework".
-        binary = os.path.basename(framework).split(".")[0]
-
-        CURRENT = "Current"
-        RESOURCES = "Resources"
-        VERSIONS = "Versions"
-
-        if not os.path.exists(os.path.join(framework, VERSIONS, version, binary)):
-            # Binary-less frameworks don't seem to contain symlinks (see e.g.
-            # chromium's out/Debug/org.chromium.Chromium.manifest/ bundle).
-            return
-
-        # Move into the framework directory to set the symlinks correctly.
-        pwd = os.getcwd()
-        os.chdir(framework)
-
-        # Set up the Current version.
-        self._Relink(version, os.path.join(VERSIONS, CURRENT))
-
-        # Set up the root symlinks.
-        self._Relink(os.path.join(VERSIONS, CURRENT, binary), binary)
-        self._Relink(os.path.join(VERSIONS, CURRENT, RESOURCES), RESOURCES)
-
-        # Back to where we were before!
-        os.chdir(pwd)
-
-    def _Relink(self, dest, link):
-        """Creates a symlink to |dest| named |link|. If |link| already exists,
-    it is overwritten."""
-        if os.path.lexists(link):
-            os.remove(link)
-        os.symlink(dest, link)
-
-    def ExecCompileIosFrameworkHeaderMap(self, out, framework, *all_headers):
-        framework_name = os.path.basename(framework).split(".")[0]
-        all_headers = [os.path.abspath(header) for header in all_headers]
-        filelist = {}
-        for header in all_headers:
-            filename = os.path.basename(header)
-            filelist[filename] = header
-            filelist[os.path.join(framework_name, filename)] = header
-        WriteHmap(out, filelist)
-
-    def ExecCopyIosFrameworkHeaders(self, framework, *copy_headers):
-        header_path = os.path.join(framework, "Headers")
-        if not os.path.exists(header_path):
-            os.makedirs(header_path)
-        for header in copy_headers:
-            shutil.copy(header, os.path.join(header_path, os.path.basename(header)))
-
-    def ExecCompileXcassets(self, keys, *inputs):
-        """Compiles multiple .xcassets files into a single .car file.
-
-    This invokes 'actool' to compile all the inputs .xcassets files. The
-    |keys| arguments is a json-encoded dictionary of extra arguments to
-    pass to 'actool' when the asset catalogs contains an application icon
-    or a launch image.
-
-    Note that 'actool' does not create the Assets.car file if the asset
-    catalogs does not contains imageset.
-    """
-        command_line = [
-            "xcrun",
-            "actool",
-            "--output-format",
-            "human-readable-text",
-            "--compress-pngs",
-            "--notices",
-            "--warnings",
-            "--errors",
-        ]
-        is_iphone_target = "IPHONEOS_DEPLOYMENT_TARGET" in os.environ
-        if is_iphone_target:
-            platform = os.environ["CONFIGURATION"].split("-")[-1]
-            if platform not in ("iphoneos", "iphonesimulator"):
-                platform = "iphonesimulator"
-            command_line.extend(
-                [
-                    "--platform",
-                    platform,
-                    "--target-device",
-                    "iphone",
-                    "--target-device",
-                    "ipad",
-                    "--minimum-deployment-target",
-                    os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
-                    "--compile",
-                    os.path.abspath(os.environ["CONTENTS_FOLDER_PATH"]),
-                ]
-            )
-        else:
-            command_line.extend(
-                [
-                    "--platform",
-                    "macosx",
-                    "--target-device",
-                    "mac",
-                    "--minimum-deployment-target",
-                    os.environ["MACOSX_DEPLOYMENT_TARGET"],
-                    "--compile",
-                    os.path.abspath(os.environ["UNLOCALIZED_RESOURCES_FOLDER_PATH"]),
-                ]
-            )
-        if keys:
-            keys = json.loads(keys)
-            for key, value in keys.items():
-                arg_name = "--" + key
-                if isinstance(value, bool):
-                    if value:
-                        command_line.append(arg_name)
-                elif isinstance(value, list):
-                    for v in value:
-                        command_line.append(arg_name)
-                        command_line.append(str(v))
-                else:
-                    command_line.append(arg_name)
-                    command_line.append(str(value))
-        # Note: actool crashes if inputs path are relative, so use os.path.abspath
-        # to get absolute path name for inputs.
-        command_line.extend(map(os.path.abspath, inputs))
-        subprocess.check_call(command_line)
-
-    def ExecMergeInfoPlist(self, output, *inputs):
-        """Merge multiple .plist files into a single .plist file."""
-        merged_plist = {}
-        for path in inputs:
-            plist = self._LoadPlistMaybeBinary(path)
-            self._MergePlist(merged_plist, plist)
-        plistlib.writePlist(merged_plist, output)
-
-    def ExecCodeSignBundle(self, key, entitlements, provisioning, path, preserve):
-        """Code sign a bundle.
-
-    This function tries to code sign an iOS bundle, following the same
-    algorithm as Xcode:
-      1. pick the provisioning profile that best match the bundle identifier,
-         and copy it into the bundle as embedded.mobileprovision,
-      2. copy Entitlements.plist from user or SDK next to the bundle,
-      3. code sign the bundle.
-    """
-        substitutions, overrides = self._InstallProvisioningProfile(
-            provisioning, self._GetCFBundleIdentifier()
-        )
-        entitlements_path = self._InstallEntitlements(
-            entitlements, substitutions, overrides
-        )
-
-        args = ["codesign", "--force", "--sign", key]
-        if preserve == "True":
-            args.extend(["--deep", "--preserve-metadata=identifier,entitlements"])
-        else:
-            args.extend(["--entitlements", entitlements_path])
-        args.extend(["--timestamp=none", path])
-        subprocess.check_call(args)
-
-    def _InstallProvisioningProfile(self, profile, bundle_identifier):
-        """Installs embedded.mobileprovision into the bundle.
-
-    Args:
-      profile: string, optional, short name of the .mobileprovision file
-        to use, if empty or the file is missing, the best file installed
-        will be used
-      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
-
-    Returns:
-      A tuple containing two dictionary: variables substitutions and values
-      to overrides when generating the entitlements file.
-    """
-        source_path, provisioning_data, team_id = self._FindProvisioningProfile(
-            profile, bundle_identifier
-        )
-        target_path = os.path.join(
-            os.environ["BUILT_PRODUCTS_DIR"],
-            os.environ["CONTENTS_FOLDER_PATH"],
-            "embedded.mobileprovision",
-        )
-        shutil.copy2(source_path, target_path)
-        substitutions = self._GetSubstitutions(bundle_identifier, team_id + ".")
-        return substitutions, provisioning_data["Entitlements"]
-
-    def _FindProvisioningProfile(self, profile, bundle_identifier):
-        """Finds the .mobileprovision file to use for signing the bundle.
-
-    Checks all the installed provisioning profiles (or if the user specified
-    the PROVISIONING_PROFILE variable, only consult it) and select the most
-    specific that correspond to the bundle identifier.
-
-    Args:
-      profile: string, optional, short name of the .mobileprovision file
-        to use, if empty or the file is missing, the best file installed
-        will be used
-      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
-
-    Returns:
-      A tuple of the path to the selected provisioning profile, the data of
-      the embedded plist in the provisioning profile and the team identifier
-      to use for code signing.
-
-    Raises:
-      SystemExit: if no .mobileprovision can be used to sign the bundle.
-    """
-        profiles_dir = os.path.join(
-            os.environ["HOME"], "Library", "MobileDevice", "Provisioning Profiles"
-        )
-        if not os.path.isdir(profiles_dir):
-            print(
-                "cannot find mobile provisioning for %s" % (bundle_identifier),
-                file=sys.stderr,
-            )
-            sys.exit(1)
-        provisioning_profiles = None
-        if profile:
-            profile_path = os.path.join(profiles_dir, profile + ".mobileprovision")
-            if os.path.exists(profile_path):
-                provisioning_profiles = [profile_path]
-        if not provisioning_profiles:
-            provisioning_profiles = glob.glob(
-                os.path.join(profiles_dir, "*.mobileprovision")
-            )
-        valid_provisioning_profiles = {}
-        for profile_path in provisioning_profiles:
-            profile_data = self._LoadProvisioningProfile(profile_path)
-            app_id_pattern = profile_data.get("Entitlements", {}).get(
-                "application-identifier", ""
-            )
-            for team_identifier in profile_data.get("TeamIdentifier", []):
-                app_id = "%s.%s" % (team_identifier, bundle_identifier)
-                if fnmatch.fnmatch(app_id, app_id_pattern):
-                    valid_provisioning_profiles[app_id_pattern] = (
-                        profile_path,
-                        profile_data,
-                        team_identifier,
-                    )
-        if not valid_provisioning_profiles:
-            print(
-                "cannot find mobile provisioning for %s" % (bundle_identifier),
-                file=sys.stderr,
-            )
-            sys.exit(1)
-        # If the user has multiple provisioning profiles installed that can be
-        # used for ${bundle_identifier}, pick the most specific one (ie. the
-        # provisioning profile whose pattern is the longest).
-        selected_key = max(valid_provisioning_profiles, key=lambda v: len(v))
-        return valid_provisioning_profiles[selected_key]
-
-    def _LoadProvisioningProfile(self, profile_path):
-        """Extracts the plist embedded in a provisioning profile.
-
-    Args:
-      profile_path: string, path to the .mobileprovision file
-
-    Returns:
-      Content of the plist embedded in the provisioning profile as a dictionary.
-    """
-        with tempfile.NamedTemporaryFile() as temp:
-            subprocess.check_call(
-                ["security", "cms", "-D", "-i", profile_path, "-o", temp.name]
-            )
-            return self._LoadPlistMaybeBinary(temp.name)
-
-    def _MergePlist(self, merged_plist, plist):
-        """Merge |plist| into |merged_plist|."""
-        for key, value in plist.items():
-            if isinstance(value, dict):
-                merged_value = merged_plist.get(key, {})
-                if isinstance(merged_value, dict):
-                    self._MergePlist(merged_value, value)
-                    merged_plist[key] = merged_value
-                else:
-                    merged_plist[key] = value
-            else:
-                merged_plist[key] = value
-
-    def _LoadPlistMaybeBinary(self, plist_path):
-        """Loads into a memory a plist possibly encoded in binary format.
-
-    This is a wrapper around plistlib.readPlist that tries to convert the
-    plist to the XML format if it can't be parsed (assuming that it is in
-    the binary format).
-
-    Args:
-      plist_path: string, path to a plist file, in XML or binary format
-
-    Returns:
-      Content of the plist as a dictionary.
-    """
-        try:
-            # First, try to read the file using plistlib that only supports XML,
-            # and if an exception is raised, convert a temporary copy to XML and
-            # load that copy.
-            return plistlib.readPlist(plist_path)
-        except Exception:
-            pass
-        with tempfile.NamedTemporaryFile() as temp:
-            shutil.copy2(plist_path, temp.name)
-            subprocess.check_call(["plutil", "-convert", "xml1", temp.name])
-            return plistlib.readPlist(temp.name)
-
-    def _GetSubstitutions(self, bundle_identifier, app_identifier_prefix):
-        """Constructs a dictionary of variable substitutions for Entitlements.plist.
-
-    Args:
-      bundle_identifier: string, value of CFBundleIdentifier from Info.plist
-      app_identifier_prefix: string, value for AppIdentifierPrefix
-
-    Returns:
-      Dictionary of substitutions to apply when generating Entitlements.plist.
-    """
-        return {
-            "CFBundleIdentifier": bundle_identifier,
-            "AppIdentifierPrefix": app_identifier_prefix,
-        }
-
-    def _GetCFBundleIdentifier(self):
-        """Extracts CFBundleIdentifier value from Info.plist in the bundle.
-
-    Returns:
-      Value of CFBundleIdentifier in the Info.plist located in the bundle.
-    """
-        info_plist_path = os.path.join(
-            os.environ["TARGET_BUILD_DIR"], os.environ["INFOPLIST_PATH"]
-        )
-        info_plist_data = self._LoadPlistMaybeBinary(info_plist_path)
-        return info_plist_data["CFBundleIdentifier"]
-
-    def _InstallEntitlements(self, entitlements, substitutions, overrides):
-        """Generates and install the ${BundleName}.xcent entitlements file.
-
-    Expands variables "$(variable)" pattern in the source entitlements file,
-    add extra entitlements defined in the .mobileprovision file and the copy
-    the generated plist to "${BundlePath}.xcent".
-
-    Args:
-      entitlements: string, optional, path to the Entitlements.plist template
-        to use, defaults to "${SDKROOT}/Entitlements.plist"
-      substitutions: dictionary, variable substitutions
-      overrides: dictionary, values to add to the entitlements
-
-    Returns:
-      Path to the generated entitlements file.
-    """
-        source_path = entitlements
-        target_path = os.path.join(
-            os.environ["BUILT_PRODUCTS_DIR"], os.environ["PRODUCT_NAME"] + ".xcent"
-        )
-        if not source_path:
-            source_path = os.path.join(os.environ["SDKROOT"], "Entitlements.plist")
-        shutil.copy2(source_path, target_path)
-        data = self._LoadPlistMaybeBinary(target_path)
-        data = self._ExpandVariables(data, substitutions)
-        if overrides:
-            for key in overrides:
-                if key not in data:
-                    data[key] = overrides[key]
-        plistlib.writePlist(data, target_path)
-        return target_path
-
-    def _ExpandVariables(self, data, substitutions):
-        """Expands variables "$(variable)" in data.
-
-    Args:
-      data: object, can be either string, list or dictionary
-      substitutions: dictionary, variable substitutions to perform
-
-    Returns:
-      Copy of data where each references to "$(variable)" has been replaced
-      by the corresponding value found in substitutions, or left intact if
-      the key was not found.
-    """
-        if isinstance(data, str):
-            for key, value in substitutions.items():
-                data = data.replace("$(%s)" % key, value)
-            return data
-        if isinstance(data, list):
-            return [self._ExpandVariables(v, substitutions) for v in data]
-        if isinstance(data, dict):
-            return {k: self._ExpandVariables(data[k], substitutions) for k in data}
-        return data
-
-
-def NextGreaterPowerOf2(x):
-    return 2 ** (x).bit_length()
-
-
-def WriteHmap(output_name, filelist):
-    """Generates a header map based on |filelist|.
-
-  Per Mark Mentovai:
-    A header map is structured essentially as a hash table, keyed by names used
-    in #includes, and providing pathnames to the actual files.
-
-  The implementation below and the comment above comes from inspecting:
-    http://www.opensource.apple.com/source/distcc/distcc-2503/distcc_dist/include_server/headermap.py?txt
-  while also looking at the implementation in clang in:
-    https://llvm.org/svn/llvm-project/cfe/trunk/lib/Lex/HeaderMap.cpp
-  """
-    magic = 1751998832
-    version = 1
-    _reserved = 0
-    count = len(filelist)
-    capacity = NextGreaterPowerOf2(count)
-    strings_offset = 24 + (12 * capacity)
-    max_value_length = max(len(value) for value in filelist.values())
-
-    out = open(output_name, "wb")
-    out.write(
-        struct.pack(
-            "<LHHLLLL",
-            magic,
-            version,
-            _reserved,
-            strings_offset,
-            count,
-            capacity,
-            max_value_length,
-        )
-    )
-
-    # Create empty hashmap buckets.
-    buckets = [None] * capacity
-    for file, path in filelist.items():
-        key = 0
-        for c in file:
-            key += ord(c.lower()) * 13
-
-        # Fill next empty bucket.
-        while buckets[key & capacity - 1] is not None:
-            key = key + 1
-        buckets[key & capacity - 1] = (file, path)
-
-    next_offset = 1
-    for bucket in buckets:
-        if bucket is None:
-            out.write(struct.pack("<LLL", 0, 0, 0))
-        else:
-            (file, path) = bucket
-            key_offset = next_offset
-            prefix_offset = key_offset + len(file) + 1
-            suffix_offset = prefix_offset + len(os.path.dirname(path) + os.sep) + 1
-            next_offset = suffix_offset + len(os.path.basename(path)) + 1
-            out.write(struct.pack("<LLL", key_offset, prefix_offset, suffix_offset))
-
-    # Pad byte since next offset starts at 1.
-    out.write(struct.pack("<x"))
-
-    for bucket in buckets:
-        if bucket is not None:
-            (file, path) = bucket
-            out.write(struct.pack("<%ds" % len(file), file))
-            out.write(struct.pack("<s", "\0"))
-            base = os.path.dirname(path) + os.sep
-            out.write(struct.pack("<%ds" % len(base), base))
-            out.write(struct.pack("<s", "\0"))
-            path = os.path.basename(path)
-            out.write(struct.pack("<%ds" % len(path), path))
-            out.write(struct.pack("<s", "\0"))
-
-
-if __name__ == "__main__":
-    sys.exit(main(sys.argv[1:]))
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc
deleted file mode 100644
index c5031fe..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.cc
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-** © 2014 by Philipp Dunkel <pi...@pipobscure.com>
-** Licensed under MIT License.
-*/
-
-#include "nan.h"
-#include "uv.h"
-#include "v8.h"
-#include "CoreFoundation/CoreFoundation.h"
-#include "CoreServices/CoreServices.h"
-#include <iostream>
-#include <vector>
-
-#include "src/storage.cc"
-namespace fse {
-  class FSEvents : public Nan::ObjectWrap {
-  public:
-    explicit FSEvents(const char *path);
-    ~FSEvents();
-
-    uv_mutex_t mutex;
-
-    // async.cc
-    uv_async_t async;
-    void asyncStart();
-    void asyncTrigger();
-    void asyncStop();
-
-    // thread.cc
-    uv_thread_t thread;
-    CFRunLoopRef threadloop;
-    void threadStart();
-    static void threadRun(void *ctx);
-    void threadStop();
-
-    // methods.cc - internal
-    Nan::AsyncResource async_resource;
-    void emitEvent(const char *path, UInt32 flags, UInt64 id);
-
-    // Common
-    CFArrayRef paths;
-    std::vector<fse_event*> events;
-    static void Initialize(v8::Local<v8::Object> exports);
-
-    // methods.cc - exposed
-    static NAN_METHOD(New);
-    static NAN_METHOD(Stop);
-    static NAN_METHOD(Start);
-
-  };
-}
-
-using namespace fse;
-
-FSEvents::FSEvents(const char *path)
-   : async_resource("fsevents:FSEvents") {
-  CFStringRef dirs[] = { CFStringCreateWithCString(NULL, path, kCFStringEncodingUTF8) };
-  paths = CFArrayCreate(NULL, (const void **)&dirs, 1, NULL);
-  threadloop = NULL;
-  if (uv_mutex_init(&mutex)) abort();
-}
-FSEvents::~FSEvents() {
-  CFRelease(paths);
-  uv_mutex_destroy(&mutex);
-}
-
-#ifndef kFSEventStreamEventFlagItemCreated
-#define kFSEventStreamEventFlagItemCreated 0x00000010
-#endif
-
-#include "src/async.cc"
-#include "src/thread.cc"
-#include "src/constants.cc"
-#include "src/methods.cc"
-
-void FSEvents::Initialize(v8::Local<v8::Object> exports) {
-  v8::Isolate* isolate = exports->GetIsolate();
-  v8::Local<v8::Context> context = isolate->GetCurrentContext();
-  v8::Local<v8::FunctionTemplate> tpl = Nan::New<v8::FunctionTemplate>(FSEvents::New);
-  tpl->SetClassName(Nan::New<v8::String>("FSEvents").ToLocalChecked());
-  tpl->InstanceTemplate()->SetInternalFieldCount(1);
-  Nan::SetPrototypeTemplate(tpl, "start", Nan::New<v8::FunctionTemplate>(FSEvents::Start));
-  Nan::SetPrototypeTemplate(tpl, "stop", Nan::New<v8::FunctionTemplate>(FSEvents::Stop));
-  Nan::Set(exports, Nan::New<v8::String>("Constants").ToLocalChecked(), Constants());
-  Nan::Set(exports, Nan::New<v8::String>("FSEvents").ToLocalChecked(), tpl->GetFunction(context).ToLocalChecked());
-}
-
-NODE_MODULE(fse, FSEvents::Initialize)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js
deleted file mode 100644
index b6a5c43..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/fsevents.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- ** © 2014 by Philipp Dunkel <pi...@pipobscure.com>
- ** Licensed under MIT License.
- */
-
-/* jshint node:true */
-'use strict';
-
-if (process.platform !== 'darwin')
-  throw new Error('Module \'fsevents\' is not compatible with platform \'' + process.platform + '\'');
-
-var Native = require("bindings")("fse");
-
-var EventEmitter = require('events').EventEmitter;
-var fs = require('fs');
-var inherits = require('util').inherits;
-
-function FSEvents(path, handler) {
-  EventEmitter.call(this);
-
-  Object.defineProperty(this, '_impl', {
-    value: new Native.FSEvents(String(path || ''), handler),
-    enumerable: false,
-    writable: false
-  });
-}
-
-inherits(FSEvents, EventEmitter);
-proxies(FSEvents, Native.FSEvents);
-
-module.exports = watch;
-module.exports.getInfo = getInfo;
-module.exports.FSEvents = Native.FSEvents;
-module.exports.Constants = Native.Constants;
-
-var defer = global.setImmediate || process.nextTick;
-
-function watch(path) {
-  var VFS = require('./vfs');
-  var vfs = new VFS(String(path || ''));
-  var fse = new FSEvents(vfs.resolvedPath, vfs.wrap(handler));
-  EventEmitter.call(fse);
-  return fse;
-
-  function handler(path, flags, id) {
-    defer(function() {
-      fse.emit('fsevent', path, flags, id);
-      var info = getInfo(path, flags);
-      info.id = id;
-      if (info.event === 'moved') {
-        fs.stat(info.path, function(err, stat) {
-          info.event = (err || !stat) ? 'moved-out' : 'moved-in';
-          fse.emit('change', path, info);
-          fse.emit(info.event, path, info);
-        });
-      } else {
-        fse.emit('change', path, info);
-        fse.emit(info.event, path, info);
-      }
-    });
-  }
-}
-
-function proxies(ctor, target) {
-  Object.keys(target.prototype).filter(function(key) {
-    return typeof target.prototype[key] === 'function';
-  }).forEach(function(key) {
-    ctor.prototype[key] = function() {
-      this._impl[key].apply(this._impl, arguments);
-      return this;
-    }
-  });
-}
-
-function getFileType(flags) {
-  if (Native.Constants.kFSEventStreamEventFlagItemIsFile & flags) return 'file';
-  if (Native.Constants.kFSEventStreamEventFlagItemIsDir & flags) return 'directory';
-  if (Native.Constants.kFSEventStreamEventFlagItemIsSymlink & flags) return 'symlink';
-}
-
-function getEventType(flags) {
-  if (Native.Constants.kFSEventStreamEventFlagItemRemoved & flags) return 'deleted';
-  if (Native.Constants.kFSEventStreamEventFlagItemRenamed & flags) return 'moved';
-  if (Native.Constants.kFSEventStreamEventFlagItemCreated & flags) return 'created';
-  if (Native.Constants.kFSEventStreamEventFlagItemModified & flags) return 'modified';
-  if (Native.Constants.kFSEventStreamEventFlagRootChanged & flags) return 'root-changed';
-
-  return 'unknown';
-}
-
-function getFileChanges(flags) {
-  return {
-    inode: !! (Native.Constants.kFSEventStreamEventFlagItemInodeMetaMod & flags),
-    finder: !! (Native.Constants.kFSEventStreamEventFlagItemFinderInfoMod & flags),
-    access: !! (Native.Constants.kFSEventStreamEventFlagItemChangeOwner & flags),
-    xattrs: !! (Native.Constants.kFSEventStreamEventFlagItemXattrMod & flags)
-  };
-}
-
-function getInfo(path, flags) {
-  return {
-    path: path,
-    event: getEventType(flags),
-    type: getFileType(flags),
-    changes: getFileChanges(flags),
-    flags: flags
-  };
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE
deleted file mode 100644
index 9bcfa9d..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/LICENSE
+++ /dev/null
@@ -1,46 +0,0 @@
-This software is dual-licensed under the ISC and MIT licenses.
-You may use this software under EITHER of the following licenses.
-
-----------
-
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------
-
-Copyright Isaac Z. Schlueter and Contributors
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md
deleted file mode 100644
index 99746fe..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# abbrev-js
-
-Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).
-
-Usage:
-
-    var abbrev = require("abbrev");
-    abbrev("foo", "fool", "folding", "flop");
-    
-    // returns:
-    { fl: 'flop'
-    , flo: 'flop'
-    , flop: 'flop'
-    , fol: 'folding'
-    , fold: 'folding'
-    , foldi: 'folding'
-    , foldin: 'folding'
-    , folding: 'folding'
-    , foo: 'foo'
-    , fool: 'fool'
-    }
-
-This is handy for command-line scripts, or other cases where you want to be able to accept shorthands.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js
deleted file mode 100644
index 7b1dc5d..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/abbrev.js
+++ /dev/null
@@ -1,61 +0,0 @@
-module.exports = exports = abbrev.abbrev = abbrev
-
-abbrev.monkeyPatch = monkeyPatch
-
-function monkeyPatch () {
-  Object.defineProperty(Array.prototype, 'abbrev', {
-    value: function () { return abbrev(this) },
-    enumerable: false, configurable: true, writable: true
-  })
-
-  Object.defineProperty(Object.prototype, 'abbrev', {
-    value: function () { return abbrev(Object.keys(this)) },
-    enumerable: false, configurable: true, writable: true
-  })
-}
-
-function abbrev (list) {
-  if (arguments.length !== 1 || !Array.isArray(list)) {
-    list = Array.prototype.slice.call(arguments, 0)
-  }
-  for (var i = 0, l = list.length, args = [] ; i < l ; i ++) {
-    args[i] = typeof list[i] === "string" ? list[i] : String(list[i])
-  }
-
-  // sort them lexicographically, so that they're next to their nearest kin
-  args = args.sort(lexSort)
-
-  // walk through each, seeing how much it has in common with the next and previous
-  var abbrevs = {}
-    , prev = ""
-  for (var i = 0, l = args.length ; i < l ; i ++) {
-    var current = args[i]
-      , next = args[i + 1] || ""
-      , nextMatches = true
-      , prevMatches = true
-    if (current === next) continue
-    for (var j = 0, cl = current.length ; j < cl ; j ++) {
-      var curChar = current.charAt(j)
-      nextMatches = nextMatches && curChar === next.charAt(j)
-      prevMatches = prevMatches && curChar === prev.charAt(j)
-      if (!nextMatches && !prevMatches) {
-        j ++
-        break
-      }
-    }
-    prev = current
-    if (j === cl) {
-      abbrevs[current] = current
-      continue
-    }
-    for (var a = current.substr(0, j) ; j <= cl ; j ++) {
-      abbrevs[a] = current
-      a += current.charAt(j)
-    }
-  }
-  return abbrevs
-}
-
-function lexSort (a, b) {
-  return a === b ? 0 : a > b ? 1 : -1
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json
deleted file mode 100644
index c58b55a..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/abbrev/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-  "_from": "abbrev@1",
-  "_id": "abbrev@1.1.1",
-  "_inBundle": false,
-  "_integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-  "_location": "/abbrev",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "abbrev@1",
-    "name": "abbrev",
-    "escapedName": "abbrev",
-    "rawSpec": "1",
-    "saveSpec": null,
-    "fetchSpec": "1"
-  },
-  "_requiredBy": [
-    "/nopt"
-  ],
-  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-  "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
-  "_spec": "abbrev@1",
-  "_where": "/Users/pipobscure/fsevents/node_modules/nopt",
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "i@izs.me"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/abbrev-js/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "Like ruby's abbrev module, but in js",
-  "devDependencies": {
-    "tap": "^10.1"
-  },
-  "files": [
-    "abbrev.js"
-  ],
-  "homepage": "https://github.com/isaacs/abbrev-js#readme",
-  "license": "ISC",
-  "main": "abbrev.js",
-  "name": "abbrev",
-  "repository": {
-    "type": "git",
-    "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
-  },
-  "scripts": {
-    "postpublish": "git push origin --all; git push origin --tags",
-    "postversion": "npm publish",
-    "preversion": "npm test",
-    "test": "tap test.js --100"
-  },
-  "version": "1.1.1"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js
deleted file mode 100644
index b9574ed..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-module.exports = function () {
-	return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
-};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license
deleted file mode 100644
index 654d0bf..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json
deleted file mode 100644
index 96a7ff7..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/package.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
-  "_from": "ansi-regex@^2.0.0",
-  "_id": "ansi-regex@2.1.1",
-  "_inBundle": false,
-  "_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-  "_location": "/ansi-regex",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "ansi-regex@^2.0.0",
-    "name": "ansi-regex",
-    "escapedName": "ansi-regex",
-    "rawSpec": "^2.0.0",
-    "saveSpec": null,
-    "fetchSpec": "^2.0.0"
-  },
-  "_requiredBy": [
-    "/strip-ansi"
-  ],
-  "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-  "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
-  "_spec": "ansi-regex@^2.0.0",
-  "_where": "/Users/pipobscure/fsevents/node_modules/strip-ansi",
-  "author": {
-    "name": "Sindre Sorhus",
-    "email": "sindresorhus@gmail.com",
-    "url": "sindresorhus.com"
-  },
-  "bugs": {
-    "url": "https://github.com/chalk/ansi-regex/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "Regular expression for matching ANSI escape codes",
-  "devDependencies": {
-    "ava": "0.17.0",
-    "xo": "0.16.0"
-  },
-  "engines": {
-    "node": ">=0.10.0"
-  },
-  "files": [
-    "index.js"
-  ],
-  "homepage": "https://github.com/chalk/ansi-regex#readme",
-  "keywords": [
-    "ansi",
-    "styles",
-    "color",
-    "colour",
-    "colors",
-    "terminal",
-    "console",
-    "cli",
-    "string",
-    "tty",
-    "escape",
-    "formatting",
-    "rgb",
-    "256",
-    "shell",
-    "xterm",
-    "command-line",
-    "text",
-    "regex",
-    "regexp",
-    "re",
-    "match",
-    "test",
-    "find",
-    "pattern"
-  ],
-  "license": "MIT",
-  "maintainers": [
-    {
-      "name": "Sindre Sorhus",
-      "email": "sindresorhus@gmail.com",
-      "url": "sindresorhus.com"
-    },
-    {
-      "name": "Joshua Appelman",
-      "email": "jappelman@xebia.com",
-      "url": "jbnicolai.com"
-    },
-    {
-      "name": "JD Ballard",
-      "email": "i.am.qix@gmail.com",
-      "url": "github.com/qix-"
-    }
-  ],
-  "name": "ansi-regex",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/chalk/ansi-regex.git"
-  },
-  "scripts": {
-    "test": "xo && ava --verbose",
-    "view-supported": "node fixtures/view-codes.js"
-  },
-  "version": "2.1.1",
-  "xo": {
-    "rules": {
-      "guard-for-in": 0,
-      "no-loop-func": 0
-    }
-  }
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 6a928ed..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
-
-> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save ansi-regex
-```
-
-
-## Usage
-
-```js
-const ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001b[4mcake\u001b[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001b[4mcake\u001b[0m'.match(ansiRegex());
-//=> ['\u001b[4m', '\u001b[0m']
-```
-
-## FAQ
-
-### Why do you test for codes not in the ECMA 48 standard?
-
-Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from [...]
-
-On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on c [...]
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE
deleted file mode 100644
index f4be44d..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/LICENSE
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) 2015, Rebecca Turner <me...@re-becca.org>
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md
deleted file mode 100644
index 0bfc594..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/README.md
+++ /dev/null
@@ -1,94 +0,0 @@
-aproba
-======
-
-A ridiculously light-weight function argument validator
-
-```
-var validate = require("aproba")
-
-function myfunc(a, b, c) {
-  // `a` must be a string, `b` a number, `c` a function
-  validate('SNF', arguments) // [a,b,c] is also valid
-}
-
-myfunc('test', 23, function () {}) // ok
-myfunc(123, 23, function () {}) // type error
-myfunc('test', 23) // missing arg error
-myfunc('test', 23, function () {}, true) // too many args error
-
-```
-
-Valid types are:
-
-| type | description
-| :--: | :----------
-| *    | matches any type
-| A    | `Array.isArray` OR an `arguments` object
-| S    | typeof == string
-| N    | typeof == number
-| F    | typeof == function
-| O    | typeof == object and not type A and not type E
-| B    | typeof == boolean
-| E    | `instanceof Error` OR `null` **(special: see below)**
-| Z    | == `null`
-
-Validation failures throw one of three exception types, distinguished by a
-`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`.
-
-If you pass in an invalid type then it will throw with a code of
-`EUNKNOWNTYPE`.
-
-If an **error** argument is found and is not null then the remaining
-arguments are optional.  That is, if you say `ESO` then that's like using a
-non-magical `E` in: `E|ESO|ZSO`.
-
-### But I have optional arguments?!
-
-You can provide more than one signature by separating them with pipes `|`.
-If any signature matches the arguments then they'll be considered valid.
-
-So for example, say you wanted to write a signature for
-`fs.createWriteStream`.  The docs for it describe it thusly:
-
-```
-fs.createWriteStream(path[, options])
-```
-
-This would be a signature of `SO|S`.  That is, a string and and object, or
-just a string.
-
-Now, if you read the full `fs` docs, you'll see that actually path can ALSO
-be a buffer.  And options can be a string, that is:
-```
-path <String> | <Buffer>
-options <String> | <Object>
-```
-
-To reproduce this you have to fully enumerate all of the possible
-combinations and that implies a signature of `SO|SS|OO|OS|S|O`.  The
-awkwardness is a feature: It reminds you of the complexity you're adding to
-your API when you do this sort of thing.
-
-
-### Browser support
-
-This has no dependencies and should work in browsers, though you'll have
-noisier stack traces.
-
-### Why this exists
-
-I wanted a very simple argument validator. It needed to do two things:
-
-1. Be more concise and easier to use than assertions
-
-2. Not encourage an infinite bikeshed of DSLs
-
-This is why types are specified by a single character and there's no such
-thing as an optional argument. 
-
-This is not intended to validate user data. This is specifically about
-asserting the interface of your functions.
-
-If you need greater validation, I encourage you to write them by hand or
-look elsewhere.
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js
deleted file mode 100644
index 6f3f797..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/index.js
+++ /dev/null
@@ -1,105 +0,0 @@
-'use strict'
-
-function isArguments (thingy) {
-  return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee')
-}
-
-var types = {
-  '*': {label: 'any', check: function () { return true }},
-  A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }},
-  S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }},
-  N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }},
-  F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }},
-  O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }},
-  B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }},
-  E: {label: 'error', check: function (thingy) { return thingy instanceof Error }},
-  Z: {label: 'null', check: function (thingy) { return thingy == null }}
-}
-
-function addSchema (schema, arity) {
-  var group = arity[schema.length] = arity[schema.length] || []
-  if (group.indexOf(schema) === -1) group.push(schema)
-}
-
-var validate = module.exports = function (rawSchemas, args) {
-  if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length)
-  if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas')
-  if (!args) throw missingRequiredArg(1, 'args')
-  if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas)
-  if (!types.A.check(args)) throw invalidType(1, ['array'], args)
-  var schemas = rawSchemas.split('|')
-  var arity = {}
-
-  schemas.forEach(function (schema) {
-    for (var ii = 0; ii < schema.length; ++ii) {
-      var type = schema[ii]
-      if (!types[type]) throw unknownType(ii, type)
-    }
-    if (/E.*E/.test(schema)) throw moreThanOneError(schema)
-    addSchema(schema, arity)
-    if (/E/.test(schema)) {
-      addSchema(schema.replace(/E.*$/, 'E'), arity)
-      addSchema(schema.replace(/E/, 'Z'), arity)
-      if (schema.length === 1) addSchema('', arity)
-    }
-  })
-  var matching = arity[args.length]
-  if (!matching) {
-    throw wrongNumberOfArgs(Object.keys(arity), args.length)
-  }
-  for (var ii = 0; ii < args.length; ++ii) {
-    var newMatching = matching.filter(function (schema) {
-      var type = schema[ii]
-      var typeCheck = types[type].check
-      return typeCheck(args[ii])
-    })
-    if (!newMatching.length) {
-      var labels = matching.map(function (schema) {
-        return types[schema[ii]].label
-      }).filter(function (schema) { return schema != null })
-      throw invalidType(ii, labels, args[ii])
-    }
-    matching = newMatching
-  }
-}
-
-function missingRequiredArg (num) {
-  return newException('EMISSINGARG', 'Missing required argument #' + (num + 1))
-}
-
-function unknownType (num, type) {
-  return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1))
-}
-
-function invalidType (num, expectedTypes, value) {
-  var valueType
-  Object.keys(types).forEach(function (typeCode) {
-    if (types[typeCode].check(value)) valueType = types[typeCode].label
-  })
-  return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' +
-    englishList(expectedTypes) + ' but got ' + valueType)
-}
-
-function englishList (list) {
-  return list.join(', ').replace(/, ([^,]+)$/, ' or $1')
-}
-
-function wrongNumberOfArgs (expected, got) {
-  var english = englishList(expected)
-  var args = expected.every(function (ex) { return ex.length === 1 })
-    ? 'argument'
-    : 'arguments'
-  return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got)
-}
-
-function moreThanOneError (schema) {
-  return newException('ETOOMANYERRORTYPES',
-    'Only one error type per argument signature is allowed, more than one found in "' + schema + '"')
-}
-
-function newException (code, msg) {
-  var e = new Error(msg)
-  e.code = code
-  if (Error.captureStackTrace) Error.captureStackTrace(e, validate)
-  return e
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json
deleted file mode 100644
index 7711d34..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/aproba/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "_from": "aproba@^1.0.3",
-  "_id": "aproba@1.2.0",
-  "_inBundle": false,
-  "_integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-  "_location": "/aproba",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "aproba@^1.0.3",
-    "name": "aproba",
-    "escapedName": "aproba",
-    "rawSpec": "^1.0.3",
-    "saveSpec": null,
-    "fetchSpec": "^1.0.3"
-  },
-  "_requiredBy": [
-    "/gauge"
-  ],
-  "_resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-  "_shasum": "6802e6264efd18c790a1b0d517f0f2627bf2c94a",
-  "_spec": "aproba@^1.0.3",
-  "_where": "/Users/pipobscure/fsevents/node_modules/gauge",
-  "author": {
-    "name": "Rebecca Turner",
-    "email": "me@re-becca.org"
-  },
-  "bugs": {
-    "url": "https://github.com/iarna/aproba/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {},
-  "deprecated": false,
-  "description": "A ridiculously light-weight argument validator (now browser friendly)",
-  "devDependencies": {
-    "standard": "^10.0.3",
-    "tap": "^10.0.2"
-  },
-  "directories": {
-    "test": "test"
-  },
-  "files": [
-    "index.js"
-  ],
-  "homepage": "https://github.com/iarna/aproba",
-  "keywords": [
-    "argument",
-    "validate"
-  ],
-  "license": "ISC",
-  "main": "index.js",
-  "name": "aproba",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/iarna/aproba.git"
-  },
-  "scripts": {
-    "test": "standard && tap -j3 test/*.js"
-  },
-  "version": "1.2.0"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md
deleted file mode 100644
index 21f3b1c..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/CHANGES.md
+++ /dev/null
@@ -1,37 +0,0 @@
-Hi, figured we could actually use a changelog now:
-
-## 1.1.5 2018-05-24
-
-* [#92](https://github.com/iarna/are-we-there-yet/pull/92) Fix bug where
-  `finish` would throw errors when including `TrackerStream` objects in
-  `TrackerGroup` collections.  (@brianloveswords)
-
-## 1.1.4 2017-04-21
-
-* Fix typo in package.json
-
-## 1.1.3 2017-04-21
-
-* Improve documentation and limit files included in the distribution.
-
-## 1.1.2 2016-03-15
-
-* Add tracker group cycle detection and tests for it
-
-## 1.1.1 2016-01-29
-
-* Fix a typo in stream completion tracker
-
-## 1.1.0 2016-01-29
-
-* Rewrote completion percent computation to be low impact– no more walking a
-  tree of completion groups every time we need this info.  Previously, with
-  medium sized tree of completion groups, even a relatively modest number of
-  calls to the top level `completed()` method would result in absurd numbers
-  of calls overall as it walked down the tree. We now, instead, keep track as
-  we bubble up changes, so the computation is limited to when data changes and
-  to the depth of that one branch, instead of _every_ node. (Plus, we were already
-  incurring _this_ cost, since we already bubbled out changes.)
-* Moved different tracker types out to their own files.
-* Made tests test for TOO MANY events too.
-* Standarized the source code formatting
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE
deleted file mode 100644
index af45880..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/LICENSE
+++ /dev/null
@@ -1,5 +0,0 @@
-Copyright (c) 2015, Rebecca Turner
-
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md
deleted file mode 100644
index 7e2b42d..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/README.md
+++ /dev/null
@@ -1,195 +0,0 @@
-are-we-there-yet
-----------------
-
-Track complex hiearchies of asynchronous task completion statuses.  This is
-intended to give you a way of recording and reporting the progress of the big
-recursive fan-out and gather type workflows that are so common in async.
-
-What you do with this completion data is up to you, but the most common use case is to
-feed it to one of the many progress bar modules.
-
-Most progress bar modules include a rudamentary version of this, but my
-needs were more complex.
-
-Usage
-=====
-
-```javascript
-var TrackerGroup = require("are-we-there-yet").TrackerGroup
-
-var top = new TrackerGroup("program")
-
-var single = top.newItem("one thing", 100)
-single.completeWork(20)
-
-console.log(top.completed()) // 0.2
-
-fs.stat("file", function(er, stat) {
-  if (er) throw er  
-  var stream = top.newStream("file", stat.size)
-  console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete
-                              // and 50% * 20% == 10%
-  fs.createReadStream("file").pipe(stream).on("data", function (chunk) {
-    // do stuff with chunk
-  })
-  top.on("change", function (name) {
-    // called each time a chunk is read from "file"
-    // top.completed() will start at 0.1 and fill up to 0.6 as the file is read
-  })
-})
-```
-
-Shared Methods
-==============
-
-* var completed = tracker.completed()
-
-Implemented in: `Tracker`, `TrackerGroup`, `TrackerStream`
-
-Returns the ratio of completed work to work to be done. Range of 0 to 1.
-
-* tracker.finish()
-
-Implemented in: `Tracker`, `TrackerGroup`
-
-Marks the tracker as completed. With a TrackerGroup this marks all of its
-components as completed.
-
-Marks all of the components of this tracker as finished, which in turn means
-that `tracker.completed()` for this will now be 1.
-
-This will result in one or more `change` events being emitted.
-
-Events
-======
-
-All tracker objects emit `change` events with the following arguments:
-
-```
-function (name, completed, tracker)
-```
-
-`name` is the name of the tracker that originally emitted the event,
-or if it didn't have one, the first containing tracker group that had one.
-
-`completed` is the percent complete (as returned by `tracker.completed()` method).
-
-`tracker` is the tracker object that you are listening for events on.
-
-TrackerGroup
-============
-
-* var tracker = new TrackerGroup(**name**)
-
-  * **name** *(optional)* - The name of this tracker group, used in change
-    notifications if the component updating didn't have a name. Defaults to undefined.
-
-Creates a new empty tracker aggregation group. These are trackers whose
-completion status is determined by the completion status of other trackers.
-
-* tracker.addUnit(**otherTracker**, **weight**)
-
-  * **otherTracker** - Any of the other are-we-there-yet tracker objects
-  * **weight** *(optional)* - The weight to give the tracker, defaults to 1.
-
-Adds the **otherTracker** to this aggregation group. The weight determines
-how long you expect this tracker to take to complete in proportion to other
-units.  So for instance, if you add one tracker with a weight of 1 and
-another with a weight of 2, you're saying the second will take twice as long
-to complete as the first.  As such, the first will account for 33% of the
-completion of this tracker and the second will account for the other 67%.
-
-Returns **otherTracker**.
-
-* var subGroup = tracker.newGroup(**name**, **weight**)
-
-The above is exactly equivalent to:
-
-```javascript
-  var subGroup = tracker.addUnit(new TrackerGroup(name), weight)
-```
-
-* var subItem = tracker.newItem(**name**, **todo**, **weight**)
-
-The above is exactly equivalent to:
-
-```javascript
-  var subItem = tracker.addUnit(new Tracker(name, todo), weight)
-```
-
-* var subStream = tracker.newStream(**name**, **todo**, **weight**)
-
-The above is exactly equivalent to:
-
-```javascript
-  var subStream = tracker.addUnit(new TrackerStream(name, todo), weight)
-```
-
-* console.log( tracker.debug() )
-
-Returns a tree showing the completion of this tracker group and all of its
-children, including recursively entering all of the children.
-
-Tracker
-=======
-
-* var tracker = new Tracker(**name**, **todo**)
-
-  * **name** *(optional)* The name of this counter to report in change
-    events.  Defaults to undefined.
-  * **todo** *(optional)* The amount of work todo (a number). Defaults to 0.
-
-Ordinarily these are constructed as a part of a tracker group (via
-`newItem`).
-
-* var completed = tracker.completed()
-
-Returns the ratio of completed work to work to be done. Range of 0 to 1. If
-total work to be done is 0 then it will return 0.
-
-* tracker.addWork(**todo**)
-
-  * **todo** A number to add to the amount of work to be done.
-
-Increases the amount of work to be done, thus decreasing the completion
-percentage.  Triggers a `change` event.
-
-* tracker.completeWork(**completed**)
-
-  * **completed** A number to add to the work complete
-
-Increase the amount of work complete, thus increasing the completion percentage.
-Will never increase the work completed past the amount of work todo. That is,
-percentages > 100% are not allowed. Triggers a `change` event.
-
-* tracker.finish()
-
-Marks this tracker as finished, tracker.completed() will now be 1. Triggers
-a `change` event.
-
-TrackerStream
-=============
-
-* var tracker = new TrackerStream(**name**, **size**, **options**)
-
-  * **name** *(optional)* The name of this counter to report in change
-    events.  Defaults to undefined.
-  * **size** *(optional)* The number of bytes being sent through this stream.
-  * **options** *(optional)* A hash of stream options
-
-The tracker stream object is a pass through stream that updates an internal
-tracker object each time a block passes through.  It's intended to track
-downloads, file extraction and other related activities. You use it by piping
-your data source into it and then using it as your data source.
-
-If your data has a length attribute then that's used as the amount of work
-completed when the chunk is passed through.  If it does not (eg, object
-streams) then each chunk counts as completing 1 unit of work, so your size
-should be the total number of objects being streamed.
-
-* tracker.addWork(**todo**)
-
-  * **todo** Increase the expected overall size by **todo** bytes.
-
-Increases the amount of work to be done, thus decreasing the completion
-percentage.  Triggers a `change` event.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js
deleted file mode 100644
index 57d8743..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict'
-exports.TrackerGroup = require('./tracker-group.js')
-exports.Tracker = require('./tracker.js')
-exports.TrackerStream = require('./tracker-stream.js')
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json
deleted file mode 100644
index 671750b..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-  "_from": "are-we-there-yet@~1.1.2",
-  "_id": "are-we-there-yet@1.1.5",
-  "_inBundle": false,
-  "_integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
-  "_location": "/are-we-there-yet",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "are-we-there-yet@~1.1.2",
-    "name": "are-we-there-yet",
-    "escapedName": "are-we-there-yet",
-    "rawSpec": "~1.1.2",
-    "saveSpec": null,
-    "fetchSpec": "~1.1.2"
-  },
-  "_requiredBy": [
-    "/npmlog"
-  ],
-  "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
-  "_shasum": "4b35c2944f062a8bfcda66410760350fe9ddfc21",
-  "_spec": "are-we-there-yet@~1.1.2",
-  "_where": "/Users/pipobscure/fsevents/node_modules/npmlog",
-  "author": {
-    "name": "Rebecca Turner",
-    "url": "http://re-becca.org"
-  },
-  "bugs": {
-    "url": "https://github.com/iarna/are-we-there-yet/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "delegates": "^1.0.0",
-    "readable-stream": "^2.0.6"
-  },
-  "deprecated": false,
-  "description": "Keep track of the overall completion of many disparate processes",
-  "devDependencies": {
-    "standard": "^11.0.1",
-    "tap": "^12.0.1"
-  },
-  "files": [
-    "index.js",
-    "tracker-base.js",
-    "tracker-group.js",
-    "tracker-stream.js",
-    "tracker.js",
-    "CHANGES.md"
-  ],
-  "homepage": "https://github.com/iarna/are-we-there-yet",
-  "license": "ISC",
-  "main": "index.js",
-  "name": "are-we-there-yet",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/iarna/are-we-there-yet.git"
-  },
-  "scripts": {
-    "test": "standard && tap test/*.js"
-  },
-  "version": "1.1.5"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js
deleted file mode 100644
index 6f43687..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-base.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict'
-var EventEmitter = require('events').EventEmitter
-var util = require('util')
-
-var trackerId = 0
-var TrackerBase = module.exports = function (name) {
-  EventEmitter.call(this)
-  this.id = ++trackerId
-  this.name = name
-}
-util.inherits(TrackerBase, EventEmitter)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js
deleted file mode 100644
index 9759e12..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-group.js
+++ /dev/null
@@ -1,107 +0,0 @@
-'use strict'
-var util = require('util')
-var TrackerBase = require('./tracker-base.js')
-var Tracker = require('./tracker.js')
-var TrackerStream = require('./tracker-stream.js')
-
-var TrackerGroup = module.exports = function (name) {
-  TrackerBase.call(this, name)
-  this.parentGroup = null
-  this.trackers = []
-  this.completion = {}
-  this.weight = {}
-  this.totalWeight = 0
-  this.finished = false
-  this.bubbleChange = bubbleChange(this)
-}
-util.inherits(TrackerGroup, TrackerBase)
-
-function bubbleChange (trackerGroup) {
-  return function (name, completed, tracker) {
-    trackerGroup.completion[tracker.id] = completed
-    if (trackerGroup.finished) return
-    trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)
-  }
-}
-
-TrackerGroup.prototype.nameInTree = function () {
-  var names = []
-  var from = this
-  while (from) {
-    names.unshift(from.name)
-    from = from.parentGroup
-  }
-  return names.join('/')
-}
-
-TrackerGroup.prototype.addUnit = function (unit, weight) {
-  if (unit.addUnit) {
-    var toTest = this
-    while (toTest) {
-      if (unit === toTest) {
-        throw new Error(
-          'Attempted to add tracker group ' +
-          unit.name + ' to tree that already includes it ' +
-          this.nameInTree(this))
-      }
-      toTest = toTest.parentGroup
-    }
-    unit.parentGroup = this
-  }
-  this.weight[unit.id] = weight || 1
-  this.totalWeight += this.weight[unit.id]
-  this.trackers.push(unit)
-  this.completion[unit.id] = unit.completed()
-  unit.on('change', this.bubbleChange)
-  if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit)
-  return unit
-}
-
-TrackerGroup.prototype.completed = function () {
-  if (this.trackers.length === 0) return 0
-  var valPerWeight = 1 / this.totalWeight
-  var completed = 0
-  for (var ii = 0; ii < this.trackers.length; ii++) {
-    var trackerId = this.trackers[ii].id
-    completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId]
-  }
-  return completed
-}
-
-TrackerGroup.prototype.newGroup = function (name, weight) {
-  return this.addUnit(new TrackerGroup(name), weight)
-}
-
-TrackerGroup.prototype.newItem = function (name, todo, weight) {
-  return this.addUnit(new Tracker(name, todo), weight)
-}
-
-TrackerGroup.prototype.newStream = function (name, todo, weight) {
-  return this.addUnit(new TrackerStream(name, todo), weight)
-}
-
-TrackerGroup.prototype.finish = function () {
-  this.finished = true
-  if (!this.trackers.length) this.addUnit(new Tracker(), 1, true)
-  for (var ii = 0; ii < this.trackers.length; ii++) {
-    var tracker = this.trackers[ii]
-    tracker.finish()
-    tracker.removeListener('change', this.bubbleChange)
-  }
-  this.emit('change', this.name, 1, this)
-}
-
-var buffer = '                                  '
-TrackerGroup.prototype.debug = function (depth) {
-  depth = depth || 0
-  var indent = depth ? buffer.substr(0, depth) : ''
-  var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n'
-  this.trackers.forEach(function (tracker) {
-    if (tracker instanceof TrackerGroup) {
-      output += tracker.debug(depth + 1)
-    } else {
-      output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n'
-    }
-  })
-  return output
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js
deleted file mode 100644
index e1cf850..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker-stream.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict'
-var util = require('util')
-var stream = require('readable-stream')
-var delegate = require('delegates')
-var Tracker = require('./tracker.js')
-
-var TrackerStream = module.exports = function (name, size, options) {
-  stream.Transform.call(this, options)
-  this.tracker = new Tracker(name, size)
-  this.name = name
-  this.id = this.tracker.id
-  this.tracker.on('change', delegateChange(this))
-}
-util.inherits(TrackerStream, stream.Transform)
-
-function delegateChange (trackerStream) {
-  return function (name, completion, tracker) {
-    trackerStream.emit('change', name, completion, trackerStream)
-  }
-}
-
-TrackerStream.prototype._transform = function (data, encoding, cb) {
-  this.tracker.completeWork(data.length ? data.length : 1)
-  this.push(data)
-  cb()
-}
-
-TrackerStream.prototype._flush = function (cb) {
-  this.tracker.finish()
-  cb()
-}
-
-delegate(TrackerStream.prototype, 'tracker')
-  .method('completed')
-  .method('addWork')
-  .method('finish')
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js
deleted file mode 100644
index 68c2339..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/are-we-there-yet/tracker.js
+++ /dev/null
@@ -1,30 +0,0 @@
-'use strict'
-var util = require('util')
-var TrackerBase = require('./tracker-base.js')
-
-var Tracker = module.exports = function (name, todo) {
-  TrackerBase.call(this, name)
-  this.workDone = 0
-  this.workTodo = todo || 0
-}
-util.inherits(Tracker, TrackerBase)
-
-Tracker.prototype.completed = function () {
-  return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
-}
-
-Tracker.prototype.addWork = function (work) {
-  this.workTodo += work
-  this.emit('change', this.name, this.completed(), this)
-}
-
-Tracker.prototype.completeWork = function (work) {
-  this.workDone += work
-  if (this.workDone > this.workTodo) this.workDone = this.workTodo
-  this.emit('change', this.name, this.completed(), this)
-}
-
-Tracker.prototype.finish = function () {
-  this.workTodo = this.workDone = 1
-  this.emit('change', this.name, 1, this)
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore
deleted file mode 100644
index ae5d8c3..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/.npmignore
+++ /dev/null
@@ -1,5 +0,0 @@
-test
-.gitignore
-.travis.yml
-Makefile
-example.js
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md
deleted file mode 100644
index 2cdc8e4..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md
deleted file mode 100644
index 08e918c..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# balanced-match
-
-Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
-
-[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
-[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
-
-[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
-
-## Example
-
-Get the first matching pair of braces:
-
-```js
-var balanced = require('balanced-match');
-
-console.log(balanced('{', '}', 'pre{in{nested}}post'));
-console.log(balanced('{', '}', 'pre{first}between{second}post'));
-console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre  {   in{nest}   }  post'));
-```
-
-The matches are:
-
-```bash
-$ node example.js
-{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
-{ start: 3,
-  end: 9,
-  pre: 'pre',
-  body: 'first',
-  post: 'between{second}post' }
-{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
-```
-
-## API
-
-### var m = balanced(a, b, str)
-
-For the first non-nested matching pair of `a` and `b` in `str`, return an
-object with those keys:
-
-* **start** the index of the first match of `a`
-* **end** the index of the matching `b`
-* **pre** the preamble, `a` and `b` not included
-* **body** the match, `a` and `b` not included
-* **post** the postscript, `a` and `b` not included
-
-If there's no match, `undefined` will be returned.
-
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
-
-### var r = balanced.range(a, b, str)
-
-For the first non-nested matching pair of `a` and `b` in `str`, return an
-array with indexes: `[ <a index>, <b index> ]`.
-
-If there's no match, `undefined` will be returned.
-
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install balanced-match
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js
deleted file mode 100644
index 1685a76..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/index.js
+++ /dev/null
@@ -1,59 +0,0 @@
-'use strict';
-module.exports = balanced;
-function balanced(a, b, str) {
-  if (a instanceof RegExp) a = maybeMatch(a, str);
-  if (b instanceof RegExp) b = maybeMatch(b, str);
-
-  var r = range(a, b, str);
-
-  return r && {
-    start: r[0],
-    end: r[1],
-    pre: str.slice(0, r[0]),
-    body: str.slice(r[0] + a.length, r[1]),
-    post: str.slice(r[1] + b.length)
-  };
-}
-
-function maybeMatch(reg, str) {
-  var m = str.match(reg);
-  return m ? m[0] : null;
-}
-
-balanced.range = range;
-function range(a, b, str) {
-  var begs, beg, left, right, result;
-  var ai = str.indexOf(a);
-  var bi = str.indexOf(b, ai + 1);
-  var i = ai;
-
-  if (ai >= 0 && bi > 0) {
-    begs = [];
-    left = str.length;
-
-    while (i >= 0 && !result) {
-      if (i == ai) {
-        begs.push(i);
-        ai = str.indexOf(a, i + 1);
-      } else if (begs.length == 1) {
-        result = [ begs.pop(), bi ];
-      } else {
-        beg = begs.pop();
-        if (beg < left) {
-          left = beg;
-          right = bi;
-        }
-
-        bi = str.indexOf(b, i + 1);
-      }
-
-      i = ai < bi && ai >= 0 ? ai : bi;
-    }
-
-    if (begs.length) {
-      result = [ left, right ];
-    }
-  }
-
-  return result;
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json
deleted file mode 100644
index 2bf2f92..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/balanced-match/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "_from": "balanced-match@^1.0.0",
-  "_id": "balanced-match@1.0.0",
-  "_inBundle": false,
-  "_integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-  "_location": "/balanced-match",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "balanced-match@^1.0.0",
-    "name": "balanced-match",
-    "escapedName": "balanced-match",
-    "rawSpec": "^1.0.0",
-    "saveSpec": null,
-    "fetchSpec": "^1.0.0"
-  },
-  "_requiredBy": [
-    "/brace-expansion"
-  ],
-  "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-  "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
-  "_spec": "balanced-match@^1.0.0",
-  "_where": "/Users/pipobscure/fsevents/node_modules/brace-expansion",
-  "author": {
-    "name": "Julian Gruber",
-    "email": "mail@juliangruber.com",
-    "url": "http://juliangruber.com"
-  },
-  "bugs": {
-    "url": "https://github.com/juliangruber/balanced-match/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {},
-  "deprecated": false,
-  "description": "Match balanced character pairs, like \"{\" and \"}\"",
-  "devDependencies": {
-    "matcha": "^0.7.0",
-    "tape": "^4.6.0"
-  },
-  "homepage": "https://github.com/juliangruber/balanced-match",
-  "keywords": [
-    "match",
-    "regexp",
-    "test",
-    "balanced",
-    "parse"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "balanced-match",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/juliangruber/balanced-match.git"
-  },
-  "scripts": {
-    "bench": "make bench",
-    "test": "make test"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": [
-      "ie/8..latest",
-      "firefox/20..latest",
-      "firefox/nightly",
-      "chrome/25..latest",
-      "chrome/canary",
-      "opera/12..latest",
-      "opera/next",
-      "safari/5.1..latest",
-      "ipad/6.0..latest",
-      "iphone/6.0..latest",
-      "android-browser/4.2..latest"
-    ]
-  },
-  "version": "1.0.0"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE
deleted file mode 100644
index de32266..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2013 Julian Gruber <ju...@juliangruber.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md
deleted file mode 100644
index 6b4e0e1..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/README.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# brace-expansion
-
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), 
-as known from sh/bash, in JavaScript.
-
-[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
-[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
-[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/)
-
-[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
-
-## Example
-
-```js
-var expand = require('brace-expansion');
-
-expand('file-{a,b,c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('-v{,,}')
-// => ['-v', '-v', '-v']
-
-expand('file{0..2}.jpg')
-// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
-
-expand('file-{a..c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('file{2..0}.jpg')
-// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
-
-expand('file{0..4..2}.jpg')
-// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
-
-expand('file-{a..e..2}.jpg')
-// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
-
-expand('file{00..10..5}.jpg')
-// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
-
-expand('{{A..C},{a..c}}')
-// => ['A', 'B', 'C', 'a', 'b', 'c']
-
-expand('ppp{,config,oe{,conf}}')
-// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
-```
-
-## API
-
-```js
-var expand = require('brace-expansion');
-```
-
-### var expanded = expand(str)
-
-Return an array of all possible and valid expansions of `str`. If none are
-found, `[str]` is returned.
-
-Valid expansions are:
-
-```js
-/^(.*,)+(.+)?$/
-// {a,b,...}
-```
-
-A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-A numeric sequence from `x` to `y` inclusive, with optional increment.
-If `x` or `y` start with a leading `0`, all the numbers will be padded
-to have equal length. Negative numbers and backwards iteration work too.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-An alphabetic sequence from `x` to `y` inclusive, with optional increment.
-`x` and `y` must be exactly one character, and if given, `incr` must be a
-number.
-
-For compatibility reasons, the string `${` is not eligible for brace expansion.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install brace-expansion
-```
-
-## Contributors
-
-- [Julian Gruber](https://github.com/juliangruber)
-- [Isaac Z. Schlueter](https://github.com/isaacs)
-
-## Sponsors
-
-This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
-
-Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js
deleted file mode 100644
index 0478be8..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/index.js
+++ /dev/null
@@ -1,201 +0,0 @@
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
-  return parseInt(str, 10) == str
-    ? parseInt(str, 10)
-    : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
-  return str.split('\\\\').join(escSlash)
-            .split('\\{').join(escOpen)
-            .split('\\}').join(escClose)
-            .split('\\,').join(escComma)
-            .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
-  return str.split(escSlash).join('\\')
-            .split(escOpen).join('{')
-            .split(escClose).join('}')
-            .split(escComma).join(',')
-            .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
-  if (!str)
-    return [''];
-
-  var parts = [];
-  var m = balanced('{', '}', str);
-
-  if (!m)
-    return str.split(',');
-
-  var pre = m.pre;
-  var body = m.body;
-  var post = m.post;
-  var p = pre.split(',');
-
-  p[p.length-1] += '{' + body + '}';
-  var postParts = parseCommaParts(post);
-  if (post.length) {
-    p[p.length-1] += postParts.shift();
-    p.push.apply(p, postParts);
-  }
-
-  parts.push.apply(parts, p);
-
-  return parts;
-}
-
-function expandTop(str) {
-  if (!str)
-    return [];
-
-  // I don't know why Bash 4.3 does this, but it does.
-  // Anything starting with {} will have the first two bytes preserved
-  // but *only* at the top level, so {},a}b will not expand to anything,
-  // but a{},b}c will be expanded to [a}c,abc].
-  // One could argue that this is a bug in Bash, but since the goal of
-  // this module is to match Bash's rules, we escape a leading {}
-  if (str.substr(0, 2) === '{}') {
-    str = '\\{\\}' + str.substr(2);
-  }
-
-  return expand(escapeBraces(str), true).map(unescapeBraces);
-}
-
-function identity(e) {
-  return e;
-}
-
-function embrace(str) {
-  return '{' + str + '}';
-}
-function isPadded(el) {
-  return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
-  return i <= y;
-}
-function gte(i, y) {
-  return i >= y;
-}
-
-function expand(str, isTop) {
-  var expansions = [];
-
-  var m = balanced('{', '}', str);
-  if (!m || /\$$/.test(m.pre)) return [str];
-
-  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-  var isSequence = isNumericSequence || isAlphaSequence;
-  var isOptions = m.body.indexOf(',') >= 0;
-  if (!isSequence && !isOptions) {
-    // {a},b}
-    if (m.post.match(/,.*\}/)) {
-      str = m.pre + '{' + m.body + escClose + m.post;
-      return expand(str);
-    }
-    return [str];
-  }
-
-  var n;
-  if (isSequence) {
-    n = m.body.split(/\.\./);
-  } else {
-    n = parseCommaParts(m.body);
-    if (n.length === 1) {
-      // x{{a,b}}y ==> x{a}y x{b}y
-      n = expand(n[0], false).map(embrace);
-      if (n.length === 1) {
-        var post = m.post.length
-          ? expand(m.post, false)
-          : [''];
-        return post.map(function(p) {
-          return m.pre + n[0] + p;
-        });
-      }
-    }
-  }
-
-  // at this point, n is the parts, and we know it's not a comma set
-  // with a single entry.
-
-  // no need to expand pre, since it is guaranteed to be free of brace-sets
-  var pre = m.pre;
-  var post = m.post.length
-    ? expand(m.post, false)
-    : [''];
-
-  var N;
-
-  if (isSequence) {
-    var x = numeric(n[0]);
-    var y = numeric(n[1]);
-    var width = Math.max(n[0].length, n[1].length)
-    var incr = n.length == 3
-      ? Math.abs(numeric(n[2]))
-      : 1;
-    var test = lte;
-    var reverse = y < x;
-    if (reverse) {
-      incr *= -1;
-      test = gte;
-    }
-    var pad = n.some(isPadded);
-
-    N = [];
-
-    for (var i = x; test(i, y); i += incr) {
-      var c;
-      if (isAlphaSequence) {
-        c = String.fromCharCode(i);
-        if (c === '\\')
-          c = '';
-      } else {
-        c = String(i);
-        if (pad) {
-          var need = width - c.length;
-          if (need > 0) {
-            var z = new Array(need + 1).join('0');
-            if (i < 0)
-              c = '-' + z + c.slice(1);
-            else
-              c = z + c;
-          }
-        }
-      }
-      N.push(c);
-    }
-  } else {
-    N = concatMap(n, function(el) { return expand(el, false) });
-  }
-
-  for (var j = 0; j < N.length; j++) {
-    for (var k = 0; k < post.length; k++) {
-      var expansion = pre + N[j] + post[k];
-      if (!isTop || isSequence || expansion)
-        expansions.push(expansion);
-    }
-  }
-
-  return expansions;
-}
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json
deleted file mode 100644
index 0063e45..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/brace-expansion/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
-  "_from": "brace-expansion@^1.1.7",
-  "_id": "brace-expansion@1.1.11",
-  "_inBundle": false,
-  "_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-  "_location": "/brace-expansion",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "brace-expansion@^1.1.7",
-    "name": "brace-expansion",
-    "escapedName": "brace-expansion",
-    "rawSpec": "^1.1.7",
-    "saveSpec": null,
-    "fetchSpec": "^1.1.7"
-  },
-  "_requiredBy": [
-    "/minimatch"
-  ],
-  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-  "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
-  "_spec": "brace-expansion@^1.1.7",
-  "_where": "/Users/pipobscure/fsevents/node_modules/minimatch",
-  "author": {
-    "name": "Julian Gruber",
-    "email": "mail@juliangruber.com",
-    "url": "http://juliangruber.com"
-  },
-  "bugs": {
-    "url": "https://github.com/juliangruber/brace-expansion/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "balanced-match": "^1.0.0",
-    "concat-map": "0.0.1"
-  },
-  "deprecated": false,
-  "description": "Brace expansion as known from sh/bash",
-  "devDependencies": {
-    "matcha": "^0.7.0",
-    "tape": "^4.6.0"
-  },
-  "homepage": "https://github.com/juliangruber/brace-expansion",
-  "keywords": [],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "brace-expansion",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/juliangruber/brace-expansion.git"
-  },
-  "scripts": {
-    "bench": "matcha test/perf/bench.js",
-    "gentest": "bash test/generate.sh",
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": [
-      "ie/8..latest",
-      "firefox/20..latest",
-      "firefox/nightly",
-      "chrome/25..latest",
-      "chrome/canary",
-      "opera/12..latest",
-      "opera/next",
-      "safari/5.1..latest",
-      "ipad/6.0..latest",
-      "iphone/6.0..latest",
-      "android-browser/4.2..latest"
-    ]
-  },
-  "version": "1.1.11"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md
deleted file mode 100644
index 70e9a54..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Like `chown -R`.
-
-Takes the same arguments as `fs.chown()`
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js
deleted file mode 100644
index 9f04393..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/chownr.js
+++ /dev/null
@@ -1,125 +0,0 @@
-'use strict'
-const fs = require('fs')
-const path = require('path')
-
-/* istanbul ignore next */
-const LCHOWN = fs.lchown ? 'lchown' : 'chown'
-/* istanbul ignore next */
-const LCHOWNSYNC = fs.lchownSync ? 'lchownSync' : 'chownSync'
-
-const needEISDIRHandled = fs.lchown &&
-  !process.version.match(/v1[1-9]+\./) &&
-  !process.version.match(/v10\.[6-9]/)
-
-/* istanbul ignore next */
-const handleEISDIR =
-  needEISDIRHandled ? (path, uid, gid, cb) => er => {
-    // Node prior to v10 had a very questionable implementation of
-    // fs.lchown, which would always try to call fs.open on a directory
-    // Fall back to fs.chown in those cases.
-    if (!er || er.code !== 'EISDIR')
-      cb(er)
-    else
-      fs.chown(path, uid, gid, cb)
-  }
-  : (_, __, ___, cb) => cb
-
-/* istanbul ignore next */
-const handleEISDirSync =
-  needEISDIRHandled ? (path, uid, gid) => {
-    try {
-      return fs[LCHOWNSYNC](path, uid, gid)
-    } catch (er) {
-      if (er.code !== 'EISDIR')
-        throw er
-      fs.chownSync(path, uid, gid)
-    }
-  }
-  : (path, uid, gid) => fs[LCHOWNSYNC](path, uid, gid)
-
-// fs.readdir could only accept an options object as of node v6
-const nodeVersion = process.version
-let readdir = (path, options, cb) => fs.readdir(path, options, cb)
-let readdirSync = (path, options) => fs.readdirSync(path, options)
-/* istanbul ignore next */
-if (/^v4\./.test(nodeVersion))
-  readdir = (path, options, cb) => fs.readdir(path, cb)
-
-const chownrKid = (p, child, uid, gid, cb) => {
-  if (typeof child === 'string')
-    return fs.lstat(path.resolve(p, child), (er, stats) => {
-      if (er)
-        return cb(er)
-      stats.name = child
-      chownrKid(p, stats, uid, gid, cb)
-    })
-
-  if (child.isDirectory()) {
-    chownr(path.resolve(p, child.name), uid, gid, er => {
-      if (er)
-        return cb(er)
-      const cpath = path.resolve(p, child.name)
-      fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb))
-    })
-  } else {
-    const cpath = path.resolve(p, child.name)
-    fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb))
-  }
-}
-
-
-const chownr = (p, uid, gid, cb) => {
-  readdir(p, { withFileTypes: true }, (er, children) => {
-    // any error other than ENOTDIR or ENOTSUP means it's not readable,
-    // or doesn't exist.  give up.
-    if (er && er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP')
-      return cb(er)
-    if (er || !children.length)
-      return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb))
-
-    let len = children.length
-    let errState = null
-    const then = er => {
-      if (errState)
-        return
-      if (er)
-        return cb(errState = er)
-      if (-- len === 0)
-        return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb))
-    }
-
-    children.forEach(child => chownrKid(p, child, uid, gid, then))
-  })
-}
-
-const chownrKidSync = (p, child, uid, gid) => {
-  if (typeof child === 'string') {
-    const stats = fs.lstatSync(path.resolve(p, child))
-    stats.name = child
-    child = stats
-  }
-
-  if (child.isDirectory())
-    chownrSync(path.resolve(p, child.name), uid, gid)
-
-  handleEISDirSync(path.resolve(p, child.name), uid, gid)
-}
-
-const chownrSync = (p, uid, gid) => {
-  let children
-  try {
-    children = readdirSync(p, { withFileTypes: true })
-  } catch (er) {
-    if (er && er.code === 'ENOTDIR' && er.code !== 'ENOTSUP')
-      return handleEISDirSync(p, uid, gid)
-    throw er
-  }
-
-  if (children.length)
-    children.forEach(child => chownrKidSync(p, child, uid, gid))
-
-  return handleEISDirSync(p, uid, gid)
-}
-
-module.exports = chownr
-chownr.sync = chownrSync
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json
deleted file mode 100644
index bfb5bb7..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/chownr/package.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-  "_from": "chownr@^1.1.1",
-  "_id": "chownr@1.1.3",
-  "_inBundle": false,
-  "_integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
-  "_location": "/chownr",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "chownr@^1.1.1",
-    "name": "chownr",
-    "escapedName": "chownr",
-    "rawSpec": "^1.1.1",
-    "saveSpec": null,
-    "fetchSpec": "^1.1.1"
-  },
-  "_requiredBy": [
-    "/tar"
-  ],
-  "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
-  "_shasum": "42d837d5239688d55f303003a508230fa6727142",
-  "_spec": "chownr@^1.1.1",
-  "_where": "/Users/pipobscure/fsevents/node_modules/tar",
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "i@izs.me",
-    "url": "http://blog.izs.me/"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/chownr/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "like `chown -R`",
-  "devDependencies": {
-    "mkdirp": "0.3",
-    "rimraf": "",
-    "tap": "^12.0.1"
-  },
-  "files": [
-    "chownr.js"
-  ],
-  "homepage": "https://github.com/isaacs/chownr#readme",
-  "license": "ISC",
-  "main": "chownr.js",
-  "name": "chownr",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/chownr.git"
-  },
-  "scripts": {
-    "postpublish": "git push origin --follow-tags",
-    "postversion": "npm publish",
-    "preversion": "npm test",
-    "test": "tap test/*.js --cov"
-  },
-  "version": "1.1.3"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js
deleted file mode 100644
index 0432fe6..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/index.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/* eslint-disable babel/new-cap, xo/throw-new-error */
-'use strict';
-module.exports = function (str, pos) {
-	if (str === null || str === undefined) {
-		throw TypeError();
-	}
-
-	str = String(str);
-
-	var size = str.length;
-	var i = pos ? Number(pos) : 0;
-
-	if (Number.isNaN(i)) {
-		i = 0;
-	}
-
-	if (i < 0 || i >= size) {
-		return undefined;
-	}
-
-	var first = str.charCodeAt(i);
-
-	if (first >= 0xD800 && first <= 0xDBFF && size > i + 1) {
-		var second = str.charCodeAt(i + 1);
-
-		if (second >= 0xDC00 && second <= 0xDFFF) {
-			return ((first - 0xD800) * 0x400) + second - 0xDC00 + 0x10000;
-		}
-	}
-
-	return first;
-};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license
deleted file mode 100644
index 654d0bf..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json
deleted file mode 100644
index fee158c..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
-  "_from": "code-point-at@^1.0.0",
-  "_id": "code-point-at@1.1.0",
-  "_inBundle": false,
-  "_integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-  "_location": "/code-point-at",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "code-point-at@^1.0.0",
-    "name": "code-point-at",
-    "escapedName": "code-point-at",
-    "rawSpec": "^1.0.0",
-    "saveSpec": null,
-    "fetchSpec": "^1.0.0"
-  },
-  "_requiredBy": [
-    "/string-width"
-  ],
-  "_resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-  "_shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77",
-  "_spec": "code-point-at@^1.0.0",
-  "_where": "/Users/pipobscure/fsevents/node_modules/string-width",
-  "author": {
-    "name": "Sindre Sorhus",
-    "email": "sindresorhus@gmail.com",
-    "url": "sindresorhus.com"
-  },
-  "bugs": {
-    "url": "https://github.com/sindresorhus/code-point-at/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "ES2015 `String#codePointAt()` ponyfill",
-  "devDependencies": {
-    "ava": "*",
-    "xo": "^0.16.0"
-  },
-  "engines": {
-    "node": ">=0.10.0"
-  },
-  "files": [
-    "index.js"
-  ],
-  "homepage": "https://github.com/sindresorhus/code-point-at#readme",
-  "keywords": [
-    "es2015",
-    "ponyfill",
-    "polyfill",
-    "shim",
-    "string",
-    "str",
-    "code",
-    "point",
-    "at",
-    "codepoint",
-    "unicode"
-  ],
-  "license": "MIT",
-  "name": "code-point-at",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/sindresorhus/code-point-at.git"
-  },
-  "scripts": {
-    "test": "xo && ava"
-  },
-  "version": "1.1.0"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md
deleted file mode 100644
index 4c97730..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/code-point-at/readme.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# code-point-at [![Build Status](https://travis-ci.org/sindresorhus/code-point-at.svg?branch=master)](https://travis-ci.org/sindresorhus/code-point-at)
-
-> ES2015 [`String#codePointAt()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) [ponyfill](https://ponyfill.com)
-
-
-## Install
-
-```
-$ npm install --save code-point-at
-```
-
-
-## Usage
-
-```js
-var codePointAt = require('code-point-at');
-
-codePointAt('🐴');
-//=> 128052
-
-codePointAt('abc', 2);
-//=> 99
-```
-
-## API
-
-### codePointAt(input, [position])
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml
deleted file mode 100644
index f1d0f13..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
-  - 0.4
-  - 0.6
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE
deleted file mode 100644
index ee27ba4..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-This software is released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown
deleted file mode 100644
index 408f70a..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/README.markdown
+++ /dev/null
@@ -1,62 +0,0 @@
-concat-map
-==========
-
-Concatenative mapdashery.
-
-[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)
-
-[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)
-
-example
-=======
-
-``` js
-var concatMap = require('concat-map');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
-    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
-```
-
-***
-
-```
-[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]
-```
-
-methods
-=======
-
-``` js
-var concatMap = require('concat-map')
-```
-
-concatMap(xs, fn)
------------------
-
-Return an array of concatenated elements by calling `fn(x, i)` for each element
-`x` and each index `i` in the array `xs`.
-
-When `fn(x, i)` returns an array, its result will be concatenated with the
-result array. If `fn(x, i)` returns anything else, that value will be pushed
-onto the end of the result array.
-
-install
-=======
-
-With [npm](http://npmjs.org) do:
-
-```
-npm install concat-map
-```
-
-license
-=======
-
-MIT
-
-notes
-=====
-
-This module was written while sitting high above the ground in a tree.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js
deleted file mode 100644
index 3365621..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/example/map.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var concatMap = require('../');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
-    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js
deleted file mode 100644
index b29a781..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = function (xs, fn) {
-    var res = [];
-    for (var i = 0; i < xs.length; i++) {
-        var x = fn(xs[i], i);
-        if (isArray(x)) res.push.apply(res, x);
-        else res.push(x);
-    }
-    return res;
-};
-
-var isArray = Array.isArray || function (xs) {
-    return Object.prototype.toString.call(xs) === '[object Array]';
-};
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json
deleted file mode 100644
index 2906dbf..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "_from": "concat-map@0.0.1",
-  "_id": "concat-map@0.0.1",
-  "_inBundle": false,
-  "_integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-  "_location": "/concat-map",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "version",
-    "registry": true,
-    "raw": "concat-map@0.0.1",
-    "name": "concat-map",
-    "escapedName": "concat-map",
-    "rawSpec": "0.0.1",
-    "saveSpec": null,
-    "fetchSpec": "0.0.1"
-  },
-  "_requiredBy": [
-    "/brace-expansion"
-  ],
-  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-  "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
-  "_spec": "concat-map@0.0.1",
-  "_where": "/Users/pipobscure/fsevents/node_modules/brace-expansion",
-  "author": {
-    "name": "James Halliday",
-    "email": "mail@substack.net",
-    "url": "http://substack.net"
-  },
-  "bugs": {
-    "url": "https://github.com/substack/node-concat-map/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "concatenative mapdashery",
-  "devDependencies": {
-    "tape": "~2.4.0"
-  },
-  "directories": {
-    "example": "example",
-    "test": "test"
-  },
-  "homepage": "https://github.com/substack/node-concat-map#readme",
-  "keywords": [
-    "concat",
-    "concatMap",
-    "map",
-    "functional",
-    "higher-order"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "concat-map",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/substack/node-concat-map.git"
-  },
-  "scripts": {
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": {
-      "ie": [
-        6,
-        7,
-        8,
-        9
-      ],
-      "ff": [
-        3.5,
-        10,
-        15
-      ],
-      "chrome": [
-        10,
-        22
-      ],
-      "safari": [
-        5.1
-      ],
-      "opera": [
-        12
-      ]
-    }
-  },
-  "version": "0.0.1"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js
deleted file mode 100644
index fdbd702..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/concat-map/test/map.js
+++ /dev/null
@@ -1,39 +0,0 @@
-var concatMap = require('../');
-var test = require('tape');
-
-test('empty or not', function (t) {
-    var xs = [ 1, 2, 3, 4, 5, 6 ];
-    var ixes = [];
-    var ys = concatMap(xs, function (x, ix) {
-        ixes.push(ix);
-        return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-    });
-    t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]);
-    t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]);
-    t.end();
-});
-
-test('always something', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function (x) {
-        return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ];
-    });
-    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
-    t.end();
-});
-
-test('scalars', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function (x) {
-        return x === 'b' ? [ 'B', 'B', 'B' ] : x;
-    });
-    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
-    t.end();
-});
-
-test('undefs', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function () {});
-    t.same(ys, [ undefined, undefined, undefined, undefined ]);
-    t.end();
-});
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE
deleted file mode 100644
index e756052..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2014, Rebecca Turner <me...@re-becca.org>
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md
deleted file mode 100644
index f58cc8d..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# Console Control Strings
-
-A library of cross-platform tested terminal/console command strings for
-doing things like color and cursor positioning.  This is a subset of both
-ansi and vt100.  All control codes included work on both Windows & Unix-like
-OSes, except where noted.
-
-## Usage
-
-```js
-var consoleControl = require('console-control-strings')
-
-console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
-process.stdout.write(consoleControl.goto(75, 10))
-```
-
-## Why Another?
-
-There are tons of libraries similar to this one.  I wanted one that was:
-
-1. Very clear about compatibility goals.
-2. Could emit, for instance, a start color code without an end one.
-3. Returned strings w/o writing to streams.
-4. Was not weighed down with other unrelated baggage.
-
-## Functions
-
-### var code = consoleControl.up(_num = 1_)
-
-Returns the escape sequence to move _num_ lines up.
-
-### var code = consoleControl.down(_num = 1_)
-
-Returns the escape sequence to move _num_ lines down.
-
-### var code = consoleControl.forward(_num = 1_)
-
-Returns the escape sequence to move _num_ lines righ.
-
-### var code = consoleControl.back(_num = 1_)
-
-Returns the escape sequence to move _num_ lines left.
-
-### var code = consoleControl.nextLine(_num = 1_)
-
-Returns the escape sequence to move _num_ lines down and to the beginning of
-the line.
-
-### var code = consoleControl.previousLine(_num = 1_)
-
-Returns the escape sequence to move _num_ lines up and to the beginning of
-the line.
-
-### var code = consoleControl.eraseData()
-
-Returns the escape sequence to erase everything from the current cursor
-position to the bottom right of the screen.  This is line based, so it
-erases the remainder of the current line and all following lines.
-
-### var code = consoleControl.eraseLine()
-
-Returns the escape sequence to erase to the end of the current line.
-
-### var code = consoleControl.goto(_x_, _y_)
-
-Returns the escape sequence to move the cursor to the designated position. 
-Note that the origin is _1, 1_ not _0, 0_.
-
-### var code = consoleControl.gotoSOL()
-
-Returns the escape sequence to move the cursor to the beginning of the
-current line. (That is, it returns a carriage return, `\r`.)
-
-### var code = consoleControl.beep()
-
-Returns the escape sequence to cause the termianl to beep.  (That is, it
-returns unicode character `\x0007`, a Control-G.)
-
-### var code = consoleControl.hideCursor()
-
-Returns the escape sequence to hide the cursor.
-
-### var code = consoleControl.showCursor()
-
-Returns the escape sequence to show the cursor.
-
-### var code = consoleControl.color(_colors = []_)
-
-### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
-
-Returns the escape sequence to set the current terminal display attributes
-(mostly colors).  Arguments can either be a list of attributes or an array
-of attributes.  The difference between passing in an array or list of colors
-and calling `.color` separately for each one, is that in the former case a
-single escape sequence will be produced where as in the latter each change
-will have its own distinct escape sequence.  Each attribute can be one of:
-
-* Reset:
-  * **reset** – Reset all attributes to the terminal default.
-* Styles:
-  * **bold** – Display text as bold.  In some terminals this means using a
-    bold font, in others this means changing the color.  In some it means
-    both.
-  * **italic** – Display text as italic. This is not available in most Windows terminals.
-  * **underline** – Underline text. This is not available in most Windows Terminals.
-  * **inverse** – Invert the foreground and background colors.
-  * **stopBold** – Do not display text as bold.
-  * **stopItalic** – Do not display text as italic.
-  * **stopUnderline** – Do not underline text.
-  * **stopInverse** – Do not invert foreground and background.
-* Colors:
-  * **white**
-  * **black**
-  * **blue**
-  * **cyan**
-  * **green**
-  * **magenta**
-  * **red**
-  * **yellow**
-  * **grey** / **brightBlack**
-  * **brightRed**
-  * **brightGreen**
-  * **brightYellow**
-  * **brightBlue**
-  * **brightMagenta**
-  * **brightCyan**
-  * **brightWhite**
-* Background Colors:
-  * **bgWhite**
-  * **bgBlack**
-  * **bgBlue**
-  * **bgCyan**
-  * **bgGreen**
-  * **bgMagenta**
-  * **bgRed**
-  * **bgYellow**
-  * **bgGrey** / **bgBrightBlack**
-  * **bgBrightRed**
-  * **bgBrightGreen**
-  * **bgBrightYellow**
-  * **bgBrightBlue**
-  * **bgBrightMagenta**
-  * **bgBrightCyan**
-  * **bgBrightWhite**
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~ b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~
deleted file mode 100644
index 6eb34e8..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/README.md~
+++ /dev/null
@@ -1,140 +0,0 @@
-# Console Control Strings
-
-A library of cross-platform tested terminal/console command strings for
-doing things like color and cursor positioning.  This is a subset of both
-ansi and vt100.  All control codes included work on both Windows & Unix-like
-OSes, except where noted.
-
-## Usage
-
-```js
-var consoleControl = require('console-control-strings')
-
-console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
-process.stdout.write(consoleControl.goto(75, 10))
-```
-
-## Why Another?
-
-There are tons of libraries similar to this one.  I wanted one that was:
-
-1. Very clear about compatibility goals.
-2. Could emit, for instance, a start color code without an end one.
-3. Returned strings w/o writing to streams.
-4. Was not weighed down with other unrelated baggage.
-
-## Functions
-
-### var code = consoleControl.up(_num = 1_)
-
-Returns the escape sequence to move _num_ lines up.
-
-### var code = consoleControl.down(_num = 1_)
-
-Returns the escape sequence to move _num_ lines down.
-
-### var code = consoleControl.forward(_num = 1_)
-
-Returns the escape sequence to move _num_ lines righ.
-
-### var code = consoleControl.back(_num = 1_)
-
-Returns the escape sequence to move _num_ lines left.
-
-### var code = consoleControl.nextLine(_num = 1_)
-
-Returns the escape sequence to move _num_ lines down and to the beginning of
-the line.
-
-### var code = consoleControl.previousLine(_num = 1_)
-
-Returns the escape sequence to move _num_ lines up and to the beginning of
-the line.
-
-### var code = consoleControl.eraseData()
-
-Returns the escape sequence to erase everything from the current cursor
-position to the bottom right of the screen.  This is line based, so it
-erases the remainder of the current line and all following lines.
-
-### var code = consoleControl.eraseLine()
-
-Returns the escape sequence to erase to the end of the current line.
-
-### var code = consoleControl.goto(_x_, _y_)
-
-Returns the escape sequence to move the cursor to the designated position. 
-Note that the origin is _1, 1_ not _0, 0_.
-
-### var code = consoleControl.gotoSOL()
-
-Returns the escape sequence to move the cursor to the beginning of the
-current line. (That is, it returns a carriage return, `\r`.)
-
-### var code = consoleControl.hideCursor()
-
-Returns the escape sequence to hide the cursor.
-
-### var code = consoleControl.showCursor()
-
-Returns the escape sequence to show the cursor.
-
-### var code = consoleControl.color(_colors = []_)
-
-### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
-
-Returns the escape sequence to set the current terminal display attributes
-(mostly colors).  Arguments can either be a list of attributes or an array
-of attributes.  The difference between passing in an array or list of colors
-and calling `.color` separately for each one, is that in the former case a
-single escape sequence will be produced where as in the latter each change
-will have its own distinct escape sequence.  Each attribute can be one of:
-
-* Reset:
-  * **reset** – Reset all attributes to the terminal default.
-* Styles:
-  * **bold** – Display text as bold.  In some terminals this means using a
-    bold font, in others this means changing the color.  In some it means
-    both.
-  * **italic** – Display text as italic. This is not available in most Windows terminals.
-  * **underline** – Underline text. This is not available in most Windows Terminals.
-  * **inverse** – Invert the foreground and background colors.
-  * **stopBold** – Do not display text as bold.
-  * **stopItalic** – Do not display text as italic.
-  * **stopUnderline** – Do not underline text.
-  * **stopInverse** – Do not invert foreground and background.
-* Colors:
-  * **white**
-  * **black**
-  * **blue**
-  * **cyan**
-  * **green**
-  * **magenta**
-  * **red**
-  * **yellow**
-  * **grey** / **brightBlack**
-  * **brightRed**
-  * **brightGreen**
-  * **brightYellow**
-  * **brightBlue**
-  * **brightMagenta**
-  * **brightCyan**
-  * **brightWhite**
-* Background Colors:
-  * **bgWhite**
-  * **bgBlack**
-  * **bgBlue**
-  * **bgCyan**
-  * **bgGreen**
-  * **bgMagenta**
-  * **bgRed**
-  * **bgYellow**
-  * **bgGrey** / **bgBrightBlack**
-  * **bgBrightRed**
-  * **bgBrightGreen**
-  * **bgBrightYellow**
-  * **bgBrightBlue**
-  * **bgBrightMagenta**
-  * **bgBrightCyan**
-  * **bgBrightWhite**
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js
deleted file mode 100644
index bf89034..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/index.js
+++ /dev/null
@@ -1,125 +0,0 @@
-'use strict'
-
-// These tables borrowed from `ansi`
-
-var prefix = '\x1b['
-
-exports.up = function up (num) {
-  return prefix + (num || '') + 'A'
-}
-
-exports.down = function down (num) {
-  return prefix + (num || '') + 'B'
-}
-
-exports.forward = function forward (num) {
-  return prefix + (num || '') + 'C'
-}
-
-exports.back = function back (num) {
-  return prefix + (num || '') + 'D'
-}
-
-exports.nextLine = function nextLine (num) {
-  return prefix + (num || '') + 'E'
-}
-
-exports.previousLine = function previousLine (num) {
-  return prefix + (num || '') + 'F'
-}
-
-exports.horizontalAbsolute = function horizontalAbsolute (num) {
-  if (num == null) throw new Error('horizontalAboslute requires a column to position to')
-  return prefix + num + 'G'
-}
-
-exports.eraseData = function eraseData () {
-  return prefix + 'J'
-}
-
-exports.eraseLine = function eraseLine () {
-  return prefix + 'K'
-}
-
-exports.goto = function (x, y) {
-  return prefix + y + ';' + x + 'H'
-}
-
-exports.gotoSOL = function () {
-  return '\r'
-}
-
-exports.beep = function () {
-  return '\x07'
-}
-
-exports.hideCursor = function hideCursor () {
-  return prefix + '?25l'
-}
-
-exports.showCursor = function showCursor () {
-  return prefix + '?25h'
-}
-
-var colors = {
-  reset: 0,
-// styles
-  bold: 1,
-  italic: 3,
-  underline: 4,
-  inverse: 7,
-// resets
-  stopBold: 22,
-  stopItalic: 23,
-  stopUnderline: 24,
-  stopInverse: 27,
-// colors
-  white: 37,
-  black: 30,
-  blue: 34,
-  cyan: 36,
-  green: 32,
-  magenta: 35,
-  red: 31,
-  yellow: 33,
-  bgWhite: 47,
-  bgBlack: 40,
-  bgBlue: 44,
-  bgCyan: 46,
-  bgGreen: 42,
-  bgMagenta: 45,
-  bgRed: 41,
-  bgYellow: 43,
-
-  grey: 90,
-  brightBlack: 90,
-  brightRed: 91,
-  brightGreen: 92,
-  brightYellow: 93,
-  brightBlue: 94,
-  brightMagenta: 95,
-  brightCyan: 96,
-  brightWhite: 97,
-
-  bgGrey: 100,
-  bgBrightBlack: 100,
-  bgBrightRed: 101,
-  bgBrightGreen: 102,
-  bgBrightYellow: 103,
-  bgBrightBlue: 104,
-  bgBrightMagenta: 105,
-  bgBrightCyan: 106,
-  bgBrightWhite: 107
-}
-
-exports.color = function color (colorWith) {
-  if (arguments.length !== 1 || !Array.isArray(colorWith)) {
-    colorWith = Array.prototype.slice.call(arguments)
-  }
-  return prefix + colorWith.map(colorNameToCode).join(';') + 'm'
-}
-
-function colorNameToCode (color) {
-  if (colors[color] != null) return colors[color]
-  throw new Error('Unknown color or style name: ' + color)
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json
deleted file mode 100644
index bd05097..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/console-control-strings/package.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
-  "_from": "console-control-strings@~1.1.0",
-  "_id": "console-control-strings@1.1.0",
-  "_inBundle": false,
-  "_integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-  "_location": "/console-control-strings",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "console-control-strings@~1.1.0",
-    "name": "console-control-strings",
-    "escapedName": "console-control-strings",
-    "rawSpec": "~1.1.0",
-    "saveSpec": null,
-    "fetchSpec": "~1.1.0"
-  },
-  "_requiredBy": [
-    "/gauge",
-    "/npmlog"
-  ],
-  "_resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-  "_shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e",
-  "_spec": "console-control-strings@~1.1.0",
-  "_where": "/Users/pipobscure/fsevents/node_modules/npmlog",
-  "author": {
-    "name": "Rebecca Turner",
-    "email": "me@re-becca.org",
-    "url": "http://re-becca.org/"
-  },
-  "bugs": {
-    "url": "https://github.com/iarna/console-control-strings/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning.  This is a subset of both ansi and vt100.  All control codes included work on both Windows & Unix-like OSes, except where noted.",
-  "devDependencies": {
-    "standard": "^7.1.2",
-    "tap": "^5.7.2"
-  },
-  "directories": {
-    "test": "test"
-  },
-  "files": [
-    "LICENSE",
-    "index.js"
-  ],
-  "homepage": "https://github.com/iarna/console-control-strings#readme",
-  "keywords": [],
-  "license": "ISC",
-  "main": "index.js",
-  "name": "console-control-strings",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/iarna/console-control-strings.git"
-  },
-  "scripts": {
-    "test": "standard && tap test/*.js"
-  },
-  "version": "1.1.0"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE
deleted file mode 100644
index d8d7f94..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md
deleted file mode 100644
index 5a76b41..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# core-util-is
-
-The `util.is*` functions introduced in Node v0.12.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch
deleted file mode 100644
index a06d5c0..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/float.patch
+++ /dev/null
@@ -1,604 +0,0 @@
-diff --git a/lib/util.js b/lib/util.js
-index a03e874..9074e8e 100644
---- a/lib/util.js
-+++ b/lib/util.js
-@@ -19,430 +19,6 @@
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
--var formatRegExp = /%[sdj%]/g;
--exports.format = function(f) {
--  if (!isString(f)) {
--    var objects = [];
--    for (var i = 0; i < arguments.length; i++) {
--      objects.push(inspect(arguments[i]));
--    }
--    return objects.join(' ');
--  }
--
--  var i = 1;
--  var args = arguments;
--  var len = args.length;
--  var str = String(f).replace(formatRegExp, function(x) {
--    if (x === '%%') return '%';
--    if (i >= len) return x;
--    switch (x) {
--      case '%s': return String(args[i++]);
--      case '%d': return Number(args[i++]);
--      case '%j':
--        try {
--          return JSON.stringify(args[i++]);
--        } catch (_) {
--          return '[Circular]';
--        }
--      default:
--        return x;
--    }
--  });
--  for (var x = args[i]; i < len; x = args[++i]) {
--    if (isNull(x) || !isObject(x)) {
--      str += ' ' + x;
--    } else {
--      str += ' ' + inspect(x);
--    }
--  }
--  return str;
--};
--
--
--// Mark that a method should not be used.
--// Returns a modified function which warns once by default.
--// If --no-deprecation is set, then it is a no-op.
--exports.deprecate = function(fn, msg) {
--  // Allow for deprecating things in the process of starting up.
--  if (isUndefined(global.process)) {
--    return function() {
--      return exports.deprecate(fn, msg).apply(this, arguments);
--    };
--  }
--
--  if (process.noDeprecation === true) {
--    return fn;
--  }
--
--  var warned = false;
--  function deprecated() {
--    if (!warned) {
--      if (process.throwDeprecation) {
--        throw new Error(msg);
--      } else if (process.traceDeprecation) {
--        console.trace(msg);
--      } else {
--        console.error(msg);
--      }
--      warned = true;
--    }
--    return fn.apply(this, arguments);
--  }
--
--  return deprecated;
--};
--
--
--var debugs = {};
--var debugEnviron;
--exports.debuglog = function(set) {
--  if (isUndefined(debugEnviron))
--    debugEnviron = process.env.NODE_DEBUG || '';
--  set = set.toUpperCase();
--  if (!debugs[set]) {
--    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
--      var pid = process.pid;
--      debugs[set] = function() {
--        var msg = exports.format.apply(exports, arguments);
--        console.error('%s %d: %s', set, pid, msg);
--      };
--    } else {
--      debugs[set] = function() {};
--    }
--  }
--  return debugs[set];
--};
--
--
--/**
-- * Echos the value of a value. Trys to print the value out
-- * in the best way possible given the different types.
-- *
-- * @param {Object} obj The object to print out.
-- * @param {Object} opts Optional options object that alters the output.
-- */
--/* legacy: obj, showHidden, depth, colors*/
--function inspect(obj, opts) {
--  // default options
--  var ctx = {
--    seen: [],
--    stylize: stylizeNoColor
--  };
--  // legacy...
--  if (arguments.length >= 3) ctx.depth = arguments[2];
--  if (arguments.length >= 4) ctx.colors = arguments[3];
--  if (isBoolean(opts)) {
--    // legacy...
--    ctx.showHidden = opts;
--  } else if (opts) {
--    // got an "options" object
--    exports._extend(ctx, opts);
--  }
--  // set default options
--  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
--  if (isUndefined(ctx.depth)) ctx.depth = 2;
--  if (isUndefined(ctx.colors)) ctx.colors = false;
--  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
--  if (ctx.colors) ctx.stylize = stylizeWithColor;
--  return formatValue(ctx, obj, ctx.depth);
--}
--exports.inspect = inspect;
--
--
--// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
--inspect.colors = {
--  'bold' : [1, 22],
--  'italic' : [3, 23],
--  'underline' : [4, 24],
--  'inverse' : [7, 27],
--  'white' : [37, 39],
--  'grey' : [90, 39],
--  'black' : [30, 39],
--  'blue' : [34, 39],
--  'cyan' : [36, 39],
--  'green' : [32, 39],
--  'magenta' : [35, 39],
--  'red' : [31, 39],
--  'yellow' : [33, 39]
--};
--
--// Don't use 'blue' not visible on cmd.exe
--inspect.styles = {
--  'special': 'cyan',
--  'number': 'yellow',
--  'boolean': 'yellow',
--  'undefined': 'grey',
--  'null': 'bold',
--  'string': 'green',
--  'date': 'magenta',
--  // "name": intentionally not styling
--  'regexp': 'red'
--};
--
--
--function stylizeWithColor(str, styleType) {
--  var style = inspect.styles[styleType];
--
--  if (style) {
--    return '\u001b[' + inspect.colors[style][0] + 'm' + str +
--           '\u001b[' + inspect.colors[style][1] + 'm';
--  } else {
--    return str;
--  }
--}
--
--
--function stylizeNoColor(str, styleType) {
--  return str;
--}
--
--
--function arrayToHash(array) {
--  var hash = {};
--
--  array.forEach(function(val, idx) {
--    hash[val] = true;
--  });
--
--  return hash;
--}
--
--
--function formatValue(ctx, value, recurseTimes) {
--  // Provide a hook for user-specified inspect functions.
--  // Check that value is an object with an inspect function on it
--  if (ctx.customInspect &&
--      value &&
--      isFunction(value.inspect) &&
--      // Filter out the util module, it's inspect function is special
--      value.inspect !== exports.inspect &&
--      // Also filter out any prototype objects using the circular check.
--      !(value.constructor && value.constructor.prototype === value)) {
--    var ret = value.inspect(recurseTimes, ctx);
--    if (!isString(ret)) {
--      ret = formatValue(ctx, ret, recurseTimes);
--    }
--    return ret;
--  }
--
--  // Primitive types cannot have properties
--  var primitive = formatPrimitive(ctx, value);
--  if (primitive) {
--    return primitive;
--  }
--
--  // Look up the keys of the object.
--  var keys = Object.keys(value);
--  var visibleKeys = arrayToHash(keys);
--
--  if (ctx.showHidden) {
--    keys = Object.getOwnPropertyNames(value);
--  }
--
--  // Some type of object without properties can be shortcutted.
--  if (keys.length === 0) {
--    if (isFunction(value)) {
--      var name = value.name ? ': ' + value.name : '';
--      return ctx.stylize('[Function' + name + ']', 'special');
--    }
--    if (isRegExp(value)) {
--      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
--    }
--    if (isDate(value)) {
--      return ctx.stylize(Date.prototype.toString.call(value), 'date');
--    }
--    if (isError(value)) {
--      return formatError(value);
--    }
--  }
--
--  var base = '', array = false, braces = ['{', '}'];
--
--  // Make Array say that they are Array
--  if (isArray(value)) {
--    array = true;
--    braces = ['[', ']'];
--  }
--
--  // Make functions say that they are functions
--  if (isFunction(value)) {
--    var n = value.name ? ': ' + value.name : '';
--    base = ' [Function' + n + ']';
--  }
--
--  // Make RegExps say that they are RegExps
--  if (isRegExp(value)) {
--    base = ' ' + RegExp.prototype.toString.call(value);
--  }
--
--  // Make dates with properties first say the date
--  if (isDate(value)) {
--    base = ' ' + Date.prototype.toUTCString.call(value);
--  }
--
--  // Make error with message first say the error
--  if (isError(value)) {
--    base = ' ' + formatError(value);
--  }
--
--  if (keys.length === 0 && (!array || value.length == 0)) {
--    return braces[0] + base + braces[1];
--  }
--
--  if (recurseTimes < 0) {
--    if (isRegExp(value)) {
--      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
--    } else {
--      return ctx.stylize('[Object]', 'special');
--    }
--  }
--
--  ctx.seen.push(value);
--
--  var output;
--  if (array) {
--    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
--  } else {
--    output = keys.map(function(key) {
--      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
--    });
--  }
--
--  ctx.seen.pop();
--
--  return reduceToSingleString(output, base, braces);
--}
--
--
--function formatPrimitive(ctx, value) {
--  if (isUndefined(value))
--    return ctx.stylize('undefined', 'undefined');
--  if (isString(value)) {
--    var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
--                                             .replace(/'/g, "\\'")
--                                             .replace(/\\"/g, '"') + '\'';
--    return ctx.stylize(simple, 'string');
--  }
--  if (isNumber(value)) {
--    // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
--    // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
--    if (value === 0 && 1 / value < 0)
--      return ctx.stylize('-0', 'number');
--    return ctx.stylize('' + value, 'number');
--  }
--  if (isBoolean(value))
--    return ctx.stylize('' + value, 'boolean');
--  // For some reason typeof null is "object", so special case here.
--  if (isNull(value))
--    return ctx.stylize('null', 'null');
--}
--
--
--function formatError(value) {
--  return '[' + Error.prototype.toString.call(value) + ']';
--}
--
--
--function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
--  var output = [];
--  for (var i = 0, l = value.length; i < l; ++i) {
--    if (hasOwnProperty(value, String(i))) {
--      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
--          String(i), true));
--    } else {
--      output.push('');
--    }
--  }
--  keys.forEach(function(key) {
--    if (!key.match(/^\d+$/)) {
--      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
--          key, true));
--    }
--  });
--  return output;
--}
--
--
--function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
--  var name, str, desc;
--  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
--  if (desc.get) {
--    if (desc.set) {
--      str = ctx.stylize('[Getter/Setter]', 'special');
--    } else {
--      str = ctx.stylize('[Getter]', 'special');
--    }
--  } else {
--    if (desc.set) {
--      str = ctx.stylize('[Setter]', 'special');
--    }
--  }
--  if (!hasOwnProperty(visibleKeys, key)) {
--    name = '[' + key + ']';
--  }
--  if (!str) {
--    if (ctx.seen.indexOf(desc.value) < 0) {
--      if (isNull(recurseTimes)) {
--        str = formatValue(ctx, desc.value, null);
--      } else {
--        str = formatValue(ctx, desc.value, recurseTimes - 1);
--      }
--      if (str.indexOf('\n') > -1) {
--        if (array) {
--          str = str.split('\n').map(function(line) {
--            return '  ' + line;
--          }).join('\n').substr(2);
--        } else {
--          str = '\n' + str.split('\n').map(function(line) {
--            return '   ' + line;
--          }).join('\n');
--        }
--      }
--    } else {
--      str = ctx.stylize('[Circular]', 'special');
--    }
--  }
--  if (isUndefined(name)) {
--    if (array && key.match(/^\d+$/)) {
--      return str;
--    }
--    name = JSON.stringify('' + key);
--    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
--      name = name.substr(1, name.length - 2);
--      name = ctx.stylize(name, 'name');
--    } else {
--      name = name.replace(/'/g, "\\'")
--                 .replace(/\\"/g, '"')
--                 .replace(/(^"|"$)/g, "'");
--      name = ctx.stylize(name, 'string');
--    }
--  }
--
--  return name + ': ' + str;
--}
--
--
--function reduceToSingleString(output, base, braces) {
--  var numLinesEst = 0;
--  var length = output.reduce(function(prev, cur) {
--    numLinesEst++;
--    if (cur.indexOf('\n') >= 0) numLinesEst++;
--    return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
--  }, 0);
--
--  if (length > 60) {
--    return braces[0] +
--           (base === '' ? '' : base + '\n ') +
--           ' ' +
--           output.join(',\n  ') +
--           ' ' +
--           braces[1];
--  }
--
--  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
--}
--
--
- // NOTE: These type checking functions intentionally don't use `instanceof`
- // because it is fragile and can be easily faked with `Object.create()`.
- function isArray(ar) {
-@@ -522,166 +98,10 @@ function isPrimitive(arg) {
- exports.isPrimitive = isPrimitive;
-
- function isBuffer(arg) {
--  return arg instanceof Buffer;
-+  return Buffer.isBuffer(arg);
- }
- exports.isBuffer = isBuffer;
-
- function objectToString(o) {
-   return Object.prototype.toString.call(o);
--}
--
--
--function pad(n) {
--  return n < 10 ? '0' + n.toString(10) : n.toString(10);
--}
--
--
--var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
--              'Oct', 'Nov', 'Dec'];
--
--// 26 Feb 16:19:34
--function timestamp() {
--  var d = new Date();
--  var time = [pad(d.getHours()),
--              pad(d.getMinutes()),
--              pad(d.getSeconds())].join(':');
--  return [d.getDate(), months[d.getMonth()], time].join(' ');
--}
--
--
--// log is just a thin wrapper to console.log that prepends a timestamp
--exports.log = function() {
--  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
--};
--
--
--/**
-- * Inherit the prototype methods from one constructor into another.
-- *
-- * The Function.prototype.inherits from lang.js rewritten as a standalone
-- * function (not on Function.prototype). NOTE: If this file is to be loaded
-- * during bootstrapping this function needs to be rewritten using some native
-- * functions as prototype setup using normal JavaScript does not work as
-- * expected during bootstrapping (see mirror.js in r114903).
-- *
-- * @param {function} ctor Constructor function which needs to inherit the
-- *     prototype.
-- * @param {function} superCtor Constructor function to inherit prototype from.
-- */
--exports.inherits = function(ctor, superCtor) {
--  ctor.super_ = superCtor;
--  ctor.prototype = Object.create(superCtor.prototype, {
--    constructor: {
--      value: ctor,
--      enumerable: false,
--      writable: true,
--      configurable: true
--    }
--  });
--};
--
--exports._extend = function(origin, add) {
--  // Don't do anything if add isn't an object
--  if (!add || !isObject(add)) return origin;
--
--  var keys = Object.keys(add);
--  var i = keys.length;
--  while (i--) {
--    origin[keys[i]] = add[keys[i]];
--  }
--  return origin;
--};
--
--function hasOwnProperty(obj, prop) {
--  return Object.prototype.hasOwnProperty.call(obj, prop);
--}
--
--
--// Deprecated old stuff.
--
--exports.p = exports.deprecate(function() {
--  for (var i = 0, len = arguments.length; i < len; ++i) {
--    console.error(exports.inspect(arguments[i]));
--  }
--}, 'util.p: Use console.error() instead');
--
--
--exports.exec = exports.deprecate(function() {
--  return require('child_process').exec.apply(this, arguments);
--}, 'util.exec is now called `child_process.exec`.');
--
--
--exports.print = exports.deprecate(function() {
--  for (var i = 0, len = arguments.length; i < len; ++i) {
--    process.stdout.write(String(arguments[i]));
--  }
--}, 'util.print: Use console.log instead');
--
--
--exports.puts = exports.deprecate(function() {
--  for (var i = 0, len = arguments.length; i < len; ++i) {
--    process.stdout.write(arguments[i] + '\n');
--  }
--}, 'util.puts: Use console.log instead');
--
--
--exports.debug = exports.deprecate(function(x) {
--  process.stderr.write('DEBUG: ' + x + '\n');
--}, 'util.debug: Use console.error instead');
--
--
--exports.error = exports.deprecate(function(x) {
--  for (var i = 0, len = arguments.length; i < len; ++i) {
--    process.stderr.write(arguments[i] + '\n');
--  }
--}, 'util.error: Use console.error instead');
--
--
--exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
--  var callbackCalled = false;
--
--  function call(a, b, c) {
--    if (callback && !callbackCalled) {
--      callback(a, b, c);
--      callbackCalled = true;
--    }
--  }
--
--  readStream.addListener('data', function(chunk) {
--    if (writeStream.write(chunk) === false) readStream.pause();
--  });
--
--  writeStream.addListener('drain', function() {
--    readStream.resume();
--  });
--
--  readStream.addListener('end', function() {
--    writeStream.end();
--  });
--
--  readStream.addListener('close', function() {
--    call();
--  });
--
--  readStream.addListener('error', function(err) {
--    writeStream.end();
--    call(err);
--  });
--
--  writeStream.addListener('error', function(err) {
--    readStream.destroy();
--    call(err);
--  });
--}, 'util.pump(): Use readableStream.pipe() instead');
--
--
--var uv;
--exports._errnoException = function(err, syscall) {
--  if (isUndefined(uv)) uv = process.binding('uv');
--  var errname = uv.errname(err);
--  var e = new Error(syscall + ' ' + errname);
--  e.code = errname;
--  e.errno = errname;
--  e.syscall = syscall;
--  return e;
--};
-+}
\ No newline at end of file
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js
deleted file mode 100644
index ff4c851..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/lib/util.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-
-function isArray(arg) {
-  if (Array.isArray) {
-    return Array.isArray(arg);
-  }
-  return objectToString(arg) === '[object Array]';
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
-  return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
-  return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
-  return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
-  return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
-  return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
-  return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
-  return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
-  return objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
-  return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
-  return objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
-  return (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
-
-function isFunction(arg) {
-  return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
-  return arg === null ||
-         typeof arg === 'boolean' ||
-         typeof arg === 'number' ||
-         typeof arg === 'string' ||
-         typeof arg === 'symbol' ||  // ES6 symbol
-         typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-exports.isBuffer = Buffer.isBuffer;
-
-function objectToString(o) {
-  return Object.prototype.toString.call(o);
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json
deleted file mode 100644
index 783000e..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "_from": "core-util-is@~1.0.0",
-  "_id": "core-util-is@1.0.2",
-  "_inBundle": false,
-  "_integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-  "_location": "/core-util-is",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "core-util-is@~1.0.0",
-    "name": "core-util-is",
-    "escapedName": "core-util-is",
-    "rawSpec": "~1.0.0",
-    "saveSpec": null,
-    "fetchSpec": "~1.0.0"
-  },
-  "_requiredBy": [
-    "/readable-stream"
-  ],
-  "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-  "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
-  "_spec": "core-util-is@~1.0.0",
-  "_where": "/Users/pipobscure/fsevents/node_modules/readable-stream",
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "i@izs.me",
-    "url": "http://blog.izs.me/"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/core-util-is/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "The `util.is*` functions introduced in Node v0.12.",
-  "devDependencies": {
-    "tap": "^2.3.0"
-  },
-  "homepage": "https://github.com/isaacs/core-util-is#readme",
-  "keywords": [
-    "util",
-    "isBuffer",
-    "isArray",
-    "isNumber",
-    "isString",
-    "isRegExp",
-    "isThis",
-    "isThat",
-    "polyfill"
-  ],
-  "license": "MIT",
-  "main": "lib/util.js",
-  "name": "core-util-is",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/core-util-is.git"
-  },
-  "scripts": {
-    "test": "tap test.js"
-  },
-  "version": "1.0.2"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js
deleted file mode 100644
index 1a490c6..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/core-util-is/test.js
+++ /dev/null
@@ -1,68 +0,0 @@
-var assert = require('tap');
-
-var t = require('./lib/util');
-
-assert.equal(t.isArray([]), true);
-assert.equal(t.isArray({}), false);
-
-assert.equal(t.isBoolean(null), false);
-assert.equal(t.isBoolean(true), true);
-assert.equal(t.isBoolean(false), true);
-
-assert.equal(t.isNull(null), true);
-assert.equal(t.isNull(undefined), false);
-assert.equal(t.isNull(false), false);
-assert.equal(t.isNull(), false);
-
-assert.equal(t.isNullOrUndefined(null), true);
-assert.equal(t.isNullOrUndefined(undefined), true);
-assert.equal(t.isNullOrUndefined(false), false);
-assert.equal(t.isNullOrUndefined(), true);
-
-assert.equal(t.isNumber(null), false);
-assert.equal(t.isNumber('1'), false);
-assert.equal(t.isNumber(1), true);
-
-assert.equal(t.isString(null), false);
-assert.equal(t.isString('1'), true);
-assert.equal(t.isString(1), false);
-
-assert.equal(t.isSymbol(null), false);
-assert.equal(t.isSymbol('1'), false);
-assert.equal(t.isSymbol(1), false);
-assert.equal(t.isSymbol(Symbol()), true);
-
-assert.equal(t.isUndefined(null), false);
-assert.equal(t.isUndefined(undefined), true);
-assert.equal(t.isUndefined(false), false);
-assert.equal(t.isUndefined(), true);
-
-assert.equal(t.isRegExp(null), false);
-assert.equal(t.isRegExp('1'), false);
-assert.equal(t.isRegExp(new RegExp()), true);
-
-assert.equal(t.isObject({}), true);
-assert.equal(t.isObject([]), true);
-assert.equal(t.isObject(new RegExp()), true);
-assert.equal(t.isObject(new Date()), true);
-
-assert.equal(t.isDate(null), false);
-assert.equal(t.isDate('1'), false);
-assert.equal(t.isDate(new Date()), true);
-
-assert.equal(t.isError(null), false);
-assert.equal(t.isError({ err: true }), false);
-assert.equal(t.isError(new Error()), true);
-
-assert.equal(t.isFunction(null), false);
-assert.equal(t.isFunction({ }), false);
-assert.equal(t.isFunction(function() {}), true);
-
-assert.equal(t.isPrimitive(null), true);
-assert.equal(t.isPrimitive(''), true);
-assert.equal(t.isPrimitive(0), true);
-assert.equal(t.isPrimitive(new Date()), false);
-
-assert.equal(t.isBuffer(null), false);
-assert.equal(t.isBuffer({}), false);
-assert.equal(t.isBuffer(new Buffer(0)), true);
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md
deleted file mode 100644
index 820d21e..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/CHANGELOG.md
+++ /dev/null
@@ -1,395 +0,0 @@
-
-3.1.0 / 2017-09-26
-==================
-
-  * Add `DEBUG_HIDE_DATE` env var (#486)
-  * Remove ReDoS regexp in %o formatter (#504)
-  * Remove "component" from package.json
-  * Remove `component.json`
-  * Ignore package-lock.json
-  * Examples: fix colors printout
-  * Fix: browser detection
-  * Fix: spelling mistake (#496, @EdwardBetts)
-
-3.0.1 / 2017-08-24
-==================
-
-  * Fix: Disable colors in Edge and Internet Explorer (#489)
-
-3.0.0 / 2017-08-08
-==================
-
-  * Breaking: Remove DEBUG_FD (#406)
-  * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418)
-  * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408)
-  * Addition: document `enabled` flag (#465)
-  * Addition: add 256 colors mode (#481)
-  * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440)
-  * Update: component: update "ms" to v2.0.0
-  * Update: separate the Node and Browser tests in Travis-CI
-  * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots
-  * Update: separate Node.js and web browser examples for organization
-  * Update: update "browserify" to v14.4.0
-  * Fix: fix Readme typo (#473)
-
-2.6.9 / 2017-09-22
-==================
-
-  * remove ReDoS regexp in %o formatter (#504)
-
-2.6.8 / 2017-05-18
-==================
-
-  * Fix: Check for undefined on browser globals (#462, @marbemac)
-
-2.6.7 / 2017-05-16
-==================
-
-  * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom)
-  * Fix: Inline extend function in node implementation (#452, @dougwilson)
-  * Docs: Fix typo (#455, @msasad)
-
-2.6.5 / 2017-04-27
-==================
-  
-  * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek)
-  * Misc: clean up browser reference checks (#447, @thebigredgeek)
-  * Misc: add npm-debug.log to .gitignore (@thebigredgeek)
-
-
-2.6.4 / 2017-04-20
-==================
-
-  * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo)
-  * Chore: ignore bower.json in npm installations. (#437, @joaovieira)
-  * Misc: update "ms" to v0.7.3 (@tootallnate)
-
-2.6.3 / 2017-03-13
-==================
-
-  * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts)
-  * Docs: Changelog fix (@thebigredgeek)
-
-2.6.2 / 2017-03-10
-==================
-
-  * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin)
-  * Docs: Add backers and sponsors from Open Collective (#422, @piamancini)
-  * Docs: Add Slackin invite badge (@tootallnate)
-
-2.6.1 / 2017-02-10
-==================
-
-  * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error
-  * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0)
-  * Fix: IE8 "Expected identifier" error (#414, @vgoma)
-  * Fix: Namespaces would not disable once enabled (#409, @musikov)
-
-2.6.0 / 2016-12-28
-==================
-
-  * Fix: added better null pointer checks for browser useColors (@thebigredgeek)
-  * Improvement: removed explicit `window.debug` export (#404, @tootallnate)
-  * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate)
-
-2.5.2 / 2016-12-25
-==================
-
-  * Fix: reference error on window within webworkers (#393, @KlausTrainer)
-  * Docs: fixed README typo (#391, @lurch)
-  * Docs: added notice about v3 api discussion (@thebigredgeek)
-
-2.5.1 / 2016-12-20
-==================
-
-  * Fix: babel-core compatibility
-
-2.5.0 / 2016-12-20
-==================
-
-  * Fix: wrong reference in bower file (@thebigredgeek)
-  * Fix: webworker compatibility (@thebigredgeek)
-  * Fix: output formatting issue (#388, @kribblo)
-  * Fix: babel-loader compatibility (#383, @escwald)
-  * Misc: removed built asset from repo and publications (@thebigredgeek)
-  * Misc: moved source files to /src (#378, @yamikuronue)
-  * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue)
-  * Test: coveralls integration (#378, @yamikuronue)
-  * Docs: simplified language in the opening paragraph (#373, @yamikuronue)
-
-2.4.5 / 2016-12-17
-==================
-
-  * Fix: `navigator` undefined in Rhino (#376, @jochenberger)
-  * Fix: custom log function (#379, @hsiliev)
-  * Improvement: bit of cleanup + linting fixes (@thebigredgeek)
-  * Improvement: rm non-maintainted `dist/` dir (#375, @freewil)
-  * Docs: simplified language in the opening paragraph. (#373, @yamikuronue)
-
-2.4.4 / 2016-12-14
-==================
-
-  * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts)
-
-2.4.3 / 2016-12-14
-==================
-
-  * Fix: navigation.userAgent error for react native (#364, @escwald)
-
-2.4.2 / 2016-12-14
-==================
-
-  * Fix: browser colors (#367, @tootallnate)
-  * Misc: travis ci integration (@thebigredgeek)
-  * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek)
-
-2.4.1 / 2016-12-13
-==================
-
-  * Fix: typo that broke the package (#356)
-
-2.4.0 / 2016-12-13
-==================
-
-  * Fix: bower.json references unbuilt src entry point (#342, @justmatt)
-  * Fix: revert "handle regex special characters" (@tootallnate)
-  * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate)
-  * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate)
-  * Improvement: allow colors in workers (#335, @botverse)
-  * Improvement: use same color for same namespace. (#338, @lchenay)
-
-2.3.3 / 2016-11-09
-==================
-
-  * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne)
-  * Fix: Returning `localStorage` saved values (#331, Levi Thomason)
-  * Improvement: Don't create an empty object when no `process` (Nathan Rajlich)
-
-2.3.2 / 2016-11-09
-==================
-
-  * Fix: be super-safe in index.js as well (@TooTallNate)
-  * Fix: should check whether process exists (Tom Newby)
-
-2.3.1 / 2016-11-09
-==================
-
-  * Fix: Added electron compatibility (#324, @paulcbetts)
-  * Improvement: Added performance optimizations (@tootallnate)
-  * Readme: Corrected PowerShell environment variable example (#252, @gimre)
-  * Misc: Removed yarn lock file from source control (#321, @fengmk2)
-
-2.3.0 / 2016-11-07
-==================
-
-  * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic)
-  * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos)
-  * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15)
-  * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran)
-  * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom)
-  * Package: Update "ms" to 0.7.2 (#315, @DevSide)
-  * Package: removed superfluous version property from bower.json (#207 @kkirsche)
-  * Readme: fix USE_COLORS to DEBUG_COLORS
-  * Readme: Doc fixes for format string sugar (#269, @mlucool)
-  * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0)
-  * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable)
-  * Readme: better docs for browser support (#224, @matthewmueller)
-  * Tooling: Added yarn integration for development (#317, @thebigredgeek)
-  * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek)
-  * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman)
-  * Misc: Updated contributors (@thebigredgeek)
-
-2.2.0 / 2015-05-09
-==================
-
-  * package: update "ms" to v0.7.1 (#202, @dougwilson)
-  * README: add logging to file example (#193, @DanielOchoa)
-  * README: fixed a typo (#191, @amir-s)
-  * browser: expose `storage` (#190, @stephenmathieson)
-  * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
-  * Updated stdout/stderr example (#186)
-  * Updated example/stdout.js to match debug current behaviour
-  * Renamed example/stderr.js to stdout.js
-  * Update Readme.md (#184)
-  * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
-  * dist: recompile
-  * update "ms" to v0.7.0
-  * package: update "browserify" to v9.0.3
-  * component: fix "ms.js" repo location
-  * changed bower package name
-  * updated documentation about using debug in a browser
-  * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
-  * browser: use `typeof` to check for `console` existence
-  * browser: check for `console.log` truthiness (fix IE 8/9)
-  * browser: add support for Chrome apps
-  * Readme: added Windows usage remarks
-  * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
-  * node: implement `DEBUG_FD` env variable support
-  * package: update "browserify" to v6.1.0
-  * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
-  * package: update "browserify" to v5.11.0
-  * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
-  * dist: recompile
-  * example: remove `console.info()` log usage
-  * example: add "Content-Type" UTF-8 header to browser example
-  * browser: place %c marker after the space character
-  * browser: reset the "content" color via `color: inherit`
-  * browser: add colors support for Firefox >= v31
-  * debug: prefer an instance `log()` function over the global one (#119)
-  * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
-  * Add support for multiple wildcards in namespaces (#122, @seegno)
-  * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
-  * browser: update color palette (#113, @gscottolson)
-  * common: make console logging function configurable (#108, @timoxley)
-  * node: fix %o colors on old node <= 0.8.x
-  * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
-  * browser: use `removeItem()` to clear localStorage
-  * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
-  * package: add "contributors" section
-  * node: fix comment typo
-  * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
-  * make ms diff be global, not be scope
-  * debug: ignore empty strings in enable()
-  * node: make DEBUG_COLORS able to disable coloring
-  * *: export the `colors` array
-  * npmignore: don't publish the `dist` dir
-  * Makefile: refactor to use browserify
-  * package: add "browserify" as a dev dependency
-  * Readme: add Web Inspector Colors section
-  * node: reset terminal color for the debug content
-  * node: map "%o" to `util.inspect()`
-  * browser: map "%j" to `JSON.stringify()`
-  * debug: add custom "formatters"
-  * debug: use "ms" module for humanizing the diff
-  * Readme: add "bash" syntax highlighting
-  * browser: add Firebug color support
-  * browser: add colors for WebKit browsers
-  * node: apply log to `console`
-  * rewrite: abstract common logic for Node & browsers
-  * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
-  * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
-  * add `enable()` method for nodejs. Closes #27
-  * change from stderr to stdout
-  * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
-  * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
-  * fix: catch localStorage security error when cookies are blocked (Chrome)
-  * add debug(err) support. Closes #46
-  * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
-  * fix package.json
-  * fix: Mobile Safari (private mode) is broken with debug
-  * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
-  * add repository URL to package.json
-  * add DEBUG_COLORED to force colored output
-  * add browserify support
-  * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
-  * Added .component to package.json
-  * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
-  * Added support for "-" prefix in DEBUG [Vinay Pulim]
-  * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
-  * Added: humanize diffs. Closes #8
-  * Added `debug.disable()` to the CS variant
-  * Removed padding. Closes #10
-  * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
-  * Added browser variant support for older browsers [TooTallNate]
-  * Added `debug.enable('project:*')` to browser variant [TooTallNate]
-  * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
-  * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
-  * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
-  * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
-  * Initial release
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE
deleted file mode 100644
index 658c933..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 TJ Holowaychuk <tj...@vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
-and associated documentation files (the 'Software'), to deal in the Software without restriction, 
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial 
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
-LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md
deleted file mode 100644
index 0ee7634..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/README.md
+++ /dev/null
@@ -1,437 +0,0 @@
-# debug
-[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug)  [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master)  [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
-[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
-
-A tiny JavaScript debugging utility modelled after Node.js core's debugging
-technique. Works in Node.js and web browsers.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
-`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
-
-Example [_app.js_](./examples/node/app.js):
-
-```js
-var debug = require('debug')('http')
-  , http = require('http')
-  , name = 'My App';
-
-// fake app
-
-debug('booting %o', name);
-
-http.createServer(function(req, res){
-  debug(req.method + ' ' + req.url);
-  res.end('hello\n');
-}).listen(3000, function(){
-  debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example [_worker.js_](./examples/node/worker.js):
-
-```js
-var a = require('debug')('worker:a')
-  , b = require('debug')('worker:b');
-
-function work() {
-  a('doing lots of uninteresting work');
-  setTimeout(work, Math.random() * 1000);
-}
-
-work();
-
-function workb() {
-  b('doing some work');
-  setTimeout(workb, Math.random() * 2000);
-}
-
-workb();
-```
-
-The `DEBUG` environment variable is then used to enable these based on space or
-comma-delimited names.
-
-Here are some examples:
-
-<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
-<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
-<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
-
-#### Windows command prompt notes
-
-##### CMD
-
-On Windows the environment variable is set using the `set` command.
-
-```cmd
-set DEBUG=*,-not_this
-```
-
-Example:
-
-```cmd
-set DEBUG=* & node app.js
-```
-
-##### PowerShell (VS Code default)
-
-PowerShell uses different syntax to set environment variables.
-
-```cmd
-$env:DEBUG = "*,-not_this"
-```
-
-Example:
-
-```cmd
-$env:DEBUG='app';node app.js
-```
-
-Then, run the program to be debugged as usual.
-
-npm script example:
-```js
-  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
-```
-
-## Namespace Colors
-
-Every debug instance has a color generated for it based on its namespace name.
-This helps when visually parsing the debug output to identify which debug instance
-a debug line belongs to.
-
-#### Node.js
-
-In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
-the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
-otherwise debug will only use a small handful of basic colors.
-
-<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
-
-#### Web Browser
-
-Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
-option. These are WebKit web inspectors, Firefox ([since version
-31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
-and the Firebug plugin for Firefox (any version).
-
-<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
-
-
-## Millisecond diff
-
-When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
-
-When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
-
-
-## Conventions
-
-If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".  If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment varia [...]
-
-## Wildcards
-
-The `*` character may be used as a wildcard. Suppose for example your library has
-debuggers named "connect:bodyParser", "connect:compress", "connect:session",
-instead of listing all three with
-`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
-`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
-You can also exclude specific debuggers by prefixing them with a "-" character.
-For example, `DEBUG=*,-connect:*` would include all debuggers except those
-starting with "connect:".
-
-## Environment Variables
-
-When running through Node.js, you can set a few environment variables that will
-change the behavior of the debug logging:
-
-| Name      | Purpose                                         |
-|-----------|-------------------------------------------------|
-| `DEBUG`   | Enables/disables specific debugging namespaces. |
-| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY).  |
-| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
-| `DEBUG_DEPTH` | Object inspection depth.                    |
-| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
-
-
-__Note:__ The environment variables beginning with `DEBUG_` end up being
-converted into an Options object that gets used with `%o`/`%O` formatters.
-See the Node.js documentation for
-[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
-for the complete list.
-
-## Formatters
-
-Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
-Below are the officially supported formatters:
-
-| Formatter | Representation |
-|-----------|----------------|
-| `%O`      | Pretty-print an Object on multiple lines. |
-| `%o`      | Pretty-print an Object all on a single line. |
-| `%s`      | String. |
-| `%d`      | Number (both integer and float). |
-| `%j`      | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
-| `%%`      | Single percent sign ('%'). This does not consume an argument. |
-
-
-### Custom formatters
-
-You can add custom formatters by extending the `debug.formatters` object.
-For example, if you wanted to add support for rendering a Buffer as hex with
-`%h`, you could do something like:
-
-```js
-const createDebug = require('debug')
-createDebug.formatters.h = (v) => {
-  return v.toString('hex')
-}
-
-// …elsewhere
-const debug = createDebug('foo')
-debug('this is hex: %h', new Buffer('hello world'))
-//   foo this is hex: 68656c6c6f20776f726c6421 +0ms
-```
-
-
-## Browser Support
-
-You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
-or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
-if you don't want to build it yourself.
-
-Debug's enable state is currently persisted by `localStorage`.
-Consider the situation shown below where you have `worker:a` and `worker:b`,
-and wish to debug both. You can enable this using `localStorage.debug`:
-
-```js
-localStorage.debug = 'worker:*'
-```
-
-And then refresh the page.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
-  a('doing some work');
-}, 1000);
-
-setInterval(function(){
-  b('doing some work');
-}, 1200);
-```
-
-
-## Output streams
-
-  By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
-
-Example [_stdout.js_](./examples/node/stdout.js):
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-## Extend
-You can simply extend debugger 
-```js
-const log = require('debug')('auth');
-
-//creates new debug instance with extended namespace
-const logSign = log.extend('sign');
-const logLogin = log.extend('login');
-
-log('hello'); // auth hello
-logSign('hello'); //auth:sign hello
-logLogin('hello'); //auth:login hello
-```
-
-## Set dynamically
-
-You can also enable debug dynamically by calling the `enable()` method :
-
-```js
-let debug = require('debug');
-
-console.log(1, debug.enabled('test'));
-
-debug.enable('test');
-console.log(2, debug.enabled('test'));
-
-debug.disable();
-console.log(3, debug.enabled('test'));
-
-```
-
-print :   
-```
-1 false
-2 true
-3 false
-```
-
-Usage :  
-`enable(namespaces)`  
-`namespaces` can include modes separated by a colon and wildcards.
-   
-Note that calling `enable()` completely overrides previously set DEBUG variable : 
-
-```
-$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
-=> false
-```
-
-## Checking whether a debug target is enabled
-
-After you've created a debug instance, you can determine whether or not it is
-enabled by checking the `enabled` property:
-
-```javascript
-const debug = require('debug')('http');
-
-if (debug.enabled) {
-  // do stuff...
-}
-```
-
-You can also manually toggle this property to force the debug instance to be
-enabled or disabled.
-
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
- - Andrew Rhyne
-
-## Backers
-
-Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
-
-<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
-
-
-## Sponsors
-
-Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
-
-<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014-2017 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js
deleted file mode 100644
index f271e01..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/dist/debug.js
+++ /dev/null
@@ -1,886 +0,0 @@
-"use strict";
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
-
-(function (f) {
-  if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") {
-    module.exports = f();
-  } else if (typeof define === "function" && define.amd) {
-    define([], f);
-  } else {
-    var g;
-
-    if (typeof window !== "undefined") {
-      g = window;
-    } else if (typeof global !== "undefined") {
-      g = global;
-    } else if (typeof self !== "undefined") {
-      g = self;
-    } else {
-      g = this;
-    }
-
-    g.debug = f();
-  }
-})(function () {
-  var define, module, exports;
-  return function () {
-    function r(e, n, t) {
-      function o(i, f) {
-        if (!n[i]) {
-          if (!e[i]) {
-            var c = "function" == typeof require && require;
-            if (!f && c) return c(i, !0);
-            if (u) return u(i, !0);
-            var a = new Error("Cannot find module '" + i + "'");
-            throw a.code = "MODULE_NOT_FOUND", a;
-          }
-
-          var p = n[i] = {
-            exports: {}
-          };
-          e[i][0].call(p.exports, function (r) {
-            var n = e[i][1][r];
-            return o(n || r);
-          }, p, p.exports, r, e, n, t);
-        }
-
-        return n[i].exports;
-      }
-
-      for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) {
-        o(t[i]);
-      }
-
-      return o;
-    }
-
-    return r;
-  }()({
-    1: [function (require, module, exports) {
-      /**
-       * Helpers.
-       */
-      var s = 1000;
-      var m = s * 60;
-      var h = m * 60;
-      var d = h * 24;
-      var w = d * 7;
-      var y = d * 365.25;
-      /**
-       * Parse or format the given `val`.
-       *
-       * Options:
-       *
-       *  - `long` verbose formatting [false]
-       *
-       * @param {String|Number} val
-       * @param {Object} [options]
-       * @throws {Error} throw an error if val is not a non-empty string or a number
-       * @return {String|Number}
-       * @api public
-       */
-
-      module.exports = function (val, options) {
-        options = options || {};
-
-        var type = _typeof(val);
-
-        if (type === 'string' && val.length > 0) {
-          return parse(val);
-        } else if (type === 'number' && isNaN(val) === false) {
-          return options.long ? fmtLong(val) : fmtShort(val);
-        }
-
-        throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));
-      };
-      /**
-       * Parse the given `str` and return milliseconds.
-       *
-       * @param {String} str
-       * @return {Number}
-       * @api private
-       */
-
-
-      function parse(str) {
-        str = String(str);
-
-        if (str.length > 100) {
-          return;
-        }
-
-        var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
-
-        if (!match) {
-          return;
-        }
-
-        var n = parseFloat(match[1]);
-        var type = (match[2] || 'ms').toLowerCase();
-
-        switch (type) {
-          case 'years':
-          case 'year':
-          case 'yrs':
-          case 'yr':
-          case 'y':
-            return n * y;
-
-          case 'weeks':
-          case 'week':
-          case 'w':
-            return n * w;
-
-          case 'days':
-          case 'day':
-          case 'd':
-            return n * d;
-
-          case 'hours':
-          case 'hour':
-          case 'hrs':
-          case 'hr':
-          case 'h':
-            return n * h;
-
-          case 'minutes':
-          case 'minute':
-          case 'mins':
-          case 'min':
-          case 'm':
-            return n * m;
-
-          case 'seconds':
-          case 'second':
-          case 'secs':
-          case 'sec':
-          case 's':
-            return n * s;
-
-          case 'milliseconds':
-          case 'millisecond':
-          case 'msecs':
-          case 'msec':
-          case 'ms':
-            return n;
-
-          default:
-            return undefined;
-        }
-      }
-      /**
-       * Short format for `ms`.
-       *
-       * @param {Number} ms
-       * @return {String}
-       * @api private
-       */
-
-
-      function fmtShort(ms) {
-        var msAbs = Math.abs(ms);
-
-        if (msAbs >= d) {
-          return Math.round(ms / d) + 'd';
-        }
-
-        if (msAbs >= h) {
-          return Math.round(ms / h) + 'h';
-        }
-
-        if (msAbs >= m) {
-          return Math.round(ms / m) + 'm';
-        }
-
-        if (msAbs >= s) {
-          return Math.round(ms / s) + 's';
-        }
-
-        return ms + 'ms';
-      }
-      /**
-       * Long format for `ms`.
-       *
-       * @param {Number} ms
-       * @return {String}
-       * @api private
-       */
-
-
-      function fmtLong(ms) {
-        var msAbs = Math.abs(ms);
-
-        if (msAbs >= d) {
-          return plural(ms, msAbs, d, 'day');
-        }
-
-        if (msAbs >= h) {
-          return plural(ms, msAbs, h, 'hour');
-        }
-
-        if (msAbs >= m) {
-          return plural(ms, msAbs, m, 'minute');
-        }
-
-        if (msAbs >= s) {
-          return plural(ms, msAbs, s, 'second');
-        }
-
-        return ms + ' ms';
-      }
-      /**
-       * Pluralization helper.
-       */
-
-
-      function plural(ms, msAbs, n, name) {
-        var isPlural = msAbs >= n * 1.5;
-        return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
-      }
-    }, {}],
-    2: [function (require, module, exports) {
-      // shim for using process in browser
-      var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it
-      // don't break things.  But we need to wrap it in a try catch in case it is
-      // wrapped in strict mode code which doesn't define any globals.  It's inside a
-      // function because try/catches deoptimize in certain engines.
-
-      var cachedSetTimeout;
-      var cachedClearTimeout;
-
-      function defaultSetTimout() {
-        throw new Error('setTimeout has not been defined');
-      }
-
-      function defaultClearTimeout() {
-        throw new Error('clearTimeout has not been defined');
-      }
-
-      (function () {
-        try {
-          if (typeof setTimeout === 'function') {
-            cachedSetTimeout = setTimeout;
-          } else {
-            cachedSetTimeout = defaultSetTimout;
-          }
-        } catch (e) {
-          cachedSetTimeout = defaultSetTimout;
-        }
-
-        try {
-          if (typeof clearTimeout === 'function') {
-            cachedClearTimeout = clearTimeout;
-          } else {
-            cachedClearTimeout = defaultClearTimeout;
-          }
-        } catch (e) {
-          cachedClearTimeout = defaultClearTimeout;
-        }
-      })();
-
-      function runTimeout(fun) {
-        if (cachedSetTimeout === setTimeout) {
-          //normal enviroments in sane situations
-          return setTimeout(fun, 0);
-        } // if setTimeout wasn't available but was latter defined
-
-
-        if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
-          cachedSetTimeout = setTimeout;
-          return setTimeout(fun, 0);
-        }
-
-        try {
-          // when when somebody has screwed with setTimeout but no I.E. maddness
-          return cachedSetTimeout(fun, 0);
-        } catch (e) {
-          try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
-            return cachedSetTimeout.call(null, fun, 0);
-          } catch (e) {
-            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
-            return cachedSetTimeout.call(this, fun, 0);
-          }
-        }
-      }
-
-      function runClearTimeout(marker) {
-        if (cachedClearTimeout === clearTimeout) {
-          //normal enviroments in sane situations
-          return clearTimeout(marker);
-        } // if clearTimeout wasn't available but was latter defined
-
-
-        if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
-          cachedClearTimeout = clearTimeout;
-          return clearTimeout(marker);
-        }
-
-        try {
-          // when when somebody has screwed with setTimeout but no I.E. maddness
-          return cachedClearTimeout(marker);
-        } catch (e) {
-          try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
-            return cachedClearTimeout.call(null, marker);
-          } catch (e) {
-            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
-            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
-            return cachedClearTimeout.call(this, marker);
-          }
-        }
-      }
-
-      var queue = [];
-      var draining = false;
-      var currentQueue;
-      var queueIndex = -1;
-
-      function cleanUpNextTick() {
-        if (!draining || !currentQueue) {
-          return;
-        }
-
-        draining = false;
-
-        if (currentQueue.length) {
-          queue = currentQueue.concat(queue);
-        } else {
-          queueIndex = -1;
-        }
-
-        if (queue.length) {
-          drainQueue();
-        }
-      }
-
-      function drainQueue() {
-        if (draining) {
-          return;
-        }
-
-        var timeout = runTimeout(cleanUpNextTick);
-        draining = true;
-        var len = queue.length;
-
-        while (len) {
-          currentQueue = queue;
-          queue = [];
-
-          while (++queueIndex < len) {
-            if (currentQueue) {
-              currentQueue[queueIndex].run();
-            }
-          }
-
-          queueIndex = -1;
-          len = queue.length;
-        }
-
-        currentQueue = null;
-        draining = false;
-        runClearTimeout(timeout);
-      }
-
-      process.nextTick = function (fun) {
-        var args = new Array(arguments.length - 1);
-
-        if (arguments.length > 1) {
-          for (var i = 1; i < arguments.length; i++) {
-            args[i - 1] = arguments[i];
-          }
-        }
-
-        queue.push(new Item(fun, args));
-
-        if (queue.length === 1 && !draining) {
-          runTimeout(drainQueue);
-        }
-      }; // v8 likes predictible objects
-
-
-      function Item(fun, array) {
-        this.fun = fun;
-        this.array = array;
-      }
-
-      Item.prototype.run = function () {
-        this.fun.apply(null, this.array);
-      };
-
-      process.title = 'browser';
-      process.browser = true;
-      process.env = {};
-      process.argv = [];
-      process.version = ''; // empty string to avoid regexp issues
-
-      process.versions = {};
-
-      function noop() {}
-
-      process.on = noop;
-      process.addListener = noop;
-      process.once = noop;
-      process.off = noop;
-      process.removeListener = noop;
-      process.removeAllListeners = noop;
-      process.emit = noop;
-      process.prependListener = noop;
-      process.prependOnceListener = noop;
-
-      process.listeners = function (name) {
-        return [];
-      };
-
-      process.binding = function (name) {
-        throw new Error('process.binding is not supported');
-      };
-
-      process.cwd = function () {
-        return '/';
-      };
-
-      process.chdir = function (dir) {
-        throw new Error('process.chdir is not supported');
-      };
-
-      process.umask = function () {
-        return 0;
-      };
-    }, {}],
-    3: [function (require, module, exports) {
-      /**
-       * This is the common logic for both the Node.js and web browser
-       * implementations of `debug()`.
-       */
-      function setup(env) {
-        createDebug.debug = createDebug;
-        createDebug.default = createDebug;
-        createDebug.coerce = coerce;
-        createDebug.disable = disable;
-        createDebug.enable = enable;
-        createDebug.enabled = enabled;
-        createDebug.humanize = require('ms');
-        Object.keys(env).forEach(function (key) {
-          createDebug[key] = env[key];
-        });
-        /**
-        * Active `debug` instances.
-        */
-
-        createDebug.instances = [];
-        /**
-        * The currently active debug mode names, and names to skip.
-        */
-
-        createDebug.names = [];
-        createDebug.skips = [];
-        /**
-        * Map of special "%n" handling functions, for the debug "format" argument.
-        *
-        * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
-        */
-
-        createDebug.formatters = {};
-        /**
-        * Selects a color for a debug namespace
-        * @param {String} namespace The namespace string for the for the debug instance to be colored
-        * @return {Number|String} An ANSI color code for the given namespace
-        * @api private
-        */
-
-        function selectColor(namespace) {
-          var hash = 0;
-
-          for (var i = 0; i < namespace.length; i++) {
-            hash = (hash << 5) - hash + namespace.charCodeAt(i);
-            hash |= 0; // Convert to 32bit integer
-          }
-
-          return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
-        }
-
-        createDebug.selectColor = selectColor;
-        /**
-        * Create a debugger with the given `namespace`.
-        *
-        * @param {String} namespace
-        * @return {Function}
-        * @api public
-        */
-
-        function createDebug(namespace) {
-          var prevTime;
-
-          function debug() {
-            for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-              args[_key] = arguments[_key];
-            }
-
-            // Disabled?
-            if (!debug.enabled) {
-              return;
-            }
-
-            var self = debug; // Set `diff` timestamp
-
-            var curr = Number(new Date());
-            var ms = curr - (prevTime || curr);
-            self.diff = ms;
-            self.prev = prevTime;
-            self.curr = curr;
-            prevTime = curr;
-            args[0] = createDebug.coerce(args[0]);
-
-            if (typeof args[0] !== 'string') {
-              // Anything else let's inspect with %O
-              args.unshift('%O');
-            } // Apply any `formatters` transformations
-
-
-            var index = 0;
-            args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
-              // If we encounter an escaped % then don't increase the array index
-              if (match === '%%') {
-                return match;
-              }
-
-              index++;
-              var formatter = createDebug.formatters[format];
-
-              if (typeof formatter === 'function') {
-                var val = args[index];
-                match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`
-
-                args.splice(index, 1);
-                index--;
-              }
-
-              return match;
-            }); // Apply env-specific formatting (colors, etc.)
-
-            createDebug.formatArgs.call(self, args);
-            var logFn = self.log || createDebug.log;
-            logFn.apply(self, args);
-          }
-
-          debug.namespace = namespace;
-          debug.enabled = createDebug.enabled(namespace);
-          debug.useColors = createDebug.useColors();
-          debug.color = selectColor(namespace);
-          debug.destroy = destroy;
-          debug.extend = extend; // Debug.formatArgs = formatArgs;
-          // debug.rawLog = rawLog;
-          // env-specific initialization logic for debug instances
-
-          if (typeof createDebug.init === 'function') {
-            createDebug.init(debug);
-          }
-
-          createDebug.instances.push(debug);
-          return debug;
-        }
-
-        function destroy() {
-          var index = createDebug.instances.indexOf(this);
-
-          if (index !== -1) {
-            createDebug.instances.splice(index, 1);
-            return true;
-          }
-
-          return false;
-        }
-
-        function extend(namespace, delimiter) {
-          return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
-        }
-        /**
-        * Enables a debug mode by namespaces. This can include modes
-        * separated by a colon and wildcards.
-        *
-        * @param {String} namespaces
-        * @api public
-        */
-
-
-        function enable(namespaces) {
-          createDebug.save(namespaces);
-          createDebug.names = [];
-          createDebug.skips = [];
-          var i;
-          var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
-          var len = split.length;
-
-          for (i = 0; i < len; i++) {
-            if (!split[i]) {
-              // ignore empty strings
-              continue;
-            }
-
-            namespaces = split[i].replace(/\*/g, '.*?');
-
-            if (namespaces[0] === '-') {
-              createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
-            } else {
-              createDebug.names.push(new RegExp('^' + namespaces + '$'));
-            }
-          }
-
-          for (i = 0; i < createDebug.instances.length; i++) {
-            var instance = createDebug.instances[i];
-            instance.enabled = createDebug.enabled(instance.namespace);
-          }
-        }
-        /**
-        * Disable debug output.
-        *
-        * @api public
-        */
-
-
-        function disable() {
-          createDebug.enable('');
-        }
-        /**
-        * Returns true if the given mode name is enabled, false otherwise.
-        *
-        * @param {String} name
-        * @return {Boolean}
-        * @api public
-        */
-
-
-        function enabled(name) {
-          if (name[name.length - 1] === '*') {
-            return true;
-          }
-
-          var i;
-          var len;
-
-          for (i = 0, len = createDebug.skips.length; i < len; i++) {
-            if (createDebug.skips[i].test(name)) {
-              return false;
-            }
-          }
-
-          for (i = 0, len = createDebug.names.length; i < len; i++) {
-            if (createDebug.names[i].test(name)) {
-              return true;
-            }
-          }
-
-          return false;
-        }
-        /**
-        * Coerce `val`.
-        *
-        * @param {Mixed} val
-        * @return {Mixed}
-        * @api private
-        */
-
-
-        function coerce(val) {
-          if (val instanceof Error) {
-            return val.stack || val.message;
-          }
-
-          return val;
-        }
-
-        createDebug.enable(createDebug.load());
-        return createDebug;
-      }
-
-      module.exports = setup;
-    }, {
-      "ms": 1
-    }],
-    4: [function (require, module, exports) {
-      (function (process) {
-        /* eslint-env browser */
-
-        /**
-         * This is the web browser implementation of `debug()`.
-         */
-        exports.log = log;
-        exports.formatArgs = formatArgs;
-        exports.save = save;
-        exports.load = load;
-        exports.useColors = useColors;
-        exports.storage = localstorage();
-        /**
-         * Colors.
-         */
-
-        exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC [...]
-        /**
-         * Currently only WebKit-based Web Inspectors, Firefox >= v31,
-         * and the Firebug extension (any Firefox version) are known
-         * to support "%c" CSS customizations.
-         *
-         * TODO: add a `localStorage` variable to explicitly enable/disable colors
-         */
-        // eslint-disable-next-line complexity
-
-        function useColors() {
-          // NB: In an Electron preload script, document will be defined but not fully
-          // initialized. Since we know we're in Chrome, we'll just detect this case
-          // explicitly
-          if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
-            return true;
-          } // Internet Explorer and Edge do not support colors.
-
-
-          if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-            return false;
-          } // Is webkit? http://stackoverflow.com/a/16459606/376773
-          // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
-
-
-          return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-          typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-          // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-          typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-          typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-        }
-        /**
-         * Colorize log arguments if enabled.
-         *
-         * @api public
-         */
-
-
-        function formatArgs(args) {
-          args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
-
-          if (!this.useColors) {
-            return;
-          }
-
-          var c = 'color: ' + this.color;
-          args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other
-          // arguments passed either before or after the %c, so we need to
-          // figure out the correct index to insert the CSS into
-
-          var index = 0;
-          var lastC = 0;
-          args[0].replace(/%[a-zA-Z%]/g, function (match) {
-            if (match === '%%') {
-              return;
-            }
-
-            index++;
-
-            if (match === '%c') {
-              // We only are interested in the *last* %c
-              // (the user may have provided their own)
-              lastC = index;
-            }
-          });
-          args.splice(lastC, 0, c);
-        }
-        /**
-         * Invokes `console.log()` when available.
-         * No-op when `console.log` is not a "function".
-         *
-         * @api public
-         */
-
-
-        function log() {
-          var _console;
-
-          // This hackery is required for IE8/9, where
-          // the `console.log` function doesn't have 'apply'
-          return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments);
-        }
-        /**
-         * Save `namespaces`.
-         *
-         * @param {String} namespaces
-         * @api private
-         */
-
-
-        function save(namespaces) {
-          try {
-            if (namespaces) {
-              exports.storage.setItem('debug', namespaces);
-            } else {
-              exports.storage.removeItem('debug');
-            }
-          } catch (error) {// Swallow
-            // XXX (@Qix-) should we be logging these?
-          }
-        }
-        /**
-         * Load `namespaces`.
-         *
-         * @return {String} returns the previously persisted debug modes
-         * @api private
-         */
-
-
-        function load() {
-          var r;
-
-          try {
-            r = exports.storage.getItem('debug');
-          } catch (error) {} // Swallow
-          // XXX (@Qix-) should we be logging these?
-          // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
-
-
-          if (!r && typeof process !== 'undefined' && 'env' in process) {
-            r = process.env.DEBUG;
-          }
-
-          return r;
-        }
-        /**
-         * Localstorage attempts to return the localstorage.
-         *
-         * This is necessary because safari throws
-         * when a user disables cookies/localstorage
-         * and you attempt to access it.
-         *
-         * @return {LocalStorage}
-         * @api private
-         */
-
-
-        function localstorage() {
-          try {
-            // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
-            // The Browser also has localStorage in the global context.
-            return localStorage;
-          } catch (error) {// Swallow
-            // XXX (@Qix-) should we be logging these?
-          }
-        }
-
-        module.exports = require('./common')(exports);
-        var formatters = module.exports.formatters;
-        /**
-         * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
-         */
-
-        formatters.j = function (v) {
-          try {
-            return JSON.stringify(v);
-          } catch (error) {
-            return '[UnexpectedJSONParseError]: ' + error.message;
-          }
-        };
-      }).call(this, require('_process'));
-    }, {
-      "./common": 3,
-      "_process": 2
-    }]
-  }, {}, [4])(4);
-});
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js
deleted file mode 100644
index 7fc36fe..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/node.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./src/node');
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json
deleted file mode 100644
index 62e5385..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  "_from": "debug@^3.2.6",
-  "_id": "debug@3.2.6",
-  "_inBundle": false,
-  "_integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-  "_location": "/debug",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "debug@^3.2.6",
-    "name": "debug",
-    "escapedName": "debug",
-    "rawSpec": "^3.2.6",
-    "saveSpec": null,
-    "fetchSpec": "^3.2.6"
-  },
-  "_requiredBy": [
-    "/needle"
-  ],
-  "_resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-  "_shasum": "e83d17de16d8a7efb7717edbe5fb10135eee629b",
-  "_spec": "debug@^3.2.6",
-  "_where": "/Users/pipobscure/fsevents/node_modules/needle",
-  "author": {
-    "name": "TJ Holowaychuk",
-    "email": "tj@vision-media.ca"
-  },
-  "browser": "./src/browser.js",
-  "bugs": {
-    "url": "https://github.com/visionmedia/debug/issues"
-  },
-  "bundleDependencies": false,
-  "contributors": [
-    {
-      "name": "Nathan Rajlich",
-      "email": "nathan@tootallnate.net",
-      "url": "http://n8.io"
-    },
-    {
-      "name": "Andrew Rhyne",
-      "email": "rhyneandrew@gmail.com"
-    }
-  ],
-  "dependencies": {
-    "ms": "^2.1.1"
-  },
-  "deprecated": false,
-  "description": "small debugging utility",
-  "devDependencies": {
-    "@babel/cli": "^7.0.0",
-    "@babel/core": "^7.0.0",
-    "@babel/preset-env": "^7.0.0",
-    "browserify": "14.4.0",
-    "chai": "^3.5.0",
-    "concurrently": "^3.1.0",
-    "coveralls": "^3.0.2",
-    "istanbul": "^0.4.5",
-    "karma": "^3.0.0",
-    "karma-chai": "^0.1.0",
-    "karma-mocha": "^1.3.0",
-    "karma-phantomjs-launcher": "^1.0.2",
-    "mocha": "^5.2.0",
-    "mocha-lcov-reporter": "^1.2.0",
-    "rimraf": "^2.5.4",
-    "xo": "^0.23.0"
-  },
-  "files": [
-    "src",
-    "node.js",
-    "dist/debug.js",
-    "LICENSE",
-    "README.md"
-  ],
-  "homepage": "https://github.com/visionmedia/debug#readme",
-  "keywords": [
-    "debug",
-    "log",
-    "debugger"
-  ],
-  "license": "MIT",
-  "main": "./src/index.js",
-  "name": "debug",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/visionmedia/debug.git"
-  },
-  "unpkg": "./dist/debug.js",
-  "version": "3.2.6"
-}
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/browser.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/browser.js
deleted file mode 100644
index c924b0a..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/browser.js
+++ /dev/null
@@ -1,180 +0,0 @@
-"use strict";
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
-
-/* eslint-env browser */
-
-/**
- * This is the web browser implementation of `debug()`.
- */
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = localstorage();
-/**
- * Colors.
- */
-
-exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', ' [...]
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-// eslint-disable-next-line complexity
-
-function useColors() {
-  // NB: In an Electron preload script, document will be defined but not fully
-  // initialized. Since we know we're in Chrome, we'll just detect this case
-  // explicitly
-  if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
-    return true;
-  } // Internet Explorer and Edge do not support colors.
-
-
-  if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-    return false;
-  } // Is webkit? http://stackoverflow.com/a/16459606/376773
-  // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
-
-
-  return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-  typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-  // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-  typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-  typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-}
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-
-function formatArgs(args) {
-  args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
-
-  if (!this.useColors) {
-    return;
-  }
-
-  var c = 'color: ' + this.color;
-  args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other
-  // arguments passed either before or after the %c, so we need to
-  // figure out the correct index to insert the CSS into
-
-  var index = 0;
-  var lastC = 0;
-  args[0].replace(/%[a-zA-Z%]/g, function (match) {
-    if (match === '%%') {
-      return;
-    }
-
-    index++;
-
-    if (match === '%c') {
-      // We only are interested in the *last* %c
-      // (the user may have provided their own)
-      lastC = index;
-    }
-  });
-  args.splice(lastC, 0, c);
-}
-/**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
- *
- * @api public
- */
-
-
-function log() {
-  var _console;
-
-  // This hackery is required for IE8/9, where
-  // the `console.log` function doesn't have 'apply'
-  return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments);
-}
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-
-function save(namespaces) {
-  try {
-    if (namespaces) {
-      exports.storage.setItem('debug', namespaces);
-    } else {
-      exports.storage.removeItem('debug');
-    }
-  } catch (error) {// Swallow
-    // XXX (@Qix-) should we be logging these?
-  }
-}
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-
-function load() {
-  var r;
-
-  try {
-    r = exports.storage.getItem('debug');
-  } catch (error) {} // Swallow
-  // XXX (@Qix-) should we be logging these?
-  // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
-
-
-  if (!r && typeof process !== 'undefined' && 'env' in process) {
-    r = process.env.DEBUG;
-  }
-
-  return r;
-}
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-
-function localstorage() {
-  try {
-    // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
-    // The Browser also has localStorage in the global context.
-    return localStorage;
-  } catch (error) {// Swallow
-    // XXX (@Qix-) should we be logging these?
-  }
-}
-
-module.exports = require('./common')(exports);
-var formatters = module.exports.formatters;
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-formatters.j = function (v) {
-  try {
-    return JSON.stringify(v);
-  } catch (error) {
-    return '[UnexpectedJSONParseError]: ' + error.message;
-  }
-};
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/common.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/common.js
deleted file mode 100644
index e0de3fb..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/common.js
+++ /dev/null
@@ -1,249 +0,0 @@
-"use strict";
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- */
-function setup(env) {
-  createDebug.debug = createDebug;
-  createDebug.default = createDebug;
-  createDebug.coerce = coerce;
-  createDebug.disable = disable;
-  createDebug.enable = enable;
-  createDebug.enabled = enabled;
-  createDebug.humanize = require('ms');
-  Object.keys(env).forEach(function (key) {
-    createDebug[key] = env[key];
-  });
-  /**
-  * Active `debug` instances.
-  */
-
-  createDebug.instances = [];
-  /**
-  * The currently active debug mode names, and names to skip.
-  */
-
-  createDebug.names = [];
-  createDebug.skips = [];
-  /**
-  * Map of special "%n" handling functions, for the debug "format" argument.
-  *
-  * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
-  */
-
-  createDebug.formatters = {};
-  /**
-  * Selects a color for a debug namespace
-  * @param {String} namespace The namespace string for the for the debug instance to be colored
-  * @return {Number|String} An ANSI color code for the given namespace
-  * @api private
-  */
-
-  function selectColor(namespace) {
-    var hash = 0;
-
-    for (var i = 0; i < namespace.length; i++) {
-      hash = (hash << 5) - hash + namespace.charCodeAt(i);
-      hash |= 0; // Convert to 32bit integer
-    }
-
-    return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
-  }
-
-  createDebug.selectColor = selectColor;
-  /**
-  * Create a debugger with the given `namespace`.
-  *
-  * @param {String} namespace
-  * @return {Function}
-  * @api public
-  */
-
-  function createDebug(namespace) {
-    var prevTime;
-
-    function debug() {
-      // Disabled?
-      if (!debug.enabled) {
-        return;
-      }
-
-      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-        args[_key] = arguments[_key];
-      }
-
-      var self = debug; // Set `diff` timestamp
-
-      var curr = Number(new Date());
-      var ms = curr - (prevTime || curr);
-      self.diff = ms;
-      self.prev = prevTime;
-      self.curr = curr;
-      prevTime = curr;
-      args[0] = createDebug.coerce(args[0]);
-
-      if (typeof args[0] !== 'string') {
-        // Anything else let's inspect with %O
-        args.unshift('%O');
-      } // Apply any `formatters` transformations
-
-
-      var index = 0;
-      args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
-        // If we encounter an escaped % then don't increase the array index
-        if (match === '%%') {
-          return match;
-        }
-
-        index++;
-        var formatter = createDebug.formatters[format];
-
-        if (typeof formatter === 'function') {
-          var val = args[index];
-          match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`
-
-          args.splice(index, 1);
-          index--;
-        }
-
-        return match;
-      }); // Apply env-specific formatting (colors, etc.)
-
-      createDebug.formatArgs.call(self, args);
-      var logFn = self.log || createDebug.log;
-      logFn.apply(self, args);
-    }
-
-    debug.namespace = namespace;
-    debug.enabled = createDebug.enabled(namespace);
-    debug.useColors = createDebug.useColors();
-    debug.color = selectColor(namespace);
-    debug.destroy = destroy;
-    debug.extend = extend; // Debug.formatArgs = formatArgs;
-    // debug.rawLog = rawLog;
-    // env-specific initialization logic for debug instances
-
-    if (typeof createDebug.init === 'function') {
-      createDebug.init(debug);
-    }
-
-    createDebug.instances.push(debug);
-    return debug;
-  }
-
-  function destroy() {
-    var index = createDebug.instances.indexOf(this);
-
-    if (index !== -1) {
-      createDebug.instances.splice(index, 1);
-      return true;
-    }
-
-    return false;
-  }
-
-  function extend(namespace, delimiter) {
-    return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
-  }
-  /**
-  * Enables a debug mode by namespaces. This can include modes
-  * separated by a colon and wildcards.
-  *
-  * @param {String} namespaces
-  * @api public
-  */
-
-
-  function enable(namespaces) {
-    createDebug.save(namespaces);
-    createDebug.names = [];
-    createDebug.skips = [];
-    var i;
-    var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
-    var len = split.length;
-
-    for (i = 0; i < len; i++) {
-      if (!split[i]) {
-        // ignore empty strings
-        continue;
-      }
-
-      namespaces = split[i].replace(/\*/g, '.*?');
-
-      if (namespaces[0] === '-') {
-        createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
-      } else {
-        createDebug.names.push(new RegExp('^' + namespaces + '$'));
-      }
-    }
-
-    for (i = 0; i < createDebug.instances.length; i++) {
-      var instance = createDebug.instances[i];
-      instance.enabled = createDebug.enabled(instance.namespace);
-    }
-  }
-  /**
-  * Disable debug output.
-  *
-  * @api public
-  */
-
-
-  function disable() {
-    createDebug.enable('');
-  }
-  /**
-  * Returns true if the given mode name is enabled, false otherwise.
-  *
-  * @param {String} name
-  * @return {Boolean}
-  * @api public
-  */
-
-
-  function enabled(name) {
-    if (name[name.length - 1] === '*') {
-      return true;
-    }
-
-    var i;
-    var len;
-
-    for (i = 0, len = createDebug.skips.length; i < len; i++) {
-      if (createDebug.skips[i].test(name)) {
-        return false;
-      }
-    }
-
-    for (i = 0, len = createDebug.names.length; i < len; i++) {
-      if (createDebug.names[i].test(name)) {
-        return true;
-      }
-    }
-
-    return false;
-  }
-  /**
-  * Coerce `val`.
-  *
-  * @param {Mixed} val
-  * @return {Mixed}
-  * @api private
-  */
-
-
-  function coerce(val) {
-    if (val instanceof Error) {
-      return val.stack || val.message;
-    }
-
-    return val;
-  }
-
-  createDebug.enable(createDebug.load());
-  return createDebug;
-}
-
-module.exports = setup;
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/index.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/index.js
deleted file mode 100644
index 0217315..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-"use strict";
-
-/**
- * Detect Electron renderer / nwjs process, which is node, but we should
- * treat as a browser.
- */
-if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
-  module.exports = require('./browser.js');
-} else {
-  module.exports = require('./node.js');
-}
-
diff --git a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/node.js b/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/node.js
deleted file mode 100644
index dbbb5f1..0000000
--- a/.yarn/unplugged/fsevents-patch-c0aa546cbc/node_modules/fsevents/node_modules/debug/src/node.js
+++ /dev/null
@@ -1,174 +0,0 @@
-"use strict";
-
-/**
- * Module dependencies.
- */
-var tty = require('tty');
-
-var util = require('util');
-/**
- * This is the Node.js implementation of `debug()`.
- */
-
-
-exports.init = init;
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-try {
-  // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
-  // eslint-disable-next-line import/no-extraneous-dependencies
-  var supportsColor = require('supports-color');
-
-  if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
-    exports.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221];
-  }
-} catch (error) {} // Swallow - we only care if `supports-color` is available; it doesn't have to be.
-
-/**
- * Build up the default `inspectOpts` object from the environment variables.
- *
- *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
- */
-
-
-exports.inspectOpts = Object.keys(process.env).filter(function (key) {
-  return /^debug_/i.test(key);
-}).reduce(function (obj, key) {
-  // Camel-case
-  var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function (_, k) {
-    return k.toUpperCase();
-  }); // Coerce string value into JS value
-
-  var val = process.env[key];
-
-  if (/^(yes|on|true|enabled)$/i.test(val)) {
-    val = true;
-  } else if (/^(no|off|false|disabled)$/i.test(val)) {
-    val = false;
-  } else if (val === 'null') {
-    val = null;
-  } else {
-    val = Number(val);
-  }
-
-  obj[prop] = val;
-  return obj;
-}, {});
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
-  return 'colors' in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
-}
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-
-function formatArgs(args) {
-  var name = this.namespace,
-      useColors = this.useColors;
-
-  if (useColors) {
-    var c = this.color;
-    var colorCode = "\x1B[3" + (c < 8 ? c : '8;5;' + c);
-    var prefix = "  ".concat(colorCode, ";1m").concat(name, " \x1B[0m");
-    args[0] = prefix + args[0].split('\n').join('\n' + prefix);
-    args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + "\x1B[0m");
-  } else {
-    args[0] = getDate() + name + ' ' + args[0];
-  }
-}
-
-function getDate() {
-  if (exports.inspectOpts.hideDate) {
-    return '';
-  }
-
-  return new Date().toISOString() + ' ';
-}
-/**
- * Invokes `util.format()` with the specified arguments and writes to stderr.
- */
-
-
-function log() {
-  return process.stderr.write(util.format.apply(util, arguments) + '\n');
-}
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-
-function save(namespaces) {
-  if (namespaces) {
-    process.env.DEBUG = namespaces;
-  } else {
-    // If you set a process.env field to null or undefined, it gets cast to the
-    // string 'null' or 'undefined'. Just delete instead.
-    delete process.env.DEBUG;
-  }
-}
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-
-function load() {
-  return process.env.DEBUG;
-}
-/**
- * Init logic for `debug` instances.
- *
- * Create a new `inspectOpts` object in case `useColors` is set
- * differently for a particular `debug` instance.
- */
-
-
-function init(debug) {
-  debug.inspectOpts = {};
-  var keys = Object.keys(exports.inspectOpts);
-
-  for (var i = 0; i < keys.length; i++) {
-    debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
-  }
-}
-
-module.exports = require('./common')(exports);
-var formatters = module.exports.formatters;
-/**
- * Map %o to `util.inspect()`, all on a single line.
- */
-
-formatters.o = function (v) {
-  this.inspectOpts.colors = this.useColors;
-  return util.inspect(v, this.inspectOpts).replace(/\s*\n\s*/g, ' ');
-};
-/**
- * Map %O to `util.inspect()`, allowing multiple lines if needed.
- */
... 59767 lines suppressed ...

[camel-website] 04/08: add update:dependencies script to package.json

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 4c6baee7b01048b347fd64fe266a0609fb55f38f
Author: David Jencks <dj...@apache.org>
AuthorDate: Wed Nov 10 08:57:41 2021 -0800

    add update:dependencies script to package.json
---
 package.json | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package.json b/package.json
index 37a9d82..8229bf7 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,9 @@
     "check:dependencies": "run-p check:cache check:dedupe",
     "check:cache": "yarn workspaces foreach install --immutable --immutable-cache --check-cache",
     "check:dedupe": "yarn workspaces foreach dedupe --check",
+    "update:dependencies": "run-s update:dedupe update:cache",
+    "update:cache": "yarn workspaces foreach install --check-cache",
+    "update:dedupe": "yarn workspaces foreach dedupe",
     "preview": "run-s preview:antora preview:hugo",
     "preview:antora": "antora --clean --fetch antora-playbook.yml",
     "preview:hugo": "hugo server -D",

[camel-website] 02/08: Playbook changes to use aggregate collector and indexPage extension.

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 6d0172fff46ebe671a384bb2d629b2d1450813e8
Author: David Jencks <dj...@apache.org>
AuthorDate: Wed Nov 10 07:29:30 2021 -0800

    Playbook changes to use aggregate collector and indexPage extension.
---
 antora-playbook.yml | 54 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 49 insertions(+), 5 deletions(-)

diff --git a/antora-playbook.yml b/antora-playbook.yml
index 82c709f..5d95fe7 100644
--- a/antora-playbook.yml
+++ b/antora-playbook.yml
@@ -13,6 +13,7 @@ content:
         - docs/user-manual
 
     - url: https://github.com/apache/camel.git
+#    - url: https://github.com/djencks/camel.git
       branches:
         - main
         - camel-3.12.x
@@ -62,18 +63,28 @@ content:
       start_path: docs
 
     - url: https://github.com/apache/camel-kafka-connector.git
+#    - url: https://github.com/djencks/camel-kafka-connector.git
       branches:
         - main
         - camel-kafka-connector-0.11.x
-      start_path: docs
+      start_paths:
+        - docs
+        - connectors
 
     - url: https://github.com/apache/camel-spring-boot.git
+#    - url: https://github.com/djencks/camel-spring-boot.git
       branches:
         - main
         - camel-spring-boot-3.12.x
         - camel-spring-boot-3.11.x
         - camel-spring-boot-3.7.x
+#        - main-collect
+#        - camel-spring-boot-3.12.x-collect
+#        - camel-spring-boot-3.11.x-collect
+#        - camel-spring-boot-3.7.x-collect
       start_paths:
+#        - components-starter
+#        - core
         - docs/components
         - docs/spring-boot
 
@@ -91,6 +102,9 @@ ui:
 
 urls:
   redirect_facility: disabled
+#  latest_version_segment_strategy: redirect:from
+#  latest_version_segment: latest
+
 
 output:
   dir: ./documentation
@@ -109,10 +123,40 @@ runtime:
   log:
     level: warn
     failure_level: warn
-
-pipeline:
+#    format: json
+    
+antora:
   extensions:
+    - require: '@djencks/antora-aggregate-collector'
+#      log_level: trace
+      componentversions:
+        - name: components
+          version: '*'
+          local-mappings: ac-mappings.yml
+        - name: camel-spring-boot
+          version: '*'
+          local-mappings: ac-mappings.yml
+        - name: camel-kafka-connector
+          version: '*'
+          local-mappings: ac-mappings.yml
+
     - require: '@djencks/asciidoctor-jsonpath'
-#      trace: true
+#      log_level: trace
+
     - require: '@djencks/asciidoctor-antora-indexer'
-#      trace: true
+#      log_level: trace
+      indexPages:
+        - query:
+            component: camel-kafka-connector
+            module: ROOT
+            family: example
+            relative: json/*
+          template-id:
+            family: example
+            relative: template/connector-options.adoc
+          extract:
+            - path: 'src.relative'
+              match: 'json/camel-(?<basename>*)-kafka-(?<type>source|sink)-connector.json'
+          target:
+            match: 'json/(?<body>*).json'
+            format: '`reference/connectors/${body}.adoc`'

[camel-website] 01/08: Util changes: better check for strong in util

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit eba7ab4993d409fc0d0db48160d514a0ea7a6b99
Author: David Jencks <dj...@apache.org>
AuthorDate: Tue Nov 2 12:46:31 2021 -0700

    Util changes:
    better check for strong in util
    
    use inline anchor syntax so table cells can be plain not 'a'
---
 util/jsonpath-util.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/util/jsonpath-util.js b/util/jsonpath-util.js
index df51c70..bb5f38e 100644
--- a/util/jsonpath-util.js
+++ b/util/jsonpath-util.js
@@ -32,7 +32,7 @@ module.exports = {
   boldLink: (text, idPrefix, suffix = '') => {
     const idText = `_${idPrefix}_${text.split('.').join('_')}`
     text = suffix ? `*${text}* (${suffix})` : `*${text}*`
-    return  `[#${idText}]\nxref:#${idText}['',role=anchor]${text}`
+    return  `[[${idText}]]\nxref:#${idText}['',role=anchor]${text}`
   },
 
   description: (value) => {
@@ -87,7 +87,7 @@ module.exports = {
   },
 
   strong: (data, text) => {
-    return data[text.toLowerCase()] ? `*${text}* ` : ''
+    return trueEnough(data[text.toLowerCase()]) ? `*${text}* ` : ''
   },
 
   valueAsString: (value) => {
@@ -95,6 +95,10 @@ module.exports = {
   },
 }
 
+function trueEnough (value) {
+  return (value === true) || (value === 'true')
+}
+
 function splitOnce (querySpec, token = '=') {
   const index = querySpec.indexOf(token)
   const pattern = querySpec.substring(0, index).trim()

[camel-website] 07/08: Scripts to run yarn update:dependencies inside docker container

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit a5faff589772e1366259974887df53b7149f8401
Author: David Jencks <dj...@apache.org>
AuthorDate: Thu Nov 11 08:34:29 2021 -0800

    Scripts to run yarn update:dependencies inside docker container
---
 update-deps-in-docker.sh | 7 +++++++
 update-deps.sh           | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/update-deps-in-docker.sh b/update-deps-in-docker.sh
new file mode 100755
index 0000000..cc52849
--- /dev/null
+++ b/update-deps-in-docker.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Run yarn update:dependencies in docker to produce linux-compatible .yarn/unplugged entries.
+# On another system (e.g. mac) you need to run yarn to get platform appropriate entries.
+
+docker build -t camel-website .
+docker run --rm -it -v $(pwd):/work:Z --entrypoint ./update-deps.sh --workdir /work camel-website
diff --git a/update-deps.sh b/update-deps.sh
new file mode 100755
index 0000000..ed3ecd9
--- /dev/null
+++ b/update-deps.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# run from update-deps-in-docker.sh
+yarn update:dependencies

[camel-website] 03/08: package.json dependency updates

Posted by dj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 4454fd8a928388fee361865844cf65537f897b42
Author: David Jencks <dj...@apache.org>
AuthorDate: Wed Nov 10 07:29:39 2021 -0800

    package.json dependency updates
---
 package.json | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/package.json b/package.json
index cba4ef2..37a9d82 100644
--- a/package.json
+++ b/package.json
@@ -22,11 +22,12 @@
     "preview:netlify": "netlify deploy --dir public"
   },
   "devDependencies": {
-    "@antora/cli": "^3.0.0-alpha.10",
-    "@antora/site-generator-default": "^3.0.0-alpha.10",
+    "@antora/cli": "^3.0.0-beta.1",
+    "@antora/site-generator-default": "^3.0.0-beta.1",
     "@deadlinks/cargo-deadlinks": "github-release:deadlinks/cargo-deadlinks:0.8.0/deadlinks-linux",
-    "@djencks/asciidoctor-antora-indexer": "^0.1.0-alpha.1",
-    "@djencks/asciidoctor-jsonpath": "^0.1.0-alpha.1",
+    "@djencks/antora-aggregate-collector": "^0.1.0-beta.1",
+    "@djencks/asciidoctor-antora-indexer": "^0.1.0-beta.1",
+    "@djencks/asciidoctor-jsonpath": "^0.1.0-beta.1",
     "@oclif/errors": "^1.3.4",
     "antora-ui-camel": "workspace:antora-ui-camel",
     "del": "^6.0.0",