mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-13 15:34:38 +01:00
Compare commits
731 Commits
v9.0.0
...
fix/mutex-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85eb9fe99c | ||
|
|
e24c432d69 | ||
|
|
6ff20858ed | ||
|
|
cf8a5da0b2 | ||
|
|
f9280f483f | ||
|
|
ffcf511c20 | ||
|
|
b526608f4b | ||
|
|
542b8f8bf6 | ||
|
|
04858f11ea | ||
|
|
9d9cc0bf5d | ||
|
|
60dd5df8bc | ||
|
|
e75a77e6b8 | ||
|
|
8abefd7441 | ||
|
|
0b75a42682 | ||
|
|
3edc77d3b5 | ||
|
|
58b401d978 | ||
|
|
13375fa8e9 | ||
|
|
72f00c98e8 | ||
|
|
64cb106c70 | ||
|
|
431b3bbeff | ||
|
|
ba50dc419a | ||
|
|
b7b077ca0b | ||
|
|
2f8d09b09e | ||
|
|
c4e8cd5999 | ||
|
|
e688fdf3c5 | ||
|
|
bf44944884 | ||
|
|
7194cdbc07 | ||
|
|
94f9174afa | ||
|
|
0de15e8440 | ||
|
|
dd26fc73c3 | ||
|
|
6f99698525 | ||
|
|
641032f862 | ||
|
|
f37915bcae | ||
|
|
8e27617727 | ||
|
|
7962dd723d | ||
|
|
80a2822214 | ||
|
|
6d31707414 | ||
|
|
03f8997150 | ||
|
|
0f2edbf028 | ||
|
|
8fbbf13822 | ||
|
|
d0431fbc1c | ||
|
|
6bc883cc0e | ||
|
|
d389f110a8 | ||
|
|
aa98e89d77 | ||
|
|
2539afb5d3 | ||
|
|
5d4a81a84f | ||
|
|
1e1790eb84 | ||
|
|
a6c8314187 | ||
|
|
aecb6af9e5 | ||
|
|
b58eddca85 | ||
|
|
8f1317f498 | ||
|
|
2027238250 | ||
|
|
4bf8dc32eb | ||
|
|
059f1942a9 | ||
|
|
4a883c601b | ||
|
|
4a35be488c | ||
|
|
0bdd873336 | ||
|
|
a5d9aea88a | ||
|
|
e4efb55a03 | ||
|
|
56a32b879c | ||
|
|
9f76d34e46 | ||
|
|
5b5621a3d8 | ||
|
|
42abdfb0c7 | ||
|
|
813a3df6a7 | ||
|
|
81e8d21d4b | ||
|
|
e6f1298935 | ||
|
|
48fcfbd304 | ||
|
|
83b84a8a19 | ||
|
|
1590d9c8d6 | ||
|
|
4a95535314 | ||
|
|
1685f409e7 | ||
|
|
a0f37d98b9 | ||
|
|
e329e00d5a | ||
|
|
3fe31f58bd | ||
|
|
f680e33f16 | ||
|
|
192e68ba86 | ||
|
|
ab81ca9233 | ||
|
|
9381534a7d | ||
|
|
a9fabcab23 | ||
|
|
b7903f4e7a | ||
|
|
6856d71cec | ||
|
|
fdb966b11c | ||
|
|
6f9974fa26 | ||
|
|
b69b396978 | ||
|
|
92771f0076 | ||
|
|
ec1b6e3f50 | ||
|
|
6860098829 | ||
|
|
616299668c | ||
|
|
86f63d6a38 | ||
|
|
6c68b2f3ed | ||
|
|
165bdaf760 | ||
|
|
de53e9ded1 | ||
|
|
f2c7986d82 | ||
|
|
b0f6428216 | ||
|
|
ade4d7ea21 | ||
|
|
872459e7bd | ||
|
|
559ce45f05 | ||
|
|
357ba57f16 | ||
|
|
d79481f0c8 | ||
|
|
00a06fab17 | ||
|
|
d0db775c11 | ||
|
|
385a672c3d | ||
|
|
1912e1d68b | ||
|
|
8a7eb12a0c | ||
|
|
9642787631 | ||
|
|
69cc64b3b8 | ||
|
|
4f5a876b57 | ||
|
|
b5a32344c3 | ||
|
|
986a5d3d92 | ||
|
|
d1d3ddd803 | ||
|
|
c80afa6005 | ||
|
|
2eeab72c1c | ||
|
|
7edf07d853 | ||
|
|
a3e1207dfd | ||
|
|
2a9504cd26 | ||
|
|
eb969f1cdc | ||
|
|
478e5230cc | ||
|
|
19e1eae5e2 | ||
|
|
769f989c91 | ||
|
|
e6393d73dc | ||
|
|
da3686b653 | ||
|
|
aad9425a73 | ||
|
|
32fe9335e2 | ||
|
|
dbedab4d33 | ||
|
|
cc428d85d3 | ||
|
|
c625f595e3 | ||
|
|
c3ee5ef759 | ||
|
|
0b4dca5c45 | ||
|
|
b3876f771f | ||
|
|
4c13931000 | ||
|
|
a66a32936f | ||
|
|
123434c374 | ||
|
|
2bcd3eb4f0 | ||
|
|
6a34fc9a76 | ||
|
|
893e89937f | ||
|
|
d3f2dcf7ed | ||
|
|
d700b8bd91 | ||
|
|
db67746c30 | ||
|
|
5c68dc1ddc | ||
|
|
cd189e7ca3 | ||
|
|
4826882bcd | ||
|
|
06892439ac | ||
|
|
452e8433be | ||
|
|
064659c829 | ||
|
|
ab3acecce6 | ||
|
|
f23da6fba5 | ||
|
|
f2cd6b7edb | ||
|
|
2ae42d59af | ||
|
|
c6618b7688 | ||
|
|
a497eaf4de | ||
|
|
86f3d08270 | ||
|
|
a98ebf5d52 | ||
|
|
568fa5e116 | ||
|
|
411477f9b3 | ||
|
|
d6b8ac96d8 | ||
|
|
15e31d7786 | ||
|
|
8425c0a99e | ||
|
|
f2947f90c0 | ||
|
|
e7a0813023 | ||
|
|
aa442b3b7d | ||
|
|
4e2cb1fad9 | ||
|
|
0d1ee983f8 | ||
|
|
216893e3ce | ||
|
|
9886f81b2b | ||
|
|
3fc9a6f2ac | ||
|
|
db6b7795c5 | ||
|
|
4639a59e60 | ||
|
|
436d92cd7e | ||
|
|
053343befb | ||
|
|
a23e1b62a2 | ||
|
|
8030178b45 | ||
|
|
88970a3ec3 | ||
|
|
229e9323ba | ||
|
|
cf1da979ec | ||
|
|
b46f0354d6 | ||
|
|
310e049a23 | ||
|
|
ab83e64f84 | ||
|
|
60e86c74fe | ||
|
|
65ea285ee4 | ||
|
|
6938b57a60 | ||
|
|
eea8530511 | ||
|
|
830bee8c6f | ||
|
|
35f9d5ac18 | ||
|
|
e9d151be33 | ||
|
|
ba20d2da84 | ||
|
|
f487db83da | ||
|
|
414eb3da90 | ||
|
|
5af40ab46a | ||
|
|
ec1c9631c8 | ||
|
|
a6650bb392 | ||
|
|
e29ce1d82f | ||
|
|
0bd4658a23 | ||
|
|
b16ec769ce | ||
|
|
43b7418558 | ||
|
|
c3fb6aa821 | ||
|
|
99bbb08758 | ||
|
|
a065643783 | ||
|
|
76a3d73102 | ||
|
|
d130233860 | ||
|
|
d23b6eb61a | ||
|
|
1f93419cb7 | ||
|
|
b7f9751787 | ||
|
|
758bd90ab3 | ||
|
|
35b383cba6 | ||
|
|
1169684e5b | ||
|
|
f526624fd6 | ||
|
|
9c09ed1c4a | ||
|
|
e96e6372f5 | ||
|
|
aaefb207de | ||
|
|
586ae8b388 | ||
|
|
fb5294e705 | ||
|
|
cdf7b09c48 | ||
|
|
fa5b5bb774 | ||
|
|
36cdc77321 | ||
|
|
4a21272c42 | ||
|
|
796927ac61 | ||
|
|
b60bf4979b | ||
|
|
6865e2d530 | ||
|
|
0929592110 | ||
|
|
5464594c98 | ||
|
|
a9c3f82903 | ||
|
|
b4df642ee3 | ||
|
|
0b4108fb85 | ||
|
|
d269d5f777 | ||
|
|
03dde7d60d | ||
|
|
75d5ceed4f | ||
|
|
2c8391b5a4 | ||
|
|
f69aebc9da | ||
|
|
fbecbfa571 | ||
|
|
d16acbc824 | ||
|
|
ba1eea81e7 | ||
|
|
d16600a1f4 | ||
|
|
f52c9e58fc | ||
|
|
813dc5747b | ||
|
|
3d0316e669 | ||
|
|
acdd9cf0db | ||
|
|
430f27cfc3 | ||
|
|
0703577571 | ||
|
|
64344ee2ee | ||
|
|
4e09726d97 | ||
|
|
00d51e3e0b | ||
|
|
9278bfee18 | ||
|
|
4c5c7b1c94 | ||
|
|
e814bfec68 | ||
|
|
99919d0243 | ||
|
|
f43f011b0b | ||
|
|
f40196b530 | ||
|
|
7d7da7e146 | ||
|
|
d243a8c598 | ||
|
|
2a7454d0ad | ||
|
|
9dd9931176 | ||
|
|
9aae992f64 | ||
|
|
8ac0552ec1 | ||
|
|
086b338f84 | ||
|
|
e1eea87d73 | ||
|
|
cf28660957 | ||
|
|
a260500bb5 | ||
|
|
6601285218 | ||
|
|
4d6a2b3ea9 | ||
|
|
cc979dbb41 | ||
|
|
e3c5b4b7a7 | ||
|
|
5780c2f025 | ||
|
|
9bcf7e7b43 | ||
|
|
b6c6257036 | ||
|
|
3f6b7cd95e | ||
|
|
75a803f1a2 | ||
|
|
6fecfdd63f | ||
|
|
e61d6a60f3 | ||
|
|
e04c18bccf | ||
|
|
058c387b11 | ||
|
|
56ec654c72 | ||
|
|
d31b6a74e6 | ||
|
|
f379c27a01 | ||
|
|
2e8d5fa823 | ||
|
|
01c5627274 | ||
|
|
90cb8525e5 | ||
|
|
aeab3352ae | ||
|
|
f5ae129cad | ||
|
|
69edc6f961 | ||
|
|
2ede81925a | ||
|
|
23138b2d5b | ||
|
|
3be014ba7f | ||
|
|
4ffb176049 | ||
|
|
b0d53431c0 | ||
|
|
13522ef2c9 | ||
|
|
f0db7f0a19 | ||
|
|
7c5b027457 | ||
|
|
0345fb6da9 | ||
|
|
006f44f3a6 | ||
|
|
31adb0b1d6 | ||
|
|
7d884da938 | ||
|
|
29f91bcd9b | ||
|
|
759b8e47d1 | ||
|
|
a042cef5b1 | ||
|
|
84c3944e19 | ||
|
|
8749674a63 | ||
|
|
61d15ddd43 | ||
|
|
107eddfea5 | ||
|
|
f85be55a6d | ||
|
|
8189f90031 | ||
|
|
265b74b6b0 | ||
|
|
c204813be2 | ||
|
|
c344fdd4c9 | ||
|
|
a2a4989cda | ||
|
|
6aa075009e | ||
|
|
ccfd2ac36f | ||
|
|
cce558db9c | ||
|
|
a2d24837bd | ||
|
|
2136638c37 | ||
|
|
40d5c67902 | ||
|
|
511757838e | ||
|
|
5761a38000 | ||
|
|
9a42042686 | ||
|
|
baf53ea212 | ||
|
|
c95d02ec82 | ||
|
|
41df26928c | ||
|
|
0a98a651b1 | ||
|
|
bcb71536ec | ||
|
|
29cf7add11 | ||
|
|
c110082ab5 | ||
|
|
ab4669acc9 | ||
|
|
051f2d2a4d | ||
|
|
d92270a249 | ||
|
|
7704481e78 | ||
|
|
8df5697dd3 | ||
|
|
ce30c1231d | ||
|
|
3692a14067 | ||
|
|
0caf610d33 | ||
|
|
dcab41a6c7 | ||
|
|
b6fcc1ca14 | ||
|
|
644a76cb9a | ||
|
|
29988f2bdd | ||
|
|
986a0034c8 | ||
|
|
a3b1b2841f | ||
|
|
1f349a342e | ||
|
|
ee4d2ab705 | ||
|
|
cd53f5f9db | ||
|
|
d5dc15fc93 | ||
|
|
9a8edf0b64 | ||
|
|
ae5368b696 | ||
|
|
78f7f29247 | ||
|
|
445b300b8b | ||
|
|
cfe6bd118c | ||
|
|
1ab452fda7 | ||
|
|
f886e6f183 | ||
|
|
b3e4da2c73 | ||
|
|
1158b60638 | ||
|
|
9cf637d842 | ||
|
|
c241a33657 | ||
|
|
4cfba97701 | ||
|
|
ecb93dbc13 | ||
|
|
a6bbb45101 | ||
|
|
e811dd1274 | ||
|
|
42ab117c7f | ||
|
|
d061ac6b1a | ||
|
|
bef11ce82e | ||
|
|
747f21c4db | ||
|
|
bbaec08b67 | ||
|
|
81dbbd62f4 | ||
|
|
a47303bec2 | ||
|
|
a7aa0f1c33 | ||
|
|
66b13c8f58 | ||
|
|
9b866967b8 | ||
|
|
dfe4998649 | ||
|
|
7d5ec5a67e | ||
|
|
0fcacc24a0 | ||
|
|
c3306de2ee | ||
|
|
8e6fa5e349 | ||
|
|
6791740a76 | ||
|
|
cc76e689f6 | ||
|
|
c960430cc2 | ||
|
|
dc9059ea81 | ||
|
|
036c4adba1 | ||
|
|
e73d4a03f4 | ||
|
|
e1986cb58b | ||
|
|
403b5f1c7f | ||
|
|
9805991c95 | ||
|
|
452404e48c | ||
|
|
f3995d3c74 | ||
|
|
e98259a11a | ||
|
|
091a8cd3da | ||
|
|
52d1bd1617 | ||
|
|
67122eb908 | ||
|
|
6897a03781 | ||
|
|
c718e9a5a7 | ||
|
|
174f58c014 | ||
|
|
e9d57b477f | ||
|
|
2287e5a6b1 | ||
|
|
91d9540021 | ||
|
|
939c4e2496 | ||
|
|
955ed73dbb | ||
|
|
132870f020 | ||
|
|
a47bde7a4a | ||
|
|
717a34b5b9 | ||
|
|
bea4a8ad3a | ||
|
|
09f2d138c0 | ||
|
|
3afaba5193 | ||
|
|
e6845d74d0 | ||
|
|
218693ef40 | ||
|
|
c6b770672e | ||
|
|
29d62634fa | ||
|
|
7ed3702cc0 | ||
|
|
068b7ba72d | ||
|
|
beacffc2fe | ||
|
|
9f7a065971 | ||
|
|
de20a0668b | ||
|
|
6181f7e5a4 | ||
|
|
c37755f7c3 | ||
|
|
1382e99fc6 | ||
|
|
753d215211 | ||
|
|
bd42b5d0c2 | ||
|
|
15d2273724 | ||
|
|
6be1e0c927 | ||
|
|
19897e76aa | ||
|
|
7bede20f38 | ||
|
|
605b247f21 | ||
|
|
cc30b0d98a | ||
|
|
7d4559b589 | ||
|
|
e1df9fca04 | ||
|
|
341276c0ff | ||
|
|
5a9d22a28a | ||
|
|
c389348c3b | ||
|
|
2d96bcf9c7 | ||
|
|
d5e69aa83c | ||
|
|
0774518eeb | ||
|
|
a0917fdd06 | ||
|
|
aa3deca70a | ||
|
|
5bf9a946f6 | ||
|
|
f8e21483ef | ||
|
|
3b96cfc0bd | ||
|
|
9234d82110 | ||
|
|
7676f2e7d5 | ||
|
|
00d3c05e6e | ||
|
|
7c75e9118f | ||
|
|
9d0e47c2a8 | ||
|
|
355ee39193 | ||
|
|
3913316310 | ||
|
|
7ddf63e0a1 | ||
|
|
d21ecf2b31 | ||
|
|
9103debe99 | ||
|
|
6dbb702665 | ||
|
|
539fcf9f07 | ||
|
|
3294d0e222 | ||
|
|
b73ddb8866 | ||
|
|
85bff0cb19 | ||
|
|
5ecaa81b52 | ||
|
|
624fc70910 | ||
|
|
3ad5d7eea2 | ||
|
|
a9c1ab80b8 | ||
|
|
77b9079104 | ||
|
|
9fb8165be0 | ||
|
|
c7ba4bd3fa | ||
|
|
b717aeb9a6 | ||
|
|
94c729a212 | ||
|
|
10b2ddcfd7 | ||
|
|
ec2ff61199 | ||
|
|
f52f50a0d6 | ||
|
|
492e64d0d0 | ||
|
|
4682988442 | ||
|
|
7789424a08 | ||
|
|
6c3be9c32e | ||
|
|
6605c6f28a | ||
|
|
d3e9d6971f | ||
|
|
f19dcf7483 | ||
|
|
181ea56837 | ||
|
|
7f45d09d96 | ||
|
|
c9955a724f | ||
|
|
bce9838790 | ||
|
|
a99fa78fc2 | ||
|
|
e4ac849309 | ||
|
|
77f8f2019d | ||
|
|
226f785c1b | ||
|
|
faee3a3513 | ||
|
|
cace0bb829 | ||
|
|
a30268a54a | ||
|
|
57fa0f5750 | ||
|
|
84f5a0ad42 | ||
|
|
5bb9637db8 | ||
|
|
ada593990e | ||
|
|
5bf8c9d9a9 | ||
|
|
1085f54c0f | ||
|
|
f435c97f67 | ||
|
|
8326e22d9f | ||
|
|
4a7cde77ea | ||
|
|
96993f62bd | ||
|
|
fe413b897a | ||
|
|
4390617ccf | ||
|
|
676bb736bf | ||
|
|
8afec7a7df | ||
|
|
31bac7bd68 | ||
|
|
bac4e70be4 | ||
|
|
da1a48ee2c | ||
|
|
a99939eba1 | ||
|
|
702471577b | ||
|
|
e943b54df4 | ||
|
|
82eeb79229 | ||
|
|
75bd425fbf | ||
|
|
55f1de11fe | ||
|
|
fda2e74442 | ||
|
|
50c8d39d7f | ||
|
|
cad882e899 | ||
|
|
77ed0564ce | ||
|
|
318cf6626c | ||
|
|
9560cdc7df | ||
|
|
25a6527c93 | ||
|
|
2013f51233 | ||
|
|
4dfc6c11dc | ||
|
|
ae8741dbd2 | ||
|
|
a71ad2aa3e | ||
|
|
cfb2dff9c3 | ||
|
|
1ff7561d5c | ||
|
|
470eb32763 | ||
|
|
3cd756c35d | ||
|
|
f960678918 | ||
|
|
1e3095781c | ||
|
|
33685fe36a | ||
|
|
a9a7573687 | ||
|
|
b69305a8a9 | ||
|
|
7691b84259 | ||
|
|
e5e3750045 | ||
|
|
6413be5320 | ||
|
|
9fc26405bb | ||
|
|
5e42402a3d | ||
|
|
c6c247b56b | ||
|
|
ef5afa3899 | ||
|
|
25491834df | ||
|
|
07c00cc2e3 | ||
|
|
45b736db2d | ||
|
|
f346c181d3 | ||
|
|
7d3aa8c5b9 | ||
|
|
38cd00e41e | ||
|
|
f9e9aaa303 | ||
|
|
6d169688d8 | ||
|
|
1f95033e28 | ||
|
|
0bbb90a927 | ||
|
|
f2e697f3e7 | ||
|
|
ced173be5e | ||
|
|
6cffb84606 | ||
|
|
1152ec8970 | ||
|
|
748d2542e2 | ||
|
|
bc7b30afed | ||
|
|
6ee9234745 | ||
|
|
4f2a94cc50 | ||
|
|
d9541a6d1a | ||
|
|
4fe56cd6e3 | ||
|
|
c4505ce30d | ||
|
|
88fd6fbb7c | ||
|
|
a5b47310d1 | ||
|
|
8f9648d9d8 | ||
|
|
665c2dd32f | ||
|
|
34f0eb8315 | ||
|
|
40a86364d9 | ||
|
|
ca9f2de457 | ||
|
|
e0c658363c | ||
|
|
e90e3da142 | ||
|
|
6c323275a9 | ||
|
|
2b2fe9628f | ||
|
|
9b1f3f8012 | ||
|
|
2f123d96df | ||
|
|
44a42a3365 | ||
|
|
a35dfa21b5 | ||
|
|
128f375cd2 | ||
|
|
d81e55cab4 | ||
|
|
580bfb12fe | ||
|
|
88815c0a05 | ||
|
|
c60385e61f | ||
|
|
616d58e70e | ||
|
|
b172168418 | ||
|
|
e38c892614 | ||
|
|
65d35a5188 | ||
|
|
bb12a89074 | ||
|
|
2ca7218076 | ||
|
|
670f8f7882 | ||
|
|
377bb39be6 | ||
|
|
e0176ca774 | ||
|
|
3c096fa8d7 | ||
|
|
9259476316 | ||
|
|
6c9e39a5cd | ||
|
|
3ba56abfa8 | ||
|
|
dc874877d7 | ||
|
|
2e6aa1f1e4 | ||
|
|
90314fa411 | ||
|
|
cd6561dd61 | ||
|
|
df1a4834ba | ||
|
|
1aa7bfdd51 | ||
|
|
b0543c998e | ||
|
|
1df961d2aa | ||
|
|
a32040eaac | ||
|
|
5fa6348714 | ||
|
|
fd873be34f | ||
|
|
8c42dcafe8 | ||
|
|
991b79a64d | ||
|
|
c39e263308 | ||
|
|
63a829c913 | ||
|
|
b33248c370 | ||
|
|
dd1460b74b | ||
|
|
20c6ad2c8c | ||
|
|
9e0511d7f1 | ||
|
|
7495731f87 | ||
|
|
dc838adbcf | ||
|
|
9d589b3338 | ||
|
|
4537ba9492 | ||
|
|
09b5de79d3 | ||
|
|
f80a807fb1 | ||
|
|
951c8e9c21 | ||
|
|
2c51ddc518 | ||
|
|
d9b85cdf5b | ||
|
|
8099c5fd66 | ||
|
|
f6148271ea | ||
|
|
745b7ee6e1 | ||
|
|
af667d8b00 | ||
|
|
5ecf8d945f | ||
|
|
602aa8440b | ||
|
|
1364de9a5e | ||
|
|
62dacd3a78 | ||
|
|
40bcbfbbd6 | ||
|
|
6e7259a068 | ||
|
|
f87c1e480f | ||
|
|
2a1ce2b79d | ||
|
|
a56309014b | ||
|
|
8a3daa1cfa | ||
|
|
c4d128ec18 | ||
|
|
33150215e6 | ||
|
|
1ba3d55566 | ||
|
|
56ae30745d | ||
|
|
6864bc12cb | ||
|
|
a79c09d205 | ||
|
|
e0c50bb5d7 | ||
|
|
14d3b37435 | ||
|
|
97c57762f0 | ||
|
|
3c099acec4 | ||
|
|
89683e6063 | ||
|
|
602cf31ed5 | ||
|
|
ed3687548c | ||
|
|
5aa386a92c | ||
|
|
7ef5b6ec2e | ||
|
|
bc75902da1 | ||
|
|
81e40b988d | ||
|
|
b7d41c1c7f | ||
|
|
86cb254d1a | ||
|
|
7a303d6e31 | ||
|
|
d7cc7ab5e3 | ||
|
|
d48a64e208 | ||
|
|
6b70771884 | ||
|
|
cecfb1348d | ||
|
|
6ab961fa90 | ||
|
|
12ac12ff3f | ||
|
|
04fb399bc7 | ||
|
|
0edfd255fd | ||
|
|
440b73f696 | ||
|
|
d8072ee06e | ||
|
|
0ba9adcc88 | ||
|
|
ac90c2dd09 | ||
|
|
3bb0ab6295 | ||
|
|
18989e9435 | ||
|
|
b093d98d01 | ||
|
|
0bf19c8ac8 | ||
|
|
d58f765898 | ||
|
|
ce31b248eb | ||
|
|
5ae2a606e0 | ||
|
|
712b3a732a | ||
|
|
263ce50569 | ||
|
|
a0dbe9d8c6 | ||
|
|
43ea158fe7 | ||
|
|
315cc391ff | ||
|
|
2304581f90 | ||
|
|
1b129ac630 | ||
|
|
7dab9e3ae1 | ||
|
|
29d8617779 | ||
|
|
10b0f87182 | ||
|
|
33c3865da6 | ||
|
|
e89c6f50ae | ||
|
|
2a65977a44 | ||
|
|
9fe1b1d04a | ||
|
|
37e4b42b23 | ||
|
|
077e03ff0d | ||
|
|
af48d75522 | ||
|
|
032ee1eac7 | ||
|
|
483490bbd5 | ||
|
|
265dc25800 | ||
|
|
4968252491 | ||
|
|
4598220b2f | ||
|
|
c0bc7c2439 | ||
|
|
781827c6bf | ||
|
|
503e944c2d | ||
|
|
06d4c56a65 | ||
|
|
fd3405b392 | ||
|
|
d993a095a0 | ||
|
|
d10dcbc630 | ||
|
|
f8ed2ef40d | ||
|
|
057e598cbc | ||
|
|
40f5744a7b | ||
|
|
e84bdd5adf | ||
|
|
0b90dfd458 | ||
|
|
ea63e3247c | ||
|
|
7a5b65f5b8 | ||
|
|
43beb46221 | ||
|
|
09812fa81b | ||
|
|
56841a5ab3 | ||
|
|
820563dc4c | ||
|
|
08a7b91e11 | ||
|
|
e9cc5cc3e2 | ||
|
|
a7ec76f865 | ||
|
|
cdbc11c4b2 | ||
|
|
2f35823e1e | ||
|
|
96247a0101 | ||
|
|
816ff0eac5 | ||
|
|
dd883a2216 | ||
|
|
556198af72 | ||
|
|
e40ac7539c | ||
|
|
ed11b5ced9 | ||
|
|
bf851b5c67 | ||
|
|
2570dda066 | ||
|
|
05db1922d5 | ||
|
|
dcd6b35478 | ||
|
|
b2ebb8f1d9 | ||
|
|
38747d389c | ||
|
|
260d8d0dd8 | ||
|
|
ba927f877d | ||
|
|
872a0b3785 | ||
|
|
3bdc206ff7 | ||
|
|
6424a5c639 | ||
|
|
af2cd5cd7c | ||
|
|
95104571a6 | ||
|
|
daa788815f | ||
|
|
8350273ab1 | ||
|
|
1e62e8bf96 | ||
|
|
732199358a | ||
|
|
69eb7e1cba | ||
|
|
3638d8aabf | ||
|
|
9c772a09fc |
21
.github/ISSUE_TEMPLATE/bug.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE/bug.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
name: Bug
|
||||
about: Bug
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Description**:
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Reproduction Steps**:
|
||||
1.
|
||||
2.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
17
.github/ISSUE_TEMPLATE/feature.md
vendored
Normal file
17
.github/ISSUE_TEMPLATE/feature.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Feature
|
||||
about: Feature
|
||||
title: ''
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to an existing issue?**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
29
.github/workflows/go.yml
vendored
29
.github/workflows/go.yml
vendored
@@ -4,7 +4,7 @@ on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
@@ -12,19 +12,34 @@ jobs:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
go-version: '1.21'
|
||||
|
||||
- name: Build
|
||||
run: go build -v
|
||||
- name: Build Linux-amd64
|
||||
run: env GOOS=linux GOARCH=amd64 go build -v
|
||||
|
||||
- name: Upload artifacts
|
||||
- name: Upload Linux-amd64 artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Erupe
|
||||
name: Linux-amd64
|
||||
path: |
|
||||
./erupe-ce
|
||||
./config.json
|
||||
./www/
|
||||
./savedata/
|
||||
./bin/
|
||||
./bundled-schema/
|
||||
|
||||
- name: Build Windows-amd64
|
||||
run: env GOOS=windows GOARCH=amd64 go build -v
|
||||
|
||||
- name: Upload Windows-amd64 artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Windows-amd64
|
||||
path: |
|
||||
./erupe-ce.exe
|
||||
./config.json
|
||||
./www/
|
||||
./savedata/
|
||||
./bin/
|
||||
./RoadShopItems.csv
|
||||
./bundled-schema/
|
||||
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -2,12 +2,7 @@
|
||||
|
||||
www/jp/
|
||||
vendor/
|
||||
bin/*.bin
|
||||
bin/*.bak
|
||||
bin/quests/*.bin
|
||||
bin/questlists/*.bin
|
||||
bin/scenarios/*.bin
|
||||
bin/debug/*.bin
|
||||
*.bin
|
||||
savedata/*/
|
||||
*.exe
|
||||
*.lnk
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2019 The Erupe Developers from Einherjar Team
|
||||
Copyright (c) 2019 The Erupe Developers, The Erupe Developers from Einherjar Team, ZeruLight
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
41
README.md
41
README.md
@@ -1,7 +1,38 @@
|
||||
# Erupe Community Edition
|
||||
This is a community upload of a community project. The amount of people who worked on it is innumerous, and hard to keep track of. Credits to Andoryuuta, Fist's Team, the French Team, Mai's Team and many others. No matter the relations, these files will remain public and open source, free for all to use and modify.
|
||||
# Erupe
|
||||
|
||||
A pastebin with various links, tips, and FAQ: https://pastebin.com/QqAwZSTC
|
||||
## Client Compatiblity
|
||||
### Platforms
|
||||
- PC
|
||||
- PlayStation 3
|
||||
- PlayStation Vita
|
||||
- Wii U (Up to Z2)
|
||||
### Versions (ClientMode)
|
||||
- All versions after HR compression (G10-ZZ) have been tested extensively and have great functionality.
|
||||
- All versions available on Wii U (G3-Z2) have been tested and should have good functionality.
|
||||
- The second oldest found version is Forward.4 (FW.4), this version has basic functionality.
|
||||
- The oldest found version is Season 6.0 (S6.0), however functionality is very limited.
|
||||
|
||||
An upload for the quest and scenario files exists here: https://github.com/xl3lackout/MHFZ-Quest-Files
|
||||
(Over 300k+ files)
|
||||
If you have an **installed** copy of Monster Hunter Frontier on an old hard drive, **please** get in contact so we can archive it!
|
||||
|
||||
## Setup
|
||||
|
||||
If you are only looking to install Erupe, please use [a pre-compiled binary](https://github.com/ZeruLight/Erupe/releases/latest).
|
||||
|
||||
If you want to modify or compile Erupe yourself, please read on.
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Go](https://go.dev/dl/)
|
||||
- [PostgreSQL](https://www.postgresql.org/download/)
|
||||
|
||||
## Installation
|
||||
|
||||
1. Bring up a fresh database by using the [backup file attached with the latest release](https://github.com/ZeruLight/Erupe/releases/latest/download/SCHEMA.sql).
|
||||
2. Run each script under [patch-schema](./patch-schema) as they introduce newer schema.
|
||||
3. Edit [config.json](./config.json) such that the database password matches your PostgreSQL setup.
|
||||
4. Run `go build` or `go run .` to compile Erupe.
|
||||
|
||||
## Resources
|
||||
|
||||
- [Quest and Scenario Binary Files](https://files.catbox.moe/xf0l7w.7z)
|
||||
- [Mezeporta Square Discord](https://discord.gg/DnwcpXM488)
|
||||
|
||||
@@ -1,911 +0,0 @@
|
||||
10,6,1,2146,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,2,2147,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,3,2148,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,4,2149,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,5,2150,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,6,2151,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,7,2152,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,8,2153,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,9,2154,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,10,2155,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,11,4398,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,12,12460,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,13,12461,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,14,12462,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,15,12463,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,16,12464,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,17,12465,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,18,12466,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,19,12467,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,20,12468,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,21,12469,25,1,0,0,1,1,0,1,0,0
|
||||
10,6,22,15109,1000,1,0,0,1,1,0,1,0,0
|
||||
10,6,23,15110,1000,1,0,0,1,1,0,1,0,0
|
||||
10,6,24,2158,200,100,0,0,1,1,0,1,0,0
|
||||
10,6,25,12306,2,1,0,0,1,1,0,1,80,0
|
||||
10,6,26,12306,20000,10000,0,0,1,1,0,1,80,0
|
||||
10,4,27,11664,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,28,11665,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,29,11666,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,30,11667,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,31,11668,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,32,11669,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,33,11670,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,34,11671,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,35,11672,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,36,11673,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,37,11674,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,38,11675,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,39,11676,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,40,11677,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,41,11678,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,42,11679,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,43,11680,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,44,11681,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,45,11682,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,46,11683,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,47,11684,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,48,11685,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,49,11686,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,50,11687,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,51,11688,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,52,11689,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,53,11690,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,54,11691,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,55,11692,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,56,11693,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,57,11694,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,58,11695,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,59,11696,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,60,11697,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,61,12893,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,62,12894,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,63,12895,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,64,12896,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,65,12897,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,66,12898,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,67,12899,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,68,14337,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,69,14338,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,70,14339,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,71,14340,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,72,14341,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,73,14342,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,74,14343,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,75,14344,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,76,14345,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,77,9254,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,78,9255,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,79,9256,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,80,9257,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,81,9258,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,82,9259,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,83,9260,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,84,9261,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,85,9262,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,86,9263,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,87,9264,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,88,9265,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,89,9266,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,90,9267,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,91,9268,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,92,9269,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,93,9270,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,94,9271,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,95,9272,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,96,9273,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,97,9274,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,98,9275,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,99,9276,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,100,9277,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,101,9278,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,102,9279,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,103,9280,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,104,9281,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,105,9282,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,106,9283,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,107,9284,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,108,9285,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,109,9286,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,110,9287,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,111,9288,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,112,9289,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,113,9290,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,114,9291,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,115,9292,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,116,9293,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,117,9294,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,118,9295,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,119,9296,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,120,9297,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,121,9298,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,122,9299,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,123,9300,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,124,9301,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,125,13196,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,126,13197,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,127,13198,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,128,13199,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,129,15542,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,130,15543,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,131,15544,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,132,15545,10000,1,0,0,1,1,0,1,0,0
|
||||
10,4,133,13640,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,134,13641,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,135,13642,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,136,13643,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,137,13644,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,138,13645,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,139,13646,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,140,13647,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,141,13648,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,142,13649,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,143,13650,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,144,13651,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,145,13652,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,146,13653,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,147,13654,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,148,13655,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,149,13656,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,150,13657,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,151,13658,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,152,13659,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,153,13660,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,154,13661,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,155,13662,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,156,13663,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,157,13664,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,158,13665,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,159,13666,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,160,13667,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,161,13668,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,162,13669,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,163,13670,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,164,13671,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,165,13672,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,166,13673,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,167,13674,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,168,13675,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,169,13676,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,170,13677,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,171,13678,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,172,13679,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,173,13680,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,174,13681,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,175,13682,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,176,13683,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,177,13684,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,178,13685,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,179,13686,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,180,13687,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,181,13688,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,182,13689,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,183,13690,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,184,13691,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,185,15546,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,186,15547,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,187,15548,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,188,15549,20000,1,0,0,1,1,0,1,0,0
|
||||
10,4,189,16162,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,190,16163,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,191,16164,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,192,16165,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,193,16166,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,194,16167,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,195,16168,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,196,16169,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,197,16172,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,198,16173,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,199,16174,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,200,16175,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,201,16176,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,202,16177,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,203,16178,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,204,16179,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,205,16182,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,206,16183,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,207,16184,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,208,16185,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,209,16186,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,210,16187,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,211,16188,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,212,16189,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,213,16192,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,214,16193,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,215,16194,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,216,16195,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,217,16196,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,218,16197,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,219,16198,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,220,16199,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,221,16202,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,222,16203,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,223,16204,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,224,16205,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,225,16206,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,226,16207,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,227,16208,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,228,16209,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,229,16212,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,230,16213,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,231,16214,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,232,16215,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,233,16216,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,234,16217,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,235,16218,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,236,16219,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,237,16222,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,238,16223,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,239,16224,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,240,16225,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,241,16226,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,242,16227,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,243,16228,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,244,16229,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,245,16232,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,246,16233,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,247,16234,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,248,16235,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,249,16236,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,250,16237,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,251,16238,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,252,16239,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,253,16242,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,254,16243,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,255,16244,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,256,16245,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,257,16246,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,258,16247,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,259,16248,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,260,16249,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,261,16252,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,262,16253,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,263,16254,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,264,16255,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,265,16256,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,266,16257,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,267,16258,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,268,16259,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,269,16262,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,270,16263,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,271,16264,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,272,16265,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,273,16266,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,274,16267,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,275,16268,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,276,16269,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,277,16272,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,278,16273,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,279,16274,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,280,16275,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,281,16276,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,282,16277,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,283,16278,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,284,16279,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,285,16282,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,286,16283,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,287,16284,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,288,16285,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,289,16286,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,290,16287,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,291,16288,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,292,16289,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,293,16292,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,294,16293,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,295,16294,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,296,16295,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,297,16296,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,298,16297,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,299,16298,35000,1,0,0,1,1,0,1,0,0
|
||||
10,4,300,16299,35000,1,0,0,1,1,0,1,0,0
|
||||
10,8,301,14136,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,302,14137,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,303,14138,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,304,14139,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,305,14140,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,306,14141,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,307,14142,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,308,14143,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,309,14144,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,310,14145,15000,1,0,0,1,1,0,1,0,0
|
||||
10,8,311,14454,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,312,14455,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,313,14456,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,314,14457,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,315,14458,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,316,14459,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,317,14460,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,318,14461,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,319,14462,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,320,14463,30000,1,0,0,1,1,0,1,0,0
|
||||
10,8,321,12724,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,322,12725,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,323,12726,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,324,12727,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,325,12728,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,326,12729,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,327,12730,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,328,12731,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,329,12732,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,330,12733,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,331,12734,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,332,12735,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,333,12736,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,334,12737,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,335,12738,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,336,12739,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,337,12740,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,338,12741,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,339,12742,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,340,12743,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,341,12744,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,342,12745,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,343,12746,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,344,12747,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,345,12748,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,346,12749,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,347,12750,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,348,12751,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,349,12752,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,350,12753,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,351,15070,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,352,15071,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,353,15072,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,354,15073,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,355,15074,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,356,15075,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,357,15076,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,358,15077,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,359,15078,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,360,15079,50000,1,0,0,1,1,0,1,0,0
|
||||
10,8,361,15567,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,362,15568,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,363,15569,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,364,15570,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,365,15571,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,366,15572,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,367,15573,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,368,15574,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,369,15575,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,370,15576,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,371,15577,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,372,15578,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,373,15579,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,374,15580,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,375,15581,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,376,15582,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,377,15583,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,378,15584,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,379,15585,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,380,15586,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,381,15587,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,382,15588,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,383,15589,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,384,15590,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,385,15591,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,386,15592,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,387,15593,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,388,15594,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,389,15595,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,390,15596,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,391,15597,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,392,15598,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,393,15599,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,394,15600,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,395,15601,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,396,15602,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,397,15603,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,398,15604,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,399,15605,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,400,15606,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,401,15607,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,402,15608,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,403,15609,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,404,15610,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,405,15611,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,406,15612,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,407,15613,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,408,15614,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,409,15615,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,410,15616,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,411,15617,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,412,15618,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,413,15619,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,414,15620,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,415,15621,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,416,15622,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,417,15623,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,418,15624,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,419,15625,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,420,15626,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,421,15627,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,422,15628,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,423,15629,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,424,15630,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,425,15631,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,426,15632,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,427,15633,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,428,15634,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,429,15635,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,430,15636,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,431,15637,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,432,15638,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,433,15639,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,434,15640,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,435,15641,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,436,15642,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,437,15643,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,438,15644,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,439,15645,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,440,15646,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,441,15647,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,442,15648,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,443,15649,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,444,15650,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,445,15651,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,446,15652,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,447,15653,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,448,15654,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,449,15655,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,450,15656,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,451,15657,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,452,15658,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,453,15659,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,454,15660,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,455,15661,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,456,15662,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,457,15663,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,458,15664,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,459,15665,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,460,15666,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,461,15667,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,462,15668,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,463,15669,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,464,15670,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,465,15671,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,466,15672,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,467,15673,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,468,15674,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,469,15675,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,470,15676,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,471,15677,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,472,15678,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,473,15679,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,474,15680,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,475,15681,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,476,15682,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,477,15683,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,478,15684,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,479,15685,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,480,15686,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,481,15687,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,482,15688,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,483,15689,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,484,15690,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,485,15691,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,486,15692,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,487,15693,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,488,15694,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,489,15695,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,490,15696,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,491,15697,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,492,15698,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,493,15699,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,494,15700,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,495,15701,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,496,15702,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,497,15703,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,498,15704,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,499,15705,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,500,15706,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,501,15707,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,502,15708,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,503,15709,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,504,15710,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,505,15711,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,506,15712,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,507,15713,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,508,15714,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,509,15715,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,510,15716,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,511,15717,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,512,15718,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,513,15719,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,514,15720,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,515,15721,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,516,15722,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,517,15723,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,518,15724,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,519,15725,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,520,15726,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,521,15727,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,522,15728,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,523,15729,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,524,15730,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,525,15731,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,526,15732,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,527,15733,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,528,15734,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,529,15735,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,530,15736,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,531,15737,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,532,15738,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,533,15739,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,534,15740,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,535,15741,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,536,15742,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,537,15743,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,538,15744,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,539,15745,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,540,15746,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,541,15747,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,542,15748,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,543,15749,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,544,15750,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,545,15751,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,546,15752,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,547,15753,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,548,15754,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,549,15755,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,550,15756,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,551,15757,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,552,15758,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,553,15759,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,554,15760,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,555,15761,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,556,15762,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,557,15763,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,558,15764,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,559,15765,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,560,15766,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,561,15919,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,562,15920,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,563,15921,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,564,15922,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,565,15923,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,566,15924,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,567,15925,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,568,15926,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,569,15927,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,570,15928,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,571,15929,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,572,15930,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,573,15931,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,574,15932,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,575,15933,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,576,15934,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,577,15935,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,578,15936,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,579,15937,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,580,15938,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,581,15939,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,582,15940,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,583,15941,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,584,15942,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,585,15943,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,586,15944,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,587,15945,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,588,15946,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,589,15947,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,590,15948,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,591,15949,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,592,15950,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,593,15951,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,594,15952,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,595,15953,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,596,15954,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,597,15955,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,598,15956,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,599,15957,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,600,15958,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,601,15959,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,602,15960,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,603,15961,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,604,15962,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,605,15963,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,606,15964,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,607,15965,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,608,15966,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,609,15967,20000,1,0,0,1,1,0,1,0,0
|
||||
10,8,610,15968,20000,1,0,0,1,1,0,1,0,0
|
||||
10,7,611,13506,250,1,0,0,1,1,0,1,50,0
|
||||
10,7,612,15011,250,1,0,0,1,1,0,1,50,0
|
||||
10,7,613,13636,250,1,0,0,1,1,0,1,50,0
|
||||
10,7,614,1227,250,1,0,0,1,1,0,1,50,0
|
||||
10,7,615,15022,250,1,0,0,1,1,0,1,50,0
|
||||
10,8,616,4407,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,617,4408,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,618,4409,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,619,4410,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,620,4411,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,621,4412,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,622,4413,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,623,4414,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,624,4823,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,625,4824,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,626,4825,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,627,4826,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,628,4827,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,629,4828,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,630,4829,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,631,4830,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,632,5194,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,633,5195,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,634,5196,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,635,5197,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,636,5198,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,637,5199,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,638,5200,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,639,5201,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,640,13630,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,641,13631,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,642,13632,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,643,13633,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,644,13634,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,645,13635,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,646,15103,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,647,15104,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,648,15105,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,649,15106,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,650,15107,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,651,15108,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,652,16459,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,653,16460,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,654,16461,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,655,16462,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,656,16463,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,657,16464,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,658,16465,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,659,16466,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,660,16467,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,661,16468,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,662,16469,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,663,16470,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,664,16471,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,665,16472,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,666,13416,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,667,13417,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,668,13418,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,669,13419,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,670,13420,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,671,14283,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,672,14284,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,673,14285,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,674,14286,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,675,13182,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,676,13507,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,677,13981,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,678,14744,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,679,14893,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,680,15785,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,681,16419,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,682,11470,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,683,12512,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,684,12884,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,685,12513,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,686,12514,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,687,12515,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,688,12516,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,689,12517,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,690,12518,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,691,12519,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,692,12520,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,693,12521,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,694,8179,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,695,9704,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,696,15448,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,697,11162,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,698,11163,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,699,11164,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,700,11165,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,701,11661,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,702,11662,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,703,14639,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,704,13607,10,1,0,0,1,1,0,1,0,0
|
||||
10,7,705,15774,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,706,15775,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,707,11420,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,708,14704,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,709,13177,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,710,14191,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,711,13449,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,712,14192,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,713,15772,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,714,13791,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,715,14006,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,716,15768,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,717,14069,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,718,14124,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,719,15507,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,720,15508,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,721,14855,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,722,14894,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,723,16444,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,724,16445,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,725,12509,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,726,14126,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,727,15062,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,728,15063,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,729,14891,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,730,14895,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,731,14091,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,732,14092,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,733,14501,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,734,14506,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,735,15285,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,736,15286,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,737,16442,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,738,16443,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,739,15027,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,740,15028,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,741,13453,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,742,14193,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,743,13178,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,744,14194,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,745,16454,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,746,16455,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,747,15030,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,748,15031,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,749,13790,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,750,14005,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,751,14406,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,752,14413,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,753,16448,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,754,16449,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,755,12872,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,756,14187,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,757,14125,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,758,14500,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,759,14505,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,760,15118,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,761,15119,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,762,14662,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,763,14663,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,764,15771,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,765,9700,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,766,14498,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,767,14913,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,768,14914,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,769,13508,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,770,15115,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,771,15116,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,772,15113,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,773,15114,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,774,15222,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,775,15223,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,776,10750,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,777,14705,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,778,15027,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,779,15028,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,780,10380,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,781,15060,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,782,13963,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,783,14026,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,784,13964,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,785,14027,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,786,15064,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,787,15065,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,788,15524,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,789,15525,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,790,16450,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,791,16451,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,792,16344,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,793,16345,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,794,16342,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,795,16343,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,796,15220,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,797,15221,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,798,15066,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,799,15067,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,800,14089,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,801,14090,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,802,14195,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,803,14196,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,804,13965,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,805,14028,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,806,13508,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,807,13962,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,808,14314,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,809,13404,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,810,14188,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,811,14032,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,812,13960,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,813,15819,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,814,15820,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,815,10750,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,816,14705,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,817,14407,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,818,14414,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,819,16352,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,820,16353,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,821,14502,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,822,14507,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,823,10811,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,824,15061,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,825,15823,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,826,15824,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,827,15224,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,828,15225,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,829,14503,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,830,14510,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,831,15776,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,832,15777,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,833,15821,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,834,15822,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,835,14198,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,836,14197,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,837,16446,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,838,16447,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,839,14905,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,840,14907,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,841,14904,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,842,14906,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,843,14659,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,844,14660,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,845,13326,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,846,14416,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,847,13450,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,848,14031,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,849,16492,3000,1,0,0,1,1,0,1,100,0
|
||||
10,7,850,16493,3000,1,0,0,1,1,0,1,100,0
|
||||
10,8,851,1520,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,852,7011,1,1,0,0,1,1,0,1,0,0
|
||||
10,7,853,14299,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,854,14389,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,855,15177,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,856,14537,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,857,14758,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,858,14854,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,859,13974,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,860,15021,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,861,15111,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,862,15226,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,863,15773,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,864,15825,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,865,15827,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,866,16340,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,867,16341,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,868,16457,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,869,16458,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,870,11698,250,1,0,0,1,1,0,1,50,0
|
||||
10,7,871,11700,250,1,0,0,1,1,0,1,50,0
|
||||
10,8,872,4358,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,873,7981,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,874,7267,20,1,0,0,1,1,0,1,0,0
|
||||
10,8,875,9958,20,1,0,0,1,1,0,1,0,999
|
||||
10,8,876,1548,20,1,0,0,1,1,0,1,0,0
|
||||
10,8,877,1613,20,1,0,0,1,1,0,1,0,0
|
||||
10,8,878,1026,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,879,5380,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,880,11284,15,1,0,0,1,1,0,1,0,0
|
||||
10,8,881,11285,15,1,0,0,1,1,0,1,0,0
|
||||
10,8,882,11286,15,1,0,0,1,1,0,1,0,0
|
||||
10,8,883,10356,500,1,0,0,1,1,0,1,0,0
|
||||
10,8,884,12511,500,1,0,0,1,1,0,1,0,0
|
||||
10,8,885,13238,500,1,0,0,1,1,0,1,0,0
|
||||
10,8,886,1691,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,887,9708,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,888,11383,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,889,11382,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,890,11381,10,1,0,0,1,1,0,1,0,0
|
||||
10,7,891,16348,3000,1,0,0,1,1,0,1,100,0
|
||||
10,8,892,11386,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,893,5767,1,10000,0,0,1,1,0,1,0,0
|
||||
10,8,894,5765,1,10000,0,0,1,1,0,1,0,0
|
||||
10,8,895,5768,1,10000,0,0,1,1,0,1,0,0
|
||||
10,8,896,14444,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,897,14443,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,898,14445,10,1,0,0,1,1,0,1,0,0
|
||||
10,8,899,15068,500,1,0,0,1,1,0,1,20,0
|
||||
10,7,900,16532,1000,1,0,0,1,1,0,1,0,0
|
||||
10,8,901,100,1,10000,0,0,1,1,0,1,0,0
|
||||
10,8,902,11243,1,1,0,0,1,1,0,1,0,0
|
||||
10,8,903,101,1,10000,0,0,1,1,0,1,0,0
|
||||
10,7,904,14368,3000,1,0,0,1,1,0,1,50,0
|
||||
10,8,905,8943,1,20,0,0,1,1,0,1,0,0
|
||||
10,7,906,1622,3000,1,0,0,1,1,0,1,0,0
|
||||
10,8,907,8953,1,20,0,0,1,1,0,1,0,0
|
||||
10,8,908,13693,1,20,0,0,1,1,0,1,0,0
|
||||
10,8,909,8949,1,20,0,0,1,1,0,1,0,0
|
||||
10,8,910,8955,1,20,0,0,1,1,0,1,0,0
|
||||
10,7,911,16456,500,1,0,0,1,1,0,1,0,0
|
||||
|
0
bin/events/.gitkeep
Normal file
0
bin/events/.gitkeep
Normal file
@@ -1,16 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE questlists (
|
||||
ind int NOT NULL PRIMARY KEY,
|
||||
questlist bytea
|
||||
);
|
||||
|
||||
END;
|
||||
|
||||
INSERT INTO questlists (ind, questlist) VALUES ('0', pg_read_binary_file('c:\save\quest_0_0.bin'));
|
||||
INSERT INTO questlists (ind, questlist) VALUES ('42', pg_read_binary_file('c:\save\quest_42_2A.bin'));
|
||||
INSERT INTO questlists (ind, questlist) VALUES ('84', pg_read_binary_file('c:\save\quest_84_54.bin'));
|
||||
INSERT INTO questlists (ind, questlist) VALUES ('126', pg_read_binary_file('c:\save\quest_126_7E.bin'));
|
||||
INSERT INTO questlists (ind, questlist) VALUES ('168', pg_read_binary_file('c:\save\quest_168_A8.bin'));
|
||||
|
||||
|
||||
0
bin/quests/.gitkeep
Normal file
0
bin/quests/.gitkeep
Normal file
2372
bin/quests/desktop.ini
Normal file
2372
bin/quests/desktop.ini
Normal file
File diff suppressed because it is too large
Load Diff
0
bin/scenarios/.gitkeep
Normal file
0
bin/scenarios/.gitkeep
Normal file
45
bundled-schema/DivaShops.sql
Normal file
45
bundled-schema/DivaShops.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO public.shop_items
|
||||
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
|
||||
VALUES
|
||||
(8,5,1,30,10,0,0,0,0,10,0,0),
|
||||
(8,5,2,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,3,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,4,30,10,0,0,0,0,10,0,0),
|
||||
(8,5,5,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,6,80,10,0,0,0,1,10,0,0),
|
||||
(8,5,7,80,10,0,0,0,1,10,0,0),
|
||||
(8,5,8,80,10,0,0,0,1,10,0,0),
|
||||
(8,5,9,100,10,0,0,0,2,10,0,0),
|
||||
(8,5,10,100,10,0,0,0,2,10,0,0),
|
||||
(8,5,11,100,10,0,0,0,2,10,0,0),
|
||||
(8,5,12,100,10,0,0,0,2,10,0,0),
|
||||
(8,5,13,100,10,0,0,0,2,10,0,0),
|
||||
(8,5,14,200,10,0,0,0,2,10,0,0),
|
||||
(8,5,15,500,10,0,0,0,3,10,0,0),
|
||||
(8,5,16,1000,10,0,0,0,3,10,0,0),
|
||||
(8,5,20,30,10,0,0,0,0,10,0,0),
|
||||
(8,5,21,30,10,0,0,0,0,10,0,0),
|
||||
(8,5,22,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,23,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,24,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,25,80,10,0,0,0,1,10,0,0),
|
||||
(8,5,26,80,10,0,0,0,1,10,0,0),
|
||||
(8,5,27,500,10,0,0,1,3,10,0,0),
|
||||
(8,5,28,60,10,0,0,0,0,10,0,0),
|
||||
(8,5,29,60,10,299,0,0,0,10,0,0),
|
||||
(8,5,30,100,10,0,0,1,3,10,0,0),
|
||||
(8,5,31,80,10,299,0,0,1,10,0,0),
|
||||
(8,5,32,80,10,299,0,0,1,10,0,0),
|
||||
(8,5,33,80,10,299,0,0,1,10,0,0),
|
||||
(8,7,2209,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,2208,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,5113,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,3571,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,3572,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,3738,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,3737,400,1,299,0,0,2,5,0,0),
|
||||
(8,7,4399,400,1,299,0,0,2,5,0,0);
|
||||
|
||||
END;
|
||||
292
bundled-schema/EventQuests.sql
Normal file
292
bundled-schema/EventQuests.sql
Normal file
@@ -0,0 +1,292 @@
|
||||
BEGIN;
|
||||
|
||||
-- Ripped quests
|
||||
INSERT INTO public.event_quests (max_players, quest_type, quest_id, mark) VALUES
|
||||
(0,9,40060,0),
|
||||
(0,9,40079,0),
|
||||
(0,9,40080,0),
|
||||
(0,9,40081,0),
|
||||
(0,9,40133,0),
|
||||
(0,9,40134,0),
|
||||
(0,9,40135,0),
|
||||
(0,9,40136,0),
|
||||
(0,9,40137,0),
|
||||
(0,9,40138,0),
|
||||
(0,9,40142,0),
|
||||
(0,9,40143,0),
|
||||
(0,9,40161,0),
|
||||
(0,9,40162,0),
|
||||
(4,9,40173,0),
|
||||
(4,9,40174,0),
|
||||
(0,9,40201,0),
|
||||
(0,9,40218,0),
|
||||
(4,43,40236,1),
|
||||
(4,28,40241,1),
|
||||
(0,8,50534,0),
|
||||
(4,18,50852,1),
|
||||
(4,18,50940,1),
|
||||
(4,18,51024,1),
|
||||
(4,18,51025,1),
|
||||
(4,18,51026,1),
|
||||
(4,18,51027,1),
|
||||
(4,38,51052,9),
|
||||
(4,38,51053,9),
|
||||
(4,18,51059,1),
|
||||
(4,38,51107,9),
|
||||
(4,24,51125,0),
|
||||
(1,24,51126,0),
|
||||
(4,24,51127,0),
|
||||
(4,24,51128,0),
|
||||
(4,24,51129,0),
|
||||
(4,26,53034,1),
|
||||
(4,18,53140,1),
|
||||
(4,18,53187,1),
|
||||
(4,18,53201,1),
|
||||
(1,18,53253,1),
|
||||
(4,26,53307,1),
|
||||
(4,24,53314,0),
|
||||
(4,24,53315,0),
|
||||
(4,24,53316,0),
|
||||
(4,24,53317,0),
|
||||
(4,24,53318,0),
|
||||
(4,24,53319,0),
|
||||
(4,24,53320,0),
|
||||
(4,24,53321,0),
|
||||
(4,24,53324,0),
|
||||
(1,18,53326,2),
|
||||
(4,31,54244,0),
|
||||
(0,8,54425,0),
|
||||
(4,28,54449,1),
|
||||
(4,28,54593,1),
|
||||
(4,28,54594,1),
|
||||
(4,28,54603,1),
|
||||
(4,28,54604,1),
|
||||
(4,28,54605,1),
|
||||
(4,28,54606,1),
|
||||
(1,28,54608,0),
|
||||
(1,28,54609,0),
|
||||
(32,40,54751,0),
|
||||
(32,40,54752,0),
|
||||
(32,40,54753,0),
|
||||
(32,40,54754,0),
|
||||
(32,40,54755,0),
|
||||
(32,40,54756,0),
|
||||
(32,40,54757,0),
|
||||
(32,40,54758,0),
|
||||
(32,40,54759,0),
|
||||
(32,40,54760,0),
|
||||
(32,40,54761,0),
|
||||
(4,28,54801,0),
|
||||
(4,28,55002,1),
|
||||
(4,28,55195,0),
|
||||
(4,28,55202,0),
|
||||
(4,28,55203,0),
|
||||
(4,28,55204,0),
|
||||
(0,8,55369,0),
|
||||
(4,28,55464,1),
|
||||
(4,43,55513,1),
|
||||
(4,28,55529,0),
|
||||
(4,28,55532,0),
|
||||
(1,28,55536,0),
|
||||
(1,28,55537,0),
|
||||
(32,50,55596,0),
|
||||
(32,50,55597,0),
|
||||
(32,50,55598,0),
|
||||
(32,50,55599,0),
|
||||
(32,50,55601,0),
|
||||
(32,50,55602,0),
|
||||
(32,50,55603,0),
|
||||
(32,50,55604,0),
|
||||
(32,50,55605,0),
|
||||
(32,50,55606,0),
|
||||
(32,50,55607,0),
|
||||
(4,28,55619,0),
|
||||
(4,28,55670,1),
|
||||
(4,39,55679,9),
|
||||
(4,39,55680,9),
|
||||
(4,43,55691,1),
|
||||
(4,43,55692,1),
|
||||
(4,43,55693,1),
|
||||
(4,43,55694,1),
|
||||
(4,43,55695,1),
|
||||
(4,43,55696,1),
|
||||
(4,43,55697,1),
|
||||
(4,43,55698,1),
|
||||
(1,43,55728,1),
|
||||
(4,43,55738,1),
|
||||
(0,8,55767,0),
|
||||
(0,8,55768,0),
|
||||
(4,28,55771,1),
|
||||
(4,39,55772,9),
|
||||
(8,51,55796,0),
|
||||
(8,51,55797,0),
|
||||
(8,51,55798,0),
|
||||
(8,51,55799,0),
|
||||
(8,51,55801,0),
|
||||
(8,51,55802,0),
|
||||
(8,51,55803,0),
|
||||
(8,51,55804,0),
|
||||
(8,51,55805,0),
|
||||
(8,51,55806,0),
|
||||
(8,51,55807,0),
|
||||
(1,28,55808,0),
|
||||
(0,8,55870,0),
|
||||
(0,8,55872,0),
|
||||
(0,8,55879,0),
|
||||
(0,8,55880,0),
|
||||
(0,8,55881,0),
|
||||
(0,8,55882,0),
|
||||
(4,28,55896,1),
|
||||
(0,8,55897,0),
|
||||
(0,8,55899,0),
|
||||
(0,8,55901,0),
|
||||
(0,8,55902,0),
|
||||
(0,8,55903,0),
|
||||
(0,8,55904,0),
|
||||
(0,8,55905,0),
|
||||
(0,8,55906,0),
|
||||
(0,8,55907,0),
|
||||
(0,8,55908,0),
|
||||
(0,8,55909,0),
|
||||
(0,8,55910,0),
|
||||
(0,8,55911,0),
|
||||
(0,8,55912,0),
|
||||
(4,39,55916,9),
|
||||
(4,39,55917,9),
|
||||
(4,39,55918,9),
|
||||
(4,39,55919,9),
|
||||
(4,28,55920,0),
|
||||
(4,39,55921,9),
|
||||
(4,39,55922,9),
|
||||
(4,43,55923,1),
|
||||
(4,43,55924,1),
|
||||
(4,43,55925,1),
|
||||
(4,43,55926,1),
|
||||
(4,43,55929,1),
|
||||
(4,43,55930,1),
|
||||
(4,43,55931,1),
|
||||
(4,43,55932,1),
|
||||
(4,28,55935,0),
|
||||
(4,28,55936,0),
|
||||
(4,28,55937,0),
|
||||
(4,28,55938,0),
|
||||
(4,28,55939,0),
|
||||
(4,28,55948,0),
|
||||
(4,28,55949,0),
|
||||
(4,28,55950,0),
|
||||
(4,28,55951,0),
|
||||
(1,28,55963,0),
|
||||
(4,28,55964,1),
|
||||
(4,28,55967,1),
|
||||
(4,43,56042,1),
|
||||
(4,43,56056,1),
|
||||
(4,43,56058,1),
|
||||
(4,43,56059,1),
|
||||
(4,43,56063,1),
|
||||
(4,43,56064,1),
|
||||
(4,43,56076,4),
|
||||
(4,43,56077,4),
|
||||
(4,43,56078,4),
|
||||
(4,43,56079,4),
|
||||
(4,43,56080,4),
|
||||
(4,43,56125,1),
|
||||
(4,24,56134,0),
|
||||
(4,24,56135,0),
|
||||
(4,24,56138,0),
|
||||
(4,24,56139,0),
|
||||
(4,24,56141,0),
|
||||
(4,24,56142,0),
|
||||
(4,28,56143,1),
|
||||
(4,43,56144,1),
|
||||
(4,43,56145,1),
|
||||
(0,8,56146,0),
|
||||
(4,28,56147,1),
|
||||
(4,24,56148,0),
|
||||
(1,24,56149,0),
|
||||
(4,43,56150,1),
|
||||
(4,43,56151,1),
|
||||
(4,43,56154,1),
|
||||
(4,43,56155,1),
|
||||
(4,43,56156,1),
|
||||
(4,28,56157,1),
|
||||
(1,28,56158,1),
|
||||
(4,28,56159,1),
|
||||
(4,48,58043,1),
|
||||
(4,46,58050,0),
|
||||
(4,46,58051,0),
|
||||
(4,46,58052,0),
|
||||
(4,46,58053,0),
|
||||
(4,46,58054,0),
|
||||
(4,46,58055,0),
|
||||
(4,46,58056,0),
|
||||
(4,46,58057,0),
|
||||
(4,46,58058,0),
|
||||
(4,46,58059,0),
|
||||
(4,46,58060,0),
|
||||
(4,46,58061,0),
|
||||
(4,46,58062,0),
|
||||
(4,46,58063,0),
|
||||
(4,46,58064,0),
|
||||
(4,46,58065,0),
|
||||
(4,46,58066,0),
|
||||
(4,46,58067,0),
|
||||
(4,46,58068,0),
|
||||
(4,46,58069,0),
|
||||
(4,46,58070,0),
|
||||
(4,46,58071,0),
|
||||
(4,46,58072,0),
|
||||
(4,46,58074,0),
|
||||
(4,46,58075,0),
|
||||
(4,46,58076,0),
|
||||
(4,46,58077,0),
|
||||
(4,46,58078,0),
|
||||
(4,47,58079,0),
|
||||
(4,47,58080,0),
|
||||
(4,47,58081,0),
|
||||
(4,47,58082,0),
|
||||
(4,47,58083,0),
|
||||
(4,46,58088,0),
|
||||
(4,46,58089,0),
|
||||
(4,46,58090,0),
|
||||
(4,46,58091,0),
|
||||
(4,46,58096,0),
|
||||
(4,46,58097,0),
|
||||
(4,46,58098,0),
|
||||
(4,46,58099,0),
|
||||
(4,46,58101,0),
|
||||
(4,46,58102,1),
|
||||
(4,46,58103,1),
|
||||
(4,46,58104,1),
|
||||
(4,46,58105,1),
|
||||
(4,46,58106,1),
|
||||
(4,46,58107,1),
|
||||
(4,46,58108,1),
|
||||
(4,46,58109,1),
|
||||
(4,46,58112,1),
|
||||
(4,46,58113,1),
|
||||
(4,46,58114,1),
|
||||
(4,46,58115,1),
|
||||
(4,46,58118,0),
|
||||
(4,46,58119,0),
|
||||
(4,46,58120,0),
|
||||
(4,46,58121,0),
|
||||
(4,46,58122,0),
|
||||
(4,46,58123,0),
|
||||
(4,46,58125,1),
|
||||
(4,46,58126,1),
|
||||
(4,46,58127,1),
|
||||
(4,46,58128,1),
|
||||
(4,13,61050,0),
|
||||
(4,13,61051,0),
|
||||
(4,13,61053,0),
|
||||
(4,13,61055,0),
|
||||
(2,13,61067,0),
|
||||
(4,13,61068,0),
|
||||
(2,13,61070,0),
|
||||
(4,13,61071,0),
|
||||
(8,22,62101,0),
|
||||
(8,16,62104,0),
|
||||
(8,16,62105,0),
|
||||
(8,16,62108,0),
|
||||
(1,18,62910,1);
|
||||
END;
|
||||
391
bundled-schema/FPointItems.sql
Normal file
391
bundled-schema/FPointItems.sql
Normal file
@@ -0,0 +1,391 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO fpoint_items (item_type, item_id, quantity, fpoints, trade_type) VALUES
|
||||
(7,8895,1,500,0),
|
||||
(7,8891,1,300,0),
|
||||
(7,8892,1,300,0),
|
||||
(7,8893,1,300,0),
|
||||
(7,8894,1,300,0),
|
||||
(7,8890,1,10,0),
|
||||
(7,10354,1,500,0),
|
||||
(7,11983,1,300,0),
|
||||
(7,11984,1,300,0),
|
||||
(7,11985,1,300,0),
|
||||
(7,11986,1,300,0),
|
||||
(7,12524,1,500,0),
|
||||
(7,12470,1,300,0),
|
||||
(7,12471,1,300,0),
|
||||
(7,12472,1,300,0),
|
||||
(7,12473,1,300,0),
|
||||
(7,2158,2,1,0),
|
||||
(7,14548,1,500,0),
|
||||
(7,9509,1,1,0),
|
||||
(7,9510,1,1,0),
|
||||
(7,9511,1,1,0),
|
||||
(7,9512,1,1,0),
|
||||
(7,9513,1,1,0),
|
||||
(7,9514,1,1,0),
|
||||
(7,9515,1,1,0),
|
||||
(7,10753,1,1,0),
|
||||
(7,10754,1,1,0),
|
||||
(7,10755,1,1,0),
|
||||
(7,10756,1,1,0),
|
||||
(7,10757,1,1,0),
|
||||
(7,10758,1,1,0),
|
||||
(7,10759,1,1,0),
|
||||
(7,11296,1,1,0),
|
||||
(7,11297,1,1,0),
|
||||
(7,11298,1,1,0),
|
||||
(7,11299,1,1,0),
|
||||
(7,11300,1,1,0),
|
||||
(7,12386,1,1,0),
|
||||
(7,12387,1,1,0),
|
||||
(7,12388,1,1,0),
|
||||
(7,12389,1,1,0),
|
||||
(7,12390,1,1,0),
|
||||
(7,13034,1,1,0),
|
||||
(7,13035,1,1,0),
|
||||
(7,13036,1,1,0),
|
||||
(7,13037,1,1,0),
|
||||
(7,13038,1,1,0),
|
||||
(7,14179,1,1,0),
|
||||
(7,14180,1,1,0),
|
||||
(7,14181,1,1,0),
|
||||
(7,14182,1,1,0),
|
||||
(7,14183,1,1,0),
|
||||
(7,13422,1,1,0),
|
||||
(7,13423,1,1,0),
|
||||
(7,13424,1,1,0),
|
||||
(7,13425,1,1,0),
|
||||
(7,13426,1,1,0),
|
||||
(7,13427,1,1,0),
|
||||
(7,9796,1,3,0),
|
||||
(7,9700,1,3,0),
|
||||
(7,10380,1,3,0),
|
||||
(7,10810,1,3,0),
|
||||
(7,10811,1,3,0),
|
||||
(7,11436,1,3,0),
|
||||
(7,9509,1,1,0),
|
||||
(7,9510,1,1,0),
|
||||
(7,9511,1,1,0),
|
||||
(7,9512,1,1,0),
|
||||
(7,9513,1,1,0),
|
||||
(7,9514,1,1,0),
|
||||
(7,9515,1,1,0),
|
||||
(7,10753,1,1,0),
|
||||
(7,10754,1,1,0),
|
||||
(7,10755,1,1,0),
|
||||
(7,10756,1,1,0),
|
||||
(7,10757,1,1,0),
|
||||
(7,10758,1,1,0),
|
||||
(7,10759,1,1,0),
|
||||
(7,11296,1,1,0),
|
||||
(7,11297,1,1,0),
|
||||
(7,11298,1,1,0),
|
||||
(7,11299,1,1,0),
|
||||
(7,11300,1,1,0),
|
||||
(7,12509,1,3,0),
|
||||
(7,12386,1,1,0),
|
||||
(7,12387,1,1,0),
|
||||
(7,12388,1,1,0),
|
||||
(7,12389,1,1,0),
|
||||
(7,12390,1,1,0),
|
||||
(7,12872,1,3,0),
|
||||
(7,12873,1,3,0),
|
||||
(7,12840,1,1,0),
|
||||
(7,12841,1,1,0),
|
||||
(7,12874,1,1,0),
|
||||
(7,12875,1,1,0),
|
||||
(7,13191,1,3,0),
|
||||
(7,13177,1,3,0),
|
||||
(7,13326,1,3,0),
|
||||
(7,13034,1,1,0),
|
||||
(7,13035,1,1,0),
|
||||
(7,13036,1,1,0),
|
||||
(7,13037,1,1,0),
|
||||
(7,13038,1,1,0),
|
||||
(7,13178,1,3,0),
|
||||
(7,13453,1,3,0),
|
||||
(7,13449,1,3,0),
|
||||
(7,13450,1,3,0),
|
||||
(7,13404,1,3,0),
|
||||
(7,13422,1,1,0),
|
||||
(7,13423,1,1,0),
|
||||
(7,13424,1,1,0),
|
||||
(7,13425,1,1,0),
|
||||
(7,13426,1,1,0),
|
||||
(7,13427,1,1,0),
|
||||
(7,13791,1,3,0),
|
||||
(7,14006,1,3,0),
|
||||
(7,14031,1,3,0),
|
||||
(7,14032,1,3,0),
|
||||
(7,13960,1,3,0),
|
||||
(7,14029,1,3,0),
|
||||
(7,13956,1,1,0),
|
||||
(7,13958,1,1,0),
|
||||
(7,13957,1,1,0),
|
||||
(7,13959,1,1,0),
|
||||
(7,13790,1,3,0),
|
||||
(7,14005,1,3,0),
|
||||
(7,14010,1,3,0),
|
||||
(7,14009,1,3,0),
|
||||
(7,14008,1,3,0),
|
||||
(7,13965,1,3,0),
|
||||
(7,14028,1,3,0),
|
||||
(7,13963,1,3,0),
|
||||
(7,14026,1,3,0),
|
||||
(7,13964,1,3,0),
|
||||
(7,14027,1,3,0),
|
||||
(7,14069,1,3,0),
|
||||
(7,14124,1,3,0),
|
||||
(7,14065,1,1,0),
|
||||
(7,14066,1,1,0),
|
||||
(7,14067,1,1,0),
|
||||
(7,14068,1,1,0),
|
||||
(7,13962,1,3,0),
|
||||
(7,14125,1,3,0),
|
||||
(7,14089,1,3,0),
|
||||
(7,14090,1,3,0),
|
||||
(7,14091,1,3,0),
|
||||
(7,14092,1,3,0),
|
||||
(7,14194,1,3,0),
|
||||
(7,14191,1,3,0),
|
||||
(7,14198,1,3,0),
|
||||
(7,14197,1,3,0),
|
||||
(7,14179,1,1,0),
|
||||
(7,14180,1,1,0),
|
||||
(7,14181,1,1,0),
|
||||
(7,14182,1,1,0),
|
||||
(7,14183,1,1,0),
|
||||
(7,14196,1,3,0),
|
||||
(7,14195,1,3,0),
|
||||
(7,14193,1,3,0),
|
||||
(7,14192,1,3,0),
|
||||
(7,14407,1,3,0),
|
||||
(7,14414,1,3,0),
|
||||
(7,14406,1,3,0),
|
||||
(7,14413,1,3,0),
|
||||
(7,14416,1,3,0),
|
||||
(7,14549,1,3,0),
|
||||
(7,14550,1,3,0),
|
||||
(7,14502,1,3,0),
|
||||
(7,14507,1,3,0),
|
||||
(7,14501,1,3,0),
|
||||
(7,14506,1,3,0),
|
||||
(7,14500,1,3,0),
|
||||
(7,14505,1,3,0),
|
||||
(7,14498,1,3,0),
|
||||
(7,14659,1,3,0),
|
||||
(7,14660,1,3,0),
|
||||
(7,14657,1,1,0),
|
||||
(7,14658,1,1,0),
|
||||
(7,11420,1,3,0),
|
||||
(7,14704,1,3,0),
|
||||
(7,11288,1,1,0),
|
||||
(7,11289,1,1,0),
|
||||
(7,11290,1,1,0),
|
||||
(7,11291,1,1,0),
|
||||
(7,10750,1,3,0),
|
||||
(7,14705,1,3,0),
|
||||
(7,10633,1,1,0),
|
||||
(7,10634,1,1,0),
|
||||
(7,10635,1,1,0),
|
||||
(7,10636,1,1,0),
|
||||
(7,14662,1,3,0),
|
||||
(7,14663,1,3,0),
|
||||
(7,14665,1,3,0),
|
||||
(7,14666,1,3,0),
|
||||
(7,14667,1,3,0),
|
||||
(7,14668,1,3,0),
|
||||
(7,14669,1,3,0),
|
||||
(7,14670,1,3,0),
|
||||
(7,14671,1,3,0),
|
||||
(7,14672,1,3,0),
|
||||
(7,14673,1,3,0),
|
||||
(7,14674,1,3,0),
|
||||
(7,14675,1,3,0),
|
||||
(7,14676,1,3,0),
|
||||
(7,14677,1,3,0),
|
||||
(7,14678,1,3,0),
|
||||
(7,14679,1,3,0),
|
||||
(7,14680,1,3,0),
|
||||
(7,14681,1,3,0),
|
||||
(7,14682,1,3,0),
|
||||
(7,14683,1,3,0),
|
||||
(7,14684,1,3,0),
|
||||
(7,14685,1,3,0),
|
||||
(7,14686,1,3,0),
|
||||
(7,14687,1,3,0),
|
||||
(7,14688,1,3,0),
|
||||
(7,14689,1,3,0),
|
||||
(7,14690,1,3,0),
|
||||
(7,14691,1,3,0),
|
||||
(7,14692,1,3,0),
|
||||
(7,14693,1,3,0),
|
||||
(7,14694,1,3,0),
|
||||
(7,14695,1,3,0),
|
||||
(7,14696,1,3,0),
|
||||
(7,14697,1,3,0),
|
||||
(7,14698,1,3,0),
|
||||
(7,14699,1,3,0),
|
||||
(7,14700,1,3,0),
|
||||
(7,14314,1,3,0),
|
||||
(7,14503,1,3,0),
|
||||
(7,14510,1,3,0),
|
||||
(7,14904,1,3,0),
|
||||
(7,14906,1,3,0),
|
||||
(7,14910,1,1,0),
|
||||
(7,14912,1,1,0),
|
||||
(7,14905,1,3,0),
|
||||
(7,14907,1,3,0),
|
||||
(7,14911,1,1,0),
|
||||
(7,14909,1,1,0),
|
||||
(7,14855,1,3,0),
|
||||
(7,14894,1,3,0),
|
||||
(7,14913,1,3,0),
|
||||
(7,14914,1,3,0),
|
||||
(7,14891,1,3,0),
|
||||
(7,14895,1,3,0),
|
||||
(7,15027,1,3,0),
|
||||
(7,15028,1,3,0),
|
||||
(7,15026,1,1,0),
|
||||
(7,15025,1,1,0),
|
||||
(7,15024,1,1,0),
|
||||
(7,15023,1,1,0),
|
||||
(7,15064,1,3,0),
|
||||
(7,15065,1,3,0),
|
||||
(7,15030,1,3,0),
|
||||
(7,15031,1,3,0),
|
||||
(7,15062,1,3,0),
|
||||
(7,15063,1,3,0),
|
||||
(7,15066,1,3,0),
|
||||
(7,15067,1,3,0),
|
||||
(7,15061,1,3,0),
|
||||
(7,15060,1,3,0),
|
||||
(7,1227,1,2,0),
|
||||
(7,13176,1,2,0),
|
||||
(7,4360,1,2,0),
|
||||
(7,4358,1,1,0),
|
||||
(7,15118,1,3,0),
|
||||
(7,15119,1,3,0),
|
||||
(7,15113,1,3,0),
|
||||
(7,15114,1,3,0),
|
||||
(7,15115,1,3,0),
|
||||
(7,15116,1,3,0),
|
||||
(7,15220,1,3,0),
|
||||
(7,15221,1,3,0),
|
||||
(7,14126,1,3,0),
|
||||
(7,15222,1,3,0),
|
||||
(7,15223,1,3,0),
|
||||
(7,15224,1,3,0),
|
||||
(7,15225,1,3,0),
|
||||
(7,15524,1,3,0),
|
||||
(7,15525,1,3,0),
|
||||
(7,15507,1,3,0),
|
||||
(7,15508,1,3,0),
|
||||
(7,15285,1,3,0),
|
||||
(7,15286,1,3,0),
|
||||
(7,15281,1,1,0),
|
||||
(7,15282,1,1,0),
|
||||
(7,15283,1,1,0),
|
||||
(7,15284,1,1,0),
|
||||
(7,15776,1,3,0),
|
||||
(7,15777,1,3,0),
|
||||
(7,15774,1,3,0),
|
||||
(7,15775,1,3,0),
|
||||
(7,15823,1,3,0),
|
||||
(7,15824,1,3,0),
|
||||
(7,15343,1,3,0),
|
||||
(7,15342,1,3,0),
|
||||
(7,15341,1,3,0),
|
||||
(7,15340,1,3,0),
|
||||
(7,15339,1,3,0),
|
||||
(7,15338,1,3,0),
|
||||
(7,15337,1,3,0),
|
||||
(7,15336,1,3,0),
|
||||
(7,15335,1,3,0),
|
||||
(7,15334,1,3,0),
|
||||
(7,15333,1,3,0),
|
||||
(7,15332,1,3,0),
|
||||
(7,15331,1,3,0),
|
||||
(7,15330,1,3,0),
|
||||
(7,15329,1,3,0),
|
||||
(7,15328,1,3,0),
|
||||
(7,15327,1,3,0),
|
||||
(7,15326,1,3,0),
|
||||
(7,15325,1,3,0),
|
||||
(7,15324,1,3,0),
|
||||
(7,15323,1,3,0),
|
||||
(7,15322,1,3,0),
|
||||
(7,15321,1,3,0),
|
||||
(7,15314,1,3,0),
|
||||
(7,15312,1,3,0),
|
||||
(7,15311,1,3,0),
|
||||
(7,15306,1,3,0),
|
||||
(7,15307,1,3,0),
|
||||
(7,15308,1,3,0),
|
||||
(7,15309,1,3,0),
|
||||
(7,15310,1,3,0),
|
||||
(7,15305,1,3,0),
|
||||
(7,15304,1,3,0),
|
||||
(7,15303,1,3,0),
|
||||
(7,15302,1,3,0),
|
||||
(7,15301,1,3,0),
|
||||
(7,15300,1,3,0),
|
||||
(7,15299,1,3,0),
|
||||
(7,15298,1,3,0),
|
||||
(7,15297,1,3,0),
|
||||
(7,15296,1,3,0),
|
||||
(7,15295,1,3,0),
|
||||
(7,15293,1,3,0),
|
||||
(7,15294,1,3,0),
|
||||
(7,15292,1,3,0),
|
||||
(7,15291,1,3,0),
|
||||
(7,15290,1,3,0),
|
||||
(7,15289,1,3,0),
|
||||
(7,15315,1,3,0),
|
||||
(7,15316,1,3,0),
|
||||
(7,15317,1,3,0),
|
||||
(7,15318,1,3,0),
|
||||
(7,15319,1,3,0),
|
||||
(7,15320,1,3,0),
|
||||
(7,15819,1,3,0),
|
||||
(7,15820,1,3,0),
|
||||
(7,15821,1,3,0),
|
||||
(7,15822,1,3,0),
|
||||
(7,16450,1,3,0),
|
||||
(7,16451,1,3,0),
|
||||
(7,16459,1,1,0),
|
||||
(7,16460,1,1,0),
|
||||
(7,16461,1,1,0),
|
||||
(7,16462,1,1,0),
|
||||
(7,16463,1,1,0),
|
||||
(7,16464,1,1,0),
|
||||
(7,16465,1,1,0),
|
||||
(7,16466,1,1,0),
|
||||
(7,16467,1,1,0),
|
||||
(7,16468,1,1,0),
|
||||
(7,16469,1,1,0),
|
||||
(7,16470,1,1,0),
|
||||
(7,16471,1,1,0),
|
||||
(7,16472,1,1,0),
|
||||
(7,16454,1,3,0),
|
||||
(7,16455,1,3,0),
|
||||
(7,16442,1,3,0),
|
||||
(7,16443,1,3,0),
|
||||
(7,16342,1,3,0),
|
||||
(7,16343,1,3,0),
|
||||
(7,16444,1,3,0),
|
||||
(7,16445,1,3,0),
|
||||
(7,16344,1,3,0),
|
||||
(7,16345,1,3,0),
|
||||
(7,16352,1,3,0),
|
||||
(7,16353,1,3,0),
|
||||
(7,16446,1,3,0),
|
||||
(7,16447,1,3,0),
|
||||
(7,16448,1,3,0),
|
||||
(7,16449,1,3,0),
|
||||
(7,16348,1,3,0),
|
||||
(7,16349,1,3,0);
|
||||
|
||||
END;
|
||||
260
bundled-schema/FestaDefaults.sql
Normal file
260
bundled-schema/FestaDefaults.sql
Normal file
@@ -0,0 +1,260 @@
|
||||
BEGIN;
|
||||
|
||||
-- Ripped prizes
|
||||
INSERT INTO public.festa_prizes
|
||||
(type, tier, souls_req, item_id, num_item)
|
||||
VALUES
|
||||
('personal', 1, 1, 9647, 7),
|
||||
('personal', 2, 1, 9647, 7),
|
||||
('personal', 3, 1, 9647, 7),
|
||||
('personal', 1, 200, 11284, 4),
|
||||
('personal', 2, 200, 11284, 4),
|
||||
('personal', 3, 200, 11284, 4),
|
||||
('personal', 1, 400, 11381, 3),
|
||||
('personal', 2, 400, 11381, 3),
|
||||
('personal', 3, 400, 11381, 3),
|
||||
('personal', 1, 600, 11284, 8),
|
||||
('personal', 2, 600, 11284, 8),
|
||||
('personal', 3, 600, 11284, 8),
|
||||
('personal', 1, 800, 11384, 3),
|
||||
('personal', 2, 800, 11384, 3),
|
||||
('personal', 3, 800, 11384, 3),
|
||||
('personal', 1, 1000, 11284, 12),
|
||||
('personal', 2, 1000, 11284, 12),
|
||||
('personal', 3, 1000, 11284, 12),
|
||||
('personal', 1, 1200, 11381, 5),
|
||||
('personal', 2, 1200, 11381, 5),
|
||||
('personal', 3, 1200, 11381, 5),
|
||||
('personal', 1, 1400, 11284, 16),
|
||||
('personal', 2, 1400, 11284, 16),
|
||||
('personal', 3, 1400, 11284, 16),
|
||||
('personal', 1, 1700, 11384, 5),
|
||||
('personal', 2, 1700, 11384, 5),
|
||||
('personal', 3, 1700, 11384, 5),
|
||||
('personal', 1, 2000, 11284, 16),
|
||||
('personal', 2, 2000, 11284, 16),
|
||||
('personal', 3, 2000, 11284, 16),
|
||||
('personal', 1, 2500, 11382, 4),
|
||||
('personal', 2, 2500, 11382, 4),
|
||||
('personal', 3, 2500, 11382, 4),
|
||||
('personal', 1, 3000, 11284, 24),
|
||||
('personal', 2, 3000, 11284, 24),
|
||||
('personal', 3, 3000, 11284, 24),
|
||||
('personal', 1, 4000, 11385, 4),
|
||||
('personal', 2, 4000, 11385, 4),
|
||||
('personal', 3, 4000, 11385, 4),
|
||||
('personal', 1, 5000, 11381, 11),
|
||||
('personal', 2, 5000, 11381, 11),
|
||||
('personal', 3, 5000, 11381, 11),
|
||||
('personal', 1, 6000, 5177, 5),
|
||||
('personal', 2, 6000, 5177, 5),
|
||||
('personal', 3, 6000, 5177, 5),
|
||||
('personal', 1, 7000, 11384, 11),
|
||||
('personal', 2, 7000, 11384, 11),
|
||||
('personal', 3, 7000, 11384, 11),
|
||||
('personal', 1, 10000, 11382, 8),
|
||||
('personal', 2, 10000, 11382, 8),
|
||||
('personal', 3, 10000, 11382, 8),
|
||||
('personal', 1, 15000, 11385, 4),
|
||||
('personal', 2, 15000, 11385, 4),
|
||||
('personal', 3, 15000, 11385, 4),
|
||||
('personal', 1, 20000, 11381, 13),
|
||||
('personal', 2, 20000, 11381, 13),
|
||||
('personal', 3, 20000, 11381, 13),
|
||||
('personal', 1, 25000, 11385, 4),
|
||||
('personal', 2, 25000, 11385, 4),
|
||||
('personal', 3, 25000, 11385, 4),
|
||||
('personal', 1, 30000, 11383, 1),
|
||||
('personal', 2, 30000, 11383, 1),
|
||||
('personal', 3, 30000, 11383, 1);
|
||||
|
||||
INSERT INTO public.festa_prizes
|
||||
(type, tier, souls_req, item_id, num_item)
|
||||
VALUES
|
||||
('guild', 1, 100, 7468, 5),
|
||||
('guild', 2, 100, 7468, 5),
|
||||
('guild', 3, 100, 7465, 5),
|
||||
('guild', 1, 300, 7469, 5),
|
||||
('guild', 2, 300, 7469, 5),
|
||||
('guild', 3, 300, 7466, 5),
|
||||
('guild', 1, 700, 7470, 5),
|
||||
('guild', 2, 700, 7470, 5),
|
||||
('guild', 3, 700, 7467, 5),
|
||||
('guild', 1, 1500, 13405, 14),
|
||||
('guild', 1, 1500, 1520, 3),
|
||||
('guild', 2, 1500, 13405, 14),
|
||||
('guild', 2, 1500, 1520, 3),
|
||||
('guild', 3, 1500, 7011, 3),
|
||||
('guild', 3, 1500, 13405, 14),
|
||||
('guild', 1, 3000, 10201, 10),
|
||||
('guild', 2, 3000, 10201, 10),
|
||||
('guild', 3, 3000, 10201, 10),
|
||||
('guild', 1, 6000, 13895, 14),
|
||||
('guild', 1, 6000, 1520, 6),
|
||||
('guild', 2, 6000, 13895, 14),
|
||||
('guild', 2, 6000, 1520, 6),
|
||||
('guild', 3, 6000, 13895, 14),
|
||||
('guild', 3, 6000, 7011, 4),
|
||||
('guild', 1, 12000, 13406, 14),
|
||||
('guild', 1, 12000, 1520, 9),
|
||||
('guild', 2, 12000, 13406, 14),
|
||||
('guild', 2, 12000, 1520, 9),
|
||||
('guild', 3, 12000, 13406, 14),
|
||||
('guild', 3, 12000, 7011, 5),
|
||||
('guild', 1, 25000, 10207, 10),
|
||||
('guild', 2, 25000, 10207, 10),
|
||||
('guild', 3, 25000, 10207, 10),
|
||||
('guild', 1, 50000, 1520, 12),
|
||||
('guild', 1, 50000, 13896, 14),
|
||||
('guild', 2, 50000, 1520, 12),
|
||||
('guild', 2, 50000, 13896, 14),
|
||||
('guild', 3, 50000, 7011, 6),
|
||||
('guild', 3, 50000, 13896, 14),
|
||||
('guild', 1, 100000, 10201, 10),
|
||||
('guild', 2, 100000, 10201, 10),
|
||||
('guild', 3, 100000, 10201, 10),
|
||||
('guild', 1, 200000, 13406, 16),
|
||||
('guild', 2, 200000, 13406, 16),
|
||||
('guild', 3, 200000, 13406, 16),
|
||||
('guild', 1, 300000, 13896, 16),
|
||||
('guild', 2, 300000, 13896, 16),
|
||||
('guild', 3, 300000, 13896, 16),
|
||||
('guild', 1, 400000, 10207, 10),
|
||||
('guild', 2, 400000, 10207, 10),
|
||||
('guild', 3, 400000, 10207, 10),
|
||||
('guild', 1, 500000, 13407, 6),
|
||||
('guild', 1, 500000, 13897, 6),
|
||||
('guild', 2, 500000, 13407, 6),
|
||||
('guild', 2, 500000, 13897, 6),
|
||||
('guild', 3, 500000, 13407, 6),
|
||||
('guild', 3, 500000, 13897, 6);
|
||||
|
||||
-- Ripped trials
|
||||
INSERT INTO public.festa_trials
|
||||
(objective, goal_id, times_req, locale_req, reward)
|
||||
VALUES
|
||||
(1,27,1,0,1),
|
||||
(5,53034,0,0,400),
|
||||
(5,22042,0,0,89),
|
||||
(5,23397,0,0,89),
|
||||
(1,28,1,0,1),
|
||||
(1,68,1,0,1),
|
||||
(1,6,1,0,2),
|
||||
(1,38,1,0,2),
|
||||
(1,20,1,0,3),
|
||||
(1,39,1,0,4),
|
||||
(1,48,1,0,4),
|
||||
(1,67,1,0,4),
|
||||
(1,93,1,0,4),
|
||||
(1,22,1,0,5),
|
||||
(1,52,1,0,5),
|
||||
(1,101,1,0,5),
|
||||
(1,1,1,0,5),
|
||||
(1,37,1,0,5),
|
||||
(1,15,1,0,5),
|
||||
(1,45,1,0,5),
|
||||
(1,74,1,0,5),
|
||||
(1,78,1,0,5),
|
||||
(1,103,1,0,5),
|
||||
(1,51,1,0,6),
|
||||
(1,17,1,0,6),
|
||||
(1,21,1,0,6),
|
||||
(1,92,1,0,6),
|
||||
(1,47,1,0,7),
|
||||
(1,46,1,0,7),
|
||||
(1,26,1,0,7),
|
||||
(1,14,1,0,7),
|
||||
(1,11,1,0,7),
|
||||
(1,44,1,0,8),
|
||||
(1,43,1,0,8),
|
||||
(1,49,1,0,8),
|
||||
(1,40,1,0,8),
|
||||
(1,76,1,0,8),
|
||||
(1,89,1,0,8),
|
||||
(1,94,1,0,8),
|
||||
(1,96,1,0,8),
|
||||
(1,75,1,0,8),
|
||||
(1,91,1,0,8),
|
||||
(1,53,1,0,9),
|
||||
(1,80,1,0,9),
|
||||
(1,42,1,0,9),
|
||||
(1,79,1,0,9),
|
||||
(1,81,1,0,10),
|
||||
(1,41,1,0,10),
|
||||
(1,82,1,0,10),
|
||||
(1,90,1,0,10),
|
||||
(1,149,1,0,10),
|
||||
(1,85,1,0,11),
|
||||
(1,95,1,0,11),
|
||||
(1,121,1,0,11),
|
||||
(1,142,1,0,11),
|
||||
(1,141,1,0,11),
|
||||
(1,146,1,0,12),
|
||||
(1,147,1,0,12),
|
||||
(1,148,1,0,12),
|
||||
(1,151,1,0,12),
|
||||
(1,152,1,0,12),
|
||||
(1,159,1,0,12),
|
||||
(1,153,1,0,12),
|
||||
(1,162,1,0,12),
|
||||
(1,111,1,0,13),
|
||||
(1,110,1,0,13),
|
||||
(1,112,1,0,13),
|
||||
(1,109,1,0,14),
|
||||
(1,169,1,0,15),
|
||||
(2,33,1,0,6),
|
||||
(2,104,1,0,8),
|
||||
(2,119,1,0,8),
|
||||
(2,120,1,0,8),
|
||||
(2,54,1,0,8),
|
||||
(2,59,1,0,8),
|
||||
(2,64,1,0,8),
|
||||
(2,65,1,0,8),
|
||||
(2,99,1,0,9),
|
||||
(2,83,1,0,9),
|
||||
(2,84,1,0,10),
|
||||
(2,77,1,0,10),
|
||||
(2,106,1,0,10),
|
||||
(2,55,1,0,10),
|
||||
(2,58,1,0,10),
|
||||
(2,7,1,0,10),
|
||||
(2,50,1,0,11),
|
||||
(2,131,1,0,11),
|
||||
(2,129,1,0,11),
|
||||
(2,140,1,0,11),
|
||||
(2,122,1,0,11),
|
||||
(2,126,1,0,11),
|
||||
(2,127,1,0,11),
|
||||
(2,128,1,0,11),
|
||||
(2,130,1,0,11),
|
||||
(2,139,1,0,11),
|
||||
(2,144,1,0,11),
|
||||
(2,150,1,0,11),
|
||||
(2,158,1,0,11),
|
||||
(2,164,1,0,15),
|
||||
(2,165,1,0,15),
|
||||
(2,2,1,7,15),
|
||||
(2,36,1,0,15),
|
||||
(2,71,1,0,15),
|
||||
(2,108,1,0,15),
|
||||
(2,116,1,0,15),
|
||||
(2,107,1,0,15),
|
||||
(2,154,1,0,17),
|
||||
(2,166,1,0,17),
|
||||
(2,170,1,0,18),
|
||||
(3,31,1,0,1),
|
||||
(3,8,1,0,3),
|
||||
(3,123,1,0,8),
|
||||
(3,105,1,0,9),
|
||||
(3,125,1,0,11),
|
||||
(3,115,1,0,12),
|
||||
(3,114,1,0,12),
|
||||
(3,161,1,0,12),
|
||||
(4,670,1,0,1),
|
||||
(4,671,1,0,1),
|
||||
(4,672,1,0,1),
|
||||
(4,675,1,0,1),
|
||||
(4,673,1,0,1),
|
||||
(4,674,1,0,1);
|
||||
|
||||
END;
|
||||
102
bundled-schema/GachaDemo.sql
Normal file
102
bundled-schema/GachaDemo.sql
Normal file
@@ -0,0 +1,102 @@
|
||||
BEGIN;
|
||||
|
||||
-- Start Normal Demo
|
||||
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
|
||||
VALUES (0, 0, 'Normal Demo',
|
||||
'http://img4.imagetitan.com/img4/QeRWNAviFD8UoTx/26/26_template_innerbanner.png',
|
||||
'http://img4.imagetitan.com/img4/QeRWNAviFD8UoTx/26/26_template_feature.png',
|
||||
'http://img4.imagetitan.com/img4/small/26/26_template_outerbanner.png',
|
||||
false, false, 0, false);
|
||||
|
||||
-- Create two different 'rolls', the first rolls once for 1z, the second rolls eleven times for 10z
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES
|
||||
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 1, 0, 0),
|
||||
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 10, 0, 0, 0, 11, 0, 0);
|
||||
|
||||
-- Creates a prize of 1z with a weighted chance of 100
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 100, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
-- Creates a prize of 2z with a weighted chance of 70
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 70, 1, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
|
||||
|
||||
-- Creates a prize of 3z with a weighted chance of 10
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 10, 2, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
|
||||
-- End Normal Demo
|
||||
|
||||
-- Start Step-Up Demo
|
||||
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
|
||||
VALUES (0, 0, 'Step-Up Demo', '', '', '', false, false, 1, false);
|
||||
|
||||
-- Create two 'steps', the first costs 1z, the second costs 2z
|
||||
-- The first step has zero rolls so it will only give the prizes directly linked to the entry ID, being 1z
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
-- The second step has one roll on the random prize list as will as the direct prize, being 3z
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 2, 0, 0, 0, 1, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
|
||||
|
||||
-- Set up two random prizes, the first gives 1z, the second gives 2z
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 100, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 90, 1, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
|
||||
-- End Step-Up Demo
|
||||
|
||||
-- Start Box Demo
|
||||
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
|
||||
VALUES (0, 0, 'Box Demo', '', '', '', false, false, 4, false);
|
||||
|
||||
-- Create two different 'rolls', the first rolls once for 1z, the second rolls twice for 2z
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES
|
||||
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 1, 0, 0),
|
||||
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 2, 0, 0, 0, 2, 0, 0);
|
||||
|
||||
-- Create five different 'Box' items, weight is always 0 for these
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
|
||||
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
|
||||
|
||||
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
|
||||
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
|
||||
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
|
||||
-- End Box Demo
|
||||
|
||||
END;
|
||||
13
bundled-schema/NetcafeDefaults.sql
Normal file
13
bundled-schema/NetcafeDefaults.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO public.cafebonus (time_req, item_type, item_id, quantity)
|
||||
VALUES
|
||||
(1800, 17, 0, 250),
|
||||
(3600, 17, 0, 500),
|
||||
(7200, 17, 0, 1000),
|
||||
(10800, 17, 0, 1500),
|
||||
(18000, 17, 0, 1750),
|
||||
(28800, 17, 0, 3000),
|
||||
(43200, 17, 0, 4000);
|
||||
|
||||
END;
|
||||
12
bundled-schema/OtherShops.sql
Normal file
12
bundled-schema/OtherShops.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO public.shop_items
|
||||
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
|
||||
VALUES
|
||||
(5,5,16516,100,1,0,0,1,0,0,0,0),
|
||||
(5,5,16517,100,1,0,0,1,0,0,0,0),
|
||||
(7,0,13190,10,1,0,0,0,0,0,0,0),
|
||||
(7,0,1662,10,1,0,0,0,0,0,0,0),
|
||||
(7,0,10179,100,1,0,0,0,0,0,0,0);
|
||||
|
||||
END;
|
||||
868
bundled-schema/RoadShopItems.sql
Normal file
868
bundled-schema/RoadShopItems.sql
Normal file
@@ -0,0 +1,868 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO public.shop_items
|
||||
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
|
||||
VALUES
|
||||
(10,4,11664,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11665,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11666,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11667,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11668,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11669,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11670,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11671,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11672,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11673,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11674,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11675,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11676,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11677,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11678,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11679,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11680,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11681,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11682,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11683,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11684,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11685,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11686,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11687,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11688,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11689,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11690,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11691,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11692,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11693,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11694,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11695,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11696,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,11697,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12893,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12894,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12895,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12896,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12897,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12898,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,12899,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14337,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14338,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14339,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14340,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14341,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14342,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14343,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14344,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,14345,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9254,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9255,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9256,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9257,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9258,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9259,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9260,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9261,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9262,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9263,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9264,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9265,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9266,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9267,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9268,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9269,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9270,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9271,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9272,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9273,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9274,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9275,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9276,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9277,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9278,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9279,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9280,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9281,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9282,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9283,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9284,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9285,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9286,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9287,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9288,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9289,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9290,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9291,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9292,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9293,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9294,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9295,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9296,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9297,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9298,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9299,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9300,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,9301,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13196,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13197,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13198,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13199,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15542,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15543,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15544,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15545,10000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13640,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13641,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13642,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13643,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13644,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13645,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13646,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13647,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13648,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13649,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13650,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13651,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13652,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13653,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13654,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13655,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13656,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13657,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13658,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13659,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13660,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13661,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13662,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13663,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13664,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13665,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13666,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13667,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13668,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13669,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13670,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13671,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13672,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13673,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13674,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13675,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13676,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13677,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13678,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13679,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13680,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13681,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13682,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13683,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13684,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13685,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13686,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13687,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13688,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13689,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13690,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,13691,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15546,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15547,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15548,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,15549,20000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16162,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16163,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16164,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16165,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16166,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16167,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16168,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16169,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16172,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16173,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16174,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16175,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16176,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16177,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16178,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16179,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16182,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16183,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16184,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16185,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16186,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16187,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16188,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16189,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16192,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16193,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16194,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16195,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16196,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16197,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16198,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16199,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16202,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16203,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16204,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16205,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16206,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16207,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16208,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16209,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16212,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16213,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16214,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16215,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16216,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16217,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16218,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16219,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16222,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16223,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16224,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16225,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16226,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16227,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16228,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16229,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16232,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16233,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16234,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16235,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16236,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16237,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16238,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16239,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16242,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16243,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16244,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16245,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16246,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16247,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16248,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16249,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16252,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16253,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16254,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16255,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16256,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16257,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16258,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16259,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16262,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16263,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16264,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16265,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16266,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16267,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16268,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16269,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16272,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16273,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16274,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16275,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16276,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16277,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16278,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16279,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16282,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16283,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16284,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16285,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16286,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16287,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16288,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16289,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16292,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16293,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16294,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16295,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16296,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16297,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16298,35000,1,0,0,1,1,0,0,0),
|
||||
(10,4,16299,35000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14136,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14137,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14138,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14139,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14140,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14141,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14142,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14143,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14144,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14145,15000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14454,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14455,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14456,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14457,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14458,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14459,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14460,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14461,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14462,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14463,30000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12724,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12725,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12726,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12727,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12728,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12729,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12730,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12731,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12732,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12733,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12734,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12735,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12736,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12737,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12738,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12739,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12740,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12741,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12742,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12743,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12744,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12745,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12746,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12747,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12748,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12749,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12750,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12751,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12752,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12753,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15070,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15071,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15072,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15073,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15074,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15075,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15076,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15077,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15078,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15079,50000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15567,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15568,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15569,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15570,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15571,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15572,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15573,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15574,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15575,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15576,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15577,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15578,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15579,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15580,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15581,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15582,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15583,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15584,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15585,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15586,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15587,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15588,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15589,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15590,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15591,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15592,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15593,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15594,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15595,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15596,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15597,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15598,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15599,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15600,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15601,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15602,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15603,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15604,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15605,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15606,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15607,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15608,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15609,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15610,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15611,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15612,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15613,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15614,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15615,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15616,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15617,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15618,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15619,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15620,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15621,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15622,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15623,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15624,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15625,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15626,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15627,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15628,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15629,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15630,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15631,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15632,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15633,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15634,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15635,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15636,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15637,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15638,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15639,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15640,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15641,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15642,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15643,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15644,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15645,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15646,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15647,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15648,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15649,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15650,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15651,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15652,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15653,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15654,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15655,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15656,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15657,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15658,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15659,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15660,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15661,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15662,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15663,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15664,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15665,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15666,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15667,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15668,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15669,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15670,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15671,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15672,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15673,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15674,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15675,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15676,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15677,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15678,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15679,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15680,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15681,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15682,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15683,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15684,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15685,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15686,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15687,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15688,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15689,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15690,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15691,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15692,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15693,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15694,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15695,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15696,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15697,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15698,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15699,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15700,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15701,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15702,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15703,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15704,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15705,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15706,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15707,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15708,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15709,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15710,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15711,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15712,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15713,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15714,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15715,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15716,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15717,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15718,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15719,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15720,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15721,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15722,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15723,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15724,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15725,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15726,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15727,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15728,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15729,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15730,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15731,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15732,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15733,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15734,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15735,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15736,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15737,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15738,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15739,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15740,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15741,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15742,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15743,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15744,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15745,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15746,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15747,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15748,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15749,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15750,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15751,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15752,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15753,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15754,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15755,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15756,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15757,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15758,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15759,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15760,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15761,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15762,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15763,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15764,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15765,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15766,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15919,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15920,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15921,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15922,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15923,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15924,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15925,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15926,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15927,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15928,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15929,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15930,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15931,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15932,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15933,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15934,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15935,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15936,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15937,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15938,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15939,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15940,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15941,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15942,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15943,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15944,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15945,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15946,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15947,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15948,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15949,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15950,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15951,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15952,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15953,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15954,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15955,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15956,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15957,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15958,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15959,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15960,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15961,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15962,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15963,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15964,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15965,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15966,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15967,20000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15968,20000,1,0,0,1,1,0,0,0),
|
||||
(10,7,13506,250,1,0,0,1,1,0,50,0),
|
||||
(10,7,15011,250,1,0,0,1,1,0,50,0),
|
||||
(10,7,13636,250,1,0,0,1,1,0,50,0),
|
||||
(10,7,15022,250,1,0,0,1,1,0,50,0),
|
||||
(10,8,4407,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4408,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4409,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4410,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4411,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4412,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4413,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4414,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4823,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4824,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4825,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4826,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4827,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4828,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4829,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,4830,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5194,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5195,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5196,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5197,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5198,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5199,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5200,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,5201,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13630,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13631,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13632,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13633,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13634,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13635,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15103,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15104,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15105,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15106,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15107,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15108,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16459,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16460,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16461,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16462,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16463,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16464,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16465,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16466,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16467,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16468,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16469,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16470,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16471,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16472,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13416,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13417,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13418,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13419,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13420,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14283,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14284,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14285,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14286,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13182,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13507,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,13981,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14744,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14893,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15785,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,16419,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11470,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12512,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12884,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12513,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12514,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12515,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12516,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12517,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12518,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12519,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12520,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,12521,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,8179,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,9704,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,15448,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11162,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11163,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11164,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11165,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11661,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,11662,1000,1,0,0,1,1,0,0,0),
|
||||
(10,8,14639,1000,1,0,0,1,1,0,0,0),
|
||||
(10,7,15774,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15775,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,11420,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14704,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13177,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14191,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13449,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14192,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15772,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13791,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14006,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15768,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14069,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14124,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15507,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15508,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14855,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14894,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16444,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16445,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,12509,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14126,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15062,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15063,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14891,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14895,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14091,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14092,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14501,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14506,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15285,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15286,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16442,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16443,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15027,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15028,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13453,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14193,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13178,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14194,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16454,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16455,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15030,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15031,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13790,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14005,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14406,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14413,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16448,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16449,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,12872,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14187,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14125,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14500,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14505,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15118,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15119,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14662,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14663,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15771,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,9700,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14498,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14913,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14914,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13508,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15115,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15116,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15113,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15114,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15222,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15223,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,10750,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14705,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15027,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15028,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,10380,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15060,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13963,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14026,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13964,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14027,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15064,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15065,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15524,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15525,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16450,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16451,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16344,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16345,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16342,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16343,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15220,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15221,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15066,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15067,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14089,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14090,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14195,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14196,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13965,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14028,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13508,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13962,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14314,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13404,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14188,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14032,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13960,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15819,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15820,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,10750,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14705,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14407,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14414,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16352,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16353,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14502,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14507,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,10811,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15061,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15823,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15824,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15224,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15225,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14503,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14510,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15776,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15777,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15821,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,15822,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14198,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14197,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16446,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16447,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14905,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14907,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14904,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14906,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14659,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14660,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13326,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14416,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,13450,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14031,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16492,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,16493,3000,1,0,0,1,1,0,100,0),
|
||||
(10,7,14299,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,14389,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15177,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,14537,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,14758,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,14854,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,13974,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15021,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15111,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15226,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15773,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15825,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,15827,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,16340,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,16341,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,16457,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,16458,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,11698,250,1,0,0,1,1,0,50,0),
|
||||
(10,7,11700,250,1,0,0,1,1,0,50,0),
|
||||
(10,8,9958,20,1,0,0,1,1,0,0,999),
|
||||
(10,8,11284,15,1,0,0,1,1,0,0,0),
|
||||
(10,8,11285,15,1,0,0,1,1,0,0,0),
|
||||
(10,8,11286,15,1,0,0,1,1,0,0,0),
|
||||
(10,8,10356,500,1,0,0,1,1,0,0,0),
|
||||
(10,8,12511,500,1,0,0,1,1,0,0,0),
|
||||
(10,8,13238,500,1,0,0,1,1,0,0,0),
|
||||
(10,8,11383,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,11382,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,11381,10,1,0,0,1,1,0,0,0),
|
||||
(10,7,16348,3000,1,0,0,1,1,0,100,0),
|
||||
(10,8,11386,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,14444,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,14443,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,14445,10,1,0,0,1,1,0,0,0),
|
||||
(10,8,15068,500,1,0,0,1,1,0,20,0),
|
||||
(10,7,16532,1000,1,0,0,1,1,0,0,0),
|
||||
(10,7,14368,3000,1,0,0,1,1,0,50,0),
|
||||
(10,7,1622,3000,1,0,0,1,1,0,0,0),
|
||||
(10,7,16456,500,1,0,0,1,1,0,0,0);
|
||||
|
||||
END;
|
||||
178
bundled-schema/ScenarioDefaults.sql
Normal file
178
bundled-schema/ScenarioDefaults.sql
Normal file
@@ -0,0 +1,178 @@
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO public.scenario_counter
|
||||
(scenario_id, category_id)
|
||||
VALUES
|
||||
(17,0),
|
||||
(93,1),
|
||||
(92,1),
|
||||
(81,1),
|
||||
(91,1),
|
||||
(90,1),
|
||||
(89,1),
|
||||
(88,1),
|
||||
(87,1),
|
||||
(86,1),
|
||||
(85,1),
|
||||
(84,1),
|
||||
(83,1),
|
||||
(82,1),
|
||||
(87,3),
|
||||
(88,3),
|
||||
(89,3),
|
||||
(90,3),
|
||||
(91,3),
|
||||
(92,3),
|
||||
(83,3),
|
||||
(86,3),
|
||||
(60,3),
|
||||
(58,3),
|
||||
(59,3),
|
||||
(27,3),
|
||||
(25,3),
|
||||
(26,3),
|
||||
(23,3),
|
||||
(2,3),
|
||||
(3,3),
|
||||
(4,3),
|
||||
(31,3),
|
||||
(32,3),
|
||||
(33,3),
|
||||
(34,3),
|
||||
(35,3),
|
||||
(36,3),
|
||||
(37,3),
|
||||
(40,3),
|
||||
(38,3),
|
||||
(39,3),
|
||||
(48,3),
|
||||
(12,3),
|
||||
(13,3),
|
||||
(30,3),
|
||||
(29,3),
|
||||
(46,3),
|
||||
(0,4),
|
||||
(1,4),
|
||||
(2,4),
|
||||
(3,4),
|
||||
(4,4),
|
||||
(5,4),
|
||||
(6,4),
|
||||
(7,4),
|
||||
(8,4),
|
||||
(9,4),
|
||||
(10,4),
|
||||
(11,4),
|
||||
(12,4),
|
||||
(13,4),
|
||||
(14,4),
|
||||
(50,5),
|
||||
(51,5),
|
||||
(52,5),
|
||||
(53,5),
|
||||
(54,5),
|
||||
(55,5),
|
||||
(56,5),
|
||||
(58,5),
|
||||
(63,5),
|
||||
(64,5),
|
||||
(65,5),
|
||||
(67,5),
|
||||
(71,5),
|
||||
(75,5),
|
||||
(61,5),
|
||||
(68,5),
|
||||
(66,5),
|
||||
(76,5),
|
||||
(70,5),
|
||||
(77,5),
|
||||
(72,5),
|
||||
(74,5),
|
||||
(73,5),
|
||||
(78,5),
|
||||
(69,5),
|
||||
(62,5),
|
||||
(79,5),
|
||||
(0,6),
|
||||
(1,6),
|
||||
(2,6),
|
||||
(3,6),
|
||||
(4,6),
|
||||
(5,6),
|
||||
(6,6),
|
||||
(7,6),
|
||||
(8,6),
|
||||
(9,6),
|
||||
(17,6),
|
||||
(10,6),
|
||||
(11,6),
|
||||
(12,6),
|
||||
(13,6),
|
||||
(14,6),
|
||||
(15,6),
|
||||
(16,6),
|
||||
(50,7),
|
||||
(53,7),
|
||||
(62,7),
|
||||
(52,7),
|
||||
(56,7),
|
||||
(51,7),
|
||||
(49,7),
|
||||
(54,7),
|
||||
(57,7),
|
||||
(55,7),
|
||||
(61,7),
|
||||
(58,7),
|
||||
(60,7),
|
||||
(59,7),
|
||||
(42,7),
|
||||
(48,7),
|
||||
(40,7),
|
||||
(39,7),
|
||||
(43,7),
|
||||
(46,7),
|
||||
(41,7),
|
||||
(44,7),
|
||||
(45,7),
|
||||
(47,7),
|
||||
(37,7),
|
||||
(34,7),
|
||||
(33,7),
|
||||
(32,7),
|
||||
(28,7),
|
||||
(26,7),
|
||||
(36,7),
|
||||
(38,7),
|
||||
(35,7),
|
||||
(27,7),
|
||||
(30,7),
|
||||
(31,7),
|
||||
(29,7),
|
||||
(24,7),
|
||||
(23,7),
|
||||
(22,7),
|
||||
(21,7),
|
||||
(25,7),
|
||||
(20,7),
|
||||
(7,7),
|
||||
(9,7),
|
||||
(13,7),
|
||||
(16,7),
|
||||
(12,7),
|
||||
(14,7),
|
||||
(15,7),
|
||||
(19,7),
|
||||
(10,7),
|
||||
(8,7),
|
||||
(11,7),
|
||||
(18,7),
|
||||
(17,7),
|
||||
(6,7),
|
||||
(5,7),
|
||||
(4,7),
|
||||
(3,7),
|
||||
(2,7),
|
||||
(1,7),
|
||||
(0,7);
|
||||
|
||||
END;
|
||||
@@ -138,6 +138,10 @@ func (b *ByteFrame) DataFromCurrent() []byte {
|
||||
return b.buf[b.index:b.usedSize]
|
||||
}
|
||||
|
||||
func (b *ByteFrame) Index() uint {
|
||||
return b.index
|
||||
}
|
||||
|
||||
// SetLE sets the byte order to litte endian.
|
||||
func (b *ByteFrame) SetLE() {
|
||||
b.byteOrder = binary.LittleEndian
|
||||
|
||||
109
common/decryption/jpk.go
Normal file
109
common/decryption/jpk.go
Normal file
@@ -0,0 +1,109 @@
|
||||
package decryption
|
||||
|
||||
/*
|
||||
This code is HEAVILY based from
|
||||
https://github.com/Chakratos/ReFrontier/blob/master/ReFrontier/Unpack.cs
|
||||
*/
|
||||
|
||||
import (
|
||||
"erupe-ce/common/byteframe"
|
||||
"io"
|
||||
)
|
||||
|
||||
var mShiftIndex = 0
|
||||
var mFlag = byte(0)
|
||||
|
||||
func UnpackSimple(data []byte) []byte {
|
||||
mShiftIndex = 0
|
||||
mFlag = byte(0)
|
||||
|
||||
bf := byteframe.NewByteFrameFromBytes(data)
|
||||
bf.SetLE()
|
||||
header := bf.ReadUint32()
|
||||
|
||||
if header == 0x1A524B4A {
|
||||
bf.Seek(0x2, io.SeekCurrent)
|
||||
jpkType := bf.ReadUint16()
|
||||
|
||||
switch jpkType {
|
||||
case 3:
|
||||
startOffset := bf.ReadInt32()
|
||||
outSize := bf.ReadInt32()
|
||||
outBuffer := make([]byte, outSize)
|
||||
bf.Seek(int64(startOffset), io.SeekStart)
|
||||
ProcessDecode(bf, outBuffer)
|
||||
|
||||
return outBuffer
|
||||
}
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
|
||||
func ProcessDecode(data *byteframe.ByteFrame, outBuffer []byte) {
|
||||
outIndex := 0
|
||||
|
||||
for int(data.Index()) < len(data.Data()) && outIndex < len(outBuffer)-1 {
|
||||
if JPKBitShift(data) == 0 {
|
||||
outBuffer[outIndex] = ReadByte(data)
|
||||
outIndex++
|
||||
continue
|
||||
} else {
|
||||
if JPKBitShift(data) == 0 {
|
||||
length := (JPKBitShift(data) << 1) | JPKBitShift(data)
|
||||
off := ReadByte(data)
|
||||
JPKCopy(outBuffer, int(off), int(length)+3, &outIndex)
|
||||
continue
|
||||
} else {
|
||||
hi := ReadByte(data)
|
||||
lo := ReadByte(data)
|
||||
length := int(hi&0xE0) >> 5
|
||||
off := ((int(hi) & 0x1F) << 8) | int(lo)
|
||||
if length != 0 {
|
||||
JPKCopy(outBuffer, off, length+2, &outIndex)
|
||||
continue
|
||||
} else {
|
||||
if JPKBitShift(data) == 0 {
|
||||
length := (JPKBitShift(data) << 3) | (JPKBitShift(data) << 2) | (JPKBitShift(data) << 1) | JPKBitShift(data)
|
||||
JPKCopy(outBuffer, off, int(length)+2+8, &outIndex)
|
||||
continue
|
||||
} else {
|
||||
temp := ReadByte(data)
|
||||
if temp == 0xFF {
|
||||
for i := 0; i < off+0x1B; i++ {
|
||||
outBuffer[outIndex] = ReadByte(data)
|
||||
outIndex++
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
JPKCopy(outBuffer, off, int(temp)+0x1a, &outIndex)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func JPKBitShift(data *byteframe.ByteFrame) byte {
|
||||
mShiftIndex--
|
||||
|
||||
if mShiftIndex < 0 {
|
||||
mShiftIndex = 7
|
||||
mFlag = ReadByte(data)
|
||||
}
|
||||
|
||||
return (byte)((mFlag >> mShiftIndex) & 1)
|
||||
}
|
||||
|
||||
func JPKCopy(outBuffer []byte, offset int, length int, index *int) {
|
||||
for i := 0; i < length; i++ {
|
||||
outBuffer[*index] = outBuffer[*index-offset-1]
|
||||
*index++
|
||||
}
|
||||
}
|
||||
|
||||
func ReadByte(bf *byteframe.ByteFrame) byte {
|
||||
value := bf.ReadUint8()
|
||||
return value
|
||||
}
|
||||
102
common/mhfcourse/mhfcourse.go
Normal file
102
common/mhfcourse/mhfcourse.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package mhfcourse
|
||||
|
||||
import (
|
||||
"math"
|
||||
"sort"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Course struct {
|
||||
ID uint16
|
||||
Expiry time.Time
|
||||
}
|
||||
|
||||
var aliases = map[uint16][]string{
|
||||
1: {"Trial", "TL"},
|
||||
2: {"HunterLife", "HL"},
|
||||
3: {"Extra", "ExtraA", "EX"},
|
||||
4: {"ExtraB"},
|
||||
5: {"Mobile"},
|
||||
6: {"Premium"},
|
||||
7: {"Pallone", "ExtraC"},
|
||||
8: {"Assist", "***ist", "Legend", "Rasta"},
|
||||
9: {"N"},
|
||||
10: {"Hiden", "Secret"},
|
||||
11: {"HunterSupport", "HunterAid", "Support", "Aid", "Royal"},
|
||||
12: {"NBoost", "NetCafeBoost", "Boost"},
|
||||
// 13-19 show up as (unknown)
|
||||
20: {"DEBUG"},
|
||||
21: {"COG_LINK_EXPIRED"},
|
||||
22: {"360_GOLD"},
|
||||
23: {"PS3_TROP"},
|
||||
24: {"COG"},
|
||||
25: {"CAFE_SP"},
|
||||
26: {"NetCafe", "Cafe", "OfficialCafe", "Official"},
|
||||
27: {"HLRenewing", "HLR", "HLRenewal", "HLRenew", "CardHL"},
|
||||
28: {"EXRenewing", "EXR", "EXRenewal", "EXRenew", "CardEX"},
|
||||
29: {"Free"},
|
||||
// 30 = Real NetCafe course
|
||||
}
|
||||
|
||||
func (c Course) Aliases() []string {
|
||||
return aliases[c.ID]
|
||||
}
|
||||
|
||||
func Courses() []Course {
|
||||
courses := make([]Course, 32)
|
||||
for i := range courses {
|
||||
courses[i].ID = uint16(i)
|
||||
}
|
||||
return courses
|
||||
}
|
||||
|
||||
func (c Course) Value() uint32 {
|
||||
return uint32(math.Pow(2, float64(c.ID)))
|
||||
}
|
||||
|
||||
// CourseExists returns true if the named course exists in the given slice
|
||||
func CourseExists(ID uint16, c []Course) bool {
|
||||
for _, course := range c {
|
||||
if course.ID == ID {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// GetCourseStruct returns a slice of Course(s) from a rights integer
|
||||
func GetCourseStruct(rights uint32) ([]Course, uint32) {
|
||||
resp := []Course{{ID: 1}, {ID: 23}, {ID: 24}}
|
||||
s := Courses()
|
||||
sort.Slice(s, func(i, j int) bool {
|
||||
return s[i].ID > s[j].ID
|
||||
})
|
||||
var normalCafeCourseSet, netcafeCourseSet bool
|
||||
for _, course := range s {
|
||||
if rights-course.Value() < 0x80000000 {
|
||||
switch course.ID {
|
||||
case 26:
|
||||
if normalCafeCourseSet {
|
||||
break
|
||||
}
|
||||
normalCafeCourseSet = true
|
||||
resp = append(resp, Course{ID: 25})
|
||||
fallthrough
|
||||
case 9:
|
||||
if netcafeCourseSet {
|
||||
break
|
||||
}
|
||||
netcafeCourseSet = true
|
||||
resp = append(resp, Course{ID: 30})
|
||||
}
|
||||
course.Expiry = time.Date(2030, 1, 1, 0, 0, 0, 0, time.FixedZone("UTC+9", 9*60*60))
|
||||
resp = append(resp, course)
|
||||
rights -= course.Value()
|
||||
}
|
||||
}
|
||||
rights = 0
|
||||
for _, course := range resp {
|
||||
rights += course.Value()
|
||||
}
|
||||
return resp, rights
|
||||
}
|
||||
366
common/mhfmon/mhfmon.go
Normal file
366
common/mhfmon/mhfmon.go
Normal file
@@ -0,0 +1,366 @@
|
||||
package mhfmon
|
||||
|
||||
const (
|
||||
Mon0 = iota
|
||||
Rathian
|
||||
Fatalis
|
||||
Kelbi
|
||||
Mosswine
|
||||
Bullfango
|
||||
YianKutKu
|
||||
LaoShanLung
|
||||
Cephadrome
|
||||
Felyne
|
||||
VeggieElder
|
||||
Rathalos
|
||||
Aptonoth
|
||||
Genprey
|
||||
Diablos
|
||||
Khezu
|
||||
Velociprey
|
||||
Gravios
|
||||
Mon18
|
||||
Vespoid
|
||||
Gypceros
|
||||
Plesioth
|
||||
Basarios
|
||||
Melynx
|
||||
Hornetaur
|
||||
Apceros
|
||||
Monoblos
|
||||
Velocidrome
|
||||
Gendrome
|
||||
Mon29
|
||||
Ioprey
|
||||
Iodrome
|
||||
Mon32
|
||||
Kirin
|
||||
Cephalos
|
||||
Giaprey
|
||||
CrimsonFatalis
|
||||
PinkRathian
|
||||
BlueYianKutKu
|
||||
PurpleGypceros
|
||||
YianGaruga
|
||||
SilverRathalos
|
||||
GoldRathian
|
||||
BlackDiablos
|
||||
WhiteMonoblos
|
||||
RedKhezu
|
||||
GreenPlesioth
|
||||
BlackGravios
|
||||
DaimyoHermitaur
|
||||
AzureRathalos
|
||||
AshenLaoShanLung
|
||||
Blangonga
|
||||
Congalala
|
||||
Rajang
|
||||
KushalaDaora
|
||||
ShenGaoren
|
||||
GreatThunderbug
|
||||
Shakalaka
|
||||
YamaTsukami
|
||||
Chameleos
|
||||
RustedKushalaDaora
|
||||
Blango
|
||||
Conga
|
||||
Remobra
|
||||
Lunastra
|
||||
Teostra
|
||||
Hermitaur
|
||||
ShogunCeanataur
|
||||
Bulldrome
|
||||
Anteka
|
||||
Popo
|
||||
WhiteFatalis
|
||||
Mon72
|
||||
Ceanataur
|
||||
Hypnocatrice
|
||||
Lavasioth
|
||||
Tigrex
|
||||
Akantor
|
||||
BrightHypnoc
|
||||
RedLavasioth
|
||||
Espinas
|
||||
OrangeEspinas
|
||||
WhiteHypnoc
|
||||
AqraVashimu
|
||||
AqraJebia
|
||||
Berukyurosu
|
||||
Mon86
|
||||
Mon87
|
||||
Mon88
|
||||
Pariapuria
|
||||
WhiteEspinas
|
||||
KamuOrugaron
|
||||
NonoOrugaron
|
||||
Raviente
|
||||
Dyuragaua
|
||||
Doragyurosu
|
||||
Gurenzeburu
|
||||
Burukku
|
||||
Erupe
|
||||
Rukodiora
|
||||
Unknown
|
||||
Gogomoa
|
||||
Kokomoa
|
||||
TaikunZamuza
|
||||
Abiorugu
|
||||
Kuarusepusu
|
||||
Odibatorasu
|
||||
Disufiroa
|
||||
Rebidiora
|
||||
Anorupatisu
|
||||
Hyujikiki
|
||||
Midogaron
|
||||
Giaorugu
|
||||
MiRu
|
||||
Farunokku
|
||||
Pokaradon
|
||||
Shantien
|
||||
Pokara
|
||||
Mon118
|
||||
Goruganosu
|
||||
Aruganosu
|
||||
Baruragaru
|
||||
Zerureusu
|
||||
Gougarf
|
||||
Uruki
|
||||
Forokururu
|
||||
Meraginasu
|
||||
Diorex
|
||||
GarubaDaora
|
||||
Inagami
|
||||
Varusaburosu
|
||||
Poborubarumu
|
||||
Block1Duremudira
|
||||
Mon133
|
||||
Mon134
|
||||
Mon135
|
||||
Mon136
|
||||
Mon137
|
||||
Mon138
|
||||
Gureadomosu
|
||||
Harudomerugu
|
||||
Toridcless
|
||||
Gasurabazura
|
||||
Kusubami
|
||||
YamaKurai
|
||||
Block2Duremudira
|
||||
Zinogre
|
||||
Deviljho
|
||||
Brachydios
|
||||
BerserkRaviente
|
||||
ToaTesukatora
|
||||
Barioth
|
||||
Uragaan
|
||||
StygianZinogre
|
||||
Guanzorumu
|
||||
SavageDeviljho
|
||||
Mon156
|
||||
Egyurasu
|
||||
Voljang
|
||||
Nargacuga
|
||||
Keoaruboru
|
||||
Zenaserisu
|
||||
GoreMagala
|
||||
BlinkingNargacuga
|
||||
ShagaruMagala
|
||||
Amatsu
|
||||
Eruzerion
|
||||
MusouDuremudira
|
||||
Mon168
|
||||
Seregios
|
||||
Bogabadorumu
|
||||
Mon171
|
||||
MusouBogabadorumu
|
||||
CostumedUruki
|
||||
MusouZerureusu
|
||||
Rappy
|
||||
KingShakalaka
|
||||
)
|
||||
|
||||
type Monster struct {
|
||||
Name string
|
||||
Large bool
|
||||
}
|
||||
|
||||
var Monsters = []Monster{
|
||||
{"Mon0", false},
|
||||
{"Rathian", true},
|
||||
{"Fatalis", true},
|
||||
{"Kelbi", false},
|
||||
{"Mosswine", false},
|
||||
{"Bullfango", false},
|
||||
{"Yian Kut-Ku", true},
|
||||
{"Lao-Shan Lung", true},
|
||||
{"Cephadrome", true},
|
||||
{"Felyne", false},
|
||||
{"Veggie Elder", false},
|
||||
{"Rathalos", true},
|
||||
{"Aptonoth", false},
|
||||
{"Genprey", false},
|
||||
{"Diablos", true},
|
||||
{"Khezu", true},
|
||||
{"Velociprey", false},
|
||||
{"Gravios", true},
|
||||
{"Mon18", false},
|
||||
{"Vespoid", false},
|
||||
{"Gypceros", true},
|
||||
{"Plesioth", true},
|
||||
{"Basarios", true},
|
||||
{"Melynx", false},
|
||||
{"Hornetaur", false},
|
||||
{"Apceros", false},
|
||||
{"Monoblos", true},
|
||||
{"Velocidrome", true},
|
||||
{"Gendrome", true},
|
||||
{"Mon29", false},
|
||||
{"Ioprey", false},
|
||||
{"Iodrome", true},
|
||||
{"Mon32", false},
|
||||
{"Kirin", true},
|
||||
{"Cephalos", false},
|
||||
{"Giaprey", false},
|
||||
{"Crimson Fatalis", true},
|
||||
{"Pink Rathian", true},
|
||||
{"Blue Yian Kut-Ku", true},
|
||||
{"Purple Gypceros", true},
|
||||
{"Yian Garuga", true},
|
||||
{"Silver Rathalos", true},
|
||||
{"Gold Rathian", true},
|
||||
{"Black Diablos", true},
|
||||
{"White Monoblos", true},
|
||||
{"Red Khezu", true},
|
||||
{"Green Plesioth", true},
|
||||
{"Black Gravios", true},
|
||||
{"Daimyo Hermitaur", true},
|
||||
{"Azure Rathalos", true},
|
||||
{"Ashen Lao-Shan Lung", true},
|
||||
{"Blangonga", true},
|
||||
{"Congalala", true},
|
||||
{"Rajang", true},
|
||||
{"Kushala Daora", true},
|
||||
{"Shen Gaoren", true},
|
||||
{"Great Thunderbug", false},
|
||||
{"Shakalaka", false},
|
||||
{"Yama Tsukami", true},
|
||||
{"Chameleos", true},
|
||||
{"Rusted Kushala Daora", true},
|
||||
{"Blango", false},
|
||||
{"Conga", false},
|
||||
{"Remobra", false},
|
||||
{"Lunastra", true},
|
||||
{"Teostra", true},
|
||||
{"Hermitaur", false},
|
||||
{"Shogun Ceanataur", true},
|
||||
{"Bulldrome", true},
|
||||
{"Anteka", false},
|
||||
{"Popo", false},
|
||||
{"White Fatalis", true},
|
||||
{"Mon72", false},
|
||||
{"Ceanataur", false},
|
||||
{"Hypnocatrice", true},
|
||||
{"Lavasioth", true},
|
||||
{"Tigrex", true},
|
||||
{"Akantor", true},
|
||||
{"Bright Hypnocatrice", true},
|
||||
{"Red Lavasioth", true},
|
||||
{"Espinas", true},
|
||||
{"Orange Espinas", true},
|
||||
{"White Hypnocatrice", true},
|
||||
{"Aqra Vashimu", true},
|
||||
{"Aqra Jebia", true},
|
||||
{"Berukyurosu", true},
|
||||
{"Mon86", false},
|
||||
{"Mon87", false},
|
||||
{"Mon88", false},
|
||||
{"Pariapuria", true},
|
||||
{"White Espinas", true},
|
||||
{"Kamu Orugaron", true},
|
||||
{"Nono Orugaron", true},
|
||||
{"Raviente", true}, // + Violent
|
||||
{"Dyuragaua", true},
|
||||
{"Doragyurosu", true},
|
||||
{"Gurenzeburu", true},
|
||||
{"Burukku", false},
|
||||
{"Erupe", false},
|
||||
{"Rukodiora", true},
|
||||
{"Unknown", true},
|
||||
{"Gogomoa", true},
|
||||
{"Kokomoa", false},
|
||||
{"Taikun Zamuza", true},
|
||||
{"Abiorugu", true},
|
||||
{"Kuarusepusu", true},
|
||||
{"Odibatorasu", true},
|
||||
{"Disufiroa", true},
|
||||
{"Rebidiora", true},
|
||||
{"Anorupatisu", true},
|
||||
{"Hyujikiki", true},
|
||||
{"Midogaron", true},
|
||||
{"Giaorugu", true},
|
||||
{"Mi-Ru", true}, // + Musou
|
||||
{"Farunokku", true},
|
||||
{"Pokaradon", true},
|
||||
{"Shantien", true},
|
||||
{"Pokara", false},
|
||||
{"Mon118", false},
|
||||
{"Goruganosu", true},
|
||||
{"Aruganosu", true},
|
||||
{"Baruragaru", true},
|
||||
{"Zerureusu", true},
|
||||
{"Gougarf", true}, // Both
|
||||
{"Uruki", false},
|
||||
{"Forokururu", true},
|
||||
{"Meraginasu", true},
|
||||
{"Diorex", true},
|
||||
{"Garuba Daora", true},
|
||||
{"Inagami", true},
|
||||
{"Varusablos", true},
|
||||
{"Poborubarumu", true},
|
||||
{"1st Block Duremudira", true},
|
||||
{"Mon133", false},
|
||||
{"Mon134", false},
|
||||
{"Mon135", false},
|
||||
{"Mon136", false},
|
||||
{"Mon137", false},
|
||||
{"Mon138", false},
|
||||
{"Gureadomosu", true},
|
||||
{"Harudomerugu", true},
|
||||
{"Toridcless", true},
|
||||
{"Gasurabazura", true},
|
||||
{"Kusubami", false},
|
||||
{"Yama Kurai", true},
|
||||
{"2nd Block Duremudira", true},
|
||||
{"Zinogre", true},
|
||||
{"Deviljho", true},
|
||||
{"Brachydios", true},
|
||||
{"Berserk Raviente", true},
|
||||
{"Toa Tesukatora", true},
|
||||
{"Barioth", true},
|
||||
{"Uragaan", true},
|
||||
{"Stygian Zinogre", true},
|
||||
{"Guanzorumu", true},
|
||||
{"Savage Deviljho", true}, // + Starving/Heavenly
|
||||
{"Mon156", false},
|
||||
{"Egyurasu", false},
|
||||
{"Voljang", true},
|
||||
{"Nargacuga", true},
|
||||
{"Keoaruboru", true},
|
||||
{"Zenaserisu", true},
|
||||
{"Gore Magala", true},
|
||||
{"Blinking Nargacuga", true},
|
||||
{"Shagaru Magala", true},
|
||||
{"Amatsu", true},
|
||||
{"Eruzerion", true}, // + Musou
|
||||
{"Musou Duremudira", true},
|
||||
{"Mon168", false},
|
||||
{"Seregios", true},
|
||||
{"Bogabadorumu", true},
|
||||
{"Mon171", false},
|
||||
{"Musou Bogabadorumu", true},
|
||||
{"Costumed Uruki", false},
|
||||
{"Musou Zerureusu", true},
|
||||
{"Rappy", false},
|
||||
{"King Shakalaka", false},
|
||||
}
|
||||
@@ -11,7 +11,8 @@ func Uint8(bf *byteframe.ByteFrame, x string, t bool) {
|
||||
e := japanese.ShiftJIS.NewEncoder()
|
||||
xt, _, err := transform.String(e, x)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
bf.WriteUint8(0)
|
||||
return
|
||||
}
|
||||
x = xt
|
||||
}
|
||||
@@ -24,7 +25,8 @@ func Uint16(bf *byteframe.ByteFrame, x string, t bool) {
|
||||
e := japanese.ShiftJIS.NewEncoder()
|
||||
xt, _, err := transform.String(e, x)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
bf.WriteUint16(0)
|
||||
return
|
||||
}
|
||||
x = xt
|
||||
}
|
||||
@@ -37,7 +39,8 @@ func Uint32(bf *byteframe.ByteFrame, x string, t bool) {
|
||||
e := japanese.ShiftJIS.NewEncoder()
|
||||
xt, _, err := transform.String(e, x)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
bf.WriteUint32(0)
|
||||
return
|
||||
}
|
||||
x = xt
|
||||
}
|
||||
|
||||
@@ -2,87 +2,15 @@ package stringsupport
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"fmt"
|
||||
"io"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/text/encoding"
|
||||
"golang.org/x/text/encoding/japanese"
|
||||
"golang.org/x/text/transform"
|
||||
)
|
||||
|
||||
// StringConverter is a small helper for encoding/decoding strings.
|
||||
type StringConverter struct {
|
||||
Encoding encoding.Encoding
|
||||
}
|
||||
|
||||
// Decode decodes the given bytes as the set encoding.
|
||||
func (sc *StringConverter) Decode(data []byte) (string, error) {
|
||||
decoded, err := ioutil.ReadAll(transform.NewReader(bytes.NewBuffer(data), sc.Encoding.NewDecoder()))
|
||||
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return string(decoded), nil
|
||||
}
|
||||
|
||||
// MustDecode decodes the given bytes as the set encoding. Panics on decode failure.
|
||||
func (sc *StringConverter) MustDecode(data []byte) string {
|
||||
decoded, err := sc.Decode(data)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return decoded
|
||||
}
|
||||
|
||||
// Encode encodes the given string as the set encoding.
|
||||
func (sc *StringConverter) Encode(data string) ([]byte, error) {
|
||||
encoded, err := ioutil.ReadAll(transform.NewReader(bytes.NewBuffer([]byte(data)), sc.Encoding.NewEncoder()))
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return encoded, nil
|
||||
}
|
||||
|
||||
// MustEncode encodes the given string as the set encoding. Panics on encode failure.
|
||||
func (sc *StringConverter) MustEncode(data string) []byte {
|
||||
encoded, err := sc.Encode(data)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return encoded
|
||||
}
|
||||
|
||||
/*
|
||||
func MustConvertShiftJISToUTF8(text string) string {
|
||||
result, err := ConvertShiftJISToUTF8(text)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return result
|
||||
}
|
||||
func MustConvertUTF8ToShiftJIS(text string) string {
|
||||
result, err := ConvertUTF8ToShiftJIS(text)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return result
|
||||
}
|
||||
func ConvertShiftJISToUTF8(text string) (string, error) {
|
||||
r := bytes.NewBuffer([]byte(text))
|
||||
decoded, err := ioutil.ReadAll(transform.NewReader(r, japanese.ShiftJIS.NewDecoder()))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(decoded), nil
|
||||
}
|
||||
*/
|
||||
|
||||
func UTF8ToSJIS(x string) []byte {
|
||||
e := japanese.ShiftJIS.NewEncoder()
|
||||
xt, _, err := transform.String(e, x)
|
||||
@@ -94,7 +22,7 @@ func UTF8ToSJIS(x string) []byte {
|
||||
|
||||
func SJISToUTF8(b []byte) string {
|
||||
d := japanese.ShiftJIS.NewDecoder()
|
||||
result, err := ioutil.ReadAll(transform.NewReader(bytes.NewReader(b), d))
|
||||
result, err := io.ReadAll(transform.NewReader(bytes.NewReader(b), d))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@@ -106,7 +34,7 @@ func PaddedString(x string, size uint, t bool) []byte {
|
||||
e := japanese.ShiftJIS.NewEncoder()
|
||||
xt, _, err := transform.String(e, x)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return make([]byte, size)
|
||||
}
|
||||
x = xt
|
||||
}
|
||||
@@ -120,7 +48,11 @@ func CSVAdd(csv string, v int) string {
|
||||
if len(csv) == 0 {
|
||||
return strconv.Itoa(v)
|
||||
}
|
||||
return csv + "," + strconv.Itoa(v)
|
||||
if CSVContains(csv, v) {
|
||||
return csv
|
||||
} else {
|
||||
return csv + "," + strconv.Itoa(v)
|
||||
}
|
||||
}
|
||||
|
||||
func CSVRemove(csv string, v int) string {
|
||||
@@ -166,21 +98,22 @@ func CSVElems(csv string) []int {
|
||||
return r
|
||||
}
|
||||
|
||||
// ConvertUTF8ToShiftJIS converts a UTF8 string to a Shift-JIS []byte.
|
||||
func ConvertUTF8ToShiftJIS(text string) ([]byte, error) {
|
||||
r := bytes.NewBuffer([]byte(text))
|
||||
encoded, err := ioutil.ReadAll(transform.NewReader(r, japanese.ShiftJIS.NewEncoder()))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
func CSVGetIndex(csv string, i int) int {
|
||||
s := CSVElems(csv)
|
||||
if i < len(s) {
|
||||
return s[i]
|
||||
}
|
||||
|
||||
return encoded, nil
|
||||
return 0
|
||||
}
|
||||
|
||||
func ConvertUTF8ToSJIS(text string) (string, error) {
|
||||
r, _, err := transform.String(japanese.ShiftJIS.NewEncoder(), text)
|
||||
if err != nil {
|
||||
return "", err
|
||||
func CSVSetIndex(csv string, i int, v int) string {
|
||||
s := CSVElems(csv)
|
||||
if i < len(s) {
|
||||
s[i] = v
|
||||
}
|
||||
return r, nil
|
||||
var r []string
|
||||
for j := 0; j < len(s); j++ {
|
||||
r = append(r, fmt.Sprintf(`%d`, s[j]))
|
||||
}
|
||||
return strings.Join(r, ",")
|
||||
}
|
||||
|
||||
22
common/token/token.go
Normal file
22
common/token/token.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package token
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Generate returns an alphanumeric token of specified length
|
||||
func Generate(length int) string {
|
||||
rng := RNG()
|
||||
var chars = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
|
||||
b := make([]rune, length)
|
||||
for i := range b {
|
||||
b[i] = chars[rng.Intn(len(chars))]
|
||||
}
|
||||
return string(b)
|
||||
}
|
||||
|
||||
// RNG returns a new RNG generator
|
||||
func RNG() *rand.Rand {
|
||||
return rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
}
|
||||
204
config.json
204
config.json
@@ -1,82 +1,176 @@
|
||||
{
|
||||
"host_ip": "127.0.0.1",
|
||||
"bin_path": "bin",
|
||||
"devmode": true,
|
||||
"devmodeoptions": {
|
||||
"serverName" : "",
|
||||
"hideLoginNotice": false,
|
||||
"loginNotice": "<BODY><CENTER><SIZE_3><C_4>Welcome to Erupe SU9!<BR><BODY><LEFT><SIZE_2><C_5>Erupe is experimental software<C_7>, we are not liable for any<BR><BODY>issues caused by installing the software!<BR><BODY><BR><BODY><C_4>■Report bugs on Discord!<C_7><BR><BODY><BR><BODY><C_4>■Test everything!<C_7><BR><BODY><BR><BODY><C_4>■Don't talk to softlocking NPCs!<C_7><BR><BODY><BR><BODY><C_4>■Fork the code on GitHub!<C_7><BR><BODY><BR><BODY>Thank you to all of the contributors,<BR><BODY><BR><BODY>this wouldn't exist without you.",
|
||||
"cleandb": false,
|
||||
"maxlauncherhr": false,
|
||||
"LogInboundMessages": false,
|
||||
"LogOutboundMessages": false,
|
||||
"Host": "127.0.0.1",
|
||||
"BinPath": "bin",
|
||||
"Language": "en",
|
||||
"DisableSoftCrash": false,
|
||||
"HideLoginNotice": true,
|
||||
"LoginNotices": [
|
||||
"<BODY><CENTER><SIZE_3><C_4>Welcome to Erupe SU9.3!<BR><BODY><LEFT><SIZE_2><C_5>Erupe is experimental software<C_7>, we are not liable for any<BR><BODY>issues caused by installing the software!<BR><BODY><BR><BODY><C_4>■Report bugs on Discord!<C_7><BR><BODY><BR><BODY><C_4>■Test everything!<C_7><BR><BODY><BR><BODY><C_4>■Don't talk to softlocking NPCs!<C_7><BR><BODY><BR><BODY><C_4>■Fork the code on GitHub!<C_7><BR><BODY><BR><BODY>Thank you to all of the contributors,<BR><BODY><BR><BODY>this wouldn't exist without you."
|
||||
],
|
||||
"PatchServerManifest": "",
|
||||
"PatchServerFile": "",
|
||||
"ScreenshotAPIURL": "",
|
||||
"DeleteOnSaveCorruption": false,
|
||||
"ClientMode": "ZZ",
|
||||
"DevMode": true,
|
||||
"DevModeOptions": {
|
||||
"AutoCreateAccount": true,
|
||||
"CleanDB": false,
|
||||
"MaxLauncherHR": false,
|
||||
"LogInboundMessages": true,
|
||||
"LogOutboundMessages": true,
|
||||
"MaxHexdumpLength": 256,
|
||||
"Event": 0,
|
||||
"DivaEvent": 0,
|
||||
"FestaEvent": 0,
|
||||
"FestaEvent": -1,
|
||||
"TournamentEvent": 0,
|
||||
"MezFesEvent": true,
|
||||
"MezFesAlt": false,
|
||||
"DisableTokenCheck": false,
|
||||
"QuestDebugTools": false,
|
||||
"EarthStatusOverride": 0,
|
||||
"EarthIDOverride": 0,
|
||||
"EarthMonsterOverride": 0,
|
||||
"SaveDumps": {
|
||||
"Enabled": true,
|
||||
"OutputDir": "savedata"
|
||||
"OutputDir": "save-backups"
|
||||
}
|
||||
},
|
||||
"discord": {
|
||||
"enabled": false,
|
||||
"bottoken": "",
|
||||
"realtimeChannelID": "",
|
||||
"serverId": "",
|
||||
"devRoles": [],
|
||||
"devMode": false
|
||||
"GameplayOptions": {
|
||||
"FeaturedWeapons": 1,
|
||||
"MaximumNP": 100000,
|
||||
"MaximumRP": 50000,
|
||||
"MaximumFP": 120000,
|
||||
"TreasureHuntExpiry": 604800,
|
||||
"DisableLoginBoost": false,
|
||||
"DisableBoostTime": false,
|
||||
"BoostTimeDuration": 120,
|
||||
"GuildMealDuration": 60,
|
||||
"BonusQuestAllowance": 3,
|
||||
"DailyQuestAllowance": 1,
|
||||
"MezfesSoloTickets": 10,
|
||||
"MezfesGroupTickets": 4,
|
||||
"LowLatencyRaviente": false,
|
||||
"RegularRavienteMaxPlayers": 8,
|
||||
"ViolentRavienteMaxPlayers": 8,
|
||||
"BerserkRavienteMaxPlayers": 32,
|
||||
"ExtremeRavienteMaxPlayers": 32,
|
||||
"SmallBerserkRavienteMaxPlayers": 8,
|
||||
"GUrgentRate": 0.10,
|
||||
"GCPMultiplier": 1.00,
|
||||
"GRPMultiplier": 1.00,
|
||||
"GSRPMultiplier": 1.00,
|
||||
"GZennyMultiplier": 1.00,
|
||||
"MaterialMultiplier": 1.00,
|
||||
"ExtraCarves": 0,
|
||||
"DisableHunterNavi": false,
|
||||
"EnableKaijiEvent": false,
|
||||
"EnableHiganjimaEvent": false,
|
||||
"EnableNierEvent": false,
|
||||
"DisableRoad": false,
|
||||
"SeasonOverride": false
|
||||
},
|
||||
"database": {
|
||||
"host": "localhost",
|
||||
"port": 5432,
|
||||
"user": "postgres",
|
||||
"password": "",
|
||||
"database": "erupe"
|
||||
"Discord": {
|
||||
"Enabled": false,
|
||||
"BotToken": "",
|
||||
"RealtimeChannelID": ""
|
||||
},
|
||||
"launcher": {
|
||||
"port": 80,
|
||||
"UseOriginalLauncherFiles": false
|
||||
"Commands": [
|
||||
{
|
||||
"Name": "Rights",
|
||||
"Enabled": false,
|
||||
"Prefix": "rights"
|
||||
}, {
|
||||
"Name": "Raviente",
|
||||
"Enabled": true,
|
||||
"Prefix": "ravi"
|
||||
}, {
|
||||
"Name": "Teleport",
|
||||
"Enabled": false,
|
||||
"Prefix": "tele"
|
||||
}, {
|
||||
"Name": "Reload",
|
||||
"Enabled": true,
|
||||
"Prefix": "reload"
|
||||
}, {
|
||||
"Name": "KeyQuest",
|
||||
"Enabled": false,
|
||||
"Prefix": "kqf"
|
||||
}, {
|
||||
"Name": "Course",
|
||||
"Enabled": true,
|
||||
"Prefix": "course"
|
||||
}, {
|
||||
"Name": "PSN",
|
||||
"Enabled": true,
|
||||
"Prefix": "psn"
|
||||
}
|
||||
],
|
||||
"Courses": [
|
||||
{"Name": "HunterLife", "Enabled": true},
|
||||
{"Name": "Extra", "Enabled": true},
|
||||
{"Name": "Premium", "Enabled": true},
|
||||
{"Name": "Assist", "Enabled": false},
|
||||
{"Name": "N", "Enabled": false},
|
||||
{"Name": "Hiden", "Enabled": false},
|
||||
{"Name": "HunterSupport", "Enabled": false},
|
||||
{"Name": "NBoost", "Enabled": false},
|
||||
{"Name": "NetCafe", "Enabled": true},
|
||||
{"Name": "HLRenewing", "Enabled": true},
|
||||
{"Name": "EXRenewing", "Enabled": true}
|
||||
],
|
||||
"Database": {
|
||||
"Host": "localhost",
|
||||
"Port": 5432,
|
||||
"User": "postgres",
|
||||
"Password": "",
|
||||
"Database": "erupe"
|
||||
},
|
||||
"sign": {
|
||||
"port": 53312
|
||||
"Sign": {
|
||||
"Enabled": true,
|
||||
"Port": 53312
|
||||
},
|
||||
"entrance": {
|
||||
"port": 53310,
|
||||
"entries": [
|
||||
"SignV2": {
|
||||
"Enabled": false,
|
||||
"Port": 8080
|
||||
},
|
||||
"Channel": {
|
||||
"Enabled": true
|
||||
},
|
||||
"Entrance": {
|
||||
"Enabled": true,
|
||||
"Port": 53310,
|
||||
"Entries": [
|
||||
{
|
||||
"name": "Newbie", "description": "", "ip": "", "type": 3, "recommended": 2, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54001, "MaxPlayers": 100 },
|
||||
{ "port": 54002, "MaxPlayers": 100 }
|
||||
"Name": "Newbie", "Description": "", "IP": "", "Type": 3, "Recommended": 2, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54001, "MaxPlayers": 100 },
|
||||
{ "Port": 54002, "MaxPlayers": 100 }
|
||||
]
|
||||
}, {
|
||||
"name": "Normal", "description": "", "ip": "", "type": 1, "recommended": 0, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54003, "MaxPlayers": 100 },
|
||||
{ "port": 54004, "MaxPlayers": 100 }
|
||||
"Name": "Normal", "Description": "", "IP": "", "Type": 1, "Recommended": 0, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54003, "MaxPlayers": 100 },
|
||||
{ "Port": 54004, "MaxPlayers": 100 }
|
||||
]
|
||||
}, {
|
||||
"name": "Cities", "description": "", "ip": "", "type": 2, "recommended": 0, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54005, "MaxPlayers": 100 }
|
||||
"Name": "Cities", "Description": "", "IP": "", "Type": 2, "Recommended": 0, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54005, "MaxPlayers": 100 }
|
||||
]
|
||||
}, {
|
||||
"name": "Tavern", "description": "", "ip": "", "type": 4, "recommended": 0, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54006, "MaxPlayers": 100 }
|
||||
"Name": "Tavern", "Description": "", "IP": "", "Type": 4, "Recommended": 0, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54006, "MaxPlayers": 100 }
|
||||
]
|
||||
}, {
|
||||
"name": "Return", "description": "", "ip": "", "type": 5, "recommended": 0, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54007, "MaxPlayers": 100 }
|
||||
"Name": "Return", "Description": "", "IP": "", "Type": 5, "Recommended": 0, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54007, "MaxPlayers": 100 }
|
||||
]
|
||||
}, {
|
||||
"name": "MezFes", "description": "", "ip": "", "type": 6, "recommended": 6, "allowedclientflags": 0,
|
||||
"channels": [
|
||||
{ "port": 54008, "MaxPlayers": 100 }
|
||||
"Name": "MezFes", "Description": "", "IP": "", "Type": 6, "Recommended": 6, "AllowedClientFlags": 0,
|
||||
"Channels": [
|
||||
{ "Port": 54008, "MaxPlayers": 100 }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
245
config/config.go
245
config/config.go
@@ -1,42 +1,117 @@
|
||||
package config
|
||||
package _config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type Mode int
|
||||
|
||||
const (
|
||||
S1 Mode = iota + 1
|
||||
S15
|
||||
S2
|
||||
S25
|
||||
S3
|
||||
S35
|
||||
S4
|
||||
S5
|
||||
S55
|
||||
S6
|
||||
S7
|
||||
S8
|
||||
S85
|
||||
S9
|
||||
S10
|
||||
F1
|
||||
F2
|
||||
F3
|
||||
F4
|
||||
F5
|
||||
G1
|
||||
G2
|
||||
G3
|
||||
G31
|
||||
G32
|
||||
GG
|
||||
G5
|
||||
G51
|
||||
G52
|
||||
G6
|
||||
G61
|
||||
G7
|
||||
G8
|
||||
G81
|
||||
G9
|
||||
G91
|
||||
G10
|
||||
G101
|
||||
Z1
|
||||
Z2
|
||||
ZZ
|
||||
)
|
||||
|
||||
var versionStrings = []string{"S1.0", "S1.5", "S2.0", "S2.5", "S3.0", "S3.5", "S4.0", "S5.0", "S5.5", "S6.0", "S7.0",
|
||||
"S8.0", "S8.5", "S9", "S10", "FW.1", "FW.2", "FW.3", "FW.4", "FW.5", "G1", "G2", "G3", "G3.1", "G3.2", "GG", "G5",
|
||||
"G5.1", "G5.2", "G6", "G6.1", "G7", "G8", "G8.1", "G9", "G9.1", "G10", "G10.1", "Z1", "Z2", "ZZ"}
|
||||
|
||||
func (m Mode) String() string {
|
||||
return versionStrings[m]
|
||||
}
|
||||
|
||||
// Config holds the global server-wide config.
|
||||
type Config struct {
|
||||
HostIP string `mapstructure:"host_ip"`
|
||||
BinPath string `mapstructure:"bin_path"`
|
||||
DevMode bool
|
||||
Host string `mapstructure:"Host"`
|
||||
BinPath string `mapstructure:"BinPath"`
|
||||
Language string
|
||||
DisableSoftCrash bool // Disables the 'Press Return to exit' dialog allowing scripts to reboot the server automatically
|
||||
HideLoginNotice bool // Hide the Erupe notice on login
|
||||
LoginNotices []string // MHFML string of the login notices displayed
|
||||
PatchServerManifest string // Manifest patch server override
|
||||
PatchServerFile string // File patch server override
|
||||
ScreenshotAPIURL string // Destination for screenshots uploaded to BBS
|
||||
DeleteOnSaveCorruption bool // Attempts to save corrupted data will flag the save for deletion
|
||||
ClientMode string
|
||||
RealClientMode Mode
|
||||
DevMode bool
|
||||
|
||||
DevModeOptions DevModeOptions
|
||||
Discord Discord
|
||||
Database Database
|
||||
Launcher Launcher
|
||||
Sign Sign
|
||||
Entrance Entrance
|
||||
DevModeOptions DevModeOptions
|
||||
GameplayOptions GameplayOptions
|
||||
Discord Discord
|
||||
Commands []Command
|
||||
Courses []Course
|
||||
Database Database
|
||||
Sign Sign
|
||||
SignV2 SignV2
|
||||
Channel Channel
|
||||
Entrance Entrance
|
||||
}
|
||||
|
||||
// DevModeOptions holds various debug/temporary options for use while developing Erupe.
|
||||
type DevModeOptions struct {
|
||||
ServerName string // To get specific instance server about (Current Players/Event Week)
|
||||
HideLoginNotice bool // Hide the Erupe notice on login
|
||||
LoginNotice string // MHFML string of the login notice displayed
|
||||
CleanDB bool // Automatically wipes the DB on server reset.
|
||||
MaxLauncherHR bool // Sets the HR returned in the launcher to HR9 so that you can join non-beginner worlds.
|
||||
FixedStageID bool // Causes all move_stage to use the ID sl1Ns200p0a0u0 to get you into all stages
|
||||
LogInboundMessages bool // Log all messages sent to the server
|
||||
LogOutboundMessages bool // Log all messages sent to the clients
|
||||
MaxHexdumpLength int // Maximum number of bytes printed when logs are enabled
|
||||
DivaEvent int // Diva Defense event status
|
||||
FestaEvent int // Hunter's Festa event status
|
||||
TournamentEvent int // VS Tournament event status
|
||||
MezFesEvent bool // MezFes status
|
||||
SaveDumps SaveDumpOptions
|
||||
AutoCreateAccount bool // Automatically create accounts if they don't exist
|
||||
CleanDB bool // Automatically wipes the DB on server reset.
|
||||
MaxLauncherHR bool // Sets the HR returned in the launcher to HR7 so that you can join non-beginner worlds.
|
||||
LogInboundMessages bool // Log all messages sent to the server
|
||||
LogOutboundMessages bool // Log all messages sent to the clients
|
||||
MaxHexdumpLength int // Maximum number of bytes printed when logs are enabled
|
||||
DivaEvent int // Diva Defense event status
|
||||
FestaEvent int // Hunter's Festa event status
|
||||
TournamentEvent int // VS Tournament event status
|
||||
MezFesEvent bool // MezFes status
|
||||
MezFesAlt bool // Swaps out Volpakkun for Tokotoko
|
||||
DisableTokenCheck bool // Disables checking login token exists in the DB (security risk!)
|
||||
QuestDebugTools bool // Enable various quest debug logs
|
||||
EarthStatusOverride int32
|
||||
EarthIDOverride int32
|
||||
EarthMonsterOverride int32
|
||||
SaveDumps SaveDumpOptions
|
||||
}
|
||||
|
||||
type SaveDumpOptions struct {
|
||||
@@ -44,14 +119,61 @@ type SaveDumpOptions struct {
|
||||
OutputDir string
|
||||
}
|
||||
|
||||
// GameplayOptions has various gameplay modifiers
|
||||
type GameplayOptions struct {
|
||||
FeaturedWeapons int // Number of Active Feature weapons to generate daily
|
||||
MaximumNP int // Maximum number of NP held by a player
|
||||
MaximumRP uint16 // Maximum number of RP held by a player
|
||||
MaximumFP uint32 // Maximum number of FP held by a player
|
||||
TreasureHuntExpiry uint32 // Seconds until a Clan Treasure Hunt will expire
|
||||
TreasureHuntPartnyaCooldown uint32 // Seconds until a Partnya can be assigned to another Clan Treasure Hunt
|
||||
DisableLoginBoost bool // Disables the Login Boost system
|
||||
DisableBoostTime bool // Disables the daily NetCafe Boost Time
|
||||
BoostTimeDuration int // The number of minutes NetCafe Boost Time lasts for
|
||||
GuildMealDuration int // The number of minutes a Guild Meal can be activated for after cooking
|
||||
BonusQuestAllowance uint32 // Number of Bonus Point Quests to allow daily
|
||||
DailyQuestAllowance uint32 // Number of Daily Quests to allow daily
|
||||
MezfesSoloTickets uint32 // Number of solo tickets given weekly
|
||||
MezfesGroupTickets uint32 // Number of group tickets given weekly
|
||||
LowLatencyRaviente bool // Toggles low latency mode for Raviente, can be network intensive
|
||||
RegularRavienteMaxPlayers uint8
|
||||
ViolentRavienteMaxPlayers uint8
|
||||
BerserkRavienteMaxPlayers uint8
|
||||
ExtremeRavienteMaxPlayers uint8
|
||||
SmallBerserkRavienteMaxPlayers uint8
|
||||
GUrgentRate float32 // Adjusts the rate of G Urgent quests spawning
|
||||
GCPMultiplier float32 // Adjusts the multiplier of GCP rewarded for quest completion
|
||||
GRPMultiplier float32 // Adjusts the multiplier of G Rank Points rewarded for quest completion
|
||||
GSRPMultiplier float32 // Adjusts the multiplier of G Skill Rank Points rewarded for quest completion
|
||||
GZennyMultiplier float32 // Adjusts the multiplier of G Zenny rewarded for quest completion
|
||||
MaterialMultiplier float32 // Adjusts the multiplier of Monster Materials rewarded for quest completion
|
||||
ExtraCarves uint16 // Grant n extra chances to carve ALL carcasses
|
||||
DisableHunterNavi bool // Disables the Hunter Navi
|
||||
EnableKaijiEvent bool // Enables the Kaiji event in the Rasta Bar
|
||||
EnableHiganjimaEvent bool // Enables the Higanjima event in the Rasta Bar
|
||||
EnableNierEvent bool // Enables the Nier event in the Rasta Bar
|
||||
DisableRoad bool // Disables the Hunting Road
|
||||
SeasonOverride bool // Overrides the Quest Season with the current Mezeporta Season
|
||||
}
|
||||
|
||||
// Discord holds the discord integration config.
|
||||
type Discord struct {
|
||||
Enabled bool
|
||||
BotToken string
|
||||
ServerID string
|
||||
RealtimeChannelID string
|
||||
DevRoles []string
|
||||
DevMode bool
|
||||
}
|
||||
|
||||
// Command is a channelserver chat command
|
||||
type Command struct {
|
||||
Name string
|
||||
Enabled bool
|
||||
Prefix string
|
||||
}
|
||||
|
||||
// Course represents a course within MHF
|
||||
type Course struct {
|
||||
Name string
|
||||
Enabled bool
|
||||
}
|
||||
|
||||
// Database holds the postgres database config.
|
||||
@@ -63,19 +185,25 @@ type Database struct {
|
||||
Database string
|
||||
}
|
||||
|
||||
// Launcher holds the launcher server config.
|
||||
type Launcher struct {
|
||||
Port int
|
||||
UseOriginalLauncherFiles bool
|
||||
}
|
||||
|
||||
// Sign holds the sign server config.
|
||||
type Sign struct {
|
||||
Port int
|
||||
Enabled bool
|
||||
Port int
|
||||
}
|
||||
|
||||
// SignV2 holds the new sign server config
|
||||
type SignV2 struct {
|
||||
Enabled bool
|
||||
Port int
|
||||
}
|
||||
|
||||
type Channel struct {
|
||||
Enabled bool
|
||||
}
|
||||
|
||||
// Entrance holds the entrance server config.
|
||||
type Entrance struct {
|
||||
Enabled bool
|
||||
Port uint16
|
||||
Entries []EntranceServerInfo
|
||||
}
|
||||
@@ -102,6 +230,16 @@ type EntranceChannelInfo struct {
|
||||
CurrentPlayers uint16
|
||||
}
|
||||
|
||||
var ErupeConfig *Config
|
||||
|
||||
func init() {
|
||||
var err error
|
||||
ErupeConfig, err = LoadConfig()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to load config: %s", err.Error()))
|
||||
}
|
||||
}
|
||||
|
||||
// getOutboundIP4 gets the preferred outbound ip4 of this machine
|
||||
// From https://stackoverflow.com/a/37382208
|
||||
func getOutboundIP4() net.IP {
|
||||
@@ -122,8 +260,8 @@ func LoadConfig() (*Config, error) {
|
||||
viper.AddConfigPath(".")
|
||||
|
||||
viper.SetDefault("DevModeOptions.SaveDumps", SaveDumpOptions{
|
||||
Enabled: false,
|
||||
OutputDir: "savedata",
|
||||
Enabled: true,
|
||||
OutputDir: "save-backups",
|
||||
})
|
||||
|
||||
err := viper.ReadInConfig()
|
||||
@@ -137,9 +275,40 @@ func LoadConfig() (*Config, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if c.HostIP == "" {
|
||||
c.HostIP = getOutboundIP4().To4().String()
|
||||
if c.Host == "" {
|
||||
c.Host = getOutboundIP4().To4().String()
|
||||
}
|
||||
|
||||
for i := range versionStrings {
|
||||
if strings.ToUpper(c.ClientMode) == versionStrings[i] {
|
||||
c.RealClientMode = Mode(i + 1)
|
||||
c.ClientMode = strings.ToUpper(c.ClientMode)
|
||||
if c.RealClientMode <= G101 {
|
||||
c.ClientMode += " (Debug only)"
|
||||
}
|
||||
}
|
||||
}
|
||||
if c.RealClientMode == 0 {
|
||||
c.ClientMode = versionStrings[len(versionStrings)-1]
|
||||
c.RealClientMode = ZZ
|
||||
}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func preventClose(text string) {
|
||||
if ErupeConfig.DisableSoftCrash {
|
||||
os.Exit(0)
|
||||
}
|
||||
fmt.Println("\nFailed to start Erupe:\n" + text)
|
||||
go wait()
|
||||
fmt.Println("\nPress Enter/Return to exit...")
|
||||
fmt.Scanln()
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
func wait() {
|
||||
for {
|
||||
time.Sleep(time.Millisecond * 100)
|
||||
}
|
||||
}
|
||||
|
||||
48
go.mod
48
go.mod
@@ -1,27 +1,35 @@
|
||||
module erupe-ce
|
||||
|
||||
go 1.16
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/bwmarrin/discordgo v0.23.2
|
||||
github.com/go-sql-driver/mysql v1.6.0 // indirect
|
||||
github.com/golang/mock v1.6.0 // indirect
|
||||
github.com/bwmarrin/discordgo v0.27.1
|
||||
github.com/gorilla/handlers v1.5.1
|
||||
github.com/gorilla/mux v1.8.0
|
||||
github.com/gorilla/websocket v1.4.2 // indirect
|
||||
github.com/jmoiron/sqlx v1.3.4
|
||||
github.com/lib/pq v1.10.4
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect
|
||||
github.com/mitchellh/mapstructure v1.4.3 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/sachaos/lottery v0.0.0-20180520074626-61949d99bd96
|
||||
github.com/spf13/viper v1.8.1
|
||||
go.uber.org/atomic v1.9.0 // indirect
|
||||
go.uber.org/multierr v1.7.0 // indirect
|
||||
go.uber.org/zap v1.18.1
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e
|
||||
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect
|
||||
golang.org/x/text v0.3.7
|
||||
golang.org/x/tools v0.1.8 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
github.com/jmoiron/sqlx v1.3.5
|
||||
github.com/lib/pq v1.10.9
|
||||
github.com/spf13/viper v1.16.0
|
||||
go.uber.org/zap v1.25.0
|
||||
golang.org/x/crypto v0.12.0
|
||||
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63
|
||||
golang.org/x/text v0.12.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||
github.com/gorilla/websocket v1.5.0 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/magiconair/properties v1.8.7 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.0.9 // indirect
|
||||
github.com/spf13/afero v1.9.5 // indirect
|
||||
github.com/spf13/cast v1.5.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/sys v0.11.0 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
282
go.sum
282
go.sum
@@ -3,6 +3,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
|
||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
||||
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
||||
cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
||||
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
|
||||
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
|
||||
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
|
||||
@@ -15,9 +16,7 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY
|
||||
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
|
||||
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
|
||||
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
|
||||
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
|
||||
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
|
||||
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
|
||||
cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
|
||||
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
||||
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
|
||||
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
|
||||
@@ -26,7 +25,6 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g
|
||||
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
|
||||
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
|
||||
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
||||
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
|
||||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
||||
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
||||
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
|
||||
@@ -36,19 +34,14 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
|
||||
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
|
||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
|
||||
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
|
||||
github.com/bwmarrin/discordgo v0.23.2 h1:BzrtTktixGHIu9Tt7dEE6diysEF9HWnXeHuoJEt2fH4=
|
||||
github.com/bwmarrin/discordgo v0.23.2/go.mod h1:c1WtWUGN6nREDmzIpyTp/iD3VYt4Fpx+bVyfBG7JE+M=
|
||||
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
|
||||
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/bwmarrin/discordgo v0.27.1 h1:ib9AIc/dom1E/fSIulrBwnez0CToJE113ZGt4HoliGY=
|
||||
github.com/bwmarrin/discordgo v0.27.1/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
||||
@@ -57,8 +50,6 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@@ -67,22 +58,19 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
|
||||
github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
|
||||
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
|
||||
github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
@@ -94,9 +82,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
|
||||
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
||||
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
|
||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
@@ -111,9 +96,6 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq
|
||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
|
||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
@@ -124,10 +106,9 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
@@ -140,163 +121,105 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf
|
||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
|
||||
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
|
||||
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
|
||||
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
|
||||
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
|
||||
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
|
||||
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
|
||||
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
|
||||
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
|
||||
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
|
||||
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
|
||||
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
|
||||
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
|
||||
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
|
||||
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
||||
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
|
||||
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
|
||||
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
||||
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/jmoiron/sqlx v1.3.4 h1:wv+0IJZfL5z0uZoUjlpKgHkgaFSYD+r9CfrXjEXsO7w=
|
||||
github.com/jmoiron/sqlx v1.3.4/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ=
|
||||
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
|
||||
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
|
||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
|
||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk=
|
||||
github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
|
||||
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||
github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
|
||||
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U=
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
|
||||
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
|
||||
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
|
||||
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
|
||||
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||
github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
|
||||
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
||||
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0=
|
||||
github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
|
||||
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
|
||||
github.com/sachaos/lottery v0.0.0-20180520074626-61949d99bd96 h1:BanNeULiV7hOXjHPUQt3tgF6qVHGZ0uLMnCr0WZ5CTk=
|
||||
github.com/sachaos/lottery v0.0.0-20180520074626-61949d99bd96/go.mod h1:NuxNqEW5jNyYkZ5WSBB70WQXtRKY1jUPMzX74wr5JFo=
|
||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
||||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
|
||||
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
|
||||
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
|
||||
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM=
|
||||
github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
|
||||
github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
|
||||
github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
|
||||
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
|
||||
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44=
|
||||
github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
|
||||
github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc=
|
||||
github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
|
||||
go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
||||
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
|
||||
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||
go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
|
||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||
go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
|
||||
go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
|
||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||
go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4=
|
||||
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
|
||||
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
||||
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c=
|
||||
go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e h1:MUP6MR3rJ7Gk9LEia0LP2ytiH6MuCfs7qYz+47jGdD8=
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
|
||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -307,6 +230,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
|
||||
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
||||
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
|
||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
|
||||
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ=
|
||||
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
@@ -320,8 +245,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
|
||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
@@ -332,12 +255,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
@@ -364,13 +283,9 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R
|
||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
@@ -381,9 +296,6 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
|
||||
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -394,10 +306,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -407,7 +316,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -429,18 +337,13 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E=
|
||||
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
|
||||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
@@ -448,10 +351,10 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
|
||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
@@ -461,7 +364,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
@@ -471,8 +373,6 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgw
|
||||
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
@@ -495,7 +395,6 @@ golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roY
|
||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||
@@ -504,12 +403,8 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f
|
||||
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
|
||||
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
@@ -533,9 +428,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513
|
||||
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
|
||||
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
|
||||
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
|
||||
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
|
||||
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
|
||||
google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
@@ -566,7 +458,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG
|
||||
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
||||
@@ -578,12 +469,8 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D
|
||||
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
|
||||
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
|
||||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
@@ -597,13 +484,9 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji
|
||||
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
|
||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
@@ -614,23 +497,16 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
|
||||
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
|
||||
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
|
||||
292
main.go
292
main.go
@@ -1,19 +1,21 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
_config "erupe-ce/config"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"net"
|
||||
"os"
|
||||
"os/signal"
|
||||
"runtime/debug"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"erupe-ce/config"
|
||||
"erupe-ce/server/channelserver"
|
||||
"erupe-ce/server/discordbot"
|
||||
"erupe-ce/server/entranceserver"
|
||||
"erupe-ce/server/launcherserver"
|
||||
"erupe-ce/server/signserver"
|
||||
"erupe-ce/server/signv2server"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
_ "github.com/lib/pq"
|
||||
"go.uber.org/zap"
|
||||
@@ -28,176 +30,253 @@ func cleanDB(db *sqlx.DB) {
|
||||
_ = db.MustExec("DELETE FROM users")
|
||||
}
|
||||
|
||||
var Commit = func() string {
|
||||
if info, ok := debug.ReadBuildInfo(); ok {
|
||||
for _, setting := range info.Settings {
|
||||
if setting.Key == "vcs.revision" {
|
||||
return setting.Value[:7]
|
||||
}
|
||||
}
|
||||
}
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
func main() {
|
||||
zapLogger, _ := zap.NewDevelopment()
|
||||
var err error
|
||||
|
||||
var zapLogger *zap.Logger
|
||||
config := _config.ErupeConfig
|
||||
if config.DevMode {
|
||||
zapLogger, _ = zap.NewDevelopment()
|
||||
} else {
|
||||
zapLogger, _ = zap.NewProduction()
|
||||
}
|
||||
|
||||
defer zapLogger.Sync()
|
||||
logger := zapLogger.Named("main")
|
||||
|
||||
logger.Info("Starting Erupe")
|
||||
logger.Info(fmt.Sprintf("Starting Erupe (9.3b-%s)", Commit()))
|
||||
logger.Info(fmt.Sprintf("Client Mode: %s (%d)", config.ClientMode, config.RealClientMode))
|
||||
|
||||
// Load the configuration.
|
||||
erupeConfig, err := config.LoadConfig()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to load config: %s", err.Error()))
|
||||
if config.Database.Password == "" {
|
||||
preventClose("Database password is blank")
|
||||
}
|
||||
|
||||
if erupeConfig.Database.Password == "" {
|
||||
preventClose("Database password is blank")
|
||||
if net.ParseIP(config.Host) == nil {
|
||||
ips, _ := net.LookupIP(config.Host)
|
||||
for _, ip := range ips {
|
||||
if ip != nil {
|
||||
config.Host = ip.String()
|
||||
break
|
||||
}
|
||||
}
|
||||
if net.ParseIP(config.Host) == nil {
|
||||
preventClose("Invalid host address")
|
||||
}
|
||||
}
|
||||
|
||||
// Discord bot
|
||||
var discordBot *discordbot.DiscordBot = nil
|
||||
|
||||
if erupeConfig.Discord.Enabled {
|
||||
bot, err := discordbot.NewDiscordBot(discordbot.DiscordBotOptions{
|
||||
if config.Discord.Enabled {
|
||||
bot, err := discordbot.NewDiscordBot(discordbot.Options{
|
||||
Logger: logger,
|
||||
Config: erupeConfig,
|
||||
Config: _config.ErupeConfig,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to create Discord bot: %s", err.Error()))
|
||||
preventClose(fmt.Sprintf("Discord: Failed to start, %s", err.Error()))
|
||||
}
|
||||
|
||||
// Discord bot
|
||||
err = bot.Start()
|
||||
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to start Discord bot: %s", err.Error()))
|
||||
preventClose(fmt.Sprintf("Discord: Failed to start, %s", err.Error()))
|
||||
}
|
||||
|
||||
discordBot = bot
|
||||
logger.Info("Discord: Started successfully")
|
||||
} else {
|
||||
logger.Info("Discord bot is disabled")
|
||||
logger.Info("Discord: Disabled")
|
||||
}
|
||||
|
||||
// Create the postgres DB pool.
|
||||
connectString := fmt.Sprintf(
|
||||
"host=%s port=%d user=%s password=%s dbname= %s sslmode=disable",
|
||||
erupeConfig.Database.Host,
|
||||
erupeConfig.Database.Port,
|
||||
erupeConfig.Database.User,
|
||||
erupeConfig.Database.Password,
|
||||
erupeConfig.Database.Database,
|
||||
"host='%s' port='%d' user='%s' password='%s' dbname='%s' sslmode=disable",
|
||||
config.Database.Host,
|
||||
config.Database.Port,
|
||||
config.Database.User,
|
||||
config.Database.Password,
|
||||
config.Database.Database,
|
||||
)
|
||||
|
||||
db, err := sqlx.Open("postgres", connectString)
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to open SQL database: %s", err.Error()))
|
||||
preventClose(fmt.Sprintf("Database: Failed to open, %s", err.Error()))
|
||||
}
|
||||
|
||||
// Test the DB connection.
|
||||
err = db.Ping()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to ping database: %s", err.Error()))
|
||||
preventClose(fmt.Sprintf("Database: Failed to ping, %s", err.Error()))
|
||||
}
|
||||
logger.Info("Connected to database")
|
||||
logger.Info("Database: Started successfully")
|
||||
|
||||
// Clear existing tokens
|
||||
// Clear stale data
|
||||
_ = db.MustExec("DELETE FROM sign_sessions")
|
||||
_ = db.MustExec("DELETE FROM servers")
|
||||
_ = db.MustExec(`UPDATE guild_characters SET treasure_hunt=NULL`)
|
||||
|
||||
// Clean the DB if the option is on.
|
||||
if erupeConfig.DevMode && erupeConfig.DevModeOptions.CleanDB {
|
||||
logger.Info("Cleaning DB")
|
||||
if config.DevMode && config.DevModeOptions.CleanDB {
|
||||
logger.Info("Database: Started clearing...")
|
||||
cleanDB(db)
|
||||
logger.Info("Done cleaning DB")
|
||||
logger.Info("Database: Finished clearing")
|
||||
}
|
||||
|
||||
logger.Info(fmt.Sprintf("Server Time: %s", channelserver.TimeAdjusted().String()))
|
||||
|
||||
// Now start our server(s).
|
||||
|
||||
// Launcher HTTP server.
|
||||
launcherServer := launcherserver.NewServer(
|
||||
&launcherserver.Config{
|
||||
Logger: logger.Named("launcher"),
|
||||
ErupeConfig: erupeConfig,
|
||||
DB: db,
|
||||
UseOriginalLauncherFiles: erupeConfig.Launcher.UseOriginalLauncherFiles,
|
||||
})
|
||||
err = launcherServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to start launcher server: %s", err.Error()))
|
||||
}
|
||||
logger.Info("Started launcher server")
|
||||
|
||||
// Entrance server.
|
||||
entranceServer := entranceserver.NewServer(
|
||||
&entranceserver.Config{
|
||||
Logger: logger.Named("entrance"),
|
||||
ErupeConfig: erupeConfig,
|
||||
DB: db,
|
||||
})
|
||||
err = entranceServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to start entrance server: %s", err.Error()))
|
||||
|
||||
var entranceServer *entranceserver.Server
|
||||
if config.Entrance.Enabled {
|
||||
entranceServer = entranceserver.NewServer(
|
||||
&entranceserver.Config{
|
||||
Logger: logger.Named("entrance"),
|
||||
ErupeConfig: _config.ErupeConfig,
|
||||
DB: db,
|
||||
})
|
||||
err = entranceServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Entrance: Failed to start, %s", err.Error()))
|
||||
}
|
||||
logger.Info("Entrance: Started successfully")
|
||||
} else {
|
||||
logger.Info("Entrance: Disabled")
|
||||
}
|
||||
logger.Info("Started entrance server")
|
||||
|
||||
// Sign server.
|
||||
signServer := signserver.NewServer(
|
||||
&signserver.Config{
|
||||
Logger: logger.Named("sign"),
|
||||
ErupeConfig: erupeConfig,
|
||||
DB: db,
|
||||
})
|
||||
err = signServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to start sign server: %s", err.Error()))
|
||||
|
||||
var signServer *signserver.Server
|
||||
if config.Sign.Enabled {
|
||||
signServer = signserver.NewServer(
|
||||
&signserver.Config{
|
||||
Logger: logger.Named("sign"),
|
||||
ErupeConfig: _config.ErupeConfig,
|
||||
DB: db,
|
||||
})
|
||||
err = signServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Sign: Failed to start, %s", err.Error()))
|
||||
}
|
||||
logger.Info("Sign: Started successfully")
|
||||
} else {
|
||||
logger.Info("Sign: Disabled")
|
||||
}
|
||||
|
||||
// New Sign server
|
||||
var newSignServer *signv2server.Server
|
||||
if config.SignV2.Enabled {
|
||||
newSignServer = signv2server.NewServer(
|
||||
&signv2server.Config{
|
||||
Logger: logger.Named("sign"),
|
||||
ErupeConfig: _config.ErupeConfig,
|
||||
DB: db,
|
||||
})
|
||||
err = newSignServer.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("SignV2: Failed to start, %s", err.Error()))
|
||||
}
|
||||
logger.Info("SignV2: Started successfully")
|
||||
} else {
|
||||
logger.Info("SignV2: Disabled")
|
||||
}
|
||||
logger.Info("Started sign server")
|
||||
|
||||
var channels []*channelserver.Server
|
||||
channelQuery := ""
|
||||
si := 0
|
||||
ci := 0
|
||||
count := 1
|
||||
for _, ee := range erupeConfig.Entrance.Entries {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
// Randomly generate a season for the World
|
||||
season := rand.Intn(3) + 1
|
||||
for _, ce := range ee.Channels {
|
||||
sid := (4096 + si*256) + (16 + ci)
|
||||
c := *channelserver.NewServer(&channelserver.Config{
|
||||
ID: uint16(sid),
|
||||
Logger: logger.Named("channel-" + fmt.Sprint(count)),
|
||||
ErupeConfig: erupeConfig,
|
||||
DB: db,
|
||||
DiscordBot: discordBot,
|
||||
})
|
||||
err = c.Start(int(ce.Port))
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Failed to start channel server: %s", err.Error()))
|
||||
} else {
|
||||
channelQuery += fmt.Sprintf("INSERT INTO servers (server_id, season, current_players) VALUES (%d, %d, 0);", sid, season)
|
||||
channels = append(channels, &c)
|
||||
logger.Info(fmt.Sprintf("Started channel server %d on port %d", count, ce.Port))
|
||||
ci++
|
||||
count++
|
||||
|
||||
if config.Channel.Enabled {
|
||||
channelQuery := ""
|
||||
si := 0
|
||||
ci := 0
|
||||
count := 1
|
||||
for j, ee := range config.Entrance.Entries {
|
||||
for i, ce := range ee.Channels {
|
||||
sid := (4096 + si*256) + (16 + ci)
|
||||
c := *channelserver.NewServer(&channelserver.Config{
|
||||
ID: uint16(sid),
|
||||
Logger: logger.Named("channel-" + fmt.Sprint(count)),
|
||||
ErupeConfig: _config.ErupeConfig,
|
||||
DB: db,
|
||||
DiscordBot: discordBot,
|
||||
})
|
||||
if ee.IP == "" {
|
||||
c.IP = config.Host
|
||||
} else {
|
||||
c.IP = ee.IP
|
||||
}
|
||||
c.Port = ce.Port
|
||||
c.GlobalID = fmt.Sprintf("%02d%02d", j+1, i+1)
|
||||
err = c.Start()
|
||||
if err != nil {
|
||||
preventClose(fmt.Sprintf("Channel: Failed to start, %s", err.Error()))
|
||||
} else {
|
||||
channelQuery += fmt.Sprintf(`INSERT INTO servers (server_id, current_players, world_name, world_description, land) VALUES (%d, 0, '%s', '%s', %d);`, sid, ee.Name, ee.Description, i+1)
|
||||
channels = append(channels, &c)
|
||||
logger.Info(fmt.Sprintf("Channel %d (%d): Started successfully", count, ce.Port))
|
||||
ci++
|
||||
count++
|
||||
}
|
||||
}
|
||||
ci = 0
|
||||
si++
|
||||
}
|
||||
|
||||
// Register all servers in DB
|
||||
_ = db.MustExec(channelQuery)
|
||||
|
||||
for _, c := range channels {
|
||||
c.Channels = channels
|
||||
}
|
||||
ci = 0
|
||||
si++
|
||||
}
|
||||
|
||||
// Register all servers in DB
|
||||
_ = db.MustExec(channelQuery)
|
||||
|
||||
for _, c := range channels {
|
||||
c.Channels = channels
|
||||
}
|
||||
logger.Info("Finished starting Erupe")
|
||||
|
||||
// Wait for exit or interrupt with ctrl+C.
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
|
||||
<-c
|
||||
|
||||
logger.Info("Trying to shutdown gracefully")
|
||||
|
||||
for _, c := range channels {
|
||||
c.Shutdown()
|
||||
if !config.DisableSoftCrash {
|
||||
for i := 0; i < 10; i++ {
|
||||
message := fmt.Sprintf("Shutting down in %d...", 10-i)
|
||||
for _, c := range channels {
|
||||
c.BroadcastChatMessage(message)
|
||||
}
|
||||
logger.Info(message)
|
||||
time.Sleep(time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
if config.Channel.Enabled {
|
||||
for _, c := range channels {
|
||||
c.Shutdown()
|
||||
}
|
||||
}
|
||||
|
||||
if config.Sign.Enabled {
|
||||
signServer.Shutdown()
|
||||
}
|
||||
|
||||
if config.SignV2.Enabled {
|
||||
newSignServer.Shutdown()
|
||||
}
|
||||
|
||||
if config.Entrance.Enabled {
|
||||
entranceServer.Shutdown()
|
||||
}
|
||||
signServer.Shutdown()
|
||||
entranceServer.Shutdown()
|
||||
launcherServer.Shutdown()
|
||||
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
@@ -209,6 +288,9 @@ func wait() {
|
||||
}
|
||||
|
||||
func preventClose(text string) {
|
||||
if _config.ErupeConfig.DisableSoftCrash {
|
||||
os.Exit(0)
|
||||
}
|
||||
fmt.Println("\nFailed to start Erupe:\n" + text)
|
||||
go wait()
|
||||
fmt.Println("\nPress Enter/Return to exit...")
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE IF EXISTS sign_sessions;
|
||||
DROP TABLE IF EXISTS characters;
|
||||
DROP TABLE IF EXISTS users;
|
||||
|
||||
DROP DOMAIN IF EXISTS uint8;
|
||||
DROP DOMAIN IF EXISTS uint16;
|
||||
|
||||
END;
|
||||
@@ -1,37 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE DOMAIN uint8 AS smallint
|
||||
CHECK(VALUE >= 0 AND VALUE <= 255);
|
||||
|
||||
CREATE DOMAIN uint16 AS integer
|
||||
CHECK(VALUE >= 0 AND VALUE <= 65536);
|
||||
|
||||
CREATE TABLE users (
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
username text UNIQUE NOT NULL,
|
||||
password text NOT NULL,
|
||||
item_box bytea
|
||||
);
|
||||
|
||||
CREATE TABLE characters (
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
user_id bigint REFERENCES users(id),
|
||||
is_female boolean,
|
||||
is_new_character boolean,
|
||||
small_gr_level uint8,
|
||||
gr_override_mode boolean,
|
||||
name varchar(15),
|
||||
unk_desc_string varchar(31),
|
||||
gr_override_level uint16,
|
||||
gr_override_unk0 uint8,
|
||||
gr_override_unk1 uint8
|
||||
);
|
||||
|
||||
CREATE TABLE sign_sessions (
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
user_id bigint REFERENCES users(id),
|
||||
auth_token_num bigint,
|
||||
auth_token_str text
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,8 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN exp,
|
||||
DROP COLUMN weapon,
|
||||
DROP COLUMN last_login;
|
||||
|
||||
END;
|
||||
@@ -1,8 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN exp uint16,
|
||||
ADD COLUMN weapon uint16,
|
||||
ADD COLUMN last_login integer;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN savedata;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN savedata bytea;
|
||||
|
||||
END;
|
||||
@@ -1,13 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN decomyset,
|
||||
DROP COLUMN hunternavi,
|
||||
DROP COLUMN otomoairou,
|
||||
DROP COLUMN partner,
|
||||
DROP COLUMN platebox,
|
||||
DROP COLUMN platedata,
|
||||
DROP COLUMN platemyset,
|
||||
DROP COLUMN rengokudata;
|
||||
|
||||
END;
|
||||
@@ -1,14 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN decomyset bytea,
|
||||
ADD COLUMN hunternavi bytea,
|
||||
ADD COLUMN otomoairou bytea,
|
||||
ADD COLUMN partner bytea,
|
||||
ADD COLUMN platebox bytea,
|
||||
ADD COLUMN platedata bytea,
|
||||
ADD COLUMN platemyset bytea,
|
||||
ADD COLUMN trophy bytea,
|
||||
ADD COLUMN rengokudata bytea;
|
||||
|
||||
END;
|
||||
@@ -1,5 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE IF EXISTS questlists;
|
||||
|
||||
END;
|
||||
@@ -1,8 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE questlists (
|
||||
ind int NOT NULL PRIMARY KEY,
|
||||
questlist bytea
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN savemercenary;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN savemercenary bytea;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE guild_characters;
|
||||
DROP TABLE guilds;
|
||||
|
||||
END;
|
||||
@@ -1,22 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE guilds
|
||||
(
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
name varchar(24),
|
||||
created_at timestamp DEFAULT NOW(),
|
||||
leader_id int NOT NULL,
|
||||
main_motto varchar(255) DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE TABLE guild_characters
|
||||
(
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
guild_id bigint REFERENCES guilds (id),
|
||||
character_id bigint REFERENCES characters (id),
|
||||
joined_at timestamp DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX guild_character_unique_index ON guild_characters (character_id);
|
||||
|
||||
END;
|
||||
@@ -1,11 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE guilds
|
||||
DROP COLUMN rp;
|
||||
|
||||
ALTER TABLE guild_characters
|
||||
DROP COLUMN is_applicant,
|
||||
DROP COLUMN is_sub_leader,
|
||||
DROP COLUMN order_index;
|
||||
|
||||
END;
|
||||
@@ -1,11 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE guild_characters
|
||||
ADD COLUMN is_applicant bool NOT NULL DEFAULT false,
|
||||
ADD COLUMN is_sub_leader bool NOT NULL DEFAULT false,
|
||||
ADD COLUMN order_index int NOT NULL DEFAULT 1;
|
||||
|
||||
ALTER TABLE guilds
|
||||
ADD COLUMN rp uint16 NOT NULL DEFAULT 0;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN restrict_guild_scout;
|
||||
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN restrict_guild_scout bool NOT NULL DEFAULT false;
|
||||
|
||||
END;
|
||||
@@ -1,10 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE guilds
|
||||
DROP COLUMN comment,
|
||||
DROP COLUMN festival_colour,
|
||||
DROP COLUMN guild_hall;
|
||||
|
||||
DROP TYPE festival_colour;
|
||||
|
||||
END;
|
||||
@@ -1,11 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TYPE festival_colour AS ENUM ('none', 'red', 'blue');
|
||||
|
||||
ALTER TABLE guilds
|
||||
ADD COLUMN comment varchar(255) NOT NULL DEFAULT '',
|
||||
ADD COLUMN festival_colour festival_colour DEFAULT 'none',
|
||||
ADD COLUMN guild_hall int DEFAULT 0;
|
||||
|
||||
|
||||
END;
|
||||
@@ -1,24 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE characters
|
||||
DROP COLUMN minidata,
|
||||
DROP COLUMN gacha_trial,
|
||||
DROP COLUMN gacha_prem,
|
||||
DROP COLUMN gacha_items,
|
||||
DROP COLUMN daily_time,
|
||||
DROP COLUMN frontier_points,
|
||||
DROP COLUMN netcafe_points,
|
||||
DROP COLUMN house_info,
|
||||
DROP COLUMN login_boost,
|
||||
DROP COLUMN skin_hist,
|
||||
DROP COLUMN gcp;
|
||||
|
||||
DROP TABLE fpoint_items;
|
||||
DROP TABLE gacha_shop;
|
||||
DROP TABLE gacha_shop_items;
|
||||
DROP TABLE lucky_box_state;
|
||||
DROP TABLE stepup_state;
|
||||
DROP TABLE normal_shop_items;
|
||||
DROP TABLE shop_item_state;
|
||||
|
||||
END;
|
||||
@@ -1,100 +0,0 @@
|
||||
BEGIN;
|
||||
ALTER TABLE characters
|
||||
ADD COLUMN minidata bytea,
|
||||
ADD COLUMN gacha_trial int,
|
||||
ADD COLUMN gacha_prem int,
|
||||
ADD COLUMN gacha_items bytea,
|
||||
ADD COLUMN daily_time timestamp,
|
||||
ADD COLUMN frontier_points int,
|
||||
ADD COLUMN netcafe_points int,
|
||||
ADD COLUMN house_info bytea,
|
||||
ADD COLUMN login_boost bytea,
|
||||
ADD COLUMN skin_hist bytea,
|
||||
ADD COLUMN kouryou_point int,
|
||||
ADD COLUMN gcp int;
|
||||
|
||||
CREATE TABLE fpoint_items
|
||||
(
|
||||
hash int,
|
||||
itemType uint8,
|
||||
itemID uint16,
|
||||
quant uint16,
|
||||
itemValue uint16,
|
||||
tradeType uint8
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE gacha_shop
|
||||
(
|
||||
hash bigint,
|
||||
reqGR int,
|
||||
reqHR int,
|
||||
gachaName varchar(255),
|
||||
gachaLink0 varchar(255),
|
||||
gachaLink1 varchar(255),
|
||||
gachaLink2 varchar(255),
|
||||
extraIcon int,
|
||||
gachaType int,
|
||||
hideFlag bool
|
||||
);
|
||||
|
||||
CREATE TABLE gacha_shop_items
|
||||
(
|
||||
shophash int,
|
||||
entryType uint8,
|
||||
itemhash int UNIQUE NOT NULL,
|
||||
currType uint8,
|
||||
currNumber uint16,
|
||||
currQuant uint16,
|
||||
percentage uint16,
|
||||
rarityIcon uint8,
|
||||
rollsCount uint8,
|
||||
itemCount uint8,
|
||||
dailyLimit uint8,
|
||||
itemType int[],
|
||||
itemId int[],
|
||||
quantity int[]
|
||||
);
|
||||
|
||||
CREATE TABLE lucky_box_state
|
||||
(
|
||||
char_id bigint REFERENCES characters (id),
|
||||
shophash int UNIQUE NOT NULL,
|
||||
used_itemhash int[]
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE stepup_state
|
||||
(
|
||||
char_id bigint REFERENCES characters (id),
|
||||
shophash int UNIQUE NOT NULL,
|
||||
step_progression int,
|
||||
step_time timestamp
|
||||
);
|
||||
|
||||
CREATE TABLE normal_shop_items
|
||||
(
|
||||
shoptype int,
|
||||
shopid int,
|
||||
itemhash int UNIQUE NOT NULL,
|
||||
itemID uint16,
|
||||
Points uint16,
|
||||
TradeQuantity uint16,
|
||||
rankReqLow uint16,
|
||||
rankReqHigh uint16,
|
||||
rankReqG uint16,
|
||||
storeLevelReq uint16,
|
||||
maximumQuantity uint16,
|
||||
boughtQuantity uint16,
|
||||
roadFloorsRequired uint16,
|
||||
weeklyFatalisKills uint16
|
||||
);
|
||||
|
||||
CREATE TABLE shop_item_state
|
||||
(
|
||||
char_id bigint REFERENCES characters (id),
|
||||
itemhash int UNIQUE NOT NULL,
|
||||
usedquantity int
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,5 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE login_boost_state;
|
||||
|
||||
END;
|
||||
@@ -1,13 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE login_boost_state
|
||||
(
|
||||
char_id bigint REFERENCES characters (id),
|
||||
week_req uint8,
|
||||
week_count uint8,
|
||||
available bool,
|
||||
end_time int,
|
||||
CONSTRAINT id_week UNIQUE(char_id, week_req)
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,12 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE shop_item_state DROP CONSTRAINT shop_item_state_id_itemhash;
|
||||
ALTER TABLE shop_item_state ADD CONSTRAINT shop_item_state_itemhash_key UNIQUE (itemhash);
|
||||
|
||||
ALTER TABLE stepup_state DROP CONSTRAINT stepup_state_id_shophash;
|
||||
ALTER TABLE stepup_state ADD CONSTRAINT stepup_state_shophash_key UNIQUE (shophash);
|
||||
|
||||
ALTER TABLE lucky_box_state DROP CONSTRAINT lucky_box_state_id_shophash;
|
||||
ALTER TABLE lucky_box_state ADD CONSTRAINT lucky_box_state_shophash_key UNIQUE (shophash);
|
||||
|
||||
END;
|
||||
@@ -1,12 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE shop_item_state DROP CONSTRAINT shop_item_state_itemhash_key;
|
||||
ALTER TABLE shop_item_state ADD CONSTRAINT shop_item_state_id_itemhash UNIQUE(char_id, itemhash);
|
||||
|
||||
ALTER TABLE stepup_state DROP CONSTRAINT stepup_state_shophash_key;
|
||||
ALTER TABLE stepup_state ADD CONSTRAINT stepup_state_id_shophash UNIQUE(char_id, shophash);
|
||||
|
||||
ALTER TABLE lucky_box_state DROP CONSTRAINT lucky_box_state_shophash_key;
|
||||
ALTER TABLE lucky_box_state ADD CONSTRAINT lucky_box_state_id_shophash UNIQUE(char_id, shophash);
|
||||
|
||||
END;
|
||||
@@ -1,18 +0,0 @@
|
||||
BEGIN;
|
||||
ALTER TABLE guild_characters
|
||||
RENAME COLUMN avoid_leadership TO is_sub_leader;
|
||||
|
||||
ALTER TABLE guild_characters
|
||||
ADD COLUMN is_applicant bool NOT NULL DEFAULT false;
|
||||
|
||||
ALTER TABLE guilds
|
||||
DROP COLUMN icon,
|
||||
ALTER COLUMN main_motto TYPE varchar USING '',
|
||||
DROP COLUMN sub_motto;
|
||||
|
||||
ALTER TABLE guilds
|
||||
ALTER COLUMN main_motto SET DEFAULT '';
|
||||
|
||||
DROP TABLE guild_applications;
|
||||
DROP TYPE guild_application_type;
|
||||
END;
|
||||
@@ -1,30 +0,0 @@
|
||||
BEGIN;
|
||||
CREATE TYPE guild_application_type AS ENUM ('applied', 'invited');
|
||||
|
||||
CREATE TABLE guild_applications
|
||||
(
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
guild_id int NOT NULL REFERENCES guilds (id),
|
||||
character_id int NOT NULL REFERENCES characters (id),
|
||||
actor_id int NOT NULL REFERENCES characters (id),
|
||||
application_type guild_application_type NOT NULL,
|
||||
created_at timestamp NOT NULL DEFAULT now(),
|
||||
CONSTRAINT guild_application_character_id UNIQUE (guild_id, character_id)
|
||||
);
|
||||
|
||||
CREATE INDEX guild_application_type_index ON guild_applications (application_type);
|
||||
|
||||
ALTER TABLE guild_characters
|
||||
DROP COLUMN is_applicant;
|
||||
|
||||
ALTER TABLE guild_characters
|
||||
RENAME COLUMN is_sub_leader TO avoid_leadership;
|
||||
|
||||
ALTER TABLE guilds
|
||||
ALTER COLUMN main_motto SET DEFAULT 0;
|
||||
|
||||
ALTER TABLE guilds
|
||||
ADD COLUMN icon bytea,
|
||||
ADD COLUMN sub_motto int DEFAULT 0,
|
||||
ALTER COLUMN main_motto TYPE int USING 0;
|
||||
END;
|
||||
@@ -1,3 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE mail;
|
||||
END;
|
||||
@@ -1,19 +0,0 @@
|
||||
BEGIN;
|
||||
CREATE TABLE mail
|
||||
(
|
||||
id SERIAL NOT NULL PRIMARY KEY,
|
||||
sender_id INT NOT NULL REFERENCES characters (id),
|
||||
recipient_id INT NOT NULL REFERENCES characters (id),
|
||||
subject VARCHAR NOT NULL DEFAULT '',
|
||||
body VARCHAR NOT NULL DEFAULT '',
|
||||
read BOOL NOT NULL DEFAULT FALSE,
|
||||
attached_item_received BOOL NOT NULL DEFAULT FALSE,
|
||||
attached_item INT DEFAULT NULL,
|
||||
attached_item_amount INT NOT NULL DEFAULT 1,
|
||||
is_guild_invite BOOL NOT NULL DEFAULT FALSE,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
||||
deleted BOOL NOT NULL DEFAULT FALSE
|
||||
);
|
||||
|
||||
CREATE INDEX mail_recipient_deleted_created_id_index ON mail (recipient_id, deleted, created_at DESC, id DESC);
|
||||
END;
|
||||
@@ -1,3 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE public.servers;
|
||||
END;
|
||||
@@ -1,21 +0,0 @@
|
||||
BEGIN;
|
||||
-- Table: public.servers
|
||||
|
||||
-- DROP TABLE IF EXISTS public.servers;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.servers
|
||||
(
|
||||
server_id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
||||
server_name text COLLATE pg_catalog."default",
|
||||
season integer,
|
||||
current_players integer,
|
||||
event_id integer,
|
||||
event_expiration integer,
|
||||
CONSTRAINT servers_pkey PRIMARY KEY (server_id)
|
||||
)
|
||||
|
||||
TABLESPACE pg_default;
|
||||
|
||||
ALTER TABLE IF EXISTS public.servers
|
||||
OWNER to postgres;
|
||||
END;
|
||||
@@ -1,6 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE public.account_ban;
|
||||
DROP TABLE public.account_history;
|
||||
DROP TABLE public.account_moderation;
|
||||
DROP TABLE public.account_sub;
|
||||
END;
|
||||
@@ -1,45 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.account_ban
|
||||
(
|
||||
user_id integer NOT NULL,
|
||||
title text COLLATE pg_catalog."default",
|
||||
reason text COLLATE pg_catalog."default",
|
||||
date text COLLATE pg_catalog."default",
|
||||
pass_origin text COLLATE pg_catalog."default",
|
||||
pass_block text COLLATE pg_catalog."default",
|
||||
CONSTRAINT ban_pkey PRIMARY KEY (user_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.account_history
|
||||
(
|
||||
report_id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
||||
user_id integer,
|
||||
title text COLLATE pg_catalog."default",
|
||||
reason text COLLATE pg_catalog."default",
|
||||
date date,
|
||||
CONSTRAINT account_history_pkey PRIMARY KEY (report_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.account_moderation
|
||||
(
|
||||
id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
||||
username text COLLATE pg_catalog."default",
|
||||
password text COLLATE pg_catalog."default",
|
||||
type text COLLATE pg_catalog."default",
|
||||
CONSTRAINT account_moderation_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.account_sub
|
||||
(
|
||||
id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
||||
discord_id text COLLATE pg_catalog."default",
|
||||
erupe_account text COLLATE pg_catalog."default",
|
||||
erupe_password text COLLATE pg_catalog."default",
|
||||
date_inscription date,
|
||||
country text COLLATE pg_catalog."default",
|
||||
presentation text COLLATE pg_catalog."default",
|
||||
CONSTRAINT account_auth_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,3 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE public.event_week;
|
||||
END;
|
||||
@@ -1,11 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.event_week
|
||||
(
|
||||
id integer NOT NULL,
|
||||
event_id integer NOT NULL,
|
||||
date_expiration integer NOT NULL,
|
||||
CONSTRAINT event_week_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,3 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE public.gook;
|
||||
END;
|
||||
@@ -1,20 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.gook
|
||||
(
|
||||
id serial NOT NULL PRIMARY KEY,
|
||||
gook0 bytea,
|
||||
gook1 bytea,
|
||||
gook2 bytea,
|
||||
gook3 bytea,
|
||||
gook4 bytea,
|
||||
gook5 bytea,
|
||||
gook0status boolean,
|
||||
gook1status boolean,
|
||||
gook2status boolean,
|
||||
gook3status boolean,
|
||||
gook4status boolean,
|
||||
gook5status boolean
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -1,3 +0,0 @@
|
||||
BEGIN;
|
||||
DROP TABLE public.history;
|
||||
END;
|
||||
@@ -1,13 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.history
|
||||
(
|
||||
user_id integer,
|
||||
admin_id integer,
|
||||
report_id integer NOT NULL,
|
||||
title text COLLATE pg_catalog."default",
|
||||
reason text COLLATE pg_catalog."default",
|
||||
CONSTRAINT history_pkey PRIMARY KEY (report_id)
|
||||
);
|
||||
|
||||
END;
|
||||
@@ -16,11 +16,7 @@ func (m MsgBinMailNotify) Parse(bf *byteframe.ByteFrame) error {
|
||||
|
||||
func (m MsgBinMailNotify) Build(bf *byteframe.ByteFrame) error {
|
||||
bf.WriteUint8(0x01) // Unk
|
||||
byteName, _ := stringsupport.ConvertUTF8ToShiftJIS(m.SenderName)
|
||||
|
||||
bf.WriteBytes(byteName)
|
||||
bf.WriteBytes(make([]byte, 21-len(byteName)))
|
||||
|
||||
bf.WriteBytes(stringsupport.PaddedString(m.SenderName, 21, true))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
package clientctx
|
||||
|
||||
import "erupe-ce/common/stringsupport"
|
||||
|
||||
// ClientContext holds contextual data required for packet encoding/decoding.
|
||||
type ClientContext struct {
|
||||
StrConv *stringsupport.StringConverter
|
||||
}
|
||||
type ClientContext struct{} // Unused
|
||||
|
||||
@@ -3,6 +3,7 @@ package network
|
||||
import (
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
_config "erupe-ce/config"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
@@ -48,7 +49,14 @@ func (cc *CryptConn) ReadPacket() ([]byte, error) {
|
||||
}
|
||||
|
||||
// Now read the encrypted packet body after getting its size from the header.
|
||||
encryptedPacketBody := make([]byte, cph.DataSize)
|
||||
var encryptedPacketBody []byte
|
||||
|
||||
// Don't know when support for this was added, works in Forward.4, doesn't work in Season 6.0
|
||||
if _config.ErupeConfig.RealClientMode < _config.F1 {
|
||||
encryptedPacketBody = make([]byte, cph.DataSize)
|
||||
} else {
|
||||
encryptedPacketBody = make([]byte, uint32(cph.DataSize)+(uint32(cph.Pf0-0x03)*0x1000))
|
||||
}
|
||||
_, err = io.ReadFull(cc.conn, encryptedPacketBody)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -56,7 +64,7 @@ func (cc *CryptConn) ReadPacket() ([]byte, error) {
|
||||
|
||||
// Update the key rotation before decrypting.
|
||||
if cph.KeyRotDelta != 0 {
|
||||
cc.readKeyRot = (uint32(cph.KeyRotDelta) * (cc.readKeyRot + 1))
|
||||
cc.readKeyRot = uint32(cph.KeyRotDelta) * (cc.readKeyRot + 1)
|
||||
}
|
||||
|
||||
out, combinedCheck, check0, check1, check2 := crypto.Decrypt(encryptedPacketBody, cc.readKeyRot, nil)
|
||||
@@ -94,7 +102,7 @@ func (cc *CryptConn) SendPacket(data []byte) error {
|
||||
keyRotDelta := byte(3)
|
||||
|
||||
if keyRotDelta != 0 {
|
||||
cc.sendKeyRot = (uint32(keyRotDelta) * (cc.sendKeyRot + 1))
|
||||
cc.sendKeyRot = uint32(keyRotDelta) * (cc.sendKeyRot + 1)
|
||||
}
|
||||
|
||||
// Encrypt the data
|
||||
|
||||
@@ -2,10 +2,11 @@ package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
_config "erupe-ce/config"
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfAcquireCafeItem represents the MSG_MHF_ACQUIRE_CAFE_ITEM
|
||||
@@ -30,7 +31,11 @@ func (m *MsgMhfAcquireCafeItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.Cl
|
||||
m.ItemType = bf.ReadUint16()
|
||||
m.ItemID = bf.ReadUint16()
|
||||
m.Quant = bf.ReadUint16()
|
||||
m.PointCost = bf.ReadUint32()
|
||||
if _config.ErupeConfig.RealClientMode >= _config.G1 {
|
||||
m.PointCost = bf.ReadUint32()
|
||||
} else {
|
||||
m.PointCost = uint32(bf.ReadUint16())
|
||||
}
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfAcquireItem represents the MSG_MHF_ACQUIRE_ITEM
|
||||
type MsgMhfAcquireItem struct{}
|
||||
type MsgMhfAcquireItem struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint16
|
||||
Length uint16
|
||||
Unk1 []uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfAcquireItem) Opcode() network.PacketID {
|
||||
@@ -18,7 +23,13 @@ func (m *MsgMhfAcquireItem) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfAcquireItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Length = bf.ReadUint16()
|
||||
for i := 0; i < int(m.Length); i++ {
|
||||
m.Unk1 = append(m.Unk1, bf.ReadUint32())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfAcquireMonthlyItem represents the MSG_MHF_ACQUIRE_MONTHLY_ITEM
|
||||
type MsgMhfAcquireMonthlyItem struct{}
|
||||
type MsgMhfAcquireMonthlyItem struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint16
|
||||
Unk1 uint16
|
||||
Unk2 uint32
|
||||
Unk3 uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfAcquireMonthlyItem) Opcode() network.PacketID {
|
||||
@@ -18,7 +24,12 @@ func (m *MsgMhfAcquireMonthlyItem) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfAcquireMonthlyItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
m.Unk2 = bf.ReadUint32()
|
||||
m.Unk3 = bf.ReadUint32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfAcquireTitle represents the MSG_MHF_ACQUIRE_TITLE
|
||||
type MsgMhfAcquireTitle struct{}
|
||||
type MsgMhfAcquireTitle struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint16
|
||||
Unk1 uint16
|
||||
TitleID uint16
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfAcquireTitle) Opcode() network.PacketID {
|
||||
@@ -18,7 +23,11 @@ func (m *MsgMhfAcquireTitle) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfAcquireTitle) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
m.TitleID = bf.ReadUint16()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfAcquireTournament represents the MSG_MHF_ACQUIRE_TOURNAMENT
|
||||
type MsgMhfAcquireTournament struct{}
|
||||
type MsgMhfAcquireTournament struct {
|
||||
AckHandle uint32
|
||||
TournamentID uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfAcquireTournament) Opcode() network.PacketID {
|
||||
@@ -18,7 +21,9 @@ func (m *MsgMhfAcquireTournament) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfAcquireTournament) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.TournamentID = bf.ReadUint32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -28,7 +28,8 @@ func (m *MsgMhfAnnounce) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientCon
|
||||
m.IPAddress = bf.ReadUint32()
|
||||
m.Port = bf.ReadUint16()
|
||||
_ = bf.ReadUint8()
|
||||
_ = bf.ReadUint16()
|
||||
_ = bf.ReadUint8()
|
||||
_ = bf.ReadUint8()
|
||||
m.StageID = bf.ReadBytes(32)
|
||||
_ = bf.ReadUint32()
|
||||
m.Type = bf.ReadUint8()
|
||||
|
||||
@@ -1,15 +1,24 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
"erupe-ce/common/bfutil"
|
||||
"erupe-ce/common/stringsupport"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfApplyBbsArticle represents the MSG_MHF_APPLY_BBS_ARTICLE
|
||||
type MsgMhfApplyBbsArticle struct{}
|
||||
type MsgMhfApplyBbsArticle struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Unk1 []byte
|
||||
Name string
|
||||
Title string
|
||||
Description string
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfApplyBbsArticle) Opcode() network.PacketID {
|
||||
@@ -18,7 +27,13 @@ func (m *MsgMhfApplyBbsArticle) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfApplyBbsArticle) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadBytes(16)
|
||||
m.Name = stringsupport.SJISToUTF8(bfutil.UpToNull(bf.ReadBytes(32)))
|
||||
m.Title = stringsupport.SJISToUTF8(bfutil.UpToNull(bf.ReadBytes(128)))
|
||||
m.Description = stringsupport.SJISToUTF8(bfutil.UpToNull(bf.ReadBytes(256)))
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfApplyCampaign represents the MSG_MHF_APPLY_CAMPAIGN
|
||||
type MsgMhfApplyCampaign struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint8
|
||||
Unk1 uint8
|
||||
Unk2 uint16
|
||||
Unk0 uint32
|
||||
Unk1 uint16
|
||||
Unk2 []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -22,17 +23,13 @@ func (m *MsgMhfApplyCampaign) Opcode() network.PacketID {
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfApplyCampaign) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
m.Unk1 = bf.ReadUint8()
|
||||
m.Unk2 = bf.ReadUint16()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
m.Unk2 = bf.ReadBytes(16)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfApplyCampaign) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
bf.WriteUint32(m.AckHandle)
|
||||
bf.WriteUint8(m.Unk0)
|
||||
bf.WriteUint8(m.Unk1)
|
||||
bf.WriteUint16(m.Unk2)
|
||||
return nil
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
}
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfApplyDistItem represents the MSG_MHF_APPLY_DIST_ITEM
|
||||
type MsgMhfApplyDistItem struct {
|
||||
AckHandle uint32
|
||||
AckHandle uint32
|
||||
DistributionType uint8
|
||||
DistributionID uint32
|
||||
Unk2 uint32
|
||||
Unk3 uint32
|
||||
DistributionID uint32
|
||||
Unk2 uint32
|
||||
Unk3 uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -32,10 +33,5 @@ func (m *MsgMhfApplyDistItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.Clie
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfApplyDistItem) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
bf.WriteUint32(m.AckHandle)
|
||||
bf.WriteUint8(m.DistributionType)
|
||||
bf.WriteUint32(m.DistributionID)
|
||||
bf.WriteUint32(m.Unk2)
|
||||
bf.WriteUint32(m.Unk3)
|
||||
return nil
|
||||
}
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
}
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfCaravanMyRank represents the MSG_MHF_CARAVAN_MY_RANK
|
||||
type MsgMhfCaravanMyRank struct{}
|
||||
type MsgMhfCaravanMyRank struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Unk1 uint32
|
||||
Unk2 uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfCaravanMyRank) Opcode() network.PacketID {
|
||||
@@ -18,7 +23,11 @@ func (m *MsgMhfCaravanMyRank) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfCaravanMyRank) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadUint32()
|
||||
m.Unk2 = bf.ReadUint32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,24 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfCaravanMyScore represents the MSG_MHF_CARAVAN_MY_SCORE
|
||||
type MsgMhfCaravanMyScore struct{}
|
||||
type MsgMhfCaravanMyScore struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Unk1 uint32
|
||||
Unk2 int32
|
||||
Unk3 int32
|
||||
Unk4 uint32
|
||||
Unk5 int32
|
||||
Unk6 int32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfCaravanMyScore) Opcode() network.PacketID {
|
||||
@@ -18,7 +27,15 @@ func (m *MsgMhfCaravanMyScore) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfCaravanMyScore) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadUint32()
|
||||
m.Unk2 = bf.ReadInt32()
|
||||
m.Unk3 = bf.ReadInt32()
|
||||
m.Unk4 = bf.ReadUint32()
|
||||
m.Unk5 = bf.ReadInt32()
|
||||
m.Unk6 = bf.ReadInt32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfCaravanRanking represents the MSG_MHF_CARAVAN_RANKING
|
||||
type MsgMhfCaravanRanking struct{}
|
||||
type MsgMhfCaravanRanking struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Unk1 uint32
|
||||
Unk2 int32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfCaravanRanking) Opcode() network.PacketID {
|
||||
@@ -18,7 +23,11 @@ func (m *MsgMhfCaravanRanking) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfCaravanRanking) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadUint32()
|
||||
m.Unk2 = bf.ReadInt32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfCheckMonthlyItem represents the MSG_MHF_CHECK_MONTHLY_ITEM
|
||||
type MsgMhfCheckMonthlyItem struct{}
|
||||
type MsgMhfCheckMonthlyItem struct {
|
||||
AckHandle uint32
|
||||
Type uint8
|
||||
Unk []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfCheckMonthlyItem) Opcode() network.PacketID {
|
||||
@@ -18,7 +22,10 @@ func (m *MsgMhfCheckMonthlyItem) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfCheckMonthlyItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Type = bf.ReadUint8()
|
||||
m.Unk = bf.ReadBytes(3)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfCheckWeeklyStamp represents the MSG_MHF_CHECK_WEEKLY_STAMP
|
||||
type MsgMhfCheckWeeklyStamp struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint8
|
||||
StampType string
|
||||
Unk1 bool
|
||||
Unk2 uint16 // Hardcoded 0 in the binary
|
||||
}
|
||||
@@ -22,7 +23,13 @@ func (m *MsgMhfCheckWeeklyStamp) Opcode() network.PacketID {
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfCheckWeeklyStamp) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
stampType := bf.ReadUint8()
|
||||
switch stampType {
|
||||
case 1:
|
||||
m.StampType = "hl"
|
||||
case 2:
|
||||
m.StampType = "ex"
|
||||
}
|
||||
m.Unk1 = bf.ReadBool()
|
||||
m.Unk2 = bf.ReadUint16()
|
||||
return nil
|
||||
@@ -30,9 +37,5 @@ func (m *MsgMhfCheckWeeklyStamp) Parse(bf *byteframe.ByteFrame, ctx *clientctx.C
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfCheckWeeklyStamp) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
bf.WriteUint32(m.AckHandle)
|
||||
bf.WriteUint8(m.Unk0)
|
||||
bf.WriteBool(m.Unk1)
|
||||
bf.WriteUint16(m.Unk2)
|
||||
return nil
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
}
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfContractMercenary represents the MSG_MHF_CONTRACT_MERCENARY
|
||||
type MsgMhfContractMercenary struct{}
|
||||
type MsgMhfContractMercenary struct {
|
||||
AckHandle uint32
|
||||
PactMercID uint32
|
||||
CID uint32
|
||||
Op uint8
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfContractMercenary) Opcode() network.PacketID {
|
||||
@@ -18,7 +23,11 @@ func (m *MsgMhfContractMercenary) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfContractMercenary) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.PactMercID = bf.ReadUint32()
|
||||
m.CID = bf.ReadUint32()
|
||||
m.Op = bf.ReadUint8()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfEntryRookieGuild represents the MSG_MHF_ENTRY_ROOKIE_GUILD
|
||||
type MsgMhfEntryRookieGuild struct{}
|
||||
type MsgMhfEntryRookieGuild struct {
|
||||
AckHandle uint32
|
||||
Unk uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfEntryRookieGuild) Opcode() network.PacketID {
|
||||
@@ -18,7 +21,9 @@ func (m *MsgMhfEntryRookieGuild) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfEntryRookieGuild) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk = bf.ReadUint32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfEntryTournament represents the MSG_MHF_ENTRY_TOURNAMENT
|
||||
type MsgMhfEntryTournament struct{}
|
||||
type MsgMhfEntryTournament struct {
|
||||
AckHandle uint32
|
||||
TournamentID uint32
|
||||
Unk0 uint8
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfEntryTournament) Opcode() network.PacketID {
|
||||
@@ -18,7 +22,10 @@ func (m *MsgMhfEntryTournament) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfEntryTournament) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.TournamentID = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfEnumerateCampaign represents the MSG_MHF_ENUMERATE_CAMPAIGN
|
||||
type MsgMhfEnumerateCampaign struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint8
|
||||
Unk1 uint8
|
||||
Unk2 uint16
|
||||
Unk0 uint16
|
||||
Unk1 uint16
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -22,17 +21,15 @@ func (m *MsgMhfEnumerateCampaign) Opcode() network.PacketID {
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfEnumerateCampaign) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
m.Unk1 = bf.ReadUint8()
|
||||
m.Unk2 = bf.ReadUint16()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfEnumerateCampaign) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
bf.WriteUint32(m.AckHandle)
|
||||
bf.WriteUint8(m.Unk0)
|
||||
bf.WriteUint8(m.Unk1)
|
||||
bf.WriteUint16(m.Unk2)
|
||||
bf.WriteUint16(m.Unk0)
|
||||
bf.WriteUint16(m.Unk1)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/common/byteframe"
|
||||
)
|
||||
|
||||
// MsgMhfEnumerateDistItem represents the MSG_MHF_ENUMERATE_DIST_ITEM
|
||||
type MsgMhfEnumerateDistItem struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint8
|
||||
Unk1 uint16
|
||||
Unk1 uint8
|
||||
Unk2 uint16
|
||||
Unk3 []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -23,16 +25,13 @@ func (m *MsgMhfEnumerateDistItem) Opcode() network.PacketID {
|
||||
func (m *MsgMhfEnumerateDistItem) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
m.Unk1 = bf.ReadUint8()
|
||||
m.Unk2 = bf.ReadUint16()
|
||||
m.Unk3 = bf.ReadBytes(uint(bf.ReadUint8()))
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfEnumerateDistItem) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
bf.WriteUint32(m.AckHandle)
|
||||
bf.WriteUint8(m.Unk0)
|
||||
bf.WriteUint16(m.Unk1)
|
||||
bf.WriteUint16(m.Unk2)
|
||||
return nil
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
@@ -11,9 +10,8 @@ import (
|
||||
// MsgMhfEnumerateGuacot represents the MSG_MHF_ENUMERATE_GUACOT
|
||||
type MsgMhfEnumerateGuacot struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint16 // Hardcoded 0 in binary
|
||||
Unk0 uint32 // Hardcoded 0 in binary
|
||||
Unk1 uint16 // Hardcoded 0 in binary
|
||||
Unk2 uint16 // Hardcoded 0 in binary
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -24,9 +22,8 @@ func (m *MsgMhfEnumerateGuacot) Opcode() network.PacketID {
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfEnumerateGuacot) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Unk0 = bf.ReadUint32()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
m.Unk2 = bf.ReadUint16()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,9 @@ package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/common/bfutil"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/common/stringsupport"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
@@ -11,26 +12,30 @@ import (
|
||||
type EnumerateGuildType uint8
|
||||
|
||||
const (
|
||||
ENUMERATE_GUILD_TYPE_GUILD_NAME = 0x01
|
||||
ENUMERATE_GUILD_TYPE_LEADER_NAME = 0x02
|
||||
ENUMERATE_GUILD_TYPE_LEADER_ID = 0x03
|
||||
ENUMERATE_GUILD_TYPE_ORDER_MEMBERS = 0x04
|
||||
ENUMERATE_GUILD_TYPE_ORDER_REGISTRATION = 0x05
|
||||
ENUMERATE_GUILD_TYPE_ORDER_RANK = 0x06
|
||||
ENUMERATE_GUILD_TYPE_MOTTO = 0x07
|
||||
ENUMERATE_GUILD_TYPE_RECRUITING = 0x08
|
||||
ENUMERATE_ALLIANCE_TYPE_ALLIANCE_NAME = 0x09
|
||||
ENUMERATE_ALLIANCE_TYPE_LEADER_NAME = 0x0A
|
||||
ENUMERATE_ALLIANCE_TYPE_LEADER_ID = 0x0B
|
||||
ENUMERATE_ALLIANCE_TYPE_ORDER_MEMBERS = 0x0C
|
||||
ENUMERATE_ALLIANCE_TYPE_ORDER_REGISTRATION = 0x0D
|
||||
ENUMERATE_GUILD_UNKNOWN = iota
|
||||
ENUMERATE_GUILD_TYPE_GUILD_NAME
|
||||
ENUMERATE_GUILD_TYPE_LEADER_NAME
|
||||
ENUMERATE_GUILD_TYPE_LEADER_ID
|
||||
ENUMERATE_GUILD_TYPE_ORDER_MEMBERS
|
||||
ENUMERATE_GUILD_TYPE_ORDER_REGISTRATION
|
||||
ENUMERATE_GUILD_TYPE_ORDER_RANK
|
||||
ENUMERATE_GUILD_TYPE_MOTTO
|
||||
ENUMERATE_GUILD_TYPE_RECRUITING
|
||||
ENUMERATE_ALLIANCE_TYPE_ALLIANCE_NAME
|
||||
ENUMERATE_ALLIANCE_TYPE_LEADER_NAME
|
||||
ENUMERATE_ALLIANCE_TYPE_LEADER_ID
|
||||
ENUMERATE_ALLIANCE_TYPE_ORDER_MEMBERS
|
||||
ENUMERATE_ALLIANCE_TYPE_ORDER_REGISTRATION
|
||||
)
|
||||
|
||||
// MsgMhfEnumerateGuild represents the MSG_MHF_ENUMERATE_GUILD
|
||||
type MsgMhfEnumerateGuild struct {
|
||||
AckHandle uint32
|
||||
Type EnumerateGuildType
|
||||
RawDataPayload []byte
|
||||
AckHandle uint32
|
||||
Type EnumerateGuildType
|
||||
Page uint8
|
||||
Sorting bool
|
||||
Data1 []byte
|
||||
Data2 string
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -42,8 +47,14 @@ func (m *MsgMhfEnumerateGuild) Opcode() network.PacketID {
|
||||
func (m *MsgMhfEnumerateGuild) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Type = EnumerateGuildType(bf.ReadUint8())
|
||||
m.RawDataPayload = bf.DataFromCurrent()
|
||||
bf.Seek(int64(len(bf.Data())-2), 0)
|
||||
m.Page = bf.ReadUint8()
|
||||
m.Sorting = bf.ReadBool()
|
||||
_ = bf.ReadBytes(1)
|
||||
m.Data1 = bf.ReadBytes(4)
|
||||
_ = bf.ReadBytes(2)
|
||||
lenData2 := uint(bf.ReadUint8())
|
||||
_ = bf.ReadBytes(1)
|
||||
m.Data2 = stringsupport.SJISToUTF8(bfutil.UpToNull(bf.ReadBytes(lenData2)))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ import (
|
||||
type MsgMhfEnumerateGuildTresure struct {
|
||||
AckHandle uint32
|
||||
MaxHunts uint16
|
||||
Unk uint32
|
||||
Unk0 uint16
|
||||
Unk1 uint16
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -24,9 +25,8 @@ func (m *MsgMhfEnumerateGuildTresure) Opcode() network.PacketID {
|
||||
func (m *MsgMhfEnumerateGuildTresure) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.MaxHunts = bf.ReadUint16()
|
||||
// Changes with MaxHunts
|
||||
// 0 if MaxHunts = 1, 1 if MaxHunts = 30
|
||||
m.Unk = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint16()
|
||||
m.Unk1 = bf.ReadUint16()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,10 @@ func (m *MsgMhfEnumerateHouse) Parse(bf *byteframe.ByteFrame, ctx *clientctx.Cli
|
||||
m.CharID = bf.ReadUint32()
|
||||
m.Method = bf.ReadUint8()
|
||||
m.Unk = bf.ReadUint16()
|
||||
_ = bf.ReadUint8() // len
|
||||
m.Name = stringsupport.SJISToUTF8(bf.ReadNullTerminatedBytes())
|
||||
lenName := bf.ReadUint8()
|
||||
if lenName > 0 {
|
||||
m.Name = stringsupport.SJISToUTF8(bf.ReadNullTerminatedBytes())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"erupe-ce/network/clientctx"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
)
|
||||
|
||||
// MsgMhfEnumerateInvGuild represents the MSG_MHF_ENUMERATE_INV_GUILD
|
||||
type MsgMhfEnumerateInvGuild struct{}
|
||||
type MsgMhfEnumerateInvGuild struct {
|
||||
AckHandle uint32
|
||||
Unk []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfEnumerateInvGuild) Opcode() network.PacketID {
|
||||
@@ -18,7 +21,9 @@ func (m *MsgMhfEnumerateInvGuild) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfEnumerateInvGuild) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return errors.New("NOT IMPLEMENTED")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.Unk = bf.ReadBytes(9)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user