Jensen-holm commited on
Commit
30dd301
·
1 Parent(s): 2ede36c

tailwind working in the app

Browse files
Files changed (10) hide show
  1. .gitignore +2 -14
  2. README.md +21 -3
  3. app.py +12 -0
  4. package-lock.json +998 -0
  5. package.json +5 -0
  6. requirements.txt +1 -0
  7. run.sh +3 -0
  8. static/src/input.css +4 -0
  9. tailwind.config.js +12 -0
  10. templates/index.html +18 -0
.gitignore CHANGED
@@ -128,19 +128,7 @@ dmypy.json
128
  # Pyre type checker
129
  .pyre/
130
 
131
- .idea
132
-
133
- .DS_Store
134
-
135
- # Ignore node_modules directory
136
- node_modules/
137
 
138
- # Ignore generated Tailwind CSS files
139
- public/build/
140
-
141
- # Ignore log files
142
- *.log
143
- npm-debug.log*
144
- yarn-debug.log*
145
- yarn-error.log*
146
 
 
128
  # Pyre type checker
129
  .pyre/
130
 
131
+ node_modules
 
 
 
 
 
132
 
133
+ .idea
 
 
 
 
 
 
 
134
 
README.md CHANGED
@@ -1,4 +1,22 @@
1
- # Data-Mining-Study
2
- Building out things I have learned in CIS-335 in order to prepare for final exam
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
- Trying my best to build most of this stuff purely off of my notes and lecture powerpoints
 
