From f38ae9a013a33c44bf35995e37f1614aedc84cf5 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@suma-ev.de> Date: Thu, 15 Dec 2022 17:05:13 +0100 Subject: [PATCH] added order receipt --- pass/app/Order.js | 15 +- pass/app/pdf/OrderReceipt.js | 276 +++++ pass/config/default.json | 3 +- pass/package-lock.json | 1992 ++++++++++++++++++++++++++++--- pass/package.json | 1 + pass/public/images/invoice.svg | 191 +++ pass/public/images/metager.png | Bin 0 -> 11143 bytes pass/public/images/suma-ev.png | Bin 0 -> 11827 bytes pass/public/styles/base.less | 6 +- pass/public/styles/key/key.css | 2 +- pass/public/styles/key/key.less | 16 +- pass/public/styles/orders.less | 45 + pass/routes/key.js | 1 + pass/routes/orders.js | 29 +- pass/views/key.ejs | 2 +- pass/views/orders/order.ejs | 27 +- 16 files changed, 2441 insertions(+), 165 deletions(-) create mode 100644 pass/app/pdf/OrderReceipt.js create mode 100644 pass/public/images/invoice.svg create mode 100644 pass/public/images/metager.png create mode 100644 pass/public/images/suma-ev.png create mode 100644 pass/public/styles/orders.less diff --git a/pass/app/Order.js b/pass/app/Order.js index bec483c..392069b 100644 --- a/pass/app/Order.js +++ b/pass/app/Order.js @@ -94,8 +94,21 @@ class Order { return this.#amount; } + getNettoPrice() { + let amount = this.getPrice(); + let vat_amount = this.getVatAmount(); + return amount - vat_amount; + } + getVat() { + return config.get("price.vat"); + } + getVatAmount() { + let vat = config.get("price.vat"); + let amount = this.getPrice(); + return Number((amount * (vat / 100)).toFixed(2)); + } getPrice() { - return this.#price; + return Number(this.#price).toFixed(2); } getPaymentMethodLink() { diff --git a/pass/app/pdf/OrderReceipt.js b/pass/app/pdf/OrderReceipt.js new file mode 100644 index 0000000..513aacb --- /dev/null +++ b/pass/app/pdf/OrderReceipt.js @@ -0,0 +1,276 @@ +const Order = require("../Order"); +const dayjs = require("dayjs"); + +class OrderReceipt { + /** + * + * @param {Order} order + */ + static CREATE_ORDER_RECEIPT(order, target) { + let letter_left_margin = OrderReceipt.CM_TO_POINTS(2.5, false); + let letter_right_margin = OrderReceipt.CM_TO_POINTS(2, false); + + let PDFDocument = require("pdfkit"); + const doc = new PDFDocument({ + size: "A4", + info: { + Title: `Bestellung ${order.getOrderID()}`, + Author: "SUMA-EV - Verein für freien Wissenszugang", + Subject: "MetaGer Schlüssel: Suchanfragen (x300)", + }, + }); + doc + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf") + .fontSize(10); + + // The header with logo and line + doc.image("public/images/metager.png", letter_left_margin, 20, { + height: 20, + }); + doc.image("public/images/suma-ev.png", 400, 22, { + height: 18, + }); + doc + .moveTo(letter_left_margin, 50) + .lineTo(OrderReceipt.CM_TO_POINTS(21, false) - letter_right_margin, 50) + .strokeColor("#515151") + .stroke(); + + // Our Address Information + /* + doc + .fontSize(8) + .text( + "SUMA-EV | Röselerstraße 3 | 30159 Hannover | Deutschland", + OrderReceipt.CM_TO_POINTS(2, false), + OrderReceipt.CM_TO_POINTS(4.5, true), + { + width: OrderReceipt.CM_TO_POINTS(8.5, false), + } + ); +*/ + // General Information + doc + .fontSize(10) + .text( + "Bestellnummer: ", + OrderReceipt.CM_TO_POINTS(21 - 8.5, false), + OrderReceipt.CM_TO_POINTS(5, true), + { + width: OrderReceipt.CM_TO_POINTS(7.5, false), + continued: true, + lineGap: 4, + } + ) + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text(order.getOrderID(), { align: "right" }) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf") + .text("Telefon:", { + width: OrderReceipt.CM_TO_POINTS(7.5, false), + lineGap: 4, + continued: true, + }) + .text("+4951134000070", { align: "right" }) + .text("E-Mail:", { + width: OrderReceipt.CM_TO_POINTS(7.5, false), + lineGap: 4, + continued: true, + }) + .text("support@metager.de", { align: "right" }) + .text("Internet:", { + width: OrderReceipt.CM_TO_POINTS(7.5, false), + lineGap: 4, + continued: true, + }) + .text("metager.de", { align: "right" }) + .moveDown() + .text("Datum:", { + width: OrderReceipt.CM_TO_POINTS(7.5, false), + lineGap: 4, + continued: true, + }) + .text(dayjs().format("DD.MM.YYYY"), { align: "right" }); + + // Actual content of the letter + // Orange Line + doc + .moveTo( + OrderReceipt.CM_TO_POINTS(2.5, false), + OrderReceipt.CM_TO_POINTS(12.5, true) + ) + .lineTo( + OrderReceipt.CM_TO_POINTS(21 - 2, false), + OrderReceipt.CM_TO_POINTS(12.5, true) + ) + .strokeColor("#ff7f00") + .stroke(); + doc + .fontSize(10) + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text( + "Auftragsbestätigung " + order.getOrderID(), + OrderReceipt.CM_TO_POINTS(2.5, false), + OrderReceipt.CM_TO_POINTS(9.846, true) + ); + + doc + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text( + "Bestelldetails", + OrderReceipt.CM_TO_POINTS(2.5, false), + OrderReceipt.CM_TO_POINTS(12, true), + { + width: OrderReceipt.CM_TO_POINTS(10, false), + align: "center", + } + ) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf") + .moveDown() + .text("MetaGer Schlüssel: Suchanfragen (300x)", { + width: OrderReceipt.CM_TO_POINTS(10, false), + align: "right", + }); + + doc + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text( + "Anzahl", + OrderReceipt.CM_TO_POINTS(12.5, false), + OrderReceipt.CM_TO_POINTS(12, true), + { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "center", + } + ) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf") + .moveDown() + .text(order.getAmount() / 300, { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + lineGap: 15, + }) + .text("MwSt (7%)", { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + lineGap: 10, + }) + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text("Gesamtbetrag", { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + }); + + doc + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text( + "Preis", + OrderReceipt.CM_TO_POINTS(15.75, false), + OrderReceipt.CM_TO_POINTS(12, true), + { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "center", + } + ) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf") + .moveDown() + .text(order.getNettoPrice() + " €", { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + lineGap: 15, + }) + .text(order.getVatAmount() + " €", { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + lineGap: 10, + }) + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text(order.getPrice() + " €", { + width: OrderReceipt.CM_TO_POINTS(3.25, false), + align: "right", + }) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf"); + + // Footer + let textbox_width = doc.widthOfString("Vorstand"); + doc.fontSize(8); + textbox_width = Math.max( + doc.widthOfString("Dominik Hebeler", "Manuela Branz", "Carsten Riel") + ); + console.log(textbox_width); + doc.fontSize(10); + + let x = OrderReceipt.CM_TO_POINTS(21 - 2, false) - textbox_width; + doc + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text("Vorstand", x, OrderReceipt.CM_TO_POINTS(27.2, true), { + lineBreak: false, + }) + .fontSize(8) + .moveDown(1.5) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf"); + doc.x = x; + doc + .text("Dominik Hebeler", { + lineBreak: false, + }) + .moveDown(); + doc.x = x; + doc + .text("Manuela Branz", { + lineBreak: false, + }) + .moveDown(); + doc.x = x; + doc.text("Carsten Riel", { + lineBreak: false, + }); + + x = OrderReceipt.CM_TO_POINTS(2.5, false); + doc + .font("public/fonts/liberation-sans/LiberationSans-Bold.ttf") + .text("SUMA-EV", x, OrderReceipt.CM_TO_POINTS(27.2, true), { + lineBreak: false, + }) + .fontSize(8) + .moveDown(1.5) + .font("public/fonts/liberation-sans/LiberationSans-Regular.ttf"); + doc.x = x; + doc + .text("Röselerstraße 3", { + lineBreak: false, + }) + .moveDown(); + doc.x = x; + doc + .text("30159 Hannover", { + lineBreak: false, + }) + .moveDown(); + doc.x = x; + doc.text("Deutschland", { + lineBreak: false, + }); + + doc.end(); + + return doc; + } + + /** + * + * @param {Number} cm + * @param {boolean} height + * @returns + */ + static CM_TO_POINTS(cm, vertical) { + let width_in_points = 595.28; + let height_in_points = 841.89; + if (vertical) { + return cm * (height_in_points / 29.7); + } else { + return cm * (width_in_points / 21.0); + } + } +} + +module.exports = OrderReceipt; diff --git a/pass/config/default.json b/pass/config/default.json index 35f9aa0..75bd7fb 100644 --- a/pass/config/default.json +++ b/pass/config/default.json @@ -3,7 +3,8 @@ "url": "http://localhost:8080" }, "price": { - "per_300": 5 + "per_300": 5, + "vat": 7 }, "redis": { "host": "redis" diff --git a/pass/package-lock.json b/pass/package-lock.json index 60d09f0..ec50e13 100644 --- a/pass/package-lock.json +++ b/pass/package-lock.json @@ -24,6 +24,7 @@ "less-middleware": "~2.2.1", "morgan": "~1.9.1", "node-forge": "^1.3.1", + "pdfkit": "^0.13.0", "qrcode": "^1.5.1", "uuid": "^9.0.0" }, @@ -36,6 +37,26 @@ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } + }, "node_modules/@paypal/paypal-js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@paypal/paypal-js/-/paypal-js-5.1.1.tgz", @@ -44,6 +65,14 @@ "promise-polyfill": "^8.2.3" } }, + "node_modules/@swc/helpers": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", + "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -95,7 +124,6 @@ "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "optional": true, "dependencies": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" @@ -165,6 +193,25 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -173,6 +220,14 @@ "node": ">=0.10.0" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -215,7 +270,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", - "optional": true, "engines": { "node": ">=0.8" } @@ -249,8 +303,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "optional": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/atob": { "version": "2.1.2", @@ -263,11 +316,21 @@ "node": ">= 4.5.0" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", - "optional": true, "engines": { "node": "*" } @@ -275,8 +338,7 @@ "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "optional": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/balanced-match": { "version": "1.0.2", @@ -345,7 +407,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "optional": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -414,7 +475,6 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "optional": true, "dependencies": { "hoek": "2.x.x" }, @@ -448,6 +508,14 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/browser-pack": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", @@ -664,6 +732,14 @@ "ieee754": "^1.1.4" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -711,6 +787,23 @@ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -722,8 +815,7 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "optional": true + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "node_modules/chokidar": { "version": "3.5.3", @@ -861,6 +953,14 @@ "wrap-ansi": "^6.2.0" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", @@ -873,7 +973,6 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "optional": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -922,7 +1021,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "optional": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -1083,7 +1181,6 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "optional": true, "dependencies": { "boom": "2.x.x" }, @@ -1112,6 +1209,11 @@ "node": "*" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "node_modules/dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", @@ -1121,7 +1223,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "optional": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -1133,7 +1234,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true, "engines": { "node": ">=0.8" } @@ -1167,6 +1267,51 @@ "node": ">=0.10" } }, + "node_modules/deep-equal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.1.0.tgz", + "integrity": "sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==", + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -1191,7 +1336,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "optional": true, "engines": { "node": ">=0.4.0" } @@ -1256,6 +1400,11 @@ "node": ">=0.8.0" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -1276,6 +1425,18 @@ "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" }, + "node_modules/dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dependencies": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -1297,7 +1458,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "optional": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -1370,6 +1530,34 @@ "errno": "cli.js" } }, + "node_modules/es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -1580,8 +1768,7 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "optional": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/extend-shallow": { "version": "3.0.2", @@ -1643,20 +1830,85 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" - ], - "optional": true + ] + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "engines": { + "node": ">=6" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -1704,6 +1956,30 @@ "node": ">=8" } }, + "node_modules/fontkit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz", + "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==", + "dependencies": { + "@swc/helpers": "^0.3.13", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "deep-equal": "^2.0.5", + "dfa": "^1.2.0", + "restructure": "^2.0.1", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.3.1", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -1716,7 +1992,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "optional": true, "engines": { "node": "*" } @@ -1725,7 +2000,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", - "optional": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", @@ -1762,6 +2036,16 @@ "node": ">= 0.6" } }, + "node_modules/fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha512-VerQV6vEKuhDWD2HGOybV6v5I73syoc/cXAbKlgTC7M/oFVEtklWlp9QH2Ijw3IaWDOQcMkldSPa7zXy79Z/UQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1786,6 +2070,14 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -1799,6 +2091,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -1811,7 +2116,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "optional": true, "dependencies": { "assert-plus": "^1.0.0" } @@ -1820,7 +2124,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true, "engines": { "node": ">=0.8" } @@ -1856,6 +2159,47 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" + }, + "node_modules/globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -1865,7 +2209,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", - "optional": true, "engines": { "node": ">=4" } @@ -1875,7 +2218,6 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", "deprecated": "this library is no longer supported", - "optional": true, "dependencies": { "ajv": "^4.9.1", "har-schema": "^1.0.5" @@ -1895,6 +2237,14 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -1904,6 +2254,42 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -2021,12 +2407,23 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha512-jZ38TU/EBiGKrmyTNNZgnvCZHNowiRI4+w/I9noMlekHTZH3KyGgvJLmhSgykeAQ9j2SYPDosM0Bg3wHfzibAQ==", + "dependencies": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "optional": true, "dependencies": { "boom": "2.x.x", "cryptiles": "2.x.x", @@ -2052,7 +2449,6 @@ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "optional": true, "engines": { "node": ">=0.10.40" } @@ -2083,7 +2479,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", - "optional": true, "dependencies": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", @@ -2129,6 +2524,11 @@ } ] }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, "node_modules/ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", @@ -2147,6 +2547,22 @@ "node": ">=0.10.0" } }, + "node_modules/imagemin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", + "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", + "dependencies": { + "file-type": "^10.7.0", + "globby": "^8.0.1", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^4.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2260,6 +2676,32 @@ "node": ">=0.10.0" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -2272,11 +2714,37 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -2299,6 +2767,20 @@ "node": ">=0.10.0" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", @@ -2350,6 +2832,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2359,6 +2849,20 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -2370,11 +2874,107 @@ "node": ">=0.10.0" } }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "optional": true + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-windows": { "version": "1.0.2", @@ -2389,6 +2989,11 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -2400,8 +3005,7 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "optional": true + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/js-sha256": { "version": "0.9.0", @@ -2411,20 +3015,17 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "optional": true + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "optional": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "optional": true, "dependencies": { "jsonify": "~0.0.0" } @@ -2432,8 +3033,7 @@ "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/json5": { "version": "2.2.1", @@ -2446,6 +3046,14 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", @@ -2481,7 +3089,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "optional": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -2496,11 +3103,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true, "engines": { "node": ">=0.8" } }, + "node_modules/kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha512-IG6nm0+QtAMdXt9KvbgbGdvY50RSrw+U4sGZg+KlrSKPJEwVE5JVoI3d7RWfSMdBQneRheeAOj3lIjX5VL/9RQ==" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -2509,6 +3120,14 @@ "node": ">=0.10.0" } }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -2552,6 +3171,23 @@ "node": ">= 0.7.1" } }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -2583,6 +3219,25 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==" }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -2625,6 +3280,14 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -3040,7 +3703,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", - "optional": true, "engines": { "node": "*" } @@ -3131,6 +3793,37 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -3142,6 +3835,23 @@ "node": ">=0.10.0" } }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -3215,7 +3925,15 @@ "p-limit": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==", + "engines": { + "node": ">=4" } }, "node_modules/p-try": { @@ -3311,6 +4029,25 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -3326,11 +4063,47 @@ "node": ">=0.12" } }, + "node_modules/pdfkit": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.13.0.tgz", + "integrity": "sha512-AW79eHU5eLd2vgRDS9z3bSoi0FA+gYm+100LLosrQQMLUzOBGVOhG7ABcMFpJu7Bpg+MT74XYHi4k9EuU/9EZw==", + "dependencies": { + "crypto-js": "^4.0.0", + "fontkit": "^1.8.1", + "linebreak": "^1.0.2", + "png-js": "^1.0.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, "node_modules/performance-now": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", - "optional": true + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==" + }, + "node_modules/phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha512-PIiRzBhW85xco2fuj41FmsyuYHKjKuXWmhjy3A/Y+CMpN/63TV+s9uzfVhsUwFe0G77xWtHBG8xmXf5BqEUEuQ==", + "deprecated": "this package is now deprecated", + "hasInstallScript": true, + "dependencies": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + }, + "bin": { + "phantomjs": "bin/phantomjs" + } }, "node_modules/picomatch": { "version": "2.3.1", @@ -3344,6 +4117,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -3402,6 +4207,14 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "node_modules/progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -3616,6 +4429,22 @@ "node": ">=0.10.0" } }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -3637,12 +4466,19 @@ "node": ">=0.10" } }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/request": { "version": "2.81.0", "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "optional": true, "dependencies": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", @@ -3671,11 +4507,18 @@ "node": ">= 4" } }, + "node_modules/request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha512-dxdraeZVUNEn9AvLrxkgB2k6buTlym71dJk1fk4v8j3Ou3RKNm07BcgbHdj2lLgYGfqX71F+awb1MR+tWPFJzA==", + "dependencies": { + "throttleit": "^1.0.0" + } + }, "node_modules/request/node_modules/qs": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", - "optional": true, "engines": { "node": ">=0.6" } @@ -3685,7 +4528,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "optional": true, "bin": { "uuid": "bin/uuid" } @@ -3725,6 +4567,11 @@ "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "deprecated": "https://github.com/lydell/resolve-url#deprecated" }, + "node_modules/restructure": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz", + "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg==" + }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -3907,6 +4754,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -3947,6 +4807,14 @@ "semver": "bin/semver.js" } }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -4111,7 +4979,6 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "optional": true, "dependencies": { "hoek": "2.x.x" }, @@ -4161,7 +5028,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "optional": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -4186,7 +5052,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true, "engines": { "node": ">=0.8" } @@ -4391,8 +5256,7 @@ "node_modules/stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "optional": true + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" }, "node_modules/strip-ansi": { "version": "6.0.1", @@ -4436,6 +5300,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-to-png": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svg-to-png/-/svg-to-png-4.0.0.tgz", + "integrity": "sha512-rRZtKkufSiOh9peAA8Sn/+VnrHR0copUi+btLwygoKHJ21lDmMT6AXHrBjqL3rYDXT/81k5pTMJ34UsnjXliiw==", + "dependencies": { + "imagemin": "^6.0.0", + "phantomjs-prebuilt": "^2.1.7" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -4444,6 +5320,11 @@ "acorn-node": "^1.2.0" } }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==" + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -4469,6 +5350,11 @@ "node": ">=0.6.0" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -4533,7 +5419,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "optional": true, "dependencies": { "punycode": "^1.4.1" }, @@ -4541,6 +5426,11 @@ "node": ">=0.8" } }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -4550,7 +5440,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "optional": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -4561,8 +5450,7 @@ "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "optional": true + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "node_modules/type-is": { "version": "1.6.18", @@ -4634,6 +5522,29 @@ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -4797,7 +5708,6 @@ "engines": [ "node >=0.6.0" ], - "optional": true, "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -4808,7 +5718,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true, "engines": { "node": ">=0.8" } @@ -5034,11 +5943,70 @@ "node": ">=0.10.0" } }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -5102,6 +6070,15 @@ "engines": { "node": ">=6" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } }, "dependencies": { @@ -5110,6 +6087,20 @@ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, "@paypal/paypal-js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@paypal/paypal-js/-/paypal-js-5.1.1.tgz", @@ -5118,6 +6109,14 @@ "promise-polyfill": "^8.2.3" } }, + "@swc/helpers": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", + "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==", + "requires": { + "tslib": "^2.4.0" + } + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -5157,7 +6156,6 @@ "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "optional": true, "requires": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" @@ -5206,11 +6204,29 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -5269,8 +6285,7 @@ "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", - "optional": true + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==" }, "assign-symbols": { "version": "1.0.0", @@ -5285,25 +6300,27 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "optional": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", - "optional": true + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==" }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "optional": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "balanced-match": { "version": "1.0.2", @@ -5351,7 +6368,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "optional": true, "requires": { "tweetnacl": "^0.14.3" } @@ -5415,7 +6431,6 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", - "optional": true, "requires": { "hoek": "2.x.x" } @@ -5443,6 +6458,14 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "requires": { + "base64-js": "^1.1.2" + } + }, "browser-pack": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", @@ -5637,6 +6660,11 @@ "ieee754": "^1.1.4" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -5678,6 +6706,20 @@ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -5686,8 +6728,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "optional": true + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "chokidar": { "version": "3.5.3", @@ -5796,6 +6837,11 @@ "wrap-ansi": "^6.2.0" } }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, "cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", @@ -5804,8 +6850,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "optional": true + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" }, "collection-visit": { "version": "1.0.0", @@ -5844,7 +6889,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -5982,7 +7026,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", - "optional": true, "requires": { "boom": "2.x.x" } @@ -6005,6 +7048,11 @@ "randomfill": "^1.0.3" } }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", @@ -6014,7 +7062,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "optional": true, "requires": { "assert-plus": "^1.0.0" }, @@ -6022,8 +7069,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" } } }, @@ -6050,6 +7096,44 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" }, + "deep-equal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.1.0.tgz", + "integrity": "sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==", + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.8" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -6067,8 +7151,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "optional": true + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "denque": { "version": "2.1.0", @@ -6115,6 +7198,11 @@ "minimist": "^1.2.6" } }, + "dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -6137,6 +7225,15 @@ "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -6154,7 +7251,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -6220,6 +7316,33 @@ "prr": "~1.0.1" } }, + "es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -6393,8 +7516,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "optional": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", @@ -6443,17 +7565,74 @@ } } }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "optional": true + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } }, "fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "requires": { + "pend": "~1.2.0" + } + }, + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -6492,6 +7671,30 @@ "path-exists": "^4.0.0" } }, + "fontkit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz", + "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==", + "requires": { + "@swc/helpers": "^0.3.13", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "deep-equal": "^2.0.5", + "dfa": "^1.2.0", + "restructure": "^2.0.1", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.3.1", + "unicode-trie": "^2.0.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6500,14 +7703,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "optional": true + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" }, "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", - "optional": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", @@ -6532,6 +7733,16 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha512-VerQV6vEKuhDWD2HGOybV6v5I73syoc/cXAbKlgTC7M/oFVEtklWlp9QH2Ijw3IaWDOQcMkldSPa7zXy79Z/UQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -6549,6 +7760,11 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, "get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -6559,6 +7775,16 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -6568,7 +7794,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "optional": true, "requires": { "assert-plus": "^1.0.0" }, @@ -6576,8 +7801,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" } } }, @@ -6603,6 +7827,40 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -6611,14 +7869,12 @@ "har-schema": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", - "optional": true + "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==" }, "har-validator": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", - "optional": true, "requires": { "ajv": "^4.9.1", "har-schema": "^1.0.5" @@ -6632,12 +7888,38 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -6726,11 +8008,19 @@ "minimalistic-assert": "^1.0.1" } }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha512-jZ38TU/EBiGKrmyTNNZgnvCZHNowiRI4+w/I9noMlekHTZH3KyGgvJLmhSgykeAQ9j2SYPDosM0Bg3wHfzibAQ==", + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, "hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", - "optional": true, "requires": { "boom": "2.x.x", "cryptiles": "2.x.x", @@ -6751,8 +8041,7 @@ "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", - "optional": true + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==" }, "htmlescape": { "version": "1.1.1", @@ -6774,7 +8063,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", - "optional": true, "requires": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", @@ -6799,6 +8087,11 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, "ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", @@ -6811,6 +8104,19 @@ "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "optional": true }, + "imagemin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", + "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", + "requires": { + "file-type": "^10.7.0", + "globby": "^8.0.1", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^4.0.1", + "replace-ext": "^1.0.0" + } + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6899,6 +8205,23 @@ "kind-of": "^6.0.0" } }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -6908,11 +8231,25 @@ "binary-extensions": "^2.0.0" } }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -6929,6 +8266,14 @@ "kind-of": "^6.0.0" } }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", @@ -6965,12 +8310,25 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -6979,11 +8337,71 @@ "isobject": "^3.0.1" } }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "optional": true + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } }, "is-windows": { "version": "1.0.2", @@ -6995,6 +8413,11 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -7003,8 +8426,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "optional": true + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "js-sha256": { "version": "0.9.0", @@ -7014,20 +8436,17 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "optional": true + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "optional": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "optional": true, "requires": { "jsonify": "~0.0.0" } @@ -7035,14 +8454,21 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, "jsonify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", @@ -7066,7 +8492,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "optional": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -7077,16 +8502,28 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" } } }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha512-IG6nm0+QtAMdXt9KvbgbGdvY50RSrw+U4sGZg+KlrSKPJEwVE5JVoI3d7RWfSMdBQneRheeAOj3lIjX5VL/9RQ==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, "labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -7121,6 +8558,22 @@ "node.extend": "~2.0.0" } }, + "linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "requires": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==" + } + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7149,6 +8602,21 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==" }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -7182,6 +8650,11 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -7511,8 +8984,7 @@ "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", - "optional": true + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==" }, "object-assign": { "version": "4.1.1", @@ -7580,6 +9052,25 @@ } } }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -7588,6 +9079,17 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -7646,6 +9148,11 @@ "p-limit": "^2.2.0" } }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==" + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -7721,6 +9228,21 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } + }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -7733,11 +9255,42 @@ "sha.js": "^2.4.8" } }, + "pdfkit": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.13.0.tgz", + "integrity": "sha512-AW79eHU5eLd2vgRDS9z3bSoi0FA+gYm+100LLosrQQMLUzOBGVOhG7ABcMFpJu7Bpg+MT74XYHi4k9EuU/9EZw==", + "requires": { + "crypto-js": "^4.0.0", + "fontkit": "^1.8.1", + "linebreak": "^1.0.2", + "png-js": "^1.0.0" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, "performance-now": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", - "optional": true + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==" + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha512-PIiRzBhW85xco2fuj41FmsyuYHKjKuXWmhjy3A/Y+CMpN/63TV+s9uzfVhsUwFe0G77xWtHBG8xmXf5BqEUEuQ==", + "requires": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + } }, "picomatch": { "version": "2.3.1", @@ -7745,6 +9298,29 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, "pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -7790,6 +9366,11 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==" + }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -7971,6 +9552,16 @@ "safe-regex": "^1.1.0" } }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -7986,11 +9577,15 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + }, "request": { "version": "2.81.0", "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", - "optional": true, "requires": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", @@ -8019,17 +9614,23 @@ "qs": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", - "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", - "optional": true + "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==" }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "optional": true + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha512-dxdraeZVUNEn9AvLrxkgB2k6buTlym71dJk1fk4v8j3Ou3RKNm07BcgbHdj2lLgYGfqX71F+awb1MR+tWPFJzA==", + "requires": { + "throttleit": "^1.0.0" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -8055,6 +9656,11 @@ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" }, + "restructure": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz", + "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg==" + }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -8213,6 +9819,16 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -8235,6 +9851,11 @@ } } }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==" + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -8366,7 +9987,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", - "optional": true, "requires": { "hoek": "2.x.x" } @@ -8405,7 +10025,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "optional": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -8421,8 +10040,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" } } }, @@ -8589,8 +10207,7 @@ "stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "optional": true + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" }, "strip-ansi": { "version": "6.0.1", @@ -8622,6 +10239,15 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "svg-to-png": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svg-to-png/-/svg-to-png-4.0.0.tgz", + "integrity": "sha512-rRZtKkufSiOh9peAA8Sn/+VnrHR0copUi+btLwygoKHJ21lDmMT6AXHrBjqL3rYDXT/81k5pTMJ34UsnjXliiw==", + "requires": { + "imagemin": "^6.0.0", + "phantomjs-prebuilt": "^2.1.7" + } + }, "syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -8630,6 +10256,11 @@ "acorn-node": "^1.2.0" } }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==" + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -8652,6 +10283,11 @@ "process": "~0.11.0" } }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -8703,11 +10339,15 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "optional": true, "requires": { "punycode": "^1.4.1" } }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -8717,7 +10357,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -8725,8 +10364,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "optional": true + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "type-is": { "version": "1.6.18", @@ -8781,6 +10419,31 @@ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true }, + "unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "requires": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -8908,7 +10571,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "optional": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -8918,8 +10580,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "optional": true + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" } } }, @@ -9100,11 +10761,55 @@ } } }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -9156,6 +10861,15 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } } -} +} \ No newline at end of file diff --git a/pass/package.json b/pass/package.json index e6e9cd7..9542582 100644 --- a/pass/package.json +++ b/pass/package.json @@ -23,6 +23,7 @@ "less-middleware": "~2.2.1", "morgan": "~1.9.1", "node-forge": "^1.3.1", + "pdfkit": "^0.13.0", "qrcode": "^1.5.1", "uuid": "^9.0.0" }, diff --git a/pass/public/images/invoice.svg b/pass/public/images/invoice.svg new file mode 100644 index 0000000..41d3ae1 --- /dev/null +++ b/pass/public/images/invoice.svg @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:ns1="http://sozi.baierouge.fr" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + id="svg1" + sodipodi:docbase="/home/danny/work/kde/koffice/templates/kspread" + inkscape:export-ydpi="72.000000" + viewBox="0 0 60 60" + inkscape:export-xdpi="72.000000" + version="1.0" + sodipodi:docname="crsc-action-template_invoice.svg" + inkscape:export-filename="/home/danny/work/kde/koffice/templates/kspread/cr48-action-template_invoice.png" + inkscape:version="0.41" + sodipodi:version="0.32" + _SVGFile__filename="oldscale/actions/aobottom.svg" + y="0" + x="0" + > + <sodipodi:namedview + id="base" + bordercolor="#666666" + inkscape:window-x="0" + inkscape:window-y="0" + pagecolor="#ffffff" + inkscape:zoom="6.0612328" + inkscape:pageshadow="2" + borderopacity="1.0" + inkscape:current-layer="svg1" + inkscape:cx="64.719876" + inkscape:cy="29.172597" + inkscape:window-width="1020" + inkscape:pageopacity="0.0000000" + inkscape:window-height="691" + /> + <g + id="g2079" + transform="matrix(1.0513 0 0 1.0513 -1.5376 -1.5376)" + > + <path + id="path2077" + sodipodi:nodetypes="cccccc" + style="stroke-linejoin:round;color:#000000;display:block;stroke:#ffffff;stroke-linecap:round;stroke-width:7.1343;fill:none" + d="m11.75 54.375v-48.75h27.688l8.812 8.813v39.937h-36.5z" + /> + <path + id="rect1089" + sodipodi:nodetypes="cccccc" + style="stroke-linejoin:round;color:#000000;display:block;stroke:#000000;stroke-linecap:round;stroke-width:2.3781;fill:#ffffff" + d="m11.75 54.375v-48.75h27.688l8.812 8.813v39.937h-36.5z" + /> + <path + id="path1713" + sodipodi:nodetypes="cccc" + style="stroke-linejoin:round;color:#000000;display:block;stroke:#000000;stroke-linecap:round;stroke-width:2.3781;fill:#000000" + d="m39.437 14.438v-8.813l8.813 8.813h-8.813z" + /> + </g + > + <path + id="path1326" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m17.052 10.931h8.685" + /> + <path + id="path1334" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 47.316h5.797" + /> + <g + id="g1344" + style="stroke:#000000" + transform="matrix(.39577 0 0 1 10.303 0)" + > + <path + id="path1346" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:3.9739;fill:none" + d="m17.052 22.068h28.899" + /> + <path + id="path1348" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:3.9739;fill:none" + d="m17.052 27.13h20.826" + /> + <path + id="path1350" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:3.9739;fill:none" + d="m17.052 32.192h33.477" + /> + <path + id="path1352" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:3.9739;fill:none" + d="m17.052 42.316h17.797" + /> + <path + id="path1354" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:3.9739;fill:none" + d="m17.052 37.254h30.95" + /> + </g + > + <path + id="path2116" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 42.316h5.797" + /> + <path + id="path2118" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 37.316h5.797" + /> + <path + id="path2120" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 32.316h5.797" + /> + <path + id="path2122" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 27.316h5.797" + /> + <path + id="path2124" + sodipodi:nodetypes="cc" + style="stroke-linejoin:round;stroke:#000000;stroke-linecap:round;stroke-width:2.5;fill:none" + d="m37.151 22.316h5.797" + /> + <metadata + > + <rdf:RDF + > + <cc:Work + > + <dc:format + >image/svg+xml</dc:format + > + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" + /> + <cc:license + rdf:resource="http://creativecommons.org/licenses/publicdomain/" + /> + <dc:publisher + > + <cc:Agent + rdf:about="http://openclipart.org/" + > + <dc:title + >Openclipart</dc:title + > + </cc:Agent + > + </dc:publisher + > + </cc:Work + > + <cc:License + rdf:about="http://creativecommons.org/licenses/publicdomain/" + > + <cc:permits + rdf:resource="http://creativecommons.org/ns#Reproduction" + /> + <cc:permits + rdf:resource="http://creativecommons.org/ns#Distribution" + /> + <cc:permits + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" + /> + </cc:License + > + </rdf:RDF + > + </metadata + > +</svg +> diff --git a/pass/public/images/metager.png b/pass/public/images/metager.png new file mode 100644 index 0000000000000000000000000000000000000000..25dc329263a1430c5d5e4250e9f85c150b1a6c63 GIT binary patch literal 11143 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 ZK71G@lk+Rp5~M^EAS<Z|E*CfS|9`E)7>WP@ literal 0 HcmV?d00001 diff --git a/pass/public/images/suma-ev.png b/pass/public/images/suma-ev.png new file mode 100644 index 0000000000000000000000000000000000000000..1e04633dbdf22d53fd80985c357fca7da79cb8b7 GIT binary patch literal 11827 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 Zi5stozoWrHZv<d3MOihOYAN%u{{hFD^>Y9K literal 0 HcmV?d00001 diff --git a/pass/public/styles/base.less b/pass/public/styles/base.less index aba02c9..e1b5f1a 100644 --- a/pass/public/styles/base.less +++ b/pass/public/styles/base.less @@ -70,12 +70,12 @@ button { .button.share, .button.download { display: none; - + justify-content: center; + align-content: center; &.download { display: flex; - img { - height: 2em; + height: 1.5em; } } diff --git a/pass/public/styles/key/key.css b/pass/public/styles/key/key.css index 3a8f172..80412e4 100644 --- a/pass/public/styles/key/key.css +++ b/pass/public/styles/key/key.css @@ -1 +1 @@ -#checkout-amount-template{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#checkout-amount-template>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout-amount-template>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout-amount-template>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}#checkout #checkout-amount{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;justify-items:center;align-items:center}#checkout #checkout-amount.single{grid-template-columns:1fr}#checkout #checkout-amount>a{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#checkout #checkout-amount>a>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout #checkout-amount>a>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout #checkout-amount>a>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}@media (max-width:800px){#checkout #checkout-amount{grid-template-columns:1fr 1fr}#checkout #checkout-amount.single{grid-template-columns:1fr}}@media (max-width:470px){#checkout #checkout-amount{grid-template-columns:1fr}#checkout #checkout-amount>a{width:100%;grid-template-columns:1fr 3em}}#payment{margin-bottom:1rem}#payment>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#payment>label[for="payment-group-paypal"]{border:1px solid #777;display:block;padding:.5rem;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#f0f0f0;border-bottom-color:#ff7f00;border-bottom-width:2px}#payment>#payment-group-paypal{display:none}#payment>.payment-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;justify-items:center;gap:1rem;border:1px solid #777;padding:1rem;border-top:0;place-items:stretch}#payment>.payment-group>div{width:14em}@media (max-width:930px){#payment>.payment-group{grid-template-columns:1fr 1fr}}@media (max-width:470px){#payment>.payment-group{grid-template-columns:1fr}}#payment>.payment-group>div{min-width:10em}#payment>.payment-group#paypal-payments>.funding_source{display:flex;border:1px solid #777;padding:1rem;align-items:center;justify-content:center;height:2em;border-radius:5px;gap:.5rem;color:inherit;text-decoration:none}#payment>.payment-group#paypal-payments>.funding_source img{max-width:100%;max-height:100%}#paypal-checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#paypal-checkout>#loading_paypal_funding_source{display:flex;align-items:center;justify-content:center;gap:1rem;color:#777;padding:2rem 0}#paypal-checkout>#loading_paypal_funding_source img{width:2rem}#paypal-checkout #paypal-payment-card #paypal-card-form{display:grid;grid-template-columns:1fr 5em;grid-template-rows:1fr auto auto;place-items:stretch;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div{display:flex;flex-direction:column;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label{font-weight:bold;font-size:.8rem;white-space:nowrap}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label.error{color:red;line-height:1}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label.error::before{font-size:initial}#paypal-checkout #paypal-payment-card #paypal-card-form>div>div{height:2.3rem;border:1px solid #777;border-radius:5px}#paypal-checkout #paypal-payment-card #paypal-card-form>div.card-holder-name{grid-column:span 2}#paypal-checkout #paypal-payment-card #paypal-card-form>div.card-holder-name input{padding:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:span 2;padding:.5rem;justify-self:center;display:flex;white-space:nowrap;align-items:center;line-height:1;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card>img{display:none}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card.loading>img{display:block}@media (max-width:920px){#paypal-checkout #paypal-payment-card #paypal-card-form{grid-template-columns:1fr}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:auto}}main{max-width:980px;margin:0 auto;display:grid;row-gap:1rem;padding-right:1rem;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"qr key " "qr setting-url" "qr buttons" "amount charge"}main>#qr{grid-area:qr;justify-self:center}main #key{grid-area:key;font-size:clamp(.9rem, 4.8vw, 1.5rem);font-weight:bold;width:max-content;margin-top:11px;margin-right:1rem}main #setting-url{grid-area:setting-url;align-self:start;display:flex;padding:.5rem 1rem;border-radius:5px}main #setting-url>input{line-height:1.5;padding:.1rem .5rem;border-radius:5px;flex-grow:1}main>#buttons{grid-area:buttons;display:flex;gap:1rem;margin-bottom:17px;justify-content:flex-end}@media (max-width:435px){main>#buttons{display:grid;grid-template-columns:1fr}main>#buttons .button{width:auto}main>#buttons>*{display:grid;justify-items:center;text-align:center}}main>#amount{grid-area:amount;max-width:200px;justify-self:center;display:flex;flex-direction:column;align-items:center}main>#amount>h3{font-size:1.5rem;margin:0}main>#amount>div.amount{font-size:3rem}main>#charge{grid-area:charge}main>#charge>#store>p{line-height:1.5}@media (max-width:770px){main{padding:0 1rem;grid-template-rows:auto auto auto auto auto;grid-template-columns:auto auto;grid-template-areas:"amount qr " "key key" "setting-url setting-url" "buttons buttons " "charge charge "}main>#key{margin:0;justify-self:center}main>#setting-url{text-align:center}main>#buttons{justify-content:center;margin-bottom:0}main>#amount{align-self:center}main>#charge>#store{display:flex;flex-direction:column;align-items:center}}@media (max-width:430px){main{grid-template-rows:auto auto auto auto auto auto;grid-template-columns:auto;grid-template-areas:"qr" "key" "setting-url" "buttons" "amount" "charge"}}h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#summary{display:flex;align-items:center;gap:1rem;justify-content:center;margin-bottom:3rem}#summary>.checkout-amount{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#summary>.checkout-amount>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#summary>.checkout-amount>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#summary>.checkout-amount>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}#summary>.funding_source{height:4.5rem;width:11rem;display:grid;place-content:center;place-items:center;border:1px solid #777;border-radius:10px;color:inherit;text-decoration:none;gap:.5rem}#summary>.funding_source img{max-width:70%;max-height:100%}@media (max-width:430px){#summary{flex-direction:column}} \ No newline at end of file +#checkout-amount-template{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#checkout-amount-template>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout-amount-template>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout-amount-template>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}#checkout #checkout-amount{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;justify-items:center;align-items:center}#checkout #checkout-amount.single{grid-template-columns:1fr}#checkout #checkout-amount>a{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#checkout #checkout-amount>a>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#checkout #checkout-amount>a>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#checkout #checkout-amount>a>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}@media (max-width:800px){#checkout #checkout-amount{grid-template-columns:1fr 1fr}#checkout #checkout-amount.single{grid-template-columns:1fr}}@media (max-width:470px){#checkout #checkout-amount{grid-template-columns:1fr}#checkout #checkout-amount>a{width:100%;grid-template-columns:1fr 3em}}#payment{margin-bottom:1rem}#payment>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#payment>label[for="payment-group-paypal"]{border:1px solid #777;display:block;padding:.5rem;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#f0f0f0;border-bottom-color:#ff7f00;border-bottom-width:2px}#payment>#payment-group-paypal{display:none}#payment>.payment-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;justify-items:center;gap:1rem;border:1px solid #777;padding:1rem;border-top:0;place-items:stretch}#payment>.payment-group>div{width:14em}@media (max-width:930px){#payment>.payment-group{grid-template-columns:1fr 1fr}}@media (max-width:470px){#payment>.payment-group{grid-template-columns:1fr}}#payment>.payment-group>div{min-width:10em}#payment>.payment-group#paypal-payments>.funding_source{display:flex;border:1px solid #777;padding:1rem;align-items:center;justify-content:center;height:2em;border-radius:5px;gap:.5rem;color:inherit;text-decoration:none}#payment>.payment-group#paypal-payments>.funding_source img{max-width:100%;max-height:100%}#paypal-checkout>h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#paypal-checkout>#loading_paypal_funding_source{display:flex;align-items:center;justify-content:center;gap:1rem;color:#777;padding:2rem 0}#paypal-checkout>#loading_paypal_funding_source img{width:2rem}#paypal-checkout #paypal-payment-card #paypal-card-form{display:grid;grid-template-columns:1fr 5em;grid-template-rows:1fr auto auto;place-items:stretch;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div{display:flex;flex-direction:column;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label{font-weight:bold;font-size:.8rem;white-space:nowrap}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label.error{color:red;line-height:1}#paypal-checkout #paypal-payment-card #paypal-card-form>div>label.error::before{font-size:initial}#paypal-checkout #paypal-payment-card #paypal-card-form>div>div{height:2.3rem;border:1px solid #777;border-radius:5px}#paypal-checkout #paypal-payment-card #paypal-card-form>div.card-holder-name{grid-column:span 2}#paypal-checkout #paypal-payment-card #paypal-card-form>div.card-holder-name input{padding:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:span 2;padding:.5rem;justify-self:center;display:flex;white-space:nowrap;align-items:center;line-height:1;gap:.5rem}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card>img{display:none}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card.loading>img{display:block}@media (max-width:920px){#paypal-checkout #paypal-payment-card #paypal-card-form{grid-template-columns:1fr}#paypal-checkout #paypal-payment-card #paypal-card-form>button#submit-credit-card{grid-column:auto}}main{max-width:980px;margin:0 auto;display:grid;row-gap:1rem;padding-right:1rem;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"qr key " "qr setting-url" "qr buttons" "amount content"}main>#qr{grid-area:qr;justify-self:center}main #key{grid-area:key;font-size:clamp(.9rem, 4.8vw, 1.5rem);font-weight:bold;width:max-content;margin-top:11px;margin-right:1rem}main #setting-url{grid-area:setting-url;align-self:start;display:flex;padding:.5rem 1rem;border-radius:5px}main #setting-url>input{line-height:1.5;padding:.1rem .5rem;border-radius:5px;flex-grow:1}main>#buttons{grid-area:buttons;display:flex;gap:1rem;margin-bottom:17px;justify-content:flex-end}@media (max-width:450px){main>#buttons{display:grid;grid-template-columns:1fr}main>#buttons .button{width:auto}}main>#amount{grid-area:amount;max-width:200px;justify-self:center;display:flex;flex-direction:column;align-items:center}main>#amount>h3{font-size:1.5rem;margin:0}main>#amount>div.amount{font-size:3rem}main>#charge{grid-area:content}main>#charge>#store>p{line-height:1.5}@media (max-width:770px){main{padding:0 1rem;grid-template-rows:auto auto auto auto auto;grid-template-columns:auto auto;grid-template-areas:"amount qr " "key key" "setting-url setting-url" "buttons buttons " "content content "}main>#key{margin:0;justify-self:center}main>#setting-url{text-align:center}main>#buttons{justify-content:center;margin-bottom:0}main>#amount{align-self:center}main>#charge>#store{display:flex;flex-direction:column;align-items:center}}@media (max-width:430px){main{grid-template-rows:auto auto auto auto auto auto;grid-template-columns:auto;grid-template-areas:"qr" "key" "setting-url" "buttons" "amount" "content"}}h2{margin:0 0 1rem;text-align:center;border-bottom:1px solid #ff7f00}#summary{display:flex;align-items:center;gap:1rem;justify-content:center;margin-bottom:3rem}#summary>.checkout-amount{text-decoration:none;color:inherit;display:grid;grid-template-columns:7em 3.5em;grid-template-rows:2.5em 2em;place-items:stretch}#summary>.checkout-amount>.checkout-amount{font-size:2rem;font-weight:bold;line-height:1;display:flex;align-items:center;justify-content:center;border-top-left-radius:10px;border:1px solid #ff7f00;border-bottom:0;border-right:0}#summary>.checkout-amount>.checkout-duration{border-bottom-left-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ff7f00;border-top:0;border-right:0}#summary>.checkout-amount>.checkout-cost{grid-row:span 2;justify-content:center;background-color:#ff7f00;color:white;font-size:1.7rem;align-items:center;border-top-right-radius:10px;border-bottom-right-radius:10px;border:1px solid #ff7f00;border-left:0;display:flex}#summary>.funding_source{height:4.5rem;width:11rem;display:grid;place-content:center;place-items:center;border:1px solid #777;border-radius:10px;color:inherit;text-decoration:none;gap:.5rem}#summary>.funding_source img{max-width:70%;max-height:100%}@media (max-width:430px){#summary{flex-direction:column}} \ No newline at end of file diff --git a/pass/public/styles/key/key.less b/pass/public/styles/key/key.less index ff0ecbd..21895c4 100644 --- a/pass/public/styles/key/key.less +++ b/pass/public/styles/key/key.less @@ -14,7 +14,7 @@ main { padding-right: 1rem; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto auto; - grid-template-areas: "qr key " "qr setting-url" "qr buttons" "amount charge"; + grid-template-areas: "qr key " "qr setting-url" "qr buttons" "amount content"; > #qr { grid-area: qr; @@ -52,19 +52,13 @@ main { margin-bottom: 17px; justify-content: flex-end; - @media (max-width: 435px) { + @media (max-width: 450px) { display: grid; grid-template-columns: 1fr; .button { width: auto; } - - > * { - display: grid; - justify-items: center; - text-align: center; - } } } @@ -87,7 +81,7 @@ main { } > #charge { - grid-area: charge; + grid-area: content; > #store { > p { @@ -100,7 +94,7 @@ main { padding: 0 1rem; grid-template-rows: auto auto auto auto auto; grid-template-columns: auto auto; - grid-template-areas: "amount qr " "key key" "setting-url setting-url" "buttons buttons " "charge charge "; + grid-template-areas: "amount qr " "key key" "setting-url setting-url" "buttons buttons " "content content "; > #key { margin: 0; @@ -132,7 +126,7 @@ main { @media (max-width: @key-breakpoint-2) { grid-template-rows: auto auto auto auto auto auto; grid-template-columns: auto; - grid-template-areas: "qr" "key" "setting-url" "buttons" "amount" "charge"; + grid-template-areas: "qr" "key" "setting-url" "buttons" "amount" "content"; } } diff --git a/pass/public/styles/orders.less b/pass/public/styles/orders.less new file mode 100644 index 0000000..d12f277 --- /dev/null +++ b/pass/public/styles/orders.less @@ -0,0 +1,45 @@ +@import "./misc/vars.less"; +#order { + grid-area: content; + #order-details { + display: grid; + grid-template-columns: 1fr 4rem 4rem; + text-align: right; + > div { + &.heading { + text-align: left; + border-bottom: 1px solid @color-main; + font-weight: bold; + padding-bottom: 0.2rem; + } + &:not(.heading) { + padding: 0.5rem 0; + } + &.sum { + font-weight: bold; + } + } + } + > h3 { + text-align: center; + } + + #order-buttons { + display: flex; + justify-content: flex-end; + gap: 0.5rem; + .button { + font-size: 0.8rem; + display: flex; + align-items: center; + justify-content: center; + line-height: 1; + gap: 0.5rem; + padding: 0.5rem; + img { + height: 1rem; + filter: brightness(0) invert(1); + } + } + } +} diff --git a/pass/routes/key.js b/pass/routes/key.js index 0a9a248..73f27be 100644 --- a/pass/routes/key.js +++ b/pass/routes/key.js @@ -37,6 +37,7 @@ router.use("/:key", param("key").isUUID(4), async (req, res, next) => { qr: qr_data_uri, }, js: [], + css: ["/styles/key/key.css"], }; next("route"); }); diff --git a/pass/routes/orders.js b/pass/routes/orders.js index 2cd4350..a8615e9 100644 --- a/pass/routes/orders.js +++ b/pass/routes/orders.js @@ -3,17 +3,32 @@ var router = express.Router({ mergeParams: true }); const { param, validationResult } = require("express-validator"); const Order = require("../app/Order"); -router.use("/", (req, res, next) => { - Order.LOAD_ORDERS_FROM_KEY(req.data.key.key).then( - /** @param {Order} order */ (orders) => { - req.data.orders = orders; - res.status(200).json(req.data); - } - ); +const dayjs = require("dayjs"); +const OrderReceipt = require("../app/pdf/OrderReceipt"); + +router.use("/:order_id", param("order_id").isInt(), (req, res, next) => { + Order.LOAD_ORDER_FROM_ID(req.params.order_id) + .then((order) => { + req.data.order = order; + next("route"); + }) + .catch((reason) => { + res.status(404).json({ errors: [{ msg: "Order could not be found" }] }); + }); }); router.get("/:order_id", (req, res) => { + req.data.css.push("/styles/orders.css"); + req.data.order_receipt_url = `/key/${req.data.key.key}/orders/${req.params.order_id}/pdf`; res.render("key", req.data); }); +router.get("/:order_id/pdf", (req, res) => { + let doc = OrderReceipt.CREATE_ORDER_RECEIPT(req.data.order, res); + res.status(200).header({ + "Content-Type": "application/pdf", + }); + doc.pipe(res); +}); + module.exports = router; diff --git a/pass/views/key.ejs b/pass/views/key.ejs index 166ad84..1e3c462 100644 --- a/pass/views/key.ejs +++ b/pass/views/key.ejs @@ -1,4 +1,4 @@ -<%- include('templates/page_header', {css: ["/styles/key/key.css"], js: js}); %> +<%- include('templates/page_header', {css: css, js: js}); %> <img id="qr" src="<%= key.qr %> "></img> <div id="key"> diff --git a/pass/views/orders/order.ejs b/pass/views/orders/order.ejs index 9e293ff..9ff51b2 100644 --- a/pass/views/orders/order.ejs +++ b/pass/views/orders/order.ejs @@ -1,3 +1,28 @@ <div id="order"> - <h1><%= order.getAmount() %></h1> + <h2>Ihre Bestellung Nr. <%= order.getOrderID() %></h2> + <div id="order-details"> + <div class="heading item">Bestelldetails</div> + <div class="heading count">Anzahl</div> + <div class="heading price">Preis</div> + <div class="item">MetaGer Schlüssel: Suchanfragen (300x)</div> + <div class="count"><%= order.getAmount() / 300 %></div> + <div class="price"><%= order.getNettoPrice() %> €</div> + <div class="item">MwSt. (<%= order.getVat() %> %)</div> + <div class="count"></div> + <div class="price"><%= order.getVatAmount() %> €</div> + <div class="item sum">Gesamtbetrag</div> + <div class="count"></div> + <div class="price"><%= order.getPrice() %> €</div> + </div> + <h3>Vielen Dank für Ihren Einkauf!</h3> + <div id="order-buttons"> + <a href="<%= order_receipt_url %>" target="_blank" class="button"> + <img src="/images/download.svg" alt="" /> + <span>Auftragsbestätigung herunterladen</span> + </a> + <a href="#" class="button"> + <img src="/images/invoice.svg" alt="" /> + <span>Rechnung beantragen</span> + </a> + </div> </div> \ No newline at end of file -- GitLab