├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── LICENSE ├── README.md ├── api ├── Dockerfile ├── cowboy.png ├── functions │ └── image-grayscale │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs ├── grayscale.wasm ├── package.json ├── pre.sh └── server.js ├── docs └── images │ ├── create_container_image.png │ ├── create_container_repo.png │ ├── create_function.png │ ├── github_pages_env.png │ ├── password.png │ ├── serverless-docker-wasmedge.graffle │ ├── serverless-docker-wasmedge.png │ └── web_function_url.png ├── next.config.js ├── package.json ├── pages ├── _app.js ├── index.html └── index.js ├── public └── favicon.ico ├── styles ├── Home.module.css └── globals.css ├── tencent-scf-wasmedge-runtime.gif └── yarn.lock /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: deploy 2 | on: 3 | push: 4 | branches: 5 | - main 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v2 12 | - name: Use Node.js 12.x 13 | uses: actions/setup-node@v2 14 | with: 15 | node-version: '12.x' 16 | registry-url: 'https://registry.npmjs.org' 17 | 18 | - name: build 19 | run: | 20 | yarn 21 | yarn build 22 | env: 23 | NEXT_PUBLIC_FUNCTION_URL: ${{ secrets.NEXT_PUBLIC_FUNCTION_URL }} 24 | 25 | - name: Deploy 🚀 26 | uses: JamesIves/github-pages-deploy-action@4.1.4 27 | with: 28 | branch: gh-pages # The branch the action should deploy to. 29 | folder: out # The folder the action should deploy. -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | out 85 | 86 | # Gatsby files 87 | .cache/ 88 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 89 | # https://nextjs.org/blog/next-9-1#public-directory-support 90 | # public 91 | 92 | # vuepress build output 93 | .vuepress/dist 94 | 95 | # Serverless directories 96 | .serverless/ 97 | 98 | # FuseBox cache 99 | .fusebox/ 100 | 101 | # DynamoDB Local files 102 | .dynamodb/ 103 | 104 | # TernJS port file 105 | .tern-port 106 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## [图像处理 Demo](https://second-state.github.io/tencent-scf-wasm-runtime/) | [Tensorflow 推理 Demo](https://juntao.github.io/tencent-scf-wasm-runtime/) 2 | 3 | 这个 repo 是一个可以 fork 的模版,让你可以快速地在腾讯云 Serverless 上部署基于 WasmEdge 的 WebAssembly 函数。这么做有几个优点。 4 | 5 | * WebAssembly 函数可以实现接近本机编译的 C/C++ 函数的性能。 6 | * 与本机编译的函数不同,WebAssembly 是可移植的,允许开发者在自己的机器上测试函数,并部署在任何公共云上。 7 | * WebAssembly 比本机编译的函数更安全,因为它提供了一个沙箱。 可以在一个微服务中隔离运行多个函数。 8 | * WasmEdge 为 Rust 开发者提供了最友好的 API 来高效安全地执行 Tensorflow 模型。 9 | 10 | 下面的架构图展现了在腾讯云 Serverless 平台上使用自定义 Docker 镜像来运行高性能的 WasmEdge 函数。 11 | 12 | ![](docs/images/serverless-docker-wasmedge.png) 13 | 14 | 这个模版展示了一个使用 serverless 函数的 Web 应用程序的示例,可将上传的图像转换为灰色。在 [tensorflow](https://github.com/second-state/tencent-scf-wasm-runtime/tree/tensorflow) 分支里我们有一个 AI 推理函数的例子。 15 | 16 | ![](tencent-scf-wasmedge-runtime.gif) 17 | 18 | ## 准备工作 19 | 20 | 我们要首先在腾讯云的容器服务上建立一个容器镜像。然后我们会用这个容器镜像提供 serverless 函数服务。在腾讯云控制台上开启“容器服务”的时候需要提供一个密码。这个服务的用户名是你的腾讯云用户名。 21 | 22 | ![](docs/images/password.png) 23 | 24 | 点击“容器服务|镜像仓库|个人版”,新建一个“命名空间”。我把它命名为 `secondstate`。 25 | 26 | ![](docs/images/create_container_repo.png) 27 | 28 | 在 `secondstate` 这个命名空间,新建一个镜像。我把它命名为 `grayscale`,因为我们这个示例函数的功能把彩色图片变得黑白。 29 | 30 | ![](docs/images/create_container_image.png) 31 | 32 | 回到你的开发机器上,用 docker login 登录你的镜像仓库。用你的刚刚创建的镜像链接就好。 33 | 34 | ``` 35 | $ docker login hkccr.ccs.tencentyun.com/secondstate/grayscale 36 | Username: 37 | Password: 38 | ``` 39 | 40 | ## 建立我们的函数镜像 41 | 42 | 在这个模板中,我们有一个已经编译好的 WebAssembly 函数放在 [api/grayscale.wasm](api/grayscale.wasm) 文件里。这个函数的 Rust 源代码在 [api/functions/image-grayscale](api/functions/image-grayscale) 里面。它读入一个图片,然后输出这个图的黑白版。其输入与输出都是二进制数组。 43 | 44 | 而 [api/server.js](api/server.js) 这个脚本从 Web 函数的网关获得 HTTP request 的数据,传给 `grayscale.wasm` 函数执行,再把执行结果返回给 HTTP response。 45 | 46 | 我们要把 `grayscale.wasm` 与 `server.js` 以及 WasmEdge 的执行环境一起封装在一个容器镜像里面,才能后续将其部署为 serverless 函数。 47 | 48 | ``` 49 | $ cd api 50 | $ docker build -t hkccr.ccs.tencentyun.com/secondstate/grayscale:0.1 ./ 51 | ... ... 52 | Successfully tagged hkccr.ccs.tencentyun.com/secondstate/grayscale:0.1 53 | ``` 54 | 55 | 然后将这个容器镜像发布在我们刚刚建立的腾讯云容器镜像仓库里。 56 | 57 | ``` 58 | $ docker push hkccr.ccs.tencentyun.com/secondstate/grayscale:0.1 59 | The push refers to repository [hkccr.ccs.tencentyun.com/secondstate/grayscale] 60 | ... ... 61 | 0.1: digest: sha256:... size: 3246 62 | ``` 63 | 64 | ## 部署我们的 serverless 函数 65 | 66 | 下一步是在腾讯云控制台上的 serverless 函数服务里面基于我们的镜像创建函数。几点要注意的是: 67 | 68 | * 选择“自定义创建”。 69 | * 选择“Web函数”。 70 | * 选择“镜像部署”。 71 | * 在“函数代码”之中,选择你在上面建立的镜像与版本。 72 | 73 | ![](docs/images/create_function.png) 74 | 75 | 部署成功之后,你的 Web 函数会有一个公开的服务 URL 链接(叫做“公开访问路径”)。 76 | 77 | ![](docs/images/web_function_url.png) 78 | 79 | 这个 serverless 函数的服务 endpoints 是在 api/server.js 里面定义的。比如 /func 是指向我们的 WasmEdge 函数的。 80 | 81 | ## 前端的 web UI 82 | 83 | 这个模板有一个简单的基于 Next.js 的前端 UI。它是一个部署在 GitHub pages 上的静态网页。在 [pages/index.js](pages/index.js) 这个文件里,有一个 `env.NEXT_PUBLIC_FUNCTION_URL` 指向上面的 web 函数公开访问路径。这个 `env.NEXT_PUBLIC_FUNCTION_URL` 是在项目的 Github setting 里面设置的。 84 | 85 | **注意**:`NEXT_PUBLIC_FUNCTION_URL` 里面应该填写的是你的*函数*的公开访问路径,需要在上一步的*服务*公开访问路径后添加 `/func`。比如,上一步中的公开访问路径是 `*.apigw.tencentcs.com/release/`,这一步中`NEXT_PUBLIC_FUNCTION_URL` 需要设置为 `*.apigw.tencentcs.com/release/func` 86 | ![](docs/images/github_pages_env.png) 87 | 88 | 最后,你可以把这个网页放在任何一个支持静态网站的托管服务上。比如腾讯云的网站托管服务。只要将前端的 `env.NEXT_PUBLIC_FUNCTION_URL` 改成 serverless web 函数的公开访问路径即可。 89 | 90 | ## 开发你自己的函数 91 | 92 | 我们的 WebAssembly serverless 函数是用 Rust 开发的。这个 Rust 项目在 [api/functions](api/functions) 里面。就用 `cargo` 命令就可以编译出 [api/grayscale.wasm](api/grayscale.wasm) 文件。 93 | 94 | ``` 95 | $ cd api/functions/image-grayscale/ 96 | $ cargo build --release --target wasm32-wasi 97 | $ cp target/wasm32-wasi/release/grayscale.wasm ../../ 98 | ``` 99 | 100 | 这个 [Rust 函数](api/functions/image-grayscale/src/main.rs) 从 `STDIN` 读入上传的图片,然后把黑白图片从 `STDOUT` 输出。你可以把它改成你需要的业务逻辑。 101 | 102 | 模板中的 [api/server.js](api/server.js) 将 HTTP request 与 response 与 wasmedge 联接起来。如果你改了 Rust 函数的输入与输出,你可能也要改动 [api/server.js](api/server.js) 里面的胶水代码。 103 | 104 | 修改了 [Rust 项目](api/functions/image-grayscale/) 与 [api/server.js](api/server.js) 之后,你可以重新创建与部署 Docker 镜像。新的函数就可以用了! 105 | 106 | ## 下一步 107 | 108 | 目前,我们仍然把 WasmEdge 放在腾讯云的 Docker 镜像里面运行。这虽然已经带来了巨大的好处,但是还没有完全发挥 WebAssembly 的优势。WasmEdge 可以作为一个 Docker 的替代,直接运行函数,而不是在 Docker 之中运行函数。从而大幅提高 serverless 函数的性能,降低 infrastructure 的成本!我们已经能够从 Docker 与 k8s 的管理编排工具里面启动与管理 WasmEdge 应用程序。 109 | 110 | 另外,虽然 Rust 非常适合写高性能的 serverless 函数,很多 serverless 用户希望有“低代码”的解决方案。这里,我们可以为具体应用设计“低代码”语言(DSL or Domain Specific Language)。WebAssembly 对语言编译器与解释器的广泛支持,使其特别适合运行各行各业的 DSL。例子有我们正在为飞书设计的聊天机器人语言与人工智能推理语言。 111 | 112 | -------------------------------------------------------------------------------- /api/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:14.5.0-slim 2 | 3 | # Create app directory 4 | RUN mkdir -p /opt/src/app 5 | WORKDIR /opt/src/app 6 | 7 | RUN apt-get update && apt-get -y install curl 8 | 9 | # Install app dependencies 10 | # A wildcard is used to ensure both package.json AND package-lock.json are copied 11 | # where available (npm@5+) 12 | COPY package*.json ./ 13 | RUN npm install 14 | 15 | # Bundle and pre-compile the wasm files 16 | COPY *.wasm ./ 17 | COPY pre.sh ./ 18 | RUN chmod +x pre.sh 19 | RUN ./pre.sh 20 | 21 | # Bundle the JS bootstrap server 22 | COPY *.js ./ 23 | 24 | # Listen http server port 25 | EXPOSE 9000 26 | ENTRYPOINT [ "node", "server.js" ] 27 | -------------------------------------------------------------------------------- /api/cowboy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/api/cowboy.png -------------------------------------------------------------------------------- /api/functions/image-grayscale/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "adler32" 5 | version = "1.2.0" 6 | source = "registry+https://github.com/rust-lang/crates.io-index" 7 | checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" 8 | 9 | [[package]] 10 | name = "autocfg" 11 | version = "1.0.1" 12 | source = "registry+https://github.com/rust-lang/crates.io-index" 13 | checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" 14 | 15 | [[package]] 16 | name = "bitflags" 17 | version = "1.2.1" 18 | source = "registry+https://github.com/rust-lang/crates.io-index" 19 | checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" 20 | 21 | [[package]] 22 | name = "bytemuck" 23 | version = "1.7.0" 24 | source = "registry+https://github.com/rust-lang/crates.io-index" 25 | checksum = "9966d2ab714d0f785dbac0a0396251a35280aeb42413281617d0209ab4898435" 26 | 27 | [[package]] 28 | name = "byteorder" 29 | version = "1.4.3" 30 | source = "registry+https://github.com/rust-lang/crates.io-index" 31 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 32 | 33 | [[package]] 34 | name = "cfg-if" 35 | version = "1.0.0" 36 | source = "registry+https://github.com/rust-lang/crates.io-index" 37 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 38 | 39 | [[package]] 40 | name = "color_quant" 41 | version = "1.1.0" 42 | source = "registry+https://github.com/rust-lang/crates.io-index" 43 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 44 | 45 | [[package]] 46 | name = "crc32fast" 47 | version = "1.2.1" 48 | source = "registry+https://github.com/rust-lang/crates.io-index" 49 | checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" 50 | dependencies = [ 51 | "cfg-if", 52 | ] 53 | 54 | [[package]] 55 | name = "deflate" 56 | version = "0.8.6" 57 | source = "registry+https://github.com/rust-lang/crates.io-index" 58 | checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" 59 | dependencies = [ 60 | "adler32", 61 | "byteorder", 62 | ] 63 | 64 | [[package]] 65 | name = "gif" 66 | version = "0.11.2" 67 | source = "registry+https://github.com/rust-lang/crates.io-index" 68 | checksum = "5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de" 69 | dependencies = [ 70 | "color_quant", 71 | "weezl", 72 | ] 73 | 74 | [[package]] 75 | name = "hex" 76 | version = "0.4.3" 77 | source = "registry+https://github.com/rust-lang/crates.io-index" 78 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 79 | 80 | [[package]] 81 | name = "image" 82 | version = "0.23.14" 83 | source = "registry+https://github.com/rust-lang/crates.io-index" 84 | checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" 85 | dependencies = [ 86 | "bytemuck", 87 | "byteorder", 88 | "color_quant", 89 | "gif", 90 | "jpeg-decoder", 91 | "num-iter", 92 | "num-rational", 93 | "num-traits", 94 | "png", 95 | ] 96 | 97 | [[package]] 98 | name = "jpeg-decoder" 99 | version = "0.1.22" 100 | source = "registry+https://github.com/rust-lang/crates.io-index" 101 | checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" 102 | 103 | [[package]] 104 | name = "miniz_oxide" 105 | version = "0.3.7" 106 | source = "registry+https://github.com/rust-lang/crates.io-index" 107 | checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" 108 | dependencies = [ 109 | "adler32", 110 | ] 111 | 112 | [[package]] 113 | name = "num-integer" 114 | version = "0.1.44" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" 117 | dependencies = [ 118 | "autocfg", 119 | "num-traits", 120 | ] 121 | 122 | [[package]] 123 | name = "num-iter" 124 | version = "0.1.42" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" 127 | dependencies = [ 128 | "autocfg", 129 | "num-integer", 130 | "num-traits", 131 | ] 132 | 133 | [[package]] 134 | name = "num-rational" 135 | version = "0.3.2" 136 | source = "registry+https://github.com/rust-lang/crates.io-index" 137 | checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" 138 | dependencies = [ 139 | "autocfg", 140 | "num-integer", 141 | "num-traits", 142 | ] 143 | 144 | [[package]] 145 | name = "num-traits" 146 | version = "0.2.14" 147 | source = "registry+https://github.com/rust-lang/crates.io-index" 148 | checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" 149 | dependencies = [ 150 | "autocfg", 151 | ] 152 | 153 | [[package]] 154 | name = "png" 155 | version = "0.16.8" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" 158 | dependencies = [ 159 | "bitflags", 160 | "crc32fast", 161 | "deflate", 162 | "miniz_oxide", 163 | ] 164 | 165 | [[package]] 166 | name = "tencent_scf_wasm_runtime" 167 | version = "0.1.0" 168 | dependencies = [ 169 | "hex", 170 | "image", 171 | ] 172 | 173 | [[package]] 174 | name = "weezl" 175 | version = "0.1.5" 176 | source = "registry+https://github.com/rust-lang/crates.io-index" 177 | checksum = "d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e" 178 | -------------------------------------------------------------------------------- /api/functions/image-grayscale/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tencent_scf_wasm_runtime" 3 | version = "0.1.0" 4 | authors = ["ubuntu"] 5 | edition = "2018" 6 | 7 | [[bin]] 8 | name = "grayscale" 9 | path = "src/main.rs" 10 | 11 | [dependencies] 12 | hex = "0.4" 13 | image = { version = "0.23.0", default-features = false, features = ["jpeg", "png", "gif"] } 14 | 15 | -------------------------------------------------------------------------------- /api/functions/image-grayscale/src/main.rs: -------------------------------------------------------------------------------- 1 | use std::io::{self, Read, Write}; 2 | use image::{ImageOutputFormat, ImageFormat}; 3 | 4 | fn main() { 5 | let mut buf = Vec::new(); 6 | io::stdin().read_to_end(&mut buf).unwrap(); 7 | 8 | let image_format_detected: ImageFormat = image::guess_format(&buf).unwrap(); 9 | let img = image::load_from_memory(&buf).unwrap(); 10 | let filtered = img.grayscale(); 11 | let mut buf = vec![]; 12 | match image_format_detected { 13 | ImageFormat::Gif => { 14 | filtered.write_to(&mut buf, ImageOutputFormat::Gif).unwrap(); 15 | }, 16 | _ => { 17 | filtered.write_to(&mut buf, ImageOutputFormat::Png).unwrap(); 18 | }, 19 | }; 20 | io::stdout().write_all(&buf).unwrap(); 21 | io::stdout().flush().unwrap(); 22 | } 23 | -------------------------------------------------------------------------------- /api/grayscale.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/api/grayscale.wasm -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web_app", 3 | "version": "1.0.0", 4 | "description": "Node.js on Docker", 5 | "author": "Tencent Cloud", 6 | "main": "server.js", 7 | "scripts": { 8 | "start": "node server.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.16.1", 12 | "body-parser": "1.19.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /api/pre.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # get wasmedge & wasmedgec 4 | curl -sSfL https://github.com/WasmEdge/WasmEdge/releases/download/0.8.2-rc.2/WasmEdge-0.8.2-rc.2-manylinux2014_x86_64.tar.gz -o ./WasmEdge.tar.gz 5 | tar --strip-components 2 -xzvf WasmEdge.tar.gz WasmEdge-0.8.2-rc.2-Linux/bin 6 | rm WasmEdge.tar.gz 7 | 8 | # compile all .wasm to .so 9 | for file in *.wasm; do 10 | [ -f "$file" ] || continue 11 | ./wasmedgec --generic-binary "$file" "${file/.wasm/.so}" 12 | rm "$file" 13 | done 14 | 15 | # clean 16 | rm wasmedgec 17 | -------------------------------------------------------------------------------- /api/server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const bodyparser = require('body-parser') 3 | const fs = require('fs'); 4 | const { spawn } = require('child_process'); 5 | const path = require('path'); 6 | 7 | // Constants 8 | const PORT = 9000; 9 | const HOST = '0.0.0.0'; 10 | 11 | const app = express(); 12 | app.use(bodyparser.raw({ limit: '5mb', type: '*/*' })) 13 | 14 | // Web function invocation 15 | app.get('/hello', (req, res) => { 16 | res.send('Hello Serverless Cloud Function , Web Function\n'); 17 | }); 18 | 19 | app.options('/func', (req, res) => { 20 | res.setHeader('Access-Control-Allow-Headers', '*'); 21 | res.setHeader('Access-Control-Allow-Origin', '*'); 22 | res.end(); 23 | }); 24 | 25 | app.post('/func', (req, res) => { 26 | const wasmedge = spawn(path.join(__dirname, 'wasmedge'), [path.join(__dirname, 'grayscale.so')]); 27 | 28 | let d = []; 29 | wasmedge.stdout.on('data', (data) => { 30 | d.push(data); 31 | }); 32 | 33 | wasmedge.on('close', (code) => { 34 | let buf = Buffer.concat(d); 35 | 36 | res.setHeader('Content-Type', req.headers['image-type']); 37 | res.setHeader('Access-Control-Allow-Origin', '*'); 38 | res.setHeader('Access-Control-Allow-Headers', '*'); 39 | res.send(buf); 40 | }); 41 | 42 | wasmedge.stdin.write(req.body); 43 | wasmedge.stdin.end(''); 44 | }); 45 | 46 | 47 | var server = app.listen(PORT, HOST); 48 | console.log(`SCF Running on http://${HOST}:${PORT}`); 49 | 50 | server.timeout = 0; // never timeout 51 | server.keepAliveTimeout = 0; // keepalive, never timeout 52 | -------------------------------------------------------------------------------- /docs/images/create_container_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/create_container_image.png -------------------------------------------------------------------------------- /docs/images/create_container_repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/create_container_repo.png -------------------------------------------------------------------------------- /docs/images/create_function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/create_function.png -------------------------------------------------------------------------------- /docs/images/github_pages_env.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/github_pages_env.png -------------------------------------------------------------------------------- /docs/images/password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/password.png -------------------------------------------------------------------------------- /docs/images/serverless-docker-wasmedge.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/serverless-docker-wasmedge.graffle -------------------------------------------------------------------------------- /docs/images/serverless-docker-wasmedge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/serverless-docker-wasmedge.png -------------------------------------------------------------------------------- /docs/images/web_function_url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/docs/images/web_function_url.png -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | basePath: '/tencent-scf-wasm-runtime', 3 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web_app", 3 | "version": "1.0.0", 4 | "description": "Tencent SCF Wasm Runtime", 5 | "author": "Tencent Cloud", 6 | "scripts": { 7 | "dev": "next dev", 8 | "build": "next build && next export", 9 | "start": "next start" 10 | }, 11 | "dependencies": { 12 | "next": "10.x", 13 | "react": "17.x", 14 | "react-dom": "17.x" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return 5 | } 6 | 7 | export default MyApp 8 | -------------------------------------------------------------------------------- /pages/index.html: -------------------------------------------------------------------------------- 1 | Service endpoints: 2 | https://service-cqnj70to-1302315972.hk.apigw.tencentcs.com/release/hello 3 | https://service-cqnj70to-1302315972.hk.apigw.tencentcs.com/release/func 4 | 5 | Try this: 6 | curl --location --request POST 'https://service-cqnj70to-1302315972.hk.apigw.tencentcs.com/release/func' --header 'image-type: image/png' --data-binary '@cowboy.png' --output tmp.png 7 | -------------------------------------------------------------------------------- /pages/index.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from 'react'; 2 | import Head from 'next/head' 3 | import styles from '../styles/Home.module.css' 4 | 5 | export default function Home() { 6 | const [enableWasm, setEnableWasm] = useState(false); 7 | const [origImg, setOrigImg] = useState(null); 8 | const [resImg, setResImg] = useState(null); 9 | const [loading, setLoading] = useState(false); 10 | 11 | return ( 12 |
13 | 14 | Tencent SCF Wasm Runtime 15 | 16 | 17 | 18 |
19 |