1
+ ## Flask-Tailwindcss-Template
2
+
3
+ ### Preparing for your project
4
+ 1. `git clone https://github.com/Jensen-holm/Flask-Tailwindcss-Template && cd Flask-Tailwindcss-Template` <br>
5
+ 2. `rm -rf .git` <br>
6
+ 3. `mv * ..` <br>
7
+ 4. `cd ..` <br>
8
+ 5. `rm -rf Flask-Tailwindcss-Template` <br>
9
+
10
+ ### Develop
11
+ 1. `pip3 install -r requirements.txt` <br>
12
+ 2. `npm install` <br>
13
+ (in one terminal window)
14
+ 3. `npx tailwindcss -i ./static/src/input.css -o ./static/dist/css/output.css --watch` <br>
15
+ <br>
16
+ (in another terminal window) <br>
17
+ 4. `python3 app.py` <br>
18
+
19
+ ### Prod
20
+ 1. `chmod +x run.sh` <br>
21
+ 2. `./run.sh` <br>
22
 
 
app.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, render_template
2
+
3
+ app = Flask(__name__)
4
+
5
+ @app.route("/")
6
+ @app.route("/index")
7
+ def index():
8
+ return render_template("index.html")
9
+
10
+ if __name__ == '__main__':
11
+ app.run(debug=True)
12
+
package-lock.json ADDED
@@ -0,0 +1,998 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "Flask-Skeleton",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "devDependencies": {
8
+ "tailwindcss": "^3.3.1"
9
+ }
10
+ },
11
+ "node_modules/@jridgewell/gen-mapping": {
12
+ "version": "0.3.3",
13
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
14
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
15
+ "dev": true,
16
+ "dependencies": {
17
+ "@jridgewell/set-array": "^1.0.1",
18
+ "@jridgewell/sourcemap-codec": "^1.4.10",
19
+ "@jridgewell/trace-mapping": "^0.3.9"
20
+ },
21
+ "engines": {
22
+ "node": ">=6.0.0"
23
+ }
24
+ },
25
+ "node_modules/@jridgewell/resolve-uri": {
26
+ "version": "3.1.0",
27
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
28
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
29
+ "dev": true,
30
+ "engines": {
31
+ "node": ">=6.0.0"
32
+ }
33
+ },
34
+ "node_modules/@jridgewell/set-array": {
35
+ "version": "1.1.2",
36
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
37
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
38
+ "dev": true,
39
+ "engines": {
40
+ "node": ">=6.0.0"
41
+ }
42
+ },
43
+ "node_modules/@jridgewell/sourcemap-codec": {
44
+ "version": "1.4.15",
45
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
46
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
47
+ "dev": true
48
+ },
49
+ "node_modules/@jridgewell/trace-mapping": {
50
+ "version": "0.3.18",
51
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
52
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
53
+ "dev": true,
54
+ "dependencies": {
55
+ "@jridgewell/resolve-uri": "3.1.0",
56
+ "@jridgewell/sourcemap-codec": "1.4.14"
57
+ }
58
+ },
59
+ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
60
+ "version": "1.4.14",
61
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
62
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
63
+ "dev": true
64
+ },
65
+ "node_modules/@nodelib/fs.scandir": {
66
+ "version": "2.1.5",
67
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
68
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
69
+ "dev": true,
70
+ "dependencies": {
71
+ "@nodelib/fs.stat": "2.0.5",
72
+ "run-parallel": "^1.1.9"
73
+ },
74
+ "engines": {
75
+ "node": ">= 8"
76
+ }
77
+ },
78
+ "node_modules/@nodelib/fs.stat": {
79
+ "version": "2.0.5",
80
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
81
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
82
+ "dev": true,
83
+ "engines": {
84
+ "node": ">= 8"
85
+ }
86
+ },
87
+ "node_modules/@nodelib/fs.walk": {
88
+ "version": "1.2.8",
89
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
90
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
91
+ "dev": true,
92
+ "dependencies": {
93
+ "@nodelib/fs.scandir": "2.1.5",
94
+ "fastq": "^1.6.0"
95
+ },
96
+ "engines": {
97
+ "node": ">= 8"
98
+ }
99
+ },
100
+ "node_modules/any-promise": {
101
+ "version": "1.3.0",
102
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
103
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
104
+ "dev": true
105
+ },
106
+ "node_modules/anymatch": {
107
+ "version": "3.1.3",
108
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
109
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
110
+ "dev": true,
111
+ "dependencies": {
112
+ "normalize-path": "^3.0.0",
113
+ "picomatch": "^2.0.4"
114
+ },
115
+ "engines": {
116
+ "node": ">= 8"
117
+ }
118
+ },
119
+ "node_modules/arg": {
120
+ "version": "5.0.2",
121
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
122
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
123
+ "dev": true
124
+ },
125
+ "node_modules/balanced-match": {
126
+ "version": "1.0.2",
127
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
128
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
129
+ "dev": true
130
+ },
131
+ "node_modules/binary-extensions": {
132
+ "version": "2.2.0",
133
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
134
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
135
+ "dev": true,
136
+ "engines": {
137
+ "node": ">=8"
138
+ }
139
+ },
140
+ "node_modules/brace-expansion": {
141
+ "version": "1.1.11",
142
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
143
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
144
+ "dev": true,
145
+ "dependencies": {
146
+ "balanced-match": "^1.0.0",
147
+ "concat-map": "0.0.1"
148
+ }
149
+ },
150
+ "node_modules/braces": {
151
+ "version": "3.0.2",
152
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
153
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
154
+ "dev": true,
155
+ "dependencies": {
156
+ "fill-range": "^7.0.1"
157
+ },
158
+ "engines": {
159
+ "node": ">=8"
160
+ }
161
+ },
162
+ "node_modules/camelcase-css": {
163
+ "version": "2.0.1",
164
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
165
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
166
+ "dev": true,
167
+ "engines": {
168
+ "node": ">= 6"
169
+ }
170
+ },
171
+ "node_modules/chokidar": {
172
+ "version": "3.5.3",
173
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
174
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
175
+ "dev": true,
176
+ "funding": [
177
+ {
178
+ "type": "individual",
179
+ "url": "https://paulmillr.com/funding/"
180
+ }
181
+ ],
182
+ "dependencies": {
183
+ "anymatch": "~3.1.2",
184
+ "braces": "~3.0.2",
185
+ "glob-parent": "~5.1.2",
186
+ "is-binary-path": "~2.1.0",
187
+ "is-glob": "~4.0.1",
188
+ "normalize-path": "~3.0.0",
189
+ "readdirp": "~3.6.0"
190
+ },
191
+ "engines": {
192
+ "node": ">= 8.10.0"
193
+ },
194
+ "optionalDependencies": {
195
+ "fsevents": "~2.3.2"
196
+ }
197
+ },
198
+ "node_modules/chokidar/node_modules/glob-parent": {
199
+ "version": "5.1.2",
200
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
201
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
202
+ "dev": true,
203
+ "dependencies": {
204
+ "is-glob": "^4.0.1"
205
+ },
206
+ "engines": {
207
+ "node": ">= 6"
208
+ }
209
+ },
210
+ "node_modules/color-name": {
211
+ "version": "1.1.4",
212
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
213
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
214
+ "dev": true
215
+ },
216
+ "node_modules/commander": {
217
+ "version": "4.1.1",
218
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
219
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
220
+ "dev": true,
221
+ "engines": {
222
+ "node": ">= 6"
223
+ }
224
+ },
225
+ "node_modules/concat-map": {
226
+ "version": "0.0.1",
227
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
228
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
229
+ "dev": true
230
+ },
231
+ "node_modules/cssesc": {
232
+ "version": "3.0.0",
233
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
234
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
235
+ "dev": true,
236
+ "bin": {
237
+ "cssesc": "bin/cssesc"
238
+ },
239
+ "engines": {
240
+ "node": ">=4"
241
+ }
242
+ },
243
+ "node_modules/didyoumean": {
244
+ "version": "1.2.2",
245
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
246
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
247
+ "dev": true
248
+ },
249
+ "node_modules/dlv": {
250
+ "version": "1.1.3",
251
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
252
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
253
+ "dev": true
254
+ },
255
+ "node_modules/fast-glob": {
256
+ "version": "3.2.12",
257
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
258
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
259
+ "dev": true,
260
+ "dependencies": {
261
+ "@nodelib/fs.stat": "^2.0.2",
262
+ "@nodelib/fs.walk": "^1.2.3",
263
+ "glob-parent": "^5.1.2",
264
+ "merge2": "^1.3.0",
265
+ "micromatch": "^4.0.4"
266
+ },
267
+ "engines": {
268
+ "node": ">=8.6.0"
269
+ }
270
+ },
271
+ "node_modules/fast-glob/node_modules/glob-parent": {
272
+ "version": "5.1.2",
273
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
274
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
275
+ "dev": true,
276
+ "dependencies": {
277
+ "is-glob": "^4.0.1"
278
+ },
279
+ "engines": {
280
+ "node": ">= 6"
281
+ }
282
+ },
283
+ "node_modules/fastq": {
284
+ "version": "1.15.0",
285
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
286
+ "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
287
+ "dev": true,
288
+ "dependencies": {
289
+ "reusify": "^1.0.4"
290
+ }
291
+ },
292
+ "node_modules/fill-range": {
293
+ "version": "7.0.1",
294
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
295
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
296
+ "dev": true,
297
+ "dependencies": {
298
+ "to-regex-range": "^5.0.1"
299
+ },
300
+ "engines": {
301
+ "node": ">=8"
302
+ }
303
+ },
304
+ "node_modules/fs.realpath": {
305
+ "version": "1.0.0",
306
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
307
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
308
+ "dev": true
309
+ },
310
+ "node_modules/fsevents": {
311
+ "version": "2.3.2",
312
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
313
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
314
+ "dev": true,
315
+ "hasInstallScript": true,
316
+ "optional": true,
317
+ "os": [
318
+ "darwin"
319
+ ],
320
+ "engines": {
321
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
322
+ }
323
+ },
324
+ "node_modules/function-bind": {
325
+ "version": "1.1.1",
326
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
327
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
328
+ "dev": true
329
+ },
330
+ "node_modules/glob": {
331
+ "version": "7.1.6",
332
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
333
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
334
+ "dev": true,
335
+ "dependencies": {
336
+ "fs.realpath": "^1.0.0",
337
+ "inflight": "^1.0.4",
338
+ "inherits": "2",
339
+ "minimatch": "^3.0.4",
340
+ "once": "^1.3.0",
341
+ "path-is-absolute": "^1.0.0"
342
+ },
343
+ "engines": {
344
+ "node": "*"
345
+ },
346
+ "funding": {
347
+ "url": "https://github.com/sponsors/isaacs"
348
+ }
349
+ },
350
+ "node_modules/glob-parent": {
351
+ "version": "6.0.2",
352
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
353
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
354
+ "dev": true,
355
+ "dependencies": {
356
+ "is-glob": "^4.0.3"
357
+ },
358
+ "engines": {
359
+ "node": ">=10.13.0"
360
+ }
361
+ },
362
+ "node_modules/has": {
363
+ "version": "1.0.3",
364
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
365
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
366
+ "dev": true,
367
+ "dependencies": {
368
+ "function-bind": "^1.1.1"
369
+ },
370
+ "engines": {
371
+ "node": ">= 0.4.0"
372
+ }
373
+ },
374
+ "node_modules/inflight": {
375
+ "version": "1.0.6",
376
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
377
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
378
+ "dev": true,
379
+ "dependencies": {
380
+ "once": "^1.3.0",
381
+ "wrappy": "1"
382
+ }
383
+ },
384
+ "node_modules/inherits": {
385
+ "version": "2.0.4",
386
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
387
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
388
+ "dev": true
389
+ },
390
+ "node_modules/is-binary-path": {
391
+ "version": "2.1.0",
392
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
393
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
394
+ "dev": true,
395
+ "dependencies": {
396
+ "binary-extensions": "^2.0.0"
397
+ },
398
+ "engines": {
399
+ "node": ">=8"
400
+ }
401
+ },
402
+ "node_modules/is-core-module": {
403
+ "version": "2.12.0",
404
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
405
+ "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
406
+ "dev": true,
407
+ "dependencies": {
408
+ "has": "^1.0.3"
409
+ },
410
+ "funding": {
411
+ "url": "https://github.com/sponsors/ljharb"
412
+ }
413
+ },
414
+ "node_modules/is-extglob": {
415
+ "version": "2.1.1",
416
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
417
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
418
+ "dev": true,
419
+ "engines": {
420
+ "node": ">=0.10.0"
421
+ }
422
+ },
423
+ "node_modules/is-glob": {
424
+ "version": "4.0.3",
425
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
426
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
427
+ "dev": true,
428
+ "dependencies": {
429
+ "is-extglob": "^2.1.1"
430
+ },
431
+ "engines": {
432
+ "node": ">=0.10.0"
433
+ }
434
+ },
435
+ "node_modules/is-number": {
436
+ "version": "7.0.0",
437
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
438
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
439
+ "dev": true,
440
+ "engines": {
441
+ "node": ">=0.12.0"
442
+ }
443
+ },
444
+ "node_modules/jiti": {
445
+ "version": "1.18.2",
446
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
447
+ "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
448
+ "dev": true,
449
+ "bin": {
450
+ "jiti": "bin/jiti.js"
451
+ }
452
+ },
453
+ "node_modules/lilconfig": {
454
+ "version": "2.1.0",
455
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
456
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
457
+ "dev": true,
458
+ "engines": {
459
+ "node": ">=10"
460
+ }
461
+ },
462
+ "node_modules/lines-and-columns": {
463
+ "version": "1.2.4",
464
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
465
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
466
+ "dev": true
467
+ },
468
+ "node_modules/merge2": {
469
+ "version": "1.4.1",
470
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
471
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
472
+ "dev": true,
473
+ "engines": {
474
+ "node": ">= 8"
475
+ }
476
+ },
477
+ "node_modules/micromatch": {
478
+ "version": "4.0.5",
479
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
480
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
481
+ "dev": true,
482
+ "dependencies": {
483
+ "braces": "^3.0.2",
484
+ "picomatch": "^2.3.1"
485
+ },
486
+ "engines": {
487
+ "node": ">=8.6"
488
+ }
489
+ },
490
+ "node_modules/minimatch": {
491
+ "version": "3.1.2",
492
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
493
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
494
+ "dev": true,
495
+ "dependencies": {
496
+ "brace-expansion": "^1.1.7"
497
+ },
498
+ "engines": {
499
+ "node": "*"
500
+ }
501
+ },
502
+ "node_modules/mz": {
503
+ "version": "2.7.0",
504
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
505
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
506
+ "dev": true,
507
+ "dependencies": {
508
+ "any-promise": "^1.0.0",
509
+ "object-assign": "^4.0.1",
510
+ "thenify-all": "^1.0.0"
511
+ }
512
+ },
513
+ "node_modules/nanoid": {
514
+ "version": "3.3.6",
515
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
516
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
517
+ "dev": true,
518
+ "funding": [
519
+ {
520
+ "type": "github",
521
+ "url": "https://github.com/sponsors/ai"
522
+ }
523
+ ],
524
+ "bin": {
525
+ "nanoid": "bin/nanoid.cjs"
526
+ },
527
+ "engines": {
528
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
529
+ }
530
+ },
531
+ "node_modules/normalize-path": {
532
+ "version": "3.0.0",
533
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
534
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
535
+ "dev": true,
536
+ "engines": {
537
+ "node": ">=0.10.0"
538
+ }
539
+ },
540
+ "node_modules/object-assign": {
541
+ "version": "4.1.1",
542
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
543
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
544
+ "dev": true,
545
+ "engines": {
546
+ "node": ">=0.10.0"
547
+ }
548
+ },
549
+ "node_modules/object-hash": {
550
+ "version": "3.0.0",
551
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
552
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
553
+ "dev": true,
554
+ "engines": {
555
+ "node": ">= 6"
556
+ }
557
+ },
558
+ "node_modules/once": {
559
+ "version": "1.4.0",
560
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
561
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
562
+ "dev": true,
563
+ "dependencies": {
564
+ "wrappy": "1"
565
+ }
566
+ },
567
+ "node_modules/path-is-absolute": {
568
+ "version": "1.0.1",
569
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
570
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
571
+ "dev": true,
572
+ "engines": {
573
+ "node": ">=0.10.0"
574
+ }
575
+ },
576
+ "node_modules/path-parse": {
577
+ "version": "1.0.7",
578
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
579
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
580
+ "dev": true
581
+ },
582
+ "node_modules/picocolors": {
583
+ "version": "1.0.0",
584
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
585
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
586
+ "dev": true
587
+ },
588
+ "node_modules/picomatch": {
589
+ "version": "2.3.1",
590
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
591
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
592
+ "dev": true,
593
+ "engines": {
594
+ "node": ">=8.6"
595
+ },
596
+ "funding": {
597
+ "url": "https://github.com/sponsors/jonschlinkert"
598
+ }
599
+ },
600
+ "node_modules/pify": {
601
+ "version": "2.3.0",
602
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
603
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
604
+ "dev": true,
605
+ "engines": {
606
+ "node": ">=0.10.0"
607
+ }
608
+ },
609
+ "node_modules/pirates": {
610
+ "version": "4.0.5",
611
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
612
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
613
+ "dev": true,
614
+ "engines": {
615
+ "node": ">= 6"
616
+ }
617
+ },
618
+ "node_modules/postcss": {
619
+ "version": "8.4.23",
620
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
621
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
622
+ "dev": true,
623
+ "funding": [
624
+ {
625
+ "type": "opencollective",
626
+ "url": "https://opencollective.com/postcss/"
627
+ },
628
+ {
629
+ "type": "tidelift",
630
+ "url": "https://tidelift.com/funding/github/npm/postcss"
631
+ },
632
+ {
633
+ "type": "github",
634
+ "url": "https://github.com/sponsors/ai"
635
+ }
636
+ ],
637
+ "dependencies": {
638
+ "nanoid": "^3.3.6",
639
+ "picocolors": "^1.0.0",
640
+ "source-map-js": "^1.0.2"
641
+ },
642
+ "engines": {
643
+ "node": "^10 || ^12 || >=14"
644
+ }
645
+ },
646
+ "node_modules/postcss-import": {
647
+ "version": "14.1.0",
648
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
649
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
650
+ "dev": true,
651
+ "dependencies": {
652
+ "postcss-value-parser": "^4.0.0",
653
+ "read-cache": "^1.0.0",
654
+ "resolve": "^1.1.7"
655
+ },
656
+ "engines": {
657
+ "node": ">=10.0.0"
658
+ },
659
+ "peerDependencies": {
660
+ "postcss": "^8.0.0"
661
+ }
662
+ },
663
+ "node_modules/postcss-js": {
664
+ "version": "4.0.1",
665
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
666
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
667
+ "dev": true,
668
+ "dependencies": {
669
+ "camelcase-css": "^2.0.1"
670
+ },
671
+ "engines": {
672
+ "node": "^12 || ^14 || >= 16"
673
+ },
674
+ "funding": {
675
+ "type": "opencollective",
676
+ "url": "https://opencollective.com/postcss/"
677
+ },
678
+ "peerDependencies": {
679
+ "postcss": "^8.4.21"
680
+ }
681
+ },
682
+ "node_modules/postcss-load-config": {
683
+ "version": "3.1.4",
684
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
685
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
686
+ "dev": true,
687
+ "dependencies": {
688
+ "lilconfig": "^2.0.5",
689
+ "yaml": "^1.10.2"
690
+ },
691
+ "engines": {
692
+ "node": ">= 10"
693
+ },
694
+ "funding": {
695
+ "type": "opencollective",
696
+ "url": "https://opencollective.com/postcss/"
697
+ },
698
+ "peerDependencies": {
699
+ "postcss": ">=8.0.9",
700
+ "ts-node": ">=9.0.0"
701
+ },
702
+ "peerDependenciesMeta": {
703
+ "postcss": {
704
+ "optional": true
705
+ },
706
+ "ts-node": {
707
+ "optional": true
708
+ }
709
+ }
710
+ },
711
+ "node_modules/postcss-nested": {
712
+ "version": "6.0.0",
713
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
714
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
715
+ "dev": true,
716
+ "dependencies": {
717
+ "postcss-selector-parser": "^6.0.10"
718
+ },
719
+ "engines": {
720
+ "node": ">=12.0"
721
+ },
722
+ "funding": {
723
+ "type": "opencollective",
724
+ "url": "https://opencollective.com/postcss/"
725
+ },
726
+ "peerDependencies": {
727
+ "postcss": "^8.2.14"
728
+ }
729
+ },
730
+ "node_modules/postcss-selector-parser": {
731
+ "version": "6.0.11",
732
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
733
+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
734
+ "dev": true,
735
+ "dependencies": {
736
+ "cssesc": "^3.0.0",
737
+ "util-deprecate": "^1.0.2"
738
+ },
739
+ "engines": {
740
+ "node": ">=4"
741
+ }
742
+ },
743
+ "node_modules/postcss-value-parser": {
744
+ "version": "4.2.0",
745
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
746
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
747
+ "dev": true
748
+ },
749
+ "node_modules/queue-microtask": {
750
+ "version": "1.2.3",
751
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
752
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
753
+ "dev": true,
754
+ "funding": [
755
+ {
756
+ "type": "github",
757
+ "url": "https://github.com/sponsors/feross"
758
+ },
759
+ {
760
+ "type": "patreon",
761
+ "url": "https://www.patreon.com/feross"
762
+ },
763
+ {
764
+ "type": "consulting",
765
+ "url": "https://feross.org/support"
766
+ }
767
+ ]
768
+ },
769
+ "node_modules/quick-lru": {
770
+ "version": "5.1.1",
771
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
772
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
773
+ "dev": true,
774
+ "engines": {
775
+ "node": ">=10"
776
+ },
777
+ "funding": {
778
+ "url": "https://github.com/sponsors/sindresorhus"
779
+ }
780
+ },
781
+ "node_modules/read-cache": {
782
+ "version": "1.0.0",
783
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
784
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
785
+ "dev": true,
786
+ "dependencies": {
787
+ "pify": "^2.3.0"
788
+ }
789
+ },
790
+ "node_modules/readdirp": {
791
+ "version": "3.6.0",
792
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
793
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
794
+ "dev": true,
795
+ "dependencies": {
796
+ "picomatch": "^2.2.1"
797
+ },
798
+ "engines": {
799
+ "node": ">=8.10.0"
800
+ }
801
+ },
802
+ "node_modules/resolve": {
803
+ "version": "1.22.2",
804
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
805
+ "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
806
+ "dev": true,
807
+ "dependencies": {
808
+ "is-core-module": "^2.11.0",
809
+ "path-parse": "^1.0.7",
810
+ "supports-preserve-symlinks-flag": "^1.0.0"
811
+ },
812
+ "bin": {
813
+ "resolve": "bin/resolve"
814
+ },
815
+ "funding": {
816
+ "url": "https://github.com/sponsors/ljharb"
817
+ }
818
+ },
819
+ "node_modules/reusify": {
820
+ "version": "1.0.4",
821
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
822
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
823
+ "dev": true,
824
+ "engines": {
825
+ "iojs": ">=1.0.0",
826
+ "node": ">=0.10.0"
827
+ }
828
+ },
829
+ "node_modules/run-parallel": {
830
+ "version": "1.2.0",
831
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
832
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
833
+ "dev": true,
834
+ "funding": [
835
+ {
836
+ "type": "github",
837
+ "url": "https://github.com/sponsors/feross"
838
+ },
839
+ {
840
+ "type": "patreon",
841
+ "url": "https://www.patreon.com/feross"
842
+ },
843
+ {
844
+ "type": "consulting",
845
+ "url": "https://feross.org/support"
846
+ }
847
+ ],
848
+ "dependencies": {
849
+ "queue-microtask": "^1.2.2"
850
+ }
851
+ },
852
+ "node_modules/source-map-js": {
853
+ "version": "1.0.2",
854
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
855
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
856
+ "dev": true,
857
+ "engines": {
858
+ "node": ">=0.10.0"
859
+ }
860
+ },
861
+ "node_modules/sucrase": {
862
+ "version": "3.32.0",
863
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
864
+ "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
865
+ "dev": true,
866
+ "dependencies": {
867
+ "@jridgewell/gen-mapping": "^0.3.2",
868
+ "commander": "^4.0.0",
869
+ "glob": "7.1.6",
870
+ "lines-and-columns": "^1.1.6",
871
+ "mz": "^2.7.0",
872
+ "pirates": "^4.0.1",
873
+ "ts-interface-checker": "^0.1.9"
874
+ },
875
+ "bin": {
876
+ "sucrase": "bin/sucrase",
877
+ "sucrase-node": "bin/sucrase-node"
878
+ },
879
+ "engines": {
880
+ "node": ">=8"
881
+ }
882
+ },
883
+ "node_modules/supports-preserve-symlinks-flag": {
884
+ "version": "1.0.0",
885
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
886
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
887
+ "dev": true,
888
+ "engines": {
889
+ "node": ">= 0.4"
890
+ },
891
+ "funding": {
892
+ "url": "https://github.com/sponsors/ljharb"
893
+ }
894
+ },
895
+ "node_modules/tailwindcss": {
896
+ "version": "3.3.1",
897
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz",
898
+ "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==",
899
+ "dev": true,
900
+ "dependencies": {
901
+ "arg": "^5.0.2",
902
+ "chokidar": "^3.5.3",
903
+ "color-name": "^1.1.4",
904
+ "didyoumean": "^1.2.2",
905
+ "dlv": "^1.1.3",
906
+ "fast-glob": "^3.2.12",
907
+ "glob-parent": "^6.0.2",
908
+ "is-glob": "^4.0.3",
909
+ "jiti": "^1.17.2",
910
+ "lilconfig": "^2.0.6",
911
+ "micromatch": "^4.0.5",
912
+ "normalize-path": "^3.0.0",
913
+ "object-hash": "^3.0.0",
914
+ "picocolors": "^1.0.0",
915
+ "postcss": "^8.0.9",
916
+ "postcss-import": "^14.1.0",
917
+ "postcss-js": "^4.0.0",
918
+ "postcss-load-config": "^3.1.4",
919
+ "postcss-nested": "6.0.0",
920
+ "postcss-selector-parser": "^6.0.11",
921
+ "postcss-value-parser": "^4.2.0",
922
+ "quick-lru": "^5.1.1",
923
+ "resolve": "^1.22.1",
924
+ "sucrase": "^3.29.0"
925
+ },
926
+ "bin": {
927
+ "tailwind": "lib/cli.js",
928
+ "tailwindcss": "lib/cli.js"
929
+ },
930
+ "engines": {
931
+ "node": ">=12.13.0"
932
+ },
933
+ "peerDependencies": {
934
+ "postcss": "^8.0.9"
935
+ }
936
+ },
937
+ "node_modules/thenify": {
938
+ "version": "3.3.1",
939
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
940
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
941
+ "dev": true,
942
+ "dependencies": {
943
+ "any-promise": "^1.0.0"
944
+ }
945
+ },
946
+ "node_modules/thenify-all": {
947
+ "version": "1.6.0",
948
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
949
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
950
+ "dev": true,
951
+ "dependencies": {
952
+ "thenify": ">= 3.1.0 < 4"
953
+ },
954
+ "engines": {
955
+ "node": ">=0.8"
956
+ }
957
+ },
958
+ "node_modules/to-regex-range": {
959
+ "version": "5.0.1",
960
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
961
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
962
+ "dev": true,
963
+ "dependencies": {
964
+ "is-number": "^7.0.0"
965
+ },
966
+ "engines": {
967
+ "node": ">=8.0"
968
+ }
969
+ },
970
+ "node_modules/ts-interface-checker": {
971
+ "version": "0.1.13",
972
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
973
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
974
+ "dev": true
975
+ },
976
+ "node_modules/util-deprecate": {
977
+ "version": "1.0.2",
978
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
979
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
980
+ "dev": true
981
+ },
982
+ "node_modules/wrappy": {
983
+ "version": "1.0.2",
984
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
985
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
986
+ "dev": true
987
+ },
988
+ "node_modules/yaml": {
989
+ "version": "1.10.2",
990
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
991
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
992
+ "dev": true,
993
+ "engines": {
994
+ "node": ">= 6"
995
+ }
996
+ }
997
+ }
998
+ }
package.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "devDependencies": {
3
+ "tailwindcss": "^3.3.1"
4
+ }
5
+ }
requirements.txt CHANGED
@@ -4,3 +4,4 @@ numpy==1.24.2
4
  scikit_learn==1.2.2
5
  seaborn==0.12.2
6
  tqdm==4.65.0
 
 
4
  scikit_learn==1.2.2
5
  seaborn==0.12.2
6
  tqdm==4.65.0
7
+ gunicorn==20.1.0
run.sh ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ gunicorn --bind :3000 --workers 1 --threads 8 --timeout 0 app:app
static/src/input.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
tailwind.config.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: [
4
+ "./templates/**/*.html",
5
+ "./static/src/**/*.js"
6
+ ],
7
+ theme: {
8
+ extend: {},
9
+ },
10
+ plugins: [],
11
+ }
12
+
templates/index.html ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Flowbite Flask</title>
8
+ <link rel="stylesheet" href="{{url_for('static',filename='dist/css/output.css')}}">
9
+ </head>
10
+ <body>
11
+ <div class="flex items-center h-screen">
12
+ <div class="mx-auto">
13
+ <h1 class="text-3xl font-bold">Centered Text</h1>
14
+ </div>
15
+ </div>
16
+ </body>
17
+ </html>
18
+