Charlie Ruan commited on
Commit
8633710
·
1 Parent(s): 2819fb4

Update to be DeepSeek R1

Browse files
Files changed (6) hide show
  1. README.md +3 -2
  2. dist/index.js +0 -0
  3. index.html +13 -15
  4. package-lock.json +4 -5
  5. src/index.js +17 -3
  6. yarn.lock +21 -12
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: Webllm Llama 3.2 Chat
3
  emoji: 💬
4
  colorFrom: indigo
5
  colorTo: purple
@@ -8,4 +8,5 @@ pinned: false
8
  license: apache-2.0
9
  ---
10
 
11
- A space to chat with Llama 3.2 running locally in your browser, powered by [WebLLM](https://github.com/mlc-ai/web-llm/).
 
 
1
  ---
2
+ title: Webllm DeepSeek R1 Distill
3
  emoji: 💬
4
  colorFrom: indigo
5
  colorTo: purple
 
8
  license: apache-2.0
9
  ---
10
 
11
+ A space to chat with `DeepSeek-R1-Distill-Llama-8B` and `-Qwen-7B`.
12
+ The models run directly in your local browser, empowered by [WebLLM](https://github.com/mlc-ai/web-llm/), all WebGPU-accelerated.
dist/index.js CHANGED
The diff for this file is too large to render. See raw diff
 
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width" />
6
- <title>WebLLM Llama 3.2 Chat</title>
7
  <link rel="stylesheet" href="styles/katex.min.css" />
8
  <link
9
  rel="stylesheet"
@@ -14,21 +14,21 @@
14
 
15
  <body>
16
  <main>
17
- <h1>WebLLM Llama 3.2 Chat</h1>
18
  <p>
19
- This space enables AI chat with Llama 3.2 models directly in your local
20
- browser, empowered by WebLLM.
21
  </p>
22
 
23
  <h2>Step 1: Configure And Download Model</h2>
24
  <div class="card vertical">
25
  <form class="configure-form">
26
- <!-- Model Size -->
27
  <div class="form-group">
28
- <label for="model_size">Model Size:</label>
29
- <select id="model_size" name="model_size" value="1B">
30
- <option value="1B">1B</option>
31
- <option value="3B">3B</option>
32
  </select>
33
  </div>
34
 
@@ -38,8 +38,6 @@
38
  <select id="quantization" name="quantization" value="q4f16_1">
39
  <option value="q4f16_1">q4f16</option>
40
  <option value="q4f32_1">q4f32</option>
41
- <option value="q0f32">q0f32</option>
42
- <option value="q0f16">q0f16</option>
43
  </select>
44
  </div>
45
 
@@ -62,7 +60,7 @@
62
  <div class="form-group">
63
  <label for="temperature"
64
  >Temperature:
65
- <span id="temperature-value" class="range-value">1.00</span></label
66
  >
67
  <input
68
  type="range"
@@ -71,7 +69,7 @@
71
  min="0.0"
72
  max="1.0"
73
  step="0.01"
74
- value="1.0"
75
  oninput="document.getElementById('temperature-value').textContent = Number(this.value).toFixed(2)"
76
  />
77
  </div>
@@ -80,7 +78,7 @@
80
  <div class="form-group">
81
  <label for="top_p"
82
  >Top P:
83
- <span id="top_p-value" class="range-value">1.00</span></label
84
  >
85
  <input
86
  type="range"
@@ -89,7 +87,7 @@
89
  min="0.01"
90
  max="1.0"
91
  step="0.01"
92
- value="1.0"
93
  oninput="document.getElementById('top_p-value').textContent = Number(this.value).toFixed(2)"
94
  />
95
  </div>
 
3
  <head>
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width" />
6
+ <title>WebLLM DeepSeek R1 Distill</title>
7
  <link rel="stylesheet" href="styles/katex.min.css" />
8
  <link
9
  rel="stylesheet"
 
14
 
15
  <body>
16
  <main>
17
+ <h1>WebLLM DeepSeek R1 Distill</h1>
18
  <p>
19
+ A space to chat with DeepSeek-R1-Distill-Llama-8B and Qwen-7B.
20
+ The models run directly in your local browser, empowered by WebLLM, all WebGPU-accelerated.
21
  </p>
22
 
23
  <h2>Step 1: Configure And Download Model</h2>
24
  <div class="card vertical">
25
  <form class="configure-form">
26
+ <!-- Model -->
27
  <div class="form-group">
28
+ <label for="model">DeepSeek R1 Distill:</label>
29
+ <select id="model" name="model" value="Llama-8B">
30
+ <option value="Llama-8B">Llama-8B</option>
31
+ <option value="Qwen-7B">Qwen-7B</option>
32
  </select>
33
  </div>
34
 
 
38
  <select id="quantization" name="quantization" value="q4f16_1">
39
  <option value="q4f16_1">q4f16</option>
40
  <option value="q4f32_1">q4f32</option>
 
 
41
  </select>
42
  </div>
43
 
 
60
  <div class="form-group">
61
  <label for="temperature"
62
  >Temperature:
63
+ <span id="temperature-value" class="range-value">0.60</span></label
64
  >
65
  <input
66
  type="range"
 
69
  min="0.0"
70
  max="1.0"
71
  step="0.01"
72
+ value="0.6"
73
  oninput="document.getElementById('temperature-value').textContent = Number(this.value).toFixed(2)"
74
  />
75
  </div>
 
78
  <div class="form-group">
79
  <label for="top_p"
80
  >Top P:
81
+ <span id="top_p-value" class="range-value">0.95</span></label
82
  >
83
  <input
84
  type="range"
 
87
  min="0.01"
88
  max="1.0"
89
  step="0.01"
90
+ value="0.95"
91
  oninput="document.getElementById('top_p-value').textContent = Number(this.value).toFixed(2)"
92
  />
93
  </div>
package-lock.json CHANGED
@@ -10,9 +10,8 @@
10
  "dependencies": {
11
  "@babel/core": "^7.13.15",
12
  "@babel/preset-env": "^7.13.15",
13
- "@mlc-ai/web-llm": "^0.2.62",
14
  "katex": "^0.16.11",
15
- "loglevel": "^1.9.1",
16
  "rehype-highlight": "^7.0.0",
17
  "rehype-katex": "^7.0.0",
18
  "rehype-parse": "^9.0.0",
@@ -1657,9 +1656,9 @@
1657
  }
1658
  },
1659
  "node_modules/@mlc-ai/web-llm": {
1660
- "version": "0.2.62",
1661
- "resolved": "https://registry.npmjs.org/@mlc-ai/web-llm/-/web-llm-0.2.62.tgz",
1662
- "integrity": "sha512-biEYs13nfNjRa4GRVXRsnXLk/yCTslxSH3OjW/4PjoyvZcCtcIe4Aks20WnrMpJMz63ezE6noJF2fkFWStsI0A==",
1663
  "dependencies": {
1664
  "loglevel": "^1.9.1"
1665
  }
 
10
  "dependencies": {
11
  "@babel/core": "^7.13.15",
12
  "@babel/preset-env": "^7.13.15",
13
+ "@mlc-ai/web-llm": "^0.2.67",
14
  "katex": "^0.16.11",
 
15
  "rehype-highlight": "^7.0.0",
16
  "rehype-katex": "^7.0.0",
17
  "rehype-parse": "^9.0.0",
 
1656
  }
1657
  },
1658
  "node_modules/@mlc-ai/web-llm": {
1659
+ "version": "0.2.78",
1660
+ "resolved": "https://registry.npmjs.org/@mlc-ai/web-llm/-/web-llm-0.2.78.tgz",
1661
+ "integrity": "sha512-ptqDNzHnfDyNZj7vjp9IaY5U/QDweXMe5wNzErOmRT1gqj8AaMvcqbj7HroPDzhXJGM7BZpDjANV5MhXhKOosA==",
1662
  "dependencies": {
1663
  "loglevel": "^1.9.1"
1664
  }
src/index.js CHANGED
@@ -9,6 +9,17 @@ import RehypeKatex from "rehype-katex";
9
  import { unified } from "unified";
10
  import remarkMath from "remark-math";
11
  import rehypeHighlight from "rehype-highlight";
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  /*************** WebLLM logic ***************/
14
  const messageFormatter = unified()
@@ -17,13 +28,15 @@ const messageFormatter = unified()
17
  .use(remarkMath)
18
  .use(remarkGfm)
19
  .use(RemarkBreaks)
20
- .use(remarkRehype)
 
21
  .use(rehypeStringify)
22
  .use(RehypeKatex)
23
  .use(rehypeHighlight, {
24
  detect: true,
25
  ignoreMissing: true,
26
  });
 
27
  const messages = [
28
  {
29
  content: "You are a helpful AI agent helping users.",
@@ -44,7 +57,7 @@ engine.setLogLevel("INFO");
44
  engine.setInitProgressCallback(updateEngineInitProgressCallback);
45
 
46
  async function initializeWebLLMEngine() {
47
- const model_size = document.getElementById("model_size").value;
48
  const quantization = document.getElementById("quantization").value;
49
  const context_window_size = parseInt(document.getElementById("context").value);
50
  const temperature = parseFloat(document.getElementById("temperature").value);
@@ -53,7 +66,8 @@ async function initializeWebLLMEngine() {
53
  const frequency_penalty = parseFloat(document.getElementById("frequency_penalty").value);
54
 
55
  document.getElementById("download-status").classList.remove("hidden");
56
- const selectedModel = `Llama-3.2-${model_size}-Instruct-${quantization}-MLC`;
 
57
  const config = {
58
  temperature,
59
  top_p,
 
9
  import { unified } from "unified";
10
  import remarkMath from "remark-math";
11
  import rehypeHighlight from "rehype-highlight";
12
+ import { visit } from 'unist-util-visit';
13
+
14
+ // Add custom plugin to escape <think> tags
15
+ function escapeThinkTags() {
16
+ return (tree) => {
17
+ visit(tree, 'text', (node) => {
18
+ node.value = node.value.replace(/<think>/g, '&lt;think&gt;')
19
+ .replace(/<\/think>/g, '&lt;/think&gt;');
20
+ });
21
+ };
22
+ }
23
 
24
  /*************** WebLLM logic ***************/
25
  const messageFormatter = unified()
 
28
  .use(remarkMath)
29
  .use(remarkGfm)
30
  .use(RemarkBreaks)
31
+ .use(remarkRehype, { allowDangerousHtml: true })
32
+ .use(escapeThinkTags)
33
  .use(rehypeStringify)
34
  .use(RehypeKatex)
35
  .use(rehypeHighlight, {
36
  detect: true,
37
  ignoreMissing: true,
38
  });
39
+
40
  const messages = [
41
  {
42
  content: "You are a helpful AI agent helping users.",
 
57
  engine.setInitProgressCallback(updateEngineInitProgressCallback);
58
 
59
  async function initializeWebLLMEngine() {
60
+ const model = document.getElementById("model").value;
61
  const quantization = document.getElementById("quantization").value;
62
  const context_window_size = parseInt(document.getElementById("context").value);
63
  const temperature = parseFloat(document.getElementById("temperature").value);
 
66
  const frequency_penalty = parseFloat(document.getElementById("frequency_penalty").value);
67
 
68
  document.getElementById("download-status").classList.remove("hidden");
69
+
70
+ const selectedModel = `DeepSeek-R1-Distill-${model}-${quantization}-MLC`;
71
  const config = {
72
  temperature,
73
  top_p,
yarn.lock CHANGED
@@ -23,7 +23,7 @@
23
  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz"
24
  integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==
25
 
26
- "@babel/core@^7.13.15":
27
  version "7.25.2"
28
  resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz"
29
  integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
@@ -985,9 +985,9 @@
985
  "@jridgewell/sourcemap-codec" "^1.4.14"
986
 
987
  "@mlc-ai/web-llm@^0.2.67":
988
- version "0.2.67"
989
- resolved "https://registry.yarnpkg.com/@mlc-ai/web-llm/-/web-llm-0.2.67.tgz#ab6ea18fed10d129f1a9d234606ae909e0966a5e"
990
- integrity sha512-aS2uMKSvgj2qNc2441W4TQBUOOj5GdYHivq77XwU1V8YggibQDbPu6Fqwwj410RIVLPFXBfEOIJH0Bsf4Q7klQ==
991
  dependencies:
992
  loglevel "^1.9.1"
993
 
@@ -1065,7 +1065,7 @@
1065
  resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
1066
  integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
1067
 
1068
- "@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1":
1069
  version "1.12.1"
1070
  resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz"
1071
  integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
@@ -1166,7 +1166,7 @@
1166
  "@webassemblyjs/wasm-gen" "1.12.1"
1167
  "@webassemblyjs/wasm-parser" "1.12.1"
1168
 
1169
- "@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1":
1170
  version "1.12.1"
1171
  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
1172
  integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
@@ -1218,7 +1218,7 @@ acorn-import-attributes@^1.9.5:
1218
  resolved "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz"
1219
  integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==
1220
 
1221
- acorn@^8.7.1, acorn@^8.8.2:
1222
  version "8.12.1"
1223
  resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz"
1224
  integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
@@ -1228,7 +1228,7 @@ ajv-keywords@^3.5.2:
1228
  resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
1229
  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
1230
 
1231
- ajv@^6.12.4, ajv@^6.12.5:
1232
  version "6.12.6"
1233
  resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
1234
  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1289,7 +1289,7 @@ big.js@^5.2.2:
1289
  resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz"
1290
  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
1291
 
1292
- browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1:
1293
  version "4.23.3"
1294
  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz"
1295
  integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==
@@ -2690,7 +2690,16 @@ schema-utils@^2.6.5:
2690
  ajv "^6.12.4"
2691
  ajv-keywords "^3.5.2"
2692
 
2693
- schema-utils@^3.1.1, schema-utils@^3.2.0:
 
 
 
 
 
 
 
 
 
2694
  version "3.3.0"
2695
  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
2696
  integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
@@ -2964,7 +2973,7 @@ web-namespaces@^2.0.0:
2964
  resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz"
2965
  integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
2966
 
2967
- webpack-cli@^4.6.0:
2968
  version "4.10.0"
2969
  resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz"
2970
  integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==
@@ -2996,7 +3005,7 @@ webpack-sources@^3.2.3:
2996
  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
2997
  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
2998
 
2999
- webpack@^5.28.0:
3000
  version "5.93.0"
3001
  resolved "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz"
3002
  integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==
 
23
  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz"
24
  integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==
25
 
26
+ "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.13.15", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0":
27
  version "7.25.2"
28
  resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz"
29
  integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
 
985
  "@jridgewell/sourcemap-codec" "^1.4.14"
986
 
987
  "@mlc-ai/web-llm@^0.2.67":
988
+ version "0.2.78"
989
+ resolved "https://registry.npmjs.org/@mlc-ai/web-llm/-/web-llm-0.2.78.tgz"
990
+ integrity sha512-ptqDNzHnfDyNZj7vjp9IaY5U/QDweXMe5wNzErOmRT1gqj8AaMvcqbj7HroPDzhXJGM7BZpDjANV5MhXhKOosA==
991
  dependencies:
992
  loglevel "^1.9.1"
993
 
 
1065
  resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
1066
  integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
1067
 
1068
+ "@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1":
1069
  version "1.12.1"
1070
  resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz"
1071
  integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
 
1166
  "@webassemblyjs/wasm-gen" "1.12.1"
1167
  "@webassemblyjs/wasm-parser" "1.12.1"
1168
 
1169
+ "@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1":
1170
  version "1.12.1"
1171
  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
1172
  integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
 
1218
  resolved "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz"
1219
  integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==
1220
 
1221
+ acorn@^8, acorn@^8.7.1, acorn@^8.8.2:
1222
  version "8.12.1"
1223
  resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz"
1224
  integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
 
1228
  resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
1229
  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
1230
 
1231
+ ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
1232
  version "6.12.6"
1233
  resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
1234
  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
 
1289
  resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz"
1290
  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
1291
 
1292
+ browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1, "browserslist@>= 4.21.0":
1293
  version "4.23.3"
1294
  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz"
1295
  integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==
 
2690
  ajv "^6.12.4"
2691
  ajv-keywords "^3.5.2"
2692
 
2693
+ schema-utils@^3.1.1:
2694
+ version "3.3.0"
2695
+ resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
2696
+ integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
2697
+ dependencies:
2698
+ "@types/json-schema" "^7.0.8"
2699
+ ajv "^6.12.5"
2700
+ ajv-keywords "^3.5.2"
2701
+
2702
+ schema-utils@^3.2.0:
2703
  version "3.3.0"
2704
  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
2705
  integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
 
2973
  resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz"
2974
  integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
2975
 
2976
+ webpack-cli@^4.6.0, [email protected]:
2977
  version "4.10.0"
2978
  resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz"
2979
  integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==
 
3005
  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
3006
  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
3007
 
3008
+ webpack@^5.1.0, webpack@^5.28.0, webpack@>=2, "[email protected] || 5.x.x":
3009
  version "5.93.0"
3010
  resolved "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz"
3011
  integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==