html_templates
src
static
···
28
28
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
29
29
30
30
[[package]]
31
31
+
name = "adler32"
32
32
+
version = "1.2.0"
33
33
+
source = "registry+https://github.com/rust-lang/crates.io-index"
34
34
+
checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
35
35
+
36
36
+
[[package]]
31
37
name = "ahash"
32
38
version = "0.8.12"
33
39
source = "registry+https://github.com/rust-lang/crates.io-index"
···
55
61
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
56
62
57
63
[[package]]
64
64
+
name = "alloc-no-stdlib"
65
65
+
version = "2.0.4"
66
66
+
source = "registry+https://github.com/rust-lang/crates.io-index"
67
67
+
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
68
68
+
69
69
+
[[package]]
70
70
+
name = "alloc-stdlib"
71
71
+
version = "0.2.2"
72
72
+
source = "registry+https://github.com/rust-lang/crates.io-index"
73
73
+
checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
74
74
+
dependencies = [
75
75
+
"alloc-no-stdlib",
76
76
+
]
77
77
+
78
78
+
[[package]]
58
79
name = "allocator-api2"
59
80
version = "0.2.21"
60
81
source = "registry+https://github.com/rust-lang/crates.io-index"
···
83
104
dependencies = [
84
105
"object",
85
106
]
107
107
+
108
108
+
[[package]]
109
109
+
name = "ascii"
110
110
+
version = "1.1.0"
111
111
+
source = "registry+https://github.com/rust-lang/crates.io-index"
112
112
+
checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
86
113
87
114
[[package]]
88
115
name = "async-channel"
···
434
461
435
462
[[package]]
436
463
name = "base64"
464
464
+
version = "0.13.1"
465
465
+
source = "registry+https://github.com/rust-lang/crates.io-index"
466
466
+
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
467
467
+
468
468
+
[[package]]
469
469
+
name = "base64"
437
470
version = "0.22.1"
438
471
source = "registry+https://github.com/rust-lang/crates.io-index"
439
472
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
···
510
543
]
511
544
512
545
[[package]]
546
546
+
name = "brotli"
547
547
+
version = "3.5.0"
548
548
+
source = "registry+https://github.com/rust-lang/crates.io-index"
549
549
+
checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391"
550
550
+
dependencies = [
551
551
+
"alloc-no-stdlib",
552
552
+
"alloc-stdlib",
553
553
+
"brotli-decompressor",
554
554
+
]
555
555
+
556
556
+
[[package]]
557
557
+
name = "brotli-decompressor"
558
558
+
version = "2.5.1"
559
559
+
source = "registry+https://github.com/rust-lang/crates.io-index"
560
560
+
checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
561
561
+
dependencies = [
562
562
+
"alloc-no-stdlib",
563
563
+
"alloc-stdlib",
564
564
+
]
565
565
+
566
566
+
[[package]]
513
567
name = "bstr"
514
568
version = "1.12.1"
515
569
source = "registry+https://github.com/rust-lang/crates.io-index"
···
541
595
"cc-traits",
542
596
"slab",
543
597
"smallvec",
598
598
+
]
599
599
+
600
600
+
[[package]]
601
601
+
name = "buf_redux"
602
602
+
version = "0.8.4"
603
603
+
source = "registry+https://github.com/rust-lang/crates.io-index"
604
604
+
checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
605
605
+
dependencies = [
606
606
+
"memchr",
607
607
+
"safemem",
544
608
]
545
609
546
610
[[package]]
···
595
659
]
596
660
597
661
[[package]]
662
662
+
name = "cesu8"
663
663
+
version = "1.1.0"
664
664
+
source = "registry+https://github.com/rust-lang/crates.io-index"
665
665
+
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
666
666
+
667
667
+
[[package]]
598
668
name = "cfg-if"
599
669
version = "1.0.4"
600
670
source = "registry+https://github.com/rust-lang/crates.io-index"
···
629
699
"hashbrown 0.14.5",
630
700
"stacker",
631
701
]
702
702
+
703
703
+
[[package]]
704
704
+
name = "chunked_transfer"
705
705
+
version = "1.5.0"
706
706
+
source = "registry+https://github.com/rust-lang/crates.io-index"
707
707
+
checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901"
632
708
633
709
[[package]]
634
710
name = "ciborium"
···
700
776
]
701
777
702
778
[[package]]
779
779
+
name = "combine"
780
780
+
version = "4.6.7"
781
781
+
source = "registry+https://github.com/rust-lang/crates.io-index"
782
782
+
checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
783
783
+
dependencies = [
784
784
+
"bytes",
785
785
+
"memchr",
786
786
+
]
787
787
+
788
788
+
[[package]]
703
789
name = "compression-codecs"
704
790
version = "0.4.35"
705
791
source = "registry+https://github.com/rust-lang/crates.io-index"
···
745
831
source = "registry+https://github.com/rust-lang/crates.io-index"
746
832
checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747"
747
833
dependencies = [
748
748
-
"base64",
834
834
+
"base64 0.22.1",
749
835
"hmac",
750
836
"percent-encoding",
751
837
"rand 0.8.5",
···
776
862
]
777
863
778
864
[[package]]
865
865
+
name = "core-foundation"
866
866
+
version = "0.10.1"
867
867
+
source = "registry+https://github.com/rust-lang/crates.io-index"
868
868
+
checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
869
869
+
dependencies = [
870
870
+
"core-foundation-sys",
871
871
+
"libc",
872
872
+
]
873
873
+
874
874
+
[[package]]
779
875
name = "core-foundation-sys"
780
876
version = "0.8.7"
781
877
source = "registry+https://github.com/rust-lang/crates.io-index"
···
830
926
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
831
927
832
928
[[package]]
929
929
+
name = "crossbeam-channel"
930
930
+
version = "0.5.15"
931
931
+
source = "registry+https://github.com/rust-lang/crates.io-index"
932
932
+
checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
933
933
+
dependencies = [
934
934
+
"crossbeam-utils",
935
935
+
]
936
936
+
937
937
+
[[package]]
833
938
name = "crossbeam-queue"
834
939
version = "0.3.12"
835
940
source = "registry+https://github.com/rust-lang/crates.io-index"
···
980
1085
dependencies = [
981
1086
"data-encoding",
982
1087
"syn 2.0.112",
1088
1088
+
]
1089
1089
+
1090
1090
+
[[package]]
1091
1091
+
name = "deflate"
1092
1092
+
version = "1.0.0"
1093
1093
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1094
1094
+
checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f"
1095
1095
+
dependencies = [
1096
1096
+
"adler32",
1097
1097
+
"gzip-header",
983
1098
]
984
1099
985
1100
[[package]]
···
1154
1269
source = "registry+https://github.com/rust-lang/crates.io-index"
1155
1270
checksum = "9298e6504d9b9e780ed3f7dfd43a61be8cd0e09eb07f7706a945b0072b6670b6"
1156
1271
dependencies = [
1157
1157
-
"base64",
1272
1272
+
"base64 0.22.1",
1158
1273
"memchr",
1159
1274
]
1160
1275
···
1186
1301
]
1187
1302
1188
1303
[[package]]
1304
1304
+
name = "enum-as-inner"
1305
1305
+
version = "0.6.1"
1306
1306
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1307
1307
+
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
1308
1308
+
dependencies = [
1309
1309
+
"heck 0.5.0",
1310
1310
+
"proc-macro2",
1311
1311
+
"quote",
1312
1312
+
"syn 2.0.112",
1313
1313
+
]
1314
1314
+
1315
1315
+
[[package]]
1189
1316
name = "equivalent"
1190
1317
version = "1.0.2"
1191
1318
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1256
1383
]
1257
1384
1258
1385
[[package]]
1386
1386
+
name = "filetime"
1387
1387
+
version = "0.2.27"
1388
1388
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1389
1389
+
checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db"
1390
1390
+
dependencies = [
1391
1391
+
"cfg-if",
1392
1392
+
"libc",
1393
1393
+
"libredox",
1394
1394
+
]
1395
1395
+
1396
1396
+
[[package]]
1259
1397
name = "find-msvc-tools"
1260
1398
version = "0.1.6"
1261
1399
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1339
1477
version = "1.3.0"
1340
1478
source = "registry+https://github.com/rust-lang/crates.io-index"
1341
1479
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
1480
1480
+
1481
1481
+
[[package]]
1482
1482
+
name = "futf"
1483
1483
+
version = "0.1.5"
1484
1484
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1485
1485
+
checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
1486
1486
+
dependencies = [
1487
1487
+
"mac",
1488
1488
+
"new_debug_unreachable",
1489
1489
+
]
1342
1490
1343
1491
[[package]]
1344
1492
name = "futures-buffered"
···
1536
1684
]
1537
1685
1538
1686
[[package]]
1687
1687
+
name = "gloo-storage"
1688
1688
+
version = "0.3.0"
1689
1689
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1690
1690
+
checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a"
1691
1691
+
dependencies = [
1692
1692
+
"gloo-utils",
1693
1693
+
"js-sys",
1694
1694
+
"serde",
1695
1695
+
"serde_json",
1696
1696
+
"thiserror 1.0.69",
1697
1697
+
"wasm-bindgen",
1698
1698
+
"web-sys",
1699
1699
+
]
1700
1700
+
1701
1701
+
[[package]]
1539
1702
name = "gloo-timers"
1540
1703
version = "0.3.0"
1541
1704
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1548
1711
]
1549
1712
1550
1713
[[package]]
1714
1714
+
name = "gloo-utils"
1715
1715
+
version = "0.2.0"
1716
1716
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1717
1717
+
checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa"
1718
1718
+
dependencies = [
1719
1719
+
"js-sys",
1720
1720
+
"serde",
1721
1721
+
"serde_json",
1722
1722
+
"wasm-bindgen",
1723
1723
+
"web-sys",
1724
1724
+
]
1725
1725
+
1726
1726
+
[[package]]
1551
1727
name = "governor"
1552
1728
version = "0.10.4"
1553
1729
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1579
1755
"ff",
1580
1756
"rand_core 0.6.4",
1581
1757
"subtle",
1758
1758
+
]
1759
1759
+
1760
1760
+
[[package]]
1761
1761
+
name = "gzip-header"
1762
1762
+
version = "1.0.0"
1763
1763
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1764
1764
+
checksum = "95cc527b92e6029a62960ad99aa8a6660faa4555fe5f731aab13aa6a921795a2"
1765
1765
+
dependencies = [
1766
1766
+
"crc32fast",
1582
1767
]
1583
1768
1584
1769
[[package]]
···
1729
1914
checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f"
1730
1915
1731
1916
[[package]]
1917
1917
+
name = "hickory-proto"
1918
1918
+
version = "0.24.4"
1919
1919
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1920
1920
+
checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248"
1921
1921
+
dependencies = [
1922
1922
+
"async-trait",
1923
1923
+
"cfg-if",
1924
1924
+
"data-encoding",
1925
1925
+
"enum-as-inner",
1926
1926
+
"futures-channel",
1927
1927
+
"futures-io",
1928
1928
+
"futures-util",
1929
1929
+
"idna",
1930
1930
+
"ipnet",
1931
1931
+
"once_cell",
1932
1932
+
"rand 0.8.5",
1933
1933
+
"thiserror 1.0.69",
1934
1934
+
"tinyvec",
1935
1935
+
"tokio",
1936
1936
+
"tracing",
1937
1937
+
"url",
1938
1938
+
]
1939
1939
+
1940
1940
+
[[package]]
1941
1941
+
name = "hickory-resolver"
1942
1942
+
version = "0.24.4"
1943
1943
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1944
1944
+
checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e"
1945
1945
+
dependencies = [
1946
1946
+
"cfg-if",
1947
1947
+
"futures-util",
1948
1948
+
"hickory-proto",
1949
1949
+
"ipconfig",
1950
1950
+
"lru-cache",
1951
1951
+
"once_cell",
1952
1952
+
"parking_lot",
1953
1953
+
"rand 0.8.5",
1954
1954
+
"resolv-conf",
1955
1955
+
"smallvec",
1956
1956
+
"thiserror 1.0.69",
1957
1957
+
"tokio",
1958
1958
+
"tracing",
1959
1959
+
]
1960
1960
+
1961
1961
+
[[package]]
1732
1962
name = "hkdf"
1733
1963
version = "0.12.4"
1734
1964
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1765
1995
]
1766
1996
1767
1997
[[package]]
1998
1998
+
name = "html5ever"
1999
1999
+
version = "0.27.0"
2000
2000
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2001
2001
+
checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4"
2002
2002
+
dependencies = [
2003
2003
+
"log",
2004
2004
+
"mac",
2005
2005
+
"markup5ever",
2006
2006
+
"proc-macro2",
2007
2007
+
"quote",
2008
2008
+
"syn 2.0.112",
2009
2009
+
]
2010
2010
+
2011
2011
+
[[package]]
1768
2012
name = "http"
1769
2013
version = "1.4.0"
1770
2014
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1868
2112
source = "registry+https://github.com/rust-lang/crates.io-index"
1869
2113
checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f"
1870
2114
dependencies = [
1871
1871
-
"base64",
2115
2115
+
"base64 0.22.1",
1872
2116
"bytes",
1873
2117
"futures-channel",
1874
2118
"futures-core",
···
1880
2124
"libc",
1881
2125
"percent-encoding",
1882
2126
"pin-project-lite",
1883
1883
-
"socket2",
2127
2127
+
"socket2 0.6.1",
1884
2128
"system-configuration",
1885
2129
"tokio",
1886
2130
"tower-service",
···
2077
2321
]
2078
2322
2079
2323
[[package]]
2324
2324
+
name = "ipconfig"
2325
2325
+
version = "0.3.2"
2326
2326
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2327
2327
+
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
2328
2328
+
dependencies = [
2329
2329
+
"socket2 0.5.10",
2330
2330
+
"widestring",
2331
2331
+
"windows-sys 0.48.0",
2332
2332
+
"winreg",
2333
2333
+
]
2334
2334
+
2335
2335
+
[[package]]
2080
2336
name = "ipld-core"
2081
2337
version = "0.4.2"
2082
2338
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2110
2366
checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
2111
2367
2112
2368
[[package]]
2369
2369
+
name = "jacquard"
2370
2370
+
version = "0.9.5"
2371
2371
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2372
2372
+
checksum = "f7c1fdbcf1153e6e6b87fde20036c1ffe7473c4852f1c6369bc4ef1fe47ccb9f"
2373
2373
+
dependencies = [
2374
2374
+
"bytes",
2375
2375
+
"getrandom 0.2.16",
2376
2376
+
"gloo-storage",
2377
2377
+
"http",
2378
2378
+
"jacquard-api",
2379
2379
+
"jacquard-common",
2380
2380
+
"jacquard-derive",
2381
2381
+
"jacquard-identity",
2382
2382
+
"jacquard-oauth",
2383
2383
+
"jose-jwk",
2384
2384
+
"miette",
2385
2385
+
"regex",
2386
2386
+
"regex-lite",
2387
2387
+
"reqwest",
2388
2388
+
"serde",
2389
2389
+
"serde_html_form",
2390
2390
+
"serde_json",
2391
2391
+
"smol_str",
2392
2392
+
"thiserror 2.0.17",
2393
2393
+
"tokio",
2394
2394
+
"trait-variant",
2395
2395
+
"url",
2396
2396
+
"webpage",
2397
2397
+
]
2398
2398
+
2399
2399
+
[[package]]
2113
2400
name = "jacquard-api"
2114
2401
version = "0.9.5"
2115
2402
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2135
2422
source = "registry+https://github.com/rust-lang/crates.io-index"
2136
2423
checksum = "1751921e0bdae5e0077afade6161545e9ef7698306c868f800916e99ecbcaae9"
2137
2424
dependencies = [
2138
2138
-
"base64",
2425
2425
+
"base64 0.22.1",
2139
2426
"bon",
2140
2427
"bytes",
2141
2428
"chrono",
···
2191
2478
dependencies = [
2192
2479
"bon",
2193
2480
"bytes",
2481
2481
+
"hickory-resolver",
2194
2482
"http",
2195
2483
"jacquard-api",
2196
2484
"jacquard-common",
2197
2485
"jacquard-lexicon",
2198
2486
"miette",
2487
2487
+
"mini-moka-wasm",
2199
2488
"n0-future",
2200
2489
"percent-encoding",
2201
2490
"reqwest",
···
2242
2531
source = "registry+https://github.com/rust-lang/crates.io-index"
2243
2532
checksum = "68bf0b0e061d85b09cfa78588dc098918d5b62f539a719165c6a806a1d2c0ef2"
2244
2533
dependencies = [
2245
2245
-
"base64",
2534
2534
+
"base64 0.22.1",
2246
2535
"bytes",
2247
2536
"chrono",
2248
2537
"dashmap",
···
2255
2544
"miette",
2256
2545
"p256",
2257
2546
"rand 0.8.5",
2547
2547
+
"rouille",
2258
2548
"serde",
2259
2549
"serde_html_form",
2260
2550
"serde_json",
···
2264
2554
"tokio",
2265
2555
"trait-variant",
2266
2556
"url",
2557
2557
+
"webbrowser",
2267
2558
]
2268
2559
2269
2560
[[package]]
2561
2561
+
name = "jni"
2562
2562
+
version = "0.21.1"
2563
2563
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2564
2564
+
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
2565
2565
+
dependencies = [
2566
2566
+
"cesu8",
2567
2567
+
"cfg-if",
2568
2568
+
"combine",
2569
2569
+
"jni-sys",
2570
2570
+
"log",
2571
2571
+
"thiserror 1.0.69",
2572
2572
+
"walkdir",
2573
2573
+
"windows-sys 0.45.0",
2574
2574
+
]
2575
2575
+
2576
2576
+
[[package]]
2577
2577
+
name = "jni-sys"
2578
2578
+
version = "0.3.0"
2579
2579
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2580
2580
+
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
2581
2581
+
2582
2582
+
[[package]]
2270
2583
name = "jobserver"
2271
2584
version = "0.1.34"
2272
2585
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2319
2632
checksum = "a808e078330e6af222eb0044b71d4b1ff981bfef43e7bc8133a88234e0c86a0c"
2320
2633
dependencies = [
2321
2634
"anyhow",
2322
2322
-
"base64",
2635
2635
+
"base64 0.22.1",
2323
2636
"flate2",
2324
2637
"openssl",
2325
2638
"regex",
···
2416
2729
dependencies = [
2417
2730
"async-std",
2418
2731
"async-trait",
2419
2419
-
"base64",
2732
2732
+
"base64 0.22.1",
2420
2733
"chumsky",
2421
2734
"email-encoding",
2422
2735
"email_address",
···
2430
2743
"percent-encoding",
2431
2744
"quoted_printable",
2432
2745
"rustls",
2433
2433
-
"socket2",
2746
2746
+
"socket2 0.6.1",
2434
2747
"tokio",
2435
2748
"tokio-rustls",
2436
2749
"url",
···
2472
2785
]
2473
2786
2474
2787
[[package]]
2788
2788
+
name = "linked-hash-map"
2789
2789
+
version = "0.5.6"
2790
2790
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2791
2791
+
checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
2792
2792
+
2793
2793
+
[[package]]
2475
2794
name = "linux-raw-sys"
2476
2795
version = "0.11.0"
2477
2796
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2515
2834
]
2516
2835
2517
2836
[[package]]
2837
2837
+
name = "lru-cache"
2838
2838
+
version = "0.1.2"
2839
2839
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2840
2840
+
checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
2841
2841
+
dependencies = [
2842
2842
+
"linked-hash-map",
2843
2843
+
]
2844
2844
+
2845
2845
+
[[package]]
2518
2846
name = "lru-slab"
2519
2847
version = "0.1.2"
2520
2848
source = "registry+https://github.com/rust-lang/crates.io-index"
2521
2849
checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
2522
2850
2523
2851
[[package]]
2852
2852
+
name = "mac"
2853
2853
+
version = "0.1.1"
2854
2854
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2855
2855
+
checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
2856
2856
+
2857
2857
+
[[package]]
2858
2858
+
name = "markup5ever"
2859
2859
+
version = "0.12.1"
2860
2860
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2861
2861
+
checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45"
2862
2862
+
dependencies = [
2863
2863
+
"log",
2864
2864
+
"phf",
2865
2865
+
"phf_codegen",
2866
2866
+
"string_cache",
2867
2867
+
"string_cache_codegen",
2868
2868
+
"tendril",
2869
2869
+
]
2870
2870
+
2871
2871
+
[[package]]
2872
2872
+
name = "markup5ever_rcdom"
2873
2873
+
version = "0.3.0"
2874
2874
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2875
2875
+
checksum = "edaa21ab3701bfee5099ade5f7e1f84553fd19228cf332f13cd6e964bf59be18"
2876
2876
+
dependencies = [
2877
2877
+
"html5ever",
2878
2878
+
"markup5ever",
2879
2879
+
"tendril",
2880
2880
+
"xml5ever",
2881
2881
+
]
2882
2882
+
2883
2883
+
[[package]]
2524
2884
name = "match-lookup"
2525
2885
version = "0.1.1"
2526
2886
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2591
2951
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
2592
2952
2593
2953
[[package]]
2954
2954
+
name = "mime_guess"
2955
2955
+
version = "2.0.5"
2956
2956
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2957
2957
+
checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
2958
2958
+
dependencies = [
2959
2959
+
"mime",
2960
2960
+
"unicase",
2961
2961
+
]
2962
2962
+
2963
2963
+
[[package]]
2964
2964
+
name = "mini-moka-wasm"
2965
2965
+
version = "0.10.99"
2966
2966
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2967
2967
+
checksum = "0102b9a2ad50fa47ca89eead2316c8222285ecfbd3f69ce99564fbe4253866e8"
2968
2968
+
dependencies = [
2969
2969
+
"crossbeam-channel",
2970
2970
+
"crossbeam-utils",
2971
2971
+
"dashmap",
2972
2972
+
"smallvec",
2973
2973
+
"tagptr",
2974
2974
+
"triomphe",
2975
2975
+
"web-time",
2976
2976
+
]
2977
2977
+
2978
2978
+
[[package]]
2594
2979
name = "minimal-lexical"
2595
2980
version = "0.2.1"
2596
2981
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2641
3026
]
2642
3027
2643
3028
[[package]]
3029
3029
+
name = "multipart"
3030
3030
+
version = "0.18.0"
3031
3031
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3032
3032
+
checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182"
3033
3033
+
dependencies = [
3034
3034
+
"buf_redux",
3035
3035
+
"httparse",
3036
3036
+
"log",
3037
3037
+
"mime",
3038
3038
+
"mime_guess",
3039
3039
+
"quick-error",
3040
3040
+
"rand 0.8.5",
3041
3041
+
"safemem",
3042
3042
+
"tempfile",
3043
3043
+
"twoway",
3044
3044
+
]
3045
3045
+
3046
3046
+
[[package]]
2644
3047
name = "n0-future"
2645
3048
version = "0.1.3"
2646
3049
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2660
3063
"wasm-bindgen-futures",
2661
3064
"web-time",
2662
3065
]
3066
3066
+
3067
3067
+
[[package]]
3068
3068
+
name = "ndk-context"
3069
3069
+
version = "0.1.1"
3070
3070
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3071
3071
+
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
3072
3072
+
3073
3073
+
[[package]]
3074
3074
+
name = "new_debug_unreachable"
3075
3075
+
version = "1.0.6"
3076
3076
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3077
3077
+
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
2663
3078
2664
3079
[[package]]
2665
3080
name = "nom"
···
2769
3184
]
2770
3185
2771
3186
[[package]]
3187
3187
+
name = "num_cpus"
3188
3188
+
version = "1.17.0"
3189
3189
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3190
3190
+
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
3191
3191
+
dependencies = [
3192
3192
+
"hermit-abi",
3193
3193
+
"libc",
3194
3194
+
]
3195
3195
+
3196
3196
+
[[package]]
3197
3197
+
name = "num_threads"
3198
3198
+
version = "0.1.7"
3199
3199
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3200
3200
+
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
3201
3201
+
dependencies = [
3202
3202
+
"libc",
3203
3203
+
]
3204
3204
+
3205
3205
+
[[package]]
3206
3206
+
name = "objc2"
3207
3207
+
version = "0.6.4"
3208
3208
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3209
3209
+
checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3210
3210
+
dependencies = [
3211
3211
+
"objc2-encode",
3212
3212
+
]
3213
3213
+
3214
3214
+
[[package]]
3215
3215
+
name = "objc2-encode"
3216
3216
+
version = "4.1.0"
3217
3217
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3218
3218
+
checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3219
3219
+
3220
3220
+
[[package]]
3221
3221
+
name = "objc2-foundation"
3222
3222
+
version = "0.3.2"
3223
3223
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3224
3224
+
checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3225
3225
+
dependencies = [
3226
3226
+
"bitflags",
3227
3227
+
"objc2",
3228
3228
+
]
3229
3229
+
3230
3230
+
[[package]]
2772
3231
name = "object"
2773
3232
version = "0.32.2"
2774
3233
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2926
3385
"axum",
2927
3386
"axum-extra",
2928
3387
"axum-template",
2929
2929
-
"base64",
3388
3388
+
"base64 0.22.1",
2930
3389
"chrono",
2931
3390
"dashmap",
2932
3391
"dotenvy",
···
2934
3393
"hex",
2935
3394
"html-escape",
2936
3395
"hyper-util",
3396
3396
+
"jacquard",
2937
3397
"jacquard-api",
2938
3398
"jacquard-common",
2939
3399
"jacquard-identity",
···
3024
3484
]
3025
3485
3026
3486
[[package]]
3487
3487
+
name = "phf"
3488
3488
+
version = "0.11.3"
3489
3489
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3490
3490
+
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
3491
3491
+
dependencies = [
3492
3492
+
"phf_shared",
3493
3493
+
]
3494
3494
+
3495
3495
+
[[package]]
3496
3496
+
name = "phf_codegen"
3497
3497
+
version = "0.11.3"
3498
3498
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3499
3499
+
checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
3500
3500
+
dependencies = [
3501
3501
+
"phf_generator",
3502
3502
+
"phf_shared",
3503
3503
+
]
3504
3504
+
3505
3505
+
[[package]]
3506
3506
+
name = "phf_generator"
3507
3507
+
version = "0.11.3"
3508
3508
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3509
3509
+
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
3510
3510
+
dependencies = [
3511
3511
+
"phf_shared",
3512
3512
+
"rand 0.8.5",
3513
3513
+
]
3514
3514
+
3515
3515
+
[[package]]
3516
3516
+
name = "phf_shared"
3517
3517
+
version = "0.11.3"
3518
3518
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3519
3519
+
checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
3520
3520
+
dependencies = [
3521
3521
+
"siphasher",
3522
3522
+
]
3523
3523
+
3524
3524
+
[[package]]
3027
3525
name = "pin-project"
3028
3526
version = "1.1.10"
3029
3527
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3149
3647
dependencies = [
3150
3648
"zerocopy",
3151
3649
]
3650
3650
+
3651
3651
+
[[package]]
3652
3652
+
name = "precomputed-hash"
3653
3653
+
version = "0.1.1"
3654
3654
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3655
3655
+
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
3152
3656
3153
3657
[[package]]
3154
3658
name = "prettyplease"
···
3241
3745
]
3242
3746
3243
3747
[[package]]
3748
3748
+
name = "quick-error"
3749
3749
+
version = "1.2.3"
3750
3750
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3751
3751
+
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
3752
3752
+
3753
3753
+
[[package]]
3244
3754
name = "quinn"
3245
3755
version = "0.11.9"
3246
3756
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3253
3763
"quinn-udp",
3254
3764
"rustc-hash",
3255
3765
"rustls",
3256
3256
-
"socket2",
3766
3766
+
"socket2 0.6.1",
3257
3767
"thiserror 2.0.17",
3258
3768
"tokio",
3259
3769
"tracing",
···
3290
3800
"cfg_aliases",
3291
3801
"libc",
3292
3802
"once_cell",
3293
3293
-
"socket2",
3803
3803
+
"socket2 0.6.1",
3294
3804
"tracing",
3295
3805
"windows-sys 0.60.2",
3296
3806
]
···
3469
3979
source = "registry+https://github.com/rust-lang/crates.io-index"
3470
3980
checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
3471
3981
dependencies = [
3472
3472
-
"base64",
3982
3982
+
"base64 0.22.1",
3473
3983
"bytes",
3474
3984
"encoding_rs",
3475
3985
"futures-core",
···
3505
4015
]
3506
4016
3507
4017
[[package]]
4018
4018
+
name = "resolv-conf"
4019
4019
+
version = "0.7.6"
4020
4020
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4021
4021
+
checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7"
4022
4022
+
4023
4023
+
[[package]]
3508
4024
name = "rfc6979"
3509
4025
version = "0.4.0"
3510
4026
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3529
4045
]
3530
4046
3531
4047
[[package]]
4048
4048
+
name = "rouille"
4049
4049
+
version = "3.6.2"
4050
4050
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4051
4051
+
checksum = "3716fbf57fc1084d7a706adf4e445298d123e4a44294c4e8213caf1b85fcc921"
4052
4052
+
dependencies = [
4053
4053
+
"base64 0.13.1",
4054
4054
+
"brotli",
4055
4055
+
"chrono",
4056
4056
+
"deflate",
4057
4057
+
"filetime",
4058
4058
+
"multipart",
4059
4059
+
"percent-encoding",
4060
4060
+
"rand 0.8.5",
4061
4061
+
"serde",
4062
4062
+
"serde_derive",
4063
4063
+
"serde_json",
4064
4064
+
"sha1_smol",
4065
4065
+
"threadpool",
4066
4066
+
"time",
4067
4067
+
"tiny_http",
4068
4068
+
"url",
4069
4069
+
]
4070
4070
+
4071
4071
+
[[package]]
3532
4072
name = "rsa"
3533
4073
version = "0.9.9"
3534
4074
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3608
4148
"errno",
3609
4149
"libc",
3610
4150
"linux-raw-sys",
3611
3611
-
"windows-sys 0.52.0",
4151
4151
+
"windows-sys 0.61.2",
3612
4152
]
3613
4153
3614
4154
[[package]]
···
3660
4200
version = "1.0.22"
3661
4201
source = "registry+https://github.com/rust-lang/crates.io-index"
3662
4202
checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984"
4203
4203
+
4204
4204
+
[[package]]
4205
4205
+
name = "safemem"
4206
4206
+
version = "0.3.3"
4207
4207
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4208
4208
+
checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
3663
4209
3664
4210
[[package]]
3665
4211
name = "salsa20"
···
3891
4437
source = "registry+https://github.com/rust-lang/crates.io-index"
3892
4438
checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7"
3893
4439
dependencies = [
3894
3894
-
"base64",
4440
4440
+
"base64 0.22.1",
3895
4441
"chrono",
3896
4442
"hex",
3897
4443
"indexmap 1.9.3",
···
3951
4497
]
3952
4498
3953
4499
[[package]]
4500
4500
+
name = "sha1_smol"
4501
4501
+
version = "1.0.1"
4502
4502
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4503
4503
+
checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
4504
4504
+
4505
4505
+
[[package]]
3954
4506
name = "sha2"
3955
4507
version = "0.10.9"
3956
4508
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4003
4555
checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
4004
4556
4005
4557
[[package]]
4558
4558
+
name = "siphasher"
4559
4559
+
version = "1.0.2"
4560
4560
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4561
4561
+
checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
4562
4562
+
4563
4563
+
[[package]]
4006
4564
name = "slab"
4007
4565
version = "0.4.11"
4008
4566
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4029
4587
4030
4588
[[package]]
4031
4589
name = "socket2"
4590
4590
+
version = "0.5.10"
4591
4591
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4592
4592
+
checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
4593
4593
+
dependencies = [
4594
4594
+
"libc",
4595
4595
+
"windows-sys 0.52.0",
4596
4596
+
]
4597
4597
+
4598
4598
+
[[package]]
4599
4599
+
name = "socket2"
4032
4600
version = "0.6.1"
4033
4601
source = "registry+https://github.com/rust-lang/crates.io-index"
4034
4602
checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
···
4090
4658
source = "registry+https://github.com/rust-lang/crates.io-index"
4091
4659
checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
4092
4660
dependencies = [
4093
4093
-
"base64",
4661
4661
+
"base64 0.22.1",
4094
4662
"bytes",
4095
4663
"chrono",
4096
4664
"crc",
···
4166
4734
checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
4167
4735
dependencies = [
4168
4736
"atoi",
4169
4169
-
"base64",
4737
4737
+
"base64 0.22.1",
4170
4738
"bitflags",
4171
4739
"byteorder",
4172
4740
"bytes",
···
4209
4777
checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
4210
4778
dependencies = [
4211
4779
"atoi",
4212
4212
-
"base64",
4780
4780
+
"base64 0.22.1",
4213
4781
"bitflags",
4214
4782
"byteorder",
4215
4783
"chrono",
···
4309
4877
version = "1.1.0"
4310
4878
source = "registry+https://github.com/rust-lang/crates.io-index"
4311
4879
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
4880
4880
+
4881
4881
+
[[package]]
4882
4882
+
name = "string_cache"
4883
4883
+
version = "0.8.9"
4884
4884
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4885
4885
+
checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"
4886
4886
+
dependencies = [
4887
4887
+
"new_debug_unreachable",
4888
4888
+
"parking_lot",
4889
4889
+
"phf_shared",
4890
4890
+
"precomputed-hash",
4891
4891
+
"serde",
4892
4892
+
]
4893
4893
+
4894
4894
+
[[package]]
4895
4895
+
name = "string_cache_codegen"
4896
4896
+
version = "0.5.4"
4897
4897
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4898
4898
+
checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
4899
4899
+
dependencies = [
4900
4900
+
"phf_generator",
4901
4901
+
"phf_shared",
4902
4902
+
"proc-macro2",
4903
4903
+
"quote",
4904
4904
+
]
4312
4905
4313
4906
[[package]]
4314
4907
name = "stringprep"
···
4382
4975
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
4383
4976
dependencies = [
4384
4977
"bitflags",
4385
4385
-
"core-foundation",
4978
4978
+
"core-foundation 0.9.4",
4386
4979
"system-configuration-sys",
4387
4980
]
4388
4981
···
4397
4990
]
4398
4991
4399
4992
[[package]]
4993
4993
+
name = "tagptr"
4994
4994
+
version = "0.2.0"
4995
4995
+
source = "registry+https://github.com/rust-lang/crates.io-index"
4996
4996
+
checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
4997
4997
+
4998
4998
+
[[package]]
4999
4999
+
name = "tempfile"
5000
5000
+
version = "3.25.0"
5001
5001
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5002
5002
+
checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1"
5003
5003
+
dependencies = [
5004
5004
+
"fastrand",
5005
5005
+
"getrandom 0.4.1",
5006
5006
+
"once_cell",
5007
5007
+
"rustix",
5008
5008
+
"windows-sys 0.61.2",
5009
5009
+
]
5010
5010
+
5011
5011
+
[[package]]
5012
5012
+
name = "tendril"
5013
5013
+
version = "0.4.3"
5014
5014
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5015
5015
+
checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
5016
5016
+
dependencies = [
5017
5017
+
"futf",
5018
5018
+
"mac",
5019
5019
+
"utf-8",
5020
5020
+
]
5021
5021
+
5022
5022
+
[[package]]
4400
5023
name = "thiserror"
4401
5024
version = "1.0.69"
4402
5025
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4446
5069
]
4447
5070
4448
5071
[[package]]
5072
5072
+
name = "threadpool"
5073
5073
+
version = "1.8.1"
5074
5074
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5075
5075
+
checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
5076
5076
+
dependencies = [
5077
5077
+
"num_cpus",
5078
5078
+
]
5079
5079
+
5080
5080
+
[[package]]
4449
5081
name = "time"
4450
5082
version = "0.3.44"
4451
5083
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4453
5085
dependencies = [
4454
5086
"deranged",
4455
5087
"itoa",
5088
5088
+
"libc",
4456
5089
"num-conv",
5090
5090
+
"num_threads",
4457
5091
"powerfmt",
4458
5092
"serde",
4459
5093
"time-core",
···
4477
5111
]
4478
5112
4479
5113
[[package]]
5114
5114
+
name = "tiny_http"
5115
5115
+
version = "0.12.0"
5116
5116
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5117
5117
+
checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82"
5118
5118
+
dependencies = [
5119
5119
+
"ascii",
5120
5120
+
"chunked_transfer",
5121
5121
+
"httpdate",
5122
5122
+
"log",
5123
5123
+
]
5124
5124
+
5125
5125
+
[[package]]
4480
5126
name = "tinystr"
4481
5127
version = "0.8.2"
4482
5128
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4512
5158
"mio",
4513
5159
"pin-project-lite",
4514
5160
"signal-hook-registry",
4515
4515
-
"socket2",
5161
5161
+
"socket2 0.6.1",
4516
5162
"tokio-macros",
4517
5163
"windows-sys 0.61.2",
4518
5164
]
···
4571
5217
dependencies = [
4572
5218
"async-trait",
4573
5219
"axum",
4574
4574
-
"base64",
5220
5220
+
"base64 0.22.1",
4575
5221
"bytes",
4576
5222
"h2",
4577
5223
"http",
···
4582
5228
"hyper-util",
4583
5229
"percent-encoding",
4584
5230
"pin-project",
4585
4585
-
"socket2",
5231
5231
+
"socket2 0.6.1",
4586
5232
"sync_wrapper",
4587
5233
"tokio",
4588
5234
"tokio-stream",
···
4751
5397
]
4752
5398
4753
5399
[[package]]
5400
5400
+
name = "triomphe"
5401
5401
+
version = "0.1.15"
5402
5402
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5403
5403
+
checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39"
5404
5404
+
5405
5405
+
[[package]]
4754
5406
name = "try-lock"
4755
5407
version = "0.2.5"
4756
5408
source = "registry+https://github.com/rust-lang/crates.io-index"
4757
5409
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
4758
5410
4759
5411
[[package]]
5412
5412
+
name = "twoway"
5413
5413
+
version = "0.1.8"
5414
5414
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5415
5415
+
checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
5416
5416
+
dependencies = [
5417
5417
+
"memchr",
5418
5418
+
]
5419
5419
+
5420
5420
+
[[package]]
4760
5421
name = "typenum"
4761
5422
version = "1.19.0"
4762
5423
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4769
5430
checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
4770
5431
4771
5432
[[package]]
5433
5433
+
name = "unicase"
5434
5434
+
version = "2.9.0"
5435
5435
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5436
5436
+
checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
5437
5437
+
5438
5438
+
[[package]]
4772
5439
name = "unicode-bidi"
4773
5440
version = "0.3.18"
4774
5441
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4854
5521
version = "2.1.3"
4855
5522
source = "registry+https://github.com/rust-lang/crates.io-index"
4856
5523
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
5524
5524
+
5525
5525
+
[[package]]
5526
5526
+
name = "utf-8"
5527
5527
+
version = "0.7.6"
5528
5528
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5529
5529
+
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
4857
5530
4858
5531
[[package]]
4859
5532
name = "utf8-width"
···
5064
5737
]
5065
5738
5066
5739
[[package]]
5740
5740
+
name = "webbrowser"
5741
5741
+
version = "1.1.0"
5742
5742
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5743
5743
+
checksum = "3f00bb839c1cf1e3036066614cbdcd035ecf215206691ea646aa3c60a24f68f2"
5744
5744
+
dependencies = [
5745
5745
+
"core-foundation 0.10.1",
5746
5746
+
"jni",
5747
5747
+
"log",
5748
5748
+
"ndk-context",
5749
5749
+
"objc2",
5750
5750
+
"objc2-foundation",
5751
5751
+
"url",
5752
5752
+
"web-sys",
5753
5753
+
]
5754
5754
+
5755
5755
+
[[package]]
5756
5756
+
name = "webpage"
5757
5757
+
version = "2.0.1"
5758
5758
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5759
5759
+
checksum = "70862efc041d46e6bbaa82bb9c34ae0596d090e86cbd14bd9e93b36ee6802eac"
5760
5760
+
dependencies = [
5761
5761
+
"html5ever",
5762
5762
+
"markup5ever_rcdom",
5763
5763
+
"serde_json",
5764
5764
+
"url",
5765
5765
+
]
5766
5766
+
5767
5767
+
[[package]]
5067
5768
name = "webpki-roots"
5068
5769
version = "0.26.11"
5069
5770
source = "registry+https://github.com/rust-lang/crates.io-index"
···
5090
5791
"libredox",
5091
5792
"wasite",
5092
5793
]
5794
5794
+
5795
5795
+
[[package]]
5796
5796
+
name = "widestring"
5797
5797
+
version = "1.2.1"
5798
5798
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5799
5799
+
checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471"
5093
5800
5094
5801
[[package]]
5095
5802
name = "winapi"
···
5190
5897
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
5191
5898
dependencies = [
5192
5899
"windows-link",
5900
5900
+
]
5901
5901
+
5902
5902
+
[[package]]
5903
5903
+
name = "windows-sys"
5904
5904
+
version = "0.45.0"
5905
5905
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5906
5906
+
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
5907
5907
+
dependencies = [
5908
5908
+
"windows-targets 0.42.2",
5193
5909
]
5194
5910
5195
5911
[[package]]
···
5239
5955
5240
5956
[[package]]
5241
5957
name = "windows-targets"
5958
5958
+
version = "0.42.2"
5959
5959
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5960
5960
+
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
5961
5961
+
dependencies = [
5962
5962
+
"windows_aarch64_gnullvm 0.42.2",
5963
5963
+
"windows_aarch64_msvc 0.42.2",
5964
5964
+
"windows_i686_gnu 0.42.2",
5965
5965
+
"windows_i686_msvc 0.42.2",
5966
5966
+
"windows_x86_64_gnu 0.42.2",
5967
5967
+
"windows_x86_64_gnullvm 0.42.2",
5968
5968
+
"windows_x86_64_msvc 0.42.2",
5969
5969
+
]
5970
5970
+
5971
5971
+
[[package]]
5972
5972
+
name = "windows-targets"
5242
5973
version = "0.48.5"
5243
5974
source = "registry+https://github.com/rust-lang/crates.io-index"
5244
5975
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
···
5287
6018
5288
6019
[[package]]
5289
6020
name = "windows_aarch64_gnullvm"
6021
6021
+
version = "0.42.2"
6022
6022
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6023
6023
+
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
6024
6024
+
6025
6025
+
[[package]]
6026
6026
+
name = "windows_aarch64_gnullvm"
5290
6027
version = "0.48.5"
5291
6028
source = "registry+https://github.com/rust-lang/crates.io-index"
5292
6029
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
···
5305
6042
5306
6043
[[package]]
5307
6044
name = "windows_aarch64_msvc"
6045
6045
+
version = "0.42.2"
6046
6046
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6047
6047
+
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
6048
6048
+
6049
6049
+
[[package]]
6050
6050
+
name = "windows_aarch64_msvc"
5308
6051
version = "0.48.5"
5309
6052
source = "registry+https://github.com/rust-lang/crates.io-index"
5310
6053
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
···
5320
6063
version = "0.53.1"
5321
6064
source = "registry+https://github.com/rust-lang/crates.io-index"
5322
6065
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
6066
6066
+
6067
6067
+
[[package]]
6068
6068
+
name = "windows_i686_gnu"
6069
6069
+
version = "0.42.2"
6070
6070
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6071
6071
+
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
5323
6072
5324
6073
[[package]]
5325
6074
name = "windows_i686_gnu"
···
5350
6099
version = "0.53.1"
5351
6100
source = "registry+https://github.com/rust-lang/crates.io-index"
5352
6101
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
6102
6102
+
6103
6103
+
[[package]]
6104
6104
+
name = "windows_i686_msvc"
6105
6105
+
version = "0.42.2"
6106
6106
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6107
6107
+
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
5353
6108
5354
6109
[[package]]
5355
6110
name = "windows_i686_msvc"
···
5371
6126
5372
6127
[[package]]
5373
6128
name = "windows_x86_64_gnu"
6129
6129
+
version = "0.42.2"
6130
6130
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6131
6131
+
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
6132
6132
+
6133
6133
+
[[package]]
6134
6134
+
name = "windows_x86_64_gnu"
5374
6135
version = "0.48.5"
5375
6136
source = "registry+https://github.com/rust-lang/crates.io-index"
5376
6137
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
···
5389
6150
5390
6151
[[package]]
5391
6152
name = "windows_x86_64_gnullvm"
6153
6153
+
version = "0.42.2"
6154
6154
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6155
6155
+
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
6156
6156
+
6157
6157
+
[[package]]
6158
6158
+
name = "windows_x86_64_gnullvm"
5392
6159
version = "0.48.5"
5393
6160
source = "registry+https://github.com/rust-lang/crates.io-index"
5394
6161
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
···
5407
6174
5408
6175
[[package]]
5409
6176
name = "windows_x86_64_msvc"
6177
6177
+
version = "0.42.2"
6178
6178
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6179
6179
+
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
6180
6180
+
6181
6181
+
[[package]]
6182
6182
+
name = "windows_x86_64_msvc"
5410
6183
version = "0.48.5"
5411
6184
source = "registry+https://github.com/rust-lang/crates.io-index"
5412
6185
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
···
5422
6195
version = "0.53.1"
5423
6196
source = "registry+https://github.com/rust-lang/crates.io-index"
5424
6197
checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
6198
6198
+
6199
6199
+
[[package]]
6200
6200
+
name = "winreg"
6201
6201
+
version = "0.50.0"
6202
6202
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6203
6203
+
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
6204
6204
+
dependencies = [
6205
6205
+
"cfg-if",
6206
6206
+
"windows-sys 0.48.0",
6207
6207
+
]
5425
6208
5426
6209
[[package]]
5427
6210
name = "wit-bindgen"
···
5522
6305
version = "0.6.2"
5523
6306
source = "registry+https://github.com/rust-lang/crates.io-index"
5524
6307
checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
6308
6308
+
6309
6309
+
[[package]]
6310
6310
+
name = "xml5ever"
6311
6311
+
version = "0.18.1"
6312
6312
+
source = "registry+https://github.com/rust-lang/crates.io-index"
6313
6313
+
checksum = "9bbb26405d8e919bc1547a5aa9abc95cbfa438f04844f5fdd9dc7596b748bf69"
6314
6314
+
dependencies = [
6315
6315
+
"log",
6316
6316
+
"mac",
6317
6317
+
"markup5ever",
6318
6318
+
]
5525
6319
5526
6320
[[package]]
5527
6321
name = "yansi"
···
48
48
p256 = { version = "0.13", features = ["ecdsa", "jwk"] }
49
49
jose-jwk = { version = "0.1", features = ["p256"] }
50
50
base64 = "0.22"
51
51
+
jacquard = "0.9.5"
51
52
···
21
21
<button type="submit" class="btn btn-primary">Search</button>
22
22
</form>
23
23
24
24
+
<form class="search-form" method="GET" action="/admin/account">
25
25
+
<input type="text" name="q" placeholder="Direct lookup by did or handle" value="{{search_query}}"/>
26
26
+
<button type="submit" class="btn btn-primary">Search</button>
27
27
+
</form>
28
28
+
29
29
+
24
30
{{#if accounts}}
25
31
<div class="table-container">
26
32
<table>
···
1
1
+
use crate::AppState;
1
2
use axum::{
2
3
extract::{Extension, Path, Query, State},
3
4
http::StatusCode,
4
5
response::{Html, IntoResponse, Redirect, Response},
5
6
};
6
7
use axum_extra::extract::cookie::{Cookie, SignedCookieJar};
8
8
+
use jacquard::client::BasicClient;
9
9
+
use jacquard_common::types::handle::Handle;
10
10
+
use jacquard_identity::resolver::IdentityResolver;
7
11
use serde::Deserialize;
8
8
-
9
9
-
use crate::AppState;
10
12
11
13
use super::middleware::{AdminPermissions, AdminSession};
12
14
use super::pds_proxy;
···
25
27
pub flash_success: Option<String>,
26
28
pub flash_error: Option<String>,
27
29
pub new_password: Option<String>,
30
30
+
pub direct_lookup: Option<String>,
28
31
}
29
32
30
33
#[derive(Debug, Deserialize)]
···
373
376
let pds = pds_url(&state);
374
377
let password = admin_password(&state);
375
378
379
379
+
let mut look_up_did: String = params.direct_lookup.unwrap_or_else(|| did);
380
380
+
381
381
+
if !look_up_did.starts_with("did") {
382
382
+
let handle = Handle::new(&look_up_did).unwrap();
383
383
+
let client = BasicClient::unauthenticated();
384
384
+
385
385
+
// Resolve handle to DID
386
386
+
println!("Resolving handle: {}", handle);
387
387
+
let did = client.resolve_handle(&handle).await.unwrap();
388
388
+
389
389
+
look_up_did = did.to_string()
390
390
+
}
391
391
+
376
392
// Fetch account info, subject status, repo description, and repo status in parallel
377
377
-
let did_param: Vec<(&str, &str)> = vec![("did", did.as_str())];
393
393
+
let did_param: Vec<(&str, &str)> = vec![("did", look_up_did.as_str())];
378
394
let account_fut = pds_proxy::admin_xrpc_get::<serde_json::Value>(
379
395
pds,
380
396
password,
···
382
398
&did_param,
383
399
);
384
400
385
385
-
let did_param2: Vec<(&str, &str)> = vec![("did", did.as_str())];
401
401
+
let did_param2: Vec<(&str, &str)> = vec![("did", look_up_did.as_str())];
386
402
let status_fut = pds_proxy::admin_xrpc_get::<serde_json::Value>(
387
403
pds,
388
404
password,
···
391
407
);
392
408
393
409
// Gap 2: fetch repo description (public, no auth needed)
394
394
-
let repo_param: Vec<(&str, &str)> = vec![("repo", did.as_str())];
410
410
+
let repo_param: Vec<(&str, &str)> = vec![("repo", look_up_did.as_str())];
395
411
let describe_repo_fut = pds_proxy::public_xrpc_get::<serde_json::Value>(
396
412
pds,
397
413
"com.atproto.repo.describeRepo",
···
399
415
);
400
416
401
417
// Gap 2: fetch repo status (public, no auth needed)
402
402
-
let did_param3: Vec<(&str, &str)> = vec![("did", did.as_str())];
418
418
+
let did_param3: Vec<(&str, &str)> = vec![("did", look_up_did.as_str())];
403
419
let repo_status_fut = pds_proxy::public_xrpc_get::<serde_json::Value>(
404
420
pds,
405
421
"com.atproto.sync.getRepoStatus",
···
412
428
let account = match account_res {
413
429
Ok(a) => a,
414
430
Err(e) => {
415
415
-
tracing::error!("Failed to get account info for {}: {}", did, e);
431
431
+
tracing::error!("Failed to get account info for {}: {}", look_up_did, e);
416
432
return flash_redirect(
417
433
"/admin/accounts",
418
434
None,
···
29
29
match path.rsplit('.').next() {
30
30
Some("css") => "text/css; charset=utf-8",
31
31
Some("js") => "application/javascript; charset=utf-8",
32
32
-
Some("json") => "application/json",
33
32
Some("svg") => "image/svg+xml",
34
33
Some("png") => "image/png",
35
34
Some("jpg") | Some("jpeg") => "image/jpeg",
···
831
831
opacity: 0.85;
832
832
}
833
833
834
834
+
/* --- Mobile: Topbar + Hamburger ----------------------------- */
835
835
+
836
836
+
.topbar {
837
837
+
display: none;
838
838
+
position: fixed;
839
839
+
top: 0;
840
840
+
left: 0;
841
841
+
right: 0;
842
842
+
height: 52px;
843
843
+
background: var(--bg-primary-color);
844
844
+
border-bottom: 1px solid var(--border-color);
845
845
+
align-items: center;
846
846
+
padding: 0 16px;
847
847
+
gap: 12px;
848
848
+
z-index: 100;
849
849
+
}
850
850
+
851
851
+
.topbar-title {
852
852
+
font-size: 0.875rem;
853
853
+
font-weight: 600;
854
854
+
overflow: hidden;
855
855
+
text-overflow: ellipsis;
856
856
+
white-space: nowrap;
857
857
+
flex: 1;
858
858
+
}
859
859
+
860
860
+
.hamburger {
861
861
+
background: none;
862
862
+
border: none;
863
863
+
cursor: pointer;
864
864
+
padding: 4px;
865
865
+
display: flex;
866
866
+
flex-direction: column;
867
867
+
gap: 5px;
868
868
+
flex-shrink: 0;
869
869
+
}
870
870
+
871
871
+
.hamburger span {
872
872
+
display: block;
873
873
+
width: 22px;
874
874
+
height: 2px;
875
875
+
background: var(--primary-color);
876
876
+
border-radius: 2px;
877
877
+
transition: transform 0.25s ease, opacity 0.25s ease;
878
878
+
}
879
879
+
880
880
+
body.sidebar-open .hamburger span:nth-child(1) {
881
881
+
transform: translateY(7px) rotate(45deg);
882
882
+
}
883
883
+
884
884
+
body.sidebar-open .hamburger span:nth-child(2) {
885
885
+
opacity: 0;
886
886
+
}
887
887
+
888
888
+
body.sidebar-open .hamburger span:nth-child(3) {
889
889
+
transform: translateY(-7px) rotate(-45deg);
890
890
+
}
891
891
+
892
892
+
.sidebar-overlay {
893
893
+
display: none;
894
894
+
position: fixed;
895
895
+
inset: 0;
896
896
+
background: rgba(0, 0, 0, 0.4);
897
897
+
z-index: 149;
898
898
+
}
899
899
+
834
900
/* --- Responsive --------------------------------------------- */
835
901
836
902
@media (max-width: 768px) {
903
903
+
.topbar {
904
904
+
display: flex;
905
905
+
}
906
906
+
837
907
.sidebar {
838
838
-
display: none;
908
908
+
transform: translateX(-220px);
909
909
+
transition: transform 0.25s ease;
910
910
+
z-index: 150;
911
911
+
}
912
912
+
913
913
+
body.sidebar-open .sidebar {
914
914
+
transform: translateX(0);
915
915
+
}
916
916
+
917
917
+
body.sidebar-open .sidebar-overlay {
918
918
+
display: block;
839
919
}
840
920
841
921
.main {
842
922
margin-left: 0;
923
923
+
padding: 24px 16px;
924
924
+
padding-top: 76px; /* 52px topbar + 24px breathing room */
925
925
+
}
926
926
+
927
927
+
/* Tables scroll horizontally */
928
928
+
.table-container {
929
929
+
overflow-x: auto;
930
930
+
-webkit-overflow-scrolling: touch;
931
931
+
}
932
932
+
933
933
+
/* Cards: single column */
934
934
+
.cards {
935
935
+
grid-template-columns: 1fr;
936
936
+
}
937
937
+
938
938
+
/* Form cards: full width */
939
939
+
.form-card,
940
940
+
.success-card {
941
941
+
max-width: 100%;
942
942
+
}
943
943
+
944
944
+
/* Search / create forms: stack vertically */
945
945
+
.search-form,
946
946
+
.create-form {
947
947
+
flex-direction: column;
948
948
+
align-items: stretch;
949
949
+
}
950
950
+
951
951
+
.create-form input[type="number"] {
952
952
+
width: 100%;
953
953
+
}
954
954
+
955
955
+
/* Detail rows wrap on narrow screens */
956
956
+
.detail-row {
957
957
+
flex-wrap: wrap;
958
958
+
gap: 4px;
959
959
+
}
960
960
+
961
961
+
.detail-row .value {
962
962
+
max-width: 100%;
963
963
+
text-align: left;
964
964
+
}
965
965
+
966
966
+
/* Actions wrap tightly */
967
967
+
.actions {
968
968
+
flex-direction: column;
969
969
+
align-items: flex-start;
970
970
+
}
971
971
+
972
972
+
.actions form,
973
973
+
.actions .btn {
974
974
+
width: 100%;
975
975
+
display: block;
976
976
+
text-align: center;
843
977
}
844
978
}
···
1
1
+
document.addEventListener('DOMContentLoaded', function () {
2
2
+
var hamburger = document.getElementById('hamburger');
3
3
+
var overlay = document.getElementById('sidebar-overlay');
4
4
+
5
5
+
function openSidebar() {
6
6
+
document.body.classList.add('sidebar-open');
7
7
+
}
8
8
+
9
9
+
function closeSidebar() {
10
10
+
document.body.classList.remove('sidebar-open');
11
11
+
}
12
12
+
13
13
+
if (hamburger) {
14
14
+
hamburger.addEventListener('click', function () {
15
15
+
document.body.classList.toggle('sidebar-open');
16
16
+
});
17
17
+
}
18
18
+
19
19
+
if (overlay) {
20
20
+
overlay.addEventListener('click', closeSidebar);
21
21
+
}
22
22
+
23
23
+
// Close sidebar when a nav link is tapped on mobile
24
24
+
document.querySelectorAll('.sidebar nav a').forEach(function (link) {
25
25
+
link.addEventListener('click', closeSidebar);
26
26
+
});
27
27
+
});