20 | Welcome to WasmEdge! 21 |

22 | 23 |
24 |
25 | 26 | 27 |
28 | {origImg && } 29 |
30 |
31 |
32 | 33 |
34 | {resImg && } 35 |
36 |
37 |
38 |
39 | 40 | 49 |
50 | ); 51 | 52 | function fileSelected(e) { 53 | const file = e.target.files[0]; 54 | if (!file) { 55 | return; 56 | } 57 | 58 | if (!file.type.startsWith('image/png')) { 59 | alert('Please select a png image.'); 60 | return; 61 | } 62 | 63 | const img = document.createElement('img'); 64 | img.file = file 65 | 66 | const reader = new FileReader(); 67 | reader.onload = (function(aImg) { 68 | return function(e) { 69 | aImg.src = e.target.result; 70 | setOrigImg(aImg); 71 | setEnableWasm(true); 72 | }; 73 | })(img); 74 | reader.readAsDataURL(file); 75 | } 76 | 77 | function runWasm(e) { 78 | const img = document.createElement('img'); 79 | 80 | const reader = new FileReader(); 81 | reader.onload = function(e) { 82 | setLoading(true); 83 | var oReq = new XMLHttpRequest(); 84 | oReq.open("POST", process.env.NEXT_PUBLIC_FUNCTION_URL, true); 85 | oReq.setRequestHeader('image-type', origImg.file.type); 86 | oReq.responseType = 'blob'; 87 | oReq.onload = (function(bImg) { 88 | return function (oEvent) { 89 | setLoading(false); 90 | bImg.src = URL.createObjectURL(oReq.response); 91 | setResImg(bImg); 92 | URL.revokeObjectURL(oReq.response); 93 | }; 94 | })(img); 95 | const blob = new Blob([e.target.result], {type: 'application/octet-stream'}); 96 | oReq.send(blob); 97 | }; 98 | reader.readAsArrayBuffer(origImg.file); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/public/favicon.ico -------------------------------------------------------------------------------- /styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | min-height: 100vh; 3 | padding: 0 0.5rem; 4 | display: flex; 5 | flex-direction: column; 6 | justify-content: center; 7 | align-items: center; 8 | } 9 | 10 | .main { 11 | padding: 5rem 0; 12 | flex: 1; 13 | display: flex; 14 | flex-direction: column; 15 | justify-content: center; 16 | align-items: center; 17 | width: 100%; 18 | } 19 | 20 | .footer { 21 | width: 100%; 22 | height: 100px; 23 | border-top: 1px solid #eaeaea; 24 | display: flex; 25 | justify-content: center; 26 | align-items: center; 27 | } 28 | 29 | .footer img { 30 | margin-left: 0.5rem; 31 | } 32 | 33 | .footer a { 34 | display: flex; 35 | justify-content: center; 36 | align-items: center; 37 | } 38 | 39 | .title a { 40 | color: #0070f3; 41 | text-decoration: none; 42 | } 43 | 44 | .title a:hover, 45 | .title a:focus, 46 | .title a:active { 47 | text-decoration: underline; 48 | } 49 | 50 | .title { 51 | margin: 0; 52 | line-height: 1.15; 53 | font-size: 4rem; 54 | text-align: center; 55 | } 56 | 57 | .logo { 58 | height: 1em; 59 | } 60 | 61 | .visually-hidden { 62 | position: absolute !important; 63 | height: 1px; 64 | width: 1px; 65 | overflow: hidden; 66 | clip: rect(1px, 1px, 1px, 1px); 67 | } 68 | 69 | input.visually-hidden + label { 70 | font-size: 1.5rem; 71 | background-color: #0070f3; 72 | border-radius: 5px; 73 | color: white; 74 | padding: 5px 10px; 75 | cursor: pointer; 76 | } 77 | input.visually-hidden + label:hover { 78 | background-color: #1373e4; 79 | } 80 | input.visually-hidden + label:active { 81 | background-color: #1f6bc3; 82 | } 83 | input.visually-hidden:focus + label { 84 | outline: thin dotted; 85 | } 86 | input.visually-hidden:focus-within + label { 87 | outline: thin dotted; 88 | } 89 | 90 | .operating { 91 | margin: 2rem 0; 92 | display: flex; 93 | justify-content: center; 94 | align-items: flex-start; 95 | width: 100%; 96 | } 97 | 98 | .operating > div { 99 | width: 100%; 100 | display: flex; 101 | flex-direction: column; 102 | justify-content: flex-start; 103 | align-items: flex-end; 104 | margin-right: 2rem; 105 | 106 | } 107 | 108 | .operating > div:last-child { 109 | align-items: flex-start; 110 | margin-left: 2rem; 111 | } 112 | 113 | .operating button { 114 | font-size: 1.5rem; 115 | background-color: #0070f3; 116 | border-radius: 5px; 117 | color: white; 118 | padding: 5px 10px; 119 | cursor: pointer; 120 | border: 0; 121 | } 122 | 123 | .operating button:hover { 124 | background-color: #1373e4; 125 | } 126 | .operating button:active { 127 | background-color: #1f6bc3; 128 | } 129 | 130 | .operating button:disabled { 131 | background-color: #eaeaea; 132 | cursor: not-allowed; 133 | } 134 | 135 | .noselect { 136 | -webkit-touch-callout: none; /* iOS Safari */ 137 | -webkit-user-select: none; /* Safari */ 138 | -khtml-user-select: none; /* Konqueror HTML */ 139 | -moz-user-select: none; /* Old versions of Firefox */ 140 | -ms-user-select: none; /* Internet Explorer/Edge */ 141 | user-select: none; /* Non-prefixed version, currently 142 | supported by Chrome, Edge, Opera and Firefox */ 143 | } 144 | 145 | .thumb { 146 | margin-top: 1rem; 147 | } 148 | 149 | .thumb img { 150 | max-width: 100%; 151 | } 152 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | -------------------------------------------------------------------------------- /tencent-scf-wasmedge-runtime.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/second-state/tencent-scf-wasm-runtime/a3cf0a8401747e64b680ade0cfadf0da30751061/tencent-scf-wasmedge-runtime.gif -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.14.5": 13 | version "7.14.8" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" 15 | integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 20 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.5" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@babel/runtime@7.12.5": 27 | version "7.12.5" 28 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" 29 | integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== 30 | dependencies: 31 | regenerator-runtime "^0.13.4" 32 | 33 | "@babel/types@7.8.3": 34 | version "7.8.3" 35 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" 36 | integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== 37 | dependencies: 38 | esutils "^2.0.2" 39 | lodash "^4.17.13" 40 | to-fast-properties "^2.0.0" 41 | 42 | "@hapi/accept@5.0.2": 43 | version "5.0.2" 44 | resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" 45 | integrity sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw== 46 | dependencies: 47 | "@hapi/boom" "9.x.x" 48 | "@hapi/hoek" "9.x.x" 49 | 50 | "@hapi/boom@9.x.x": 51 | version "9.1.3" 52 | resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.3.tgz#22cad56e39b7a4819161a99b1db19eaaa9b6cc6e" 53 | integrity sha512-RlrGyZ603hE/eRTZtTltocRm50HHmrmL3kGOP0SQ9MasazlW1mt/fkv4C5P/6rnpFXjwld/POFX1C8tMZE3ldg== 54 | dependencies: 55 | "@hapi/hoek" "9.x.x" 56 | 57 | "@hapi/hoek@9.x.x": 58 | version "9.2.0" 59 | resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" 60 | integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== 61 | 62 | "@next/env@10.2.3": 63 | version "10.2.3" 64 | resolved "https://registry.yarnpkg.com/@next/env/-/env-10.2.3.tgz#ede3bbe68cec9939c37168ea2077f9adbc68334e" 65 | integrity sha512-uBOjRBjsWC4C8X3DfmWWP6ekwLnf2JCCwQX9KVnJtJkqfDsv1yQPakdOEwvJzXQc3JC/v5KKffYPVmV2wHXCgQ== 66 | 67 | "@next/polyfill-module@10.2.3": 68 | version "10.2.3" 69 | resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.2.3.tgz#5a29f50c3ce3a56b8268d3b8331c691d8039467a" 70 | integrity sha512-OkeY4cLhzfYbXxM4fd+6V4s5pTPuyfKSlavItfNRA6PpS7t1/R6YjO7S7rB8tu1pbTGuDHGIdE1ioDv15bAbDQ== 71 | 72 | "@next/react-dev-overlay@10.2.3": 73 | version "10.2.3" 74 | resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.2.3.tgz#95313d10a8848f6c7b9e31ae3bd2a3627d136841" 75 | integrity sha512-E6g2jws4YW94l0lMMopBVKIZK2mEHfSBvM0d9dmzKG9L/A/kEq6LZCB4SiwGJbNsAdlk2y3USDa0oNbpA+m5Kw== 76 | dependencies: 77 | "@babel/code-frame" "7.12.11" 78 | anser "1.4.9" 79 | chalk "4.0.0" 80 | classnames "2.2.6" 81 | css.escape "1.5.1" 82 | data-uri-to-buffer "3.0.1" 83 | platform "1.3.6" 84 | shell-quote "1.7.2" 85 | source-map "0.8.0-beta.0" 86 | stacktrace-parser "0.1.10" 87 | strip-ansi "6.0.0" 88 | 89 | "@next/react-refresh-utils@10.2.3": 90 | version "10.2.3" 91 | resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.2.3.tgz#2f3e42fe6680798f276e3621345c2886b231348b" 92 | integrity sha512-qtBF56vPC6d6a8p7LYd0iRjW89fhY80kAIzmj+VonvIGjK/nymBjcFUhbKiMFqlhsarCksnhwX+Zmn95Dw9qvA== 93 | 94 | "@opentelemetry/api@0.14.0": 95 | version "0.14.0" 96 | resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" 97 | integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ== 98 | dependencies: 99 | "@opentelemetry/context-base" "^0.14.0" 100 | 101 | "@opentelemetry/context-base@^0.14.0": 102 | version "0.14.0" 103 | resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" 104 | integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== 105 | 106 | "@types/node@*": 107 | version "16.4.3" 108 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.3.tgz#c01c1a215721f6dec71b47d88b4687463601ba48" 109 | integrity sha512-GKM4FLMkWDc0sfx7tXqPWkM6NBow1kge0fgQh0bOnlqo4iT1kvTvMEKE0c1RtUGnbLlGRXiAA8SumE//90uKAg== 110 | 111 | anser@1.4.9: 112 | version "1.4.9" 113 | resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" 114 | integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== 115 | 116 | ansi-regex@^5.0.0: 117 | version "5.0.0" 118 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 119 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 120 | 121 | ansi-styles@^3.2.1: 122 | version "3.2.1" 123 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 124 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 125 | dependencies: 126 | color-convert "^1.9.0" 127 | 128 | ansi-styles@^4.1.0: 129 | version "4.3.0" 130 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 131 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 132 | dependencies: 133 | color-convert "^2.0.1" 134 | 135 | anymatch@~3.1.1: 136 | version "3.1.2" 137 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 138 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 139 | dependencies: 140 | normalize-path "^3.0.0" 141 | picomatch "^2.0.4" 142 | 143 | asn1.js@^5.2.0: 144 | version "5.4.1" 145 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" 146 | integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== 147 | dependencies: 148 | bn.js "^4.0.0" 149 | inherits "^2.0.1" 150 | minimalistic-assert "^1.0.0" 151 | safer-buffer "^2.1.0" 152 | 153 | assert@2.0.0: 154 | version "2.0.0" 155 | resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" 156 | integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== 157 | dependencies: 158 | es6-object-assign "^1.1.0" 159 | is-nan "^1.2.1" 160 | object-is "^1.0.1" 161 | util "^0.12.0" 162 | 163 | assert@^1.1.1: 164 | version "1.5.0" 165 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" 166 | integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== 167 | dependencies: 168 | object-assign "^4.1.1" 169 | util "0.10.3" 170 | 171 | ast-types@0.13.2: 172 | version "0.13.2" 173 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" 174 | integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== 175 | 176 | available-typed-arrays@^1.0.2: 177 | version "1.0.4" 178 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" 179 | integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== 180 | 181 | babel-plugin-syntax-jsx@6.18.0: 182 | version "6.18.0" 183 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 184 | integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= 185 | 186 | base64-js@^1.0.2: 187 | version "1.5.1" 188 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 189 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 190 | 191 | big.js@^5.2.2: 192 | version "5.2.2" 193 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 194 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 195 | 196 | binary-extensions@^2.0.0: 197 | version "2.2.0" 198 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 199 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 200 | 201 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: 202 | version "4.12.0" 203 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 204 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 205 | 206 | bn.js@^5.0.0, bn.js@^5.1.1: 207 | version "5.2.0" 208 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" 209 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== 210 | 211 | braces@~3.0.2: 212 | version "3.0.2" 213 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 214 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 215 | dependencies: 216 | fill-range "^7.0.1" 217 | 218 | brorand@^1.0.1, brorand@^1.1.0: 219 | version "1.1.0" 220 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 221 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 222 | 223 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 224 | version "1.2.0" 225 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 226 | integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== 227 | dependencies: 228 | buffer-xor "^1.0.3" 229 | cipher-base "^1.0.0" 230 | create-hash "^1.1.0" 231 | evp_bytestokey "^1.0.3" 232 | inherits "^2.0.1" 233 | safe-buffer "^5.0.1" 234 | 235 | browserify-cipher@^1.0.0: 236 | version "1.0.1" 237 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 238 | integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== 239 | dependencies: 240 | browserify-aes "^1.0.4" 241 | browserify-des "^1.0.0" 242 | evp_bytestokey "^1.0.0" 243 | 244 | browserify-des@^1.0.0: 245 | version "1.0.2" 246 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" 247 | integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== 248 | dependencies: 249 | cipher-base "^1.0.1" 250 | des.js "^1.0.0" 251 | inherits "^2.0.1" 252 | safe-buffer "^5.1.2" 253 | 254 | browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: 255 | version "4.1.0" 256 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" 257 | integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== 258 | dependencies: 259 | bn.js "^5.0.0" 260 | randombytes "^2.0.1" 261 | 262 | browserify-sign@^4.0.0: 263 | version "4.2.1" 264 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" 265 | integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== 266 | dependencies: 267 | bn.js "^5.1.1" 268 | browserify-rsa "^4.0.1" 269 | create-hash "^1.2.0" 270 | create-hmac "^1.1.7" 271 | elliptic "^6.5.3" 272 | inherits "^2.0.4" 273 | parse-asn1 "^5.1.5" 274 | readable-stream "^3.6.0" 275 | safe-buffer "^5.2.0" 276 | 277 | browserify-zlib@0.2.0, browserify-zlib@^0.2.0: 278 | version "0.2.0" 279 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 280 | integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== 281 | dependencies: 282 | pako "~1.0.5" 283 | 284 | browserslist@4.16.6: 285 | version "4.16.6" 286 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 287 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 288 | dependencies: 289 | caniuse-lite "^1.0.30001219" 290 | colorette "^1.2.2" 291 | electron-to-chromium "^1.3.723" 292 | escalade "^3.1.1" 293 | node-releases "^1.1.71" 294 | 295 | buffer-xor@^1.0.3: 296 | version "1.0.3" 297 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 298 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= 299 | 300 | buffer@5.6.0: 301 | version "5.6.0" 302 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" 303 | integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== 304 | dependencies: 305 | base64-js "^1.0.2" 306 | ieee754 "^1.1.4" 307 | 308 | buffer@^4.3.0: 309 | version "4.9.2" 310 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" 311 | integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== 312 | dependencies: 313 | base64-js "^1.0.2" 314 | ieee754 "^1.1.4" 315 | isarray "^1.0.0" 316 | 317 | builtin-status-codes@^3.0.0: 318 | version "3.0.0" 319 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 320 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= 321 | 322 | bytes@3.1.0: 323 | version "3.1.0" 324 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 325 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 326 | 327 | call-bind@^1.0.0, call-bind@^1.0.2: 328 | version "1.0.2" 329 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 330 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 331 | dependencies: 332 | function-bind "^1.1.1" 333 | get-intrinsic "^1.0.2" 334 | 335 | caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228: 336 | version "1.0.30001247" 337 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001247.tgz#105be7a8fb30cdd303275e769a9dfb87d4b3577a" 338 | integrity sha512-4rS7co+7+AoOSPRPOPUt5/GdaqZc0EsUpWk66ofE3HJTAajUK2Ss2VwoNzVN69ghg8lYYlh0an0Iy4LIHHo9UQ== 339 | 340 | chalk@2.4.2, chalk@^2.0.0: 341 | version "2.4.2" 342 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 343 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 344 | dependencies: 345 | ansi-styles "^3.2.1" 346 | escape-string-regexp "^1.0.5" 347 | supports-color "^5.3.0" 348 | 349 | chalk@4.0.0: 350 | version "4.0.0" 351 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 352 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 353 | dependencies: 354 | ansi-styles "^4.1.0" 355 | supports-color "^7.1.0" 356 | 357 | chokidar@3.5.1: 358 | version "3.5.1" 359 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 360 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 361 | dependencies: 362 | anymatch "~3.1.1" 363 | braces "~3.0.2" 364 | glob-parent "~5.1.0" 365 | is-binary-path "~2.1.0" 366 | is-glob "~4.0.1" 367 | normalize-path "~3.0.0" 368 | readdirp "~3.5.0" 369 | optionalDependencies: 370 | fsevents "~2.3.1" 371 | 372 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 373 | version "1.0.4" 374 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 375 | integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== 376 | dependencies: 377 | inherits "^2.0.1" 378 | safe-buffer "^5.0.1" 379 | 380 | classnames@2.2.6: 381 | version "2.2.6" 382 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" 383 | integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== 384 | 385 | color-convert@^1.9.0: 386 | version "1.9.3" 387 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 388 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 389 | dependencies: 390 | color-name "1.1.3" 391 | 392 | color-convert@^2.0.1: 393 | version "2.0.1" 394 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 395 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 396 | dependencies: 397 | color-name "~1.1.4" 398 | 399 | color-name@1.1.3: 400 | version "1.1.3" 401 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 402 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 403 | 404 | color-name@~1.1.4: 405 | version "1.1.4" 406 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 407 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 408 | 409 | colorette@^1.2.2: 410 | version "1.2.2" 411 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 412 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 413 | 414 | commondir@^1.0.1: 415 | version "1.0.1" 416 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 417 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 418 | 419 | console-browserify@^1.1.0: 420 | version "1.2.0" 421 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" 422 | integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== 423 | 424 | constants-browserify@1.0.0, constants-browserify@^1.0.0: 425 | version "1.0.0" 426 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 427 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= 428 | 429 | convert-source-map@1.7.0: 430 | version "1.7.0" 431 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 432 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 433 | dependencies: 434 | safe-buffer "~5.1.1" 435 | 436 | core-util-is@~1.0.0: 437 | version "1.0.2" 438 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 439 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 440 | 441 | create-ecdh@^4.0.0: 442 | version "4.0.4" 443 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" 444 | integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== 445 | dependencies: 446 | bn.js "^4.1.0" 447 | elliptic "^6.5.3" 448 | 449 | create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: 450 | version "1.2.0" 451 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 452 | integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== 453 | dependencies: 454 | cipher-base "^1.0.1" 455 | inherits "^2.0.1" 456 | md5.js "^1.3.4" 457 | ripemd160 "^2.0.1" 458 | sha.js "^2.4.0" 459 | 460 | create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: 461 | version "1.1.7" 462 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 463 | integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== 464 | dependencies: 465 | cipher-base "^1.0.3" 466 | create-hash "^1.1.0" 467 | inherits "^2.0.1" 468 | ripemd160 "^2.0.0" 469 | safe-buffer "^5.0.1" 470 | sha.js "^2.4.8" 471 | 472 | crypto-browserify@3.12.0, crypto-browserify@^3.11.0: 473 | version "3.12.0" 474 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 475 | integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== 476 | dependencies: 477 | browserify-cipher "^1.0.0" 478 | browserify-sign "^4.0.0" 479 | create-ecdh "^4.0.0" 480 | create-hash "^1.1.0" 481 | create-hmac "^1.1.0" 482 | diffie-hellman "^5.0.0" 483 | inherits "^2.0.1" 484 | pbkdf2 "^3.0.3" 485 | public-encrypt "^4.0.0" 486 | randombytes "^2.0.0" 487 | randomfill "^1.0.3" 488 | 489 | css.escape@1.5.1: 490 | version "1.5.1" 491 | resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" 492 | integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= 493 | 494 | cssnano-preset-simple@^2.0.0: 495 | version "2.0.0" 496 | resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-2.0.0.tgz#b55e72cb970713f425560a0e141b0335249e2f96" 497 | integrity sha512-HkufSLkaBJbKBFx/7aj5HmCK9Ni/JedRQm0mT2qBzMG/dEuJOLnMt2lK6K1rwOOyV4j9aSY+knbW9WoS7BYpzg== 498 | dependencies: 499 | caniuse-lite "^1.0.30001202" 500 | 501 | cssnano-simple@2.0.0: 502 | version "2.0.0" 503 | resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-2.0.0.tgz#930d9dcd8ba105c5a62ce719cb00854da58b5c05" 504 | integrity sha512-0G3TXaFxlh/szPEG/o3VcmCwl0N3E60XNb9YZZijew5eIs6fLjJuOPxQd9yEBaX2p/YfJtt49i4vYi38iH6/6w== 505 | dependencies: 506 | cssnano-preset-simple "^2.0.0" 507 | 508 | data-uri-to-buffer@3.0.1: 509 | version "3.0.1" 510 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" 511 | integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== 512 | 513 | debug@2: 514 | version "2.6.9" 515 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 516 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 517 | dependencies: 518 | ms "2.0.0" 519 | 520 | define-properties@^1.1.3: 521 | version "1.1.3" 522 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 523 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 524 | dependencies: 525 | object-keys "^1.0.12" 526 | 527 | depd@~1.1.2: 528 | version "1.1.2" 529 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 530 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 531 | 532 | des.js@^1.0.0: 533 | version "1.0.1" 534 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" 535 | integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== 536 | dependencies: 537 | inherits "^2.0.1" 538 | minimalistic-assert "^1.0.0" 539 | 540 | diffie-hellman@^5.0.0: 541 | version "5.0.3" 542 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 543 | integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== 544 | dependencies: 545 | bn.js "^4.1.0" 546 | miller-rabin "^4.0.0" 547 | randombytes "^2.0.0" 548 | 549 | domain-browser@4.19.0: 550 | version "4.19.0" 551 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" 552 | integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== 553 | 554 | domain-browser@^1.1.1: 555 | version "1.2.0" 556 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 557 | integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== 558 | 559 | electron-to-chromium@^1.3.723: 560 | version "1.3.786" 561 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.786.tgz#1fc572abc77e2f474725f8a61acf7e25ced9fbe2" 562 | integrity sha512-AmvbLBj3hepRk8v/DHrFF8gINxOFfDbrn6Ts3PcK46/FBdQb5OMmpamSpZQXSkfi77FfBzYtQtAk+00LCLYMVw== 563 | 564 | elliptic@^6.5.3: 565 | version "6.5.4" 566 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 567 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 568 | dependencies: 569 | bn.js "^4.11.9" 570 | brorand "^1.1.0" 571 | hash.js "^1.0.0" 572 | hmac-drbg "^1.0.1" 573 | inherits "^2.0.4" 574 | minimalistic-assert "^1.0.1" 575 | minimalistic-crypto-utils "^1.0.1" 576 | 577 | emojis-list@^2.0.0: 578 | version "2.1.0" 579 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 580 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 581 | 582 | encoding@0.1.13: 583 | version "0.1.13" 584 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" 585 | integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== 586 | dependencies: 587 | iconv-lite "^0.6.2" 588 | 589 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: 590 | version "1.18.3" 591 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" 592 | integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== 593 | dependencies: 594 | call-bind "^1.0.2" 595 | es-to-primitive "^1.2.1" 596 | function-bind "^1.1.1" 597 | get-intrinsic "^1.1.1" 598 | has "^1.0.3" 599 | has-symbols "^1.0.2" 600 | is-callable "^1.2.3" 601 | is-negative-zero "^2.0.1" 602 | is-regex "^1.1.3" 603 | is-string "^1.0.6" 604 | object-inspect "^1.10.3" 605 | object-keys "^1.1.1" 606 | object.assign "^4.1.2" 607 | string.prototype.trimend "^1.0.4" 608 | string.prototype.trimstart "^1.0.4" 609 | unbox-primitive "^1.0.1" 610 | 611 | es-to-primitive@^1.2.1: 612 | version "1.2.1" 613 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 614 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 615 | dependencies: 616 | is-callable "^1.1.4" 617 | is-date-object "^1.0.1" 618 | is-symbol "^1.0.2" 619 | 620 | es6-object-assign@^1.1.0: 621 | version "1.1.0" 622 | resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" 623 | integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= 624 | 625 | escalade@^3.1.1: 626 | version "3.1.1" 627 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 628 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 629 | 630 | escape-string-regexp@^1.0.5: 631 | version "1.0.5" 632 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 633 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 634 | 635 | esutils@^2.0.2: 636 | version "2.0.3" 637 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 638 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 639 | 640 | etag@1.8.1: 641 | version "1.8.1" 642 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 643 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 644 | 645 | events@^3.0.0: 646 | version "3.3.0" 647 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 648 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 649 | 650 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 651 | version "1.0.3" 652 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 653 | integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== 654 | dependencies: 655 | md5.js "^1.3.4" 656 | safe-buffer "^5.1.1" 657 | 658 | fill-range@^7.0.1: 659 | version "7.0.1" 660 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 661 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 662 | dependencies: 663 | to-regex-range "^5.0.1" 664 | 665 | find-cache-dir@3.3.1: 666 | version "3.3.1" 667 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" 668 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== 669 | dependencies: 670 | commondir "^1.0.1" 671 | make-dir "^3.0.2" 672 | pkg-dir "^4.1.0" 673 | 674 | find-up@^4.0.0: 675 | version "4.1.0" 676 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 677 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 678 | dependencies: 679 | locate-path "^5.0.0" 680 | path-exists "^4.0.0" 681 | 682 | foreach@^2.0.5: 683 | version "2.0.5" 684 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 685 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 686 | 687 | fsevents@~2.3.1: 688 | version "2.3.2" 689 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 690 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 691 | 692 | function-bind@^1.1.1: 693 | version "1.1.1" 694 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 695 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 696 | 697 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 698 | version "1.1.1" 699 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 700 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 701 | dependencies: 702 | function-bind "^1.1.1" 703 | has "^1.0.3" 704 | has-symbols "^1.0.1" 705 | 706 | get-orientation@1.1.2: 707 | version "1.1.2" 708 | resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947" 709 | integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ== 710 | dependencies: 711 | stream-parser "^0.3.1" 712 | 713 | glob-parent@~5.1.0: 714 | version "5.1.2" 715 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 716 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 717 | dependencies: 718 | is-glob "^4.0.1" 719 | 720 | glob-to-regexp@^0.4.1: 721 | version "0.4.1" 722 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 723 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 724 | 725 | graceful-fs@^4.1.2: 726 | version "4.2.6" 727 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 728 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 729 | 730 | has-bigints@^1.0.1: 731 | version "1.0.1" 732 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 733 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 734 | 735 | has-flag@^3.0.0: 736 | version "3.0.0" 737 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 738 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 739 | 740 | has-flag@^4.0.0: 741 | version "4.0.0" 742 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 743 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 744 | 745 | has-symbols@^1.0.1, has-symbols@^1.0.2: 746 | version "1.0.2" 747 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 748 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 749 | 750 | has@^1.0.3: 751 | version "1.0.3" 752 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 753 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 754 | dependencies: 755 | function-bind "^1.1.1" 756 | 757 | hash-base@^3.0.0: 758 | version "3.1.0" 759 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" 760 | integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== 761 | dependencies: 762 | inherits "^2.0.4" 763 | readable-stream "^3.6.0" 764 | safe-buffer "^5.2.0" 765 | 766 | hash.js@^1.0.0, hash.js@^1.0.3: 767 | version "1.1.7" 768 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 769 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 770 | dependencies: 771 | inherits "^2.0.3" 772 | minimalistic-assert "^1.0.1" 773 | 774 | he@1.2.0: 775 | version "1.2.0" 776 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 777 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 778 | 779 | hmac-drbg@^1.0.1: 780 | version "1.0.1" 781 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 782 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 783 | dependencies: 784 | hash.js "^1.0.3" 785 | minimalistic-assert "^1.0.0" 786 | minimalistic-crypto-utils "^1.0.1" 787 | 788 | http-errors@1.7.3: 789 | version "1.7.3" 790 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 791 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 792 | dependencies: 793 | depd "~1.1.2" 794 | inherits "2.0.4" 795 | setprototypeof "1.1.1" 796 | statuses ">= 1.5.0 < 2" 797 | toidentifier "1.0.0" 798 | 799 | https-browserify@1.0.0, https-browserify@^1.0.0: 800 | version "1.0.0" 801 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 802 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= 803 | 804 | iconv-lite@0.4.24: 805 | version "0.4.24" 806 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 807 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 808 | dependencies: 809 | safer-buffer ">= 2.1.2 < 3" 810 | 811 | iconv-lite@^0.6.2: 812 | version "0.6.3" 813 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 814 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 815 | dependencies: 816 | safer-buffer ">= 2.1.2 < 3.0.0" 817 | 818 | ieee754@^1.1.4: 819 | version "1.2.1" 820 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 821 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 822 | 823 | inherits@2.0.1: 824 | version "2.0.1" 825 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 826 | integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 827 | 828 | inherits@2.0.3: 829 | version "2.0.3" 830 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 831 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 832 | 833 | inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: 834 | version "2.0.4" 835 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 836 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 837 | 838 | is-arguments@^1.0.4: 839 | version "1.1.0" 840 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" 841 | integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== 842 | dependencies: 843 | call-bind "^1.0.0" 844 | 845 | is-bigint@^1.0.1: 846 | version "1.0.2" 847 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" 848 | integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== 849 | 850 | is-binary-path@~2.1.0: 851 | version "2.1.0" 852 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 853 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 854 | dependencies: 855 | binary-extensions "^2.0.0" 856 | 857 | is-boolean-object@^1.1.0: 858 | version "1.1.1" 859 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" 860 | integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== 861 | dependencies: 862 | call-bind "^1.0.2" 863 | 864 | is-callable@^1.1.4, is-callable@^1.2.3: 865 | version "1.2.3" 866 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 867 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 868 | 869 | is-date-object@^1.0.1: 870 | version "1.0.4" 871 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" 872 | integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== 873 | 874 | is-extglob@^2.1.1: 875 | version "2.1.1" 876 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 877 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 878 | 879 | is-generator-function@^1.0.7: 880 | version "1.0.9" 881 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c" 882 | integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== 883 | 884 | is-glob@^4.0.1, is-glob@~4.0.1: 885 | version "4.0.1" 886 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 887 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 888 | dependencies: 889 | is-extglob "^2.1.1" 890 | 891 | is-nan@^1.2.1: 892 | version "1.3.2" 893 | resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" 894 | integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== 895 | dependencies: 896 | call-bind "^1.0.0" 897 | define-properties "^1.1.3" 898 | 899 | is-negative-zero@^2.0.1: 900 | version "2.0.1" 901 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 902 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 903 | 904 | is-number-object@^1.0.4: 905 | version "1.0.5" 906 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" 907 | integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== 908 | 909 | is-number@^7.0.0: 910 | version "7.0.0" 911 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 912 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 913 | 914 | is-regex@^1.1.3: 915 | version "1.1.3" 916 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" 917 | integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== 918 | dependencies: 919 | call-bind "^1.0.2" 920 | has-symbols "^1.0.2" 921 | 922 | is-string@^1.0.5, is-string@^1.0.6: 923 | version "1.0.6" 924 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" 925 | integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== 926 | 927 | is-symbol@^1.0.2, is-symbol@^1.0.3: 928 | version "1.0.4" 929 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 930 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 931 | dependencies: 932 | has-symbols "^1.0.2" 933 | 934 | is-typed-array@^1.1.3: 935 | version "1.1.5" 936 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" 937 | integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== 938 | dependencies: 939 | available-typed-arrays "^1.0.2" 940 | call-bind "^1.0.2" 941 | es-abstract "^1.18.0-next.2" 942 | foreach "^2.0.5" 943 | has-symbols "^1.0.1" 944 | 945 | isarray@^1.0.0, isarray@~1.0.0: 946 | version "1.0.0" 947 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 948 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 949 | 950 | jest-worker@27.0.0-next.5: 951 | version "27.0.0-next.5" 952 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" 953 | integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g== 954 | dependencies: 955 | "@types/node" "*" 956 | merge-stream "^2.0.0" 957 | supports-color "^8.0.0" 958 | 959 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 960 | version "4.0.0" 961 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 962 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 963 | 964 | json5@^1.0.1: 965 | version "1.0.1" 966 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 967 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 968 | dependencies: 969 | minimist "^1.2.0" 970 | 971 | loader-utils@1.2.3: 972 | version "1.2.3" 973 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" 974 | integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== 975 | dependencies: 976 | big.js "^5.2.2" 977 | emojis-list "^2.0.0" 978 | json5 "^1.0.1" 979 | 980 | locate-path@^5.0.0: 981 | version "5.0.0" 982 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 983 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 984 | dependencies: 985 | p-locate "^4.1.0" 986 | 987 | lodash.sortby@^4.7.0: 988 | version "4.7.0" 989 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 990 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 991 | 992 | lodash@^4.17.13: 993 | version "4.17.21" 994 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 995 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 996 | 997 | loose-envify@^1.1.0, loose-envify@^1.4.0: 998 | version "1.4.0" 999 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1000 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1001 | dependencies: 1002 | js-tokens "^3.0.0 || ^4.0.0" 1003 | 1004 | make-dir@^3.0.2: 1005 | version "3.1.0" 1006 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1007 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1008 | dependencies: 1009 | semver "^6.0.0" 1010 | 1011 | md5.js@^1.3.4: 1012 | version "1.3.5" 1013 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" 1014 | integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== 1015 | dependencies: 1016 | hash-base "^3.0.0" 1017 | inherits "^2.0.1" 1018 | safe-buffer "^5.1.2" 1019 | 1020 | merge-stream@^2.0.0: 1021 | version "2.0.0" 1022 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1023 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1024 | 1025 | miller-rabin@^4.0.0: 1026 | version "4.0.1" 1027 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1028 | integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== 1029 | dependencies: 1030 | bn.js "^4.0.0" 1031 | brorand "^1.0.1" 1032 | 1033 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 1034 | version "1.0.1" 1035 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 1036 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 1037 | 1038 | minimalistic-crypto-utils@^1.0.1: 1039 | version "1.0.1" 1040 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 1041 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 1042 | 1043 | minimist@^1.2.0: 1044 | version "1.2.5" 1045 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1046 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1047 | 1048 | ms@2.0.0: 1049 | version "2.0.0" 1050 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1051 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1052 | 1053 | nanoid@^3.1.22: 1054 | version "3.1.23" 1055 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" 1056 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== 1057 | 1058 | native-url@0.3.4: 1059 | version "0.3.4" 1060 | resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.4.tgz#29c943172aed86c63cee62c8c04db7f5756661f8" 1061 | integrity sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA== 1062 | dependencies: 1063 | querystring "^0.2.0" 1064 | 1065 | next@10.x: 1066 | version "10.2.3" 1067 | resolved "https://registry.yarnpkg.com/next/-/next-10.2.3.tgz#5aa058a63626338cea91c198fda8f2715c058394" 1068 | integrity sha512-dkM1mIfnORtGyzw/Yme8RdqNxlCMZyi4Lqj56F01/yHbe1ZtOaJ0cyqqRB4RGiPhjGGh0319f8ddjDyO1605Ow== 1069 | dependencies: 1070 | "@babel/runtime" "7.12.5" 1071 | "@hapi/accept" "5.0.2" 1072 | "@next/env" "10.2.3" 1073 | "@next/polyfill-module" "10.2.3" 1074 | "@next/react-dev-overlay" "10.2.3" 1075 | "@next/react-refresh-utils" "10.2.3" 1076 | "@opentelemetry/api" "0.14.0" 1077 | assert "2.0.0" 1078 | ast-types "0.13.2" 1079 | browserify-zlib "0.2.0" 1080 | browserslist "4.16.6" 1081 | buffer "5.6.0" 1082 | caniuse-lite "^1.0.30001228" 1083 | chalk "2.4.2" 1084 | chokidar "3.5.1" 1085 | constants-browserify "1.0.0" 1086 | crypto-browserify "3.12.0" 1087 | cssnano-simple "2.0.0" 1088 | domain-browser "4.19.0" 1089 | encoding "0.1.13" 1090 | etag "1.8.1" 1091 | find-cache-dir "3.3.1" 1092 | get-orientation "1.1.2" 1093 | https-browserify "1.0.0" 1094 | jest-worker "27.0.0-next.5" 1095 | native-url "0.3.4" 1096 | node-fetch "2.6.1" 1097 | node-html-parser "1.4.9" 1098 | node-libs-browser "^2.2.1" 1099 | os-browserify "0.3.0" 1100 | p-limit "3.1.0" 1101 | path-browserify "1.0.1" 1102 | pnp-webpack-plugin "1.6.4" 1103 | postcss "8.2.13" 1104 | process "0.11.10" 1105 | prop-types "15.7.2" 1106 | querystring-es3 "0.2.1" 1107 | raw-body "2.4.1" 1108 | react-is "16.13.1" 1109 | react-refresh "0.8.3" 1110 | stream-browserify "3.0.0" 1111 | stream-http "3.1.1" 1112 | string_decoder "1.3.0" 1113 | styled-jsx "3.3.2" 1114 | timers-browserify "2.0.12" 1115 | tty-browserify "0.0.1" 1116 | use-subscription "1.5.1" 1117 | util "0.12.3" 1118 | vm-browserify "1.1.2" 1119 | watchpack "2.1.1" 1120 | 1121 | node-fetch@2.6.1: 1122 | version "2.6.1" 1123 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 1124 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1125 | 1126 | node-html-parser@1.4.9: 1127 | version "1.4.9" 1128 | resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" 1129 | integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== 1130 | dependencies: 1131 | he "1.2.0" 1132 | 1133 | node-libs-browser@^2.2.1: 1134 | version "2.2.1" 1135 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" 1136 | integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== 1137 | dependencies: 1138 | assert "^1.1.1" 1139 | browserify-zlib "^0.2.0" 1140 | buffer "^4.3.0" 1141 | console-browserify "^1.1.0" 1142 | constants-browserify "^1.0.0" 1143 | crypto-browserify "^3.11.0" 1144 | domain-browser "^1.1.1" 1145 | events "^3.0.0" 1146 | https-browserify "^1.0.0" 1147 | os-browserify "^0.3.0" 1148 | path-browserify "0.0.1" 1149 | process "^0.11.10" 1150 | punycode "^1.2.4" 1151 | querystring-es3 "^0.2.0" 1152 | readable-stream "^2.3.3" 1153 | stream-browserify "^2.0.1" 1154 | stream-http "^2.7.2" 1155 | string_decoder "^1.0.0" 1156 | timers-browserify "^2.0.4" 1157 | tty-browserify "0.0.0" 1158 | url "^0.11.0" 1159 | util "^0.11.0" 1160 | vm-browserify "^1.0.1" 1161 | 1162 | node-releases@^1.1.71: 1163 | version "1.1.73" 1164 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" 1165 | integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== 1166 | 1167 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1168 | version "3.0.0" 1169 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1170 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1171 | 1172 | object-assign@^4.1.1: 1173 | version "4.1.1" 1174 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1175 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1176 | 1177 | object-inspect@^1.10.3: 1178 | version "1.11.0" 1179 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" 1180 | integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== 1181 | 1182 | object-is@^1.0.1: 1183 | version "1.1.5" 1184 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 1185 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 1186 | dependencies: 1187 | call-bind "^1.0.2" 1188 | define-properties "^1.1.3" 1189 | 1190 | object-keys@^1.0.12, object-keys@^1.1.1: 1191 | version "1.1.1" 1192 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1193 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1194 | 1195 | object.assign@^4.1.2: 1196 | version "4.1.2" 1197 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1198 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1199 | dependencies: 1200 | call-bind "^1.0.0" 1201 | define-properties "^1.1.3" 1202 | has-symbols "^1.0.1" 1203 | object-keys "^1.1.1" 1204 | 1205 | os-browserify@0.3.0, os-browserify@^0.3.0: 1206 | version "0.3.0" 1207 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 1208 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= 1209 | 1210 | p-limit@3.1.0: 1211 | version "3.1.0" 1212 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1213 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1214 | dependencies: 1215 | yocto-queue "^0.1.0" 1216 | 1217 | p-limit@^2.2.0: 1218 | version "2.3.0" 1219 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1220 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1221 | dependencies: 1222 | p-try "^2.0.0" 1223 | 1224 | p-locate@^4.1.0: 1225 | version "4.1.0" 1226 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1227 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1228 | dependencies: 1229 | p-limit "^2.2.0" 1230 | 1231 | p-try@^2.0.0: 1232 | version "2.2.0" 1233 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1234 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1235 | 1236 | pako@~1.0.5: 1237 | version "1.0.11" 1238 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1239 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1240 | 1241 | parse-asn1@^5.0.0, parse-asn1@^5.1.5: 1242 | version "5.1.6" 1243 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" 1244 | integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== 1245 | dependencies: 1246 | asn1.js "^5.2.0" 1247 | browserify-aes "^1.0.0" 1248 | evp_bytestokey "^1.0.0" 1249 | pbkdf2 "^3.0.3" 1250 | safe-buffer "^5.1.1" 1251 | 1252 | path-browserify@0.0.1: 1253 | version "0.0.1" 1254 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" 1255 | integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== 1256 | 1257 | path-browserify@1.0.1: 1258 | version "1.0.1" 1259 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" 1260 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== 1261 | 1262 | path-exists@^4.0.0: 1263 | version "4.0.0" 1264 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1265 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1266 | 1267 | pbkdf2@^3.0.3: 1268 | version "3.1.2" 1269 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" 1270 | integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== 1271 | dependencies: 1272 | create-hash "^1.1.2" 1273 | create-hmac "^1.1.4" 1274 | ripemd160 "^2.0.1" 1275 | safe-buffer "^5.0.1" 1276 | sha.js "^2.4.8" 1277 | 1278 | picomatch@^2.0.4, picomatch@^2.2.1: 1279 | version "2.3.0" 1280 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1281 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1282 | 1283 | pkg-dir@^4.1.0: 1284 | version "4.2.0" 1285 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1286 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1287 | dependencies: 1288 | find-up "^4.0.0" 1289 | 1290 | platform@1.3.6: 1291 | version "1.3.6" 1292 | resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" 1293 | integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== 1294 | 1295 | pnp-webpack-plugin@1.6.4: 1296 | version "1.6.4" 1297 | resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" 1298 | integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== 1299 | dependencies: 1300 | ts-pnp "^1.1.6" 1301 | 1302 | postcss@8.2.13: 1303 | version "8.2.13" 1304 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.13.tgz#dbe043e26e3c068e45113b1ed6375d2d37e2129f" 1305 | integrity sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ== 1306 | dependencies: 1307 | colorette "^1.2.2" 1308 | nanoid "^3.1.22" 1309 | source-map "^0.6.1" 1310 | 1311 | process-nextick-args@~2.0.0: 1312 | version "2.0.1" 1313 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1314 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1315 | 1316 | process@0.11.10, process@^0.11.10: 1317 | version "0.11.10" 1318 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 1319 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= 1320 | 1321 | prop-types@15.7.2: 1322 | version "15.7.2" 1323 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" 1324 | integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== 1325 | dependencies: 1326 | loose-envify "^1.4.0" 1327 | object-assign "^4.1.1" 1328 | react-is "^16.8.1" 1329 | 1330 | public-encrypt@^4.0.0: 1331 | version "4.0.3" 1332 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" 1333 | integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== 1334 | dependencies: 1335 | bn.js "^4.1.0" 1336 | browserify-rsa "^4.0.0" 1337 | create-hash "^1.1.0" 1338 | parse-asn1 "^5.0.0" 1339 | randombytes "^2.0.1" 1340 | safe-buffer "^5.1.2" 1341 | 1342 | punycode@1.3.2: 1343 | version "1.3.2" 1344 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 1345 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= 1346 | 1347 | punycode@^1.2.4: 1348 | version "1.4.1" 1349 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1350 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 1351 | 1352 | punycode@^2.1.0: 1353 | version "2.1.1" 1354 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1355 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1356 | 1357 | querystring-es3@0.2.1, querystring-es3@^0.2.0: 1358 | version "0.2.1" 1359 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1360 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= 1361 | 1362 | querystring@0.2.0: 1363 | version "0.2.0" 1364 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 1365 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 1366 | 1367 | querystring@^0.2.0: 1368 | version "0.2.1" 1369 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" 1370 | integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== 1371 | 1372 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 1373 | version "2.1.0" 1374 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1375 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1376 | dependencies: 1377 | safe-buffer "^5.1.0" 1378 | 1379 | randomfill@^1.0.3: 1380 | version "1.0.4" 1381 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 1382 | integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== 1383 | dependencies: 1384 | randombytes "^2.0.5" 1385 | safe-buffer "^5.1.0" 1386 | 1387 | raw-body@2.4.1: 1388 | version "2.4.1" 1389 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" 1390 | integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== 1391 | dependencies: 1392 | bytes "3.1.0" 1393 | http-errors "1.7.3" 1394 | iconv-lite "0.4.24" 1395 | unpipe "1.0.0" 1396 | 1397 | react-dom@17.x: 1398 | version "17.0.2" 1399 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1400 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1401 | dependencies: 1402 | loose-envify "^1.1.0" 1403 | object-assign "^4.1.1" 1404 | scheduler "^0.20.2" 1405 | 1406 | react-is@16.13.1, react-is@^16.8.1: 1407 | version "16.13.1" 1408 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1409 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1410 | 1411 | react-refresh@0.8.3: 1412 | version "0.8.3" 1413 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" 1414 | integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== 1415 | 1416 | react@17.x: 1417 | version "17.0.2" 1418 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1419 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1420 | dependencies: 1421 | loose-envify "^1.1.0" 1422 | object-assign "^4.1.1" 1423 | 1424 | readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: 1425 | version "2.3.7" 1426 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 1427 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1428 | dependencies: 1429 | core-util-is "~1.0.0" 1430 | inherits "~2.0.3" 1431 | isarray "~1.0.0" 1432 | process-nextick-args "~2.0.0" 1433 | safe-buffer "~5.1.1" 1434 | string_decoder "~1.1.1" 1435 | util-deprecate "~1.0.1" 1436 | 1437 | readable-stream@^3.5.0, readable-stream@^3.6.0: 1438 | version "3.6.0" 1439 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1440 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1441 | dependencies: 1442 | inherits "^2.0.3" 1443 | string_decoder "^1.1.1" 1444 | util-deprecate "^1.0.1" 1445 | 1446 | readdirp@~3.5.0: 1447 | version "3.5.0" 1448 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1449 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1450 | dependencies: 1451 | picomatch "^2.2.1" 1452 | 1453 | regenerator-runtime@^0.13.4: 1454 | version "0.13.9" 1455 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1456 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1457 | 1458 | ripemd160@^2.0.0, ripemd160@^2.0.1: 1459 | version "2.0.2" 1460 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 1461 | integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== 1462 | dependencies: 1463 | hash-base "^3.0.0" 1464 | inherits "^2.0.1" 1465 | 1466 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: 1467 | version "5.2.1" 1468 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1469 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1470 | 1471 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1472 | version "5.1.2" 1473 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1474 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1475 | 1476 | "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: 1477 | version "2.1.2" 1478 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1479 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1480 | 1481 | scheduler@^0.20.2: 1482 | version "0.20.2" 1483 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1484 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1485 | dependencies: 1486 | loose-envify "^1.1.0" 1487 | object-assign "^4.1.1" 1488 | 1489 | semver@^6.0.0: 1490 | version "6.3.0" 1491 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1492 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1493 | 1494 | setimmediate@^1.0.4: 1495 | version "1.0.5" 1496 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1497 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= 1498 | 1499 | setprototypeof@1.1.1: 1500 | version "1.1.1" 1501 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1502 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1503 | 1504 | sha.js@^2.4.0, sha.js@^2.4.8: 1505 | version "2.4.11" 1506 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 1507 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 1508 | dependencies: 1509 | inherits "^2.0.1" 1510 | safe-buffer "^5.0.1" 1511 | 1512 | shell-quote@1.7.2: 1513 | version "1.7.2" 1514 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 1515 | integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 1516 | 1517 | source-map@0.7.3: 1518 | version "0.7.3" 1519 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 1520 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 1521 | 1522 | source-map@0.8.0-beta.0: 1523 | version "0.8.0-beta.0" 1524 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 1525 | integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 1526 | dependencies: 1527 | whatwg-url "^7.0.0" 1528 | 1529 | source-map@^0.6.1: 1530 | version "0.6.1" 1531 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1532 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1533 | 1534 | stacktrace-parser@0.1.10: 1535 | version "0.1.10" 1536 | resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" 1537 | integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== 1538 | dependencies: 1539 | type-fest "^0.7.1" 1540 | 1541 | "statuses@>= 1.5.0 < 2": 1542 | version "1.5.0" 1543 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1544 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1545 | 1546 | stream-browserify@3.0.0: 1547 | version "3.0.0" 1548 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" 1549 | integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== 1550 | dependencies: 1551 | inherits "~2.0.4" 1552 | readable-stream "^3.5.0" 1553 | 1554 | stream-browserify@^2.0.1: 1555 | version "2.0.2" 1556 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" 1557 | integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== 1558 | dependencies: 1559 | inherits "~2.0.1" 1560 | readable-stream "^2.0.2" 1561 | 1562 | stream-http@3.1.1: 1563 | version "3.1.1" 1564 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" 1565 | integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== 1566 | dependencies: 1567 | builtin-status-codes "^3.0.0" 1568 | inherits "^2.0.4" 1569 | readable-stream "^3.6.0" 1570 | xtend "^4.0.2" 1571 | 1572 | stream-http@^2.7.2: 1573 | version "2.8.3" 1574 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" 1575 | integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== 1576 | dependencies: 1577 | builtin-status-codes "^3.0.0" 1578 | inherits "^2.0.1" 1579 | readable-stream "^2.3.6" 1580 | to-arraybuffer "^1.0.0" 1581 | xtend "^4.0.0" 1582 | 1583 | stream-parser@^0.3.1: 1584 | version "0.3.1" 1585 | resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" 1586 | integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= 1587 | dependencies: 1588 | debug "2" 1589 | 1590 | string-hash@1.1.3: 1591 | version "1.1.3" 1592 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 1593 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 1594 | 1595 | string.prototype.trimend@^1.0.4: 1596 | version "1.0.4" 1597 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1598 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1599 | dependencies: 1600 | call-bind "^1.0.2" 1601 | define-properties "^1.1.3" 1602 | 1603 | string.prototype.trimstart@^1.0.4: 1604 | version "1.0.4" 1605 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1606 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1607 | dependencies: 1608 | call-bind "^1.0.2" 1609 | define-properties "^1.1.3" 1610 | 1611 | string_decoder@1.3.0, string_decoder@^1.0.0, string_decoder@^1.1.1: 1612 | version "1.3.0" 1613 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1614 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1615 | dependencies: 1616 | safe-buffer "~5.2.0" 1617 | 1618 | string_decoder@~1.1.1: 1619 | version "1.1.1" 1620 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1621 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1622 | dependencies: 1623 | safe-buffer "~5.1.0" 1624 | 1625 | strip-ansi@6.0.0: 1626 | version "6.0.0" 1627 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1628 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1629 | dependencies: 1630 | ansi-regex "^5.0.0" 1631 | 1632 | styled-jsx@3.3.2: 1633 | version "3.3.2" 1634 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-3.3.2.tgz#2474601a26670a6049fb4d3f94bd91695b3ce018" 1635 | integrity sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g== 1636 | dependencies: 1637 | "@babel/types" "7.8.3" 1638 | babel-plugin-syntax-jsx "6.18.0" 1639 | convert-source-map "1.7.0" 1640 | loader-utils "1.2.3" 1641 | source-map "0.7.3" 1642 | string-hash "1.1.3" 1643 | stylis "3.5.4" 1644 | stylis-rule-sheet "0.0.10" 1645 | 1646 | stylis-rule-sheet@0.0.10: 1647 | version "0.0.10" 1648 | resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" 1649 | integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== 1650 | 1651 | stylis@3.5.4: 1652 | version "3.5.4" 1653 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" 1654 | integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== 1655 | 1656 | supports-color@^5.3.0: 1657 | version "5.5.0" 1658 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1659 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1660 | dependencies: 1661 | has-flag "^3.0.0" 1662 | 1663 | supports-color@^7.1.0: 1664 | version "7.2.0" 1665 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1666 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1667 | dependencies: 1668 | has-flag "^4.0.0" 1669 | 1670 | supports-color@^8.0.0: 1671 | version "8.1.1" 1672 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1673 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1674 | dependencies: 1675 | has-flag "^4.0.0" 1676 | 1677 | timers-browserify@2.0.12, timers-browserify@^2.0.4: 1678 | version "2.0.12" 1679 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" 1680 | integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== 1681 | dependencies: 1682 | setimmediate "^1.0.4" 1683 | 1684 | to-arraybuffer@^1.0.0: 1685 | version "1.0.1" 1686 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 1687 | integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= 1688 | 1689 | to-fast-properties@^2.0.0: 1690 | version "2.0.0" 1691 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1692 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1693 | 1694 | to-regex-range@^5.0.1: 1695 | version "5.0.1" 1696 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1697 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1698 | dependencies: 1699 | is-number "^7.0.0" 1700 | 1701 | toidentifier@1.0.0: 1702 | version "1.0.0" 1703 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1704 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1705 | 1706 | tr46@^1.0.1: 1707 | version "1.0.1" 1708 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 1709 | integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= 1710 | dependencies: 1711 | punycode "^2.1.0" 1712 | 1713 | ts-pnp@^1.1.6: 1714 | version "1.2.0" 1715 | resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" 1716 | integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== 1717 | 1718 | tty-browserify@0.0.0: 1719 | version "0.0.0" 1720 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 1721 | integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= 1722 | 1723 | tty-browserify@0.0.1: 1724 | version "0.0.1" 1725 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" 1726 | integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== 1727 | 1728 | type-fest@^0.7.1: 1729 | version "0.7.1" 1730 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" 1731 | integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== 1732 | 1733 | unbox-primitive@^1.0.1: 1734 | version "1.0.1" 1735 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 1736 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 1737 | dependencies: 1738 | function-bind "^1.1.1" 1739 | has-bigints "^1.0.1" 1740 | has-symbols "^1.0.2" 1741 | which-boxed-primitive "^1.0.2" 1742 | 1743 | unpipe@1.0.0: 1744 | version "1.0.0" 1745 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1746 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1747 | 1748 | url@^0.11.0: 1749 | version "0.11.0" 1750 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 1751 | integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= 1752 | dependencies: 1753 | punycode "1.3.2" 1754 | querystring "0.2.0" 1755 | 1756 | use-subscription@1.5.1: 1757 | version "1.5.1" 1758 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 1759 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 1760 | dependencies: 1761 | object-assign "^4.1.1" 1762 | 1763 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1764 | version "1.0.2" 1765 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1766 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1767 | 1768 | util@0.10.3: 1769 | version "0.10.3" 1770 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 1771 | integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= 1772 | dependencies: 1773 | inherits "2.0.1" 1774 | 1775 | util@0.12.3: 1776 | version "0.12.3" 1777 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" 1778 | integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== 1779 | dependencies: 1780 | inherits "^2.0.3" 1781 | is-arguments "^1.0.4" 1782 | is-generator-function "^1.0.7" 1783 | is-typed-array "^1.1.3" 1784 | safe-buffer "^5.1.2" 1785 | which-typed-array "^1.1.2" 1786 | 1787 | util@^0.11.0: 1788 | version "0.11.1" 1789 | resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" 1790 | integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== 1791 | dependencies: 1792 | inherits "2.0.3" 1793 | 1794 | util@^0.12.0: 1795 | version "0.12.4" 1796 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" 1797 | integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== 1798 | dependencies: 1799 | inherits "^2.0.3" 1800 | is-arguments "^1.0.4" 1801 | is-generator-function "^1.0.7" 1802 | is-typed-array "^1.1.3" 1803 | safe-buffer "^5.1.2" 1804 | which-typed-array "^1.1.2" 1805 | 1806 | vm-browserify@1.1.2, vm-browserify@^1.0.1: 1807 | version "1.1.2" 1808 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" 1809 | integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== 1810 | 1811 | watchpack@2.1.1: 1812 | version "2.1.1" 1813 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" 1814 | integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== 1815 | dependencies: 1816 | glob-to-regexp "^0.4.1" 1817 | graceful-fs "^4.1.2" 1818 | 1819 | webidl-conversions@^4.0.2: 1820 | version "4.0.2" 1821 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 1822 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 1823 | 1824 | whatwg-url@^7.0.0: 1825 | version "7.1.0" 1826 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 1827 | integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 1828 | dependencies: 1829 | lodash.sortby "^4.7.0" 1830 | tr46 "^1.0.1" 1831 | webidl-conversions "^4.0.2" 1832 | 1833 | which-boxed-primitive@^1.0.2: 1834 | version "1.0.2" 1835 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1836 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1837 | dependencies: 1838 | is-bigint "^1.0.1" 1839 | is-boolean-object "^1.1.0" 1840 | is-number-object "^1.0.4" 1841 | is-string "^1.0.5" 1842 | is-symbol "^1.0.3" 1843 | 1844 | which-typed-array@^1.1.2: 1845 | version "1.1.4" 1846 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" 1847 | integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== 1848 | dependencies: 1849 | available-typed-arrays "^1.0.2" 1850 | call-bind "^1.0.0" 1851 | es-abstract "^1.18.0-next.1" 1852 | foreach "^2.0.5" 1853 | function-bind "^1.1.1" 1854 | has-symbols "^1.0.1" 1855 | is-typed-array "^1.1.3" 1856 | 1857 | xtend@^4.0.0, xtend@^4.0.2: 1858 | version "4.0.2" 1859 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1860 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1861 | 1862 | yocto-queue@^0.1.0: 1863 | version "0.1.0" 1864 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1865 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1866 | --------------------------------------------------------------------------------