From 8c17d20aea8b5ff9946cd8f6db8bfdbab1365e54 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 19 Jul 2022 22:55:22 -0700 Subject: [PATCH] Use esptool-js for installation (#269) --- package-lock.json | 729 ++++++++++------------------------- package.json | 6 +- patches/esploader.patch | 16 + src/const.ts | 7 - src/flash.ts | 195 +++++----- src/install-dialog.ts | 11 +- src/util/chip-family-name.ts | 28 -- 7 files changed, 338 insertions(+), 654 deletions(-) create mode 100644 patches/esploader.patch delete mode 100644 src/util/chip-family-name.ts diff --git a/package-lock.json b/package-lock.json index 8de2d7b..c8a9d8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "esp-web-tools", "version": "8.0.6", + "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@material/mwc-button": "^0.26.1", @@ -16,9 +17,10 @@ "@material/mwc-formfield": "^0.26.1", "@material/mwc-icon-button": "^0.26.1", "@material/mwc-textfield": "^0.26.1", - "esp-web-flasher": "^5.1.4", + "esptool-js": "github:espressif/esptool-js#0c1b972a05d691c85da23fcc937d91dcf7e283eb", "improv-wifi-serial-sdk": "^2.2.2", "lit": "^2.0.0", + "pako": "^2.0.4", "tslib": "^2.3.1" }, "devDependencies": { @@ -35,24 +37,21 @@ }, "node_modules/@babel/code-frame": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", @@ -61,24 +60,21 @@ }, "node_modules/@material/animation": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-GBuR4VmcTQW1D0lPXEosf5Giho72LLbyGIydWGtaEUtLJoive/D9kFkwTN4Fsyt9Kkl7hbhs35vrNe6QkAH4/Q==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/base": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-UJKbXwZtkrA3sfQDmj8Zbw1Q3Tqtl6KdfVFws95Yf7TCUgTFzbZI/FSx1w7dVugQPOEnIBuZnzqZam/MtHkx4w==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/button": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-IPBAByKpQjrWNVmAWx5VCTCLnOw4ymbLsbHmBkLiDgcLPs1EtwYnKKIwQ+/t3bV02OShUdMiyboL8V/C0gMS1A==", + "license": "MIT", "dependencies": { "@material/density": "14.0.0-canary.53b3cad2f.0", "@material/dom": "14.0.0-canary.53b3cad2f.0", @@ -97,8 +93,7 @@ }, "node_modules/@material/circular-progress": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-4A+HMgp66b45Fvbcbh9qb1j0vRFjKESbE2fHFkSMMNDPqFiKcvq4tJFBxKG2szYzpAnXdWLYaB+DeQ2+wSu9hg==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -111,16 +106,14 @@ }, "node_modules/@material/density": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-Eh/vZ3vVyqtpylg5Ci33qlgtToS4H1/ppd450Ib3tcdISIoodgijYY0w4XsRvrnZgbI/h/1STFdLxdzS0UNuFw==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/dialog": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-yiG2nlVKTW0Ro3CF8Z/MVpTwSyG/8Kio3AaTUbeQdbjt5r692s4x5Yhd8m1IjEQKUeulY4CndvIbCUwZ8/G2PA==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -141,8 +134,7 @@ }, "node_modules/@material/dom": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A==", + "license": "MIT", "dependencies": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -150,8 +142,7 @@ }, "node_modules/@material/elevation": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-3h+EkR588RMZ5TSNQ4UeXD1FOBnL3ABQix0DQIGwtNJCqSMoPndT/oJEFvwQbTkZNDbFIKN9p1Q7/KuFPVY8Pw==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -163,16 +154,14 @@ }, "node_modules/@material/feature-targeting": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-fn7Af3PRyARtNeYqtjxXmE3Y/dCpnpQVWWys57MqiGR/nvc6qpgOfJ6rOdcu/MrOysOE/oebTUDmDnTmwpe9Hw==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/floating-label": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-gHZUTTVKnP+Zjz4l9IT/G89NPmypn5FlTGLWKKqXbuQphr37rsKFR3Y80SJxULRyMDnAdKSxuZwiXLFKQz9KlA==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -186,8 +175,7 @@ }, "node_modules/@material/focus-ring": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-exPX5VrjQimipBwgcFDGRiEE783sOBgpkFui59A6i6iGvS2UrLHlYY2E65fyyyQnD1f/rv4Po1OOnCesE1kulg==", + "license": "MIT", "dependencies": { "@material/dom": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -196,8 +184,7 @@ }, "node_modules/@material/form-field": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-h9jFm9f5WeMHJWGpQsZ9sPrERLGcDQdW8uvbHAHZ/zN35Mqj43s8+alXROiibx+m1oHLvf2Z01pPWtFSXLYzxA==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -210,8 +197,7 @@ }, "node_modules/@material/icon-button": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-BFdj3CP0JXHC/F2bDmpmzWhum4fkzIDgCCavvnpE/KcCbr0AaoSULRde+LtqvbdLIYW20cXhvjinIOlRhSOshA==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/density": "14.0.0-canary.53b3cad2f.0", @@ -228,8 +214,7 @@ }, "node_modules/@material/line-ripple": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-k8f8uuDwnSqZZ98CzbYtQVtxlp1ryUup9nd2uobo3kiqQNlQfXdGkVjuCXcla0OPiKFizNn7dS6Kl/j6L09XUA==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -240,8 +225,7 @@ }, "node_modules/@material/list": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-mkMpltSKAYLBtFnTTCk/mQIDzwxF/VLh1gh59ehOtmRXt7FvTz83RoAa4tqe53hpVrbX4HoLDBu+vILhq/wkjw==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/density": "14.0.0-canary.53b3cad2f.0", @@ -257,8 +241,7 @@ }, "node_modules/@material/menu": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/dom": "14.0.0-canary.53b3cad2f.0", @@ -274,8 +257,7 @@ }, "node_modules/@material/menu-surface": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -289,8 +271,7 @@ }, "node_modules/@material/mwc-base": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-base/-/mwc-base-0.26.1.tgz", - "integrity": "sha512-YcVvWwSoDwQAxjvYevhZgtyXIIPuMeTnw9MtEj+Hv7NJizT88hoTsPmKpwM+X58cIY2SPo0y/tHfgmblWntibQ==", + "license": "Apache-2.0", "dependencies": { "@material/base": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -300,8 +281,7 @@ }, "node_modules/@material/mwc-button": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-button/-/mwc-button-0.26.1.tgz", - "integrity": "sha512-ptgAmg50k+71M6ynfv6QeNaBnX7X/EAnhOjxZqhDHrKwZcFuuQyFJJ6r4ypjc21eCSPS7o6xRqJyI4PPpf3xkA==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-icon": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -311,8 +291,7 @@ }, "node_modules/@material/mwc-checkbox": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-checkbox/-/mwc-checkbox-0.26.1.tgz", - "integrity": "sha512-2euxVZ0zksAQ/JVkOznUOGJKfbxq+m3ijRTh44b8fQyERBobm5QtWXbhXxV9YCesqFQSbj5M3qDw6Nm5MRKluw==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-base": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -322,8 +301,7 @@ }, "node_modules/@material/mwc-circular-progress": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-circular-progress/-/mwc-circular-progress-0.26.1.tgz", - "integrity": "sha512-D8J9ziKpUFR/QOEqZaVcOE3TC+JbN76v2monmZ2I8ctuSDDgg0xuJqGWH1K2VLb1elGq/paFJwSdXMSUNZFstw==", + "license": "Apache-2.0", "dependencies": { "@material/circular-progress": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -334,8 +312,7 @@ }, "node_modules/@material/mwc-dialog": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-dialog/-/mwc-dialog-0.26.1.tgz", - "integrity": "sha512-QI9OkD0ZXZRyxA9I3ZbRjn4iRdDh/u+ZtcfZtIhKKgm3S0pkHAxndNlygq8DHQgwCO5HxMcmEot7voAdDtpfoQ==", + "license": "Apache-2.0", "dependencies": { "@material/dialog": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -349,8 +326,7 @@ }, "node_modules/@material/mwc-floating-label": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-floating-label/-/mwc-floating-label-0.26.1.tgz", - "integrity": "sha512-iPKOWAgypL+UNZWa0jNE2P/929QEbHqrxr7BFNKpSvO/t6pX7672g1gOny7+8Dnnt+a4kVlYjWTMAw9qjOkLlg==", + "license": "Apache-2.0", "dependencies": { "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", "lit": "^2.0.0", @@ -359,8 +335,7 @@ }, "node_modules/@material/mwc-formfield": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-formfield/-/mwc-formfield-0.26.1.tgz", - "integrity": "sha512-0aFrTpZMR3+z/W67KGIy2CgYPhknoA0VD6CIephpDRbeTScAdtYXmAmtB7wm3lKHRVejdmXb8qIhq1mJoyG7Uw==", + "license": "Apache-2.0", "dependencies": { "@material/form-field": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -370,8 +345,7 @@ }, "node_modules/@material/mwc-icon": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.26.1.tgz", - "integrity": "sha512-RPcVPn+5p6hA2HjX/0wkeHQuxkJKgXMg47ffw+vhIw28qM8mprSv13hpUgrghb0f7xBvuPhf/kLb37V4xkRfwg==", + "license": "Apache-2.0", "dependencies": { "lit": "^2.0.0", "tslib": "^2.0.1" @@ -379,8 +353,7 @@ }, "node_modules/@material/mwc-icon-button": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-icon-button/-/mwc-icon-button-0.26.1.tgz", - "integrity": "sha512-pa3zFSH1wV7j8dH1i5NfKL0mKqQsan+SiD+lkW39Al4NeCrNoWN9wJY0mSiwrlbVnxOub8r2kWINCpTHBoluJg==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-ripple": "^0.26.1", "lit": "^2.0.0", @@ -389,8 +362,7 @@ }, "node_modules/@material/mwc-line-ripple": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-line-ripple/-/mwc-line-ripple-0.26.1.tgz", - "integrity": "sha512-pTWYurvptGGZI5OP3SXJPNQrsri+1tM8CUGTuTLaLVTSIyvMcUiTzfNPCyTmkjndoCsbrPYjPzY8f/wiU4mZrA==", + "license": "Apache-2.0", "dependencies": { "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", "lit": "^2.0.0", @@ -399,8 +371,7 @@ }, "node_modules/@material/mwc-list": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-list/-/mwc-list-0.26.1.tgz", - "integrity": "sha512-1jYG0/VCJhUjjJQSDvjvMiTryOtKk5TEzpkTO/kguhdN9j6vk0XU/p/LhnyxV0+fQei754AO3Tos5Dv0FvEUOQ==", + "license": "Apache-2.0", "dependencies": { "@material/base": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -415,8 +386,7 @@ }, "node_modules/@material/mwc-menu": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-menu/-/mwc-menu-0.26.1.tgz", - "integrity": "sha512-zdLalm1vabFU2+ml53B7N88OoJo+yygXGra94GluCPLCRBV6Oswdou7b8cqEyVEJ6McbeiegKwO0j8k3mEd4zw==", + "license": "Apache-2.0", "dependencies": { "@material/menu": "=14.0.0-canary.53b3cad2f.0", "@material/menu-surface": "=14.0.0-canary.53b3cad2f.0", @@ -430,8 +400,7 @@ }, "node_modules/@material/mwc-notched-outline": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-notched-outline/-/mwc-notched-outline-0.26.1.tgz", - "integrity": "sha512-3vsbnNk9dzyATANoL+nv7nwGvvzgb4tQcMbjP023qmpkelV/Ci2jP8nV+UDDepJcZ6KjRJo1eUAroznp4T/rKA==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-base": "^0.26.1", "@material/notched-outline": "=14.0.0-canary.53b3cad2f.0", @@ -441,8 +410,7 @@ }, "node_modules/@material/mwc-radio": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-radio/-/mwc-radio-0.26.1.tgz", - "integrity": "sha512-KWEcwVKbZS0wIfxOk8AqFNZocnP2f3JjnO/m2y6RWBUUrSgIlxavfz3J5MiwDC0JjYI1jUmheivcKrlZRNxnSA==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-base": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -453,8 +421,7 @@ }, "node_modules/@material/mwc-ripple": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-ripple/-/mwc-ripple-0.26.1.tgz", - "integrity": "sha512-hBeC2S7TSYLmHetXbtu52/EZFzvAqrQk5skIV0aUZeZvywTJWRVoc5OavDjsJYuKxDnSECMnkIt8+l8WC48chg==", + "license": "Apache-2.0", "dependencies": { "@material/dom": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -465,8 +432,7 @@ }, "node_modules/@material/mwc-select": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-select/-/mwc-select-0.26.1.tgz", - "integrity": "sha512-glqhi0HeNtm7LgVNW/Vxk2QLm76mjkY0Sw5CFkcedMcjqkoj3fiuTtcMkoQlb4/MeCqgFZyO0xxCOOz9LSNF4A==", + "license": "Apache-2.0", "dependencies": { "@material/dom": "=14.0.0-canary.53b3cad2f.0", "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", @@ -486,8 +452,7 @@ }, "node_modules/@material/mwc-textfield": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-textfield/-/mwc-textfield-0.26.1.tgz", - "integrity": "sha512-Kdb31R2PROUOM7hpyjb+pY4WIOu6BQSEQKeVy4hnLqwvhe14nTvnn9I7Fkkz4t9SNWPh3G+DQsAx9vhPuCgUyQ==", + "license": "Apache-2.0", "dependencies": { "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", @@ -502,8 +467,7 @@ }, "node_modules/@material/notched-outline": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-3ByiPOC/wWQmFKfgJS98kb5/6v92n7uIfJ6v6sryKJlJCJn39qfpGcCM5RpRIws1RET1s1zBJT2JDwYeu/hM5A==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -516,16 +480,14 @@ }, "node_modules/@material/progress-indicator": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-vW0oZK70QOpAarip95ueCQ/I3kBClcWjxsc0F0QjkqT76DOVXpjnZ4XoRRyq9eMpwLqlKLTecrsSNpmqwwF1Dg==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/radio": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-V/AgWEOuHFoh9d4Gq1rqBZnKSGtMLQNh23Bwrv0c1FhPqFvUpwt9jR3SVwhJk5gvQQWGy9p3iiGc9QCJ+0+P8Q==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -541,8 +503,7 @@ }, "node_modules/@material/ripple": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-6g2G62vd8DsMuIUSXlRrzb98qkZ4o8ZREknNwNP2zaLQEOkJ//4j9HaqDt98/3LIjUTY9UIVFTQENiMmlwKHYQ==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -555,8 +516,7 @@ }, "node_modules/@material/rtl": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-f08LT0HSa0WYU+4Jz/tbm1TQ9Fcf2k+H6dPPYv0J1sZmX6hMgCEmNiUdUFLQFvszoXx2XrRi1/hIFjbz2e69Yg==", + "license": "MIT", "dependencies": { "@material/theme": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -564,8 +524,7 @@ }, "node_modules/@material/select": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-fAiTaHZ1PIEmCUbufS+IZvsWO0hDxtbU8rOsbmSu1oupAboP7jSgOVgcCGdT9KY5WacrniIIMO6jZjhnvrC0Lg==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -590,8 +549,7 @@ }, "node_modules/@material/shape": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-RyjInLCNe+nI/ulKea0ZLHphXQDiDqYazS25SRn18g8Hoa5qGNaY5oOBncDXUYn3jm5oI5kFc9oif//kulkbjg==", + "license": "MIT", "dependencies": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "@material/rtl": "14.0.0-canary.53b3cad2f.0", @@ -601,8 +559,7 @@ }, "node_modules/@material/textfield": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-Pla9Tr94Is18o97E/mqHKdkR24rPES9atGm3BlXrNzyr5tu6+h++RBbxy7V6IExcfl0MX+v9Gyqz7sPZzFtwMA==", + "license": "MIT", "dependencies": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -623,8 +580,7 @@ }, "node_modules/@material/theme": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-S06XAevDCDWMe+GgsEpITMS07imUidzadNaTbJsqssFajBLr53QWVZsG84BpjXKXoYvyEJvb0hX5U0lq6ip9UQ==", + "license": "MIT", "dependencies": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -632,16 +588,14 @@ }, "node_modules/@material/tokens": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-myHFB7vac8zErA3qgkqmV+kpE+i9JEwc/6Yf0MOumDSpylJGw28QikpNC6eAVBK2EmPQTaFn20mqUxyud8dGqw==", + "license": "MIT", "dependencies": { "@material/elevation": "14.0.0-canary.53b3cad2f.0" } }, "node_modules/@material/touch-target": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-d83e5vbqoLyL542yOTTp4TLVltddWiqbI/j1w/D9ipE30YKfe2EDN+CNJc32Zufh5IUfK41DsZdrN8fI9cL99A==", + "license": "MIT", "dependencies": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -651,8 +605,7 @@ }, "node_modules/@material/typography": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-9J0k2fq7uyHsRzRqJDJLGmg3YzRpfRPtFDVeUH/xBcYoqpZE7wYw5Mb7s/l8eP626EtR7HhXhSPjvRTLA6NIJg==", + "license": "MIT", "dependencies": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "@material/theme": "14.0.0-canary.53b3cad2f.0", @@ -661,18 +614,19 @@ }, "node_modules/@rollup/plugin-json": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, "node_modules/@rollup/plugin-node-resolve": { "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", - "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -690,9 +644,8 @@ }, "node_modules/@rollup/plugin-typescript": { "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz", - "integrity": "sha512-55L9SyiYu3r/JtqdjhwcwaECXP7JeJ9h1Sg1VWRJKIutla2MdZQodTgcCNybXLMCnqpNLEhS2vGENww98L1npg==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "resolve": "^1.17.0" @@ -713,9 +666,8 @@ }, "node_modules/@rollup/pluginutils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -723,39 +675,37 @@ }, "engines": { "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, "node_modules/@types/estree": { "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/resolve": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/trusted-types": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + "license": "MIT" }, "node_modules/@types/w3c-web-serial": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/w3c-web-serial/-/w3c-web-serial-1.0.2.tgz", - "integrity": "sha512-Ftx4BtLxgAnel7V7GbHylCYjSq827A+jeEE3SnTS7huCGUN0pSwUn+CchTCT9TkZj9w+NVMUq4Bk2R0GvUNmAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@zeit/schemas": { "version": "2.21.0", @@ -868,9 +818,8 @@ }, "node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -906,14 +855,12 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/blocking-elements": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/blocking-elements/-/blocking-elements-0.1.1.tgz", - "integrity": "sha512-/SLWbEzMoVIMZACCyhD/4Ya2M1PWP1qMKuiymowPcI+PdWDARqeARBjhj73kbUBCxEmTZCUu5TAqxtwUO9C1Ig==" + "license": "Apache-2.0" }, "node_modules/boxen": { "version": "7.0.0", @@ -951,9 +898,8 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -961,15 +907,13 @@ }, "node_modules/buffer-from": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -979,9 +923,8 @@ }, "node_modules/bytes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1000,9 +943,8 @@ }, "node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1128,24 +1070,21 @@ }, "node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/compressible": { "version": "2.0.18", @@ -1185,15 +1124,13 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/content-disposition": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -1212,6 +1149,10 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "license": "MIT" + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -1232,9 +1173,8 @@ }, "node_modules/deepmerge": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1253,27 +1193,24 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, - "node_modules/esp-web-flasher": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/esp-web-flasher/-/esp-web-flasher-5.1.4.tgz", - "integrity": "sha512-yv/5yTJmsQl1Z5duow20rkiDDasxwNtIqwhSWXhhc8p9GPUXBxRgxAbFi3TTWhwbl+s9obu+9iPbBiw4b+bPxw==", + "node_modules/esptool-js": { + "resolved": "git+ssh://git@github.com/espressif/esptool-js.git#0c1b972a05d691c85da23fcc937d91dcf7e283eb", + "integrity": "sha512-axYKf6QlM1JjMvFE6MiLfNVuK0yAuRnq5UOcIN16kTE11yBDYx+zynQBDtsSxTQ+ehEnu+jPSNGC3SkgHChvcA==", "dependencies": { - "pako": "^2.0.3", - "tslib": "^2.2.0" + "crypto-js": "^4.0.0", + "xterm": "^4.13.0" } }, "node_modules/estree-walker": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/execa": { "version": "5.1.1", @@ -1306,18 +1243,16 @@ }, "node_modules/fast-url-parser": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^1.3.2" } }, "node_modules/fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1328,9 +1263,8 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/get-stream": { "version": "6.0.1", @@ -1346,9 +1280,8 @@ }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1358,9 +1291,8 @@ }, "node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -1376,8 +1308,7 @@ }, "node_modules/improv-wifi-serial-sdk": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/improv-wifi-serial-sdk/-/improv-wifi-serial-sdk-2.2.2.tgz", - "integrity": "sha512-YZa9sSN9Z8Td0UDcxPIiQqyB8sRJqtjViQL9hvrpwVV5qo8K0m9bfT/bsvRFoWi/6cqAtakorI/fLi3TJNKKsw==", + "license": "Apache-2.0", "dependencies": { "@material/mwc-button": "^0.26.1", "@material/mwc-circular-progress": "^0.26.1", @@ -1397,9 +1328,8 @@ }, "node_modules/is-builtin-module": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", "dev": true, + "license": "MIT", "dependencies": { "builtin-modules": "^3.0.0" }, @@ -1409,11 +1339,13 @@ }, "node_modules/is-core-module": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-docker": { @@ -1442,9 +1374,8 @@ }, "node_modules/is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-port-reachable": { "version": "4.0.0", @@ -1490,9 +1421,8 @@ }, "node_modules/jest-worker": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -1504,18 +1434,16 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-worker/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1525,9 +1453,8 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "1.0.0", @@ -1537,8 +1464,7 @@ }, "node_modules/lit": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.7.tgz", - "integrity": "sha512-WXYujlKFwme5ZqXOZoWuRVZQAwy7scbcVT3wCbAOHefOxyscqjywWGlF2e6nnC9E64yP9l2ZQlN8wZcRlrjUMQ==", + "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.3.0", "lit-element": "^3.2.0", @@ -1547,8 +1473,7 @@ }, "node_modules/lit-element": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.0.tgz", - "integrity": "sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g==", + "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.3.0", "lit-html": "^2.2.0" @@ -1556,27 +1481,23 @@ }, "node_modules/lit-element/node_modules/@lit/reactive-element": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.3.0.tgz", - "integrity": "sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw==" + "license": "BSD-3-Clause" }, "node_modules/lit-html": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.2.0.tgz", - "integrity": "sha512-dJnevgV8VkCuOXLWrjQopDE8nSy8CzipZ/ATfYQv7z7Dct4abblcKecf50gkIScuwCTzKvRLgvTgV0zzagW4gA==", + "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" } }, "node_modules/lit/node_modules/@lit/reactive-element": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.3.0.tgz", - "integrity": "sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw==" + "license": "BSD-3-Clause" }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mime-db": { "version": "1.52.0", @@ -1589,9 +1510,8 @@ }, "node_modules/mime-types": { "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "~1.33.0" }, @@ -1601,9 +1521,8 @@ }, "node_modules/mime-types/node_modules/mime-db": { "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -1619,9 +1538,8 @@ }, "node_modules/minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1688,14 +1606,12 @@ }, "node_modules/pako": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + "license": "(MIT AND Zlib)" }, "node_modules/path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "dev": true, + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", @@ -1708,30 +1624,29 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/prettier": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -1744,24 +1659,21 @@ }, "node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -1814,19 +1726,20 @@ }, "node_modules/resolve": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.75.7", "dev": true, + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -1839,27 +1752,41 @@ }, "node_modules/rollup-plugin-terser": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", "serialize-javascript": "^4.0.0", "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" } }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -1891,9 +1818,8 @@ }, "node_modules/serve-handler": { "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", @@ -1946,18 +1872,16 @@ }, "node_modules/source-map": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-support": { "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -1965,9 +1889,8 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -2024,9 +1947,8 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2036,9 +1958,8 @@ }, "node_modules/terser": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -2053,8 +1974,7 @@ }, "node_modules/tslib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "license": "0BSD" }, "node_modules/type-fest": { "version": "2.16.0", @@ -2070,9 +1990,8 @@ }, "node_modules/typescript": { "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2134,9 +2053,7 @@ } }, "node_modules/wicg-inert": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/wicg-inert/-/wicg-inert-3.1.1.tgz", - "integrity": "sha512-PhBaNh8ur9Xm4Ggy4umelwNIP6pPP1bv3EaWaKqfb/QNme2rdLjm7wIInvV4WhxVHhzA4Spgw9qNSqWtB/ca2A==" + "version": "3.1.1" }, "node_modules/widest-line": { "version": "4.0.1", @@ -2181,13 +2098,15 @@ "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } + }, + "node_modules/xterm": { + "version": "4.19.0", + "license": "MIT" } }, "dependencies": { "@babel/code-frame": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { "@babel/highlight": "^7.12.13" @@ -2195,14 +2114,10 @@ }, "@babel/helper-validator-identifier": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", "dev": true }, "@babel/highlight": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.0", @@ -2212,24 +2127,18 @@ }, "@material/animation": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-GBuR4VmcTQW1D0lPXEosf5Giho72LLbyGIydWGtaEUtLJoive/D9kFkwTN4Fsyt9Kkl7hbhs35vrNe6QkAH4/Q==", "requires": { "tslib": "^2.1.0" } }, "@material/base": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-UJKbXwZtkrA3sfQDmj8Zbw1Q3Tqtl6KdfVFws95Yf7TCUgTFzbZI/FSx1w7dVugQPOEnIBuZnzqZam/MtHkx4w==", "requires": { "tslib": "^2.1.0" } }, "@material/button": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-IPBAByKpQjrWNVmAWx5VCTCLnOw4ymbLsbHmBkLiDgcLPs1EtwYnKKIwQ+/t3bV02OShUdMiyboL8V/C0gMS1A==", "requires": { "@material/density": "14.0.0-canary.53b3cad2f.0", "@material/dom": "14.0.0-canary.53b3cad2f.0", @@ -2248,8 +2157,6 @@ }, "@material/circular-progress": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-4A+HMgp66b45Fvbcbh9qb1j0vRFjKESbE2fHFkSMMNDPqFiKcvq4tJFBxKG2szYzpAnXdWLYaB+DeQ2+wSu9hg==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2262,16 +2169,12 @@ }, "@material/density": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-Eh/vZ3vVyqtpylg5Ci33qlgtToS4H1/ppd450Ib3tcdISIoodgijYY0w4XsRvrnZgbI/h/1STFdLxdzS0UNuFw==", "requires": { "tslib": "^2.1.0" } }, "@material/dialog": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-yiG2nlVKTW0Ro3CF8Z/MVpTwSyG/8Kio3AaTUbeQdbjt5r692s4x5Yhd8m1IjEQKUeulY4CndvIbCUwZ8/G2PA==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2292,8 +2195,6 @@ }, "@material/dom": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A==", "requires": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -2301,8 +2202,6 @@ }, "@material/elevation": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-3h+EkR588RMZ5TSNQ4UeXD1FOBnL3ABQix0DQIGwtNJCqSMoPndT/oJEFvwQbTkZNDbFIKN9p1Q7/KuFPVY8Pw==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2314,16 +2213,12 @@ }, "@material/feature-targeting": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-fn7Af3PRyARtNeYqtjxXmE3Y/dCpnpQVWWys57MqiGR/nvc6qpgOfJ6rOdcu/MrOysOE/oebTUDmDnTmwpe9Hw==", "requires": { "tslib": "^2.1.0" } }, "@material/floating-label": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-gHZUTTVKnP+Zjz4l9IT/G89NPmypn5FlTGLWKKqXbuQphr37rsKFR3Y80SJxULRyMDnAdKSxuZwiXLFKQz9KlA==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2337,8 +2232,6 @@ }, "@material/focus-ring": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-exPX5VrjQimipBwgcFDGRiEE783sOBgpkFui59A6i6iGvS2UrLHlYY2E65fyyyQnD1f/rv4Po1OOnCesE1kulg==", "requires": { "@material/dom": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -2347,8 +2240,6 @@ }, "@material/form-field": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-h9jFm9f5WeMHJWGpQsZ9sPrERLGcDQdW8uvbHAHZ/zN35Mqj43s8+alXROiibx+m1oHLvf2Z01pPWtFSXLYzxA==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -2361,8 +2252,6 @@ }, "@material/icon-button": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-BFdj3CP0JXHC/F2bDmpmzWhum4fkzIDgCCavvnpE/KcCbr0AaoSULRde+LtqvbdLIYW20cXhvjinIOlRhSOshA==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/density": "14.0.0-canary.53b3cad2f.0", @@ -2379,8 +2268,6 @@ }, "@material/line-ripple": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-k8f8uuDwnSqZZ98CzbYtQVtxlp1ryUup9nd2uobo3kiqQNlQfXdGkVjuCXcla0OPiKFizNn7dS6Kl/j6L09XUA==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2391,8 +2278,6 @@ }, "@material/list": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-mkMpltSKAYLBtFnTTCk/mQIDzwxF/VLh1gh59ehOtmRXt7FvTz83RoAa4tqe53hpVrbX4HoLDBu+vILhq/wkjw==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/density": "14.0.0-canary.53b3cad2f.0", @@ -2408,8 +2293,6 @@ }, "@material/menu": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/dom": "14.0.0-canary.53b3cad2f.0", @@ -2425,8 +2308,6 @@ }, "@material/menu-surface": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2440,8 +2321,6 @@ }, "@material/mwc-base": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-base/-/mwc-base-0.26.1.tgz", - "integrity": "sha512-YcVvWwSoDwQAxjvYevhZgtyXIIPuMeTnw9MtEj+Hv7NJizT88hoTsPmKpwM+X58cIY2SPo0y/tHfgmblWntibQ==", "requires": { "@material/base": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -2451,8 +2330,6 @@ }, "@material/mwc-button": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-button/-/mwc-button-0.26.1.tgz", - "integrity": "sha512-ptgAmg50k+71M6ynfv6QeNaBnX7X/EAnhOjxZqhDHrKwZcFuuQyFJJ6r4ypjc21eCSPS7o6xRqJyI4PPpf3xkA==", "requires": { "@material/mwc-icon": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -2462,8 +2339,6 @@ }, "@material/mwc-checkbox": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-checkbox/-/mwc-checkbox-0.26.1.tgz", - "integrity": "sha512-2euxVZ0zksAQ/JVkOznUOGJKfbxq+m3ijRTh44b8fQyERBobm5QtWXbhXxV9YCesqFQSbj5M3qDw6Nm5MRKluw==", "requires": { "@material/mwc-base": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -2473,8 +2348,6 @@ }, "@material/mwc-circular-progress": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-circular-progress/-/mwc-circular-progress-0.26.1.tgz", - "integrity": "sha512-D8J9ziKpUFR/QOEqZaVcOE3TC+JbN76v2monmZ2I8ctuSDDgg0xuJqGWH1K2VLb1elGq/paFJwSdXMSUNZFstw==", "requires": { "@material/circular-progress": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -2485,8 +2358,6 @@ }, "@material/mwc-dialog": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-dialog/-/mwc-dialog-0.26.1.tgz", - "integrity": "sha512-QI9OkD0ZXZRyxA9I3ZbRjn4iRdDh/u+ZtcfZtIhKKgm3S0pkHAxndNlygq8DHQgwCO5HxMcmEot7voAdDtpfoQ==", "requires": { "@material/dialog": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -2500,8 +2371,6 @@ }, "@material/mwc-floating-label": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-floating-label/-/mwc-floating-label-0.26.1.tgz", - "integrity": "sha512-iPKOWAgypL+UNZWa0jNE2P/929QEbHqrxr7BFNKpSvO/t6pX7672g1gOny7+8Dnnt+a4kVlYjWTMAw9qjOkLlg==", "requires": { "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", "lit": "^2.0.0", @@ -2510,8 +2379,6 @@ }, "@material/mwc-formfield": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-formfield/-/mwc-formfield-0.26.1.tgz", - "integrity": "sha512-0aFrTpZMR3+z/W67KGIy2CgYPhknoA0VD6CIephpDRbeTScAdtYXmAmtB7wm3lKHRVejdmXb8qIhq1mJoyG7Uw==", "requires": { "@material/form-field": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -2521,8 +2388,6 @@ }, "@material/mwc-icon": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.26.1.tgz", - "integrity": "sha512-RPcVPn+5p6hA2HjX/0wkeHQuxkJKgXMg47ffw+vhIw28qM8mprSv13hpUgrghb0f7xBvuPhf/kLb37V4xkRfwg==", "requires": { "lit": "^2.0.0", "tslib": "^2.0.1" @@ -2530,8 +2395,6 @@ }, "@material/mwc-icon-button": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-icon-button/-/mwc-icon-button-0.26.1.tgz", - "integrity": "sha512-pa3zFSH1wV7j8dH1i5NfKL0mKqQsan+SiD+lkW39Al4NeCrNoWN9wJY0mSiwrlbVnxOub8r2kWINCpTHBoluJg==", "requires": { "@material/mwc-ripple": "^0.26.1", "lit": "^2.0.0", @@ -2540,8 +2403,6 @@ }, "@material/mwc-line-ripple": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-line-ripple/-/mwc-line-ripple-0.26.1.tgz", - "integrity": "sha512-pTWYurvptGGZI5OP3SXJPNQrsri+1tM8CUGTuTLaLVTSIyvMcUiTzfNPCyTmkjndoCsbrPYjPzY8f/wiU4mZrA==", "requires": { "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", "lit": "^2.0.0", @@ -2550,8 +2411,6 @@ }, "@material/mwc-list": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-list/-/mwc-list-0.26.1.tgz", - "integrity": "sha512-1jYG0/VCJhUjjJQSDvjvMiTryOtKk5TEzpkTO/kguhdN9j6vk0XU/p/LhnyxV0+fQei754AO3Tos5Dv0FvEUOQ==", "requires": { "@material/base": "=14.0.0-canary.53b3cad2f.0", "@material/dom": "=14.0.0-canary.53b3cad2f.0", @@ -2566,8 +2425,6 @@ }, "@material/mwc-menu": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-menu/-/mwc-menu-0.26.1.tgz", - "integrity": "sha512-zdLalm1vabFU2+ml53B7N88OoJo+yygXGra94GluCPLCRBV6Oswdou7b8cqEyVEJ6McbeiegKwO0j8k3mEd4zw==", "requires": { "@material/menu": "=14.0.0-canary.53b3cad2f.0", "@material/menu-surface": "=14.0.0-canary.53b3cad2f.0", @@ -2581,8 +2438,6 @@ }, "@material/mwc-notched-outline": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-notched-outline/-/mwc-notched-outline-0.26.1.tgz", - "integrity": "sha512-3vsbnNk9dzyATANoL+nv7nwGvvzgb4tQcMbjP023qmpkelV/Ci2jP8nV+UDDepJcZ6KjRJo1eUAroznp4T/rKA==", "requires": { "@material/mwc-base": "^0.26.1", "@material/notched-outline": "=14.0.0-canary.53b3cad2f.0", @@ -2592,8 +2447,6 @@ }, "@material/mwc-radio": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-radio/-/mwc-radio-0.26.1.tgz", - "integrity": "sha512-KWEcwVKbZS0wIfxOk8AqFNZocnP2f3JjnO/m2y6RWBUUrSgIlxavfz3J5MiwDC0JjYI1jUmheivcKrlZRNxnSA==", "requires": { "@material/mwc-base": "^0.26.1", "@material/mwc-ripple": "^0.26.1", @@ -2604,8 +2457,6 @@ }, "@material/mwc-ripple": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-ripple/-/mwc-ripple-0.26.1.tgz", - "integrity": "sha512-hBeC2S7TSYLmHetXbtu52/EZFzvAqrQk5skIV0aUZeZvywTJWRVoc5OavDjsJYuKxDnSECMnkIt8+l8WC48chg==", "requires": { "@material/dom": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "^0.26.1", @@ -2616,8 +2467,6 @@ }, "@material/mwc-select": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-select/-/mwc-select-0.26.1.tgz", - "integrity": "sha512-glqhi0HeNtm7LgVNW/Vxk2QLm76mjkY0Sw5CFkcedMcjqkoj3fiuTtcMkoQlb4/MeCqgFZyO0xxCOOz9LSNF4A==", "requires": { "@material/dom": "=14.0.0-canary.53b3cad2f.0", "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", @@ -2637,8 +2486,6 @@ }, "@material/mwc-textfield": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@material/mwc-textfield/-/mwc-textfield-0.26.1.tgz", - "integrity": "sha512-Kdb31R2PROUOM7hpyjb+pY4WIOu6BQSEQKeVy4hnLqwvhe14nTvnn9I7Fkkz4t9SNWPh3G+DQsAx9vhPuCgUyQ==", "requires": { "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", @@ -2653,8 +2500,6 @@ }, "@material/notched-outline": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-3ByiPOC/wWQmFKfgJS98kb5/6v92n7uIfJ6v6sryKJlJCJn39qfpGcCM5RpRIws1RET1s1zBJT2JDwYeu/hM5A==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -2667,16 +2512,12 @@ }, "@material/progress-indicator": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-vW0oZK70QOpAarip95ueCQ/I3kBClcWjxsc0F0QjkqT76DOVXpjnZ4XoRRyq9eMpwLqlKLTecrsSNpmqwwF1Dg==", "requires": { "tslib": "^2.1.0" } }, "@material/radio": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-V/AgWEOuHFoh9d4Gq1rqBZnKSGtMLQNh23Bwrv0c1FhPqFvUpwt9jR3SVwhJk5gvQQWGy9p3iiGc9QCJ+0+P8Q==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2692,8 +2533,6 @@ }, "@material/ripple": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-6g2G62vd8DsMuIUSXlRrzb98qkZ4o8ZREknNwNP2zaLQEOkJ//4j9HaqDt98/3LIjUTY9UIVFTQENiMmlwKHYQ==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2706,8 +2545,6 @@ }, "@material/rtl": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-f08LT0HSa0WYU+4Jz/tbm1TQ9Fcf2k+H6dPPYv0J1sZmX6hMgCEmNiUdUFLQFvszoXx2XrRi1/hIFjbz2e69Yg==", "requires": { "@material/theme": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -2715,8 +2552,6 @@ }, "@material/select": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-fAiTaHZ1PIEmCUbufS+IZvsWO0hDxtbU8rOsbmSu1oupAboP7jSgOVgcCGdT9KY5WacrniIIMO6jZjhnvrC0Lg==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2741,8 +2576,6 @@ }, "@material/shape": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-RyjInLCNe+nI/ulKea0ZLHphXQDiDqYazS25SRn18g8Hoa5qGNaY5oOBncDXUYn3jm5oI5kFc9oif//kulkbjg==", "requires": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "@material/rtl": "14.0.0-canary.53b3cad2f.0", @@ -2752,8 +2585,6 @@ }, "@material/textfield": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-Pla9Tr94Is18o97E/mqHKdkR24rPES9atGm3BlXrNzyr5tu6+h++RBbxy7V6IExcfl0MX+v9Gyqz7sPZzFtwMA==", "requires": { "@material/animation": "14.0.0-canary.53b3cad2f.0", "@material/base": "14.0.0-canary.53b3cad2f.0", @@ -2774,8 +2605,6 @@ }, "@material/theme": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-S06XAevDCDWMe+GgsEpITMS07imUidzadNaTbJsqssFajBLr53QWVZsG84BpjXKXoYvyEJvb0hX5U0lq6ip9UQ==", "requires": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "tslib": "^2.1.0" @@ -2783,16 +2612,12 @@ }, "@material/tokens": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-myHFB7vac8zErA3qgkqmV+kpE+i9JEwc/6Yf0MOumDSpylJGw28QikpNC6eAVBK2EmPQTaFn20mqUxyud8dGqw==", "requires": { "@material/elevation": "14.0.0-canary.53b3cad2f.0" } }, "@material/touch-target": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-d83e5vbqoLyL542yOTTp4TLVltddWiqbI/j1w/D9ipE30YKfe2EDN+CNJc32Zufh5IUfK41DsZdrN8fI9cL99A==", "requires": { "@material/base": "14.0.0-canary.53b3cad2f.0", "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", @@ -2802,8 +2627,6 @@ }, "@material/typography": { "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-9J0k2fq7uyHsRzRqJDJLGmg3YzRpfRPtFDVeUH/xBcYoqpZE7wYw5Mb7s/l8eP626EtR7HhXhSPjvRTLA6NIJg==", "requires": { "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", "@material/theme": "14.0.0-canary.53b3cad2f.0", @@ -2812,8 +2635,6 @@ }, "@rollup/plugin-json": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", "dev": true, "requires": { "@rollup/pluginutils": "^3.0.8" @@ -2821,8 +2642,6 @@ }, "@rollup/plugin-node-resolve": { "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", - "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -2835,8 +2654,6 @@ }, "@rollup/plugin-typescript": { "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz", - "integrity": "sha512-55L9SyiYu3r/JtqdjhwcwaECXP7JeJ9h1Sg1VWRJKIutla2MdZQodTgcCNybXLMCnqpNLEhS2vGENww98L1npg==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -2845,8 +2662,6 @@ }, "@rollup/pluginutils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, "requires": { "@types/estree": "0.0.39", @@ -2856,34 +2671,24 @@ }, "@types/estree": { "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, "@types/node": { "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==", "dev": true }, "@types/resolve": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dev": true, "requires": { "@types/node": "*" } }, "@types/trusted-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + "version": "2.0.2" }, "@types/w3c-web-serial": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/w3c-web-serial/-/w3c-web-serial-1.0.2.tgz", - "integrity": "sha512-Ftx4BtLxgAnel7V7GbHylCYjSq827A+jeEE3SnTS7huCGUN0pSwUn+CchTCT9TkZj9w+NVMUq4Bk2R0GvUNmAQ==", "dev": true }, "@zeit/schemas": { @@ -2976,8 +2781,6 @@ }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -2997,14 +2800,10 @@ }, "balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "blocking-elements": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/blocking-elements/-/blocking-elements-0.1.1.tgz", - "integrity": "sha512-/SLWbEzMoVIMZACCyhD/4Ya2M1PWP1qMKuiymowPcI+PdWDARqeARBjhj73kbUBCxEmTZCUu5TAqxtwUO9C1Ig==" + "version": "0.1.1" }, "boxen": { "version": "7.0.0", @@ -3032,8 +2831,6 @@ }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3042,20 +2839,14 @@ }, "buffer-from": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "builtin-modules": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true }, "bytes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, "camelcase": { @@ -3066,8 +2857,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -3154,8 +2943,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -3163,14 +2950,10 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "compressible": { @@ -3207,14 +2990,10 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "content-disposition": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", "dev": true }, "cross-spawn": { @@ -3228,6 +3007,9 @@ "which": "^2.0.1" } }, + "crypto-js": { + "version": "4.1.1" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3245,8 +3027,6 @@ }, "deepmerge": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, "eastasianwidth": { @@ -3263,23 +3043,19 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "esp-web-flasher": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/esp-web-flasher/-/esp-web-flasher-5.1.4.tgz", - "integrity": "sha512-yv/5yTJmsQl1Z5duow20rkiDDasxwNtIqwhSWXhhc8p9GPUXBxRgxAbFi3TTWhwbl+s9obu+9iPbBiw4b+bPxw==", + "esptool-js": { + "version": "git+ssh://git@github.com/espressif/esptool-js.git#0c1b972a05d691c85da23fcc937d91dcf7e283eb", + "integrity": "sha512-axYKf6QlM1JjMvFE6MiLfNVuK0yAuRnq5UOcIN16kTE11yBDYx+zynQBDtsSxTQ+ehEnu+jPSNGC3SkgHChvcA==", + "from": "esptool-js@github:espressif/esptool-js#0c1b972a05d691c85da23fcc937d91dcf7e283eb", "requires": { - "pako": "^2.0.3", - "tslib": "^2.2.0" + "crypto-js": "^4.0.0", + "xterm": "^4.13.0" } }, "estree-walker": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, "execa": { @@ -3307,8 +3083,6 @@ }, "fast-url-parser": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", "dev": true, "requires": { "punycode": "^1.3.2" @@ -3316,15 +3090,11 @@ }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "get-stream": { @@ -3335,8 +3105,6 @@ }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -3344,8 +3112,6 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "human-signals": { @@ -3356,8 +3122,6 @@ }, "improv-wifi-serial-sdk": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/improv-wifi-serial-sdk/-/improv-wifi-serial-sdk-2.2.2.tgz", - "integrity": "sha512-YZa9sSN9Z8Td0UDcxPIiQqyB8sRJqtjViQL9hvrpwVV5qo8K0m9bfT/bsvRFoWi/6cqAtakorI/fLi3TJNKKsw==", "requires": { "@material/mwc-button": "^0.26.1", "@material/mwc-circular-progress": "^0.26.1", @@ -3377,8 +3141,6 @@ }, "is-builtin-module": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", "dev": true, "requires": { "builtin-modules": "^3.0.0" @@ -3386,8 +3148,6 @@ }, "is-core-module": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "dev": true, "requires": { "has": "^1.0.3" @@ -3407,8 +3167,6 @@ }, "is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, "is-port-reachable": { @@ -3440,8 +3198,6 @@ }, "jest-worker": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", @@ -3451,14 +3207,10 @@ "dependencies": { "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -3468,8 +3220,6 @@ }, "js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "json-schema-traverse": { @@ -3480,8 +3230,6 @@ }, "lit": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.7.tgz", - "integrity": "sha512-WXYujlKFwme5ZqXOZoWuRVZQAwy7scbcVT3wCbAOHefOxyscqjywWGlF2e6nnC9E64yP9l2ZQlN8wZcRlrjUMQ==", "requires": { "@lit/reactive-element": "^1.3.0", "lit-element": "^3.2.0", @@ -3489,40 +3237,30 @@ }, "dependencies": { "@lit/reactive-element": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.3.0.tgz", - "integrity": "sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw==" + "version": "1.3.0" } } }, "lit-element": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.0.tgz", - "integrity": "sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g==", "requires": { "@lit/reactive-element": "^1.3.0", "lit-html": "^2.2.0" }, "dependencies": { "@lit/reactive-element": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.3.0.tgz", - "integrity": "sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw==" + "version": "1.3.0" } } }, "lit-html": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.2.0.tgz", - "integrity": "sha512-dJnevgV8VkCuOXLWrjQopDE8nSy8CzipZ/ATfYQv7z7Dct4abblcKecf50gkIScuwCTzKvRLgvTgV0zzagW4gA==", "requires": { "@types/trusted-types": "^2.0.2" } }, "merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "mime-db": { @@ -3533,8 +3271,6 @@ }, "mime-types": { "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { "mime-db": "~1.33.0" @@ -3542,8 +3278,6 @@ "dependencies": { "mime-db": { "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true } } @@ -3556,8 +3290,6 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -3606,14 +3338,10 @@ } }, "pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + "version": "2.0.4" }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { @@ -3624,38 +3352,26 @@ }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", "dev": true }, "prettier": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -3663,8 +3379,6 @@ }, "range-parser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", "dev": true }, "rc": { @@ -3706,8 +3420,6 @@ }, "resolve": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { "is-core-module": "^2.2.0", @@ -3715,9 +3427,7 @@ } }, "rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.75.7", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -3725,8 +3435,6 @@ }, "rollup-plugin-terser": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -3737,14 +3445,10 @@ }, "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -3779,8 +3483,6 @@ }, "serve-handler": { "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", "dev": true, "requires": { "bytes": "3.0.0", @@ -3816,14 +3518,10 @@ }, "source-map": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true }, "source-map-support": { "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -3832,8 +3530,6 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -3872,8 +3568,6 @@ }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -3881,8 +3575,6 @@ }, "terser": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -3891,9 +3583,7 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.4.0" }, "type-fest": { "version": "2.16.0", @@ -3903,8 +3593,6 @@ }, "typescript": { "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true }, "update-check": { @@ -3950,9 +3638,7 @@ } }, "wicg-inert": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/wicg-inert/-/wicg-inert-3.1.1.tgz", - "integrity": "sha512-PhBaNh8ur9Xm4Ggy4umelwNIP6pPP1bv3EaWaKqfb/QNme2rdLjm7wIInvV4WhxVHhzA4Spgw9qNSqWtB/ca2A==" + "version": "3.1.1" }, "widest-line": { "version": "4.0.1", @@ -3981,6 +3667,9 @@ "dev": true } } + }, + "xterm": { + "version": "4.19.0" } } } diff --git a/package.json b/package.json index f2e69c3..30b83ec 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "author": "ESPHome maintainers", "license": "Apache-2.0", "scripts": { - "prepublishOnly": "script/build" + "prepublishOnly": "script/build", + "postinstall": "patch -Ntu node_modules/esptool-js/ESPLoader.js -i patches/esploader.patch || true" }, "devDependencies": { "@rollup/plugin-json": "^4.1.0", @@ -28,9 +29,10 @@ "@material/mwc-formfield": "^0.26.1", "@material/mwc-icon-button": "^0.26.1", "@material/mwc-textfield": "^0.26.1", - "esp-web-flasher": "^5.1.4", + "esptool-js": "github:espressif/esptool-js#0c1b972a05d691c85da23fcc937d91dcf7e283eb", "improv-wifi-serial-sdk": "^2.2.2", "lit": "^2.0.0", + "pako": "^2.0.4", "tslib": "^2.3.1" } } diff --git a/patches/esploader.patch b/patches/esploader.patch new file mode 100644 index 0000000..62c5786 --- /dev/null +++ b/patches/esploader.patch @@ -0,0 +1,16 @@ +--- node_modules/esptool-js/ESPLoader.js 2022-07-19 09:17:05.000000000 -0700 ++++ node_modules/esptool-js/ESPLoader.fixed.js 2022-07-19 09:19:04.000000000 -0700 +@@ -1,3 +1,4 @@ ++import pako from 'pako'; + import {ESPError, TimeoutError} from "./error.js"; + + const MAGIC_TO_CHIP = { +@@ -680,7 +681,7 @@ + + await this.run_stub(); + +- await this.change_baud(); ++ // await this.change_baud(); + return chip; + } + diff --git a/src/const.ts b/src/const.ts index 60177a8..5dbd87f 100644 --- a/src/const.ts +++ b/src/const.ts @@ -38,11 +38,6 @@ export interface InitializingState extends BaseFlashState { details: { done: boolean }; } -export interface ManifestState extends BaseFlashState { - state: FlashStateType.MANIFEST; - details: { done: boolean }; -} - export interface PreparingState extends BaseFlashState { state: FlashStateType.PREPARING; details: { done: boolean }; @@ -69,7 +64,6 @@ export interface ErrorState extends BaseFlashState { export type FlashState = | InitializingState - | ManifestState | PreparingState | ErasingState | WritingState @@ -78,7 +72,6 @@ export type FlashState = export const enum FlashStateType { INITIALIZING = "initializing", - MANIFEST = "manifest", PREPARING = "preparing", ERASING = "erasing", WRITING = "writing", diff --git a/src/flash.ts b/src/flash.ts index 2e7b96e..8fcdc83 100644 --- a/src/flash.ts +++ b/src/flash.ts @@ -1,4 +1,7 @@ -import { ESPLoader, Logger } from "esp-web-flasher"; +// @ts-ignore-next-line +import { Transport } from "esptool-js/webserial.js"; +// @ts-ignore-next-line +import { ESPLoader } from "esptool-js/esploader.js"; import { Build, FlashError, @@ -6,19 +9,28 @@ import { Manifest, FlashStateType, } from "./const"; -import { getChipFamilyName } from "./util/chip-family-name"; import { sleep } from "./util/sleep"; +const resetTransport = async (transport: Transport) => { + await transport.device.setSignals({ + dataTerminalReady: false, + requestToSend: true, + }); + await transport.device.setSignals({ + dataTerminalReady: false, + requestToSend: false, + }); +}; + export const flash = async ( onEvent: (state: FlashState) => void, port: SerialPort, - logger: Logger, manifestPath: string, + manifest: Manifest, eraseFirst: boolean ) => { - let manifest: Manifest; let build: Build | undefined; - let chipFamily: ReturnType; + let chipFamily: Build["chipFamily"]; const fireStateEvent = (stateUpdate: FlashState) => onEvent({ @@ -28,12 +40,8 @@ export const flash = async ( chipFamily, }); - const manifestURL = new URL(manifestPath, location.toString()).toString(); - const manifestProm = fetch(manifestURL).then( - (resp): Promise => resp.json() - ); - - const esploader = new ESPLoader(port, logger); + const transport = new Transport(port); + const esploader = new ESPLoader(transport, 115200); // For debugging (window as any).esploader = esploader; @@ -45,61 +53,53 @@ export const flash = async ( }); try { - await esploader.initialize(); + await esploader.main_fn(); + await esploader.flash_id(); } catch (err: any) { - logger.error(err); + console.error(err); fireStateEvent({ state: FlashStateType.ERROR, message: "Failed to initialize. Try resetting your device or holding the BOOT button while clicking INSTALL.", details: { error: FlashError.FAILED_INITIALIZING, details: err }, }); - if (esploader.connected) { - await esploader.disconnect(); - } + await resetTransport(transport); + await transport.disconnect(); return; } - chipFamily = getChipFamilyName(esploader); + chipFamily = await esploader.chip.CHIP_NAME; + + if (!esploader.chip.ROM_TEXT) { + fireStateEvent({ + state: FlashStateType.ERROR, + message: `Chip ${chipFamily} is not supported`, + details: { + error: FlashError.NOT_SUPPORTED, + details: `Chip ${chipFamily} is not supported`, + }, + }); + await resetTransport(transport); + await transport.disconnect(); + return; + } fireStateEvent({ state: FlashStateType.INITIALIZING, message: `Initialized. Found ${chipFamily}`, details: { done: true }, }); - fireStateEvent({ - state: FlashStateType.MANIFEST, - message: "Fetching manifest...", - details: { done: false }, - }); - - try { - manifest = await manifestProm; - } catch (err: any) { - fireStateEvent({ - state: FlashStateType.ERROR, - message: `Unable to fetch manifest: ${err}`, - details: { error: FlashError.FAILED_MANIFEST_FETCH, details: err }, - }); - await esploader.disconnect(); - return; - } build = manifest.builds.find((b) => b.chipFamily === chipFamily); - fireStateEvent({ - state: FlashStateType.MANIFEST, - message: `Found manifest for ${manifest.name}`, - details: { done: true }, - }); - if (!build) { fireStateEvent({ state: FlashStateType.ERROR, message: `Your ${chipFamily} board is not supported.`, details: { error: FlashError.NOT_SUPPORTED, details: chipFamily }, }); - await esploader.disconnect(); + await resetTransport(transport); + await transport.disconnect(); return; } @@ -109,6 +109,7 @@ export const flash = async ( details: { done: false }, }); + const manifestURL = new URL(manifestPath, location.toString()).toString(); const filePromises = build.parts.map(async (part) => { const url = new URL(part.path, manifestURL).toString(); const resp = await fetch(url); @@ -117,20 +118,24 @@ export const flash = async ( `Downlading firmware ${part.path} failed: ${resp.status}` ); } - return resp.arrayBuffer(); + + const reader = new FileReader(); + const blob = await resp.blob(); + + return new Promise((resolve) => { + reader.addEventListener("load", () => resolve(reader.result as string)); + reader.readAsBinaryString(blob); + }); }); - // Run the stub while we wait for files to download - const espStub = await esploader.runStub(); - - const files: ArrayBuffer[] = []; + const fileArray: Array<{ data: string; address: number }> = []; let totalSize = 0; - for (const prom of filePromises) { + for (let part = 0; part < filePromises.length; part++) { try { - const data = await prom; - files.push(data); - totalSize += data.byteLength; + const data = await filePromises[part]; + fileArray.push({ data, address: build.parts[part].offset }); + totalSize += data.length; } catch (err: any) { fireStateEvent({ state: FlashStateType.ERROR, @@ -140,7 +145,8 @@ export const flash = async ( details: err.message, }, }); - await esploader.disconnect(); + await resetTransport(transport); + await transport.disconnect(); return; } } @@ -157,7 +163,7 @@ export const flash = async ( message: "Erasing device...", details: { done: false }, }); - await espStub.eraseFlash(); + await esploader.erase_flash(); fireStateEvent({ state: FlashStateType.ERASING, message: "Device erased", @@ -165,56 +171,55 @@ export const flash = async ( }); } - let lastPct = 0; - fireStateEvent({ state: FlashStateType.WRITING, - message: `Writing progress: ${lastPct}%`, + message: `Writing progress: 0%`, details: { bytesTotal: totalSize, bytesWritten: 0, - percentage: lastPct, + percentage: 0, }, }); let totalWritten = 0; - for (const part of build.parts) { - const file = files.shift()!; - try { - await espStub.flashData( - file, - (bytesWritten: number) => { - const newPct = Math.floor( - ((totalWritten + bytesWritten) / totalSize) * 100 - ); - if (newPct === lastPct) { - return; - } - lastPct = newPct; - fireStateEvent({ - state: FlashStateType.WRITING, - message: `Writing progress: ${newPct}%`, - details: { - bytesTotal: totalSize, - bytesWritten: totalWritten + bytesWritten, - percentage: newPct, - }, - }); - }, - part.offset, - true - ); - } catch (err: any) { - fireStateEvent({ - state: FlashStateType.ERROR, - message: err.message, - details: { error: FlashError.WRITE_FAILED, details: err }, - }); - await esploader.disconnect(); - return; - } - totalWritten += file.byteLength; + try { + await esploader.write_flash({ + fileArray, + reportProgress(fileIndex: number, written: number, total: number) { + const uncompressedWritten = + (written / total) * fileArray[fileIndex].data.length; + + const newPct = Math.floor( + ((totalWritten + uncompressedWritten) / totalSize) * 100 + ); + + // we're done with this file + if (written === total) { + totalWritten += uncompressedWritten; + return; + } + + fireStateEvent({ + state: FlashStateType.WRITING, + message: `Writing progress: ${newPct}%`, + details: { + bytesTotal: totalSize, + bytesWritten: totalWritten + written, + percentage: newPct, + }, + }); + }, + }); + } catch (err: any) { + fireStateEvent({ + state: FlashStateType.ERROR, + message: err.message, + details: { error: FlashError.WRITE_FAILED, details: err }, + }); + await resetTransport(transport); + await transport.disconnect(); + return; } fireStateEvent({ @@ -228,10 +233,10 @@ export const flash = async ( }); await sleep(100); - console.log("DISCONNECT"); - await esploader.disconnect(); console.log("HARD RESET"); - await esploader.hardReset(); + await resetTransport(transport); + console.log("DISCONNECT"); + await transport.disconnect(); fireStateEvent({ state: FlashStateType.FINISHED, diff --git a/src/install-dialog.ts b/src/install-dialog.ts index 086a024..36485a0 100644 --- a/src/install-dialog.ts +++ b/src/install-dialog.ts @@ -571,7 +571,6 @@ export class EwtInstallDialog extends LitElement { } else if ( !this._installState || this._installState.state === FlashStateType.INITIALIZING || - this._installState.state === FlashStateType.MANIFEST || this._installState.state === FlashStateType.PREPARING ) { heading = "Installing"; @@ -826,19 +825,27 @@ export class EwtInstallDialog extends LitElement { } this._client = undefined; + // Close port. ESPLoader likes opening it. + await this.port.close(); flash( (state) => { this._installState = state; if (state.state === FlashStateType.FINISHED) { sleep(100) + // Flashing closes the port + .then(() => this.port.open({ baudRate: 115200 })) .then(() => this._initialize(true)) .then(() => this.requestUpdate()); + } else if (state.state === FlashStateType.ERROR) { + sleep(100) + // Flashing closes the port + .then(() => this.port.open({ baudRate: 115200 })); } }, this.port, - this.logger, this.manifestPath, + this._manifest, this._installErase ); } diff --git a/src/util/chip-family-name.ts b/src/util/chip-family-name.ts deleted file mode 100644 index 65e3b73..0000000 --- a/src/util/chip-family-name.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { - CHIP_FAMILY_ESP32, - CHIP_FAMILY_ESP32S2, - CHIP_FAMILY_ESP32S3, - CHIP_FAMILY_ESP8266, - CHIP_FAMILY_ESP32C3, - ESPLoader, -} from "esp-web-flasher"; -import type { BaseFlashState } from "../const"; - -export const getChipFamilyName = ( - esploader: ESPLoader -): NonNullable => { - switch (esploader.chipFamily) { - case CHIP_FAMILY_ESP32: - return "ESP32"; - case CHIP_FAMILY_ESP8266: - return "ESP8266"; - case CHIP_FAMILY_ESP32S2: - return "ESP32-S2"; - case CHIP_FAMILY_ESP32S3: - return "ESP32-S3"; - case CHIP_FAMILY_ESP32C3: - return "ESP32-C3"; - default: - return "Unknown Chip"; - } -};