├── .github
└── app.png
├── .gitignore
├── .idea
├── .gitignore
├── material_theme_project_new.xml
├── modules.xml
├── paga-nois.iml
└── vcs.xml
├── Cargo.lock
├── Cargo.toml
├── README.MD
└── src
└── main.rs
/.github/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/danielhe4rt/paganois-cli-rs/ed1da61582295c7f3ad8f4ea04eb2105aee15890/.github/app.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 |
--------------------------------------------------------------------------------
/.idea/material_theme_project_new.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/paga-nois.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 3
4 |
5 | [[package]]
6 | name = "addr2line"
7 | version = "0.22.0"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
10 | dependencies = [
11 | "gimli",
12 | ]
13 |
14 | [[package]]
15 | name = "adler"
16 | version = "1.0.2"
17 | source = "registry+https://github.com/rust-lang/crates.io-index"
18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
19 |
20 | [[package]]
21 | name = "ansi_term"
22 | version = "0.12.1"
23 | source = "registry+https://github.com/rust-lang/crates.io-index"
24 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
25 | dependencies = [
26 | "winapi",
27 | ]
28 |
29 | [[package]]
30 | name = "anstream"
31 | version = "0.6.14"
32 | source = "registry+https://github.com/rust-lang/crates.io-index"
33 | checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
34 | dependencies = [
35 | "anstyle",
36 | "anstyle-parse",
37 | "anstyle-query",
38 | "anstyle-wincon",
39 | "colorchoice",
40 | "is_terminal_polyfill",
41 | "utf8parse",
42 | ]
43 |
44 | [[package]]
45 | name = "anstyle"
46 | version = "1.0.7"
47 | source = "registry+https://github.com/rust-lang/crates.io-index"
48 | checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
49 |
50 | [[package]]
51 | name = "anstyle-parse"
52 | version = "0.2.4"
53 | source = "registry+https://github.com/rust-lang/crates.io-index"
54 | checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
55 | dependencies = [
56 | "utf8parse",
57 | ]
58 |
59 | [[package]]
60 | name = "anstyle-query"
61 | version = "1.1.0"
62 | source = "registry+https://github.com/rust-lang/crates.io-index"
63 | checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
64 | dependencies = [
65 | "windows-sys 0.52.0",
66 | ]
67 |
68 | [[package]]
69 | name = "anstyle-wincon"
70 | version = "3.0.3"
71 | source = "registry+https://github.com/rust-lang/crates.io-index"
72 | checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
73 | dependencies = [
74 | "anstyle",
75 | "windows-sys 0.52.0",
76 | ]
77 |
78 | [[package]]
79 | name = "atomic-waker"
80 | version = "1.1.2"
81 | source = "registry+https://github.com/rust-lang/crates.io-index"
82 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
83 |
84 | [[package]]
85 | name = "autocfg"
86 | version = "1.3.0"
87 | source = "registry+https://github.com/rust-lang/crates.io-index"
88 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
89 |
90 | [[package]]
91 | name = "backtrace"
92 | version = "0.3.73"
93 | source = "registry+https://github.com/rust-lang/crates.io-index"
94 | checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
95 | dependencies = [
96 | "addr2line",
97 | "cc",
98 | "cfg-if",
99 | "libc",
100 | "miniz_oxide",
101 | "object",
102 | "rustc-demangle",
103 | ]
104 |
105 | [[package]]
106 | name = "base64"
107 | version = "0.22.1"
108 | source = "registry+https://github.com/rust-lang/crates.io-index"
109 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
110 |
111 | [[package]]
112 | name = "bitflags"
113 | version = "1.3.2"
114 | source = "registry+https://github.com/rust-lang/crates.io-index"
115 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
116 |
117 | [[package]]
118 | name = "bitflags"
119 | version = "2.6.0"
120 | source = "registry+https://github.com/rust-lang/crates.io-index"
121 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
122 |
123 | [[package]]
124 | name = "bumpalo"
125 | version = "3.16.0"
126 | source = "registry+https://github.com/rust-lang/crates.io-index"
127 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
128 |
129 | [[package]]
130 | name = "bytes"
131 | version = "1.6.0"
132 | source = "registry+https://github.com/rust-lang/crates.io-index"
133 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
134 |
135 | [[package]]
136 | name = "cc"
137 | version = "1.0.106"
138 | source = "registry+https://github.com/rust-lang/crates.io-index"
139 | checksum = "066fce287b1d4eafef758e89e09d724a24808a9196fe9756b8ca90e86d0719a2"
140 |
141 | [[package]]
142 | name = "cfg-if"
143 | version = "1.0.0"
144 | source = "registry+https://github.com/rust-lang/crates.io-index"
145 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
146 |
147 | [[package]]
148 | name = "clap"
149 | version = "4.5.8"
150 | source = "registry+https://github.com/rust-lang/crates.io-index"
151 | checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d"
152 | dependencies = [
153 | "clap_builder",
154 | "clap_derive",
155 | ]
156 |
157 | [[package]]
158 | name = "clap_builder"
159 | version = "4.5.8"
160 | source = "registry+https://github.com/rust-lang/crates.io-index"
161 | checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708"
162 | dependencies = [
163 | "anstream",
164 | "anstyle",
165 | "clap_lex",
166 | "strsim",
167 | ]
168 |
169 | [[package]]
170 | name = "clap_derive"
171 | version = "4.5.8"
172 | source = "registry+https://github.com/rust-lang/crates.io-index"
173 | checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
174 | dependencies = [
175 | "heck",
176 | "proc-macro2",
177 | "quote",
178 | "syn 2.0.69",
179 | ]
180 |
181 | [[package]]
182 | name = "clap_lex"
183 | version = "0.7.1"
184 | source = "registry+https://github.com/rust-lang/crates.io-index"
185 | checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
186 |
187 | [[package]]
188 | name = "cli-table"
189 | version = "0.4.9"
190 | source = "registry+https://github.com/rust-lang/crates.io-index"
191 | checksum = "b53f9241f288a7b12c56565f04aaeaeeab6b8923d42d99255d4ca428b4d97f89"
192 | dependencies = [
193 | "cli-table-derive",
194 | "csv",
195 | "termcolor",
196 | "unicode-width",
197 | ]
198 |
199 | [[package]]
200 | name = "cli-table-derive"
201 | version = "0.4.6"
202 | source = "registry+https://github.com/rust-lang/crates.io-index"
203 | checksum = "3e83a93253aaae7c74eb7428ce4faa6e219ba94886908048888701819f82fb94"
204 | dependencies = [
205 | "proc-macro2",
206 | "quote",
207 | "syn 1.0.109",
208 | ]
209 |
210 | [[package]]
211 | name = "colorchoice"
212 | version = "1.0.1"
213 | source = "registry+https://github.com/rust-lang/crates.io-index"
214 | checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
215 |
216 | [[package]]
217 | name = "colored"
218 | version = "2.1.0"
219 | source = "registry+https://github.com/rust-lang/crates.io-index"
220 | checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
221 | dependencies = [
222 | "lazy_static",
223 | "windows-sys 0.48.0",
224 | ]
225 |
226 | [[package]]
227 | name = "core-foundation"
228 | version = "0.9.4"
229 | source = "registry+https://github.com/rust-lang/crates.io-index"
230 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
231 | dependencies = [
232 | "core-foundation-sys",
233 | "libc",
234 | ]
235 |
236 | [[package]]
237 | name = "core-foundation-sys"
238 | version = "0.8.6"
239 | source = "registry+https://github.com/rust-lang/crates.io-index"
240 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
241 |
242 | [[package]]
243 | name = "csv"
244 | version = "1.3.0"
245 | source = "registry+https://github.com/rust-lang/crates.io-index"
246 | checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
247 | dependencies = [
248 | "csv-core",
249 | "itoa",
250 | "ryu",
251 | "serde",
252 | ]
253 |
254 | [[package]]
255 | name = "csv-core"
256 | version = "0.1.11"
257 | source = "registry+https://github.com/rust-lang/crates.io-index"
258 | checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
259 | dependencies = [
260 | "memchr",
261 | ]
262 |
263 | [[package]]
264 | name = "encoding_rs"
265 | version = "0.8.34"
266 | source = "registry+https://github.com/rust-lang/crates.io-index"
267 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
268 | dependencies = [
269 | "cfg-if",
270 | ]
271 |
272 | [[package]]
273 | name = "equivalent"
274 | version = "1.0.1"
275 | source = "registry+https://github.com/rust-lang/crates.io-index"
276 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
277 |
278 | [[package]]
279 | name = "errno"
280 | version = "0.3.9"
281 | source = "registry+https://github.com/rust-lang/crates.io-index"
282 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
283 | dependencies = [
284 | "libc",
285 | "windows-sys 0.52.0",
286 | ]
287 |
288 | [[package]]
289 | name = "fastrand"
290 | version = "2.1.0"
291 | source = "registry+https://github.com/rust-lang/crates.io-index"
292 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
293 |
294 | [[package]]
295 | name = "fnv"
296 | version = "1.0.7"
297 | source = "registry+https://github.com/rust-lang/crates.io-index"
298 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
299 |
300 | [[package]]
301 | name = "foreign-types"
302 | version = "0.3.2"
303 | source = "registry+https://github.com/rust-lang/crates.io-index"
304 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
305 | dependencies = [
306 | "foreign-types-shared",
307 | ]
308 |
309 | [[package]]
310 | name = "foreign-types-shared"
311 | version = "0.1.1"
312 | source = "registry+https://github.com/rust-lang/crates.io-index"
313 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
314 |
315 | [[package]]
316 | name = "form_urlencoded"
317 | version = "1.2.1"
318 | source = "registry+https://github.com/rust-lang/crates.io-index"
319 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
320 | dependencies = [
321 | "percent-encoding",
322 | ]
323 |
324 | [[package]]
325 | name = "futures-channel"
326 | version = "0.3.30"
327 | source = "registry+https://github.com/rust-lang/crates.io-index"
328 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
329 | dependencies = [
330 | "futures-core",
331 | "futures-sink",
332 | ]
333 |
334 | [[package]]
335 | name = "futures-core"
336 | version = "0.3.30"
337 | source = "registry+https://github.com/rust-lang/crates.io-index"
338 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
339 |
340 | [[package]]
341 | name = "futures-io"
342 | version = "0.3.30"
343 | source = "registry+https://github.com/rust-lang/crates.io-index"
344 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
345 |
346 | [[package]]
347 | name = "futures-sink"
348 | version = "0.3.30"
349 | source = "registry+https://github.com/rust-lang/crates.io-index"
350 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
351 |
352 | [[package]]
353 | name = "futures-task"
354 | version = "0.3.30"
355 | source = "registry+https://github.com/rust-lang/crates.io-index"
356 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
357 |
358 | [[package]]
359 | name = "futures-util"
360 | version = "0.3.30"
361 | source = "registry+https://github.com/rust-lang/crates.io-index"
362 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
363 | dependencies = [
364 | "futures-core",
365 | "futures-io",
366 | "futures-sink",
367 | "futures-task",
368 | "memchr",
369 | "pin-project-lite",
370 | "pin-utils",
371 | "slab",
372 | ]
373 |
374 | [[package]]
375 | name = "getrandom"
376 | version = "0.2.15"
377 | source = "registry+https://github.com/rust-lang/crates.io-index"
378 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
379 | dependencies = [
380 | "cfg-if",
381 | "libc",
382 | "wasi",
383 | ]
384 |
385 | [[package]]
386 | name = "gimli"
387 | version = "0.29.0"
388 | source = "registry+https://github.com/rust-lang/crates.io-index"
389 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
390 |
391 | [[package]]
392 | name = "h2"
393 | version = "0.4.5"
394 | source = "registry+https://github.com/rust-lang/crates.io-index"
395 | checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
396 | dependencies = [
397 | "atomic-waker",
398 | "bytes",
399 | "fnv",
400 | "futures-core",
401 | "futures-sink",
402 | "http",
403 | "indexmap",
404 | "slab",
405 | "tokio",
406 | "tokio-util",
407 | "tracing",
408 | ]
409 |
410 | [[package]]
411 | name = "hashbrown"
412 | version = "0.14.5"
413 | source = "registry+https://github.com/rust-lang/crates.io-index"
414 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
415 |
416 | [[package]]
417 | name = "heck"
418 | version = "0.5.0"
419 | source = "registry+https://github.com/rust-lang/crates.io-index"
420 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
421 |
422 | [[package]]
423 | name = "http"
424 | version = "1.1.0"
425 | source = "registry+https://github.com/rust-lang/crates.io-index"
426 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
427 | dependencies = [
428 | "bytes",
429 | "fnv",
430 | "itoa",
431 | ]
432 |
433 | [[package]]
434 | name = "http-body"
435 | version = "1.0.0"
436 | source = "registry+https://github.com/rust-lang/crates.io-index"
437 | checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
438 | dependencies = [
439 | "bytes",
440 | "http",
441 | ]
442 |
443 | [[package]]
444 | name = "http-body-util"
445 | version = "0.1.2"
446 | source = "registry+https://github.com/rust-lang/crates.io-index"
447 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
448 | dependencies = [
449 | "bytes",
450 | "futures-util",
451 | "http",
452 | "http-body",
453 | "pin-project-lite",
454 | ]
455 |
456 | [[package]]
457 | name = "httparse"
458 | version = "1.9.4"
459 | source = "registry+https://github.com/rust-lang/crates.io-index"
460 | checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
461 |
462 | [[package]]
463 | name = "hyper"
464 | version = "1.4.0"
465 | source = "registry+https://github.com/rust-lang/crates.io-index"
466 | checksum = "c4fe55fb7a772d59a5ff1dfbff4fe0258d19b89fec4b233e75d35d5d2316badc"
467 | dependencies = [
468 | "bytes",
469 | "futures-channel",
470 | "futures-util",
471 | "h2",
472 | "http",
473 | "http-body",
474 | "httparse",
475 | "itoa",
476 | "pin-project-lite",
477 | "smallvec",
478 | "tokio",
479 | "want",
480 | ]
481 |
482 | [[package]]
483 | name = "hyper-rustls"
484 | version = "0.27.2"
485 | source = "registry+https://github.com/rust-lang/crates.io-index"
486 | checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
487 | dependencies = [
488 | "futures-util",
489 | "http",
490 | "hyper",
491 | "hyper-util",
492 | "rustls",
493 | "rustls-pki-types",
494 | "tokio",
495 | "tokio-rustls",
496 | "tower-service",
497 | ]
498 |
499 | [[package]]
500 | name = "hyper-tls"
501 | version = "0.6.0"
502 | source = "registry+https://github.com/rust-lang/crates.io-index"
503 | checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
504 | dependencies = [
505 | "bytes",
506 | "http-body-util",
507 | "hyper",
508 | "hyper-util",
509 | "native-tls",
510 | "tokio",
511 | "tokio-native-tls",
512 | "tower-service",
513 | ]
514 |
515 | [[package]]
516 | name = "hyper-util"
517 | version = "0.1.6"
518 | source = "registry+https://github.com/rust-lang/crates.io-index"
519 | checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956"
520 | dependencies = [
521 | "bytes",
522 | "futures-channel",
523 | "futures-util",
524 | "http",
525 | "http-body",
526 | "hyper",
527 | "pin-project-lite",
528 | "socket2",
529 | "tokio",
530 | "tower",
531 | "tower-service",
532 | "tracing",
533 | ]
534 |
535 | [[package]]
536 | name = "idna"
537 | version = "0.5.0"
538 | source = "registry+https://github.com/rust-lang/crates.io-index"
539 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
540 | dependencies = [
541 | "unicode-bidi",
542 | "unicode-normalization",
543 | ]
544 |
545 | [[package]]
546 | name = "indexmap"
547 | version = "2.2.6"
548 | source = "registry+https://github.com/rust-lang/crates.io-index"
549 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
550 | dependencies = [
551 | "equivalent",
552 | "hashbrown",
553 | ]
554 |
555 | [[package]]
556 | name = "ipnet"
557 | version = "2.9.0"
558 | source = "registry+https://github.com/rust-lang/crates.io-index"
559 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
560 |
561 | [[package]]
562 | name = "is_terminal_polyfill"
563 | version = "1.70.0"
564 | source = "registry+https://github.com/rust-lang/crates.io-index"
565 | checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
566 |
567 | [[package]]
568 | name = "itoa"
569 | version = "1.0.11"
570 | source = "registry+https://github.com/rust-lang/crates.io-index"
571 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
572 |
573 | [[package]]
574 | name = "js-sys"
575 | version = "0.3.69"
576 | source = "registry+https://github.com/rust-lang/crates.io-index"
577 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
578 | dependencies = [
579 | "wasm-bindgen",
580 | ]
581 |
582 | [[package]]
583 | name = "lazy_static"
584 | version = "1.5.0"
585 | source = "registry+https://github.com/rust-lang/crates.io-index"
586 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
587 |
588 | [[package]]
589 | name = "libc"
590 | version = "0.2.155"
591 | source = "registry+https://github.com/rust-lang/crates.io-index"
592 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
593 |
594 | [[package]]
595 | name = "linux-raw-sys"
596 | version = "0.4.14"
597 | source = "registry+https://github.com/rust-lang/crates.io-index"
598 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
599 |
600 | [[package]]
601 | name = "log"
602 | version = "0.4.22"
603 | source = "registry+https://github.com/rust-lang/crates.io-index"
604 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
605 |
606 | [[package]]
607 | name = "memchr"
608 | version = "2.7.4"
609 | source = "registry+https://github.com/rust-lang/crates.io-index"
610 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
611 |
612 | [[package]]
613 | name = "mime"
614 | version = "0.3.17"
615 | source = "registry+https://github.com/rust-lang/crates.io-index"
616 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
617 |
618 | [[package]]
619 | name = "miniz_oxide"
620 | version = "0.7.4"
621 | source = "registry+https://github.com/rust-lang/crates.io-index"
622 | checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
623 | dependencies = [
624 | "adler",
625 | ]
626 |
627 | [[package]]
628 | name = "mio"
629 | version = "0.8.11"
630 | source = "registry+https://github.com/rust-lang/crates.io-index"
631 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
632 | dependencies = [
633 | "libc",
634 | "wasi",
635 | "windows-sys 0.48.0",
636 | ]
637 |
638 | [[package]]
639 | name = "native-tls"
640 | version = "0.2.12"
641 | source = "registry+https://github.com/rust-lang/crates.io-index"
642 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
643 | dependencies = [
644 | "libc",
645 | "log",
646 | "openssl",
647 | "openssl-probe",
648 | "openssl-sys",
649 | "schannel",
650 | "security-framework",
651 | "security-framework-sys",
652 | "tempfile",
653 | ]
654 |
655 | [[package]]
656 | name = "object"
657 | version = "0.36.1"
658 | source = "registry+https://github.com/rust-lang/crates.io-index"
659 | checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce"
660 | dependencies = [
661 | "memchr",
662 | ]
663 |
664 | [[package]]
665 | name = "once_cell"
666 | version = "1.19.0"
667 | source = "registry+https://github.com/rust-lang/crates.io-index"
668 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
669 |
670 | [[package]]
671 | name = "openssl"
672 | version = "0.10.64"
673 | source = "registry+https://github.com/rust-lang/crates.io-index"
674 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
675 | dependencies = [
676 | "bitflags 2.6.0",
677 | "cfg-if",
678 | "foreign-types",
679 | "libc",
680 | "once_cell",
681 | "openssl-macros",
682 | "openssl-sys",
683 | ]
684 |
685 | [[package]]
686 | name = "openssl-macros"
687 | version = "0.1.1"
688 | source = "registry+https://github.com/rust-lang/crates.io-index"
689 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
690 | dependencies = [
691 | "proc-macro2",
692 | "quote",
693 | "syn 2.0.69",
694 | ]
695 |
696 | [[package]]
697 | name = "openssl-probe"
698 | version = "0.1.5"
699 | source = "registry+https://github.com/rust-lang/crates.io-index"
700 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
701 |
702 | [[package]]
703 | name = "openssl-sys"
704 | version = "0.9.102"
705 | source = "registry+https://github.com/rust-lang/crates.io-index"
706 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
707 | dependencies = [
708 | "cc",
709 | "libc",
710 | "pkg-config",
711 | "vcpkg",
712 | ]
713 |
714 | [[package]]
715 | name = "paga-nois"
716 | version = "0.1.0"
717 | dependencies = [
718 | "ansi_term",
719 | "clap",
720 | "cli-table",
721 | "colored",
722 | "reqwest",
723 | "serde",
724 | "serde_json",
725 | ]
726 |
727 | [[package]]
728 | name = "percent-encoding"
729 | version = "2.3.1"
730 | source = "registry+https://github.com/rust-lang/crates.io-index"
731 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
732 |
733 | [[package]]
734 | name = "pin-project"
735 | version = "1.1.5"
736 | source = "registry+https://github.com/rust-lang/crates.io-index"
737 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
738 | dependencies = [
739 | "pin-project-internal",
740 | ]
741 |
742 | [[package]]
743 | name = "pin-project-internal"
744 | version = "1.1.5"
745 | source = "registry+https://github.com/rust-lang/crates.io-index"
746 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
747 | dependencies = [
748 | "proc-macro2",
749 | "quote",
750 | "syn 2.0.69",
751 | ]
752 |
753 | [[package]]
754 | name = "pin-project-lite"
755 | version = "0.2.14"
756 | source = "registry+https://github.com/rust-lang/crates.io-index"
757 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
758 |
759 | [[package]]
760 | name = "pin-utils"
761 | version = "0.1.0"
762 | source = "registry+https://github.com/rust-lang/crates.io-index"
763 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
764 |
765 | [[package]]
766 | name = "pkg-config"
767 | version = "0.3.30"
768 | source = "registry+https://github.com/rust-lang/crates.io-index"
769 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
770 |
771 | [[package]]
772 | name = "proc-macro2"
773 | version = "1.0.86"
774 | source = "registry+https://github.com/rust-lang/crates.io-index"
775 | checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
776 | dependencies = [
777 | "unicode-ident",
778 | ]
779 |
780 | [[package]]
781 | name = "quote"
782 | version = "1.0.36"
783 | source = "registry+https://github.com/rust-lang/crates.io-index"
784 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
785 | dependencies = [
786 | "proc-macro2",
787 | ]
788 |
789 | [[package]]
790 | name = "reqwest"
791 | version = "0.12.5"
792 | source = "registry+https://github.com/rust-lang/crates.io-index"
793 | checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37"
794 | dependencies = [
795 | "base64",
796 | "bytes",
797 | "encoding_rs",
798 | "futures-channel",
799 | "futures-core",
800 | "futures-util",
801 | "h2",
802 | "http",
803 | "http-body",
804 | "http-body-util",
805 | "hyper",
806 | "hyper-rustls",
807 | "hyper-tls",
808 | "hyper-util",
809 | "ipnet",
810 | "js-sys",
811 | "log",
812 | "mime",
813 | "native-tls",
814 | "once_cell",
815 | "percent-encoding",
816 | "pin-project-lite",
817 | "rustls-pemfile",
818 | "serde",
819 | "serde_json",
820 | "serde_urlencoded",
821 | "sync_wrapper",
822 | "system-configuration",
823 | "tokio",
824 | "tokio-native-tls",
825 | "tower-service",
826 | "url",
827 | "wasm-bindgen",
828 | "wasm-bindgen-futures",
829 | "web-sys",
830 | "winreg",
831 | ]
832 |
833 | [[package]]
834 | name = "ring"
835 | version = "0.17.8"
836 | source = "registry+https://github.com/rust-lang/crates.io-index"
837 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
838 | dependencies = [
839 | "cc",
840 | "cfg-if",
841 | "getrandom",
842 | "libc",
843 | "spin",
844 | "untrusted",
845 | "windows-sys 0.52.0",
846 | ]
847 |
848 | [[package]]
849 | name = "rustc-demangle"
850 | version = "0.1.24"
851 | source = "registry+https://github.com/rust-lang/crates.io-index"
852 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
853 |
854 | [[package]]
855 | name = "rustix"
856 | version = "0.38.34"
857 | source = "registry+https://github.com/rust-lang/crates.io-index"
858 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
859 | dependencies = [
860 | "bitflags 2.6.0",
861 | "errno",
862 | "libc",
863 | "linux-raw-sys",
864 | "windows-sys 0.52.0",
865 | ]
866 |
867 | [[package]]
868 | name = "rustls"
869 | version = "0.23.10"
870 | source = "registry+https://github.com/rust-lang/crates.io-index"
871 | checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402"
872 | dependencies = [
873 | "once_cell",
874 | "rustls-pki-types",
875 | "rustls-webpki",
876 | "subtle",
877 | "zeroize",
878 | ]
879 |
880 | [[package]]
881 | name = "rustls-pemfile"
882 | version = "2.1.2"
883 | source = "registry+https://github.com/rust-lang/crates.io-index"
884 | checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
885 | dependencies = [
886 | "base64",
887 | "rustls-pki-types",
888 | ]
889 |
890 | [[package]]
891 | name = "rustls-pki-types"
892 | version = "1.7.0"
893 | source = "registry+https://github.com/rust-lang/crates.io-index"
894 | checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
895 |
896 | [[package]]
897 | name = "rustls-webpki"
898 | version = "0.102.5"
899 | source = "registry+https://github.com/rust-lang/crates.io-index"
900 | checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78"
901 | dependencies = [
902 | "ring",
903 | "rustls-pki-types",
904 | "untrusted",
905 | ]
906 |
907 | [[package]]
908 | name = "ryu"
909 | version = "1.0.18"
910 | source = "registry+https://github.com/rust-lang/crates.io-index"
911 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
912 |
913 | [[package]]
914 | name = "schannel"
915 | version = "0.1.23"
916 | source = "registry+https://github.com/rust-lang/crates.io-index"
917 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
918 | dependencies = [
919 | "windows-sys 0.52.0",
920 | ]
921 |
922 | [[package]]
923 | name = "security-framework"
924 | version = "2.11.0"
925 | source = "registry+https://github.com/rust-lang/crates.io-index"
926 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
927 | dependencies = [
928 | "bitflags 2.6.0",
929 | "core-foundation",
930 | "core-foundation-sys",
931 | "libc",
932 | "security-framework-sys",
933 | ]
934 |
935 | [[package]]
936 | name = "security-framework-sys"
937 | version = "2.11.0"
938 | source = "registry+https://github.com/rust-lang/crates.io-index"
939 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
940 | dependencies = [
941 | "core-foundation-sys",
942 | "libc",
943 | ]
944 |
945 | [[package]]
946 | name = "serde"
947 | version = "1.0.204"
948 | source = "registry+https://github.com/rust-lang/crates.io-index"
949 | checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
950 | dependencies = [
951 | "serde_derive",
952 | ]
953 |
954 | [[package]]
955 | name = "serde_derive"
956 | version = "1.0.204"
957 | source = "registry+https://github.com/rust-lang/crates.io-index"
958 | checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
959 | dependencies = [
960 | "proc-macro2",
961 | "quote",
962 | "syn 2.0.69",
963 | ]
964 |
965 | [[package]]
966 | name = "serde_json"
967 | version = "1.0.120"
968 | source = "registry+https://github.com/rust-lang/crates.io-index"
969 | checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
970 | dependencies = [
971 | "itoa",
972 | "ryu",
973 | "serde",
974 | ]
975 |
976 | [[package]]
977 | name = "serde_urlencoded"
978 | version = "0.7.1"
979 | source = "registry+https://github.com/rust-lang/crates.io-index"
980 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
981 | dependencies = [
982 | "form_urlencoded",
983 | "itoa",
984 | "ryu",
985 | "serde",
986 | ]
987 |
988 | [[package]]
989 | name = "slab"
990 | version = "0.4.9"
991 | source = "registry+https://github.com/rust-lang/crates.io-index"
992 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
993 | dependencies = [
994 | "autocfg",
995 | ]
996 |
997 | [[package]]
998 | name = "smallvec"
999 | version = "1.13.2"
1000 | source = "registry+https://github.com/rust-lang/crates.io-index"
1001 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
1002 |
1003 | [[package]]
1004 | name = "socket2"
1005 | version = "0.5.7"
1006 | source = "registry+https://github.com/rust-lang/crates.io-index"
1007 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
1008 | dependencies = [
1009 | "libc",
1010 | "windows-sys 0.52.0",
1011 | ]
1012 |
1013 | [[package]]
1014 | name = "spin"
1015 | version = "0.9.8"
1016 | source = "registry+https://github.com/rust-lang/crates.io-index"
1017 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
1018 |
1019 | [[package]]
1020 | name = "strsim"
1021 | version = "0.11.1"
1022 | source = "registry+https://github.com/rust-lang/crates.io-index"
1023 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1024 |
1025 | [[package]]
1026 | name = "subtle"
1027 | version = "2.6.1"
1028 | source = "registry+https://github.com/rust-lang/crates.io-index"
1029 | checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1030 |
1031 | [[package]]
1032 | name = "syn"
1033 | version = "1.0.109"
1034 | source = "registry+https://github.com/rust-lang/crates.io-index"
1035 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
1036 | dependencies = [
1037 | "proc-macro2",
1038 | "quote",
1039 | "unicode-ident",
1040 | ]
1041 |
1042 | [[package]]
1043 | name = "syn"
1044 | version = "2.0.69"
1045 | source = "registry+https://github.com/rust-lang/crates.io-index"
1046 | checksum = "201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6"
1047 | dependencies = [
1048 | "proc-macro2",
1049 | "quote",
1050 | "unicode-ident",
1051 | ]
1052 |
1053 | [[package]]
1054 | name = "sync_wrapper"
1055 | version = "1.0.1"
1056 | source = "registry+https://github.com/rust-lang/crates.io-index"
1057 | checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
1058 |
1059 | [[package]]
1060 | name = "system-configuration"
1061 | version = "0.5.1"
1062 | source = "registry+https://github.com/rust-lang/crates.io-index"
1063 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
1064 | dependencies = [
1065 | "bitflags 1.3.2",
1066 | "core-foundation",
1067 | "system-configuration-sys",
1068 | ]
1069 |
1070 | [[package]]
1071 | name = "system-configuration-sys"
1072 | version = "0.5.0"
1073 | source = "registry+https://github.com/rust-lang/crates.io-index"
1074 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
1075 | dependencies = [
1076 | "core-foundation-sys",
1077 | "libc",
1078 | ]
1079 |
1080 | [[package]]
1081 | name = "tempfile"
1082 | version = "3.10.1"
1083 | source = "registry+https://github.com/rust-lang/crates.io-index"
1084 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
1085 | dependencies = [
1086 | "cfg-if",
1087 | "fastrand",
1088 | "rustix",
1089 | "windows-sys 0.52.0",
1090 | ]
1091 |
1092 | [[package]]
1093 | name = "termcolor"
1094 | version = "1.4.1"
1095 | source = "registry+https://github.com/rust-lang/crates.io-index"
1096 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
1097 | dependencies = [
1098 | "winapi-util",
1099 | ]
1100 |
1101 | [[package]]
1102 | name = "tinyvec"
1103 | version = "1.8.0"
1104 | source = "registry+https://github.com/rust-lang/crates.io-index"
1105 | checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
1106 | dependencies = [
1107 | "tinyvec_macros",
1108 | ]
1109 |
1110 | [[package]]
1111 | name = "tinyvec_macros"
1112 | version = "0.1.1"
1113 | source = "registry+https://github.com/rust-lang/crates.io-index"
1114 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1115 |
1116 | [[package]]
1117 | name = "tokio"
1118 | version = "1.38.0"
1119 | source = "registry+https://github.com/rust-lang/crates.io-index"
1120 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
1121 | dependencies = [
1122 | "backtrace",
1123 | "bytes",
1124 | "libc",
1125 | "mio",
1126 | "pin-project-lite",
1127 | "socket2",
1128 | "windows-sys 0.48.0",
1129 | ]
1130 |
1131 | [[package]]
1132 | name = "tokio-native-tls"
1133 | version = "0.3.1"
1134 | source = "registry+https://github.com/rust-lang/crates.io-index"
1135 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
1136 | dependencies = [
1137 | "native-tls",
1138 | "tokio",
1139 | ]
1140 |
1141 | [[package]]
1142 | name = "tokio-rustls"
1143 | version = "0.26.0"
1144 | source = "registry+https://github.com/rust-lang/crates.io-index"
1145 | checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
1146 | dependencies = [
1147 | "rustls",
1148 | "rustls-pki-types",
1149 | "tokio",
1150 | ]
1151 |
1152 | [[package]]
1153 | name = "tokio-util"
1154 | version = "0.7.11"
1155 | source = "registry+https://github.com/rust-lang/crates.io-index"
1156 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
1157 | dependencies = [
1158 | "bytes",
1159 | "futures-core",
1160 | "futures-sink",
1161 | "pin-project-lite",
1162 | "tokio",
1163 | ]
1164 |
1165 | [[package]]
1166 | name = "tower"
1167 | version = "0.4.13"
1168 | source = "registry+https://github.com/rust-lang/crates.io-index"
1169 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
1170 | dependencies = [
1171 | "futures-core",
1172 | "futures-util",
1173 | "pin-project",
1174 | "pin-project-lite",
1175 | "tokio",
1176 | "tower-layer",
1177 | "tower-service",
1178 | ]
1179 |
1180 | [[package]]
1181 | name = "tower-layer"
1182 | version = "0.3.2"
1183 | source = "registry+https://github.com/rust-lang/crates.io-index"
1184 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
1185 |
1186 | [[package]]
1187 | name = "tower-service"
1188 | version = "0.3.2"
1189 | source = "registry+https://github.com/rust-lang/crates.io-index"
1190 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
1191 |
1192 | [[package]]
1193 | name = "tracing"
1194 | version = "0.1.40"
1195 | source = "registry+https://github.com/rust-lang/crates.io-index"
1196 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
1197 | dependencies = [
1198 | "pin-project-lite",
1199 | "tracing-core",
1200 | ]
1201 |
1202 | [[package]]
1203 | name = "tracing-core"
1204 | version = "0.1.32"
1205 | source = "registry+https://github.com/rust-lang/crates.io-index"
1206 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
1207 | dependencies = [
1208 | "once_cell",
1209 | ]
1210 |
1211 | [[package]]
1212 | name = "try-lock"
1213 | version = "0.2.5"
1214 | source = "registry+https://github.com/rust-lang/crates.io-index"
1215 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
1216 |
1217 | [[package]]
1218 | name = "unicode-bidi"
1219 | version = "0.3.15"
1220 | source = "registry+https://github.com/rust-lang/crates.io-index"
1221 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
1222 |
1223 | [[package]]
1224 | name = "unicode-ident"
1225 | version = "1.0.12"
1226 | source = "registry+https://github.com/rust-lang/crates.io-index"
1227 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
1228 |
1229 | [[package]]
1230 | name = "unicode-normalization"
1231 | version = "0.1.23"
1232 | source = "registry+https://github.com/rust-lang/crates.io-index"
1233 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
1234 | dependencies = [
1235 | "tinyvec",
1236 | ]
1237 |
1238 | [[package]]
1239 | name = "unicode-width"
1240 | version = "0.1.13"
1241 | source = "registry+https://github.com/rust-lang/crates.io-index"
1242 | checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
1243 |
1244 | [[package]]
1245 | name = "untrusted"
1246 | version = "0.9.0"
1247 | source = "registry+https://github.com/rust-lang/crates.io-index"
1248 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1249 |
1250 | [[package]]
1251 | name = "url"
1252 | version = "2.5.2"
1253 | source = "registry+https://github.com/rust-lang/crates.io-index"
1254 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
1255 | dependencies = [
1256 | "form_urlencoded",
1257 | "idna",
1258 | "percent-encoding",
1259 | ]
1260 |
1261 | [[package]]
1262 | name = "utf8parse"
1263 | version = "0.2.2"
1264 | source = "registry+https://github.com/rust-lang/crates.io-index"
1265 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
1266 |
1267 | [[package]]
1268 | name = "vcpkg"
1269 | version = "0.2.15"
1270 | source = "registry+https://github.com/rust-lang/crates.io-index"
1271 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
1272 |
1273 | [[package]]
1274 | name = "want"
1275 | version = "0.3.1"
1276 | source = "registry+https://github.com/rust-lang/crates.io-index"
1277 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
1278 | dependencies = [
1279 | "try-lock",
1280 | ]
1281 |
1282 | [[package]]
1283 | name = "wasi"
1284 | version = "0.11.0+wasi-snapshot-preview1"
1285 | source = "registry+https://github.com/rust-lang/crates.io-index"
1286 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1287 |
1288 | [[package]]
1289 | name = "wasm-bindgen"
1290 | version = "0.2.92"
1291 | source = "registry+https://github.com/rust-lang/crates.io-index"
1292 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
1293 | dependencies = [
1294 | "cfg-if",
1295 | "wasm-bindgen-macro",
1296 | ]
1297 |
1298 | [[package]]
1299 | name = "wasm-bindgen-backend"
1300 | version = "0.2.92"
1301 | source = "registry+https://github.com/rust-lang/crates.io-index"
1302 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
1303 | dependencies = [
1304 | "bumpalo",
1305 | "log",
1306 | "once_cell",
1307 | "proc-macro2",
1308 | "quote",
1309 | "syn 2.0.69",
1310 | "wasm-bindgen-shared",
1311 | ]
1312 |
1313 | [[package]]
1314 | name = "wasm-bindgen-futures"
1315 | version = "0.4.42"
1316 | source = "registry+https://github.com/rust-lang/crates.io-index"
1317 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
1318 | dependencies = [
1319 | "cfg-if",
1320 | "js-sys",
1321 | "wasm-bindgen",
1322 | "web-sys",
1323 | ]
1324 |
1325 | [[package]]
1326 | name = "wasm-bindgen-macro"
1327 | version = "0.2.92"
1328 | source = "registry+https://github.com/rust-lang/crates.io-index"
1329 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
1330 | dependencies = [
1331 | "quote",
1332 | "wasm-bindgen-macro-support",
1333 | ]
1334 |
1335 | [[package]]
1336 | name = "wasm-bindgen-macro-support"
1337 | version = "0.2.92"
1338 | source = "registry+https://github.com/rust-lang/crates.io-index"
1339 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
1340 | dependencies = [
1341 | "proc-macro2",
1342 | "quote",
1343 | "syn 2.0.69",
1344 | "wasm-bindgen-backend",
1345 | "wasm-bindgen-shared",
1346 | ]
1347 |
1348 | [[package]]
1349 | name = "wasm-bindgen-shared"
1350 | version = "0.2.92"
1351 | source = "registry+https://github.com/rust-lang/crates.io-index"
1352 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
1353 |
1354 | [[package]]
1355 | name = "web-sys"
1356 | version = "0.3.69"
1357 | source = "registry+https://github.com/rust-lang/crates.io-index"
1358 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
1359 | dependencies = [
1360 | "js-sys",
1361 | "wasm-bindgen",
1362 | ]
1363 |
1364 | [[package]]
1365 | name = "winapi"
1366 | version = "0.3.9"
1367 | source = "registry+https://github.com/rust-lang/crates.io-index"
1368 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1369 | dependencies = [
1370 | "winapi-i686-pc-windows-gnu",
1371 | "winapi-x86_64-pc-windows-gnu",
1372 | ]
1373 |
1374 | [[package]]
1375 | name = "winapi-i686-pc-windows-gnu"
1376 | version = "0.4.0"
1377 | source = "registry+https://github.com/rust-lang/crates.io-index"
1378 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1379 |
1380 | [[package]]
1381 | name = "winapi-util"
1382 | version = "0.1.8"
1383 | source = "registry+https://github.com/rust-lang/crates.io-index"
1384 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
1385 | dependencies = [
1386 | "windows-sys 0.52.0",
1387 | ]
1388 |
1389 | [[package]]
1390 | name = "winapi-x86_64-pc-windows-gnu"
1391 | version = "0.4.0"
1392 | source = "registry+https://github.com/rust-lang/crates.io-index"
1393 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1394 |
1395 | [[package]]
1396 | name = "windows-sys"
1397 | version = "0.48.0"
1398 | source = "registry+https://github.com/rust-lang/crates.io-index"
1399 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
1400 | dependencies = [
1401 | "windows-targets 0.48.5",
1402 | ]
1403 |
1404 | [[package]]
1405 | name = "windows-sys"
1406 | version = "0.52.0"
1407 | source = "registry+https://github.com/rust-lang/crates.io-index"
1408 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
1409 | dependencies = [
1410 | "windows-targets 0.52.6",
1411 | ]
1412 |
1413 | [[package]]
1414 | name = "windows-targets"
1415 | version = "0.48.5"
1416 | source = "registry+https://github.com/rust-lang/crates.io-index"
1417 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
1418 | dependencies = [
1419 | "windows_aarch64_gnullvm 0.48.5",
1420 | "windows_aarch64_msvc 0.48.5",
1421 | "windows_i686_gnu 0.48.5",
1422 | "windows_i686_msvc 0.48.5",
1423 | "windows_x86_64_gnu 0.48.5",
1424 | "windows_x86_64_gnullvm 0.48.5",
1425 | "windows_x86_64_msvc 0.48.5",
1426 | ]
1427 |
1428 | [[package]]
1429 | name = "windows-targets"
1430 | version = "0.52.6"
1431 | source = "registry+https://github.com/rust-lang/crates.io-index"
1432 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
1433 | dependencies = [
1434 | "windows_aarch64_gnullvm 0.52.6",
1435 | "windows_aarch64_msvc 0.52.6",
1436 | "windows_i686_gnu 0.52.6",
1437 | "windows_i686_gnullvm",
1438 | "windows_i686_msvc 0.52.6",
1439 | "windows_x86_64_gnu 0.52.6",
1440 | "windows_x86_64_gnullvm 0.52.6",
1441 | "windows_x86_64_msvc 0.52.6",
1442 | ]
1443 |
1444 | [[package]]
1445 | name = "windows_aarch64_gnullvm"
1446 | version = "0.48.5"
1447 | source = "registry+https://github.com/rust-lang/crates.io-index"
1448 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
1449 |
1450 | [[package]]
1451 | name = "windows_aarch64_gnullvm"
1452 | version = "0.52.6"
1453 | source = "registry+https://github.com/rust-lang/crates.io-index"
1454 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
1455 |
1456 | [[package]]
1457 | name = "windows_aarch64_msvc"
1458 | version = "0.48.5"
1459 | source = "registry+https://github.com/rust-lang/crates.io-index"
1460 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
1461 |
1462 | [[package]]
1463 | name = "windows_aarch64_msvc"
1464 | version = "0.52.6"
1465 | source = "registry+https://github.com/rust-lang/crates.io-index"
1466 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
1467 |
1468 | [[package]]
1469 | name = "windows_i686_gnu"
1470 | version = "0.48.5"
1471 | source = "registry+https://github.com/rust-lang/crates.io-index"
1472 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
1473 |
1474 | [[package]]
1475 | name = "windows_i686_gnu"
1476 | version = "0.52.6"
1477 | source = "registry+https://github.com/rust-lang/crates.io-index"
1478 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
1479 |
1480 | [[package]]
1481 | name = "windows_i686_gnullvm"
1482 | version = "0.52.6"
1483 | source = "registry+https://github.com/rust-lang/crates.io-index"
1484 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
1485 |
1486 | [[package]]
1487 | name = "windows_i686_msvc"
1488 | version = "0.48.5"
1489 | source = "registry+https://github.com/rust-lang/crates.io-index"
1490 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
1491 |
1492 | [[package]]
1493 | name = "windows_i686_msvc"
1494 | version = "0.52.6"
1495 | source = "registry+https://github.com/rust-lang/crates.io-index"
1496 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
1497 |
1498 | [[package]]
1499 | name = "windows_x86_64_gnu"
1500 | version = "0.48.5"
1501 | source = "registry+https://github.com/rust-lang/crates.io-index"
1502 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
1503 |
1504 | [[package]]
1505 | name = "windows_x86_64_gnu"
1506 | version = "0.52.6"
1507 | source = "registry+https://github.com/rust-lang/crates.io-index"
1508 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
1509 |
1510 | [[package]]
1511 | name = "windows_x86_64_gnullvm"
1512 | version = "0.48.5"
1513 | source = "registry+https://github.com/rust-lang/crates.io-index"
1514 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
1515 |
1516 | [[package]]
1517 | name = "windows_x86_64_gnullvm"
1518 | version = "0.52.6"
1519 | source = "registry+https://github.com/rust-lang/crates.io-index"
1520 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
1521 |
1522 | [[package]]
1523 | name = "windows_x86_64_msvc"
1524 | version = "0.48.5"
1525 | source = "registry+https://github.com/rust-lang/crates.io-index"
1526 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
1527 |
1528 | [[package]]
1529 | name = "windows_x86_64_msvc"
1530 | version = "0.52.6"
1531 | source = "registry+https://github.com/rust-lang/crates.io-index"
1532 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1533 |
1534 | [[package]]
1535 | name = "winreg"
1536 | version = "0.52.0"
1537 | source = "registry+https://github.com/rust-lang/crates.io-index"
1538 | checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
1539 | dependencies = [
1540 | "cfg-if",
1541 | "windows-sys 0.48.0",
1542 | ]
1543 |
1544 | [[package]]
1545 | name = "zeroize"
1546 | version = "1.8.1"
1547 | source = "registry+https://github.com/rust-lang/crates.io-index"
1548 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
1549 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "paga-nois"
3 | version = "0.1.0"
4 | edition = "2021"
5 |
6 | [dependencies]
7 | clap = { version = "4.5.8", features = ["derive"] }
8 | cli-table = "0.4.9"
9 | colored = "2.1.0"
10 | reqwest = { version = "0.12.5", features = ["blocking", "json"] }
11 | serde = { version = "1.0.204", features = ["derive"] }
12 | serde_json = "1.0.120"
13 | ansi_term = "0.12"
14 |
--------------------------------------------------------------------------------
/README.MD:
--------------------------------------------------------------------------------
1 | # PagaNois CLI
2 |
3 | 
4 |
5 | A tool that converts my salary based in the spread percentages made by [Husky.io (PagaNois)](https://husky.io/).
6 |
7 | ## Development
8 |
9 | The goal is having the same features for the Ubuntu/Debian notifications also any terminal of your choice.
10 |
11 | * [ ] Ubuntu/Debian notifications
12 | * [x] Terminal output
13 |
14 | ## Installation
15 |
16 | Clone the repository and install the dependencies:
17 | ```bash
18 | git clone git@github.com:DanielHe4rt/paganois-cli-rs.git
19 | cd paganois-cli-rs
20 | cargo build --release
21 | ```
22 |
23 | ## Usage
24 |
25 | TODO: Add usage instructions
26 |
27 | ```bash
28 | ./target/release/paga-nois --help
29 | ```
30 |
31 | ## License
32 |
33 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
34 |
--------------------------------------------------------------------------------
/src/main.rs:
--------------------------------------------------------------------------------
1 | use ansi_term::Colour;
2 | use clap::Parser;
3 | use cli_table::format::Justify;
4 | use cli_table::{Cell, Style, Table};
5 | use colored::Colorize;
6 | use serde::{Deserialize, Serialize};
7 |
8 | const CURRENCY_API_URL: &str = "https://economia.awesomeapi.com.br/json/last/USD";
9 |
10 | const ASCII_LOGO: &str = r"
11 | + *
12 | +++++ *****
13 | ++++++++********
14 | ++++++*###******* /$$$$$$$ /$$ /$$ /$$ /$$
15 | +++++*%%%%%##****** | $$__ $$ | $$$ | $$ |__/ |__/
16 | ++++*%%%%%%%%%##**** | $$ \ $$ /$$$$$$ /$$$$$$ /$$$$$$ | $$$$| $$ /$$$$$$ /$$ /$$$$$$$ /$$ /$$$$$$
17 | ++*%%%%%%%%%%%%%##*** | $$$$$$$/ |____ $$ /$$__ $$ |____ $$| $$ $$ $$ /$$__ $$| $$ /$$_____/ | $$ /$$__ $$
18 | +*%%%%%%%%%%%%%%%%%##* | $$____/ /$$$$$$$| $$ \ $$ /$$$$$$$| $$ $$$$| $$ \ $$| $$| $$$$$$ | $$| $$ \ $$
19 | %%%%%%%%%%%%%%%%%%%## | $$ /$$__ $$| $$ | $$ /$$__ $$| $$\ $$$| $$ | $$| $$ \____ $$ | $$| $$ | $$
20 | %%%%%%%%%%%%%%%%% | $$ | $$$$$$$| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$/| $$ /$$$$$$$/ /$$| $$| $$$$$$/
21 | %%%%%%%%%%%% |__/ \_______/ \____ $$ \_______/|__/ \__/ \______/ |__/|_______/ |__/|__/ \______/
22 | %%%%%% /$$ \ $$
23 | | $$$$$$/ ---------------- PagaNoisCLI ----------------
24 | \______/ --------------- by: danielhe4rt ---------------
25 | ";
26 |
27 | #[derive(Parser, Debug)]
28 | enum Mode {
29 | Terminal,
30 | Push,
31 | }
32 |
33 | #[derive(Parser, Debug)]
34 | #[command(version, about, long_about = None)]
35 | struct Args {
36 | /// Name of the person to greet
37 | #[command(subcommand)]
38 | mode: Mode,
39 |
40 | /// Your current salary
41 | #[arg(short, long, default_value_t = 5000)]
42 | salary: u16,
43 |
44 | #[arg(short, long, default_value_t = 5.505)]
45 | last_bid: f64,
46 | }
47 |
48 | #[derive(Serialize, Deserialize, Debug)]
49 | struct ExchangeRate {
50 | code: String,
51 | #[serde(rename = "codein")]
52 | code_in: String,
53 | name: String,
54 | high: String,
55 | low: String,
56 | #[serde(rename = "varBid")]
57 | var_bid: String,
58 | #[serde(rename = "pctChange")]
59 | pct_change: String,
60 | bid: String,
61 | ask: String,
62 | timestamp: String,
63 | create_date: String,
64 | }
65 |
66 | #[derive(Serialize, Deserialize, Debug)]
67 | struct ExchangeRates {
68 | #[serde(rename = "USDBRL")]
69 | usd_brl: ExchangeRate,
70 | }
71 |
72 | fn display_logo() {
73 | let lines: Vec = ASCII_LOGO.lines().map(|s| s.to_string()).collect();
74 | let num_lines = lines.len();
75 |
76 | // Define the gradient colors based on the logo
77 | let start_color = (203, 43, 125); // Dark purple
78 | let mid_color = (243, 63, 113); // Pink
79 | let end_color = (254, 85, 53); // Red-orange
80 |
81 | for (i, line) in lines.iter().enumerate() {
82 | let ratio = i as f32 / (num_lines - 1) as f32;
83 |
84 | let (r, g, b) = if ratio < 0.5 {
85 | let ratio = ratio * 2.0;
86 | (
87 | (start_color.0 as f32 * (1.0 - ratio) + mid_color.0 as f32 * ratio).round() as u8,
88 | (start_color.1 as f32 * (1.0 - ratio) + mid_color.1 as f32 * ratio).round() as u8,
89 | (start_color.2 as f32 * (1.0 - ratio) + mid_color.2 as f32 * ratio).round() as u8,
90 | )
91 | } else {
92 | let ratio = (ratio - 0.5) * 2.0;
93 | (
94 | (mid_color.0 as f32 * (1.0 - ratio) + end_color.0 as f32 * ratio).round() as u8,
95 | (mid_color.1 as f32 * (1.0 - ratio) + end_color.1 as f32 * ratio).round() as u8,
96 | (mid_color.2 as f32 * (1.0 - ratio) + end_color.2 as f32 * ratio).round() as u8,
97 | )
98 | };
99 |
100 | let color = Colour::RGB(r, g, b);
101 | println!("{}", color.paint(line));
102 | }
103 | }
104 |
105 | fn main() {
106 | let args = Args::parse();
107 |
108 | // TODO: Implement mode selection
109 | // match args.mode {
110 | // Mode::Terminal => {
111 | // println!("Terminal mode");
112 | // }
113 | // Mode::Push => {
114 | // println!("Push mode");
115 | // }
116 | // }
117 |
118 | let response = reqwest::blocking::get(CURRENCY_API_URL).unwrap();
119 | let exchange_rates: ExchangeRates = response.json().unwrap();
120 |
121 | let final_salary = args.salary as f64 * exchange_rates.usd_brl.bid.parse::().unwrap();
122 | let previous_salary = args.salary as f64 * args.last_bid;
123 |
124 | let final_less_one_percent = final_salary * 0.99;
125 | let final_less_half_percent = final_salary * 0.995;
126 | let salary_diff = final_salary - previous_salary;
127 |
128 | let table = vec![vec![
129 | format!("R$ {:.2}", final_salary)
130 | .cell()
131 | .justify(Justify::Center),
132 | format!("R$ {:.2}", args.last_bid)
133 | .cell()
134 | .justify(Justify::Center),
135 | format!(
136 | "R$ {:.2}",
137 | exchange_rates.usd_brl.bid.parse::().unwrap()
138 | )
139 | .cell()
140 | .justify(Justify::Center),
141 | format!("R$ {:.2}", previous_salary)
142 | .cell()
143 | .justify(Justify::Center),
144 | format!("R$ {:.2}", final_less_half_percent)
145 | .cell()
146 | .justify(Justify::Center),
147 | format!("R$ {:.2}", salary_diff)
148 | .cell()
149 | .justify(Justify::Center),
150 | ]]
151 | .table()
152 | .title(vec![
153 | "Current Salary".cell().bold(true),
154 | "Last Payment BID".cell().bold(true),
155 | "Current BID".cell().bold(true),
156 | "Previous Salary".cell().bold(true),
157 | "Upcoming Salary".cell().bold(true),
158 | "BID Salary Diff".cell().bold(true),
159 | ])
160 | .bold(true);
161 |
162 | let husky_table = vec![vec![
163 | format!("R$ {:.2}", final_salary)
164 | .cell()
165 | .justify(Justify::Center),
166 | format!("R$ {:.2}", final_less_one_percent)
167 | .cell()
168 | .justify(Justify::Center),
169 | format!("R$ {:.2}", final_less_half_percent)
170 | .cell()
171 | .justify(Justify::Center),
172 | format!("R$ {:.2}", final_less_one_percent - final_less_half_percent)
173 | .cell()
174 | .justify(Justify::Center),
175 | ]]
176 | .table()
177 | .title(vec![
178 | "Current Salary".cell().bold(true),
179 | "With 1% Discount".cell().bold(true),
180 | "With 0.5% Discount".cell().bold(true),
181 | "Discount Diff".cell().bold(true),
182 | ]);
183 |
184 | display_logo();
185 | println!("{}", "Salary information:".bold());
186 | println!("{}", table.display().unwrap());
187 | println!("{}", "Husky information:".bold());
188 | println!("{}", husky_table.display().unwrap());
189 |
190 | if salary_diff > 0.0 {
191 | println!("{}", "Status: FAZ O L CARAIO".green());
192 | } else {
193 | println!("{}", "Status: DESFAÇA O L IMEDIATAMENTE".red());
194 | }
195 |
196 | println!("\n{}", "Dont forget to drink water!".cyan());
197 | }
198 |
--------------------------------------------------------------------------------