Compare commits
1361 Commits
improvedas
...
swipe_to_s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4bfa5965a2 | ||
|
|
ffaae58abd | ||
|
|
cf56b7e057 | ||
|
|
570871a1f0 | ||
|
|
03b8b69080 | ||
|
|
839a94fcef | ||
|
|
39c600de46 | ||
|
|
6226f43b5a | ||
|
|
428288338f | ||
|
|
e254cfd752 | ||
|
|
c22b7fb218 | ||
|
|
34db62cefa | ||
|
|
ab7d894ed2 | ||
|
|
8c8cff5f80 | ||
|
|
98671760dd | ||
|
|
c843656fa3 | ||
|
|
057521e0e4 | ||
|
|
86b70ec325 | ||
|
|
166474a1b5 | ||
|
|
ebe76cbd1b | ||
|
|
5b23e32c7d | ||
|
|
a10ca66e57 | ||
|
|
c552ab61f9 | ||
|
|
f724c998a6 | ||
|
|
86f79575aa | ||
|
|
2f2265e85d | ||
|
|
2c506c9cc2 | ||
|
|
4528dc2d2a | ||
|
|
3e301cabec | ||
|
|
d72813dd07 | ||
|
|
6e9dd8d4c8 | ||
|
|
33dcf48127 | ||
|
|
b525e91aa1 | ||
|
|
392ed6e212 | ||
|
|
653761137a | ||
|
|
ec4644158b | ||
|
|
a6dda741cb | ||
|
|
43fd13c00f | ||
|
|
b0677049cb | ||
|
|
20a8df378c | ||
|
|
d9ec95b8ab | ||
|
|
c16b6a7d43 | ||
|
|
d3dccb1bea | ||
|
|
f115ce4a0d | ||
|
|
7c8febfc1b | ||
|
|
bffbc6041b | ||
|
|
7640789f08 | ||
|
|
95c04b554c | ||
|
|
5e15fccb75 | ||
|
|
7047383e09 | ||
|
|
f02bd096b0 | ||
|
|
617ae0701b | ||
|
|
8e136ecdc1 | ||
|
|
0ea408379a | ||
|
|
eeab98c768 | ||
|
|
e881c15026 | ||
|
|
21b6316996 | ||
|
|
349a5021a5 | ||
|
|
4aa92ffc43 | ||
|
|
3f5a8a503b | ||
|
|
9fe894e368 | ||
|
|
e537ba0a9a | ||
|
|
5033ab2fed | ||
|
|
987cc1c520 | ||
|
|
4773c7c262 | ||
|
|
936e0470e6 | ||
|
|
ecbb71a97b | ||
|
|
544a5a9ccc | ||
|
|
fdcc6b6997 | ||
|
|
73ad758191 | ||
|
|
a3dc691885 | ||
|
|
b25dbfc10b | ||
|
|
13c042f692 | ||
|
|
62e4a6c344 | ||
|
|
8dad88eca6 | ||
|
|
6ccb61b425 | ||
|
|
b402c6ae32 | ||
|
|
52251ad654 | ||
|
|
5ff9f408eb | ||
|
|
06bf2ddad4 | ||
|
|
0214ccf680 | ||
|
|
2e1fde906e | ||
|
|
df4364525d | ||
|
|
661d0383fb | ||
|
|
6f577d150a | ||
|
|
6086e139e4 | ||
|
|
5fef9b21e5 | ||
|
|
7069e15b79 | ||
|
|
44e165b8ee | ||
|
|
b0b82aabd8 | ||
|
|
d043658331 | ||
|
|
9616640fce | ||
|
|
10e55b6739 | ||
|
|
d661f4ac1f | ||
|
|
2865b33fc2 | ||
|
|
0f4459112e | ||
|
|
f9b8c5287d | ||
|
|
2ac968fdf6 | ||
|
|
440f9293d8 | ||
|
|
d1968e46e5 | ||
|
|
70b74fc285 | ||
|
|
c92a117e8d | ||
|
|
d7371392fe | ||
|
|
b5972a6395 | ||
|
|
ebfd8909a9 | ||
|
|
83d6d99469 | ||
|
|
1322e5df79 | ||
|
|
3b951f237f | ||
|
|
162107b3a9 | ||
|
|
54936303c8 | ||
|
|
8830a60ecf | ||
|
|
071a63a81c | ||
|
|
aa6e5c9234 | ||
|
|
5c916374f3 | ||
|
|
c5cd6cbbca | ||
|
|
cfad9f841e | ||
|
|
6d09d1f9b7 | ||
|
|
e1ce2e5e84 | ||
|
|
6f40cbe27e | ||
|
|
8e10c8bec6 | ||
|
|
eb271088a4 | ||
|
|
fde6e14440 | ||
|
|
cd433aa39e | ||
|
|
2510226a57 | ||
|
|
ecd4201304 | ||
|
|
4d11623f77 | ||
|
|
4519dc94b8 | ||
|
|
57ff75b855 | ||
|
|
d4be782b9c | ||
|
|
24858ab73b | ||
|
|
99545f0038 | ||
|
|
072ee3861b | ||
|
|
881993ed65 | ||
|
|
83516a7f27 | ||
|
|
8117a2929c | ||
|
|
8821372515 | ||
|
|
825a215213 | ||
|
|
be61cd08b8 | ||
|
|
bab30ec508 | ||
|
|
064af381c5 | ||
|
|
840b415254 | ||
|
|
711c858d06 | ||
|
|
4f60cabdd0 | ||
|
|
8fbcef4221 | ||
|
|
49bfe5aabb | ||
|
|
11584ce089 | ||
|
|
b8b2d58734 | ||
|
|
920685e15c | ||
|
|
56fe538f07 | ||
|
|
942231c521 | ||
|
|
c5b10b14d1 | ||
|
|
df80d9c355 | ||
|
|
e90ab70cc8 | ||
|
|
53dc3bace9 | ||
|
|
82ec83caf3 | ||
|
|
2f5c966892 | ||
|
|
45b1f82032 | ||
|
|
cb148ea3b1 | ||
|
|
ed660c36df | ||
|
|
2920e04aa5 | ||
|
|
ca44202fcd | ||
|
|
023610cebd | ||
|
|
d11e94c939 | ||
|
|
cfb1b8423b | ||
|
|
4d84e966b0 | ||
|
|
3bef2e8268 | ||
|
|
f2bcf1744f | ||
|
|
8d4629254c | ||
|
|
a0980a9638 | ||
|
|
4fada9bdf9 | ||
|
|
2bc95782a6 | ||
|
|
b36c4398c1 | ||
|
|
e183e1f9dd | ||
|
|
a8c267e2b0 | ||
|
|
8d8b113ef8 | ||
|
|
6f389cb64d | ||
|
|
f534984c0e | ||
|
|
a7e5de7493 | ||
|
|
49ca581904 | ||
|
|
e82e243b77 | ||
|
|
26f421c77e | ||
|
|
d4f0384f13 | ||
|
|
2a07684de0 | ||
|
|
e4f86794be | ||
|
|
b5a3821933 | ||
|
|
c7defa31f5 | ||
|
|
374b803ecc | ||
|
|
0769ba2fff | ||
|
|
95dc3d1e6c | ||
|
|
da5270daa7 | ||
|
|
a3de155a10 | ||
|
|
a761c06396 | ||
|
|
369680b4a8 | ||
|
|
24ea02c521 | ||
|
|
1fb95f7d7d | ||
|
|
c82ef796f2 | ||
|
|
f1c76adb38 | ||
|
|
46db1c240c | ||
|
|
8b5ad13595 | ||
|
|
6511179766 | ||
|
|
bbacbb08b6 | ||
|
|
67ca028dbf | ||
|
|
2f2d988eaa | ||
|
|
d0f585fc97 | ||
|
|
c86be54ac1 | ||
|
|
d24c116d14 | ||
|
|
a279c442b8 | ||
|
|
5b76225542 | ||
|
|
e2f2921d78 | ||
|
|
86584e7424 | ||
|
|
05a400102a | ||
|
|
9c7c0b9592 | ||
|
|
e807712cdc | ||
|
|
e468ecc98c | ||
|
|
dc80aac487 | ||
|
|
1a06fce8f2 | ||
|
|
933212ba59 | ||
|
|
26d8ecda08 | ||
|
|
8fc897ad16 | ||
|
|
53a8de9ac4 | ||
|
|
a99a179ef9 | ||
|
|
cdba99a7c2 | ||
|
|
b03b9fd314 | ||
|
|
4019afdd90 | ||
|
|
c12130d357 | ||
|
|
4427352f51 | ||
|
|
ac06f67891 | ||
|
|
27dab94782 | ||
|
|
99616b46a1 | ||
|
|
d72a561a9b | ||
|
|
75baee00c2 | ||
|
|
8b696b1242 | ||
|
|
aebe12bd9e | ||
|
|
fcb86da03c | ||
|
|
99af0ff294 | ||
|
|
7cef60f8b9 | ||
|
|
31b6572e17 | ||
|
|
d07a46f514 | ||
|
|
547d03049a | ||
|
|
18ab41b9ec | ||
|
|
e9938c2ac4 | ||
|
|
089ed89045 | ||
|
|
9c11a7f4b7 | ||
|
|
543fb835f3 | ||
|
|
0b3ca8db69 | ||
|
|
05e7863bdc | ||
|
|
a2ee8a2ee9 | ||
|
|
969154baff | ||
|
|
27525907af | ||
|
|
92e89d3589 | ||
|
|
9898a7c221 | ||
|
|
ef788b16b9 | ||
|
|
5f7577309a | ||
|
|
cd39e5e9cd | ||
|
|
588662d1ce | ||
|
|
e71f40098f | ||
|
|
4f98e72a58 | ||
|
|
c45bbdda14 | ||
|
|
5bd3f6076b | ||
|
|
adcdba3f8f | ||
|
|
5c4c6f2677 | ||
|
|
f217d85b70 | ||
|
|
52448cd2a2 | ||
|
|
dca76f304c | ||
|
|
26f6ab0464 | ||
|
|
90c01a19a5 | ||
|
|
38e23ca1b5 | ||
|
|
5698ee12a3 | ||
|
|
c3bbceae49 | ||
|
|
95ef21ae4f | ||
|
|
e0ff71828a | ||
|
|
28d9775203 | ||
|
|
0ce729a312 | ||
|
|
73b78916de | ||
|
|
864e4c6dd1 | ||
|
|
00de818e65 | ||
|
|
c70c6ac617 | ||
|
|
41fe7ad794 | ||
|
|
13843bf52d | ||
|
|
6d630e0c2a | ||
|
|
7bd10ed78b | ||
|
|
ce0442a5dd | ||
|
|
b950fde3f2 | ||
|
|
1ab844da36 | ||
|
|
eb7611a6d1 | ||
|
|
ce045fb680 | ||
|
|
594d0e7ea0 | ||
|
|
8c79aedd19 | ||
|
|
401ae85f40 | ||
|
|
3065b392f3 | ||
|
|
2a587039b0 | ||
|
|
6af39d52e3 | ||
|
|
e15dbc2023 | ||
|
|
ed2c63cf03 | ||
|
|
b04538ada2 | ||
|
|
52cd2d30a1 | ||
|
|
0d0d501518 | ||
|
|
5b7dcddab3 | ||
|
|
809b02cb26 | ||
|
|
cb94d95d94 | ||
|
|
4665cac03d | ||
|
|
98d1a1c219 | ||
|
|
3b4897b86a | ||
|
|
1042332f5b | ||
|
|
c71850be07 | ||
|
|
c0a6918c09 | ||
|
|
c66a74d1c7 | ||
|
|
80881816f3 | ||
|
|
39a3a48fd3 | ||
|
|
5dbe46092a | ||
|
|
6e6da8152d | ||
|
|
f570773f23 | ||
|
|
b43e6e5981 | ||
|
|
2dc7d19784 | ||
|
|
c789684c31 | ||
|
|
d539eb9b1b | ||
|
|
c8f3df3969 | ||
|
|
5f771e923c | ||
|
|
8acb2a1b98 | ||
|
|
0fa0bf124a | ||
|
|
1b6d362314 | ||
|
|
1987f2354a | ||
|
|
2ab2a13dc0 | ||
|
|
70e198ee7f | ||
|
|
b3e7bab0cb | ||
|
|
23acf45d6b | ||
|
|
4ad8d0c0fd | ||
|
|
da06653c6a | ||
|
|
ea47936231 | ||
|
|
fc46552b0f | ||
|
|
532a9f64ff | ||
|
|
910013572d | ||
|
|
c61263f179 | ||
|
|
28107cc7ea | ||
|
|
206a8a538a | ||
|
|
9e69798d79 | ||
|
|
5948714aff | ||
|
|
08a23d8733 | ||
|
|
0814fd42d1 | ||
|
|
dbe3e9a7d8 | ||
|
|
94f5822e72 | ||
|
|
851cd77c50 | ||
|
|
2709298df0 | ||
|
|
eee9a32b9a | ||
|
|
4a84309e23 | ||
|
|
6aeaea65ca | ||
|
|
61eb8d4282 | ||
|
|
a3b19162f4 | ||
|
|
c8d0ccfe6a | ||
|
|
bb31f44227 | ||
|
|
6ab5015b9d | ||
|
|
d77b9d06f9 | ||
|
|
9758b85e96 | ||
|
|
e8445d99fb | ||
|
|
177a04830b | ||
|
|
3861e48737 | ||
|
|
f60ff6d8df | ||
|
|
365e8e6eb8 | ||
|
|
f757c996e7 | ||
|
|
71e7e660b2 | ||
|
|
ff94ceb254 | ||
|
|
54b0374680 | ||
|
|
33ab6809e2 | ||
|
|
c9a2494ac8 | ||
|
|
03ded09cb4 | ||
|
|
e28a6b5290 | ||
|
|
f6e4d4c7c9 | ||
|
|
8031f27feb | ||
|
|
ec04becd0e | ||
|
|
1a4b3199f1 | ||
|
|
f7137b721e | ||
|
|
080d5630a8 | ||
|
|
af61774d93 | ||
|
|
0e1b490371 | ||
|
|
6bb126e58f | ||
|
|
369ff7833c | ||
|
|
658a258ddc | ||
|
|
9c377d9ced | ||
|
|
c27f4a64df | ||
|
|
4d9b7d7632 | ||
|
|
1f00330fd4 | ||
|
|
6c178a4476 | ||
|
|
f3bd395f11 | ||
|
|
9d30ffc96f | ||
|
|
8fe0a31da3 | ||
|
|
06fae3836e | ||
|
|
6ee237716e | ||
|
|
d86ce619c0 | ||
|
|
93b264443c | ||
|
|
47e8474466 | ||
|
|
dd80b2174f | ||
|
|
fa28d6d6db | ||
|
|
f8e5bd3d66 | ||
|
|
ff2d838b64 | ||
|
|
9fd94c63d9 | ||
|
|
8abcd39966 | ||
|
|
a65e0ddfa4 | ||
|
|
406e7bd5bd | ||
|
|
a7f0dc74fd | ||
|
|
b49d1323db | ||
|
|
16b79bcf4a | ||
|
|
16e197455b | ||
|
|
cd27168f5f | ||
|
|
1c7f25723e | ||
|
|
025fe35999 | ||
|
|
892a90d83b | ||
|
|
94f179ebab | ||
|
|
f2ea1a05c1 | ||
|
|
b88d6d26a6 | ||
|
|
18194dc61a | ||
|
|
f7324d5388 | ||
|
|
93488e149d | ||
|
|
23b0ea67ae | ||
|
|
a2599f3415 | ||
|
|
2cce5fb17c | ||
|
|
9205907588 | ||
|
|
a282c6cb40 | ||
|
|
cec60520d9 | ||
|
|
5c0f183740 | ||
|
|
03150482f7 | ||
|
|
5fcb1de540 | ||
|
|
157f3696e4 | ||
|
|
8711753d6f | ||
|
|
b68d11ffbc | ||
|
|
a60c50fe97 | ||
|
|
6544ed3d3d | ||
|
|
b4d0eb843b | ||
|
|
c40a051f5f | ||
|
|
0b76287f80 | ||
|
|
df85e70a37 | ||
|
|
9734797bac | ||
|
|
b430aeb7c4 | ||
|
|
ff0f940798 | ||
|
|
5988052521 | ||
|
|
c929d3dc74 | ||
|
|
ac0235a6be | ||
|
|
bf2873821d | ||
|
|
eaecf91aa1 | ||
|
|
49f96dbea1 | ||
|
|
8116b05a9d | ||
|
|
b9972e131a | ||
|
|
c318a15236 | ||
|
|
1a545aeef6 | ||
|
|
d40d119b82 | ||
|
|
e71410af4e | ||
|
|
612e81d74e | ||
|
|
bf1f4b26cf | ||
|
|
de7b80a352 | ||
|
|
cf3728eee8 | ||
|
|
5b9c173b0e | ||
|
|
4179d183bd | ||
|
|
fbae7b6fd0 | ||
|
|
62c9b2afc2 | ||
|
|
cd81bbe19e | ||
|
|
39a6b3cd6b | ||
|
|
d14a6591d2 | ||
|
|
6b6edfb5bf | ||
|
|
7b20bbd5a2 | ||
|
|
61a62f5656 | ||
|
|
0376af8d38 | ||
|
|
85aaf94c89 | ||
|
|
af53585f6c | ||
|
|
22fbf0a1be | ||
|
|
4acd17f06b | ||
|
|
05e7a998e2 | ||
|
|
bbc44d6ac1 | ||
|
|
b1da1dfe05 | ||
|
|
26c1dda600 | ||
|
|
3f49395ee2 | ||
|
|
2f0112d5de | ||
|
|
ca0fa88bb5 | ||
|
|
45093fcc0c | ||
|
|
776915e659 | ||
|
|
4a14017cff | ||
|
|
67e054a26d | ||
|
|
6f073b007b | ||
|
|
284799bc7a | ||
|
|
54c54d50c6 | ||
|
|
f11960981a | ||
|
|
2d80ed7332 | ||
|
|
9973e5c701 | ||
|
|
8fbc7b3937 | ||
|
|
d09a7b290b | ||
|
|
bd627a6e54 | ||
|
|
3ddd5bff2d | ||
|
|
f7b7bae0af | ||
|
|
5ca0be9f2b | ||
|
|
e0b2fa5a1b | ||
|
|
a58e9030a0 | ||
|
|
62c3ca3ecc | ||
|
|
a967d2fbd0 | ||
|
|
1c7fe80663 | ||
|
|
3c86a9bc06 | ||
|
|
ce701099f0 | ||
|
|
450981a5fb | ||
|
|
ad2dabcc96 | ||
|
|
8b16b4632f | ||
|
|
bb37630bae | ||
|
|
66cb95e32c | ||
|
|
ea51cdfc77 | ||
|
|
4d41f2d64c | ||
|
|
266796f619 | ||
|
|
57a587301b | ||
|
|
90c15774d7 | ||
|
|
7d46de139e | ||
|
|
dd3243492a | ||
|
|
ea7619d405 | ||
|
|
7d8ade7fe4 | ||
|
|
ddf18bd036 | ||
|
|
84a03dafe3 | ||
|
|
dc5b0b4393 | ||
|
|
36d8c2a427 | ||
|
|
b63a15a521 | ||
|
|
53452344f3 | ||
|
|
a119d544af | ||
|
|
67d9e650ba | ||
|
|
61d35159fa | ||
|
|
593ece7681 | ||
|
|
45a103f66a | ||
|
|
27c6474f06 | ||
|
|
660f6c645b | ||
|
|
90cffef7be | ||
|
|
d6f30546b9 | ||
|
|
a9e0aa13ff | ||
|
|
1496b60895 | ||
|
|
2f7923b097 | ||
|
|
d5d7efd657 | ||
|
|
c4b93019d5 | ||
|
|
0943d1db8c | ||
|
|
822e82d709 | ||
|
|
51eec12af5 | ||
|
|
5da4028ebf | ||
|
|
26626797ff | ||
|
|
ee3ddad4d1 | ||
|
|
730ca2119c | ||
|
|
58127591d0 | ||
|
|
c9eaa2df12 | ||
|
|
66549445d1 | ||
|
|
f167839ddc | ||
|
|
6f0a36acde | ||
|
|
1463d4199e | ||
|
|
094d4053fb | ||
|
|
0a4abada00 | ||
|
|
6bf00c40a0 | ||
|
|
959d5c78b2 | ||
|
|
2ea9b4ba84 | ||
|
|
9df98f8ffb | ||
|
|
a58fa405f7 | ||
|
|
120fb38d3f | ||
|
|
471db8e8c1 | ||
|
|
8613f5e73f | ||
|
|
22fc61633b | ||
|
|
22e7bcb3b0 | ||
|
|
3aeaf365ca | ||
|
|
5140d6c938 | ||
|
|
c7d5dde9f7 | ||
|
|
b84470f574 | ||
|
|
29a496c039 | ||
|
|
9f9038ff97 | ||
|
|
d33ba285a6 | ||
|
|
640fd48e70 | ||
|
|
52d7914ad0 | ||
|
|
554a90eec5 | ||
|
|
3555adae09 | ||
|
|
ab63ed53df | ||
|
|
c4c53cd59f | ||
|
|
e86b095480 | ||
|
|
55b2934c62 | ||
|
|
3f96209dbb | ||
|
|
9241c2e595 | ||
|
|
94f4dcb9be | ||
|
|
f543b402f8 | ||
|
|
1b77c899da | ||
|
|
1aef9cf179 | ||
|
|
f0b3c4a30a | ||
|
|
0def478b0d | ||
|
|
a3d7c53395 | ||
|
|
b4e0eb8491 | ||
|
|
bdbed2aa17 | ||
|
|
2652f39c21 | ||
|
|
6f95272400 | ||
|
|
92b4d52a40 | ||
|
|
083b7b3d95 | ||
|
|
20c33fd00b | ||
|
|
1d5366c6b6 | ||
|
|
e2e36e285f | ||
|
|
c5bcc1992c | ||
|
|
2c9b0e77ba | ||
|
|
ca7096b87c | ||
|
|
3a8b2cf7b8 | ||
|
|
69bfaf2033 | ||
|
|
0d12f17576 | ||
|
|
80d5d7e44e | ||
|
|
bfa4806d47 | ||
|
|
2c3bd39ab6 | ||
|
|
1d0cbc527a | ||
|
|
4c8e6853be | ||
|
|
4839aaaf6d | ||
|
|
7cac870a68 | ||
|
|
a5a7c4fcb2 | ||
|
|
3d91e1c481 | ||
|
|
3193139118 | ||
|
|
c354c80b1f | ||
|
|
59b132edf8 | ||
|
|
b67af0145a | ||
|
|
a3bb8fa911 | ||
|
|
2d3e3c91d2 | ||
|
|
baec693c72 | ||
|
|
362179ba8d | ||
|
|
f55c33a4d6 | ||
|
|
083eb2fc7a | ||
|
|
df50a3b759 | ||
|
|
4e7045fe71 | ||
|
|
9be81955af | ||
|
|
477f093437 | ||
|
|
b2d29ccbf8 | ||
|
|
0b0701271e | ||
|
|
c318167909 | ||
|
|
89ee10ea57 | ||
|
|
a310eca1c2 | ||
|
|
1cd5536eb1 | ||
|
|
5b411ce55a | ||
|
|
012aae17ec | ||
|
|
e6b4d220a3 | ||
|
|
c988c30910 | ||
|
|
3ae1b18bf1 | ||
|
|
a093c1dd34 | ||
|
|
25a79e4146 | ||
|
|
47630408b6 | ||
|
|
9c0a66b036 | ||
|
|
d8650aa33d | ||
|
|
a6645bce8b | ||
|
|
05816a3894 | ||
|
|
e4e75b573f | ||
|
|
3f6ef61204 | ||
|
|
326f7d647e | ||
|
|
3d7e425f48 | ||
|
|
767f2479af | ||
|
|
edceebd8fb | ||
|
|
685a3ca4c7 | ||
|
|
3a4dc21470 | ||
|
|
ce3233a01f | ||
|
|
2f8abd5b7f | ||
|
|
f5d6037e31 | ||
|
|
a03c8e3a55 | ||
|
|
f64b0238c9 | ||
|
|
06e7626206 | ||
|
|
a6dae9a661 | ||
|
|
3d84937d06 | ||
|
|
2bc8cca55f | ||
|
|
24691b8652 | ||
|
|
522d1da0e9 | ||
|
|
cef1dee2a0 | ||
|
|
3220da556d | ||
|
|
ea6e098583 | ||
|
|
610a5d8dcb | ||
|
|
73a53994f3 | ||
|
|
f67dc4893f | ||
|
|
185bed19aa | ||
|
|
3094d74b6a | ||
|
|
5c3cfb7403 | ||
|
|
5d0926ebb2 | ||
|
|
a49c7834d8 | ||
|
|
2f327b1929 | ||
|
|
b7892f4257 | ||
|
|
f5bcdd0d9e | ||
|
|
6736ad73ec | ||
|
|
75dcf18d75 | ||
|
|
e722024f8f | ||
|
|
a714c0d70b | ||
|
|
51bcf02b96 | ||
|
|
fcb79907cf | ||
|
|
35b42d4743 | ||
|
|
8fae7719b5 | ||
|
|
64aa3ac0e8 | ||
|
|
c7f3390e59 | ||
|
|
b9a71060ec | ||
|
|
d095f52051 | ||
|
|
153850742d | ||
|
|
c2cdb4e38b | ||
|
|
33ab69e2d8 | ||
|
|
b95e93778b | ||
|
|
160f279464 | ||
|
|
69bd1c8670 | ||
|
|
b21fe76b3f | ||
|
|
6ea449bd83 | ||
|
|
b99b2d1381 | ||
|
|
84f2c6d102 | ||
|
|
908e37f56f | ||
|
|
108ff34763 | ||
|
|
8ce3126c92 | ||
|
|
b1006e0843 | ||
|
|
ca0af1f53a | ||
|
|
9cb4420bbf | ||
|
|
98c444fab9 | ||
|
|
51c9094da4 | ||
|
|
815a730d59 | ||
|
|
4651c6f6d1 | ||
|
|
11666eeb33 | ||
|
|
18ec275d75 | ||
|
|
073c22ae47 | ||
|
|
6926167f3d | ||
|
|
899d1ff6a4 | ||
|
|
47128ab52d | ||
|
|
21fa0ee7a7 | ||
|
|
04f4103314 | ||
|
|
66b23d111d | ||
|
|
eccde54afe | ||
|
|
2db166bcf7 | ||
|
|
e81e088b02 | ||
|
|
9e3a3d852e | ||
|
|
f40c277aa8 | ||
|
|
ef0396983b | ||
|
|
f5873d2ade | ||
|
|
adb358ba5c | ||
|
|
ea4da2c2a4 | ||
|
|
72de042b53 | ||
|
|
57a674fd26 | ||
|
|
66f9dc98ee | ||
|
|
ff714f3420 | ||
|
|
6b4416c3a9 | ||
|
|
704e89c903 | ||
|
|
f34ecc1016 | ||
|
|
4c1462e18a | ||
|
|
bcbf03fa51 | ||
|
|
2436d2fcaa | ||
|
|
6cf942ec9e | ||
|
|
fcffd688d6 | ||
|
|
669ae855f1 | ||
|
|
3b3c802aa4 | ||
|
|
86538a6d23 | ||
|
|
815666bbe7 | ||
|
|
5a52d79a88 | ||
|
|
ec2d9a80fc | ||
|
|
65764fa982 | ||
|
|
9579e30a68 | ||
|
|
37b5b69955 | ||
|
|
ead9ed0904 | ||
|
|
b2f13c4b3d | ||
|
|
a3ce66b87f | ||
|
|
f30d1fe45f | ||
|
|
f8d1851311 | ||
|
|
279bdc1e66 | ||
|
|
169e70cc0f | ||
|
|
f108ee2bff | ||
|
|
e390d73af4 | ||
|
|
0f1d45587e | ||
|
|
5854a9e10a | ||
|
|
94cd1991ce | ||
|
|
46644d9d4d | ||
|
|
93dec0a9f4 | ||
|
|
c79507a5d4 | ||
|
|
a170acb28b | ||
|
|
7a2f08f49a | ||
|
|
6ea003a9a1 | ||
|
|
c54c4022ad | ||
|
|
445af59829 | ||
|
|
7f573f2181 | ||
|
|
a9dc8da07c | ||
|
|
c2d2612f33 | ||
|
|
3aa3fbba6d | ||
|
|
35c8970d20 | ||
|
|
0f076e19be | ||
|
|
306430d67d | ||
|
|
a28c983c06 | ||
|
|
53140de879 | ||
|
|
3c5ea83f8a | ||
|
|
a59ca2bdf0 | ||
|
|
47ad7c7827 | ||
|
|
516c67e6e9 | ||
|
|
e7970df6cf | ||
|
|
3ac4294c2c | ||
|
|
c8451ecc64 | ||
|
|
f5a31397f3 | ||
|
|
11b443a3f9 | ||
|
|
c95605127d | ||
|
|
7bce4e25ae | ||
|
|
19383ad360 | ||
|
|
0b426fc1ab | ||
|
|
81b07e772d | ||
|
|
65770ff58b | ||
|
|
bf926fe4b6 | ||
|
|
fccf7e3149 | ||
|
|
4042a5876e | ||
|
|
de36d1f9fb | ||
|
|
18fb24fcd2 | ||
|
|
5687f75b0b | ||
|
|
be82595e82 | ||
|
|
d200bce7ea | ||
|
|
05e490aa91 | ||
|
|
716f5f1be2 | ||
|
|
a0d8dd9b9e | ||
|
|
897245d6c1 | ||
|
|
99e4d098e3 | ||
|
|
b276344f1e | ||
|
|
e77ebef801 | ||
|
|
32757c3fb6 | ||
|
|
411e444295 | ||
|
|
abca5bc798 | ||
|
|
8841dd44c4 | ||
|
|
316a5e7209 | ||
|
|
2e53dcca00 | ||
|
|
87e2a32d49 | ||
|
|
af11ff21f4 | ||
|
|
aab7e39ab3 | ||
|
|
595d6f894e | ||
|
|
02a4e2b1ca | ||
|
|
7c535adff1 | ||
|
|
c8effce8fc | ||
|
|
2855181de9 | ||
|
|
25515c4403 | ||
|
|
e7b15b67d8 | ||
|
|
3fe0faff6a | ||
|
|
30dd41e3ca | ||
|
|
f8f43b8ab7 | ||
|
|
662210b168 | ||
|
|
2f60894e59 | ||
|
|
da9262da79 | ||
|
|
29539d9db2 | ||
|
|
c4df9c7bd4 | ||
|
|
37296806d6 | ||
|
|
14e0afd867 | ||
|
|
08ceb0d5f2 | ||
|
|
1e83ef0c06 | ||
|
|
47eef986d7 | ||
|
|
378618ac1f | ||
|
|
01c1ae3b97 | ||
|
|
ebd35c62ec | ||
|
|
34753b5786 | ||
|
|
56b62d8b1b | ||
|
|
705dd1bee9 | ||
|
|
921ddac630 | ||
|
|
c8158737f6 | ||
|
|
398ce9d445 | ||
|
|
933ab3ac2c | ||
|
|
fc7e7f4c88 | ||
|
|
b798dacaf2 | ||
|
|
c3e94a405f | ||
|
|
22e09de07a | ||
|
|
492d4f0fd7 | ||
|
|
b9556a91a0 | ||
|
|
39d232a937 | ||
|
|
950d6a9622 | ||
|
|
e2da01dd5b | ||
|
|
6954c960d8 | ||
|
|
0c790e64f8 | ||
|
|
477bc4ca92 | ||
|
|
9bf8e16978 | ||
|
|
deace2bccd | ||
|
|
f78e01ecd5 | ||
|
|
1a9e1d7d77 | ||
|
|
1481c16b31 | ||
|
|
15baf7d0fb | ||
|
|
15f4e5cae8 | ||
|
|
3321d58455 | ||
|
|
38e1208591 | ||
|
|
0588c32b52 | ||
|
|
feaf8e3a8d | ||
|
|
72584e49d6 | ||
|
|
21f269c999 | ||
|
|
0e92a56378 | ||
|
|
e560eaeb41 | ||
|
|
753801c401 | ||
|
|
057ea875c9 | ||
|
|
dfcd254668 | ||
|
|
541ed4fdba | ||
|
|
278e40639f | ||
|
|
93d1813f97 | ||
|
|
8c0d21ea25 | ||
|
|
ae93fbf45e | ||
|
|
53cb013576 | ||
|
|
a4ff0f0fd8 | ||
|
|
cd56583a56 | ||
|
|
42ac43ed90 | ||
|
|
face4bb55b | ||
|
|
c6110087d9 | ||
|
|
b89968ca47 | ||
|
|
f9588cf1c8 | ||
|
|
04fd2f8007 | ||
|
|
b52192df6a | ||
|
|
95cf85e573 | ||
|
|
6ed2ad0d28 | ||
|
|
5d61750508 | ||
|
|
22cf4eb1fb | ||
|
|
431ad66723 | ||
|
|
6dfac5643a | ||
|
|
46b9aa259c | ||
|
|
d7a1bf3fcc | ||
|
|
cca1b1971f | ||
|
|
e6a47b29bb | ||
|
|
a10562018c | ||
|
|
2a905a439c | ||
|
|
2fcbebd375 | ||
|
|
c50366ce3b | ||
|
|
70a33ca0b8 | ||
|
|
b89378e838 | ||
|
|
00f59dc842 | ||
|
|
64470e156a | ||
|
|
5fbca87998 | ||
|
|
ce989b786f | ||
|
|
1d9f4e27c7 | ||
|
|
8a9d196282 | ||
|
|
848f3a0f6b | ||
|
|
0ee2da9028 | ||
|
|
7edfc15b67 | ||
|
|
e3e6e8e244 | ||
|
|
089d1a2389 | ||
|
|
a099869ecc | ||
|
|
d282ef2eae | ||
|
|
bcca58d5c0 | ||
|
|
ff0fa9a69f | ||
|
|
852e3a59a3 | ||
|
|
5bad7dcb7a | ||
|
|
23f6da17c4 | ||
|
|
b22af43e8a | ||
|
|
36e3907dfc | ||
|
|
38ee01017a | ||
|
|
ec81300971 | ||
|
|
bd239241d7 | ||
|
|
9951e8def4 | ||
|
|
76993961f0 | ||
|
|
29805bdf4d | ||
|
|
7fb2956a2e | ||
|
|
ec82518639 | ||
|
|
b4cd1c715f | ||
|
|
9603c284dc | ||
|
|
a638f9b4a1 | ||
|
|
a5c28f1a8e | ||
|
|
dd3d9c8d51 | ||
|
|
58b9121e52 | ||
|
|
606b0c35bb | ||
|
|
429d9fdbe5 | ||
|
|
dcbdeca64e | ||
|
|
32faa7f4f8 | ||
|
|
ecb0d47055 | ||
|
|
804fc71538 | ||
|
|
eebfb27e5e | ||
|
|
d18e257788 | ||
|
|
adec30a01e | ||
|
|
6645bd59b0 | ||
|
|
1aa3e9ac56 | ||
|
|
ad406a0f0b | ||
|
|
aeb3e2be24 | ||
|
|
6d6eae4c11 | ||
|
|
772e3f2ebd | ||
|
|
34f92f93e5 | ||
|
|
00a293df02 | ||
|
|
8ebdab291c | ||
|
|
148ee3f2c4 | ||
|
|
4428996541 | ||
|
|
fdd2bffc07 | ||
|
|
dbf737092b | ||
|
|
5506652179 | ||
|
|
d1c9033866 | ||
|
|
795767b2cb | ||
|
|
544a1df21b | ||
|
|
1dffe49069 | ||
|
|
64dedb7edd | ||
|
|
7566702569 | ||
|
|
d006f74cd4 | ||
|
|
27191d777a | ||
|
|
c68a16a9a9 | ||
|
|
ed1e6df967 | ||
|
|
396651b2b5 | ||
|
|
077d509c23 | ||
|
|
062b3f7176 | ||
|
|
93f9848d02 | ||
|
|
a2a295308d | ||
|
|
aa0325d72c | ||
|
|
4510c14af2 | ||
|
|
dc709e7649 | ||
|
|
b7fdf6c66b | ||
|
|
9f5115cc08 | ||
|
|
a9bace7781 | ||
|
|
014fbfe0eb | ||
|
|
38cdfcf0a4 | ||
|
|
3f9107c497 | ||
|
|
8870738330 | ||
|
|
38cae5c3d9 | ||
|
|
e133e6272a | ||
|
|
c486b8f2c1 | ||
|
|
f6cbbbead6 | ||
|
|
3ecef5e751 | ||
|
|
ef64ce065b | ||
|
|
99fdbd8d40 | ||
|
|
ac4a68d64e | ||
|
|
dae5b29ef1 | ||
|
|
4451b489e4 | ||
|
|
b19281ea2b | ||
|
|
8e923fe443 | ||
|
|
fe47186ace | ||
|
|
326704a605 | ||
|
|
d560ed9a33 | ||
|
|
0a8f51832a | ||
|
|
d2112b984d | ||
|
|
50aad0c5d1 | ||
|
|
e6e721f0ba | ||
|
|
80b34f1aef | ||
|
|
ffcda13a4e | ||
|
|
9f4ce085c1 | ||
|
|
ff1e84d0d8 | ||
|
|
4f18fff36b | ||
|
|
d5a8586152 | ||
|
|
bfcd84c940 | ||
|
|
a4bc5fa0df | ||
|
|
ed406e7eb0 | ||
|
|
b4dc49ef2f | ||
|
|
483e3be682 | ||
|
|
17f0d77a31 | ||
|
|
c6f644ef8a | ||
|
|
01b566698f | ||
|
|
469f884d8c | ||
|
|
9e4412cbee | ||
|
|
f4bab262ca | ||
|
|
73fd63616d | ||
|
|
9362a4b9d3 | ||
|
|
6c5ea59506 | ||
|
|
90845bdb02 | ||
|
|
f6729be5ab | ||
|
|
344c5cc399 | ||
|
|
6e1ea29c39 | ||
|
|
d76c6dd63c | ||
|
|
f69daa4608 | ||
|
|
290564c973 | ||
|
|
b781f33e4b | ||
|
|
b8bc01561d | ||
|
|
734cb798d3 | ||
|
|
e1f7b04aa0 | ||
|
|
533c0230e4 | ||
|
|
ac8ebd0ed3 | ||
|
|
fc5eb296d2 | ||
|
|
c05d8a8e44 | ||
|
|
24845a4735 | ||
|
|
2b490fe131 | ||
|
|
07f0cc9342 | ||
|
|
49ddd287d0 | ||
|
|
bffcd11100 | ||
|
|
25d6ebdb19 | ||
|
|
64a539adb0 | ||
|
|
3646809f06 | ||
|
|
fb0e857514 | ||
|
|
a1059c543b | ||
|
|
8fe2b9cb27 | ||
|
|
5e080a90e3 | ||
|
|
08255b3f8a | ||
|
|
f032739461 | ||
|
|
1e8f739ef2 | ||
|
|
befcb72b04 | ||
|
|
89e7cfb357 | ||
|
|
841da80c97 | ||
|
|
f001812a1d | ||
|
|
1b993a617a | ||
|
|
60b1c32567 | ||
|
|
bd6ac2c4fc | ||
|
|
eaccba5f22 | ||
|
|
562313b218 | ||
|
|
0650d176ee | ||
|
|
6bbd944de4 | ||
|
|
8aaad79897 | ||
|
|
d499549734 | ||
|
|
db22c5bc97 | ||
|
|
34f49362fd | ||
|
|
af21ff640d | ||
|
|
69e69c2e0f | ||
|
|
a0445fb4f6 | ||
|
|
8161403d84 | ||
|
|
0713e34aec | ||
|
|
b504f554b3 | ||
|
|
3d6af698b6 | ||
|
|
ff3ddb3d8d | ||
|
|
f04e54f68b | ||
|
|
16817eceac | ||
|
|
500e40035f | ||
|
|
366da2c328 | ||
|
|
203d46b2cf | ||
|
|
4e7b575c18 | ||
|
|
c6d9b7d875 | ||
|
|
b63bd89512 | ||
|
|
0e772fcfb7 | ||
|
|
bbd6745372 | ||
|
|
dd1e0a9b1d | ||
|
|
940231e38d | ||
|
|
4c8db02de5 | ||
|
|
8af5aadd1b | ||
|
|
205feab4c2 | ||
|
|
60ab2b4427 | ||
|
|
612329f584 | ||
|
|
a5f4a676a7 | ||
|
|
9608cfaa4e | ||
|
|
ddd4d3e16c | ||
|
|
da59a29ea2 | ||
|
|
df0d48af73 | ||
|
|
c82193cae6 | ||
|
|
2c0928bd02 | ||
|
|
8c8ffa9397 | ||
|
|
3689ecb6e7 | ||
|
|
ca080ad6b2 | ||
|
|
48d9ac63bb | ||
|
|
887066962f | ||
|
|
cb2615b083 | ||
|
|
de459e68eb | ||
|
|
9cc559870c | ||
|
|
395774c0e4 | ||
|
|
b3a7aebf95 | ||
|
|
b2e56fc01e | ||
|
|
0e0761bac7 | ||
|
|
79d7fe18ea | ||
|
|
228dd90bce | ||
|
|
93380d05b4 | ||
|
|
a135f46775 | ||
|
|
4123197c6d | ||
|
|
cc3f398a78 | ||
|
|
48155692ff | ||
|
|
dd0f7d3142 | ||
|
|
325c963b7a | ||
|
|
fbf29585eb | ||
|
|
8a2cc858ae | ||
|
|
b931825d3b | ||
|
|
2dc9b015a6 | ||
|
|
32c2456f03 | ||
|
|
084027df31 | ||
|
|
852878e3f4 | ||
|
|
f07e88b2dc | ||
|
|
d2e526769d | ||
|
|
867fdb7e2c | ||
|
|
a830b771f8 | ||
|
|
cc21f1a36d | ||
|
|
9ff8469a54 | ||
|
|
cfafcf8278 | ||
|
|
1829bcfdcf | ||
|
|
608fec9129 | ||
|
|
f5c9fa3d6c | ||
|
|
4a21ee0fa9 | ||
|
|
da853fdfde | ||
|
|
f2928c8ab8 | ||
|
|
d34bcffafd | ||
|
|
67028a072c | ||
|
|
2bbf33287b | ||
|
|
e60df5c54a | ||
|
|
b100392d7e | ||
|
|
b2154429f3 | ||
|
|
e9f10f77d9 | ||
|
|
1d3452a1f0 | ||
|
|
4e9ff3024c | ||
|
|
c193377640 | ||
|
|
6f4b20ad6f | ||
|
|
ee86de6b30 | ||
|
|
7930e95f4a | ||
|
|
2c3f82023c | ||
|
|
1f6c5d9782 | ||
|
|
b4640935a8 | ||
|
|
e64ef1a7d8 | ||
|
|
346e205001 | ||
|
|
8193379fad | ||
|
|
d3b589e622 | ||
|
|
ec68a11ec3 | ||
|
|
ca949ac077 | ||
|
|
54092c8fba | ||
|
|
4b3f5e4cca | ||
|
|
aebe483d80 | ||
|
|
ea5cd4a7d0 | ||
|
|
15a745266d | ||
|
|
fdde16e76c | ||
|
|
39adba94dd | ||
|
|
ef33065c5b | ||
|
|
dab15b2429 | ||
|
|
c0367729a7 | ||
|
|
fa3d3bceed | ||
|
|
26051985d5 | ||
|
|
fe2f30a92c | ||
|
|
af3f2280d6 | ||
|
|
d513019e1b | ||
|
|
c611d43204 | ||
|
|
cd76da836d | ||
|
|
9086d37a7c | ||
|
|
7234aef6c7 | ||
|
|
20a4e78998 | ||
|
|
280fa9a171 | ||
|
|
b20e8a5d17 | ||
|
|
13e0cf1826 | ||
|
|
498e651d6d | ||
|
|
66d58d1538 | ||
|
|
27f95e433a | ||
|
|
9053717699 | ||
|
|
82b6187e26 | ||
|
|
b7bf4e7015 | ||
|
|
fbd572f23a | ||
|
|
92d017a701 | ||
|
|
422adf0a62 | ||
|
|
f85a1da9c2 | ||
|
|
afffcec3f2 | ||
|
|
77715e4d05 | ||
|
|
34eb9d7fba | ||
|
|
01c3308019 | ||
|
|
2f699365fb | ||
|
|
622c4e7258 | ||
|
|
68003e203b | ||
|
|
b273ac3cf0 | ||
|
|
3d46b015e1 | ||
|
|
523317eb71 | ||
|
|
4ce913cda6 | ||
|
|
7fdf52309a | ||
|
|
186981014e | ||
|
|
0bde1ab22d | ||
|
|
b2f9c6ff6b | ||
|
|
6aa810b500 | ||
|
|
cf4d407f39 | ||
|
|
ac05f085c1 | ||
|
|
7e48953b6a | ||
|
|
6f4bb6bf95 | ||
|
|
0666fc0ac2 | ||
|
|
6f304cb7a1 | ||
|
|
30c368d99f | ||
|
|
adaa81f50c | ||
|
|
c8a5ca41a2 | ||
|
|
dce84c4262 | ||
|
|
f529460eda | ||
|
|
ae170acb30 | ||
|
|
bfca0730b2 | ||
|
|
c95260a228 | ||
|
|
da43e27688 | ||
|
|
2e442c2152 | ||
|
|
d15d2437fb | ||
|
|
860ca9852b | ||
|
|
eb8ce32acb | ||
|
|
05327bb028 | ||
|
|
47a965f0a1 | ||
|
|
f7a500b811 | ||
|
|
0ce25916e6 | ||
|
|
504bae5dd8 | ||
|
|
8bb748ae22 | ||
|
|
e5bc7b218d | ||
|
|
29ea968408 | ||
|
|
07cd9be3f4 | ||
|
|
946605554c | ||
|
|
2b00418695 | ||
|
|
1a43c0feb2 | ||
|
|
309d3321b9 | ||
|
|
25f2fc46a9 | ||
|
|
48fc966457 | ||
|
|
d2fd7dea97 | ||
|
|
a2e93489f2 | ||
|
|
5150dc00e1 | ||
|
|
68ebd1ef69 | ||
|
|
1d1fa29239 | ||
|
|
11da0704c6 | ||
|
|
04b3e0c7fb | ||
|
|
624a8bf6a9 | ||
|
|
2bebd2ead7 | ||
|
|
e7deb0fb94 | ||
|
|
d37cb971aa | ||
|
|
4470e039eb | ||
|
|
564222b3f0 | ||
|
|
2e1c5d7684 | ||
|
|
b5e3bf8d4b | ||
|
|
fbff908c90 | ||
|
|
3cb9b12f26 | ||
|
|
c4d5bc5aa7 | ||
|
|
237fc3cdb1 | ||
|
|
96386e8f9e | ||
|
|
8df19efc1a | ||
|
|
a0f7c6f302 | ||
|
|
fdef3dc439 | ||
|
|
3285ccdb3a | ||
|
|
a27da1de31 | ||
|
|
d6885d66c3 | ||
|
|
15b2b05487 | ||
|
|
03c4d42a03 | ||
|
|
621d58ec0e | ||
|
|
e51f9f1e08 | ||
|
|
3517050c23 | ||
|
|
4561c8f85c | ||
|
|
48d0e250c6 | ||
|
|
632224b94c | ||
|
|
8ecb88cbb4 | ||
|
|
330600543e | ||
|
|
4a9fe006d5 | ||
|
|
e50ae02dbb | ||
|
|
bc7075f81a | ||
|
|
f8d2fda602 | ||
|
|
896d7402b4 | ||
|
|
55a16d053a | ||
|
|
9a1254b745 | ||
|
|
afe5809cb2 | ||
|
|
d6c4d5f87f | ||
|
|
9de5f01727 | ||
|
|
4569ae01df | ||
|
|
896001100c | ||
|
|
332c8d9695 | ||
|
|
6df8a2204f | ||
|
|
4a16fa8701 | ||
|
|
92dc6cacfa | ||
|
|
b40419bcea | ||
|
|
f84b2b5ad3 | ||
|
|
2da32c3193 | ||
|
|
3011248017 | ||
|
|
54be100830 | ||
|
|
c37b6e0441 | ||
|
|
c113e09204 | ||
|
|
19f93087db | ||
|
|
3f736e82ae | ||
|
|
4f6e97eafd | ||
|
|
8c75a2324c | ||
|
|
91a4b1143f | ||
|
|
79b37f16f5 | ||
|
|
e45792ad09 | ||
|
|
00769bdd7a | ||
|
|
89f58236fc | ||
|
|
eca48a4cc3 | ||
|
|
fe324c3124 | ||
|
|
c0ac43b6c8 | ||
|
|
d3c7ba6874 | ||
|
|
af60ae46c1 | ||
|
|
d47287095d | ||
|
|
b9d4f9ff10 | ||
|
|
fc826e8acb | ||
|
|
f6377b98cb | ||
|
|
b8c6a67faa | ||
|
|
e18c79c895 | ||
|
|
d94fe56318 | ||
|
|
f9c6151482 | ||
|
|
fb28b4ca28 | ||
|
|
a10f278d44 | ||
|
|
9c1ae27a21 | ||
|
|
37fa4ba7b6 | ||
|
|
53b1dc9b67 | ||
|
|
6bd307a2cd | ||
|
|
d2b6ca53f8 | ||
|
|
2b34cfc688 | ||
|
|
bb957685b3 | ||
|
|
445f8c4635 | ||
|
|
f2bb1430fe | ||
|
|
d694f2796b | ||
|
|
5dd42b5a07 | ||
|
|
cd8709be9d | ||
|
|
4a9c09e896 | ||
|
|
6de7b840ae | ||
|
|
f34d2afced | ||
|
|
d41a8d7a11 | ||
|
|
ed9cb9668c | ||
|
|
eddb774b19 | ||
|
|
f8fa6adad8 | ||
|
|
c1acc3eca1 | ||
|
|
fabd6351d9 | ||
|
|
1cd0440453 | ||
|
|
637f3522a9 | ||
|
|
5dda37a192 | ||
|
|
6b3c9ee19c | ||
|
|
a3ebd4c062 | ||
|
|
3d3588e64e | ||
|
|
356d119fb9 | ||
|
|
017cb7eb96 | ||
|
|
bf36f415db | ||
|
|
24ea4374cf | ||
|
|
5b89ef972f | ||
|
|
33656c8206 | ||
|
|
5448ca116c | ||
|
|
bfa652df36 | ||
|
|
fae54faffc | ||
|
|
d4f781bf35 | ||
|
|
9c4e72aa0f |
31
.github/workflows/auth-crowdin-push.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: "Push sources to Crowdin (auth)"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
# Run workflow when auth's intl_en.arb is changed
|
||||
- "auth/lib/l10n/arb/app_en.arb"
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/auth-crowdin.yml"
|
||||
|
||||
jobs:
|
||||
push-sources-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin's action
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "auth/"
|
||||
config: "auth/crowdin.yml"
|
||||
upload_sources: true
|
||||
upload_translations: false
|
||||
download_translations: false
|
||||
project_id: 575169
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
@@ -1,17 +1,11 @@
|
||||
name: "Sync Crowdin translations (auth)"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
# Run workflow when auth's intl_en.arb is changed
|
||||
- "mobile/lib/l10n/arb/app_en.arb"
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/auth-crowdin.yml"
|
||||
schedule:
|
||||
# Run Mondays at ~6:30 AM IST
|
||||
# See: [Note: Run workflow on specific days of the week]
|
||||
- cron: "50 1 * * 2,5"
|
||||
# Also allow manually running the workflow
|
||||
- cron: "50 0 * * 1"
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -23,7 +17,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin's action
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "auth/"
|
||||
config: "auth/crowdin.yml"
|
||||
2
.github/workflows/auth-lint.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
- ".github/workflows/auth-lint.yml"
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.19.3"
|
||||
FLUTTER_VERSION: "3.22.2"
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
14
.github/workflows/auth-release.yml
vendored
@@ -29,7 +29,7 @@ on:
|
||||
- "auth-v*"
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.19.3"
|
||||
FLUTTER_VERSION: "3.22.2"
|
||||
|
||||
jobs:
|
||||
build-ubuntu:
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
|
||||
- name: Install appimagetool
|
||||
@@ -157,10 +157,16 @@ jobs:
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
dart pub global activate flutter_distributor
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref pacman --git-path packages/flutter_distributor
|
||||
# Run below command if it is a beta or nightly
|
||||
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
|
||||
flutter_distributor package --platform=linux --targets=pacman --skip-clean
|
||||
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
|
||||
fi
|
||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||
|
||||
- name: Generate checksums
|
||||
|
||||
31
.github/workflows/mobile-crowdin-push.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: "Push sources to Crowdin (mobile)"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
# Run workflow when mobiles's intl_en.arb is changed
|
||||
- "mobile/lib/l10n/intl_en.arb"
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/mobile-crowdin.yml"
|
||||
|
||||
jobs:
|
||||
push-sources-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin's action
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "mobile/"
|
||||
config: "mobile/crowdin.yml"
|
||||
upload_sources: true
|
||||
upload_translations: false
|
||||
download_translations: false
|
||||
project_id: 574741
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
@@ -1,17 +1,11 @@
|
||||
name: "Sync Crowdin translations (mobile)"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
# Run workflow when mobiles's intl_en.arb is changed
|
||||
- "mobile/lib/l10n/intl_en.arb"
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/mobile-crowdin.yml"
|
||||
schedule:
|
||||
# Run Mondays at ~6:30 AM IST
|
||||
# See: [Note: Run workflow on specific days of the week]
|
||||
- cron: "40 1 * * 2,5"
|
||||
# Also allow manually running the workflow
|
||||
- cron: "40 0 * * 1"
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -23,7 +17,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin's action
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "mobile/"
|
||||
config: "mobile/crowdin.yml"
|
||||
@@ -4,7 +4,7 @@ on:
|
||||
workflow_dispatch: # Allow manually running the action
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
FLUTTER_VERSION: "3.22.2"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
2
.github/workflows/mobile-lint.yml
vendored
@@ -10,7 +10,7 @@ on:
|
||||
|
||||
env:
|
||||
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
FLUTTER_VERSION: "3.22.2"
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
2
.github/workflows/mobile-release.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
- "photos-v*"
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
FLUTTER_VERSION: "3.22.2"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
2
.github/workflows/server-publish.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
registry: ghcr.io
|
||||
enableBuildKit: true
|
||||
multiPlatform: true
|
||||
platform: linux/amd64,linux/arm64,linux/arm/v7
|
||||
platform: linux/amd64,linux/arm64
|
||||
buildArgs: GIT_COMMIT=${{ inputs.commit }}
|
||||
tags: ${{ inputs.commit }}, latest
|
||||
username: ${{ github.actor }}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "Push Crowdin translations (web)"
|
||||
|
||||
# This is a variant of web-crowdin.yml that uploads the translated strings in
|
||||
# This is a variant of web-crowdin-sync.yml that uploads the translated strings in
|
||||
# addition to the source strings.
|
||||
#
|
||||
# This allows us to change the strings in our source code for an automated
|
||||
@@ -9,11 +9,11 @@ name: "Push Crowdin translations (web)"
|
||||
|
||||
on:
|
||||
# Trigger manually, or using
|
||||
# `gh workflow run web-crowdin-push.yml --ref <my-branch>`
|
||||
# `gh workflow run web-crowdin-push-both.yml --ref <my-branch>`
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
push-to-crowdin:
|
||||
push-both-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin push
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "web/"
|
||||
config: "web/crowdin.yml"
|
||||
@@ -9,6 +9,8 @@ on:
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/web-crowdin.yml"
|
||||
schedule:
|
||||
# Run Mondays at ~6:00 AM IST
|
||||
#
|
||||
# [Note: Run workflow on specific days of the week]
|
||||
#
|
||||
# The last (5th) component of the cron syntax denotes the day of the
|
||||
@@ -16,8 +18,8 @@ on:
|
||||
# and FRI, this can be set to `2,5`.
|
||||
#
|
||||
# See also: [Note: Run workflow every 24 hours]
|
||||
- cron: "20 1 * * 2,5"
|
||||
# Also allow manually running the workflow
|
||||
- cron: "20 0 * * 1"
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -29,7 +31,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin's action
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
base_path: "web/"
|
||||
config: "web/crowdin.yml"
|
||||
15
.github/workflows/web-deploy-staging.yml
vendored
@@ -1,5 +1,7 @@
|
||||
name: "Deploy staging (web)"
|
||||
|
||||
# Builds the "staging/web" branch if it exists, "main" otherwise.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# Run everyday at ~3:00 PM IST
|
||||
@@ -18,9 +20,20 @@ jobs:
|
||||
working-directory: web
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
- name: Determine branch to build
|
||||
id: select-branch
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
if git ls-remote --exit-code --heads https://github.com/ente-io/ente refs/heads/staging/web; then
|
||||
echo "branch=staging/web" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "branch=main" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Checkout ${{ steps.select-branch.outputs.branch }}
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ steps.select-branch.outputs.branch }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
|
||||
71
SECURITY.md
@@ -1,51 +1,54 @@
|
||||
# Security Policy
|
||||
|
||||
Ente believes that working with security researchers across the globe is crucial
|
||||
to keeping our users safe. If you believe you've found a security issue in our
|
||||
product or service, we encourage you to notify us, by email (security@ente.io)
|
||||
or by [filling this
|
||||
form](https://github.com/ente-io/ente/security/advisories/new) We welcome
|
||||
working with you to resolve the issue promptly. Thanks in advance!
|
||||
product or service, we encourage you to notify us by email at security@ente.io
|
||||
or by
|
||||
[filling out this form](https://github.com/ente-io/ente/security/advisories/new).
|
||||
We welcome working with you to resolve the issue promptly. Thanks in advance!
|
||||
|
||||
## Disclosure Policy
|
||||
|
||||
- Let us know as soon as possible upon discovery of a potential security issue,
|
||||
and we'll make every effort to quickly resolve the issue.
|
||||
- Provide us a reasonable amount of time to resolve the issue before any
|
||||
disclosure to the public or a third-party. We may publicly disclose the issue
|
||||
before resolving it, if appropriate.
|
||||
- Make a good faith effort to avoid privacy violations, destruction of data, and
|
||||
interruption or degradation of our service. Only interact with accounts you
|
||||
own or with explicit permission of the account holder.
|
||||
- If you would like to encrypt your report, please use the PGP key with long ID
|
||||
`E273695C0403F34F74171932DF6DDDE98EBD2394` (available in the public keyserver
|
||||
pool).
|
||||
- Let us know as soon as possible upon discovery of a potential security
|
||||
issue, and we'll make every effort to quickly resolve the issue.
|
||||
- Provide us with a reasonable amount of time to resolve the issue before any
|
||||
disclosure to the public or a third party. We may publicly disclose the
|
||||
issue before resolving it if appropriate.
|
||||
- Make a good faith effort to avoid privacy violations, destruction of data,
|
||||
and interruption or degradation of our service. Only interact with accounts
|
||||
you own or with the explicit permission of the account holder.
|
||||
- If you would like to encrypt your report, please use the PGP key with long
|
||||
ID `E273695C0403F34F74171932DF6DDDE98EBD2394` (available in the public
|
||||
keyserver pool).
|
||||
|
||||
## In-scope
|
||||
|
||||
- Security issues in any current release of Ente's services. Product downloads
|
||||
are available at https://ente.io. Source code is available at
|
||||
https://github.com/ente-io.
|
||||
- Security issues in any current release of Ente's services. Product downloads
|
||||
are available at [https://ente.io](https://ente.io). Source code is
|
||||
available at [https://github.com/ente-io](https://github.com/ente-io).
|
||||
|
||||
## Exclusions
|
||||
|
||||
The following bug classes are out-of scope:
|
||||
The following bug classes are out of scope:
|
||||
|
||||
- Bugs that are already reported on any of [Ente's issue
|
||||
trackers](https://github.com/ente-io), or that we already know of (Note that
|
||||
some of our issue tracking is private)
|
||||
- Issues in an upstream software dependency (ex: Flutter, Next.js etc) which are
|
||||
already reported to the upstream maintainer
|
||||
- Attacks requiring physical access to a user's device
|
||||
- Self-XSS
|
||||
- Issues related to software or protocols not under ente's control
|
||||
- Vulnerabilities in outdated versions of ente
|
||||
- Missing security best practices that do not directly lead to a vulnerability
|
||||
- Issues that do not have any impact on the general public
|
||||
- Bugs that are already reported on any of
|
||||
[Ente's issue trackers](https://github.com/ente-io) or that we already know
|
||||
of (note that some of our issue tracking is private).
|
||||
- Issues in an upstream software dependency (e.g., Flutter, Next.js, etc.)
|
||||
that are already reported to the upstream maintainer.
|
||||
- Attacks requiring physical access to a user's device.
|
||||
- Self-XSS.
|
||||
- Issues related to software or protocols not under Ente's control.
|
||||
- Vulnerabilities in outdated versions of Ente.
|
||||
- Missing security best practices that do not directly lead to a
|
||||
vulnerability.
|
||||
- Issues that do not have any impact on the general public.
|
||||
|
||||
While researching, we'd like to ask you to refrain from:
|
||||
|
||||
- Denial of service
|
||||
- Spamming
|
||||
- Social engineering (including phishing) of Ente staff or contractors
|
||||
- Any physical attempts against Ente property or data centers
|
||||
- Denial of service
|
||||
- Spamming
|
||||
- Social engineering (including phishing) of Ente staff or contractors
|
||||
- Any physical attempts against Ente property or data centers
|
||||
|
||||
Thank you for helping keep Ente and our users safe!
|
||||
|
||||
@@ -6,7 +6,7 @@ FEATURES
|
||||
|
||||
- Secure Backups
|
||||
Auth provides end-to-end encrypted cloud backups so that you don't have to worry
|
||||
about losing your tokens. We use the same protocols ente Photos uses to encrypt
|
||||
about losing your tokens. We use the same protocols Ente Photos uses to encrypt
|
||||
and preserve your data.
|
||||
|
||||
- Multi Device Synchronization
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
||||
30
auth/assets/ca/lets-encrypt-r3.pem
Normal file
@@ -0,0 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
|
||||
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
|
||||
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
|
||||
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
|
||||
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
|
||||
sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
|
||||
NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
|
||||
Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
|
||||
/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
|
||||
AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
|
||||
Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
|
||||
FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
|
||||
AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
|
||||
Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
|
||||
gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
|
||||
PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
|
||||
ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
|
||||
CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
|
||||
lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
|
||||
avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
|
||||
yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
|
||||
yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
|
||||
hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
|
||||
HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
|
||||
MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
|
||||
nLRbwHOoq7hHwg==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,5 +1,9 @@
|
||||
{
|
||||
"icons": [
|
||||
{ "title": "1xBet",
|
||||
"altNames": ["1x", "1x bet", "1x-bet"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "3Commas"
|
||||
},
|
||||
@@ -10,6 +14,10 @@
|
||||
{
|
||||
"title": "Airtable"
|
||||
},
|
||||
{
|
||||
"title": "airtm",
|
||||
"hex": "000000"
|
||||
},
|
||||
{
|
||||
"title": "Anycoin Direct",
|
||||
"slug": "anycoindirect"
|
||||
@@ -20,9 +28,21 @@
|
||||
{
|
||||
"title": "Bitfinex"
|
||||
},
|
||||
{
|
||||
"title": "bitget"
|
||||
},
|
||||
{
|
||||
"title": "Bitmart"
|
||||
},
|
||||
{
|
||||
"title": "BitMEX"
|
||||
},
|
||||
{
|
||||
"title": "BitSkins"
|
||||
},
|
||||
{
|
||||
"title": "Bitstamp"
|
||||
},
|
||||
{
|
||||
"title": "Bitvavo",
|
||||
"hex": "0051FF"
|
||||
@@ -33,11 +53,15 @@
|
||||
{
|
||||
"title": "Bloom Host",
|
||||
"slug": "bloom_host",
|
||||
"altNames": ["Bloom Host Billing"]
|
||||
"altNames": [
|
||||
"Bloom Host Billing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "BorgBase",
|
||||
"altNames": ["borg"],
|
||||
"altNames": [
|
||||
"borg"
|
||||
],
|
||||
"slug": "BorgBase"
|
||||
},
|
||||
{
|
||||
@@ -50,6 +74,9 @@
|
||||
{
|
||||
"title": "CERN"
|
||||
},
|
||||
{
|
||||
"title": "ChangeNOW"
|
||||
},
|
||||
{
|
||||
"title": "Channel Island Hosting",
|
||||
"slug": "cih",
|
||||
@@ -58,6 +85,16 @@
|
||||
{
|
||||
"title": "Cloudflare"
|
||||
},
|
||||
{
|
||||
"title": "CloudAMQP"
|
||||
},
|
||||
{
|
||||
"title": "ConfigCat",
|
||||
"slug": "configcat"
|
||||
},
|
||||
{
|
||||
"title": "CoinDCX"
|
||||
},
|
||||
{
|
||||
"title": "ConfigCat"
|
||||
},
|
||||
@@ -69,20 +106,32 @@
|
||||
{
|
||||
"title": "Crowdpear"
|
||||
},
|
||||
{
|
||||
"title": "crypto.com",
|
||||
"altNames": ["crypto"]
|
||||
},
|
||||
{
|
||||
"title": "DCS",
|
||||
"altNames": ["Digital Combat Simulator"],
|
||||
"altNames": [
|
||||
"Digital Combat Simulator"
|
||||
],
|
||||
"slug": "dcs"
|
||||
},
|
||||
{
|
||||
"title": "DEGIRO"
|
||||
},
|
||||
{
|
||||
"title": "deriv"
|
||||
},
|
||||
{
|
||||
"title": "DirectAdmin"
|
||||
},
|
||||
{
|
||||
"title": "Discourse"
|
||||
},
|
||||
{
|
||||
"title": "DMarket"
|
||||
},
|
||||
{
|
||||
"title": "Doppler"
|
||||
},
|
||||
@@ -128,7 +177,9 @@
|
||||
},
|
||||
{
|
||||
"title": "Gosuslugi",
|
||||
"altNames": ["Госуслуги"],
|
||||
"altNames": [
|
||||
"Госуслуги"
|
||||
],
|
||||
"slug": "Gosuslugi"
|
||||
},
|
||||
{
|
||||
@@ -141,6 +192,9 @@
|
||||
{
|
||||
"title": "Hivelocity"
|
||||
},
|
||||
{
|
||||
"title": "HTX"
|
||||
},
|
||||
{
|
||||
"title": "IceDrive",
|
||||
"slug": "Icedrive"
|
||||
@@ -154,6 +208,10 @@
|
||||
{
|
||||
"title": "INWX"
|
||||
},
|
||||
{
|
||||
"title": "Itch.io",
|
||||
"slug": "itch_io"
|
||||
},
|
||||
{
|
||||
"title": "IVPN",
|
||||
"slug": "IVPN"
|
||||
@@ -200,22 +258,42 @@
|
||||
{
|
||||
"title": "Local",
|
||||
"slug": "local_wp",
|
||||
"altNames": ["LocalWP", "Local WP", "Local Wordpress"]
|
||||
"altNames": [
|
||||
"LocalWP",
|
||||
"Local WP",
|
||||
"Local Wordpress"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Marketplace.tf",
|
||||
"slug": "marketplacedottf"
|
||||
},
|
||||
{
|
||||
"title": "Mastodon",
|
||||
"altNames": ["mstdn", "fediscience", "mathstodon", "fosstodon"],
|
||||
"altNames": [
|
||||
"mstdn",
|
||||
"fediscience",
|
||||
"mathstodon",
|
||||
"fosstodon"
|
||||
],
|
||||
"slug": "mastodon",
|
||||
"hex": "6364FF"
|
||||
},
|
||||
{
|
||||
"title": "Mercado Livre",
|
||||
"slug": "mercado_livre",
|
||||
"altNames": ["Mercado Libre", "MercadoLibre", "MercadoLivre"]
|
||||
"altNames": [
|
||||
"Mercado Libre",
|
||||
"MercadoLibre",
|
||||
"MercadoLivre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Microsoft"
|
||||
},
|
||||
{
|
||||
"title": "Migros"
|
||||
},
|
||||
{
|
||||
"title": "Mintos"
|
||||
},
|
||||
@@ -224,13 +302,19 @@
|
||||
},
|
||||
{
|
||||
"title": "Murena",
|
||||
"altNames": ["eCloud"],
|
||||
"altNames": [
|
||||
"eCloud"
|
||||
],
|
||||
"slug": "ecloud"
|
||||
},
|
||||
{
|
||||
"title": "MyFRITZ!Net",
|
||||
"slug": "myfritz"
|
||||
},
|
||||
{
|
||||
"title": "Name.com",
|
||||
"slug": "name_com"
|
||||
},
|
||||
{
|
||||
"title": "NextDNS"
|
||||
},
|
||||
@@ -247,12 +331,18 @@
|
||||
{
|
||||
"title": "Notion"
|
||||
},
|
||||
{
|
||||
"title": "NuCommunity",
|
||||
"slug": "nucommunity"
|
||||
},
|
||||
{
|
||||
"title": "NVIDIA"
|
||||
},
|
||||
{
|
||||
"title": "Odido"
|
||||
},
|
||||
{ "title": "okx",
|
||||
"hex": "858585" },
|
||||
{
|
||||
"title": "Parsec"
|
||||
},
|
||||
@@ -305,8 +395,16 @@
|
||||
"slug": "real_debrid"
|
||||
},
|
||||
{
|
||||
"title": "Registro.br",
|
||||
"slug": "registro_br"
|
||||
"title": "Registro br",
|
||||
"slug": "registro_br",
|
||||
"altNames": [
|
||||
"Registro br",
|
||||
"registrobr",
|
||||
"Registro.br"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Render"
|
||||
},
|
||||
{
|
||||
"title": "Revolt",
|
||||
@@ -325,6 +423,9 @@
|
||||
"slug": "rust_language_forum",
|
||||
"hex": "000000"
|
||||
},
|
||||
{
|
||||
"title": "Samsung"
|
||||
},
|
||||
{
|
||||
"title": "Sendgrid"
|
||||
},
|
||||
@@ -341,6 +442,9 @@
|
||||
"title": "Skiff",
|
||||
"hex": "EF5A3C"
|
||||
},
|
||||
{
|
||||
"title": "Skinport"
|
||||
},
|
||||
{
|
||||
"title": "Snapchat"
|
||||
},
|
||||
@@ -363,7 +467,10 @@
|
||||
},
|
||||
{
|
||||
"title": "Techlore",
|
||||
"altNames": ["Techlore Courses", "Techlore Forums"]
|
||||
"altNames": [
|
||||
"Techlore Courses",
|
||||
"Techlore Forums"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Termius",
|
||||
@@ -393,10 +500,21 @@
|
||||
"title": "Twingate",
|
||||
"hex": "858585"
|
||||
},
|
||||
{
|
||||
"title": "Twitch",
|
||||
"altNames": [
|
||||
"Twitch.tv",
|
||||
"Twitch tv"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Ubisoft",
|
||||
"hex": "4285f4"
|
||||
},
|
||||
{
|
||||
"title": "Ubuntu One",
|
||||
"slug": "ubuntu_one"
|
||||
},
|
||||
{
|
||||
"title": "Unity",
|
||||
"hex": "858585"
|
||||
@@ -429,17 +547,26 @@
|
||||
},
|
||||
{
|
||||
"title": "X",
|
||||
"altNames": ["twitter"],
|
||||
"altNames": [
|
||||
"twitter"
|
||||
],
|
||||
"slug": "x"
|
||||
},
|
||||
{
|
||||
"title": "Yandex",
|
||||
"altNames": ["Ya", "Яндекс"],
|
||||
"altNames": [
|
||||
"Ya",
|
||||
"Яндекс"
|
||||
],
|
||||
"slug": "Yandex"
|
||||
},
|
||||
{ "title": "yahoo" },
|
||||
|
||||
{
|
||||
"title": "YNAB",
|
||||
"altNames": ["You Need A Budget"],
|
||||
"altNames": [
|
||||
"You Need A Budget"
|
||||
],
|
||||
"slug": "ynab",
|
||||
"hex": "3B5EDA"
|
||||
}
|
||||
|
||||
1
auth/assets/custom-icons/icons/1xBet.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.56 27.9"><defs><style>.cls-1{fill:#007acc;}.cls-2{fill:#002f5e;}</style></defs><title>logoo</title><g id="Слой_2" data-name="Слой 2"><g id="Layer_1" data-name="Layer 1"><path class="cls-1" d="M73.8,8.37C74.94,3.79,72.16,0,65.35,0L50.59,0,45.06,22.4l3.21,5.51h10.5c6.88,0,12.21-3.21,13.58-8.79.69-2.86-.11-4.86-1.91-5.86v-.07A7.78,7.78,0,0,0,73.8,8.37Zm-9,10.57c-.28,1.17-1.07,2.37-4.34,2.37h-6.7l1.17-4.8h6.67C64.83,16.5,65.07,17.73,64.76,18.94ZM66.14,8.52c-.24.9-.93,2-3.75,2h-6l1-3.9h6C66.24,6.6,66.38,7.52,66.14,8.52Z"/><polygon class="cls-1" points="83.09 17.1 96.53 17.1 98.06 10.5 84.71 10.5 85.75 6.6 98.97 6.6 100.5 0 78.8 0 71.92 27.9 96.5 27.9 98.11 21.3 82.1 21.3 83.09 17.1"/><polygon class="cls-1" points="102.38 0 100.84 6.6 108.87 6.6 103.6 27.9 112.03 27.9 117.31 6.6 125.91 6.6 127.56 0 102.38 0"/><path class="cls-2" d="M8.82,27.9H.32L4,13l.85-2.25L2.6,13,.1,15.53,0,8.09,8.82,0h6.87Z"/><path class="cls-2" d="M39.51,16.34,36.8,11.75,49.95,0H37.7l-5,4.8,0,0L15.74,20.35,7.6,27.9H19.19l8.71-7.77,2.93,5c1,1.26,2.41,2.79,8.39,2.79h7L39.52,16.33Z"/><path class="cls-2" d="M31.76,3.26l0-.06A7.69,7.69,0,0,0,25.12,0H16.07l6.75,11.48Z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
auth/assets/custom-icons/icons/airtm.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-738.2 149.1 435.4 102.8" xml:space="preserve"><path d="M-612.2 149.1h-18.4v99.6h18.4zm-104.1 79 25.4-55 14 30.2zm79.3 20.7-17.9-38.7 17.4-11-8.9-15-15.9 10-17.4-37.6c-1.1-2.3-2.7-4.2-4.7-5.5s-4.4-2-6.7-1.9c-2.4.1-4.7.9-6.6 2.3s-3.4 3.3-4.3 5.5l-34.9 75.5-.1.2c-2.3 5.7-.8 12.2 3.8 16.2 4.5 3.9 10.8 4.2 15.6.9l48.2-30.3 13.7 29.5zm54.3-53.1h27.3c14.1 0 18.8-7.7 18.8-16.4s-4.7-15.9-18.7-15.9h-27.4zm30.9-46.6c26.2 0 34.6 14.6 34.6 30 0 11.6-5.8 23.7-21.5 27.9l24.7 41.7h-20.8l-23-39.1h-24.9v39.1H-601v-99.6zm40.1 15.4h35v84.2h18.4v-84.2h35v-15.4h-88.4zm123.9-15.4H-415v99.6h16.6v-72.1c0-4.5-.3-8.6-.7-12.1h.5c.5 2.7 1.9 7.9 3.2 11.6l27.3 72.5h17.3l27.3-72.5c1.5-3.8 3.1-9.4 3.5-11.6h.5c-.4 3.6-.7 8-.7 12.1v72.1h17.2v-99.6h-27.4l-25.8 69.5c-1.5 4.2-2.3 6.7-2.8 10.1h-.3c-.5-3-1.2-5.2-2.3-8.7-.1-.4-.3-.9-.4-1.4z" style="fill:#050505"/></svg>
|
||||
|
After Width: | Height: | Size: 892 B |
1
auth/assets/custom-icons/icons/bitget.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="40" rx="8.711" fill="#00f0ff"/><path d="M18.46 15.767h7.468l7.64 7.592c.498.493.5 1.297.006 1.793L23.775 35h-7.693l2.326-2.261 8.54-8.486-8.432-8.487" fill="#1b1b1b"/><path d="M21.53 24.234h-7.47l-7.64-7.592a1.267 1.267 0 0 1-.005-1.793L16.214 5h7.693l-2.326 2.261-8.54 8.486 8.432 8.487" fill="#1b1b1b"/></svg>
|
||||
|
After Width: | Height: | Size: 410 B |
6
auth/assets/custom-icons/icons/bitmart.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="logo" viewBox="0 0 500 500">
|
||||
<g fill="#fff">
|
||||
<path d="M307.382 358.988H153.698v13.428h153.684v-13.428zm-115.22 83.526H76.885v13.43h115.277v-13.43zm-76.984-83.468h-76.7v13.428h76.7v-13.428zm192.204-38.864H192.105v13.428h115.277v-13.428zm-153.797 0H76.942v13.428h76.643v-13.428zM307.38 146.585H115.236v13.428H307.38v-13.428zm-153.795-44.664h-76.7v13.428h76.7v-13.428z"/>
|
||||
<path d="M409.287 231.022v-.34A153.91 153.91 0 0 0 276.144.3h-160.91v19.232H276.6a134.58 134.58 0 0 1 106.653 53.207 134.574 134.574 0 0 1 22.564 117.033 117.661 117.661 0 0 0-63.274-132.566A117.668 117.668 0 0 0 291.45 45.42H153.7v19.232h137.92a98.265 98.265 0 0 1 93.597 128.078 76.986 76.986 0 0 0-13.255-66.509 76.985 76.985 0 0 0-60.713-30.218H191.764v19.402H310.68a57.81 57.81 0 0 1 50.186 86.316 154.248 154.248 0 0 0-53.714-9.673H153.528v19.23h153.625a134.624 134.624 0 0 1 132.234 109.474 115.392 115.392 0 0 0-112.32-89.559H115.179v19.062h212.175a96.05 96.05 0 0 1 62.678 23.55 96.055 96.055 0 0 1 32.058 58.781 76.87 76.87 0 0 0-75.505-62.986H115.292v19.233h231.236a57.637 57.637 0 1 1 0 115.276H76.885v19.232h269.7a76.872 76.872 0 0 0 75.504-62.988 96.047 96.047 0 0 1-95.021 82.163H230.34v19.23h96.727a115.44 115.44 0 0 0 110.838-83.697A134.673 134.673 0 0 1 307.44 480.466H115.463V499.7h191.69a153.629 153.629 0 0 0 149.901-190.401 153.642 153.642 0 0 0-47.482-78.388l-.285.112z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
auth/assets/custom-icons/icons/bitskins.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |
28
auth/assets/custom-icons/icons/bitstamp.svg
Executable file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="layer" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 652 652" style="enable-background:new 0 0 652 652;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#003B2F;}
|
||||
</style>
|
||||
<path class="st0" d="M108.8,331.4c0-11.4-6.6-20.5-17.3-24.2c8.1-3.7,13.7-11.4,13.7-21.3c0-15.5-13-26.3-31.5-26.3H21v13.2
|
||||
c8.3,0,15,6.7,15,15s-6.7,15-15,15v11.9c8.3,0,15,6.7,15,15s-6.7,15-15,15V359h55c18.9,0,32.6-11.2,32.6-27.5 M49.3,273.9H71
|
||||
c8.9,0,15.2,5.8,15.2,13.9s-6.3,13.7-15.2,13.7H49.3C49.3,301.5,49.3,273.9,49.3,273.9z M49.3,344.5v-30H73
|
||||
c9.8,0,16.4,6.1,16.4,14.9s-6.6,15.1-16.4,15.1C73,344.5,49.3,344.5,49.3,344.5z M130.2,254.4c6.6,0,11.4,4.7,11.4,11.4
|
||||
s-4.7,11.4-11.4,11.4c-6.6,0-11.2-4.7-11.2-11.4S123.7,254.4,130.2,254.4 M120.7,286.5h18.9v72.4h-18.9V286.5L120.7,286.5z
|
||||
M176.2,286.4h20.1v14.4h-20.1v34.6c0,5.5,4.4,10.1,9.9,10.2c2.9,0,6.1-0.4,9.6-1.3l2.5,14.2c-5.8,1.5-11.2,2.2-16.4,2.2
|
||||
c-14.5,0-24.6-9.5-24.6-23.4v-67.4c0-2.6,2.1-4.7,4.7-4.7h14.2V286.4L176.2,286.4z M234.6,284.7c8.4,0,17.4,1.7,26.6,5l-4.1,13.6
|
||||
c-7.3-2.8-14.5-4.6-21-4.6c-6.5,0-11.2,3.1-11.2,7.8c0,13.1,38.7,3.6,38.7,31.6c0,13.2-11.9,22.5-29,22.5c-8.9,0-18.6-2-28.8-5.8
|
||||
l4-13.5c8.4,3.4,16.4,5.2,23.4,5.2c7,0,11.9-3.4,11.9-8.4c0-13.7-38.6-4.1-38.6-31.6c0-12.7,11.5-21.9,28.3-21.9 M293.7,286.4h20.1
|
||||
v14.4h-20.1v34.6c0,5.5,4.4,10.1,9.9,10.2c2.9,0,6.1-0.4,9.6-1.3l2.5,14.2c-5.8,1.5-11.2,2.2-16.4,2.2c-14.5,0-24.6-9.5-24.6-23.4
|
||||
v-67.4c0-2.7,2.2-4.7,4.7-4.7h14.2V286.4z M413.8,286.4h15.1l2.4,9.9c5.8-7.5,14.2-11.6,23.8-11.6c10.5,0,19,5,23.2,13.3
|
||||
c6.6-8.6,15.7-13.3,26.2-13.3c15.8,0,27.1,11,27.1,26.4v47.7h-18.9v-44.8c0-8.1-5.8-13.9-14-13.9c-9.6,0-16.4,7.3-16.4,17.6v41.1
|
||||
h-18.9v-44.8c0-8.1-5.8-13.9-13.9-13.9c-9.8,0-16.5,7.3-16.5,17.6v41.1h-18.9v-72.4H413.8z M547.1,286.4h15.1l2.4,9.3
|
||||
c5.3-7.1,13.6-11.1,23.2-11.1c19.5,0,33.3,15.7,33.3,38c0,22.3-13.7,37.9-33.3,37.9c-8.9,0-16.5-3.6-21.8-10v32.2
|
||||
c0,2.6-2.1,4.7-4.7,4.7H547L547.1,286.4L547.1,286.4z M582.8,299.6c-10,0-17.2,7.5-17.2,18.2v9.8c0,10.5,7.1,18.2,17.2,18.2
|
||||
c11.1,0,18.9-9.6,18.9-23C601.8,309.4,593.9,299.7,582.8,299.6 M378.1,327.5c0,10.5-7.1,18.2-17.2,18.2c-11.1,0-18.9-9.6-18.9-23
|
||||
c0-13.4,7.8-23.1,18.9-23.1c10,0,17.2,7.5,17.2,18.2V327.5L378.1,327.5z M396.7,323.3L396.7,323.3v-36.9h-15.1l-2.4,9.3
|
||||
c-5.3-7.1-13.6-11.1-23.2-11.1c-19.5,0-33.3,15.7-33.3,38c0,22.3,13.7,37.9,33.3,37.9c1.1,0,2.2,0,3.3-0.2
|
||||
c8.2-0.8,15.1-4.7,19.9-10.9l2.4,9.3h15.1L396.7,323.3L396.7,323.3z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
15
auth/assets/custom-icons/icons/changenow.svg
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
19
auth/assets/custom-icons/icons/cloudamqp.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="512px" height="512px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#0f0f0f" d="M 511.5,272.5 C 511.5,285.5 511.5,298.5 511.5,311.5C 508.543,328.958 502.376,345.291 493,360.5C 489.783,363.38 486.95,366.547 484.5,370C 491.258,380.639 489.591,389.639 479.5,397C 464.044,407.934 447.377,416.601 429.5,423C 412.83,426.168 399.163,421.335 388.5,408.5C 367.197,419.324 344.531,424.491 320.5,424C 318.692,436.612 312.359,446.279 301.5,453C 283.703,460.911 265.036,464.411 245.5,463.5C 242.9,471.276 237.9,477.109 230.5,481C 217.623,486.044 204.289,487.711 190.5,486C 185.821,485.662 181.488,484.328 177.5,482C 156.539,481.714 144.039,471.214 140,450.5C 127.176,458.148 113.343,460.648 98.5,458C 90.6339,455.515 82.6339,453.515 74.5,452C 54.9132,442.997 49.0799,428.497 57,408.5C 66.2342,395.627 78.7342,387.961 94.5,385.5C 92.6275,381.588 90.6275,377.755 88.5,374C 70.6568,365.82 58.8235,352.32 53,333.5C 40.7936,289.193 46.2936,247.193 69.5,207.5C 59.4487,191.064 51.2821,173.73 45,155.5C 46.0538,140.201 46.3871,124.867 46,109.5C 35.4808,94.9732 23.4808,81.6398 10,69.5C 6.25674,65.2678 2.75674,60.9345 -0.5,56.5C -0.5,52.1667 -0.5,47.8333 -0.5,43.5C 9.76623,24.2659 25.0996,18.7659 45.5,27C 67.9457,36.2887 85.1124,51.4554 97,72.5C 110.456,95.0753 121.456,118.742 130,143.5C 131.478,149.551 132.812,155.551 134,161.5C 150.985,156.607 167.819,150.94 184.5,144.5C 189.063,124.296 197.563,105.963 210,89.5C 221.355,76.4675 234.189,65.3008 248.5,56C 281.602,35.3661 304.768,43.1994 318,79.5C 320.953,90.3093 322.453,101.309 322.5,112.5C 360.236,109.787 395.903,116.953 429.5,134C 465.163,161.014 489.997,195.848 504,238.5C 507.153,249.807 509.653,261.14 511.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#f9f9f9" d="M 24.5,29.5 C 29.5518,29.4502 34.5518,29.9502 39.5,31C 64.2651,40.4294 82.7651,56.9294 95,80.5C 105.37,98.9048 114.37,117.905 122,137.5C 124.445,145.715 126.278,154.048 127.5,162.5C 112.806,166.18 99.806,173.013 88.5,183C 87.6683,183.688 87.0016,183.521 86.5,182.5C 81.5074,171.354 77.0074,160.021 73,148.5C 71.949,132.503 70.949,116.503 70,100.5C 69.8323,89.9943 66.4989,80.661 60,72.5C 50.2229,59.4865 39.3896,47.3198 27.5,36C 24.3562,34.3084 21.0229,33.1418 17.5,32.5C 19.7639,31.1308 22.0972,30.1308 24.5,29.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#f8a38f" d="M 12.5,38.5 C 17.3236,37.9711 21.6569,39.1378 25.5,42C 39.5654,55.7226 51.7321,70.8893 62,87.5C 64.8374,107.385 66.5041,127.385 67,147.5C 70.9051,161.478 76.0717,174.978 82.5,188C 79.7313,192.44 76.5646,196.606 73,200.5C 64.0573,185.948 56.724,170.614 51,154.5C 51.9952,139.197 52.3286,123.864 52,108.5C 48.7377,102.307 44.7377,96.6405 40,91.5C 29,79.8333 18,68.1667 7,56.5C 3.70863,48.8182 5.54196,42.8182 12.5,38.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fafafa" d="M 75.5,358.5 C 75.5,358.167 75.5,357.833 75.5,357.5C 89.9869,361.531 96.4869,355.865 95,340.5C 88.9149,339.688 82.7482,339.188 76.5,339C 72.7424,337.077 69.4091,334.577 66.5,331.5C 65.914,331.709 65.414,332.043 65,332.5C 64.3219,336.221 64.4886,339.888 65.5,343.5C 65.5,344.167 65.5,344.833 65.5,345.5C 56.2828,328.814 51.9494,310.814 52.5,291.5C 52.6554,251.963 65.6554,217.463 91.5,188C 109.872,171.873 131.372,164.04 156,164.5C 163.871,164.941 171.705,165.774 179.5,167C 180.059,167.725 180.392,168.558 180.5,169.5C 177.315,184.684 175.315,200.018 174.5,215.5C 176.5,215.5 178.5,215.5 180.5,215.5C 182.202,180.727 189.035,147.061 201,114.5C 217.196,84.2957 241.363,63.4624 273.5,52C 285.541,49.4426 295.374,52.9426 303,62.5C 310.113,73.413 314.447,85.413 316,98.5C 321.979,137.67 310.146,170.17 280.5,196C 263.081,211.714 243.415,223.881 221.5,232.5C 221.08,234.326 221.08,236.326 221.5,238.5C 234.851,234.241 247.351,228.241 259,220.5C 259.772,220.645 260.439,220.978 261,221.5C 275.359,247.499 277.359,274.499 267,302.5C 255.866,325.636 239.699,344.469 218.5,359C 205.461,365.355 191.794,369.689 177.5,372C 152.14,376.37 126.806,376.37 101.5,372C 91.2074,370.356 82.5408,365.856 75.5,358.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#0f0c0c" d="M 193.5,223.5 C 192.507,215.35 192.174,207.017 192.5,198.5C 193.5,169.804 200.666,142.804 214,117.5C 225.84,98.1554 243.007,87.1554 265.5,84.5C 286.335,85.1601 299.835,95.4934 306,115.5C 309.914,142.091 302.081,164.591 282.5,183C 256.19,203.482 226.523,216.982 193.5,223.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fca592" d="M 257.5,90.5 C 284.894,88.5662 299.56,101.233 301.5,128.5C 300.608,150.45 291.608,168.284 274.5,182C 251.674,198.494 226.507,209.994 199,216.5C 197.361,188.998 201.361,162.331 211,136.5C 219.834,114.165 235.334,98.8314 257.5,90.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fafafa" d="M 60.5,425.5 C 59.5386,423.735 59.2053,421.735 59.5,419.5C 63.1115,407.716 70.7781,399.549 82.5,395C 91.0632,391.633 99.5632,391.799 108,395.5C 108.667,394.833 108.667,394.167 108,393.5C 102.81,388.767 99.4764,383.1 98,376.5C 102.705,378.033 107.538,379.2 112.5,380C 140.837,382.162 168.837,380.162 196.5,374C 217.812,367.925 235.645,356.425 250,339.5C 264.443,322.614 274.11,303.281 279,281.5C 281.871,258.038 277.038,236.371 264.5,216.5C 281.854,203.979 296.687,188.979 309,171.5C 318.099,155.03 322.599,137.363 322.5,118.5C 360.451,115.776 396.117,123.276 429.5,141C 473.317,176.458 498.484,222.292 505,278.5C 507.615,302.611 503.949,325.611 494,347.5C 489.686,356.123 483.52,363.123 475.5,368.5C 480.461,372.751 482.961,378.085 483,384.5C 480.5,388.333 477.333,391.5 473.5,394C 459.716,403.227 445.049,410.893 429.5,417C 425.514,417.499 421.514,417.666 417.5,417.5C 417.193,411.907 417.527,406.407 418.5,401C 417.167,400.333 415.833,399.667 414.5,399C 430.794,394.523 446.461,388.356 461.5,380.5C 461.014,378.503 459.847,377.169 458,376.5C 440.722,385.148 422.555,390.982 403.5,394C 380.37,396.219 367.203,385.719 364,362.5C 362.937,347.817 366.437,334.317 374.5,322C 373.465,320.726 372.298,319.56 371,318.5C 354.722,340.239 353.389,362.905 367,386.5C 371.262,392.27 376.762,396.27 383.5,398.5C 384.736,400.034 385.236,401.7 385,403.5C 364.91,414.289 343.41,418.956 320.5,417.5C 319.84,404.55 317.673,391.883 314,379.5C 311.816,377.129 309.65,377.296 307.5,380C 314.177,397.067 315.677,414.567 312,432.5C 305.593,444.224 295.76,451.39 282.5,454C 268.581,456.057 254.581,457.224 240.5,457.5C 239.833,466.67 235.166,472.837 226.5,476C 215.527,480.056 204.193,481.39 192.5,480C 187.997,479.932 183.83,478.765 180,476.5C 179.18,467.46 181.68,459.46 187.5,452.5C 186.167,451.5 184.833,450.5 183.5,449.5C 176.525,456.706 173.192,465.372 173.5,475.5C 155.566,474.56 151.066,466.227 160,450.5C 165.03,445.927 164.364,443.594 158,443.5C 153.995,448.511 151.328,454.178 150,460.5C 149.667,460.167 149.333,459.833 149,459.5C 144.897,446.475 148.397,435.975 159.5,428C 163.945,425.443 168.611,423.443 173.5,422C 182.977,422.438 192.477,422.938 202,423.5C 220.978,425.676 230.811,417.343 231.5,398.5C 229.5,398.5 227.5,398.5 225.5,398.5C 226.791,409.364 222.125,415.864 211.5,418C 200.619,418.627 189.786,418.127 179,416.5C 166.002,416.349 155.502,421.349 147.5,431.5C 146.029,427.759 144.363,424.092 142.5,420.5C 141.998,419.479 141.332,419.312 140.5,420C 139.272,420.779 138.272,421.779 137.5,423C 139.652,428.271 141.652,433.604 143.5,439C 129.108,453.41 112.441,456.91 93.5,449.5C 89.7245,439.648 91.3911,430.815 98.5,423C 97.3147,421.647 95.9814,420.48 94.5,419.5C 87.1734,427.469 84.5067,436.803 86.5,447.5C 75.3584,448.43 68.025,443.597 64.5,433C 65.9688,424.073 69.6355,416.239 75.5,409.5C 74.5,407.833 73.1667,406.5 71.5,405.5C 66.2677,411.297 62.601,417.964 60.5,425.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e5e5e5" d="M 180.5,151.5 C 181.675,151.281 182.675,151.614 183.5,152.5C 182.878,155.37 182.211,158.204 181.5,161C 175.174,160.8 168.84,160.134 162.5,159C 168.652,156.569 174.652,154.069 180.5,151.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9b9b9b" d="M 192.5,198.5 C 192.174,207.017 192.507,215.35 193.5,223.5C 193.44,224.043 193.107,224.376 192.5,224.5C 191.179,215.675 191.179,207.009 192.5,198.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#090909" d="M 190.5,275.5 C 203.491,273.992 208.658,279.659 206,292.5C 201.745,299.54 195.578,302.04 187.5,300C 181.092,296.677 178.925,291.511 181,284.5C 183.679,280.924 186.846,277.924 190.5,275.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#dddddd" d="M 192.5,279.5 C 196.302,278.88 199.635,279.714 202.5,282C 201.646,283.022 200.646,283.855 199.5,284.5C 197.382,283.054 195.049,282.387 192.5,282.5C 192.5,281.5 192.5,280.5 192.5,279.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#070707" d="M 75.5,357.5 C 71.1612,353.465 67.8279,348.798 65.5,343.5C 64.4886,339.888 64.3219,336.221 65,332.5C 65.414,332.043 65.914,331.709 66.5,331.5C 69.4091,334.577 72.7424,337.077 76.5,339C 82.7482,339.188 88.9149,339.688 95,340.5C 96.4869,355.865 89.9869,361.531 75.5,357.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#afafaf" d="M 65.5,343.5 C 67.8279,348.798 71.1612,353.465 75.5,357.5C 75.5,357.833 75.5,358.167 75.5,358.5C 70.6417,355.312 67.3083,350.979 65.5,345.5C 65.5,344.833 65.5,344.167 65.5,343.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#ededed" d="M 407.5,398.5 C 409.167,398.5 410.833,398.5 412.5,398.5C 411.966,404.499 411.299,410.499 410.5,416.5C 402.406,414.736 396.739,410.069 393.5,402.5C 393.608,401.558 393.941,400.725 394.5,400C 399.019,399.825 403.353,399.325 407.5,398.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8e8e8e" d="M 59.5,419.5 C 59.2053,421.735 59.5386,423.735 60.5,425.5C 60.6068,427.379 60.1068,427.712 59,426.5C 58.2042,423.961 58.3709,421.628 59.5,419.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.6 KiB |
4
auth/assets/custom-icons/icons/coindcx.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 500 500">
|
||||
<path fill="#182954" d="m75.006 269.464 12.657 10.855a41.066 41.066 0 0 1-8.676 8.889 53.579 53.579 0 0 1-13.654 7.76 45.952 45.952 0 0 1-17.066 3.107 49.217 49.217 0 0 1-25.313-6.492 46.023 46.023 0 0 1-17.21-17.64A51.033 51.033 0 0 1-.49 250.556a52.832 52.832 0 0 1 3.538-19.472 49.477 49.477 0 0 1 10.242-16.086 46.79 46.79 0 0 1 15.5-10.855 49.825 49.825 0 0 1 20.05-3.954 46.083 46.083 0 0 1 23.605 5.503 49.212 49.212 0 0 1 15.215 13.685l-12.795 11.29a39.526 39.526 0 0 0-10.667-10.584 27.467 27.467 0 0 0-15.358-3.95 27.747 27.747 0 0 0-16.212 4.651 30.818 30.818 0 0 0-10.52 12.559 39.113 39.113 0 0 0-3.702 16.946 36.87 36.87 0 0 0 3.699 16.508 29.838 29.838 0 0 0 10.224 11.84 27.317 27.317 0 0 0 15.501 4.376 31.64 31.64 0 0 0 13.511-2.401 27.877 27.877 0 0 0 8.247-5.644l5.403-5.503m17.656-5.362a35.619 35.619 0 0 1 4.553-17.781 34.98 34.98 0 0 1 12.8-12.98 39.655 39.655 0 0 1 18.913-4.797 39.66 39.66 0 0 1 18.913 4.797 34.985 34.985 0 0 1 12.8 12.98 37.037 37.037 0 0 1 4.55 17.779 37.04 37.04 0 0 1-4.55 17.78 36.665 36.665 0 0 1-13.418 13.205 37.023 37.023 0 0 1-18.254 4.856 37.027 37.027 0 0 1-18.276-4.774A36.659 36.659 0 0 1 97.2 282.022a35.62 35.62 0 0 1-4.553-17.777v-.142zm36.123 21.31a17.017 17.017 0 0 0 10.666-3.244 20.199 20.199 0 0 0 6.4-8.184 24.947 24.947 0 0 0 2.133-9.736 24.391 24.391 0 0 0-2.133-9.736 20.347 20.347 0 0 0-6.4-8.183 19.133 19.133 0 0 0-10.666-3.245c-3.803 0-7.518 1.13-10.667 3.245a20.2 20.2 0 0 0-6.256 8.041 24.393 24.393 0 0 0-2.134 9.736 24.812 24.812 0 0 0 2.134 9.878 20.065 20.065 0 0 0 6.4 8.184 17.017 17.017 0 0 0 10.666 3.244m39.667-82.975h16.924v17.781H168.58v-17.781zm0 28.223h16.924v67.026H168.58V230.66zm23.605 67.025v-66.884h16.212l.42 7.62a36.08 36.08 0 0 1 7.537-5.929 23.751 23.751 0 0 1 12.8-3.106c3.556-.227 7.12.326 10.438 1.618a24.317 24.317 0 0 1 8.76 5.86 29.164 29.164 0 0 1 6.687 20.177v40.64h-17.067v-40.498a13.31 13.31 0 0 0-.763-5.298 13.39 13.39 0 0 0-2.792-4.58 12.239 12.239 0 0 0-4.18-2.705 12.32 12.32 0 0 0-4.921-.823c-2.2-.058-4.388.367-6.403 1.245a14.929 14.929 0 0 0-5.257 3.836 18.118 18.118 0 0 0-4.552 12.559v36.264l-16.919.004z"/>
|
||||
<path fill="#FA4A29" d="m464.104 246.605 29.874-44.184h-28.3l-15.502 24.695-15.946-24.695h-31.288l1.421 1.975-.997-.418a63.582 63.582 0 0 0-23.175-4.062 50.655 50.655 0 0 0-26.025 6.634 46.796 46.796 0 0 0-14.365 12.98 40.496 40.496 0 0 0-15.644-11.853 65.288 65.288 0 0 0-26.45-5.098h-36.833v95.107h36.691a64.283 64.283 0 0 0 26.45-5.223 41.778 41.778 0 0 0 15.643-11.71 45.958 45.958 0 0 0 14.647 12.98 51.646 51.646 0 0 0 25.882 6.35 55.244 55.244 0 0 0 24.744-5.361l-1.99 2.964h27.872l18.631-29.225 19.2 29.225H500.5l-36.396-51.081zm-148.042 21.71a25.875 25.875 0 0 1-8.938 5.526 26.02 26.02 0 0 1-10.417 1.53H286.33v-50.777h10.38a25.677 25.677 0 0 1 10.727 1.384 25.529 25.529 0 0 1 9.184 5.672 26.25 26.25 0 0 1 6.4 18.345 24.92 24.92 0 0 1-1.604 9.876 25.065 25.065 0 0 1-5.365 8.469l.009-.025zm101.955 6.939L405.93 263.98a38.727 38.727 0 0 1-10.237 9.185 27.198 27.198 0 0 1-13.654 2.965 25.611 25.611 0 0 1-13.368-3.386 22.93 22.93 0 0 1-8.836-9.453 29.577 29.577 0 0 1-3.13-13.685 29.036 29.036 0 0 1 2.987-13.406 23.352 23.352 0 0 1 8.676-9.452 25.756 25.756 0 0 1 13.793-3.528 24.898 24.898 0 0 1 12.8 3.244 32.19 32.19 0 0 1 9.677 8.767l12.657-12.558 18.488 26.386-17.765 26.194z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
1
auth/assets/custom-icons/icons/crypto.com.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><circle cx="512" cy="512" r="512" style="fill:#002967"/><path d="M714.2 628.8 512 745.5 309.8 628.8V395.3L512 278.5l202.2 116.8zM512 256 290.3 384v256L512 768l221.7-128V384zm86.9 110.5H424.7l-20.2 88.8h215.4zM455.6 577.6v-59L404 485.8l-58.4 43.4 79.6 138.4H457l37.6-35V615zm113-108.9H455.8l19 49.6L469 574h43l43.4-.2-5.4-55.4zm51.6 16.7-51 33.2v59l-39 37.4v17.6l37.6 34.6h31.4l79.2-138z" style="fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 479 B |
1
auth/assets/custom-icons/icons/deriv.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 216.86 72"><path fill="#FF444F" d="m43.472 2.271-3.715 21.06H26.86c-12.03 0-23.498 9.744-25.623 21.77l-.9 5.118C-1.777 62.246 6.25 71.99 18.281 71.99h10.755c8.768 0 17.122-7.095 18.664-15.86L57.605 0zm-9.15 51.872c-.475 2.707-2.914 4.911-5.622 4.911h-6.534c-5.408 0-9.026-4.388-8.077-9.803l.564-3.192c.958-5.405 6.119-9.803 11.526-9.803h11.298zm108.463 17.845 8.462-47.986h13.385l-8.462 47.986zm1.448-47.433-2.016 11.419c-6.341-1.97-12.883-1.343-14.893-.942L120.806 72h-13.394l8.032-45.52c4.357-1.803 15.055-5.462 28.789-1.925m-54.27-1.232h-10.42c-10.152 0-19.83 8.221-21.619 18.37L55.819 53.62c-1.79 10.15 4.981 18.37 15.135 18.37h22.163l2.273-12.895H74.562c-3.38 0-5.644-2.737-5.041-6.127l.07-.405h33.58l1.918-10.87c1.789-10.149-4.982-18.37-15.135-18.37zm1.69 17.342-.079.692H71.606l.109-.613c.602-3.38 3.687-6.354 7.077-6.354h7.8c3.351 0 5.615 2.925 5.061 6.275m111.81-16.663h13.394c-4.563 12.126-15.019 32.755-25.149 47.986h-13.394c-4.65-14.496-7.653-34.695-8.225-47.986h13.395c.241 4.335 2.183 20.417 4.399 31.651 6.077-10.93 12.777-25.269 15.569-31.651z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
auth/assets/custom-icons/icons/dmarket.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 2000 1948.02"><defs><style>.cls-1,.cls-2{opacity:0.25;isolation:isolate;}.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}</style><linearGradient id="linear-gradient" x1="83.62" y1="947.07" x2="878.54" y2="947.07" gradientTransform="matrix(1, 0, 0, -1, 0, 1923)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#00ba96"/><stop offset="0.52" stop-color="#00d9af"/><stop offset="1" stop-color="#00d9af"/></linearGradient><linearGradient id="linear-gradient-2" x1="1144.49" y1="948.99" x2="2001.4" y2="948.99" gradientTransform="matrix(1, 0, 0, -1, 0, 1923)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#008d85"/><stop offset="1" stop-color="#00ffe0"/></linearGradient><linearGradient id="linear-gradient-3" x1="250.91" y1="949" x2="1904.03" y2="949" gradientTransform="matrix(1, 0, 0, -1, 0, 1923)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#008d94"/><stop offset="1" stop-color="#00ffe0"/></linearGradient><linearGradient id="linear-gradient-4" y1="947.06" x2="794.89" y2="947.06" gradientTransform="matrix(1, 0, 0, -1, 0, 1923)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#00ba96"/><stop offset="0.52" stop-color="#00d9af"/><stop offset="1" stop-color="#00faaf"/></linearGradient></defs><title>dmt</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M857,890.24,625.08,489,389.28,83.76a168.38,168.38,0,0,0-54.57-56.49h-1.95a148.49,148.49,0,0,0-56.52,58.44L100.85,389.6a138.94,138.94,0,0,0,0,140.26L311.32,894.13c15.59,25.32,21.44,54.54,21.44,83.76h0a178.34,178.34,0,0,1-21.44,83.76L102.8,1422a138.94,138.94,0,0,0,0,140.26l175.39,303.89c13.64,23.38,33.13,44.8,56.52,58.44h2c23.39-13.64,40.93-33.12,54.57-56.49l233.86-405.18L857,1057.76A171,171,0,0,0,857,890.24Z"/><path class="cls-2" d="M1975.62,878.55,1741.76,475.31,1502.06,60.39a171.53,171.53,0,0,0-42.87-48.7C1449.44,3.9,1439.69,0,1428,0c-122.78,0-206.58,3.9-268.94,3.9-9.74,0-15.59,11.69-13.64,21.43l60.41,339c0,3.9,0,7.79-1.95,11.69-23.39,42.86-21.44,95.45,3.9,138.31l214.37,374c15.59,27.27,23.39,56.49,23.39,85.71s-7.8,58.44-23.39,85.71l-216.32,374c-25.33,42.86-25.33,95.45-3.9,138.31,2,3.9,2,7.79,2,11.69l-60.41,337c-2,9.74,3.9,21.43,13.64,21.43,56.52,0-23.39,5.84,276.73,5.84,5.85,0,13.64-2,19.49-3.9,21.44-7.79,35.08-33.12,46.77-54.54l239.71-416.87,231.91-403.24c37-58.47,37-130.53,3.9-190.92"/><path class="cls-3" d="M1880.13,890.24,1414.36,83.76C1385.13,33.12,1330.56,0,1270.15,0H338.61c-31.18,0-60.41,9.74-87.7,25.32v1.95a168.38,168.38,0,0,1,54.57,56.49L539.34,489c21.44-9.74,46.77-15.58,70.16-15.58H995.36c60.41,0,115,31.17,144.21,83.76L1332.5,890.24c29.23,50.65,29.23,114.93,0,167.53l-192.93,333.11c-29.23,50.65-85.75,83.76-144.21,83.76H611.44a168.21,168.21,0,0,1-70.16-15.58L307.43,1864.24a168.38,168.38,0,0,1-54.57,56.49v2c25.33,15.58,56.52,25.32,87.7,25.32H1274c60.41,0,115-31.17,144.21-83.76L1884,1057.76c27.31-52.59,27.31-114.93-3.87-167.52"/><path class="cls-4" d="M771.25,890.24,539.34,489,305.48,83.76a168.38,168.38,0,0,0-54.57-56.49H249a148.49,148.49,0,0,0-56.52,58.44L19,387.65a138.94,138.94,0,0,0,0,140.26L229.47,892.18c15.59,25.32,21.44,54.54,21.44,83.76h0a178.34,178.34,0,0,1-21.44,83.76L19,1422a138.94,138.94,0,0,0,0,140.26l175.4,303.92c13.64,23.38,33.13,44.8,56.52,58.44h2c23.39-13.64,40.93-33.12,54.57-56.49L541.3,1463l231.9-401.29C802.43,1005.17,802.43,942.83,771.25,890.24Z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -1 +1 @@
|
||||
<svg id="logosandtypes_com" data-name="logosandtypes com" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150"><defs><style>.cls-1{fill:none;}.cls-2{fill:#e31937;}</style></defs><g id="Layer_2" data-name="Layer 2"><path id="Layer_3" data-name="Layer 3" class="cls-1" d="M0,0H150V150H0Z" transform="translate(0 0)"/></g><rect class="cls-2" x="13.34" y="14.37" width="15.01" height="123.08"/><rect class="cls-2" x="122.92" y="14.37" width="15.01" height="123.08"/><rect class="cls-2" x="43.36" y="54.9" width="64.54" height="15.01"/><rect class="cls-2" x="43.36" y="83.42" width="64.54" height="15.01"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" fill="#e31937" xmlns:v="https://vecta.io/nano"><path d="M13.34 14.37h15.01v123.08H13.34zm109.58 0h15.01v123.08h-15.01zM43.36 54.9h64.54v15.01H43.36zm0 28.52h64.54v15.01H43.36z"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 611 B After Width: | Height: | Size: 247 B |
6
auth/assets/custom-icons/icons/htx.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
|
||||
<g clip-path="url(#a)">
|
||||
<path fill="#fff" d="M301.399 153.471c1.48-73.53-40.157-137.614-61.84-153.005-.098-.1-2.022-1.16-1.874 1.726 0 .05-.05.05-.05.099-2.219 138.897-73.628 176.315-112.38 227.227-86.16 113.194-14.281 242.323 78.86 266.792 1.578.395 5.895 1.677 14.06 3.355 4.266.912 5.5-2.714 2.367-8.116-11.124-19.363-30.932-52.046-34.854-94.028-8.904-97.482 113.984-158.506 115.71-244.05z"/>
|
||||
<path fill="#008CD6" d="M348.339 200.56c-.74-.543-1.776-.494-1.875.444-1.973 17.66-20.25 54.315-44.325 88.577-81.005 115.513-40.207 167.904-8.51 204.262 5.846 6.734 8.756 5.23 11.84.444 2.86-4.563 7.227-10.36 25.949-19.215 2.91-1.381 73.604-38.923 81.276-124.393 7.4-82.681-45.633-134.974-64.355-150.12z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 790 B |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 2.4 KiB |
6
auth/assets/custom-icons/icons/itch_io.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="235.452" width="261.728"
|
||||
viewBox="0 0 245.371 220.736">
|
||||
<path
|
||||
d="M31.99 1.365C21.287 7.72.2 31.945 0 38.298v10.516C0 62.144 12.46 73.86 23.773 73.86c13.584 0 24.902-11.258 24.903-24.62 0 13.362 10.93 24.62 24.515 24.62 13.586 0 24.165-11.258 24.165-24.62 0 13.362 11.622 24.62 25.207 24.62h.246c13.586 0 25.208-11.258 25.208-24.62 0 13.362 10.58 24.62 24.164 24.62 13.585 0 24.515-11.258 24.515-24.62 0 13.362 11.32 24.62 24.903 24.62 11.313 0 23.773-11.714 23.773-25.046V38.298c-.2-6.354-21.287-30.58-31.988-36.933C180.118.197 157.056-.005 122.685 0c-34.37.003-81.228.54-90.697 1.365zm65.194 66.217a28.025 28.025 0 0 1-4.78 6.155c-5.128 5.014-12.157 8.122-19.906 8.122a28.482 28.482 0 0 1-19.948-8.126c-1.858-1.82-3.27-3.766-4.563-6.032l-.006.004c-1.292 2.27-3.092 4.215-4.954 6.037a28.5 28.5 0 0 1-19.948 8.12c-.934 0-1.906-.258-2.692-.528-1.092 11.372-1.553 22.24-1.716 30.164l-.002.045c-.02 4.024-.04 7.333-.06 11.93.21 23.86-2.363 77.334 10.52 90.473 19.964 4.655 56.7 6.775 93.555 6.788h.006c36.854-.013 73.59-2.133 93.554-6.788 12.883-13.14 10.31-66.614 10.52-90.474-.022-4.596-.04-7.905-.06-11.93l-.003-.045c-.162-7.926-.623-18.793-1.715-30.165-.786.27-1.757.528-2.692.528a28.5 28.5 0 0 1-19.948-8.12c-1.862-1.822-3.662-3.766-4.955-6.037l-.006-.004c-1.294 2.266-2.705 4.213-4.563 6.032a28.48 28.48 0 0 1-19.947 8.125c-7.748 0-14.778-3.11-19.906-8.123a28.025 28.025 0 0 1-4.78-6.155 27.99 27.99 0 0 1-4.736 6.155 28.49 28.49 0 0 1-19.95 8.124c-.27 0-.54-.012-.81-.02h-.007c-.27.008-.54.02-.813.02a28.49 28.49 0 0 1-19.95-8.123 27.992 27.992 0 0 1-4.736-6.155zm-20.486 26.49l-.002.01h.015c8.113.017 15.32 0 24.25 9.746 7.028-.737 14.372-1.105 21.722-1.094h.006c7.35-.01 14.694.357 21.723 1.094 8.93-9.747 16.137-9.73 24.25-9.746h.014l-.002-.01c3.833 0 19.166 0 29.85 30.007L210 165.244c8.504 30.624-2.723 31.373-16.727 31.4-20.768-.773-32.267-15.855-32.267-30.935-11.496 1.884-24.907 2.826-38.318 2.827h-.006c-13.412 0-26.823-.943-38.318-2.827 0 15.08-11.5 30.162-32.267 30.935-14.004-.027-25.23-.775-16.726-31.4L46.85 124.08C57.534 94.073 72.867 94.073 76.7 94.073zm45.985 23.582v.006c-.02.02-21.863 20.08-25.79 27.215l14.304-.573v12.474c0 .584 5.74.346 11.486.08h.006c5.744.266 11.485.504 11.485-.08v-12.474l14.304.573c-3.928-7.135-25.79-27.215-25.79-27.215v-.006l-.003.002z"
|
||||
color="#000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 386 KiB After Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 959 B |
|
Before Width: | Height: | Size: 523 KiB After Width: | Height: | Size: 735 B |
3
auth/assets/custom-icons/icons/marketplacedottf.svg
Normal file
|
After Width: | Height: | Size: 22 KiB |
19
auth/assets/custom-icons/icons/migros.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.0"
|
||||
width="602.36218"
|
||||
height="139.53543"
|
||||
id="svg3058">
|
||||
<defs
|
||||
id="defs3060" />
|
||||
<g
|
||||
id="layer1">
|
||||
<path
|
||||
d="M 106.369,119.88512 L 106.369,62.018665 L 81.544594,119.88512 L 67.772114,119.88512 L 43.359087,62.018665 L 43.359087,119.88512 L 17.716529,119.88512 L 17.716529,19.650275 L 52.045504,19.650275 L 75.627274,76.245395 L 100.30782,19.650275 L 132.00731,19.650275 L 132.00731,119.88512 L 106.369,119.88512 z M 151.74424,119.88514 L 151.74424,19.650295 L 173.67129,19.650295 C 175.59247,19.650295 177.51259,21.571475 177.51259,23.661675 L 177.51259,119.88514 L 151.74424,119.88514 z M 248.65971,62.160065 L 281.25389,62.160065 C 283.82526,62.160065 285.27873,64.264785 285.27873,66.736595 L 285.27873,118.51459 C 276.11148,120.56404 261.78448,121.82085 251.13365,121.82085 C 213.76593,121.82085 194.05842,104.00581 194.05842,69.633955 C 194.05948,38.962025 213.76593,17.714585 246.61239,17.714585 C 261.08007,17.714585 273.76688,21.571475 281.93349,27.080965 L 271.83223,44.330845 C 264.76546,41.165965 255.25983,38.962025 248.53357,38.962025 C 229.64739,38.962025 220.81534,51.492935 220.81534,69.633955 C 220.81534,89.002025 231.04275,100.96814 249.90412,100.96814 C 253.35105,100.96814 257.64767,100.84093 261.08007,100.30377 L 261.08007,82.644625 L 248.65971,82.644625 L 248.65971,62.160065 z M 342.46983,38.962025 L 329.85459,38.962025 L 329.85459,64.094705 L 342.46983,64.094705 C 349.99971,64.094705 355.91916,60.082975 355.91916,50.546515 C 355.92022,40.883215 349.99865,38.962025 342.46983,38.962025 z M 361.45735,119.88514 L 349.56211,92.294115 C 347.1314,86.671595 345.43451,83.888325 340.27794,83.888325 L 329.85459,83.888325 L 329.85459,119.88514 L 304.66452,119.88514 L 304.66452,23.661675 C 304.66452,21.571475 306.95349,19.650295 308.59192,19.650295 L 344.15113,19.650295 C 363.47597,19.650295 380.04625,23.661675 380.04625,48.611165 C 380.04625,59.785695 373.86247,71.230215 362.26026,73.547185 C 368.0401,75.510535 373.86247,82.913205 377.01176,90.951915 L 388.47046,119.88514 L 361.45735,119.88514 z M 444.16061,38.962025 C 430.64148,38.962025 421.01998,48.611165 421.01998,69.633955 C 421.02105,90.951915 430.64042,100.57341 444.15991,100.57341 C 455.75892,100.57341 465.25215,90.951915 465.25215,69.633955 C 465.25321,48.611165 455.75892,38.962025 444.16061,38.962025 z M 444.16061,121.82085 C 411.34321,121.82085 393.97817,98.638055 393.97817,69.633955 C 393.97817,40.883215 411.34215,17.714585 444.15991,17.714585 C 474.90235,17.714585 492.29396,40.883215 492.29396,69.633955 C 492.29502,98.636985 474.90128,121.82085 444.16061,121.82085 z M 541.64053,121.82085 C 524.689,121.82085 508.94892,115.74656 501.92857,110.91455 L 513.3575,90.655685 C 519.73014,94.512575 532.13207,100.4455 543.56101,100.4455 C 550.03179,100.4455 558.21187,99.202855 558.21187,92.012065 C 558.21187,85.258875 549.07227,83.196315 537.08986,79.762855 C 522.62431,75.623205 505.78439,69.859315 505.78439,50.405135 C 505.7851,29.439745 524.41723,17.714585 548.66337,17.714585 C 564.66778,17.714585 577.07254,23.378915 583.4023,29.439745 L 569.48526,45.277265 C 562.60593,41.165965 555.57104,37.973445 547.68719,37.973445 C 538.19396,37.973445 532.82585,41.576285 532.82585,46.816835 C 532.82691,52.015925 539.70518,54.671985 548.37813,57.285175 C 563.71002,62.018685 584.64565,66.850335 584.64565,86.926005 C 584.64671,107.60829 568.11435,121.82085 541.64053,121.82085 z "
|
||||
style="fill:#f60;fill-opacity:1;fill-rule:evenodd"
|
||||
id="polygon3036" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
25
auth/assets/custom-icons/icons/name_com.svg
Normal file
@@ -0,0 +1,25 @@
|
||||
<svg enable-background="new 0 0 1510.1 240.3" viewBox="0 0 1510.1 240.3"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="m873.5 203.7c0 16.2-11.9 29.1-28.9 29.1-16.4 0-28.6-12.9-28.6-29.1s12.2-30 28.6-30c17 0 28.9 13.7 28.9 30z"
|
||||
fill="#6eda78" />
|
||||
<g fill="#282828">
|
||||
<path
|
||||
d="m9.7 229v-135.4l38.7-9.4-5.9 43.6h4.2c2.4-10.1 6.2-18.6 11.3-25.7 5.2-7 11.8-12.4 19.8-16 8.2-3.8 17.6-5.7 28.4-5.7 14 0 26.1 3.2 36.3 9.7 10.1 6.3 17.9 15.5 23.3 27.7 5.6 12 8.3 26.3 8.3 43.1v68.1h-38.5v-57.9c0-11.2-1.7-20.7-5.1-28.5-3.4-8-8.4-14-14.9-18-6.5-4.2-14.4-6.3-23.5-6.3-13.7 0-24.4 4.6-32.1 13.7s-11.5 22.1-11.5 39.1v57.9z" />
|
||||
<path clip-rule="evenodd"
|
||||
d="m252.4 232.7c-19.6 0-36.4-3.9-45.7-11.7-9.3-8-14-18.7-14-32.2 0-13.1 4.7-23.6 14-31.4 25.1-21.6 103.6-13.3 108.6-11.6 0-3.3-.2-8.9-3.5-14.4-7.9-13.8-24.3-19.7-39-19.7-12.3 0-25.3 6.1-32.9 15.4-3 3.7-5.5 9.1-5.5 9.1h-36.8c.6-7 4.6-18.4 10.7-27 6-8.7 15.4-16.1 27-21.2 11.8-5.3 20.7-7.6 38-7.6 18 0 31.8 3 43.9 9.1s21.1 14.6 26.9 25.7c5.9 11 8.8 24 8.8 38.8v23.3 52h-37.7l6-30.9h-4.1c-1.9 8.5-5.4 14.9-9.6 19.6-4.3 4.7-9.8 7.6-19.5 10.5-9.5 2.8-21.4 4.2-35.6 4.2zm-23.2-46.4c-2-32.9 77-23.3 86.1-22.2 0 4.8-.3 9.5-1.4 14-5.8 23.3-38.1 28.4-58 26.6-14.5-1.3-26-6.6-26.7-18.4z"
|
||||
fill-rule="evenodd" />
|
||||
<path
|
||||
d="m375.3 94.7v134.3h38.7v-71.9c0-12.2 2.8-21.7 8.3-28.5 5.6-6.8 13.1-10.3 22.5-10.3 6.4 0 11.8 1.5 16.4 4.6 4.7 3 8.3 7.5 10.8 13.4 2.6 5.7 3.9 12.6 3.9 20.8v71.9h38.5v-71.9c0-12.2 2.8-21.7 8.3-28.5 5.7-6.8 13.3-10.3 22.8-10.3 6.4 0 11.8 1.5 16.4 4.6 4.7 3 8.3 7.5 10.8 13.4 2.4 5.7 3.7 12.6 3.7 20.8v71.9h38.7v-82.1c0-14.1-2.2-26-6.6-35.9-4.2-10.1-10.3-17.7-18.1-22.8s-17.1-7.7-27.9-7.7c-13.1 0-23.8 3.5-32.1 10.6-8.2 6.8-14 17.1-17.4 30.8h-3.4c-1.1-7.8-3.8-14.7-7.8-20.8-4.1-6.3-9.6-11.2-16.4-14.8-6.7-3.8-14.7-5.7-24-5.7-12.7 0-23.1 3.4-31.1 10.3-8 6.7-13.7 16.5-17.1 29.7h-4.2l5.1-36.2z" />
|
||||
<path clip-rule="evenodd"
|
||||
d="m718.3 232.7c-18 0-33.4-3.3-46.3-10-12.7-6.8-22.4-16-28.9-27.4-6.5-11.6-9.8-24.5-9.8-38.8s3.3-27.1 9.8-38.5c6.5-11.6 16.2-20.7 29.1-27.4 12.9-6.8 28.4-10.3 46.5-10.3s33.6 3.4 46.3 10.3c12.9 6.7 22.6 15.8 29.2 27.4 6.5 11.6 9.8 24.6 9.8 39.1 0 4-.7 10.2-.7 10.2h-133.4c.9 4.3 2.4 8.3 4.5 12.1 3.8 6.5 9.3 11.6 16.7 15.4 7.5 3.6 16.8 5.4 27.9 5.4 12.6 0 22.2-1.7 28.9-5.1 5.2-2.7 9.5-5.9 13-9.5h39.1c-2.6 6.7-6.7 13.4-12.2 20-6.4 7.6-15.4 14.1-27.2 19.4-11.5 5.2-25.6 7.7-42.3 7.7zm-43.8-98.3c-1.4 2.4-2.9 6.1-3.4 8.8h47.6 47.6c-.6-2.7-2-6.4-3.4-8.8-3.8-6.7-9.3-11.8-16.7-15.4-7.3-3.8-16.5-5.7-27.4-5.7-11.1 0-20.3 1.9-27.7 5.7-7.3 3.6-12.9 8.7-16.6 15.4z"
|
||||
fill-rule="evenodd" />
|
||||
<path
|
||||
d="m896.2 195.4c6.5 11.4 16.1 20.5 28.7 27.4 12.7 6.7 28.1 10 46.1 10 16 0 30.1-2.8 42.4-8.3 12.2-5.5 22-13.2 29.2-23.1s11.4-21.1 12.7-33.6h-38.7c-1.5 8.4-6.1 15.4-14 21.1-7.8 5.7-18.4 8.6-31.6 8.6-9.8 0-18.1-1.8-25-5.4-6.9-3.8-12.1-8.7-15.7-14.8s-5.4-12.9-5.4-20.5c0-7.4 1.8-14.2 5.4-20.2 3.6-6.3 8.8-11.2 15.7-14.8s15.2-5.4 25-5.4c8.8 0 16.5 1.4 23 4.3 6.5 2.7 11.7 6.2 15.4 10.6 3.8 4.4 6.1 9.3 7.1 14.8h38.7c-1.3-12.7-5.6-24-12.7-33.6-7.2-9.9-16.9-17.6-29.2-23.1-12.2-5.7-26.4-8.6-42.4-8.6-18 0-33.3 3.4-46.1 10.3-12.6 6.7-22.1 15.8-28.7 27.4-6.5 11.6-9.8 24.4-9.8 38.5.1 13.9 3.4 26.8 9.9 38.4z" />
|
||||
<path clip-rule="evenodd"
|
||||
d="m1159.2 232.7c-18.6 0-34.5-3.3-47.5-10-13.1-6.8-22.9-16-29.6-27.4-6.5-11.6-9.8-24.5-9.8-38.8s3.3-27.1 9.8-38.5c6.7-11.6 16.6-20.7 29.6-27.4 13.1-6.8 28.9-10.3 47.5-10.3 18.5 0 34.2 3.4 47.3 10.3 13.1 6.7 22.9 15.8 29.4 27.4 6.7 11.4 10 24.2 10 38.5s-3.3 27.2-10 38.8c-6.5 11.4-16.3 20.5-29.4 27.4-13 6.7-28.8 10-47.3 10zm0-35.3c10.3 0 19-1.8 26.2-5.4 7.3-3.6 12.8-8.5 16.4-14.5 3.8-6.1 5.6-13 5.6-20.8 0-7.4-1.9-14.2-5.6-20.2-3.6-6.3-9.1-11.2-16.4-14.8-7.2-3.6-15.9-5.4-26.2-5.4-10.5 0-19.4 1.8-26.7 5.4-7.2 3.6-12.7 8.6-16.4 14.8-3.6 6.1-5.4 12.8-5.4 20.2 0 7.8 1.8 14.7 5.4 20.8 3.8 6.1 9.2 10.9 16.4 14.5 7.4 3.6 16.3 5.4 26.7 5.4z"
|
||||
fill-rule="evenodd" />
|
||||
<path
|
||||
d="m1265.3 93.6v135.4h38.7v-71.9c0-12.2 2.8-21.7 8.3-28.5 5.6-6.8 13.1-10.3 22.5-10.3 6.4 0 11.8 1.5 16.4 4.6 4.7 3 8.3 7.5 10.8 13.4 2.6 5.7 3.9 12.6 3.9 20.8v71.9h38.5v-71.9c0-12.2 2.8-21.7 8.3-28.5 5.7-6.8 13.3-10.3 22.8-10.3 6.4 0 11.8 1.5 16.4 4.6 4.7 3 8.3 7.5 10.8 13.4 2.4 5.7 3.7 12.6 3.7 20.8v71.9h38.7v-82.1c0-14.1-2.2-26-6.6-35.9-4.2-10.1-10.3-17.7-18.1-22.8s-17.1-7.7-27.9-7.7c-13.1 0-23.8 3.5-32.1 10.6-8.2 6.8-14 17.1-17.4 30.8h-3.4c-1.1-7.8-3.8-14.7-7.8-20.8-4.1-6.3-9.6-11.2-16.4-14.8-6.7-3.8-14.7-5.7-24-5.7-12.7 0-23.1 3.4-31.1 10.3-8 6.7-13.7 16.5-17.1 29.7h-4.2l5.1-36.2z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
38
auth/assets/custom-icons/icons/nucommunity.svg
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="900px" height="900px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#fefefe" d="M -0.5,-0.5 C 299.5,-0.5 599.5,-0.5 899.5,-0.5C 899.5,299.5 899.5,599.5 899.5,899.5C 599.5,899.5 299.5,899.5 -0.5,899.5C -0.5,599.5 -0.5,299.5 -0.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e0a5fc" d="M 297.5,264.5 C 309.66,263.34 321.993,263.173 334.5,264C 337.457,264.279 340.123,265.113 342.5,266.5C 327.57,264.717 312.57,264.051 297.5,264.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8f02d8" d="M 297.5,264.5 C 312.57,264.051 327.57,264.717 342.5,266.5C 369.173,272.584 390.673,286.584 407,308.5C 421.104,329.299 429.604,352.299 432.5,377.5C 432.334,383.509 432.501,389.509 433,395.5C 433.21,397.058 433.71,398.391 434.5,399.5C 434.5,406.5 434.5,413.5 434.5,420.5C 434.5,421.5 434.5,422.5 434.5,423.5C 433.71,422.391 433.21,421.058 433,419.5C 432.5,487.833 432.333,556.166 432.5,624.5C 404.167,624.5 375.833,624.5 347.5,624.5C 347.832,575.997 347.499,527.664 346.5,479.5C 346.829,464.99 346.496,450.657 345.5,436.5C 347.595,406.902 342.095,378.902 329,352.5C 307.252,317.035 275.419,299.368 233.5,299.5C 233.5,299.167 233.5,298.833 233.5,298.5C 250.906,279.797 272.24,268.463 297.5,264.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e2aefc" d="M 464.5,272.5 C 494.329,271.502 524.329,271.169 554.5,271.5C 554.5,330.167 554.5,388.833 554.5,447.5C 554.5,452.833 554.5,458.167 554.5,463.5C 553.501,400.002 553.168,336.336 553.5,272.5C 523.833,272.5 494.167,272.5 464.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#c47ceb" d="M 789.5,272.5 C 759.662,272.169 729.995,272.502 700.5,273.5C 700.667,355.501 700.5,437.501 700,519.5C 699.819,522.695 699.319,525.695 698.5,528.5C 699.467,442.842 699.801,357.175 699.5,271.5C 729.671,271.169 759.671,271.502 789.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#f9fff3" d="M 790.5,489.5 C 790.5,417.167 790.5,344.833 790.5,272.5C 791.341,271.991 791.841,272.657 792,274.5C 792.667,345.167 792.667,415.833 792,486.5C 791.667,489.5 791.333,492.5 791,495.5C 790.505,493.527 790.338,491.527 790.5,489.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fedffe" d="M 789.5,272.5 C 789.833,272.5 790.167,272.5 790.5,272.5C 790.5,344.833 790.5,417.167 790.5,489.5C 789.833,492.167 789.167,494.833 788.5,497.5C 789.469,422.51 789.802,347.51 789.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#eb99fb" d="M 464.5,272.5 C 464.168,339.002 464.501,405.335 465.5,471.5C 465.5,480.5 465.5,489.5 465.5,498.5C 464.672,492.347 464.172,486.013 464,479.5C 463.168,410.332 463.335,341.332 464.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8113b9" d="M 464.5,272.5 C 494.167,272.5 523.833,272.5 553.5,272.5C 553.168,336.336 553.501,400.002 554.5,463.5C 554.334,472.173 554.5,480.84 555,489.5C 555.183,492.365 555.683,495.031 556.5,497.5C 557.067,504.237 558.067,510.904 559.5,517.5C 558.069,517.119 557.236,516.119 557,514.5C 555.425,506.905 554.259,499.238 553.5,491.5C 552.5,418.836 552.167,346.17 552.5,273.5C 523.5,273.5 494.5,273.5 465.5,273.5C 465.5,339.5 465.5,405.5 465.5,471.5C 464.501,405.335 464.168,339.002 464.5,272.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8f02d8" d="M 559.5,517.5 C 567.209,549.077 585.209,572.91 613.5,589C 621.878,592.737 630.545,595.571 639.5,597.5C 641.515,598.924 643.848,599.59 646.5,599.5C 652.509,599.701 658.509,600.034 664.5,600.5C 664.833,601.167 665.167,601.833 665.5,602.5C 652.044,616.271 636.044,625.937 617.5,631.5C 613.313,632.213 609.313,633.213 605.5,634.5C 604.167,634.5 602.833,634.5 601.5,634.5C 584.03,635.144 566.696,634.144 549.5,631.5C 522.738,623.576 502.238,607.576 488,583.5C 473.799,557.033 466.299,528.699 465.5,498.5C 465.5,489.5 465.5,480.5 465.5,471.5C 465.5,405.5 465.5,339.5 465.5,273.5C 494.5,273.5 523.5,273.5 552.5,273.5C 552.167,346.17 552.5,418.836 553.5,491.5C 554.259,499.238 555.425,506.905 557,514.5C 557.236,516.119 558.069,517.119 559.5,517.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8f01d8" d="M 700.5,273.5 C 730.005,273.169 759.338,273.502 788.5,274.5C 787.167,309.327 786.5,344.494 786.5,380C 786.5,415.506 787.167,450.673 788.5,485.5C 787.326,491.399 786.659,497.399 786.5,503.5C 786.5,505.167 786.5,506.833 786.5,508.5C 775.375,553.295 747.708,582.629 703.5,596.5C 699.521,596.742 695.854,597.742 692.5,599.5C 684.181,600.124 675.848,600.457 667.5,600.5C 685.44,579.935 695.774,555.935 698.5,528.5C 699.319,525.695 699.819,522.695 700,519.5C 700.5,437.501 700.667,355.501 700.5,273.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9700e9" d="M 788.5,274.5 C 788.5,344.833 788.5,415.167 788.5,485.5C 787.167,450.673 786.5,415.506 786.5,380C 786.5,344.494 787.167,309.327 788.5,274.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#7c10b7" d="M 700.5,273.5 C 729.995,272.502 759.662,272.169 789.5,272.5C 789.802,347.51 789.469,422.51 788.5,497.5C 787.833,499.5 787.167,501.5 786.5,503.5C 786.659,497.399 787.326,491.399 788.5,485.5C 788.5,415.167 788.5,344.833 788.5,274.5C 759.338,273.502 730.005,273.169 700.5,273.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e0b2f7" d="M 214.5,299.5 C 220.645,298.51 226.978,298.177 233.5,298.5C 233.5,298.833 233.5,299.167 233.5,299.5C 232.833,299.833 232.167,300.167 231.5,300.5C 226.025,299.511 220.358,299.178 214.5,299.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#bb82dc" d="M 203.5,301.5 C 201.485,302.924 199.152,303.59 196.5,303.5C 198.515,302.076 200.848,301.41 203.5,301.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8f01d8" d="M 214.5,299.5 C 220.358,299.178 226.025,299.511 231.5,300.5C 214.94,317.802 205.273,338.469 202.5,362.5C 201.693,366.021 201.026,369.688 200.5,373.5C 199.833,374.5 199.167,375.5 198.5,376.5C 196.503,458.827 195.836,541.493 196.5,624.5C 168.167,624.5 139.833,624.5 111.5,624.5C 111.5,552.833 111.5,481.167 111.5,409.5C 111.5,408.833 111.5,408.167 111.5,407.5C 111.646,403.481 111.979,399.481 112.5,395.5C 113.768,393.095 114.435,390.428 114.5,387.5C 121.985,358.168 138.319,335.001 163.5,318C 173.533,310.984 184.533,306.151 196.5,303.5C 199.152,303.59 201.485,302.924 203.5,301.5C 207.221,301.089 210.888,300.422 214.5,299.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9500e4" d="M 198.5,376.5 C 198.5,459.833 198.5,543.167 198.5,626.5C 169.147,627.159 140.147,626.492 111.5,624.5C 139.833,624.5 168.167,624.5 196.5,624.5C 195.836,541.493 196.503,458.827 198.5,376.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#7d10b7" d="M 200.5,373.5 C 199.513,458.149 199.18,542.815 199.5,627.5C 169.833,627.5 140.167,627.5 110.5,627.5C 110.167,554.665 110.501,481.998 111.5,409.5C 111.5,481.167 111.5,552.833 111.5,624.5C 140.147,626.492 169.147,627.159 198.5,626.5C 198.5,543.167 198.5,459.833 198.5,376.5C 199.167,375.5 199.833,374.5 200.5,373.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#a456d2" d="M 432.5,377.5 C 434.105,384.603 434.772,391.937 434.5,399.5C 433.71,398.391 433.21,397.058 433,395.5C 432.501,389.509 432.334,383.509 432.5,377.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#d898f7" d="M 114.5,387.5 C 114.435,390.428 113.768,393.095 112.5,395.5C 112.294,392.505 112.96,389.838 114.5,387.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fccbfe" d="M 111.5,407.5 C 111.5,408.167 111.5,408.833 111.5,409.5C 110.501,481.998 110.167,554.665 110.5,627.5C 140.167,627.5 169.833,627.5 199.5,627.5C 169.671,628.498 139.671,628.831 109.5,628.5C 109.333,555.166 109.5,481.833 110,408.5C 110.383,407.944 110.883,407.611 111.5,407.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8313bf" d="M 434.5,420.5 C 435.499,489.331 435.833,558.331 435.5,627.5C 405.833,627.5 376.167,627.5 346.5,627.5C 346.5,578.167 346.5,528.833 346.5,479.5C 347.499,527.664 347.832,575.997 347.5,624.5C 376.147,626.492 405.147,627.159 434.5,626.5C 434.5,558.833 434.5,491.167 434.5,423.5C 434.5,422.5 434.5,421.5 434.5,420.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e6b9fc" d="M 434.5,399.5 C 435.327,404.651 435.827,409.984 436,415.5C 436.832,486.335 436.665,557.001 435.5,627.5C 435.833,558.331 435.499,489.331 434.5,420.5C 434.5,413.5 434.5,406.5 434.5,399.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#c48ee5" d="M 202.5,362.5 C 202.271,369.515 201.771,376.515 201,383.5C 200.833,465.001 200.333,546.334 199.5,627.5C 199.18,542.815 199.513,458.149 200.5,373.5C 201.026,369.688 201.693,366.021 202.5,362.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9800e9" d="M 434.5,423.5 C 434.5,491.167 434.5,558.833 434.5,626.5C 405.147,627.159 376.147,626.492 347.5,624.5C 375.833,624.5 404.167,624.5 432.5,624.5C 432.333,556.166 432.5,487.833 433,419.5C 433.21,421.058 433.71,422.391 434.5,423.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fde2ff" d="M 554.5,447.5 C 555.97,463.978 556.637,480.645 556.5,497.5C 555.683,495.031 555.183,492.365 555,489.5C 554.5,480.84 554.334,472.173 554.5,463.5C 554.5,458.167 554.5,452.833 554.5,447.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e6b4fd" d="M 788.5,497.5 C 788.749,501.458 788.082,505.124 786.5,508.5C 786.5,506.833 786.5,505.167 786.5,503.5C 787.167,501.5 787.833,499.5 788.5,497.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e6b5fa" d="M 703.5,596.5 C 700.146,598.258 696.479,599.258 692.5,599.5C 695.854,597.742 699.521,596.742 703.5,596.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#d196ef" d="M 639.5,597.5 C 642.152,597.41 644.485,598.076 646.5,599.5C 643.848,599.59 641.515,598.924 639.5,597.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#eebef9" d="M 692.5,599.5 C 683.638,600.905 674.638,601.905 665.5,602.5C 665.167,601.833 664.833,601.167 664.5,600.5C 665.5,600.5 666.5,600.5 667.5,600.5C 675.848,600.457 684.181,600.124 692.5,599.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e8b7fd" d="M 345.5,436.5 C 346.496,450.657 346.829,464.99 346.5,479.5C 346.5,528.833 346.5,578.167 346.5,627.5C 376.167,627.5 405.833,627.5 435.5,627.5C 405.671,628.498 375.671,628.831 345.5,628.5C 345.5,564.5 345.5,500.5 345.5,436.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#eeccfd" d="M 617.5,631.5 C 614.032,634.114 610.032,635.114 605.5,634.5C 609.313,633.213 613.313,632.213 617.5,631.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#902eca" d="M 549.5,631.5 C 566.696,634.144 584.03,635.144 601.5,634.5C 598.375,635.479 595.042,635.813 591.5,635.5C 581.461,635.758 571.461,635.424 561.5,634.5C 557.098,634.692 553.098,633.692 549.5,631.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#e2b3f9" d="M 561.5,634.5 C 571.461,635.424 581.461,635.758 591.5,635.5C 582.009,636.658 572.342,636.825 562.5,636C 561.944,635.617 561.611,635.117 561.5,634.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
110
auth/assets/custom-icons/icons/okx.svg
Normal file
@@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="157.42708mm"
|
||||
height="44.185417mm"
|
||||
viewBox="0 0 157.42708 44.185417"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
sodipodi:docname="okx logo.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="567.26578"
|
||||
inkscape:cy="219.28838"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="70"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-62.058587,-90.445746)">
|
||||
<g
|
||||
style="fill:#000000"
|
||||
id="g886"
|
||||
transform="matrix(0.39972707,0,0,0.34817986,61.931647,90.445746)">
|
||||
<path
|
||||
id="path839"
|
||||
d="M 115.822,0 H 2.94268 C 2.24645,0 1.57875,0.297103 1.08644,0.825953 0.594137,1.3548 0.317566,2.07208 0.317566,2.81999 V 124.079 c 0,0.748 0.276571,1.466 0.768874,1.995 0.49231,0.528 1.16001,0.825 1.85624,0.825 H 115.822 c 0.697,0 1.364,-0.297 1.857,-0.825 0.492,-0.529 0.769,-1.247 0.769,-1.995 V 2.81999 c 0,-0.74791 -0.277,-1.46519 -0.769,-1.994037 C 117.186,0.297103 116.519,0 115.822,0 Z M 79.0709,81.7797 c 0,0.7479 -0.2766,1.4651 -0.7689,1.994 -0.4923,0.5288 -1.16,0.8259 -1.8562,0.8259 H 42.3193 c -0.6962,0 -1.3639,-0.2971 -1.8562,-0.8259 -0.4923,-0.5289 -0.7689,-1.2461 -0.7689,-1.994 V 45.1198 c 0,-0.7479 0.2766,-1.4652 0.7689,-1.994 0.4923,-0.5289 1.16,-0.826 1.8562,-0.826 h 34.1265 c 0.6962,0 1.3639,0.2971 1.8562,0.826 0.4923,0.5288 0.7689,1.2461 0.7689,1.994 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path841"
|
||||
d="m 352.131,42.305 h -34.127 c -1.449,0 -2.625,1.2625 -2.625,2.82 v 36.6598 c 0,1.5574 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 45.125 c 0,-1.5575 -1.175,-2.82 -2.625,-2.82 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path843"
|
||||
d="m 312.763,0.00204468 h -34.126 c -1.45,0 -2.625,1.26255532 -2.625,2.81998532 V 39.4819 c 0,1.5574 1.175,2.82 2.625,2.82 h 34.126 c 1.45,0 2.626,-1.2626 2.626,-2.82 V 2.82203 c 0,-1.55743 -1.176,-2.81998532 -2.626,-2.81998532 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path845"
|
||||
d="m 391.529,0.00204468 h -34.127 c -1.449,0 -2.625,1.26255532 -2.625,2.81998532 V 39.4819 c 0,1.5574 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 2.82203 c 0,-1.55743 -1.175,-2.81998532 -2.625,-2.81998532 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path847"
|
||||
d="m 312.763,84.6038 h -34.126 c -1.45,0 -2.625,1.2625 -2.625,2.8199 v 36.6603 c 0,1.557 1.175,2.82 2.625,2.82 h 34.126 c 1.45,0 2.626,-1.263 2.626,-2.82 V 87.4237 c 0,-1.5574 -1.176,-2.8199 -2.626,-2.8199 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path849"
|
||||
d="m 391.529,84.6038 h -34.127 c -1.449,0 -2.625,1.2625 -2.625,2.8199 v 36.6603 c 0,1.557 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.263 2.625,-2.82 V 87.4237 c 0,-1.5574 -1.175,-2.8199 -2.625,-2.8199 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path851"
|
||||
d="m 253.651,0.00204468 h -34.126 c -1.45,0 -2.626,1.26255532 -2.626,2.81998532 V 39.4819 c 0,1.5574 1.176,2.82 2.626,2.82 h 34.126 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 2.82203 c 0,-1.55743 -1.175,-2.81998532 -2.625,-2.81998532 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path853"
|
||||
d="m 253.651,84.6038 h -34.126 c -1.45,0 -2.626,1.2625 -2.626,2.8199 v 36.6603 c 0,1.557 1.176,2.82 2.626,2.82 h 34.126 c 1.45,0 2.625,-1.263 2.625,-2.82 V 87.4237 c 0,-1.5574 -1.175,-2.8199 -2.625,-2.8199 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
<path
|
||||
id="path855"
|
||||
d="m 216.888,45.0881 c 0,-0.7479 -0.277,-1.4652 -0.769,-1.994 -0.492,-0.5289 -1.16,-0.826 -1.856,-0.826 H 177.511 V 2.81999 c 0,-0.74791 -0.277,-1.46519 -0.769,-1.994037 C 176.25,0.297103 175.582,0 174.886,0 H 140.76 c -0.697,0 -1.364,0.297103 -1.857,0.825953 -0.492,0.528847 -0.769,1.246127 -0.769,1.994037 V 124.016 c 0,0.748 0.277,1.465 0.769,1.994 0.493,0.529 1.16,0.826 1.857,0.826 h 34.126 c 0.696,0 1.364,-0.297 1.856,-0.826 0.492,-0.529 0.769,-1.246 0.769,-1.994 V 84.5679 h 36.752 c 0.696,0 1.364,-0.2971 1.856,-0.8259 0.492,-0.5289 0.769,-1.2462 0.769,-1.9941 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 671 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 2.5 KiB |
6
auth/assets/custom-icons/icons/render.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="200px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#fefefe" d="M -0.5,-0.5 C 66.1667,-0.5 132.833,-0.5 199.5,-0.5C 199.5,66.1667 199.5,132.833 199.5,199.5C 132.833,199.5 66.1667,199.5 -0.5,199.5C -0.5,132.833 -0.5,66.1667 -0.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#0e0e0e" d="M 119.5,47.5 C 133.743,46.0344 143.909,51.701 150,64.5C 154.009,81.9852 147.509,93.4852 130.5,99C 123.167,99.3333 115.833,99.6667 108.5,100C 104.333,101.5 101.5,104.333 100,108.5C 99.5001,122.829 99.3334,137.163 99.5,151.5C 82.1667,151.5 64.8333,151.5 47.5,151.5C 47.5,132.833 47.5,114.167 47.5,95.5C 60.0736,101.213 72.4069,100.713 84.5,94C 88.6667,91.1667 92.1667,87.6667 95,83.5C 97.7515,75.0718 100.752,66.7384 104,58.5C 108.127,53.202 113.294,49.5354 119.5,47.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
7
auth/assets/custom-icons/icons/samsung.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2030px" height="2048px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:0.999" fill="#0066ff" d="M 922.5,-0.5 C 984.167,-0.5 1045.83,-0.5 1107.5,-0.5C 1183.34,2.62698 1259.01,9.46031 1334.5,20C 1435.99,34.2851 1532.99,63.2851 1625.5,107C 1686.68,137.224 1742.68,174.891 1793.5,220C 1851.84,280.056 1898,348.556 1932,425.5C 1968.98,509.727 1994.31,597.394 2008,688.5C 2018.55,761.657 2025.72,834.99 2029.5,908.5C 2029.5,984.833 2029.5,1061.17 2029.5,1137.5C 2025.59,1213.37 2018.09,1289.04 2007,1364.5C 1992.77,1456.52 1966.44,1544.85 1928,1629.5C 1897.8,1694.64 1859.13,1753.97 1812,1807.5C 1763.29,1856.1 1708.46,1896.26 1647.5,1928C 1544.73,1980.25 1436.06,2013.59 1321.5,2028C 1239.36,2038.97 1157.03,2045.47 1074.5,2047.5C 1060.5,2047.5 1046.5,2047.5 1032.5,2047.5C 1020.83,2046.17 1009.17,2046.17 997.5,2047.5C 983.5,2047.5 969.5,2047.5 955.5,2047.5C 872.975,2045.46 790.642,2038.96 708.5,2028C 606.933,2014.94 509.599,1987.28 416.5,1945C 347.284,1912.42 284.617,1870.42 228.5,1819C 172.903,1758.37 128.403,1690.2 95,1614.5C 60.5996,1534.57 36.5996,1451.57 23,1365.5C 10.7368,1283.1 2.90342,1200.43 -0.5,1117.5C -0.5,1054.5 -0.5,991.5 -0.5,928.5C 2.77579,849.967 9.94246,771.634 21,693.5C 36.75,581.253 70.75,474.92 123,374.5C 154.057,316.905 192.557,264.739 238.5,218C 316.452,150.162 404.785,99.4952 503.5,66C 559.947,46.805 617.613,32.4717 676.5,23C 758.221,10.617 840.221,2.78365 922.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fefeff" d="M 626.5,1312.5 C 626.5,1276.83 626.5,1241.17 626.5,1205.5C 722.5,1205.5 818.5,1205.5 914.5,1205.5C 914.333,1244.17 914.5,1282.83 915,1321.5C 919.897,1362.39 941.73,1389.55 980.5,1403C 1004.93,1409.12 1029.59,1410.12 1054.5,1406C 1094.33,1398.51 1118.83,1375.01 1128,1335.5C 1139.64,1293.91 1132.31,1256.24 1106,1222.5C 1094.47,1209.3 1081.97,1197.13 1068.5,1186C 1051.72,1173.22 1034.38,1161.22 1016.5,1150C 961.491,1118.16 906.158,1086.83 850.5,1056C 810.408,1032.63 772.408,1006.29 736.5,977C 708.562,953.08 685.062,925.58 666,894.5C 645.646,856.764 634.646,816.431 633,773.5C 624.333,602.57 702.833,497.07 868.5,457C 927.844,444.215 987.844,439.548 1048.5,443C 1106.86,444.281 1163.52,454.614 1218.5,474C 1318.44,513.324 1371.28,586.824 1377,694.5C 1377.5,726.832 1377.67,759.165 1377.5,791.5C 1288.17,791.5 1198.83,791.5 1109.5,791.5C 1109.67,765.165 1109.5,738.831 1109,712.5C 1103.68,665.514 1077.85,637.347 1031.5,628C 1000.82,622.223 972.154,627.223 945.5,643C 926.118,658.253 914.285,678.086 910,702.5C 905.639,729.545 909.639,755.212 922,779.5C 936.918,800.419 955.085,817.919 976.5,832C 993.234,843.062 1010.23,853.729 1027.5,864C 1086.31,895.238 1144.65,927.238 1202.5,960C 1251.24,988.047 1295.4,1022.21 1335,1062.5C 1363.36,1092.86 1383.19,1128.19 1394.5,1168.5C 1403.09,1210.74 1405.93,1253.41 1403,1296.5C 1401.52,1447.37 1328.36,1543.2 1183.5,1584C 1116.22,1600.81 1047.89,1607.14 978.5,1603C 920.733,1601.37 864.733,1590.71 810.5,1571C 693.944,1524.55 632.61,1438.38 626.5,1312.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#8eb7ff" d="M 914.5,1205.5 C 818.5,1205.5 722.5,1205.5 626.5,1205.5C 626.5,1241.17 626.5,1276.83 626.5,1312.5C 625.502,1276.67 625.168,1240.67 625.5,1204.5C 722.001,1204.17 818.335,1204.5 914.5,1205.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
3
auth/assets/custom-icons/icons/skinport.svg
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 429 B |
8
auth/assets/custom-icons/icons/twitch.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2400px" height="2800px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#9146ff" d="M 498.5,-0.5 C 1132.17,-0.5 1765.83,-0.5 2399.5,-0.5C 2399.5,466.5 2399.5,933.5 2399.5,1400.5C 2099.7,1699.8 1800.03,1999.3 1500.5,2299C 1366.83,2299.33 1233.17,2299.67 1099.5,2300C 932.965,2466.37 766.632,2632.87 600.5,2799.5C 600.167,2799.5 599.833,2799.5 599.5,2799.5C 599.5,2632.83 599.5,2466.17 599.5,2299.5C 399.5,2299.5 199.5,2299.5 -0.5,2299.5C -0.5,1699.17 -0.5,1098.83 -0.5,498.5C 166.167,332.5 332.5,166.167 498.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#fefffe" d="M 599.5,199.5 C 1132.83,199.5 1666.17,199.5 2199.5,199.5C 2199.67,566.167 2199.5,932.833 2199,1299.5C 2065.83,1432.67 1932.67,1565.83 1799.5,1699C 1665.83,1699.33 1532.17,1699.67 1398.5,1700C 1282.33,1816.17 1166.17,1932.33 1050,2048.5C 1049.5,1932.17 1049.33,1815.83 1049.5,1699.5C 899.5,1699.5 749.5,1699.5 599.5,1699.5C 599.5,1199.5 599.5,699.5 599.5,199.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9146ff" d="M 1149.5,549.5 C 1216.17,549.5 1282.83,549.5 1349.5,549.5C 1349.5,749.5 1349.5,949.5 1349.5,1149.5C 1282.83,1149.5 1216.17,1149.5 1149.5,1149.5C 1149.5,949.5 1149.5,749.5 1149.5,549.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9146ff" d="M 1699.5,549.5 C 1766.17,549.5 1832.83,549.5 1899.5,549.5C 1899.5,749.5 1899.5,949.5 1899.5,1149.5C 1832.83,1149.5 1766.17,1149.5 1699.5,1149.5C 1699.5,949.5 1699.5,749.5 1699.5,549.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
113
auth/assets/custom-icons/icons/ubuntu_one.svg
Normal file
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg3039"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
width="240.20215"
|
||||
height="98.041267"
|
||||
sodipodi:docname="U1_logo.svg">
|
||||
<metadata
|
||||
id="metadata3045">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs3043" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1022"
|
||||
inkscape:window-height="529"
|
||||
id="namedview3041"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="3.5580214"
|
||||
inkscape:cx="188.39168"
|
||||
inkscape:cy="46.745142"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3039" />
|
||||
<path
|
||||
style="fill:#dd4713;fill-opacity:1;stroke:none"
|
||||
d="m 0,13.135439 0.31287126,55.797305 c 0,0 -0.29397798,23.453759 25.17115774,28.396822 14.646306,2.843004 42.347094,-3.749492 42.347094,-3.749492 l -0.220563,-80.503585 -22.276334,0 0,62.638417 -20.95299,0 0,-41.464863 -9.04287,0 10.586775,-21.394113 z"
|
||||
id="path3049"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsccccccccc" />
|
||||
<g
|
||||
id="g3898"
|
||||
transform="scale(2.2196062,2.2196062)">
|
||||
<path
|
||||
d="m 47.937238,17.527712 c -0.49137,0.12284 -1.143956,0.253358 -1.95776,0.391552 -0.798468,0.138195 -1.727443,0.207292 -2.786929,0.207293 -0.921305,-10e-7 -1.696731,-0.130518 -2.32628,-0.391552 -0.629558,-0.27639 -1.136272,-0.660264 -1.520143,-1.151624 -0.383877,-0.491358 -0.660267,-1.067169 -0.829169,-1.727435 -0.168907,-0.675616 -0.253359,-1.420332 -0.253358,-2.23415 l 0,-6.7254823 2.14202,0 0,6.2648323 c -3e-6,1.458728 0.230321,2.502865 0.690975,3.132417 0.460644,0.629556 1.23607,0.944333 2.326279,0.944331 0.230318,2e-6 0.46832,-0.0077 0.714007,-0.02303 0.245672,-0.01535 0.475996,-0.03071 0.690974,-0.04606 0.214961,-0.03071 0.406898,-0.05374 0.575812,-0.0691 0.184251,-0.03071 0.314768,-0.06142 0.391552,-0.09213 l 0,-10.1112553 2.14202,0 0,11.6313983"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3871"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 53.207382,6.4260606 c 0.26103,-0.1688932 0.652582,-0.3454753 1.174656,-0.5297469 0.537419,-0.1842476 1.151617,-0.2763774 1.842598,-0.2763897 0.859871,1.23e-5 1.619942,0.153562 2.280214,0.4606495 0.67561,0.3071111 1.243743,0.7370502 1.704403,1.2898185 0.460638,0.5527892 0.806125,1.2130528 1.036462,1.9807926 0.245667,0.7677564 0.368507,1.6122804 0.368519,2.5335724 -1.2e-5,0.967368 -0.145884,1.842602 -0.437617,2.625701 -0.276401,0.767752 -0.67563,1.420338 -1.197688,1.957761 -0.52208,0.537425 -1.151634,0.952009 -1.888663,1.243753 -0.737047,0.291745 -1.566215,0.437617 -2.487507,0.437617 -0.998079,0 -1.88099,-0.0691 -2.648734,-0.207292 -0.767752,-0.138195 -1.397306,-0.27639 -1.888663,-0.414585 l 0,-17.15919172 2.14202,-0.36851956283681 0,6.42605988283681 m 0,9.5815084 c 0.214965,0.06142 0.514387,0.122842 0.898266,0.18426 0.399224,0.04607 0.890583,0.0691 1.474078,0.0691 1.151617,2e-6 2.072915,-0.376195 2.763897,-1.128591 0.690965,-0.767745 1.036451,-1.85027 1.036461,-3.247578 -10e-6,-0.614193 -0.06143,-1.190004 -0.184259,-1.727436 C 59.072975,9.619905 58.87336,9.159256 58.59698,8.7753728 58.320582,8.3761528 57.95974,8.0690534 57.514454,7.8540739 57.084507,7.6237594 56.562438,7.5085972 55.948246,7.5085868 c -0.583495,1.04e-5 -1.120919,0.099818 -1.612273,0.2994221 -0.491364,0.1996247 -0.867561,0.4069167 -1.128591,0.6218768 l 0,7.5776833"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3873"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 73.905311,17.527712 c -0.49137,0.12284 -1.143957,0.253358 -1.95776,0.391552 -0.798468,0.138195 -1.727443,0.207292 -2.78693,0.207293 -0.921304,-10e-7 -1.69673,-0.130518 -2.326279,-0.391552 -0.629558,-0.27639 -1.136272,-0.660264 -1.520143,-1.151624 -0.383877,-0.491358 -0.660267,-1.067169 -0.829169,-1.727435 -0.168907,-0.675616 -0.253359,-1.420332 -0.253358,-2.23415 l 0,-6.7254823 2.14202,0 0,6.2648323 c -4e-6,1.458728 0.230321,2.502865 0.690974,3.132417 0.460645,0.629556 1.236071,0.944333 2.32628,0.944331 0.230318,2e-6 0.46832,-0.0077 0.714007,-0.02303 0.245672,-0.01535 0.475996,-0.03071 0.690974,-0.04606 0.214961,-0.03071 0.406898,-0.05374 0.575812,-0.0691 0.184251,-0.03071 0.314768,-0.06142 0.391552,-0.09213 l 0,-10.1112553 2.14202,0 0,11.6313983"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3875"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 77.314487,6.2418008 c 0.491357,-0.1228281 1.143943,-0.2533453 1.95776,-0.391552 0.81381,-0.1381827 1.750463,-0.2072801 2.809962,-0.2072923 0.952001,1.22e-5 1.742782,0.1382069 2.372345,0.4145845 0.629544,0.2610463 1.128581,0.6372429 1.497111,1.1285912 0.383863,0.4760146 0.652575,1.0518259 0.806136,1.7274354 0.153538,0.6756275 0.230313,1.4203434 0.230325,2.2341494 l 0,6.725482 -2.14202,0 0,-6.264832 c -1e-5,-0.737032 -0.05375,-1.366586 -0.161227,-1.8886628 C 84.59274,9.1976435 84.431512,8.7753819 84.201197,8.4529182 83.970863,8.1304733 83.663764,7.9001488 83.279898,7.761944 82.896016,7.6084044 82.420012,7.5316296 81.851884,7.5316193 c -0.23033,1.03e-5 -0.468332,0.00769 -0.714006,0.023032 -0.245685,0.015365 -0.483687,0.038398 -0.714007,0.069097 -0.214974,0.015365 -0.414589,0.038398 -0.598844,0.069097 -0.168909,0.03072 -0.291749,0.053752 -0.36852,0.069097 l 0,10.1112547 -2.14202,0 0,-11.6313979"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3877"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 91.700827,5.8963137 4.537397,0 0,1.7965329 -4.537397,0 0,5.5277934 c -3e-6,0.598848 0.04606,1.097885 0.138195,1.497111 0.09213,0.383877 0.230321,0.690976 0.414585,0.921299 0.184255,0.214971 0.414579,0.368521 0.690974,0.460649 0.276384,0.09213 0.598838,0.138197 0.967364,0.138195 0.644902,2e-6 1.159294,-0.0691 1.543175,-0.207292 0.399222,-0.153548 0.675611,-0.261033 0.829169,-0.322455 l 0.414585,1.7735 c -0.214978,0.107486 -0.591175,0.238003 -1.128591,0.391552 -0.537432,0.168905 -1.15163,0.253357 -1.842598,0.253358 -0.813819,-10e-7 -1.489438,-0.09981 -2.026858,-0.299422 -0.522072,-0.21497 -0.944334,-0.529747 -1.266786,-0.944332 -0.322456,-0.414583 -0.552781,-0.921297 -0.690974,-1.520143 -0.122841,-0.614196 -0.184261,-1.320525 -0.18426,-2.118988 l 0,-10.6870668 2.14202,-0.3685196 0,3.7082281"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3879"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 108.21836,17.527712 c -0.49137,0.12284 -1.14395,0.253358 -1.95776,0.391552 -0.79847,0.138195 -1.72744,0.207292 -2.78693,0.207293 -0.9213,-10e-7 -1.69673,-0.130518 -2.32628,-0.391552 -0.62955,-0.27639 -1.13627,-0.660264 -1.52014,-1.151624 -0.383877,-0.491358 -0.660267,-1.067169 -0.829169,-1.727435 -0.168907,-0.675616 -0.253359,-1.420332 -0.253357,-2.23415 l 0,-6.7254823 2.142016,0 0,6.2648323 c 0,1.458728 0.23032,2.502865 0.69098,3.132417 0.46064,0.629556 1.23607,0.944333 2.32628,0.944331 0.23032,2e-6 0.46832,-0.0077 0.714,-0.02303 0.24568,-0.01535 0.476,-0.03071 0.69098,-0.04606 0.21496,-0.03071 0.4069,-0.05374 0.57581,-0.0691 0.18425,-0.03071 0.31477,-0.06142 0.39155,-0.09213 l 0,-10.1112553 2.14202,0 0,11.6313983"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#dd4713;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3881"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 48.692644,28.027864 c -1.2e-5,0.952013 -0.138207,1.811892 -0.414584,2.579636 -0.276402,0.767752 -0.667953,1.428016 -1.174656,1.980793 -0.49137,0.55278 -1.082536,0.982719 -1.773501,1.289819 -0.690982,0.291744 -1.443376,0.437616 -2.257182,0.437617 -0.81382,-10e-7 -1.566214,-0.145873 -2.257183,-0.437617 -0.690978,-0.3071 -1.289821,-0.737039 -1.796532,-1.289819 -0.491362,-0.552777 -0.875236,-1.213041 -1.151624,-1.980793 -0.276391,-0.767744 -0.414586,-1.627623 -0.414585,-2.579636 -10e-7,-0.936647 0.138194,-1.788848 0.414585,-2.556605 0.276388,-0.783095 0.660262,-1.451036 1.151624,-2.003825 0.506711,-0.552768 1.105554,-0.97503 1.796532,-1.266786 0.690969,-0.307088 1.443363,-0.460637 2.257183,-0.46065 0.813806,1.3e-5 1.5662,0.153562 2.257182,0.46065 0.690965,0.291756 1.282131,0.714018 1.773501,1.266786 0.506703,0.552789 0.898254,1.22073 1.174656,2.003825 0.276377,0.767757 0.414572,1.619958 0.414584,2.556605 m -2.23415,0 c -1e-5,-1.351232 -0.307109,-2.418402 -0.921299,-3.201514 -0.598853,-0.798449 -1.420343,-1.197678 -2.464474,-1.197689 -1.044145,1.1e-5 -1.873313,0.39924 -2.487507,1.197689 -0.598848,0.783112 -0.89827,1.850282 -0.898267,3.201514 -3e-6,1.351243 0.299419,2.42609 0.898267,3.224546 0.614194,0.783106 1.443362,1.174657 2.487507,1.174656 1.044131,10e-7 1.865621,-0.39155 2.464474,-1.174656 0.61419,-0.798456 0.921289,-1.873303 0.921299,-3.224546"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3883"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 51.144189,22.384908 c 0.491357,-0.122828 1.143943,-0.253346 1.95776,-0.391552 0.813809,-0.138183 1.750462,-0.20728 2.809962,-0.207293 0.952001,1.3e-5 1.742782,0.138207 2.372344,0.414585 0.629545,0.261046 1.128581,0.637243 1.497111,1.128591 0.383864,0.476015 0.652576,1.051826 0.806136,1.727436 0.153539,0.675627 0.230314,1.420343 0.230325,2.234149 l 0,6.725482 -2.14202,0 0,-6.264832 c -9e-6,-0.737032 -0.05375,-1.366586 -0.161227,-1.888663 -0.09214,-0.522061 -0.253366,-0.944322 -0.483682,-1.266786 -0.230333,-0.322445 -0.537433,-0.552769 -0.921299,-0.690974 -0.383882,-0.15354 -0.859886,-0.230314 -1.428013,-0.230325 -0.230331,1.1e-5 -0.468333,0.0077 -0.714007,0.02303 -0.245685,0.01536 -0.483687,0.0384 -0.714006,0.0691 -0.214975,0.01536 -0.41459,0.0384 -0.598845,0.0691 -0.168909,0.03072 -0.291748,0.05375 -0.368519,0.0691 l 0,10.111255 -2.14202,0 0,-11.631398"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3885"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 63.139815,28.050896 c -2e-6,-1.059487 0.153548,-1.980785 0.460649,-2.763897 0.307098,-0.798449 0.714004,-1.458713 1.220721,-1.980792 0.506711,-0.522059 1.0902,-0.91361 1.750468,-1.174656 0.660259,-0.261023 1.335877,-0.39154 2.026858,-0.391553 1.612264,1.3e-5 2.848339,0.506727 3.708228,1.520144 0.859867,0.998083 1.289806,2.525902 1.289818,4.583462 -1.2e-5,0.09214 -1.2e-5,0.214975 0,0.368519 -1.2e-5,0.138201 -0.0077,0.268718 -0.02303,0.391552 l -8.199561,0 c 0.09213,1.243758 0.452969,2.188088 1.082527,2.832994 0.629549,0.644912 1.612267,0.967366 2.948156,0.967364 0.752386,2e-6 1.38194,-0.06142 1.888663,-0.184259 0.522059,-0.138193 0.913611,-0.268711 1.174656,-0.391552 l 0.299422,1.796532 c -0.261045,0.138195 -0.721694,0.284068 -1.381948,0.437617 -0.644918,0.15355 -1.381957,0.230325 -2.211118,0.230325 -1.044145,0 -1.950088,-0.15355 -2.717831,-0.460649 -0.752398,-0.322454 -1.374274,-0.760071 -1.865631,-1.312851 -0.491361,-0.552778 -0.85988,-1.205364 -1.105558,-1.95776 -0.230326,-0.767745 -0.345489,-1.604591 -0.345487,-2.51054 m 8.222592,-1.174656 c 0.01535,-0.967356 -0.230334,-1.758137 -0.737039,-2.372345 -0.491367,-0.629544 -1.174663,-0.944321 -2.04989,-0.944331 -0.491365,10e-6 -0.928982,0.09982 -1.312851,0.299422 -0.368524,0.18427 -0.683301,0.429949 -0.944331,0.737039 -0.261039,0.307109 -0.468331,0.660273 -0.621877,1.059494 -0.138198,0.399237 -0.230328,0.806144 -0.27639,1.220721 l 5.942378,0"
|
||||
style="font-size:23.03247261px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
|
||||
id="path3887"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
1
auth/assets/custom-icons/icons/yahoo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" style="fill:#6001d2"/><path d="M256 390.61h101.45l59.06 151 59.83-151H575L426.38 748.15H327l40.66-94.74Zm332.7 143.54a61.36 61.36 0 1 0 61.37 61.35 61.36 61.36 0 0 0-61.37-61.35M768 275.85H657.83l-98.09 235.67h110.55Z" style="fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 344 B |
@@ -7,6 +7,15 @@ If you would like to add your own custom icon, please open a pull-request with
|
||||
the relevant SVG placed within `assets/custom-icons/icons` and add the
|
||||
corresponding entry within `assets/custom-icons/_data/custom-icons.json`.
|
||||
|
||||
Please be careful to upload small and optimized icon files. If your icon file
|
||||
is over 50KB, it is likely not optimized.
|
||||
|
||||
Note that the correspondence between the icon and the issuer is based on the name
|
||||
of the issuer provided by the user, excluding spaces. Only the text before the
|
||||
first dot "." or left parentheses "(" will be used for icon matching.
|
||||
e.g. Issuer name provided: "github.com (Main account)" - Then "github" will be
|
||||
used for matching.
|
||||
|
||||
This JSON file contains the following attributes:
|
||||
|
||||
| Attribute | Usecase | Required |
|
||||
|
||||
@@ -6,7 +6,7 @@ FEATURES
|
||||
|
||||
- Secure Backups
|
||||
ente provides end-to-end encrypted cloud backups so that you don't have to worry
|
||||
about losing your tokens. We use the same protocols ente Photos uses to encrypt
|
||||
about losing your tokens. We use the same protocols Ente Photos uses to encrypt
|
||||
and preserve your data.
|
||||
|
||||
- Multi Device Synchronization
|
||||
|
||||
@@ -81,12 +81,12 @@ PODS:
|
||||
- qr_code_scanner (0.2.0):
|
||||
- Flutter
|
||||
- MTBBarcodeScanner
|
||||
- ReachabilitySwift (5.2.2)
|
||||
- ReachabilitySwift (5.2.3)
|
||||
- SDWebImage (5.19.2):
|
||||
- SDWebImage/Core (= 5.19.2)
|
||||
- SDWebImage/Core (5.19.2)
|
||||
- Sentry/HybridSDK (8.25.0)
|
||||
- sentry_flutter (7.20.1):
|
||||
- sentry_flutter (7.20.2):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- Sentry/HybridSDK (= 8.25.0)
|
||||
@@ -100,18 +100,21 @@ PODS:
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- "sqlite3 (3.45.3+1)":
|
||||
- "sqlite3/common (= 3.45.3+1)"
|
||||
- "sqlite3/common (3.45.3+1)"
|
||||
- "sqlite3/fts5 (3.45.3+1)":
|
||||
- "sqlite3 (3.46.0+1)":
|
||||
- "sqlite3/common (= 3.46.0+1)"
|
||||
- "sqlite3/common (3.46.0+1)"
|
||||
- "sqlite3/dbstatvtab (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/perf-threadsafe (3.45.3+1)":
|
||||
- "sqlite3/fts5 (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/rtree (3.45.3+1)":
|
||||
- "sqlite3/perf-threadsafe (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/rtree (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- sqlite3_flutter_libs (0.0.1):
|
||||
- Flutter
|
||||
- "sqlite3 (~> 3.45.3+1)"
|
||||
- "sqlite3 (~> 3.46.0+1)"
|
||||
- sqlite3/dbstatvtab
|
||||
- sqlite3/fts5
|
||||
- sqlite3/perf-threadsafe
|
||||
- sqlite3/rtree
|
||||
@@ -233,29 +236,29 @@ SPEC CHECKSUMS:
|
||||
flutter_local_authentication: 1172a4dd88f6306dadce067454e2c4caf07977bb
|
||||
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
|
||||
flutter_native_splash: edf599c81f74d093a4daf8e17bd7a018854bc778
|
||||
flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
|
||||
fluttertoast: 9f2f8e81bb5ce18facb9748d7855bf5a756fe3db
|
||||
local_auth_darwin: c7e464000a6a89e952235699e32b329457608d98
|
||||
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
|
||||
fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c
|
||||
local_auth_darwin: 4d56c90c2683319835a61274b57620df9c4520ab
|
||||
move_to_background: 39a5b79b26d577b0372cbe8a8c55e7aa9fcd3a2d
|
||||
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
|
||||
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
|
||||
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
|
||||
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
|
||||
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
|
||||
privacy_screen: 1a131c052ceb3c3659934b003b0d397c2381a24e
|
||||
qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e
|
||||
ReachabilitySwift: 2128f3a8c9107e1ad33574c6e58e8285d460b149
|
||||
ReachabilitySwift: 7f151ff156cea1481a8411701195ac6a984f4979
|
||||
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
|
||||
Sentry: cd86fc55628f5b7c572cabe66cc8f95a9d2f165a
|
||||
sentry_flutter: 4cb24c1055c556d7b27262ab2e179d1e5a0b9b0c
|
||||
sentry_flutter: 0cf2507eb90ff7a6aa3304e900dd7f08edbbefdf
|
||||
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
|
||||
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
||||
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
|
||||
sodium_libs: 1faae17af662384acbd13e41867a0008cd2e2318
|
||||
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||
sqlite3: 02d1f07eaaa01f80a1c16b4b31dfcbb3345ee01a
|
||||
sqlite3_flutter_libs: 9bfe005308998aeca155330bbc2ea6dddf834a3b
|
||||
sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630
|
||||
sqlite3_flutter_libs: c00457ebd31e59fa6bb830380ddba24d44fbcd3b
|
||||
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
|
||||
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
|
||||
url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
|
||||
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
|
||||
|
||||
PODFILE CHECKSUM: b4e3a7eabb03395b66e81fc061789f61526ee6bb
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import 'package:ente_auth/events/signed_out_event.dart';
|
||||
import "package:ente_auth/l10n/l10n.dart";
|
||||
import 'package:ente_auth/locale.dart';
|
||||
import "package:ente_auth/onboarding/view/onboarding_page.dart";
|
||||
import 'package:ente_auth/services/authenticator_service.dart';
|
||||
import 'package:ente_auth/services/update_service.dart';
|
||||
import 'package:ente_auth/services/user_service.dart';
|
||||
import 'package:ente_auth/services/window_listener_service.dart';
|
||||
@@ -34,7 +35,8 @@ class App extends StatefulWidget {
|
||||
State<App> createState() => _AppState();
|
||||
}
|
||||
|
||||
class _AppState extends State<App> with WindowListener, TrayListener {
|
||||
class _AppState extends State<App>
|
||||
with WindowListener, TrayListener, WidgetsBindingObserver {
|
||||
late StreamSubscription<SignedOutEvent> _signedOutEvent;
|
||||
late StreamSubscription<SignedInEvent> _signedInEvent;
|
||||
Locale? locale;
|
||||
@@ -56,6 +58,7 @@ class _AppState extends State<App> with WindowListener, TrayListener {
|
||||
void initState() {
|
||||
initWindowManager();
|
||||
initTrayManager();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
|
||||
_signedOutEvent = Bus.instance.on<SignedOutEvent>().listen((event) {
|
||||
if (mounted) {
|
||||
@@ -98,6 +101,15 @@ class _AppState extends State<App> with WindowListener, TrayListener {
|
||||
_signedInEvent.cancel();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> didChangeAppLifecycleState(AppLifecycleState state) async {
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
if (Configuration.instance.hasConfiguredAccount()) {
|
||||
AuthenticatorService.instance.onlineSync().ignore();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (Platform.isAndroid || kDebugMode) {
|
||||
|
||||
@@ -42,3 +42,7 @@ class InvalidStateError extends AssertionError {
|
||||
class SrpSetupNotCompleteError extends Error {}
|
||||
|
||||
class AuthenticatorKeyNotFound extends Error {}
|
||||
|
||||
class PassKeySessionNotVerifiedError extends Error {}
|
||||
|
||||
class PassKeySessionExpiredError extends Error {}
|
||||
|
||||
71
auth/lib/core/win_http_client.dart
Normal file
@@ -0,0 +1,71 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
/*
|
||||
Reference from
|
||||
https://github.com/realm/realm-dart/blob/main/packages/realm_dart/lib/src/handles/native/default_client.dart
|
||||
https://github.com/realm/realm-dart/pull/1378
|
||||
*/
|
||||
HttpClient windowsHttpClient() {
|
||||
final logger = Logger("WindowsHttpClient");
|
||||
const isrgRootX1CertPEM = // The root certificate used by lets encrypt
|
||||
'''
|
||||
subject=CN=ISRG Root X1,O=Internet Security Research Group,C=US
|
||||
issuer=CN=DST Root CA X3,O=Digital Signature Trust Co.
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow
|
||||
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB
|
||||
AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC
|
||||
ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL
|
||||
wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D
|
||||
LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK
|
||||
4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5
|
||||
bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y
|
||||
sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ
|
||||
Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4
|
||||
FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc
|
||||
SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql
|
||||
PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND
|
||||
TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
|
||||
SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1
|
||||
c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx
|
||||
+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB
|
||||
ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu
|
||||
b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E
|
||||
U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu
|
||||
MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC
|
||||
5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW
|
||||
9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG
|
||||
WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O
|
||||
he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC
|
||||
Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5
|
||||
-----END CERTIFICATE-----''';
|
||||
|
||||
if (Platform.isWindows) {
|
||||
final context = SecurityContext(withTrustedRoots: true);
|
||||
try {
|
||||
logger.info('Adding certificate to trusted certificates');
|
||||
context.setTrustedCertificatesBytes(
|
||||
const AsciiEncoder().convert(isrgRootX1CertPEM),
|
||||
);
|
||||
logger.info("Certificate added to trusted certificates");
|
||||
return HttpClient(context: context);
|
||||
} on TlsException catch (e) {
|
||||
logger.warning(
|
||||
"Error adding certificate to trusted certificates: ${e.osError?.message}",
|
||||
);
|
||||
// certificate is already trusted. Nothing to do here
|
||||
if (e.osError?.message.contains("CERT_ALREADY_IN_HASH_TABLE") != true) {
|
||||
rethrow;
|
||||
} else {
|
||||
return HttpClient();
|
||||
}
|
||||
}
|
||||
}
|
||||
throw UnsupportedError("This platform is not supported");
|
||||
}
|
||||
1
auth/lib/l10n/arb/app_ca.arb
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -9,7 +9,7 @@
|
||||
"onBoardingBody": "Sichern Sie Ihre 2FA-Codes",
|
||||
"onBoardingGetStarted": "Los geht's",
|
||||
"setupFirstAccount": "Ihr erstes Konto einrichten",
|
||||
"importScanQrCode": "Scannen eines QR-Codes",
|
||||
"importScanQrCode": "QR-Code scannen",
|
||||
"qrCode": "QR-Code",
|
||||
"importEnterSetupKey": "Einen Setup-Schlüssel eingeben",
|
||||
"importAccountPageTitle": "Kontodaten eingeben",
|
||||
@@ -31,7 +31,7 @@
|
||||
"timeBasedKeyType": "Zeitbasiert (TOTP)",
|
||||
"counterBasedKeyType": "Zählerbasiert (HOTP)",
|
||||
"saveAction": "Speichern",
|
||||
"nextTotpTitle": "Weiter",
|
||||
"nextTotpTitle": "Nächster Code",
|
||||
"deleteCodeTitle": "Code löschen?",
|
||||
"deleteCodeMessage": "Sind Sie sicher, dass Sie diesen Code löschen wollen? Diese Aktion ist unumkehrbar.",
|
||||
"viewLogsAction": "Protokolle anzeigen",
|
||||
@@ -139,7 +139,7 @@
|
||||
"inFamilyPlanMessage": "Sie haben einen Familien-Plan!",
|
||||
"swipeHint": "Wischen Sie nach links, um Codes zu bearbeiten oder zu entfernen",
|
||||
"scan": "Scannen",
|
||||
"scanACode": "Scannen eines Codes",
|
||||
"scanACode": "Scan einen Code",
|
||||
"verify": "Überprüfen Sie",
|
||||
"verifyEmail": "E-Mail-Adresse verifizieren",
|
||||
"enterCodeHint": "Geben Sie den 6-stelligen Code \naus Ihrer Authentifikator-App ein.",
|
||||
@@ -263,12 +263,15 @@
|
||||
"exportLogs": "Logs exportieren",
|
||||
"enterYourRecoveryKey": "Wiederherstellungsschlüssel eingeben",
|
||||
"tempErrorContactSupportIfPersists": "Etwas ist schiefgelaufen. Bitte versuchen sie es später noch einmal. Sollte der Fehler weiter bestehen, kontaktieren sie unser Supportteam.",
|
||||
"networkHostLookUpErr": "Ente ist im Moment nicht erreichbar. Bitte überprüfen Sie Ihre Netzwerkeinstellungen. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support.",
|
||||
"networkConnectionRefusedErr": "Ente ist im Moment nicht erreichbar. Bitte versuchen Sie es später erneut. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Etwas ist schiefgelaufen. Bitte versuchen sie es später noch einmal. Sollte der Fehler weiter bestehen, kontaktieren sie unser Supportteam.",
|
||||
"about": "Über uns",
|
||||
"weAreOpenSource": "Wir sind Opensource!",
|
||||
"privacy": "Datenschutz",
|
||||
"terms": "Bestimmungen",
|
||||
"checkForUpdates": "Auf Updates prüfen",
|
||||
"checkStatus": "Status überprüfen",
|
||||
"downloadUpdate": "Herunterladen",
|
||||
"criticalUpdateAvailable": "Kritische neue Aktualisierung ist verfügbar",
|
||||
"updateAvailable": "Aktualisierung verfügbar",
|
||||
@@ -417,6 +420,9 @@
|
||||
"waitingForBrowserRequest": "Warten auf Browseranfrage...",
|
||||
"waitingForVerification": "Warte auf Bestätigung...",
|
||||
"passkey": "Passkey",
|
||||
"passKeyPendingVerification": "Verifizierung steht noch aus",
|
||||
"loginSessionExpired": "Sitzung abgelaufen",
|
||||
"loginSessionExpiredDetails": "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",
|
||||
"developerSettingsWarning": "Sind Sie sicher, dass Sie die Entwicklereinstellungen ändern möchten?",
|
||||
"developerSettings": "Entwicklereinstellungen",
|
||||
"serverEndpoint": "Server Endpunkt",
|
||||
|
||||
@@ -263,12 +263,15 @@
|
||||
"exportLogs": "Export logs",
|
||||
"enterYourRecoveryKey": "Enter your recovery key",
|
||||
"tempErrorContactSupportIfPersists": "It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team.",
|
||||
"networkHostLookUpErr": "Unable to connect to Ente, please check your network settings and contact support if the error persists.",
|
||||
"networkConnectionRefusedErr": "Unable to connect to Ente, please retry after sometime. If the error persists, please contact support.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team.",
|
||||
"about": "About",
|
||||
"weAreOpenSource": "We are open source!",
|
||||
"privacy": "Privacy",
|
||||
"terms": "Terms",
|
||||
"checkForUpdates": "Check for updates",
|
||||
"checkStatus": "Check status",
|
||||
"downloadUpdate": "Download",
|
||||
"criticalUpdateAvailable": "Critical update available",
|
||||
"updateAvailable": "Update available",
|
||||
@@ -417,6 +420,9 @@
|
||||
"waitingForBrowserRequest": "Waiting for browser request...",
|
||||
"waitingForVerification": "Waiting for verification...",
|
||||
"passkey": "Passkey",
|
||||
"passKeyPendingVerification": "Verification is still pending",
|
||||
"loginSessionExpired" : "Session expired",
|
||||
"loginSessionExpiredDetails": "Your session has expired. Please login again.",
|
||||
"developerSettingsWarning":"Are you sure that you want to modify Developer settings?",
|
||||
"developerSettings": "Developer settings",
|
||||
"serverEndpoint": "Server endpoint",
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Emisor",
|
||||
"codeSecretKeyHint": "Llave Secreta",
|
||||
"codeAccountHint": "Cuenta (tu@dominio.com)",
|
||||
"codeTagHint": "Marcado",
|
||||
"accountKeyType": "Tipo de llave",
|
||||
"sessionExpired": "La sesión ha expirado",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -77,12 +79,14 @@
|
||||
"data": "Datos",
|
||||
"importCodes": "Importar códigos",
|
||||
"importTypePlainText": "Texto sin formato",
|
||||
"importTypeEnteEncrypted": "Exportación cifrada Ente",
|
||||
"passwordForDecryptingExport": "Contraseña para descifrar exportación",
|
||||
"passwordEmptyError": "La contraseña no puede estar vacía",
|
||||
"importFromApp": "Importar códigos de {appName}",
|
||||
"importGoogleAuthGuide": "Exportar tus cuentas desde Google Authenticator a un código QR usando la opción \"Transferir Cuentas\". A continuación, usando otro dispositivo, escanee el código QR.\n\nConsejo: Puede usar la webcam de su portátil para tomar una foto del código QR.",
|
||||
"importSelectJsonFile": "Seleccione el archivo JSON",
|
||||
"importSelectAppExport": "Seleccione el archivo de exportación de {appName}",
|
||||
"importEnteEncGuide": "Seleccione el archivo JSON cifrado exportado desde Ente",
|
||||
"importRaivoGuide": "Utilice la opción \"Exportar códigos a un archivo de Zip\" en la configuración de Raivo.\n\nExtraiga el archivo zip e importe el archivo JSON.",
|
||||
"importBitwardenGuide": "Use la opción \"Exportar caja fuerte\" dentro del menú Herramientas de Bitwarden e importe el fichero JSON no crifrado.",
|
||||
"importAegisGuide": "Utilice la opción \"Exportar la bóveda\" en ajustes de Aegis.\n\nSi tu bóveda es cifrada, necesitara entrar contraseña de bóveda para descifrar la bóveda.",
|
||||
@@ -119,12 +123,15 @@
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Sugerir funcionalidades",
|
||||
"faq": "Preguntas Frecuentes",
|
||||
"faq_q_1": "¿Qué tan seguro es Auth?",
|
||||
"faq_a_1": "Todos los códigos que copia de seguridad vía Ente se almacenan cifrados de extremo a extremo. Esto significa que solo usted puede acceder a sus códigos. Nuestras aplicaciones son de código abierto y nuestra criptografía ha sido auditada externamente.",
|
||||
"faq_q_2": "¿Puedo acceder a mis códigos en el escritorio?",
|
||||
"faq_a_2": "Puede acceder a tus códigos en la web en auth.ente.io.",
|
||||
"faq_q_3": "¿Cómo puedo borrar códigos?",
|
||||
"faq_a_3": "Puede eliminar un código deslizando a la izquierda en ese elemento.",
|
||||
"faq_q_4": "¿Cómo puedo apoyar este proyecto?",
|
||||
"faq_a_4": "Puedes apoyar el desarrollo de este proyecto suscribiéndote a nuestra app de Fotos en ente.io.",
|
||||
"faq_q_5": "Cómo puedo habilitar bloqueo FaceID en Ente Auth",
|
||||
"faq_a_5": "Puede activar el bloqueo FaceID en Ajustes → Seguridad → Pantalla de bloqueo.",
|
||||
"somethingWentWrongMessage": "Algo ha ido mal, por favor, prueba otra vez",
|
||||
"leaveFamily": "Dejar plan familiar",
|
||||
@@ -151,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Código QR no válido",
|
||||
"noRecoveryKeyTitle": "¿Sin clave de recuperación?",
|
||||
"enterEmailHint": "Introduce tu dirección de correo electrónico",
|
||||
"invalidEmailTitle": "Dirección de correo electrónico no válida",
|
||||
@@ -195,6 +203,8 @@
|
||||
"saveKey": "Guardar Clave",
|
||||
"save": "Guardar",
|
||||
"send": "Enviar",
|
||||
"saveOrSendDescription": "¿Desea guardar esto en el almacenamiento (carpeta Descargas por defecto) o enviarlo a otras aplicaciones?",
|
||||
"saveOnlyDescription": "¿Desea guardar esto en el almacenamiento (carpeta Descargas por defecto)?",
|
||||
"back": "Atrás",
|
||||
"createAccount": "Crear cuenta",
|
||||
"passwordStrength": "Fortaleza de la contraseña: {passwordStrengthValue}",
|
||||
@@ -253,12 +263,15 @@
|
||||
"exportLogs": "Exportar registros",
|
||||
"enterYourRecoveryKey": "Introduzca su clave de recuperación",
|
||||
"tempErrorContactSupportIfPersists": "Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte.",
|
||||
"networkHostLookUpErr": "No se puede conectar a Ente. Por favor, comprueba tu configuración de red y ponte en contacto con el soporte técnico si el error persiste.",
|
||||
"networkConnectionRefusedErr": "No se puede conectar a Ente. Por favor, vuelve a intentarlo pasado un tiempo. Si el error persiste, ponte en contacto con el soporte técnico.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte.",
|
||||
"about": "Acerca de",
|
||||
"weAreOpenSource": "¡Somos de código abierto!",
|
||||
"privacy": "Privacidad",
|
||||
"terms": "Términos",
|
||||
"checkForUpdates": "Comprobar actualizaciones",
|
||||
"checkStatus": "Comprobar estado",
|
||||
"downloadUpdate": "Descargar",
|
||||
"criticalUpdateAvailable": "Actualización crítica disponible",
|
||||
"updateAvailable": "Actualizacion disponible",
|
||||
@@ -342,6 +355,7 @@
|
||||
"deleteCodeAuthMessage": "Autenticar para borrar código",
|
||||
"showQRAuthMessage": "Autenticar para mostrar código QR",
|
||||
"confirmAccountDeleteTitle": "Confirmar eliminación de la cuenta",
|
||||
"confirmAccountDeleteMessage": "Esta cuenta está vinculada a otras aplicaciones de Ente, si utilizas alguna. Se programará la eliminación de los datos cargados en todas las aplicaciones de Ente, y tu cuenta se eliminará permanentemente.",
|
||||
"androidBiometricHint": "Verificar identidad",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -402,7 +416,31 @@
|
||||
"doNotSignOut": "No cerrar la sesión",
|
||||
"hearUsWhereTitle": "¿Cómo conoció Ente? (opcional)",
|
||||
"hearUsExplanation": "No rastreamos las aplicaciones instaladas. ¡Nos ayudaría si nos dijera dónde nos encontró!",
|
||||
"recoveryKeySaved": "¡Clave de recuperación guardada en la carpeta Descargas!",
|
||||
"waitingForBrowserRequest": "Esperando la solicitud del navegador...",
|
||||
"waitingForVerification": "Esperando verificación...",
|
||||
"passkey": "Llave de acceso",
|
||||
"passKeyPendingVerification": "La verificación todavía está pendiente",
|
||||
"loginSessionExpired": "La sesión ha expirado",
|
||||
"loginSessionExpiredDetails": "Tu sesión ha expirado. Por favor, vuelve a iniciar sesión.",
|
||||
"developerSettingsWarning": "¿Estás seguro de que quieres modificar los ajustes de desarrollador?",
|
||||
"developerSettings": "Ajustes de desarrollador"
|
||||
"developerSettings": "Ajustes de desarrollador",
|
||||
"serverEndpoint": "Punto final del servidor",
|
||||
"invalidEndpoint": "Punto final no válido",
|
||||
"invalidEndpointMessage": "Lo sentimos, el punto final introducido no es válido. Por favor, introduce un punto final válido y vuelve a intentarlo.",
|
||||
"endpointUpdatedMessage": "Punto final actualizado con éxito",
|
||||
"customEndpoint": "Conectado a {endpoint}",
|
||||
"pinText": "Fijar",
|
||||
"unpinText": "Desanclar",
|
||||
"pinnedCodeMessage": "{code} ha sido anclado",
|
||||
"unpinnedCodeMessage": "{code} ha sido desanclado",
|
||||
"tags": "Etiquetas",
|
||||
"createNewTag": "Crear Nueva Etiqueta",
|
||||
"tag": "Etiqueta",
|
||||
"create": "Crear",
|
||||
"editTag": "Editar Etiqueta",
|
||||
"deleteTagTitle": "¿Eliminar etiqueta?",
|
||||
"deleteTagMessage": "¿Estás seguro de que quieres eliminar esta etiqueta? Esta acción es irreversible.",
|
||||
"somethingWentWrongParsingCode": "No se han podido analizar los códigos {x}.",
|
||||
"updateNotAvailable": "Actualización no disponible"
|
||||
}
|
||||
118
auth/lib/l10n/arb/app_gu.arb
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"account": "ખાતું",
|
||||
"unlock": "અનલોક કરો",
|
||||
"recoveryKey": "પુનઃપ્રાપ્તિ ચાવી",
|
||||
"onBoardingBody": "તમારા 2FA કોડનો સુરક્ષિત રીતે બેકઅપ લો",
|
||||
"onBoardingGetStarted": "શરૂ કરો",
|
||||
"setupFirstAccount": "તમારું પ્રથમ એકાઉન્ટ સેટ કરો",
|
||||
"importScanQrCode": "QR કોડ સ્કેન કરો",
|
||||
"qrCode": "QR કોડ",
|
||||
"importEnterSetupKey": "સેટઅપ કી દાખલ કરો",
|
||||
"importAccountPageTitle": "એકાઉન્ટ વિગતો દાખલ કરો",
|
||||
"secretCanNotBeEmpty": "રહસ્ય ખાલી ન હોઈ શકે",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "રજૂકર્તા અને ખાતું બંને ખાલી હોઈ શકતા નથી",
|
||||
"incorrectDetails": "ખોટી વિગતો",
|
||||
"pleaseVerifyDetails": "કૃપા કરીને વિગતો ચકાસો અને ફરી પ્રયાસ કરો",
|
||||
"codeIssuerHint": "રજૂકર્તા",
|
||||
"codeSecretKeyHint": "ગુપ્ત ચાવી",
|
||||
"codeAccountHint": "ખાતું (you@domain.com)",
|
||||
"codeTagHint": "ચિઠ્ઠી",
|
||||
"accountKeyType": "ચાવી નો પ્રકાર",
|
||||
"sessionExpired": "સત્ર સમાપ્ત થયુ",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "કૃપા કરીને ફરી લોગિન કરો",
|
||||
"loggingOut": "લૉગ આઉટ થઈ રહ્યું છે...",
|
||||
"timeBasedKeyType": "સમય આધારિત (TOTP)",
|
||||
"counterBasedKeyType": "ગણતરી આધારિત (HOTP)",
|
||||
"saveAction": "સાચવો",
|
||||
"nextTotpTitle": "આગળ",
|
||||
"deleteCodeTitle": "કોડ કાઢી નાખીએ?",
|
||||
"deleteCodeMessage": "શું તમે ખરેખર આ કોડ કાઢી નાખવા માંગો છો? આ ક્રિયા બદલી શકાય તેવી નથી.",
|
||||
"viewLogsAction": "લોગ જુઓ",
|
||||
"sendLogsDescription": "આ તમારી સમસ્યાને ડીબગ કરવામાં અમને મદદ કરવા માટે અમને લોગ મોકલશે. જ્યારે સંવેદનશીલ માહિતી લૉગ ન થાય તેની ખાતરી કરવા માટે અમે સાવચેતી રાખીએ છીએ, અમે તમને આ લોગ મોકલતા પહેલા જોવા માટે પ્રોત્સાહિત કરીએ છીએ.",
|
||||
"preparingLogsTitle": "લૉગ્સ તૈયાર કરી રહ્યાં છીએ...",
|
||||
"emailLogsTitle": "લોગ ઇમેઇલ કરો",
|
||||
"emailLogsMessage": "કૃપા કરીને આને {email} લોગ મોકલો",
|
||||
"@emailLogsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"copyEmailAction": "ઈમેલ કોપી કરો",
|
||||
"exportLogsAction": "લોગ નિકાસ કરો",
|
||||
"reportABug": "બગની જાણ કરો",
|
||||
"crashAndErrorReporting": "ભાંગી પડવાની અને ભૂલની જાણ કરવી",
|
||||
"reportBug": "બગની જાણ કરો",
|
||||
"emailUsMessage": "કૃપા કરીને અમને {email} ઇમેઇલ કરો",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"contactSupport": "સહાયતા માટે સંપર્ક કરો",
|
||||
"rateUsOnStore": "{storeName} પર અમને રેટ કરો",
|
||||
"blog": "બ્લોગ",
|
||||
"merchandise": "વેપારી વસ્તુઓ",
|
||||
"verifyPassword": "પાસવર્ડ ચકાસો",
|
||||
"pleaseWait": "કૃપા કરીને રાહ જુવો...",
|
||||
"generatingEncryptionKeysTitle": "એન્ક્રિપ્શન ચાવીઓ જનરેટ કરી રહ્યાં છીએ...",
|
||||
"recreatePassword": "પાસવર્ડ ફરીથી બનાવો",
|
||||
"recreatePasswordMessage": "વર્તમાન ઉપકરણ તમારા પાસવર્ડને ચકાસવા માટે પૂરતું શક્તિશાળી નથી, તેથી અમારે તેને તમામ ઉપકરણો સાથે કામ કરે તે રીતે એકવાર ફરીથી બનાવવાની જરૂર છે.\n\nકૃપા કરીને તમારી પુનઃપ્રાપ્તિ ચાવીનો ઉપયોગ કરીને લૉગિન કરો અને તમારો પાસવર્ડ ફરીથી બનાવો (જો તમે ઈચ્છો તો તમે તે જ ફરી ઉપયોગ કરી શકો છો).",
|
||||
"useRecoveryKey": "પુનઃપ્રાપ્તિ કીનો ઉપયોગ કરો",
|
||||
"incorrectPasswordTitle": "ખોટો પાસવર્ડ",
|
||||
"welcomeBack": "ફરી તમારુ સ્વાગત છે!",
|
||||
"madeWithLoveAtPrefix": " ખાતે ❤️ સાથે બનાવેલ છે",
|
||||
"supportDevs": "અમને સમર્થન આપવા માટે <bold-green>ente</bold-green> પર સબ્સ્ક્રાઇબ કરો",
|
||||
"supportDiscount": "પ્રથમ વર્ષે મા 10% છૂટ મેળવવા માટે કૂપન કોડ \"AUTH\" નો ઉપયોગ કરો",
|
||||
"changeEmail": "ઈ - મેઈલ બદલો",
|
||||
"changePassword": "પાસવર્ડ બદલો",
|
||||
"data": "માહિતી",
|
||||
"importCodes": "કોડ્સ આયાત કરો",
|
||||
"importTypePlainText": "સાદુ લખાણ",
|
||||
"importTypeEnteEncrypted": "એન્ટે એન્ક્રિપ્ટેડ નિકાસ",
|
||||
"passwordForDecryptingExport": "નિકાસને ડિક્રિપ્ટ કરવા માટે પાસવર્ડ",
|
||||
"passwordEmptyError": "પાસવર્ડ ખાલી ન હોઈ શકે",
|
||||
"importFromApp": "{appName} થી કોડ્સ આયાત કરો",
|
||||
"selectFile": "ફાઇલ પસંદ કરો",
|
||||
"ok": "સારું",
|
||||
"cancel": "રદ કરો",
|
||||
"yes": "હા",
|
||||
"no": "ના",
|
||||
"email": "ઇમેઇલ",
|
||||
"support": "સહાય",
|
||||
"general": "સામાન્ય",
|
||||
"delete": "કાઢી નાખો",
|
||||
"enterPassword": "પાસવર્ડ દાખલ કરો",
|
||||
"encrypted": "એનક્રિપ્ટ થયેલ",
|
||||
"plainText": "સાદુ લખાણ",
|
||||
"passwordToEncryptExport": "નિકાસને એન્ક્રિપ્ટ કરવા માટે પાસવર્ડ",
|
||||
"export": "નિકાસ કરો",
|
||||
"singIn": "સાઇન ઇન કરો",
|
||||
"androidBiometricSuccess": "સફળતા",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidCancelButton": "રદ કરો",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
},
|
||||
"androidSignInTitle": "પ્રમાણીકરણ જરૂરી છે",
|
||||
"@androidSignInTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"goToSettings": "સેટિંગ માં જાઓ",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
"iOSOkButton": "બરાબર",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"tags": "ચિઠ્ઠી"
|
||||
}
|
||||
1
auth/lib/l10n/arb/app_hi.arb
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1,22 +1,85 @@
|
||||
{
|
||||
"account": "Akun",
|
||||
"unlock": "Buka",
|
||||
"recoveryKey": "Kunci pemulihan",
|
||||
"onBoardingBody": "Cadangkan kode 2FA kamu dengan aman",
|
||||
"onBoardingGetStarted": "Mulai",
|
||||
"setupFirstAccount": "Siapkan akun pertama kamu",
|
||||
"importScanQrCode": "Pindai Kode QR",
|
||||
"qrCode": "Kode QR",
|
||||
"importEnterSetupKey": "Masukkan kunci penyiapan",
|
||||
"importAccountPageTitle": "Masukkan detail akun",
|
||||
"incorrectDetails": "Rincian salah",
|
||||
"pleaseVerifyDetails": "Periksa kembali data kamu dan coba lagi",
|
||||
"codeIssuerHint": "Penerbit",
|
||||
"codeSecretKeyHint": "Kunci Rahasia",
|
||||
"codeAccountHint": "Akun (kamu@domain.com)",
|
||||
"codeTagHint": "Tag",
|
||||
"sessionExpired": "Sesi berakhir",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "Silakan masuk akun lagi",
|
||||
"loggingOut": "Mengeluarkan akun...",
|
||||
"timeBasedKeyType": "Berbasis waktu (TOTP)",
|
||||
"saveAction": "Simpan",
|
||||
"nextTotpTitle": "berikutnya",
|
||||
"deleteCodeTitle": "Hapus kode?",
|
||||
"deleteCodeMessage": "Apakah kamu yakin ingin menghapus kode ini? Tindakan ini tidak dapat dikembalikan ke semula.",
|
||||
"viewLogsAction": "Lihat log",
|
||||
"sendLogsDescription": "Langkah ini akan mengirimkan log untuk membantu kami menganalisa masalah kamu. Meskipun kami melakukan tindakan pencegahan untuk memastikan bahwa informasi sensitif tidak dicatat, kami menganjurkan kamu untuk melihat log ini sebelum membagikannya.",
|
||||
"preparingLogsTitle": "Menyiapkan log...",
|
||||
"copyEmailAction": "Salin email",
|
||||
"exportLogsAction": "Ekspor log",
|
||||
"reportABug": "Laporkan bug",
|
||||
"reportBug": "Laporkan bug",
|
||||
"contactSupport": "Hubungi dukungan",
|
||||
"rateUsOnStore": "Nilai kami di {storeName}",
|
||||
"blog": "Blog",
|
||||
"verifyPassword": "Verifikasi sandi",
|
||||
"pleaseWait": "Harap tunggu...",
|
||||
"generatingEncryptionKeysTitle": "Membuat kunci enkripsi...",
|
||||
"recreatePassword": "Buat kembali katasandi",
|
||||
"recreatePasswordMessage": "Perangkat ini tidak cukup kuat untuk memverifikasi kata sandi kamu, jadi kami perlu membuat ulang kata sandi kamu sekali lagi dengan cara yang dapat digunakan di semua perangkat.\n\nSilahkan masuk menggunakan kunci pemulihan dan buat ulang kata sandi kamu (Kamu dapat menggunakan kata sandi yang sama lagi jika mau).",
|
||||
"useRecoveryKey": "Gunakan kunci pemulihan",
|
||||
"incorrectPasswordTitle": "Kata sandi salah",
|
||||
"welcomeBack": "Selamat datang kembali!",
|
||||
"madeWithLoveAtPrefix": "dibuat dengan ❤️ di ",
|
||||
"supportDevs": "Berlangganan <bold-green>ente</bold-green> untuk mendukung kami",
|
||||
"supportDiscount": "Gunakan kode kupon \"AUTH\" untuk mendapatkan potongan 10% pada tahun pertamamu",
|
||||
"changeEmail": "Ubah email",
|
||||
"changePassword": "Ubah sandi",
|
||||
"data": "Data",
|
||||
"importCodes": "Impor kode",
|
||||
"importTypePlainText": "Teks biasa",
|
||||
"passwordForDecryptingExport": "Kata sandi untuk mendekripsi ekspor",
|
||||
"passwordEmptyError": "Kata sandi tidak boleh kosong",
|
||||
"importFromApp": "Impor kode dari {appName}",
|
||||
"importSelectJsonFile": "Pilih File JSON",
|
||||
"importSelectAppExport": "Pilih file ekspor dari {appName}",
|
||||
"selectFile": "Pilih file",
|
||||
"emailVerificationToggle": "Verifikasi email",
|
||||
"emailVerificationEnableWarning": "Untuk menghindari akun kamu terkunci, pastikan untuk menyimpan salinan 2FA email kamu di luar Ente Auth sebelum mengaktifkan verifikasi email.",
|
||||
"ok": "Oke",
|
||||
"cancel": "Batal",
|
||||
"email": "Email",
|
||||
"support": "Dukungan",
|
||||
"general": "Umum",
|
||||
"settings": "Pengaturan",
|
||||
"newUser": "Baru di Ente",
|
||||
"delete": "Hapus",
|
||||
"enterYourPasswordHint": "Masukkan sandi kamu",
|
||||
"suggestFeatures": "Sarankan fitur",
|
||||
"faq": "Tanya Jawab Umum",
|
||||
"faq_q_1": "Seberapa aman Auth itu?",
|
||||
"faq_a_1": "Semua kode yang kamu cadangkan melalui Auth disimpan menggunakan enkripsi end-to-end. Jadi hanya kamu yang dapat mengaksesnya. Aplikasi kami bersifat open source dan kriptografi kami telah diaudit oleh eksternal.",
|
||||
"faq_q_2": "Bisakah saya mengakses kode saya di desktop?",
|
||||
"faq_a_2": "Kamu dapat mengakses kodenya melalui web auth.ente.io.",
|
||||
"scan": "Pindai",
|
||||
"scanACode": "Pindai kode",
|
||||
"verify": "Verifikasi",
|
||||
"verifyEmail": "Verifikasi email",
|
||||
"enterCodeHint": "Masukkan kode 6 angka dari\napp autentikator kamu",
|
||||
"createNewAccount": "Buat akun baru",
|
||||
"confirmPassword": "Konfirmasi sandi",
|
||||
"selectLanguage": "Pilih bahasa",
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Emittente",
|
||||
"codeSecretKeyHint": "Codice segreto",
|
||||
"codeAccountHint": "Account (username@dominio.it)",
|
||||
"codeTagHint": "Tag",
|
||||
"accountKeyType": "Tipo di chiave",
|
||||
"sessionExpired": "Sessione scaduta",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -77,16 +79,19 @@
|
||||
"data": "Dati",
|
||||
"importCodes": "Importa codici",
|
||||
"importTypePlainText": "Testo in chiaro",
|
||||
"importTypeEnteEncrypted": "Esportazione Ente criptata",
|
||||
"passwordForDecryptingExport": "Password per decriptare il file esportato",
|
||||
"passwordEmptyError": "La password è obbligatoria",
|
||||
"importFromApp": "Importa codici da {appName}",
|
||||
"importGoogleAuthGuide": "Esporta i tuoi account da Google Authenticator in un codice QR utilizzando l'opzione \"Trasferisci Account\". Quindi, usando un altro dispositivo, scansiona il codice QR.\n\nSuggerimento: Puoi usare la webcam del tuo computer portatile per scattare una foto del codice QR.",
|
||||
"importSelectJsonFile": "Seleziona file JSON",
|
||||
"importSelectAppExport": "Seleziona il file di esportazione {appName}",
|
||||
"importEnteEncGuide": "Seleziona il file JSON criptato esportato da Ente",
|
||||
"importRaivoGuide": "Utilizza l'opzione \"Esporta i codici OTP in archivio Zip\" nelle impostazioni di Raivo.\n\nEstrai il file zip e importa il file JSON.",
|
||||
"importBitwardenGuide": "Utilizzare l'opzione \"Esporta vault\" all'interno di Bitwarden Tools e importa il file JSON non crittografato.",
|
||||
"importAegisGuide": "Usa l'opzione \"Esporta la cassaforte\" nelle impostazioni di Aegis.\n\nSe la tua cassaforte è criptata, dovrai inserire la password della cassaforte per decriptarla.",
|
||||
"import2FasGuide": "Utilizza l'opzione \"Impostazioni->Backup -Export\" in 2FAS.\n\nSe il backup è crittografato, è necessario inserire la password per decriptare il backup",
|
||||
"importLastpassGuide": "Usa l'opzione \"Trasferisci account\" all'interno delle impostazioni di Lastpass Authenticator e premi \"Esporta account su file\". Importa il JSON scaricato.",
|
||||
"exportCodes": "Esporta codici",
|
||||
"importLabel": "Importa",
|
||||
"importInstruction": "Per favore seleziona un file contenente una lista dei tuoi codici nel seguente formato",
|
||||
@@ -111,18 +116,22 @@
|
||||
"copied": "Copiato",
|
||||
"pleaseTryAgain": "Per favore riprova",
|
||||
"existingUser": "Accedi",
|
||||
"newUser": "Nuovo utente",
|
||||
"delete": "Cancella",
|
||||
"enterYourPasswordHint": "Inserisci la tua password",
|
||||
"forgotPassword": "Password dimenticata",
|
||||
"oops": "Oops",
|
||||
"suggestFeatures": "Suggerisci funzionalità",
|
||||
"faq": "FAQ",
|
||||
"faq_q_1": "Quanto è sicuro Auth?",
|
||||
"faq_a_1": "Tutti i codici di cui fai il backup tramite Auth sono memorizzati con crittografia end-to-end. Ciò significa che solo tu puoi accedere ai tuoi codici. Le nostre app sono open source e la nostra crittografia è stata verificata esternamente.",
|
||||
"faq_q_2": "Posso accedere ai miei codici sul desktop?",
|
||||
"faq_a_2": "Puoi accedere ai tuoi codici sul web @ auth.ente.io.",
|
||||
"faq_q_3": "Come posso cancellare i codici?",
|
||||
"faq_a_3": "Puoi eliminare un codice scorrendo il dito a sinistra sul codice in questione.",
|
||||
"faq_q_4": "Come posso supportare questo progetto?",
|
||||
"faq_a_4": "Puoi supportare lo sviluppo di questo progetto abbonandoti alla nostra app Photos @ ente.io.",
|
||||
"faq_q_5": "Come posso abilitare il blocco FaceID in Auth",
|
||||
"faq_a_5": "Puoi abilitare il blocco FaceID in Impostazioni → Sicurezza → Schermata di blocco.",
|
||||
"somethingWentWrongMessage": "Qualcosa è andato storto, per favore riprova",
|
||||
"leaveFamily": "Abbandona il piano famiglia",
|
||||
@@ -136,6 +145,8 @@
|
||||
"enterCodeHint": "Inserisci il codice di 6 cifre dalla tua app di autenticazione",
|
||||
"lostDeviceTitle": "Dispositivo perso?",
|
||||
"twoFactorAuthTitle": "Autenticazione a due fattori",
|
||||
"passkeyAuthTitle": "Verifica della passkey",
|
||||
"verifyPasskey": "Verifica passkey",
|
||||
"recoverAccount": "Recupera account",
|
||||
"enterRecoveryKeyHint": "Inserisci la tua chiave di recupero",
|
||||
"recover": "Recupera",
|
||||
@@ -147,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Codice QR non valido",
|
||||
"noRecoveryKeyTitle": "Nessuna chiave di recupero?",
|
||||
"enterEmailHint": "Inserisci il tuo indirizzo email",
|
||||
"invalidEmailTitle": "Indirizzo email non valido",
|
||||
@@ -190,6 +202,9 @@
|
||||
"doThisLater": "Fallo più tardi",
|
||||
"saveKey": "Salva chiave",
|
||||
"save": "Salva",
|
||||
"send": "Invia",
|
||||
"saveOrSendDescription": "Vuoi salvarlo nel tuo spazio di archiviazione (cartella Download per impostazione predefinita) o inviarlo ad altre applicazioni?",
|
||||
"saveOnlyDescription": "Vuoi salvarlo nel tuo spazio di archiviazione (cartella Download per impostazione predefinita)?",
|
||||
"back": "Indietro",
|
||||
"createAccount": "Crea account",
|
||||
"passwordStrength": "Forza password: {passwordStrengthValue}",
|
||||
@@ -248,12 +263,15 @@
|
||||
"exportLogs": "Esporta log",
|
||||
"enterYourRecoveryKey": "Inserisci la tua chiave di recupero",
|
||||
"tempErrorContactSupportIfPersists": "Sembra che qualcosa sia andato storto. Riprova tra un po'. Se l'errore persiste, contatta il nostro team di supporto.",
|
||||
"networkHostLookUpErr": "Impossibile connettersi a Ente, controlla le impostazioni di rete e contatta l'assistenza se l'errore persiste.",
|
||||
"networkConnectionRefusedErr": "Impossibile connettersi a Ente, riprova tra un po' di tempo. Se l'errore persiste, contatta l'assistenza.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Sembra che qualcosa sia andato storto. Riprova tra un po'. Se l'errore persiste, contatta il nostro team di supporto.",
|
||||
"about": "Informazioni",
|
||||
"weAreOpenSource": "Siamo open source!",
|
||||
"privacy": "Privacy",
|
||||
"terms": "Termini",
|
||||
"checkForUpdates": "Controlla aggiornamenti",
|
||||
"checkStatus": "Verifica stato",
|
||||
"downloadUpdate": "Scarica",
|
||||
"criticalUpdateAvailable": "Un aggiornamento importante è disponibile",
|
||||
"updateAvailable": "Aggiornamento disponibile",
|
||||
@@ -337,6 +355,7 @@
|
||||
"deleteCodeAuthMessage": "Autenticarsi per cancellare il codice",
|
||||
"showQRAuthMessage": "Autenticarsi per mostrare il codice QR",
|
||||
"confirmAccountDeleteTitle": "Conferma l'eliminazione dell'account",
|
||||
"confirmAccountDeleteMessage": "Questo account è collegato ad altre app di Ente, se ne utilizzi.\n\nI tuoi dati caricati, su tutte le app di Ente, saranno pianificati per la cancellazione e il tuo account verrà eliminato definitivamente.",
|
||||
"androidBiometricHint": "Verifica l'identità",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -397,5 +416,31 @@
|
||||
"doNotSignOut": "Non uscire",
|
||||
"hearUsWhereTitle": "Dove hai sentito parlare di Ente? (opzionale)",
|
||||
"hearUsExplanation": "Non teniamo traccia delle installazioni dell'app. Sarebbe utile se ci dicessi dove ci hai trovato!",
|
||||
"passkey": "Passkey"
|
||||
"recoveryKeySaved": "Chiave di recupero salvata nella cartella Download!",
|
||||
"waitingForBrowserRequest": "In attesa della richiesta del browser...",
|
||||
"waitingForVerification": "In attesa di verifica...",
|
||||
"passkey": "Passkey",
|
||||
"passKeyPendingVerification": "La verifica è ancora in corso",
|
||||
"loginSessionExpired": "Sessione scaduta",
|
||||
"loginSessionExpiredDetails": "La sessione è scaduta. Si prega di accedere nuovamente.",
|
||||
"developerSettingsWarning": "Siete sicuri di voler modificare le impostazioni sviluppatore?",
|
||||
"developerSettings": "Impostazioni sviluppatore",
|
||||
"serverEndpoint": "Endpoint del server",
|
||||
"invalidEndpoint": "Endpoint invalido",
|
||||
"invalidEndpointMessage": "Spiacenti, l'endpoint inserito non è valido. Inserisci un endpoint valido e riprova.",
|
||||
"endpointUpdatedMessage": "Endpoint aggiornato con successo",
|
||||
"customEndpoint": "Connesso a {endpoint}",
|
||||
"pinText": "Fissa",
|
||||
"unpinText": "Sgancia",
|
||||
"pinnedCodeMessage": "{code} è stato fissato",
|
||||
"unpinnedCodeMessage": "{code} è stato sganciato",
|
||||
"tags": "Tag",
|
||||
"createNewTag": "Crea un nuovo tag",
|
||||
"tag": "Tag",
|
||||
"create": "Crea",
|
||||
"editTag": "Modifica tag",
|
||||
"deleteTagTitle": "Eliminare il tag?",
|
||||
"deleteTagMessage": "Sei sicuro di voler eliminare questo tag? Questa azione è irreversibile.",
|
||||
"somethingWentWrongParsingCode": "Non siamo riusciti ad analizzare i codici {x}.",
|
||||
"updateNotAvailable": "Aggiornamento non disponibile"
|
||||
}
|
||||
@@ -263,12 +263,15 @@
|
||||
"exportLogs": "ログのエクスポート",
|
||||
"enterYourRecoveryKey": "回復キーを入力",
|
||||
"tempErrorContactSupportIfPersists": "問題が発生したようです。しばらくしてから再試行してください。エラーが解決しない場合は、サポートチームにお問い合わせください。",
|
||||
"networkHostLookUpErr": "Enteに接続できませんでした。ネットワーク設定を確認し、エラーが解決しない場合はサポートにお問い合わせください。",
|
||||
"networkConnectionRefusedErr": "Enteに接続できませんでした。しばらくしてから再試行してください。エラーが解決しない場合は、サポートにお問い合わせください。",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "問題が発生したようです。しばらくしてから再試行してください。エラーが解決しない場合は、サポートチームにお問い合わせください。",
|
||||
"about": "情報",
|
||||
"weAreOpenSource": "我々はオープンソースです!",
|
||||
"privacy": "プライバシー",
|
||||
"terms": "利用規約",
|
||||
"checkForUpdates": "アップデートを確認",
|
||||
"checkStatus": "ステータスの確認",
|
||||
"downloadUpdate": "ダウンロード",
|
||||
"criticalUpdateAvailable": "重要な更新が利用可能です",
|
||||
"updateAvailable": "更新が利用可能です",
|
||||
@@ -417,6 +420,9 @@
|
||||
"waitingForBrowserRequest": "ブラウザのリクエストを待っています...",
|
||||
"waitingForVerification": "認証を待っています...",
|
||||
"passkey": "パスキー",
|
||||
"passKeyPendingVerification": "認証はまだ保留中です",
|
||||
"loginSessionExpired": "セッションの有効期限が切れました",
|
||||
"loginSessionExpiredDetails": "セッションの有効期限が切れました。再度ログインしてください。",
|
||||
"developerSettingsWarning": "開発者向け設定を変更してもよろしいですか?",
|
||||
"developerSettings": "開発者向け設定",
|
||||
"serverEndpoint": "サーバーエンドポイント",
|
||||
|
||||
@@ -263,12 +263,15 @@
|
||||
"exportLogs": "Logs exporteren",
|
||||
"enterYourRecoveryKey": "Voer je herstelsleutel in",
|
||||
"tempErrorContactSupportIfPersists": "Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam.",
|
||||
"networkHostLookUpErr": "Kan geen verbinding maken met Ente, controleer uw netwerkinstellingen en neem contact op met ondersteuning als de fout zich blijft voordoen.",
|
||||
"networkConnectionRefusedErr": "Kan geen verbinding maken met Ente, probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met support.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam.",
|
||||
"about": "Over",
|
||||
"weAreOpenSource": "We zijn open source!",
|
||||
"privacy": "Privacy",
|
||||
"terms": "Voorwaarden",
|
||||
"checkForUpdates": "Controleer op updates",
|
||||
"checkStatus": "Status controleren",
|
||||
"downloadUpdate": "Downloaden",
|
||||
"criticalUpdateAvailable": "Belangrijke update beschikbaar",
|
||||
"updateAvailable": "Update beschikbaar",
|
||||
@@ -417,6 +420,9 @@
|
||||
"waitingForBrowserRequest": "Wachten op browserverzoek...",
|
||||
"waitingForVerification": "Wachten op verificatie...",
|
||||
"passkey": "Passkey",
|
||||
"passKeyPendingVerification": "Verificatie is nog in behandeling",
|
||||
"loginSessionExpired": "Sessie verlopen",
|
||||
"loginSessionExpiredDetails": "Jouw sessie is verlopen. Log opnieuw in.",
|
||||
"developerSettingsWarning": "Weet u zeker dat u de ontwikkelaarsinstellingen wilt wijzigen?",
|
||||
"developerSettings": "Ontwikkelaarsinstellingen",
|
||||
"serverEndpoint": "Server eindpunt",
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Wydawca",
|
||||
"codeSecretKeyHint": "Tajny klucz",
|
||||
"codeAccountHint": "Konto (ty@domena.com)",
|
||||
"codeTagHint": "Oznacz",
|
||||
"accountKeyType": "Rodzaj klucza",
|
||||
"sessionExpired": "Sesja wygasła",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -77,13 +79,19 @@
|
||||
"data": "Dane",
|
||||
"importCodes": "Importuj kody",
|
||||
"importTypePlainText": "Zwykły tekst",
|
||||
"importTypeEnteEncrypted": "Zaszyfrowany eksport Ente",
|
||||
"passwordForDecryptingExport": "Hasło do odszyfrowania eksportu",
|
||||
"passwordEmptyError": "Pole hasło nie może być puste",
|
||||
"importFromApp": "Importuj kody z {appName}",
|
||||
"importGoogleAuthGuide": "Wyeksportuj twoje konta z Google Authenticator do kodu QR używając opcji \"Przenieś konta\". Potem używając innego urządzenia, zeskanuj kod QR.",
|
||||
"importSelectJsonFile": "Wybierz plik JSON",
|
||||
"importSelectAppExport": "Wybierz plik eksportu {appName}",
|
||||
"importEnteEncGuide": "Wybierz zaszyfrowany plik JSON wyeksportowany z Ente",
|
||||
"importRaivoGuide": "Użyj opcji \"Eksportuj OTP do archiwum ZIP\" w Ustawieniach Raivo.\n\nWyodrębnij plik zip i zaimportuj plik JSON.",
|
||||
"importBitwardenGuide": "Użyj opcji \"Eksportuj sejf\" w Narzędziach Bitwarden i zaimportuj niezaszyfrowany plik JSON.",
|
||||
"importAegisGuide": "Użyj opcji \"Eksportuj sejf\" w ustawieniach Aegis.\n\nJeśli twój sejf jest zaszyfrowany, musisz wprowadzić hasło sejfu, aby odszyfrować sejf.",
|
||||
"import2FasGuide": "Użyj opcji \"Ustawienia->Kopia Zapasowa-Eksport\" w 2FAS.\n\nJeśli twoja kopia zapasowa jest zaszyfrowana, musisz wprowadzić hasło, aby odszyfrować kopię zapasową",
|
||||
"importLastpassGuide": "Użyj opcji \"Przenieś konta\" w Ustawieniach Lastpass Authenticator i naciśnij \"Eksportuj konta do pliku\". Zaimportuj pobrany plik JSON.",
|
||||
"exportCodes": "Eksportuj kody",
|
||||
"importLabel": "Importuj",
|
||||
"importInstruction": "Wybierz plik, który zawiera listę twoich kodów w następującym formacie",
|
||||
@@ -96,6 +104,7 @@
|
||||
"authToChangeYourEmail": "Proszę uwierzytelnić, aby zmienić swój adres e-mail",
|
||||
"authToChangeYourPassword": "Proszę uwierzytelnić, aby zmienić hasło",
|
||||
"authToViewSecrets": "Proszę uwierzytelnić, aby wyświetlić swoje sekrety",
|
||||
"authToInitiateSignIn": "Proszę uwierzytelnić się, aby zainicjować logowanie do kopii zapasowej.",
|
||||
"ok": "Ok",
|
||||
"cancel": "Anuluj",
|
||||
"yes": "Tak",
|
||||
@@ -107,18 +116,22 @@
|
||||
"copied": "Skopiowano",
|
||||
"pleaseTryAgain": "Proszę spróbować ponownie",
|
||||
"existingUser": "Istniejący użytkownik",
|
||||
"newUser": "Nowy/a do Ente",
|
||||
"delete": "Usuń",
|
||||
"enterYourPasswordHint": "Wprowadź swoje hasło",
|
||||
"forgotPassword": "Nie pamiętam hasła",
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Zaproponuj funkcje",
|
||||
"faq": "Najczęściej zadawane pytania (FAQ)",
|
||||
"faq_q_1": "Jak bezpieczny jest Auth?",
|
||||
"faq_a_1": "Wszystkie kody, których tworzysz kopię zapasową za pomocą Ente są przechowywane zaszyfrowane end-to-end. Oznacza to, że tylko Ty możesz uzyskać dostęp do swoich kodów. Nasze aplikacje są otwarto-źródłowe, a nasza kryptografia została poddana zewnętrznemu audytowi.",
|
||||
"faq_q_2": "Czy mogę uzyskać dostęp do moich kodów na komputerze?",
|
||||
"faq_a_2": "Możesz uzyskać dostęp do swoich kodów na stronie auth.ente.io.",
|
||||
"faq_q_3": "Jak mogę usunąć kody?",
|
||||
"faq_a_3": "Możesz usunąć kod, przesuwając go w lewo.",
|
||||
"faq_q_4": "Jak mogę wesprzeć ten projekt?",
|
||||
"faq_a_4": "Możesz wspierać rozwój tego projektu, subskrybując do naszej aplikacji Zdjęcia na ente.io.",
|
||||
"faq_q_5": "Jak mogę włączyć blokadę FaceID w Ente Auth",
|
||||
"faq_a_5": "Możesz włączyć blokadę FaceID w Ustawienia → Bezpieczeństwo→ Ekran blokady.",
|
||||
"somethingWentWrongMessage": "Coś poszło nie tak. Proszę, spróbuj ponownie",
|
||||
"leaveFamily": "Opuść rodzinę",
|
||||
@@ -132,6 +145,8 @@
|
||||
"enterCodeHint": "Wprowadź sześciocyfrowy kod z twojej aplikacji uwierzytelniającej",
|
||||
"lostDeviceTitle": "Zagubiono urządzenie?",
|
||||
"twoFactorAuthTitle": "Uwierzytelnianie dwuetapowe",
|
||||
"passkeyAuthTitle": "Weryfikacja kluczem dostępu",
|
||||
"verifyPasskey": "Zweryfikuj klucz dostępu",
|
||||
"recoverAccount": "Odzyskaj konto",
|
||||
"enterRecoveryKeyHint": "Wprowadź swój klucz odzyskiwania",
|
||||
"recover": "Odzyskaj",
|
||||
@@ -143,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Nieprawidłowy kod QR",
|
||||
"noRecoveryKeyTitle": "Brak klucza odzyskiwania?",
|
||||
"enterEmailHint": "Wprowadź adres e-mail",
|
||||
"invalidEmailTitle": "Nieprawidłowy adres e-mail",
|
||||
@@ -187,6 +203,8 @@
|
||||
"saveKey": "Zapisz klucz",
|
||||
"save": "Zapisz",
|
||||
"send": "Wyślij",
|
||||
"saveOrSendDescription": "Czy chcesz zapisać to do pamięci masowej (domyślnie folder Pobrane) czy wysłać to do innych aplikacji?",
|
||||
"saveOnlyDescription": "Czy chcesz zapisać to do pamięci masowej (domyślnie folder Pobrane)?",
|
||||
"back": "Wstecz",
|
||||
"createAccount": "Utwórz konto",
|
||||
"passwordStrength": "Siła hasła: {passwordStrengthValue}",
|
||||
@@ -245,12 +263,15 @@
|
||||
"exportLogs": "Eksportuj logi",
|
||||
"enterYourRecoveryKey": "Wprowadź swój klucz odzyskiwania",
|
||||
"tempErrorContactSupportIfPersists": "Wygląda na to, że coś poszło nie tak. Spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z naszym zespołem pomocy technicznej.",
|
||||
"networkHostLookUpErr": "Nie można połączyć się z Ente, sprawdź ustawienia sieci i skontaktuj się z pomocą techniczną, jeśli błąd będzie się powtarzał.",
|
||||
"networkConnectionRefusedErr": "Nie można połączyć się z Ente, spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z pomocą techniczną.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Wygląda na to, że coś poszło nie tak. Spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z naszym zespołem pomocy technicznej.",
|
||||
"about": "O nas",
|
||||
"weAreOpenSource": "Posiadamy otwarte źródło!",
|
||||
"privacy": "Prywatność",
|
||||
"terms": "Warunki",
|
||||
"checkForUpdates": "Sprawdź czy są dostępne nowe aktualizacje",
|
||||
"checkStatus": "Sprawdź stan",
|
||||
"downloadUpdate": "Pobierz",
|
||||
"criticalUpdateAvailable": "Dostępna jest krytyczna aktualizacja",
|
||||
"updateAvailable": "Dostępna jest aktualizacja",
|
||||
@@ -326,6 +347,7 @@
|
||||
"offlineModeWarning": "Wybrałeś kontynuację bez kopii zapasowych. Proszę wykonywać ręczne kopie zapasowe, aby upewnić się, że Twoje kody są bezpieczne.",
|
||||
"showLargeIcons": "Pokaż duże ikony",
|
||||
"shouldHideCode": "Ukryj kody",
|
||||
"doubleTapToViewHiddenCode": "Możesz kliknąć dwukrotnie na wpis, aby wyświetlić kod",
|
||||
"focusOnSearchBar": "Uaktywnij wyszukiwanie przy uruchamianiu aplikacji",
|
||||
"confirmUpdatingkey": "Czy na pewno chcesz zaktualizować tajny klucz?",
|
||||
"minimizeAppOnCopy": "Minimalizuj aplikację przy kopiowaniu",
|
||||
@@ -333,10 +355,19 @@
|
||||
"deleteCodeAuthMessage": "Uwierzytelnij, aby usunąć kod",
|
||||
"showQRAuthMessage": "Uwierzytelnij, aby pokazać kod QR",
|
||||
"confirmAccountDeleteTitle": "Potwierdź usunięcie konta",
|
||||
"confirmAccountDeleteMessage": "To konto jest połączone z innymi aplikacjami Ente, jeśli ich używasz.\n\nTwoje przesłane dane, we wszystkich aplikacjach Ente, zostaną zaplanowane do usunięcia, a Twoje konto zostanie trwale usunięte.",
|
||||
"androidBiometricHint": "Potwierdź swoją tożsamość",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricNotRecognized": "Nie rozpoznano. Spróbuj ponownie.",
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Sukces",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidCancelButton": "Anuluj",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
@@ -345,13 +376,71 @@
|
||||
"@androidSignInTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricRequiredTitle": "Wymagana biometria",
|
||||
"@androidBiometricRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up biometric authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsRequiredTitle": "Wymagane dane logowania urządzenia",
|
||||
"@androidDeviceCredentialsRequiredTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user has not set up credentials authentication on their device. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidDeviceCredentialsSetupDescription": "Wymagane dane logowania urządzenia",
|
||||
"@androidDeviceCredentialsSetupDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"goToSettings": "Przejdź do Ustawień",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
"androidGoToSettingsDescription": "Uwierzytelnianie biometryczne nie jest skonfigurowane na tym urządzeniu. Przejdź do 'Ustawienia > Bezpieczeństwo', aby dodać uwierzytelnianie biometryczne.",
|
||||
"@androidGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure biometric on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"iOSLockOut": "Uwierzytelnianie biometryczne jest wyłączone. Proszę zablokować i odblokować ekran, aby je włączyć.",
|
||||
"@iOSLockOut": {
|
||||
"description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSGoToSettingsDescription": "Uwierzytelnianie biometryczne nie jest skonfigurowane na Twoim urządzeniu. Proszę włączyć Touch ID lub Face ID na swoim telefonie.",
|
||||
"@iOSGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSOkButton": "OK",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"noInternetConnection": "Brak połączenia z Internetem",
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain": "Proszę sprawdzić połączenie internetowe i spróbować ponownie.",
|
||||
"signOutFromOtherDevices": "Wyloguj z pozostałych urządzeń",
|
||||
"signOutOtherBody": "Jeśli uważasz, że ktoś może znać Twoje hasło, możesz wymusić wylogowanie na wszystkich innych urządzeniach korzystających z Twojego konta.",
|
||||
"signOutOtherDevices": "Wyloguj z pozostałych urządzeń",
|
||||
"doNotSignOut": "Nie wylogowuj mnie",
|
||||
"hearUsWhereTitle": "Jak usłyszałeś o Ente? (opcjonalnie)",
|
||||
"hearUsExplanation": "Nie śledzimy instalacji aplikacji. Pomogłyby nam, gdybyś powiedział/a nam, gdzie nas znalazłeś/aś!",
|
||||
"recoveryKeySaved": "Klucz odzyskiwania zapisany w folderze Pobrane!",
|
||||
"waitingForBrowserRequest": "Oczekiwanie na żądanie przeglądarki...",
|
||||
"waitingForVerification": "Oczekiwanie na weryfikację...",
|
||||
"developerSettings": "Ustawienia deweloperskie"
|
||||
"passkey": "Klucz dostępu",
|
||||
"passKeyPendingVerification": "Weryfikacja jest nadal w toku",
|
||||
"loginSessionExpired": "Sesja wygasła",
|
||||
"loginSessionExpiredDetails": "Twoja sesja wygasła. Zaloguj się ponownie.",
|
||||
"developerSettingsWarning": "Czy na pewno chcesz zmodyfikować ustawienia programisty?",
|
||||
"developerSettings": "Ustawienia deweloperskie",
|
||||
"serverEndpoint": "Punkt końcowy serwera",
|
||||
"invalidEndpoint": "Punkt końcowy jest nieprawidłowy",
|
||||
"invalidEndpointMessage": "Niestety, wprowadzony punkt końcowy jest nieprawidłowy. Wprowadź prawidłowy punkt końcowy i spróbuj ponownie.",
|
||||
"endpointUpdatedMessage": "Punkt końcowy zaktualizowany pomyślnie",
|
||||
"customEndpoint": "Połączono z {endpoint}",
|
||||
"pinText": "Przypnij",
|
||||
"unpinText": "Odepnij",
|
||||
"pinnedCodeMessage": "Przypięto {code}",
|
||||
"unpinnedCodeMessage": "Odpięto {code}",
|
||||
"tags": "Etykiety",
|
||||
"createNewTag": "Utwórz Nową Etykietę",
|
||||
"tag": "Etykieta",
|
||||
"create": "Utwórz",
|
||||
"editTag": "Edytuj Etykietę",
|
||||
"deleteTagTitle": "Usunąć etykietę?",
|
||||
"deleteTagMessage": "Czy na pewno chcesz usunąć tę etykietę? Ta akcja jest nieodwracalna.",
|
||||
"somethingWentWrongParsingCode": "Nie udało się przetworzyć kodów {x}.",
|
||||
"updateNotAvailable": "Aktualizacja jest niedostępna"
|
||||
}
|
||||
@@ -19,7 +19,7 @@
|
||||
"pleaseVerifyDetails": "Por favor, verifique os detalhes e tente novamente",
|
||||
"codeIssuerHint": "Emissor",
|
||||
"codeSecretKeyHint": "Chave secreta",
|
||||
"codeAccountHint": "Conta (voce@dominio.com)",
|
||||
"codeAccountHint": "Conta (você@domínio.com)",
|
||||
"codeTagHint": "Etiqueta",
|
||||
"accountKeyType": "Tipo de chave",
|
||||
"sessionExpired": "Sessão expirada",
|
||||
@@ -27,7 +27,7 @@
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "Por favor, faça login novamente",
|
||||
"loggingOut": "Desconectando...",
|
||||
"loggingOut": "Saindo...",
|
||||
"timeBasedKeyType": "Baseado no horário (TOTP)",
|
||||
"counterBasedKeyType": "Baseado em um contador (HOTP)",
|
||||
"saveAction": "Salvar",
|
||||
@@ -51,7 +51,7 @@
|
||||
"reportABug": "Informar um problema",
|
||||
"crashAndErrorReporting": "Reporte de erros e falhas",
|
||||
"reportBug": "Informar problema",
|
||||
"emailUsMessage": "Por favor, envie um e-mail para {email}",
|
||||
"emailUsMessage": "Envie um e-mail para {email}",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
@@ -59,12 +59,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"contactSupport": "Falar com o suporte",
|
||||
"contactSupport": "Falar com o Suporte",
|
||||
"rateUsOnStore": "Avalie-nos na {storeName}",
|
||||
"blog": "Blog",
|
||||
"merchandise": "Produtos",
|
||||
"verifyPassword": "Verificar senha",
|
||||
"pleaseWait": "Por favor, aguarde...",
|
||||
"pleaseWait": "Aguarde...",
|
||||
"generatingEncryptionKeysTitle": "Gerando chaves de criptografia...",
|
||||
"recreatePassword": "Recriar senha",
|
||||
"recreatePasswordMessage": "O dispositivo atual não é poderoso o suficiente para verificar sua senha, mas podemos regenerar de uma forma que funcione com todos os dispositivos.\n\nPor favor, faça o login usando sua chave de recuperação e recrie sua senha (você pode usar o mesmo novamente se desejar).",
|
||||
@@ -81,10 +81,10 @@
|
||||
"importTypePlainText": "Texto simples",
|
||||
"importTypeEnteEncrypted": "Exportação Ente criptografada",
|
||||
"passwordForDecryptingExport": "Senha para descriptografar a exportação",
|
||||
"passwordEmptyError": "O campo senha não pode estar vazio",
|
||||
"passwordEmptyError": "A senha não pode estar vazia",
|
||||
"importFromApp": "Importar códigos do {appName}",
|
||||
"importGoogleAuthGuide": "Exporte suas contas do Google Authenticator para um QR code usando a opção \"Transferir contas\". Então, usando outro dispositivo, escaneie o QR code.\n\nDica: Você pode usar a câmera do seu notebook para fotografar o QR code.",
|
||||
"importSelectJsonFile": "Selecione o arquivo JSON",
|
||||
"importSelectJsonFile": "Selecionar arquivo JSON",
|
||||
"importSelectAppExport": "Selecione o arquivo de exportação do aplicativo {appName}",
|
||||
"importEnteEncGuide": "Selecione o arquivo JSON criptografado exportado do Ente",
|
||||
"importRaivoGuide": "Use a opção \"Exportar OTPs para arquivo Zip\" nas configurações do Raivo.\n\nExtraia o arquivo zip e importe o arquivo JSON.",
|
||||
@@ -92,7 +92,7 @@
|
||||
"importAegisGuide": "Use a opção \"Exportar cofre\" nas Configurações do Aegis.\n\nSe o seu cofre estiver criptografado, você precisará inserir a senha do cofre para descriptografá-lo.",
|
||||
"import2FasGuide": "Use a opção \"Configurações->Exportar cópia de segurança\" no aplicativo 2FAS.\n\nSe a cópia de segurança estiver criptografada, será necessário inserir a senha para descriptografá-la",
|
||||
"importLastpassGuide": "Use a opção \"Transferir contas\" nas configurações do LastPass Authenticator e pressione \"Exportar contas para arquivo\". Importe o arquivo JSON baixado.",
|
||||
"exportCodes": "Exportar Códigos",
|
||||
"exportCodes": "Exportar códigos",
|
||||
"importLabel": "Importar",
|
||||
"importInstruction": "Por favor, selecione um arquivo que contenha uma lista de códigos no seguinte formato",
|
||||
"importCodeDelimiterInfo": "Os códigos podem ser separados por uma vírgula ou uma nova linha",
|
||||
@@ -114,14 +114,14 @@
|
||||
"general": "Geral",
|
||||
"settings": "Ajustes",
|
||||
"copied": "Copiado",
|
||||
"pleaseTryAgain": "Por favor, tente novamente",
|
||||
"existingUser": "Usuário Existente",
|
||||
"pleaseTryAgain": "Tente de novo",
|
||||
"existingUser": "Usuário existente",
|
||||
"newUser": "Novo no Ente",
|
||||
"delete": "Excluir",
|
||||
"enterYourPasswordHint": "Insira sua senha",
|
||||
"forgotPassword": "Esqueci a senha",
|
||||
"oops": "Opa",
|
||||
"suggestFeatures": "Sugerir funcionalidades",
|
||||
"suggestFeatures": "Sugerir recursos",
|
||||
"faq": "Perguntas frequentes",
|
||||
"faq_q_1": "Quão seguro é o Auth?",
|
||||
"faq_a_1": "Todos os códigos que você faz backup via Auth são armazenados criptografados de ponta a ponta. Isso significa que somente você pode acessar seus códigos. Nossos aplicativos são de código aberto e nossa criptografia foi auditada externamente.",
|
||||
@@ -143,12 +143,12 @@
|
||||
"verify": "Verificar",
|
||||
"verifyEmail": "Verificar e-mail",
|
||||
"enterCodeHint": "Digite o código de 6 dígitos de\nseu aplicativo autenticador",
|
||||
"lostDeviceTitle": "Perdeu seu dispositivo?",
|
||||
"lostDeviceTitle": "Perdeu um dispositivo?",
|
||||
"twoFactorAuthTitle": "Autenticação de dois fatores",
|
||||
"passkeyAuthTitle": "Autenticação via Chave de acesso",
|
||||
"verifyPasskey": "Verificar chave de acesso",
|
||||
"recoverAccount": "Recuperar conta",
|
||||
"enterRecoveryKeyHint": "Digite sua chave de recuperação",
|
||||
"enterRecoveryKeyHint": "Digite a chave de recuperação",
|
||||
"recover": "Recuperar",
|
||||
"contactSupportViaEmailMessage": "Por favor, envie um e-mail para {email} a partir do seu endereço de e-mail registrado",
|
||||
"@contactSupportViaEmailMessage": {
|
||||
@@ -160,7 +160,7 @@
|
||||
},
|
||||
"invalidQRCode": "QR Code inválido",
|
||||
"noRecoveryKeyTitle": "Sem chave de recuperação?",
|
||||
"enterEmailHint": "Insira o seu endereço de e-mail",
|
||||
"enterEmailHint": "Insira o endereço de e-mail",
|
||||
"invalidEmailTitle": "Endereço de e-mail inválido",
|
||||
"invalidEmailMessage": "Por favor, insira um endereço de e-mail válido.",
|
||||
"deleteAccount": "Excluir conta",
|
||||
@@ -175,8 +175,8 @@
|
||||
"moderateStrength": "Moderada",
|
||||
"confirmPassword": "Confirme sua senha",
|
||||
"close": "Fechar",
|
||||
"oopsSomethingWentWrong": "Oops, Algo deu errado.",
|
||||
"selectLanguage": "Selecionar idioma",
|
||||
"oopsSomethingWentWrong": "Opa. Algo deu errado.",
|
||||
"selectLanguage": "Trocar idioma",
|
||||
"language": "Idioma",
|
||||
"social": "Redes sociais",
|
||||
"security": "Segurança",
|
||||
@@ -199,14 +199,14 @@
|
||||
"recoveryKeyCopiedToClipboard": "A chave de recuperação foi copiada para a área de transferência",
|
||||
"recoveryKeyOnForgotPassword": "Caso você esqueça sua senha, a única maneira de recuperar seus dados é com essa chave.",
|
||||
"recoveryKeySaveDescription": "Não armazenamos essa chave, por favor, salve essa chave de 24 palavras em um lugar seguro.",
|
||||
"doThisLater": "Fazer isso mais tarde",
|
||||
"doThisLater": "Fazer isso depois",
|
||||
"saveKey": "Salvar chave",
|
||||
"save": "Salvar",
|
||||
"send": "Enviar",
|
||||
"saveOrSendDescription": "Você deseja salvar isso no seu armazenamento (pasta de downloads por padrão) ou enviá-lo para outros aplicativos?",
|
||||
"saveOnlyDescription": "Você deseja salvar isto no seu armazenamento (pasta de downloads por padrão)?",
|
||||
"back": "Voltar",
|
||||
"createAccount": "Criar uma conta",
|
||||
"createAccount": "Criar conta",
|
||||
"passwordStrength": "Força da senha: {passwordStrengthValue}",
|
||||
"@passwordStrength": {
|
||||
"description": "Text to indicate the password strength",
|
||||
@@ -234,7 +234,7 @@
|
||||
"passwordChangedSuccessfully": "Senha alterada com sucesso",
|
||||
"generatingEncryptionKeys": "Gerando chaves de criptografia...",
|
||||
"continueLabel": "Continuar",
|
||||
"insecureDevice": "Dispositivo não seguro",
|
||||
"insecureDevice": "Dispositivo inseguro",
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Desculpe, não foi possível gerar chaves seguras neste dispositivo.\n\npor favor, faça o login com um dispositivo diferente.",
|
||||
"howItWorks": "Como funciona",
|
||||
"ackPasswordLostWarning": "Eu entendo que se eu perder minha senha, posso perder meus dados, já que meus dados são <underline>criptografados de ponta a ponta</underline>.",
|
||||
@@ -257,18 +257,21 @@
|
||||
"recoveryKeyVerifyReason": "Sua chave de recuperação é a única maneira de recuperar suas fotos se você esquecer sua senha. Você pode encontrar sua chave de recuperação em Configurações > Conta.\n\nDigite sua chave de recuperação aqui para verificar se você a salvou corretamente.",
|
||||
"confirmYourRecoveryKey": "Confirme sua chave de recuperação",
|
||||
"confirm": "Confirmar",
|
||||
"emailYourLogs": "Enviar por email seus logs",
|
||||
"emailYourLogs": "Enviar logs por e-mail",
|
||||
"pleaseSendTheLogsTo": "Por favor, envie os logs para \n{toEmail}",
|
||||
"copyEmailAddress": "Copiar endereço de e-mail",
|
||||
"exportLogs": "Exportar logs",
|
||||
"enterYourRecoveryKey": "Digite sua chave de recuperação",
|
||||
"enterYourRecoveryKey": "Digite a chave de recuperação",
|
||||
"tempErrorContactSupportIfPersists": "Parece que algo deu errado. Por favor, tente novamente mais tarde. Se o erro persistir, entre em contato com nossa equipe de suporte.",
|
||||
"networkHostLookUpErr": "Não foi possível conectar-se ao Ente, verifique suas configurações de rede e entre em contato com o suporte se o erro persistir.",
|
||||
"networkConnectionRefusedErr": "Não foi possível conectar ao Ente, tente novamente após algum tempo. Se o erro persistir, entre em contato com o suporte.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Parece que algo deu errado. Por favor, tente novamente mais tarde. Se o erro persistir, entre em contato com nossa equipe de suporte.",
|
||||
"about": "Sobre",
|
||||
"weAreOpenSource": "Nós somos de código aberto!",
|
||||
"privacy": "Privacidade",
|
||||
"terms": "Termos",
|
||||
"checkForUpdates": "Verificar por atualizações",
|
||||
"checkStatus": "Verificar status",
|
||||
"downloadUpdate": "Baixar",
|
||||
"criticalUpdateAvailable": "Atualização crítica disponível",
|
||||
"updateAvailable": "Atualização disponível",
|
||||
@@ -277,7 +280,7 @@
|
||||
"youAreOnTheLatestVersion": "Você está na versão mais recente",
|
||||
"warning": "Atenção",
|
||||
"exportWarningDesc": "O arquivo exportado contém informações confidenciais. Por favor, armazene-o com segurança.",
|
||||
"iUnderStand": "Eu entendo",
|
||||
"iUnderStand": "Entendo",
|
||||
"@iUnderStand": {
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
@@ -326,11 +329,11 @@
|
||||
"sorryTheCodeYouveEnteredIsIncorrect": "Desculpe, o código que você inseriu está incorreto",
|
||||
"emailChangedTo": "E-mail alterado para {newEmail}",
|
||||
"authenticationFailedPleaseTryAgain": "Falha na autenticação. Por favor, tente novamente",
|
||||
"authenticationSuccessful": "Autenticação bem-sucedida!",
|
||||
"authenticationSuccessful": "Autenticado!",
|
||||
"twofactorAuthenticationSuccessfullyReset": "Autenticação de dois fatores redefinida com sucesso",
|
||||
"incorrectRecoveryKey": "Chave de recuperação incorreta",
|
||||
"theRecoveryKeyYouEnteredIsIncorrect": "A chave de recuperação inserida está incorreta",
|
||||
"enterPassword": "Insira a senha",
|
||||
"enterPassword": "Inserir senha",
|
||||
"selectExportFormat": "Selecione o formato para exportação",
|
||||
"exportDialogDesc": "As exportações criptografadas ficarão protegidas por uma senha de sua escolha.",
|
||||
"encrypted": "Criptografado",
|
||||
@@ -345,7 +348,7 @@
|
||||
"showLargeIcons": "Mostrar ícones grandes",
|
||||
"shouldHideCode": "Ocultar códigos",
|
||||
"doubleTapToViewHiddenCode": "Você pode tocar duas vezes em uma entrada para ver o código",
|
||||
"focusOnSearchBar": "Foco na pesquisa ao iniciar o aplicativo",
|
||||
"focusOnSearchBar": "Foco na busca ao iniciar o app",
|
||||
"confirmUpdatingkey": "Você tem certeza que deseja atualizar a chave secreta?",
|
||||
"minimizeAppOnCopy": "Minimizar aplicativo ao copiar",
|
||||
"editCodeAuthMessage": "Autenticar para editar o código",
|
||||
@@ -357,7 +360,7 @@
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricNotRecognized": "Não reconhecido. Tente novamente.",
|
||||
"androidBiometricNotRecognized": "Não reconhecido. Tente de novo.",
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
@@ -385,7 +388,7 @@
|
||||
"@androidDeviceCredentialsSetupDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
|
||||
},
|
||||
"goToSettings": "Ir para Configurações",
|
||||
"goToSettings": "Ir para Ajustes",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
@@ -410,13 +413,16 @@
|
||||
"signOutFromOtherDevices": "Terminar sessão em outros dispositivos",
|
||||
"signOutOtherBody": "Se você acha que alguém pode saber sua senha, você pode forçar todos os outros dispositivos que estão com sua conta a desconectar.",
|
||||
"signOutOtherDevices": "Terminar sessão em outros dispositivos",
|
||||
"doNotSignOut": "Não encerrar sessão",
|
||||
"doNotSignOut": "Não sair",
|
||||
"hearUsWhereTitle": "Como você ouviu sobre o Ente? (opcional)",
|
||||
"hearUsExplanation": "Não rastreamos instalações do aplicativo. Seria útil se você nos contasse onde nos encontrou!",
|
||||
"recoveryKeySaved": "Chave de recuperação salva na pasta Downloads!",
|
||||
"waitingForBrowserRequest": "Aguardando solicitação do navegador...",
|
||||
"waitingForVerification": "Esperando por verificação...",
|
||||
"passkey": "Chave de acesso",
|
||||
"passKeyPendingVerification": "A verificação ainda está pendente",
|
||||
"loginSessionExpired": "Sessão expirada",
|
||||
"loginSessionExpiredDetails": "Sua sessão expirou. Por favor, entre novamente.",
|
||||
"developerSettingsWarning": "Tem certeza de que deseja modificar as configurações de Desenvolvedor?",
|
||||
"developerSettings": "Configurações de desenvolvedor",
|
||||
"serverEndpoint": "Endpoint do servidor",
|
||||
@@ -429,12 +435,12 @@
|
||||
"pinnedCodeMessage": "{code} foi fixado",
|
||||
"unpinnedCodeMessage": "{code} foi desafixado",
|
||||
"tags": "Etiquetas",
|
||||
"createNewTag": "Criar etiqueta",
|
||||
"createNewTag": "Criar nova etiqueta",
|
||||
"tag": "Etiqueta",
|
||||
"create": "Criar",
|
||||
"editTag": "Editar etiqueta",
|
||||
"deleteTagTitle": "Apagar etiqueta?",
|
||||
"deleteTagMessage": "Tem certeza de que deseja excluir esta etiqueta? Essa ação é irreversível.",
|
||||
"somethingWentWrongParsingCode": "Não foi possível analisar os códigos {x}.",
|
||||
"updateNotAvailable": "Atualização não está disponível"
|
||||
"updateNotAvailable": "Atualização indisponível"
|
||||
}
|
||||
232
auth/lib/l10n/arb/app_ro.arb
Normal file
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"account": "Cont",
|
||||
"unlock": "Deblochează",
|
||||
"recoveryKey": "Cheie de recuperare",
|
||||
"onBoardingBody": "Salvează în siguranță codurile 2FA",
|
||||
"onBoardingGetStarted": "Începe",
|
||||
"setupFirstAccount": "Configurează primul cont",
|
||||
"importScanQrCode": "Scanează un cod QR",
|
||||
"qrCode": "Cod QR",
|
||||
"importEnterSetupKey": "Introdu o cheie de configurare",
|
||||
"importAccountPageTitle": "Introdu detaliile contului",
|
||||
"secretCanNotBeEmpty": "Secretul nu poate fi gol",
|
||||
"incorrectDetails": "Detalii incorecte",
|
||||
"pleaseVerifyDetails": "Te rog verifică detaliile și încearcă din nou",
|
||||
"codeIssuerHint": "Emitent",
|
||||
"codeSecretKeyHint": "Cheie Secretă",
|
||||
"codeAccountHint": "Cont (tu@domeniu.com)",
|
||||
"codeTagHint": "Etichetă",
|
||||
"accountKeyType": "Tipul de cheie",
|
||||
"sessionExpired": "Sesiune expirată",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
},
|
||||
"pleaseLoginAgain": "Te rugăm să te autentifici din nou",
|
||||
"loggingOut": "Deconectare...",
|
||||
"timeBasedKeyType": "Bazat pe timp (TOTP)",
|
||||
"counterBasedKeyType": "Bazat pe contor (HOTP)",
|
||||
"saveAction": "Salvare",
|
||||
"nextTotpTitle": "următor",
|
||||
"deleteCodeTitle": "Șterge codul?",
|
||||
"deleteCodeMessage": "Ești sigur că vrei să ștergi acest cod? Acțiunea este ireversibilă.",
|
||||
"viewLogsAction": "Afișare jurnale",
|
||||
"preparingLogsTitle": "Se pregătesc jurnalele...",
|
||||
"emailLogsTitle": "Jurnale e-mail",
|
||||
"emailLogsMessage": "Te rugăm să trimiți jurnalele la {email}",
|
||||
"@emailLogsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"copyEmailAction": "Copiază e-mailul",
|
||||
"exportLogsAction": "Exportează log-urile",
|
||||
"reportABug": "Raportează o eroare",
|
||||
"crashAndErrorReporting": "Închidere accidentală şi raportare erori",
|
||||
"reportBug": "Raportare bug",
|
||||
"emailUsMessage": "Te rugăm să ne trimiți un e-mail la {email}",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"contactSupport": "Contactează suportul",
|
||||
"rateUsOnStore": "Evaluează-ne pe {storeName}",
|
||||
"blog": "Blog",
|
||||
"verifyPassword": "Verifică parola",
|
||||
"pleaseWait": "Te rog așteaptă...",
|
||||
"recreatePassword": "Recreează parola",
|
||||
"incorrectPasswordTitle": "Parolă incorectă",
|
||||
"welcomeBack": "Bine ai revenit!",
|
||||
"supportDevs": "Abonează-te la <bold-green>ente</bold-green> pentru a ne susține",
|
||||
"supportDiscount": "Folosește codul \"AUTH\" pentru a obține o reducere de 10% în primul an",
|
||||
"changeEmail": "Schimbă e-mailul",
|
||||
"changePassword": "Schimbă parola",
|
||||
"data": "Date",
|
||||
"importCodes": "Importă coduri",
|
||||
"importTypePlainText": "Text simplu",
|
||||
"passwordForDecryptingExport": "Parola pentru a decripta exportul",
|
||||
"passwordEmptyError": "Parola nu poate fi goală",
|
||||
"importFromApp": "Importă coduri din {appName}",
|
||||
"importSelectJsonFile": "Selectează fișierul JSON",
|
||||
"importSelectAppExport": "Selectează fișierul de export din {appName}",
|
||||
"importEnteEncGuide": "Selectează fișierul criptat JSON exportat din Bențe",
|
||||
"exportCodes": "Exportă coduri",
|
||||
"importLabel": "Importă",
|
||||
"selectFile": "Selectează fișier",
|
||||
"emailVerificationToggle": "Verificarea adresei de e-mail",
|
||||
"authToChangeEmailVerificationSetting": "Te rugăm să te autentifici pentru a schimba verificarea prin e-mail",
|
||||
"authToChangeYourEmail": "Te rugăm să te autentifici pentru a-ți schimba adresa de e-mail",
|
||||
"ok": "Ok",
|
||||
"cancel": "Anulare",
|
||||
"yes": "Da",
|
||||
"no": "Nu",
|
||||
"email": "E-mail",
|
||||
"support": "Asistență",
|
||||
"general": "General",
|
||||
"settings": "Setări",
|
||||
"copied": "S-a copiat",
|
||||
"pleaseTryAgain": "Te rugăm să încerci din nou",
|
||||
"existingUser": "Utilizator existent",
|
||||
"newUser": "Nou în Ente",
|
||||
"delete": "Ștergere",
|
||||
"enterYourPasswordHint": "Introdu parola",
|
||||
"forgotPassword": "Am uitat parola",
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Sugerează funcționalități",
|
||||
"faq": "Întrebări frecvente",
|
||||
"faq_q_1": "Cât de sigur este Auth?",
|
||||
"faq_q_2": "Pot accesa codurile de pe desktop?",
|
||||
"faq_q_3": "Cum pot șterge codurile?",
|
||||
"faq_q_4": "Cum pot susţine acest proiect?",
|
||||
"faq_a_4": "Poți susține dezvoltarea acestui proiect prin cumpărarea unui abonament la aplicația noastră de fotografii @ ente.io.",
|
||||
"faq_q_5": "Cum pot activa blocarea cu FaceID în Auth",
|
||||
"faq_a_5": "Poți activa blocarea FaceID din Setări → Securitate → Ecran de blocare.",
|
||||
"somethingWentWrongMessage": "Ceva n-a mers bine, te rog încearcă din nou",
|
||||
"leaveFamily": "Părăsește familia",
|
||||
"verifyEmail": "Verifică e-mail",
|
||||
"twoFactorAuthTitle": "Autentificare cu doi factori",
|
||||
"recoverAccount": "Recuperare cont",
|
||||
"recover": "Recuperează",
|
||||
"invalidQRCode": "Codul QR nu este valid",
|
||||
"enterEmailHint": "Introdu adresa ta de e-mail",
|
||||
"invalidEmailTitle": "Adresa e-mail nu este validă",
|
||||
"invalidEmailMessage": "Te rugăm să introduci o adresă de e-mail validă.",
|
||||
"deleteAccount": "Ștergere cont",
|
||||
"yesSendFeedbackAction": "Da, trimite feedback",
|
||||
"noDeleteAccountAction": "Nu, șterge contul",
|
||||
"initiateAccountDeleteTitle": "Te rugăm să te autentifici pentru a iniția ștergerea contului",
|
||||
"sendEmail": "Trimite e-mail",
|
||||
"confirmPassword": "Confirmă parola",
|
||||
"close": "Închide",
|
||||
"selectLanguage": "Selectare limbă",
|
||||
"language": "Limbă",
|
||||
"social": "Social",
|
||||
"security": "Securitate",
|
||||
"lockscreen": "Ecran de blocare",
|
||||
"scanAQrCode": "Scanează un cod QR",
|
||||
"copiedToClipboard": "Copiat în clipboard",
|
||||
"copiedNextToClipboard": "Codul următor a fost copiat în clipboard",
|
||||
"error": "Eroare",
|
||||
"recoveryKeyOnForgotPassword": "Dacă îți uiți parola, singura modalitate prin care poți recupera datele este cu această cheie.",
|
||||
"saveKey": "Salvare cheie",
|
||||
"save": "Salvare",
|
||||
"send": "Trimitere",
|
||||
"back": "Înapoi",
|
||||
"password": "Parolă",
|
||||
"termsOfServicesTitle": "Termeni",
|
||||
"setPasswordTitle": "Setează parola",
|
||||
"changePasswordTitle": "Schimbă parola",
|
||||
"resetPasswordTitle": "Resetează parola",
|
||||
"passwordWarning": "Nu stocăm această parolă, deci dacă o uiți, <underline>nu îți putem decripta datele</underline>",
|
||||
"enterPasswordToEncrypt": "Introdu o parolă pe care o putem folosi pentru a-ți cripta datele",
|
||||
"passwordChangedSuccessfully": "Parola a fost modificată cu succes",
|
||||
"recreatePasswordTitle": "Recreează parola",
|
||||
"invalidKey": "Cheie invalidă",
|
||||
"tryAgain": "Încearcă din nou",
|
||||
"viewRecoveryKey": "Vezi cheia de recuperare",
|
||||
"pleaseSendTheLogsTo": "Te rugăm să trimiți jurnalele la {toEmail}",
|
||||
"copyEmailAddress": "Copiază adresa de e-mail",
|
||||
"about": "Despre",
|
||||
"weAreOpenSource": "Suntem open source!",
|
||||
"privacy": "Confidențialitate",
|
||||
"terms": "Termeni",
|
||||
"checkForUpdates": "Verifică actualizări",
|
||||
"checkStatus": "Verifică status",
|
||||
"downloadUpdate": "Descărcare",
|
||||
"criticalUpdateAvailable": "Actualizare critică disponibilă",
|
||||
"updateAvailable": "Actualizare disponibilă",
|
||||
"update": "Actualizare",
|
||||
"checking": "Se verifică...",
|
||||
"youAreOnTheLatestVersion": "Utilizezi cea mai recentă versiune",
|
||||
"warning": "Atenție",
|
||||
"iUnderStand": "Înţeleg",
|
||||
"@iUnderStand": {
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
"importSuccessTitle": "Ura!",
|
||||
"sorry": "Ne pare rău",
|
||||
"pendingSyncs": "Atenție",
|
||||
"tapToEnterCode": "Apasă pentru a introduce codul",
|
||||
"resendEmail": "Retrimite e-mail",
|
||||
"weHaveSendEmailTo": "Am trimis un e-mail la <green>{email}</green>",
|
||||
"@weHaveSendEmailTo": {
|
||||
"description": "Text to indicate that we have sent a mail to the user",
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"description": "The email address of the user",
|
||||
"type": "String",
|
||||
"example": "example@ente.io"
|
||||
}
|
||||
}
|
||||
},
|
||||
"activeSessions": "Sesiuni active",
|
||||
"somethingWentWrongPleaseTryAgain": "Ceva n-a mers bine, te rog încearcă din nou",
|
||||
"thisDevice": "Acest dispozitiv",
|
||||
"toResetVerifyEmail": "Pentru a reseta parola, te rugăm să confirmi mai întâi adresa de e-mail.",
|
||||
"thisEmailIsAlreadyInUse": "Această adresă de e-mail este deja folosită",
|
||||
"emailChangedTo": "E-mail modificat în {newEmail}",
|
||||
"enterPassword": "Introdu parola",
|
||||
"passwordToEncryptExport": "Parolă pentru a cripta exportul",
|
||||
"useOffline": "Utilizează fără backup-uri",
|
||||
"offlineModeWarning": "Ai ales să continui fără backup-uri. Te rog salvează-ți backup-urile manual ca să fii sigur că ai codurile în siguranță.",
|
||||
"showLargeIcons": "Afișează iconițele mari",
|
||||
"shouldHideCode": "Ascunde codurile",
|
||||
"androidBiometricHint": "Verifică identitatea",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricNotRecognized": "Neidentificat. Încearcă din nou.",
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Succes",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidCancelButton": "Anulare",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
},
|
||||
"androidSignInTitle": "Autentificare necesară",
|
||||
"@androidSignInTitle": {
|
||||
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"goToSettings": "Mergi la setări",
|
||||
"@goToSettings": {
|
||||
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
|
||||
},
|
||||
"iOSOkButton": "Ok",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"noInternetConnection": "Nu există conexiune la internet",
|
||||
"signOutFromOtherDevices": "Deconectare de pe alte dispozitive",
|
||||
"signOutOtherDevices": "Deconectează alte dispozitive",
|
||||
"doNotSignOut": "Nu te deconecta",
|
||||
"loginSessionExpired": "Sesiune expirată",
|
||||
"updateNotAvailable": "Actualizare indisponibilă"
|
||||
}
|
||||
@@ -269,6 +269,7 @@
|
||||
"privacy": "Конфиденциальность",
|
||||
"terms": "Условия использования",
|
||||
"checkForUpdates": "Проверить наличие обновлений",
|
||||
"checkStatus": "Проверить статус",
|
||||
"downloadUpdate": "Скачать",
|
||||
"criticalUpdateAvailable": "Доступно критическое обновление",
|
||||
"updateAvailable": "Доступно обновление",
|
||||
@@ -417,6 +418,9 @@
|
||||
"waitingForBrowserRequest": "Ожидание запроса браузера...",
|
||||
"waitingForVerification": "Ожидание подтверждения...",
|
||||
"passkey": "Ключ",
|
||||
"passKeyPendingVerification": "Верификация еще не завершена",
|
||||
"loginSessionExpired": "Сессия недействительна",
|
||||
"loginSessionExpiredDetails": "Сессия истекла. Войдите снова.",
|
||||
"developerSettingsWarning": "Вы уверены, что хотите изменить настройки разработчика?",
|
||||
"developerSettings": "Настройки разработчика",
|
||||
"serverEndpoint": "Конечная точка сервера",
|
||||
|
||||
@@ -159,5 +159,6 @@
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
"noInternetConnection": "Ingen internetanslutning",
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain": "Kontrollera din internetanslutning och försök igen."
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain": "Kontrollera din internetanslutning och försök igen.",
|
||||
"loginSessionExpiredDetails": "Din session har upphört. Logga in igen."
|
||||
}
|
||||
1
auth/lib/l10n/arb/app_te.arb
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "ኣዋጂ",
|
||||
"codeSecretKeyHint": "ምስጢራዊ መፍትሕ",
|
||||
"codeAccountHint": "ሕሳብ (you@domain.com)",
|
||||
"codeTagHint": "ልጣፍ",
|
||||
"accountKeyType": "ዓይነት ቁልፊ",
|
||||
"sessionExpired": "ክፍለ ግዜኡ ኣኺሉ።",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -111,12 +113,14 @@
|
||||
"copied": "Copied",
|
||||
"pleaseTryAgain": "Please try again",
|
||||
"existingUser": "Existing User",
|
||||
"newUser": "ሓድሽ ናብ Ente",
|
||||
"delete": "Delete",
|
||||
"enterYourPasswordHint": "Enter your password",
|
||||
"forgotPassword": "Forgot password",
|
||||
"oops": "ዉዉኡ",
|
||||
"suggestFeatures": "Suggest features",
|
||||
"faq": "FAQ",
|
||||
"faq_q_1": "Auth ክሳብ ክንደይ ውሑስ እዩ፧",
|
||||
"faq_q_2": "Can I access my codes on desktop?",
|
||||
"faq_a_2": "You can access your codes on the web @ auth.ente.io.",
|
||||
"faq_q_3": "How can I delete codes?",
|
||||
|
||||
@@ -269,6 +269,7 @@
|
||||
"privacy": "Gizlilik",
|
||||
"terms": "Şartlar",
|
||||
"checkForUpdates": "Güncellemeleri denetleyin",
|
||||
"checkStatus": "Durumu kontrol et",
|
||||
"downloadUpdate": "İndir",
|
||||
"criticalUpdateAvailable": "Kritik güncelleme mevcut",
|
||||
"updateAvailable": "Güncelleme mevcut",
|
||||
@@ -417,6 +418,9 @@
|
||||
"waitingForBrowserRequest": "Tarayıcı isteği bekleniyor...",
|
||||
"waitingForVerification": "Doğrulama bekleniyor...",
|
||||
"passkey": "Geçiş anahtarı",
|
||||
"passKeyPendingVerification": "Doğrulama hala bekliyor",
|
||||
"loginSessionExpired": "Oturum süresi doldu",
|
||||
"loginSessionExpiredDetails": "Oturum süreniz doldu. Tekrar giriş yapın.",
|
||||
"developerSettingsWarning": "Geliştirici ayarlarını değiştirmekten emin misiniz?",
|
||||
"developerSettings": "Geliştirici ayarları",
|
||||
"serverEndpoint": "Sunucu uç noktası",
|
||||
|
||||
@@ -263,12 +263,15 @@
|
||||
"exportLogs": "导出日志",
|
||||
"enterYourRecoveryKey": "输入您的恢复密钥",
|
||||
"tempErrorContactSupportIfPersists": "看起来出了点问题。 请稍后重试。 如果错误仍然存在,请联系我们的支持团队。",
|
||||
"networkHostLookUpErr": "无法连接到 Ente,请检查您的网络设置,如果错误仍然存在,请联系支持。",
|
||||
"networkConnectionRefusedErr": "无法连接到 Ente,请稍后重试。如果错误仍然存在,请联系支持人员。",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "看起来出了点问题。 请稍后重试。 如果错误仍然存在,请联系我们的支持团队。",
|
||||
"about": "关于",
|
||||
"weAreOpenSource": "我们是开源的 !",
|
||||
"privacy": "隐私",
|
||||
"terms": "使用条款",
|
||||
"checkForUpdates": "检查更新",
|
||||
"checkStatus": "检查状态",
|
||||
"downloadUpdate": "下载",
|
||||
"criticalUpdateAvailable": "有重要更新可用",
|
||||
"updateAvailable": "有可用的更新",
|
||||
@@ -417,6 +420,9 @@
|
||||
"waitingForBrowserRequest": "正在等待浏览器请求...",
|
||||
"waitingForVerification": "等待验证...",
|
||||
"passkey": "通行密钥",
|
||||
"passKeyPendingVerification": "仍需进行验证",
|
||||
"loginSessionExpired": "会话已过期",
|
||||
"loginSessionExpiredDetails": "您的会话已过期。请重新登录。",
|
||||
"developerSettingsWarning": "您确定要修改开发者设置吗?",
|
||||
"developerSettings": "开发者设置",
|
||||
"serverEndpoint": "服务器端点",
|
||||
|
||||
@@ -28,6 +28,7 @@ import 'package:ente_crypto_dart/ente_crypto_dart.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import "package:flutter/material.dart";
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
@@ -65,8 +66,9 @@ Future<void> initSystemTray() async {
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
initSystemTray().ignore();
|
||||
if (Platform.isWindows) {
|
||||
await whiteListLetsEncryptRootCA();
|
||||
}
|
||||
|
||||
if (PlatformUtil.isDesktop()) {
|
||||
await windowManager.ensureInitialized();
|
||||
@@ -77,8 +79,10 @@ void main() async {
|
||||
await windowManager.waitUntilReadyToShow(windowOptions, () async {
|
||||
await windowManager.show();
|
||||
await windowManager.focus();
|
||||
initSystemTray().ignore();
|
||||
});
|
||||
}
|
||||
|
||||
await _runInForeground();
|
||||
await _setupPrivacyScreen();
|
||||
if (Platform.isAndroid) {
|
||||
@@ -86,6 +90,19 @@ void main() async {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> whiteListLetsEncryptRootCA() async {
|
||||
try {
|
||||
// https://stackoverflow.com/a/71090239
|
||||
// https://github.com/ente-io/ente/issues/2178
|
||||
ByteData data =
|
||||
await PlatformAssetBundle().load('assets/ca/lets-encrypt-r3.pem');
|
||||
SecurityContext.defaultContext
|
||||
.setTrustedCertificatesBytes(data.buffer.asUint8List());
|
||||
} catch (e) {
|
||||
_logger.severe("Failed to whitelist Let's Encrypt Root CA", e);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _runInForeground() async {
|
||||
final savedThemeMode = _themeMode(await AdaptiveTheme.getThemeMode());
|
||||
return await _runWithLogs(() async {
|
||||
@@ -132,7 +149,7 @@ Future _runWithLogs(Function() function, {String prefix = ""}) async {
|
||||
}
|
||||
|
||||
void _registerWindowsProtocol() {
|
||||
const kWindowsScheme = 'ente';
|
||||
const kWindowsScheme = 'enteauth';
|
||||
// Register our protocol only on Windows platform
|
||||
if (!kIsWeb && Platform.isWindows) {
|
||||
WindowsProtocolHandler()
|
||||
|
||||
@@ -42,14 +42,14 @@ class PasskeyService {
|
||||
Future<void> openPasskeyPage(BuildContext context) async {
|
||||
try {
|
||||
final jwtToken = await getJwtToken();
|
||||
final url = "https://accounts.ente.io/account-handoff?token=$jwtToken";
|
||||
final url = "https://accounts.ente.io/passkeys?token=$jwtToken";
|
||||
await launchUrlString(
|
||||
url,
|
||||
mode: LaunchMode.externalApplication,
|
||||
);
|
||||
} catch (e) {
|
||||
Logger('PasskeyService').severe("failed to open passkey page", e);
|
||||
showGenericErrorDialog(context: context).ignore();
|
||||
showGenericErrorDialog(context: context, error: e).ignore();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ class UserService {
|
||||
);
|
||||
return;
|
||||
}
|
||||
unawaited(showGenericErrorDialog(context: context));
|
||||
unawaited(showGenericErrorDialog(context: context, error: null));
|
||||
} on DioException catch (e) {
|
||||
await dialog.hide();
|
||||
_logger.info(e);
|
||||
@@ -114,12 +114,12 @@ class UserService {
|
||||
),
|
||||
);
|
||||
} else {
|
||||
unawaited(showGenericErrorDialog(context: context));
|
||||
unawaited(showGenericErrorDialog(context: context, error: e));
|
||||
}
|
||||
} catch (e) {
|
||||
await dialog.hide();
|
||||
_logger.severe(e);
|
||||
unawaited(showGenericErrorDialog(context: context));
|
||||
unawaited(showGenericErrorDialog(context: context, error: e));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,11 @@ class UserService {
|
||||
return userDetails;
|
||||
} catch (e) {
|
||||
_logger.warning("Failed to fetch", e);
|
||||
rethrow;
|
||||
if (e is DioException && e.response?.statusCode == 401) {
|
||||
throw UnauthorizedError();
|
||||
} else {
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,11 +217,17 @@ class UserService {
|
||||
}
|
||||
} catch (e) {
|
||||
_logger.severe(e);
|
||||
// check if token is already invalid
|
||||
if (e is DioException && e.response?.statusCode == 401) {
|
||||
await Configuration.instance.logout();
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
return;
|
||||
}
|
||||
//This future is for waiting for the dialog from which logout() is called
|
||||
//to close and only then to show the error dialog.
|
||||
Future.delayed(
|
||||
const Duration(milliseconds: 150),
|
||||
() => showGenericErrorDialog(context: context),
|
||||
() => showGenericErrorDialog(context: context, error: e),
|
||||
);
|
||||
rethrow;
|
||||
}
|
||||
@@ -238,7 +248,10 @@ class UserService {
|
||||
}
|
||||
} catch (e) {
|
||||
_logger.severe(e);
|
||||
await showGenericErrorDialog(context: context);
|
||||
await showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -266,32 +279,77 @@ class UserService {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> onPassKeyVerified(BuildContext context, Map response) async {
|
||||
final userPassword = Configuration.instance.getVolatilePassword();
|
||||
if (userPassword == null) throw Exception("volatile password is null");
|
||||
|
||||
await _saveConfiguration(response);
|
||||
|
||||
Widget page;
|
||||
if (Configuration.instance.getEncryptedToken() != null) {
|
||||
await Configuration.instance.decryptSecretsAndGetKeyEncKey(
|
||||
userPassword,
|
||||
Configuration.instance.getKeyAttributes()!,
|
||||
);
|
||||
page = const HomePage();
|
||||
} else {
|
||||
throw Exception("unexpected response during passkey verification");
|
||||
}
|
||||
|
||||
// ignore: unawaited_futures
|
||||
Navigator.of(context).pushAndRemoveUntil(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return page;
|
||||
Future<dynamic> getTokenForPasskeySession(String sessionID) async {
|
||||
try {
|
||||
final response = await _dio.get(
|
||||
"${_config.getHttpEndpoint()}/users/two-factor/passkeys/get-token",
|
||||
queryParameters: {
|
||||
"sessionID": sessionID,
|
||||
},
|
||||
),
|
||||
(route) => route.isFirst,
|
||||
);
|
||||
);
|
||||
return response.data;
|
||||
} on DioException catch (e) {
|
||||
if (e.response != null) {
|
||||
if (e.response!.statusCode == 404 || e.response!.statusCode == 410) {
|
||||
throw PassKeySessionExpiredError();
|
||||
}
|
||||
if (e.response!.statusCode == 400) {
|
||||
throw PassKeySessionNotVerifiedError();
|
||||
}
|
||||
}
|
||||
rethrow;
|
||||
} catch (e, s) {
|
||||
_logger.severe("unexpected error", e, s);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> onPassKeyVerified(BuildContext context, Map response) async {
|
||||
final ProgressDialog dialog =
|
||||
createProgressDialog(context, context.l10n.pleaseWait);
|
||||
await dialog.show();
|
||||
try {
|
||||
final userPassword = _config.getVolatilePassword();
|
||||
await _saveConfiguration(response);
|
||||
if (userPassword == null) {
|
||||
await dialog.hide();
|
||||
// ignore: unawaited_futures
|
||||
Navigator.of(context).pushAndRemoveUntil(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return const PasswordReentryPage();
|
||||
},
|
||||
),
|
||||
(route) => route.isFirst,
|
||||
);
|
||||
} else {
|
||||
Widget page;
|
||||
if (_config.getEncryptedToken() != null) {
|
||||
await _config.decryptSecretsAndGetKeyEncKey(
|
||||
userPassword,
|
||||
_config.getKeyAttributes()!,
|
||||
);
|
||||
page = const HomePage();
|
||||
} else {
|
||||
throw Exception("unexpected response during passkey verification");
|
||||
}
|
||||
await dialog.hide();
|
||||
|
||||
// ignore: unawaited_futures
|
||||
Navigator.of(context).pushAndRemoveUntil(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return page;
|
||||
},
|
||||
),
|
||||
(route) => route.isFirst,
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
_logger.severe(e);
|
||||
await dialog.hide();
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> verifyEmail(
|
||||
@@ -316,9 +374,12 @@ class UserService {
|
||||
await dialog.hide();
|
||||
if (response.statusCode == 200) {
|
||||
Widget page;
|
||||
final String passkeySessionID = response.data["passkeySessionID"];
|
||||
final String twoFASessionID = response.data["twoFactorSessionID"];
|
||||
if (twoFASessionID.isNotEmpty) {
|
||||
page = TwoFactorAuthenticationPage(twoFASessionID);
|
||||
} else if (passkeySessionID.isNotEmpty) {
|
||||
page = PasskeyPage(passkeySessionID);
|
||||
} else {
|
||||
await _saveConfiguration(response);
|
||||
if (Configuration.instance.getEncryptedToken() != null) {
|
||||
|
||||
@@ -32,7 +32,7 @@ class CodeDisplayStore {
|
||||
if (code.hasError) continue;
|
||||
tags.addAll(code.display.tags);
|
||||
}
|
||||
return tags.toList();
|
||||
return tags.toList()..sort();
|
||||
}
|
||||
|
||||
Future<void> showDeleteTagDialog(BuildContext context, String tag) async {
|
||||
|
||||
@@ -3,51 +3,64 @@ import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/store/authenticator_db.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
bool showingLogoutDialog = false;
|
||||
Future<void> autoLogoutAlert(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
final AlertDialog alert = AlertDialog(
|
||||
title: Text(l10n.sessionExpired),
|
||||
content: Text(l10n.pleaseLoginAgain),
|
||||
actions: [
|
||||
TextButton(
|
||||
child: Text(
|
||||
l10n.ok,
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
if (showingLogoutDialog) {
|
||||
debugPrint("Ignore event as already logging out");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
showingLogoutDialog = true;
|
||||
final l10n = context.l10n;
|
||||
final AlertDialog alert = AlertDialog(
|
||||
title: Text(l10n.sessionExpired),
|
||||
content: Text(l10n.pleaseLoginAgain),
|
||||
actions: [
|
||||
TextButton(
|
||||
child: Text(
|
||||
l10n.ok,
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
),
|
||||
onPressed: () async {
|
||||
Navigator.of(context, rootNavigator: true).pop('dialog');
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
int pendingSyncCount =
|
||||
await AuthenticatorDB.instance.getNeedSyncCount();
|
||||
if (pendingSyncCount > 0) {
|
||||
// ignore: unawaited_futures
|
||||
showChoiceActionSheet(
|
||||
context,
|
||||
title: l10n.pendingSyncs,
|
||||
body: l10n.pendingSyncsWarningBody,
|
||||
firstButtonLabel: context.l10n.yesLogout,
|
||||
isCritical: true,
|
||||
firstButtonOnTap: () async {
|
||||
await _logout(context, l10n);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
await _logout(context, l10n);
|
||||
}
|
||||
},
|
||||
),
|
||||
onPressed: () async {
|
||||
Navigator.of(context, rootNavigator: true).pop('dialog');
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
int pendingSyncCount =
|
||||
await AuthenticatorDB.instance.getNeedSyncCount();
|
||||
if (pendingSyncCount > 0) {
|
||||
// ignore: unawaited_futures
|
||||
showChoiceActionSheet(
|
||||
context,
|
||||
title: l10n.pendingSyncs,
|
||||
body: l10n.pendingSyncsWarningBody,
|
||||
firstButtonLabel: context.l10n.yesLogout,
|
||||
isCritical: true,
|
||||
firstButtonOnTap: () async {
|
||||
await _logout(context, l10n);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
await _logout(context, l10n);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (BuildContext context) {
|
||||
return alert;
|
||||
},
|
||||
);
|
||||
],
|
||||
);
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (BuildContext context) {
|
||||
return alert;
|
||||
},
|
||||
);
|
||||
} catch (e) {
|
||||
Logger("LogoutDialog").severe('failed to process sign out action', e);
|
||||
} finally {
|
||||
showingLogoutDialog = false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _logout(BuildContext context, AppLocalizations l10n) async {
|
||||
|
||||
@@ -412,7 +412,10 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
|
||||
_logger.severe(e, s);
|
||||
await dialog.hide();
|
||||
// ignore: unawaited_futures
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -472,7 +475,10 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
|
||||
_logger.severe(e, s);
|
||||
await dialog.hide();
|
||||
// ignore: unawaited_futures
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,7 +506,10 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
|
||||
);
|
||||
} else {
|
||||
// ignore: unawaited_futures
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,10 @@ class _VerifyRecoveryPageState extends State<VerifyRecoveryPage> {
|
||||
"Please check your internet connection and try again.",
|
||||
);
|
||||
} else {
|
||||
await showGenericErrorDialog(context: context);
|
||||
await showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -107,7 +110,10 @@ class _VerifyRecoveryPageState extends State<VerifyRecoveryPage> {
|
||||
);
|
||||
} catch (e) {
|
||||
// ignore: unawaited_futures
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,7 +485,10 @@ class _ButtonChildWidgetState extends State<ButtonChildWidget> {
|
||||
} else if (exception != null) {
|
||||
//This is to show the execution was unsuccessful if the dialog is manually
|
||||
//closed before the execution completes.
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: exception,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ enum ButtonType {
|
||||
|
||||
Color defaultButtonColor(EnteColorScheme colorScheme) {
|
||||
if (isPrimary) {
|
||||
return colorScheme.primary500;
|
||||
return colorScheme.primary400;
|
||||
}
|
||||
if (isSecondary) {
|
||||
return colorScheme.fillFaint;
|
||||
|
||||
@@ -56,7 +56,8 @@ class _HomePageState extends State<HomePage> {
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
final TextEditingController _textController = TextEditingController();
|
||||
final FocusNode searchInputFocusNode = FocusNode();
|
||||
final bool _autoFocusSearch =
|
||||
PreferenceService.instance.shouldAutoFocusOnSearchBar();
|
||||
bool _showSearchBox = false;
|
||||
String _searchText = "";
|
||||
List<Code>? _allCodes;
|
||||
@@ -87,18 +88,7 @@ class _HomePageState extends State<HomePage> {
|
||||
_iconsChangedEvent = Bus.instance.on<IconsChangedEvent>().listen((event) {
|
||||
setState(() {});
|
||||
});
|
||||
_showSearchBox = PreferenceService.instance.shouldAutoFocusOnSearchBar();
|
||||
if (_showSearchBox) {
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) {
|
||||
// https://github.com/flutter/flutter/issues/20706#issuecomment-646328652
|
||||
FocusScope.of(context).unfocus();
|
||||
Timer(const Duration(milliseconds: 1), () {
|
||||
FocusScope.of(context).requestFocus(searchInputFocusNode);
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
_showSearchBox = _autoFocusSearch;
|
||||
}
|
||||
|
||||
void _loadCodes() {
|
||||
@@ -238,8 +228,9 @@ class _HomePageState extends State<HomePage> {
|
||||
title: !_showSearchBox
|
||||
? const Text('Ente Auth')
|
||||
: TextField(
|
||||
focusNode: searchInputFocusNode,
|
||||
autofocus: _searchText.isEmpty,
|
||||
autocorrect: false,
|
||||
enableSuggestions: false,
|
||||
autofocus: _autoFocusSearch,
|
||||
controller: _textController,
|
||||
onChanged: (val) {
|
||||
_searchText = val;
|
||||
@@ -458,7 +449,10 @@ class _HomePageState extends State<HomePage> {
|
||||
CodeStore.instance.addCode(newCode);
|
||||
_focusNewCode(newCode);
|
||||
} catch (e, s) {
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
_logger.severe("error while handling deeplink", e, s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,14 @@ import 'dart:convert';
|
||||
|
||||
import 'package:app_links/app_links.dart';
|
||||
import 'package:ente_auth/core/configuration.dart';
|
||||
import 'package:ente_auth/core/errors.dart';
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/account/two_factor.dart';
|
||||
import 'package:ente_auth/services/user_service.dart';
|
||||
import 'package:ente_auth/ui/components/buttons/button_widget.dart';
|
||||
import 'package:ente_auth/ui/components/models/button_type.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:ente_auth/utils/toast_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
@@ -41,13 +43,38 @@ class _PasskeyPageState extends State<PasskeyPage> {
|
||||
|
||||
Future<void> launchPasskey() async {
|
||||
await launchUrlString(
|
||||
"https://accounts.ente.io/passkeys/flow?"
|
||||
"https://accounts.ente.io/passkeys/verify?"
|
||||
"passkeySessionID=${widget.sessionID}"
|
||||
"&redirect=enteauth://passkey",
|
||||
"&redirect=enteauth://passkey"
|
||||
"&clientPackage=io.ente.auth",
|
||||
mode: LaunchMode.externalApplication,
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> checkStatus() async {
|
||||
late dynamic response;
|
||||
try {
|
||||
response = await UserService.instance
|
||||
.getTokenForPasskeySession(widget.sessionID);
|
||||
} on PassKeySessionNotVerifiedError {
|
||||
showToast(context, context.l10n.passKeyPendingVerification);
|
||||
return;
|
||||
} on PassKeySessionExpiredError {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.loginSessionExpired,
|
||||
context.l10n.loginSessionExpiredDetails,
|
||||
);
|
||||
Navigator.of(context).pop();
|
||||
return;
|
||||
} catch (e, s) {
|
||||
_logger.severe("failed to check status", e, s);
|
||||
showGenericErrorDialog(context: context, error: e).ignore();
|
||||
return;
|
||||
}
|
||||
await UserService.instance.onPassKeyVerified(context, response);
|
||||
}
|
||||
|
||||
Future<void> _handleDeeplink(String? link) async {
|
||||
if (!context.mounted ||
|
||||
Configuration.instance.hasConfiguredAccount() ||
|
||||
@@ -59,8 +86,20 @@ class _PasskeyPageState extends State<PasskeyPage> {
|
||||
}
|
||||
try {
|
||||
if (mounted && link.toLowerCase().startsWith("enteauth://passkey")) {
|
||||
final String? uri = Uri.parse(link).queryParameters['response'];
|
||||
String base64String = uri!.toString();
|
||||
if (Configuration.instance.isLoggedIn()) {
|
||||
_logger.info('ignored deeplink: already configured');
|
||||
showToast(context, 'Account is already configured.');
|
||||
return;
|
||||
}
|
||||
final parsedUri = Uri.parse(link);
|
||||
final sessionID = parsedUri.queryParameters['passkeySessionID'];
|
||||
if (sessionID != widget.sessionID) {
|
||||
showToast(context, "Session ID mismatch");
|
||||
_logger.warning('ignored deeplink: sessionID mismatch');
|
||||
return;
|
||||
}
|
||||
final String? authResponse = parsedUri.queryParameters['response'];
|
||||
String base64String = authResponse!.toString();
|
||||
while (base64String.length % 4 != 0) {
|
||||
base64String += '=';
|
||||
}
|
||||
@@ -72,7 +111,7 @@ class _PasskeyPageState extends State<PasskeyPage> {
|
||||
}
|
||||
} catch (e, s) {
|
||||
_logger.severe('passKey: failed to handle deeplink', e, s);
|
||||
showGenericErrorDialog(context: context).ignore();
|
||||
showGenericErrorDialog(context: context, error: e).ignore();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,9 +157,23 @@ class _PasskeyPageState extends State<PasskeyPage> {
|
||||
const SizedBox(height: 16),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
labelText: context.l10n.verifyPasskey,
|
||||
labelText: context.l10n.tryAgain,
|
||||
onTap: () => launchPasskey(),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.secondary,
|
||||
labelText: context.l10n.checkStatus,
|
||||
onTap: () async {
|
||||
try {
|
||||
await checkStatus();
|
||||
} catch (e) {
|
||||
debugPrint('failed to check status %e');
|
||||
showGenericErrorDialog(context: context, error: e).ignore();
|
||||
}
|
||||
},
|
||||
shouldSurfaceExecutionStates: true,
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(30)),
|
||||
GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
|
||||
@@ -111,7 +111,10 @@ class AccountSectionWidget extends StatelessWidget {
|
||||
CryptoUtil.bin2hex(Configuration.instance.getRecoveryKey());
|
||||
} catch (e) {
|
||||
// ignore: unawaited_futures
|
||||
showGenericErrorDialog(context: context);
|
||||
showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
return;
|
||||
}
|
||||
// ignore: unawaited_futures
|
||||
|
||||
@@ -139,7 +139,10 @@ Future<int?> _process2FasExportFile(
|
||||
for (var item in decodedServices) {
|
||||
var kind = item['otp']['tokenType'];
|
||||
var account = item['otp']['account'] ?? '';
|
||||
var issuer = item['otp']['issuer'] ?? item['name'] ?? '';
|
||||
var issuer = item['otp']['issuer'];
|
||||
if (issuer == null || (issuer as String).isEmpty) {
|
||||
issuer = item['name'] ?? '';
|
||||
}
|
||||
var algorithm = item['otp']['algorithm'];
|
||||
var secret = item['secret'];
|
||||
var timer = item['otp']['period'];
|
||||
|
||||
@@ -4,7 +4,6 @@ import 'dart:typed_data';
|
||||
import 'package:ente_auth/core/configuration.dart';
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/user_details.dart';
|
||||
import 'package:ente_auth/services/auth_feature_flag.dart';
|
||||
import 'package:ente_auth/services/local_authentication_service.dart';
|
||||
import 'package:ente_auth/services/passkey_service.dart';
|
||||
import 'package:ente_auth/services/user_service.dart';
|
||||
@@ -66,20 +65,17 @@ class _SecuritySectionWidgetState extends State<SecuritySectionWidget> {
|
||||
// We don't know if the user can disable MFA yet, so we fetch the info
|
||||
UserService.instance.getUserDetailsV2().ignore();
|
||||
}
|
||||
final bool isInternalUser =
|
||||
FeatureFlagService.instance.isInternalUserOrDebugBuild();
|
||||
children.addAll([
|
||||
if (isInternalUser) sectionOptionSpacing,
|
||||
if (isInternalUser)
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: l10n.passkey,
|
||||
),
|
||||
pressedColor: getEnteColorScheme(context).fillFaint,
|
||||
trailingIcon: Icons.chevron_right_outlined,
|
||||
trailingIconIsMuted: true,
|
||||
onTap: () async => await onPasskeyClick(context),
|
||||
sectionOptionSpacing,
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: l10n.passkey,
|
||||
),
|
||||
pressedColor: getEnteColorScheme(context).fillFaint,
|
||||
trailingIcon: Icons.chevron_right_outlined,
|
||||
trailingIconIsMuted: true,
|
||||
onTap: () async => await onPasskeyClick(context),
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
@@ -186,7 +182,10 @@ class _SecuritySectionWidgetState extends State<SecuritySectionWidget> {
|
||||
PasskeyService.instance.openPasskeyPage(buildContext).ignore();
|
||||
} catch (e, s) {
|
||||
_logger.severe("failed to open passkey page", e, s);
|
||||
await showGenericErrorDialog(context: context);
|
||||
await showGenericErrorDialog(
|
||||
context: context,
|
||||
error: e,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@ import 'package:ente_auth/ui/components/components_constants.dart';
|
||||
import 'package:ente_auth/ui/components/dialog_widget.dart';
|
||||
import 'package:ente_auth/ui/components/models/button_result.dart';
|
||||
import 'package:ente_auth/ui/components/models/button_type.dart';
|
||||
import 'package:ente_auth/utils/email_util.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
typedef DialogBuilder = DialogWidget Function(BuildContext context);
|
||||
@@ -69,22 +71,97 @@ Future<ButtonResult?> showErrorDialogForException({
|
||||
);
|
||||
}
|
||||
|
||||
String parseErrorForUI(
|
||||
BuildContext context,
|
||||
String genericError, {
|
||||
Object? error,
|
||||
bool surfaceError = kDebugMode,
|
||||
}) {
|
||||
try {
|
||||
if (error == null) {
|
||||
return genericError;
|
||||
}
|
||||
if (error is DioException) {
|
||||
final DioException dioError = error;
|
||||
if (dioError.type == DioExceptionType.unknown) {
|
||||
if (dioError.error.toString().contains('Failed host lookup')) {
|
||||
return context.l10n.networkHostLookUpErr;
|
||||
} else if (dioError.error.toString().contains('SocketException')) {
|
||||
return context.l10n.networkConnectionRefusedErr;
|
||||
}
|
||||
}
|
||||
}
|
||||
// return generic error if the user is not internal and the error is not in debug mode
|
||||
if (!kDebugMode) {
|
||||
return genericError;
|
||||
}
|
||||
String errorInfo = "";
|
||||
if (error is DioException) {
|
||||
final DioException dioError = error;
|
||||
if (dioError.type == DioExceptionType.badResponse) {
|
||||
if (dioError.response?.data["code"] != null) {
|
||||
errorInfo = "Reason: " + dioError.response!.data["code"];
|
||||
} else {
|
||||
errorInfo = "Reason: " + dioError.response!.data.toString();
|
||||
}
|
||||
} else if (dioError.type == DioExceptionType.unknown) {
|
||||
errorInfo = "Reason: " + dioError.error.toString();
|
||||
} else {
|
||||
errorInfo = "Reason: " + dioError.type.toString();
|
||||
}
|
||||
} else {
|
||||
if (kDebugMode) {
|
||||
errorInfo = error.toString();
|
||||
} else {
|
||||
errorInfo = error.toString().split('Source stack')[0];
|
||||
}
|
||||
}
|
||||
if (errorInfo.isNotEmpty) {
|
||||
return "$genericError\n\n$errorInfo";
|
||||
}
|
||||
return genericError;
|
||||
} catch (e) {
|
||||
return genericError;
|
||||
}
|
||||
}
|
||||
|
||||
///Will return null if dismissed by tapping outside
|
||||
Future<ButtonResult?> showGenericErrorDialog({
|
||||
required BuildContext context,
|
||||
bool isDismissible = true,
|
||||
required Object? error,
|
||||
}) async {
|
||||
final errorBody = parseErrorForUI(
|
||||
context,
|
||||
context.l10n.itLooksLikeSomethingWentWrongPleaseRetryAfterSome,
|
||||
error: error,
|
||||
);
|
||||
|
||||
return showDialogWidget(
|
||||
context: context,
|
||||
title: context.l10n.error,
|
||||
icon: Icons.error_outline_outlined,
|
||||
body: context.l10n.itLooksLikeSomethingWentWrongPleaseRetryAfterSome,
|
||||
body: errorBody,
|
||||
isDismissible: isDismissible,
|
||||
buttons: const [
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
labelText: context.l10n.ok,
|
||||
buttonAction: ButtonAction.first,
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.secondary,
|
||||
labelText: "OK",
|
||||
isInAlert: true,
|
||||
labelText: context.l10n.contactSupport,
|
||||
buttonAction: ButtonAction.second,
|
||||
onTap: () async {
|
||||
await sendLogs(
|
||||
context,
|
||||
context.l10n.contactSupport,
|
||||
"support@ente.io",
|
||||
postShare: () {},
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
@@ -34,7 +34,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
"Debug" "Profile" "Release")
|
||||
endif()
|
||||
|
||||
# Compilation ui.settings that should be applied to most targets.
|
||||
# Compilation settings that should be applied to most targets.
|
||||
#
|
||||
# Be cautious about adding new options here, as plugins use this function by
|
||||
# default. In most cases, you should add new options to specific targets instead
|
||||
@@ -66,8 +66,8 @@ add_executable(${BINARY_NAME}
|
||||
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
|
||||
)
|
||||
|
||||
# Apply the standard set of build ui.settings. This can be removed for applications
|
||||
# that need different build ui.settings.
|
||||
# Apply the standard set of build settings. This can be removed for applications
|
||||
# that need different build settings.
|
||||
apply_standard_settings(${BINARY_NAME})
|
||||
|
||||
# Add dependency libraries. Add any application-specific dependencies here.
|
||||
@@ -86,6 +86,7 @@ set_target_properties(${BINARY_NAME}
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
|
||||
)
|
||||
|
||||
|
||||
# Generated plugin build rules, which manage building the plugins and adding
|
||||
# them to the application.
|
||||
include(flutter/generated_plugins.cmake)
|
||||
@@ -122,6 +123,12 @@ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
|
||||
COMPONENT Runtime)
|
||||
endforeach(bundled_library)
|
||||
|
||||
# Copy the native assets provided by the build.dart from all packages.
|
||||
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
|
||||
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
|
||||
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
||||
COMPONENT Runtime)
|
||||
|
||||
# Fully re-copy the assets directory on each build to avoid having stale files
|
||||
# from a previous install.
|
||||
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
|
||||
|
||||
@@ -63,7 +63,7 @@ static void my_application_activate(GApplication *application)
|
||||
}
|
||||
|
||||
gtk_window_set_default_size(window, 1280, 720);
|
||||
gtk_widget_realize(GTK_WIDGET(window));
|
||||
gtk_widget_show(GTK_WIDGET(window));
|
||||
|
||||
g_autoptr(FlDartProject) project = fl_dart_project_new();
|
||||
fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
|
||||
@@ -73,6 +73,7 @@ static void my_application_activate(GApplication *application)
|
||||
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
|
||||
|
||||
fl_register_plugins(FL_PLUGIN_REGISTRY(view));
|
||||
gtk_widget_hide(GTK_WIDGET(window));
|
||||
|
||||
gtk_widget_grab_focus(GTK_WIDGET(view));
|
||||
}
|
||||
@@ -98,6 +99,26 @@ static gboolean my_application_local_command_line(GApplication *application, gch
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Implements GApplication::startup.
|
||||
static void my_application_startup(GApplication *application)
|
||||
{
|
||||
// MyApplication* self = MY_APPLICATION(object);
|
||||
|
||||
// Perform any actions required at application startup.
|
||||
|
||||
G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
|
||||
}
|
||||
|
||||
// Implements GApplication::shutdown.
|
||||
static void my_application_shutdown(GApplication *application)
|
||||
{
|
||||
// MyApplication* self = MY_APPLICATION(object);
|
||||
|
||||
// Perform any actions required at application shutdown.
|
||||
|
||||
G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
|
||||
}
|
||||
|
||||
// Implements GObject::dispose.
|
||||
static void my_application_dispose(GObject *object)
|
||||
{
|
||||
@@ -110,6 +131,8 @@ static void my_application_class_init(MyApplicationClass *klass)
|
||||
{
|
||||
G_APPLICATION_CLASS(klass)->activate = my_application_activate;
|
||||
G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;
|
||||
G_APPLICATION_CLASS(klass)->startup = my_application_startup;
|
||||
G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
|
||||
G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
display_name: Auth
|
||||
license: GPLv3
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
|
||||
icon: assets/icons/auth-icon.png
|
||||
|
||||
keywords:
|
||||
@@ -27,3 +29,6 @@ include:
|
||||
- libffi.so.8
|
||||
- libtiff.so.5
|
||||
- libjpeg.so.8
|
||||
|
||||
supported_mime_type:
|
||||
- x-scheme-handler/enteauth
|
||||
@@ -10,6 +10,8 @@ license: GPLv3
|
||||
icon: assets/icons/auth-icon.png
|
||||
installed_size: 36000
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
|
||||
dependencies:
|
||||
- libwebkit2gtk-4.0-37
|
||||
- libsqlite3-0
|
||||
@@ -31,4 +33,4 @@ categories:
|
||||
startup_notify: false
|
||||
|
||||
supported_mime_type:
|
||||
- x-scheme-handler/ente
|
||||
- x-scheme-handler/enteauth
|
||||
|
||||
31
auth/linux/packaging/ente_auth.appdata.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>ente_auth</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>AGPL-3.0</project_license>
|
||||
<name>Ente Auth</name>
|
||||
<summary>Open source 2FA authenticator, with end-to-end encrypted backups</summary>
|
||||
<description>
|
||||
<p>Auth provides end-to-end encrypted cloud backups so you don't have to worry about losing your tokens. Our cryptography has been externally audited.</p>
|
||||
<p>Auth has an app for every platform. Mobile, desktop and web. Your codes sync across all your devices, end-to-end encrypted.</p>
|
||||
<p>Auth also comes with Offline mode, tags, icons, pins, import/export and more</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">ente_auth.desktop</launchable>
|
||||
<url type="homepage">https://ente.io/auth</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/ente-io/ente/main/.github/assets/auth.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="3.0.12" date="2024-06-17"/>
|
||||
</releases>
|
||||
<provides>
|
||||
<id>ente_auth.desktop</id>
|
||||
</provides>
|
||||
<content_rating type="oars-1.0" />
|
||||
<developer id="io.github.ente-io.ente">
|
||||
<name>Ente.io Developers</name>
|
||||
</developer>
|
||||
<update_contact>human@ente.io</update_contact>
|
||||
</component>
|
||||
58
auth/linux/packaging/pacman/make_config.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
display_name: Auth
|
||||
package_name: auth
|
||||
maintainer:
|
||||
name: Ente.io Developers
|
||||
email: human@ente.io
|
||||
licenses:
|
||||
- GPLv3
|
||||
icon: assets/icons/auth-icon.png
|
||||
installed_size: 36000
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
|
||||
dependencies:
|
||||
- c-ares
|
||||
- ffmpeg
|
||||
- gtk3
|
||||
- http-parser
|
||||
- libevent
|
||||
- libvpx
|
||||
- libxslt
|
||||
- libxss
|
||||
- minizip
|
||||
- nss
|
||||
- re2
|
||||
- snappy
|
||||
- libnotify
|
||||
- libappindicator-gtk3
|
||||
|
||||
keywords:
|
||||
- Authentication
|
||||
- 2FA
|
||||
|
||||
generic_name: Ente Authentication
|
||||
|
||||
categories:
|
||||
- Utility
|
||||
|
||||
supported_mime_type:
|
||||
- x-scheme-handler/enteauth
|
||||
|
||||
postinstall_scripts:
|
||||
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
|
||||
- update-desktop-database -q
|
||||
- if [ ! -e /usr/lib/libsodium.so.23 ]; then
|
||||
- " ln -s /usr/lib/libsodium.so /usr/lib/libsodium.so.23"
|
||||
- fi
|
||||
|
||||
postupgrade_scripts:
|
||||
- post_install
|
||||
|
||||
postremove_scripts:
|
||||
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
|
||||
- update-desktop-database -q
|
||||
- if [ -e /usr/lib/libsodium.so.23 ]; then
|
||||
- rm /usr/lib/libsodium.so.23
|
||||
- fi
|
||||
|
||||
startup_notify: false
|
||||
@@ -9,6 +9,8 @@ url: https://github.com/ente-io/ente
|
||||
|
||||
display_name: Auth
|
||||
|
||||
metainfo: linux/packaging/ente_auth.appdata.xml
|
||||
|
||||
requires:
|
||||
- libsqlite3x
|
||||
- webkit2gtk4.0
|
||||
@@ -28,4 +30,4 @@ categories:
|
||||
startup_notify: false
|
||||
|
||||
supported_mime_type:
|
||||
- x-scheme-handler/ente
|
||||
- x-scheme-handler/enteauth
|
||||
|
||||
@@ -26,11 +26,11 @@ PODS:
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- ReachabilitySwift (5.2.2)
|
||||
- ReachabilitySwift (5.2.3)
|
||||
- screen_retriever (0.0.1):
|
||||
- FlutterMacOS
|
||||
- Sentry/HybridSDK (8.25.0)
|
||||
- sentry_flutter (7.20.1):
|
||||
- sentry_flutter (7.20.2):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- Sentry/HybridSDK (= 8.25.0)
|
||||
@@ -44,18 +44,21 @@ PODS:
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- "sqlite3 (3.45.3+1)":
|
||||
- "sqlite3/common (= 3.45.3+1)"
|
||||
- "sqlite3/common (3.45.3+1)"
|
||||
- "sqlite3/fts5 (3.45.3+1)":
|
||||
- "sqlite3 (3.46.0+1)":
|
||||
- "sqlite3/common (= 3.46.0+1)"
|
||||
- "sqlite3/common (3.46.0+1)"
|
||||
- "sqlite3/dbstatvtab (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/perf-threadsafe (3.45.3+1)":
|
||||
- "sqlite3/fts5 (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/rtree (3.45.3+1)":
|
||||
- "sqlite3/perf-threadsafe (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- "sqlite3/rtree (3.46.0+1)":
|
||||
- sqlite3/common
|
||||
- sqlite3_flutter_libs (0.0.1):
|
||||
- FlutterMacOS
|
||||
- "sqlite3 (~> 3.45.3+1)"
|
||||
- "sqlite3 (~> 3.46.0+1)"
|
||||
- sqlite3/dbstatvtab
|
||||
- sqlite3/fts5
|
||||
- sqlite3/perf-threadsafe
|
||||
- sqlite3/rtree
|
||||
@@ -152,23 +155,23 @@ SPEC CHECKSUMS:
|
||||
flutter_inappwebview_macos: 9600c9df9fdb346aaa8933812009f8d94304203d
|
||||
flutter_local_authentication: 85674893931e1c9cfa7c9e4f5973cb8c56b018b0
|
||||
flutter_local_notifications: 3805ca215b2fb7f397d78b66db91f6a747af52e4
|
||||
flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea
|
||||
flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9
|
||||
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
|
||||
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
|
||||
package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce
|
||||
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
|
||||
ReachabilitySwift: 2128f3a8c9107e1ad33574c6e58e8285d460b149
|
||||
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
|
||||
ReachabilitySwift: 7f151ff156cea1481a8411701195ac6a984f4979
|
||||
screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38
|
||||
Sentry: cd86fc55628f5b7c572cabe66cc8f95a9d2f165a
|
||||
sentry_flutter: 4cb24c1055c556d7b27262ab2e179d1e5a0b9b0c
|
||||
sentry_flutter: 0cf2507eb90ff7a6aa3304e900dd7f08edbbefdf
|
||||
share_plus: 76dd39142738f7a68dd57b05093b5e8193f220f7
|
||||
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
||||
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
|
||||
sodium_libs: d39bd76697736cb11ce4a0be73b9b4bc64466d6f
|
||||
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||
sqlite3: 02d1f07eaaa01f80a1c16b4b31dfcbb3345ee01a
|
||||
sqlite3_flutter_libs: 8d204ef443cf0d5c1c8b058044eab53f3943a9c5
|
||||
sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630
|
||||
sqlite3_flutter_libs: 5ca46c1a04eddfbeeb5b16566164aa7ad1616e7b
|
||||
tray_manager: 9064e219c56d75c476e46b9a21182087930baf90
|
||||
url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
|
||||
url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399
|
||||
window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8
|
||||
|
||||
PODFILE CHECKSUM: f401c31c8f7c5571f6f565c78915d54338812dab
|
||||
|
||||