Compare commits
7894 Commits
MAILTO_BRA
...
RemoveOldD
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17dcbf17c7 | ||
|
|
64a29e6ece | ||
|
|
b7dbce42e5 | ||
|
|
76167b406b | ||
|
|
8d5b67a606 | ||
|
|
9560b95ab2 | ||
|
|
70d536c270 | ||
|
|
d7df8af487 | ||
|
|
84e5e238ec | ||
|
|
5e7723cbc7 | ||
|
|
4ec116f593 | ||
|
|
89879caa76 | ||
|
|
5914824c25 | ||
|
|
7af8e81039 | ||
|
|
4aab81ccb1 | ||
|
|
3612e06ea4 | ||
|
|
d6807032b7 | ||
|
|
30ef067ea1 | ||
|
|
6f153ff858 | ||
|
|
791d05abe7 | ||
|
|
9d3a83abde | ||
|
|
877577c907 | ||
|
|
7585eafb04 | ||
|
|
0a8de7e776 | ||
|
|
bbf3f0cec1 | ||
|
|
6c3f0127af | ||
|
|
ccdc105a09 | ||
|
|
18656de471 | ||
|
|
5533746860 | ||
|
|
90b6b18b95 | ||
|
|
a7129e5059 | ||
|
|
4733fd7870 | ||
|
|
b879804470 | ||
|
|
e2354d7665 | ||
|
|
dc7d7e8bb8 | ||
|
|
48a1e6651f | ||
|
|
b7ae7d273c | ||
|
|
04d572db49 | ||
|
|
9ceaa121f9 | ||
|
|
a80395bfae | ||
|
|
b5674d4ead | ||
|
|
2562ac522c | ||
|
|
65c8c4221c | ||
|
|
4c2353f325 | ||
|
|
bc8b34ee53 | ||
|
|
eaede0c25c | ||
|
|
4cc8bcc30b | ||
|
|
a8113ea35f | ||
|
|
f6f9317f35 | ||
|
|
c42025ef8e | ||
|
|
0dcece846a | ||
|
|
1c8e695487 | ||
|
|
81e63bacbf | ||
|
|
3ef224a9c3 | ||
|
|
fc377d03a9 | ||
|
|
7ef43433a0 | ||
|
|
3b67ca459e | ||
|
|
9af02680e2 | ||
|
|
548da2dd1a | ||
|
|
68ffaede91 | ||
|
|
496a27d449 | ||
|
|
d3ba34faaa | ||
|
|
5373f0e6e1 | ||
|
|
c726ceaa90 | ||
|
|
245ca0fe2e | ||
|
|
4d9468d373 | ||
|
|
8b2676b6e1 | ||
|
|
f66f963cdc | ||
|
|
f2d34bbd14 | ||
|
|
dc8b9e5f19 | ||
|
|
e9715906c0 | ||
|
|
5a21d40ab8 | ||
|
|
c3a01c701d | ||
|
|
7bf0b48df2 | ||
|
|
d7345f60a2 | ||
|
|
836d0903d2 | ||
|
|
a0544cb5e0 | ||
|
|
77bdb3d163 | ||
|
|
c01e583336 | ||
|
|
203638c58f | ||
|
|
3b655468fd | ||
|
|
a93fb2a92b | ||
|
|
dc64faa66e | ||
|
|
4643c44d68 | ||
|
|
a93f248631 | ||
|
|
345fb3eadb | ||
|
|
58f88ff535 | ||
|
|
1efbd33f60 | ||
|
|
dbeba878ff | ||
|
|
f5bf4b3144 | ||
|
|
2a8f50f5c9 | ||
|
|
37346ef741 | ||
|
|
119964e429 | ||
|
|
2d9cca2eec | ||
|
|
3cb9c195d8 | ||
|
|
ce59d8aee1 | ||
|
|
5ca568de4c | ||
|
|
f6757ceb72 | ||
|
|
4d978924ca | ||
|
|
3c593fd2f0 | ||
|
|
9287d6504d | ||
|
|
4579eec269 | ||
|
|
9230756830 | ||
|
|
d688a6f0a0 | ||
|
|
981afce29a | ||
|
|
035bbf7fb2 | ||
|
|
e0251b80be | ||
|
|
e09369c1f8 | ||
|
|
faf12721d1 | ||
|
|
50d0c06aec | ||
|
|
948f6f521c | ||
|
|
d2925651e3 | ||
|
|
e4f07b9064 | ||
|
|
c77e51c99a | ||
|
|
1f6655d43a | ||
|
|
bb4142abf3 | ||
|
|
ec7ed76d4d | ||
|
|
2d9c07e281 | ||
|
|
beb5a39f8e | ||
|
|
aa7254cf82 | ||
|
|
436c4b73a5 | ||
|
|
893604c431 | ||
|
|
04aa3caab1 | ||
|
|
8304001d60 | ||
|
|
5473c9c1b2 | ||
|
|
bd037db210 | ||
|
|
eef1a274fc | ||
|
|
75906a59fc | ||
|
|
f5924ec122 | ||
|
|
52a78fbd8b | ||
|
|
31d14a596b | ||
|
|
6ef6ddecb3 | ||
|
|
b663d9987b | ||
|
|
ad34d6eb08 | ||
|
|
9d2a2b65f3 | ||
|
|
c21d038d36 | ||
|
|
a9f87890d8 | ||
|
|
14e48ad656 | ||
|
|
41d9ea989b | ||
|
|
860f5caafc | ||
|
|
6132966f1a | ||
|
|
16a9f6d08b | ||
|
|
eeb3fe6af9 | ||
|
|
6bdea53350 | ||
|
|
8174b8a00a | ||
|
|
763d43f255 | ||
|
|
7cbc1b44d2 | ||
|
|
f271c3be83 | ||
|
|
cc5aacfa27 | ||
|
|
f974dd8c58 | ||
|
|
06ca545ef4 | ||
|
|
10e6bcc931 | ||
|
|
fe1de1631a | ||
|
|
26f6ed9085 | ||
|
|
a62294de07 | ||
|
|
532b0e2b0c | ||
|
|
ef7eb77867 | ||
|
|
d41ec0e2a0 | ||
|
|
7f5217ff50 | ||
|
|
258852664b | ||
|
|
ac6725e002 | ||
|
|
0f0198865f | ||
|
|
6185ea9c37 | ||
|
|
3c2d58ed0a | ||
|
|
bafbc69717 | ||
|
|
06e0f20ba6 | ||
|
|
50b4d75ff1 | ||
|
|
385f043bcb | ||
|
|
66af3da999 | ||
|
|
bf8fc9bf2b | ||
|
|
3563fa3d18 | ||
|
|
6096872983 | ||
|
|
fc6080da78 | ||
|
|
39f64e949e | ||
|
|
ff8d76d433 | ||
|
|
38981d3af7 | ||
|
|
446ae68865 | ||
|
|
60f12ef2ba | ||
|
|
1c8d847337 | ||
|
|
49ff8f66c4 | ||
|
|
55be84b8dd | ||
|
|
2451e78bb4 | ||
|
|
4f1f18498b | ||
|
|
ef5fc736c3 | ||
|
|
80189a3a87 | ||
|
|
9e43daf824 | ||
|
|
a1c09d0a73 | ||
|
|
250e947a34 | ||
|
|
a7a093b79f | ||
|
|
adef5c738a | ||
|
|
3b967286ad | ||
|
|
6adb1c959c | ||
|
|
2bb9a8a545 | ||
|
|
68b263feca | ||
|
|
3c169b7d04 | ||
|
|
27a216e69c | ||
|
|
e97fd467cd | ||
|
|
faefa14a3b | ||
|
|
16f90c3fe0 | ||
|
|
419db3f0eb | ||
|
|
cb7774c7db | ||
|
|
26458fe839 | ||
|
|
795f769d5e | ||
|
|
53e0d6f4ad | ||
|
|
a5a3cc3c2c | ||
|
|
4ae2383f99 | ||
|
|
074e2ccc6f | ||
|
|
bc20d943c1 | ||
|
|
6647fe02ad | ||
|
|
282257332e | ||
|
|
6a52b74171 | ||
|
|
4a9593e1f6 | ||
|
|
8d8e8d1a47 | ||
|
|
8c8bbed687 | ||
|
|
916f525269 | ||
|
|
05141d34c2 | ||
|
|
54d328117f | ||
|
|
9095fa6e03 | ||
|
|
68c7e3cf27 | ||
|
|
bed315ee6c | ||
|
|
854414df4f | ||
|
|
82f15807dd | ||
|
|
250269edd6 | ||
|
|
d2d2c6ff59 | ||
|
|
04a5b3b832 | ||
|
|
93e167fada | ||
|
|
3f06fb0a0a | ||
|
|
4eba509d38 | ||
|
|
79c3cd8a7a | ||
|
|
458aaa4768 | ||
|
|
72ded9346c | ||
|
|
84d1794148 | ||
|
|
84cf5785b0 | ||
|
|
52bb52faa0 | ||
|
|
2bf19c7d8f | ||
|
|
24c7cf4a57 | ||
|
|
8b10125355 | ||
|
|
4fb6e7c47b | ||
|
|
aefa48de5b | ||
|
|
29aabfaa4c | ||
|
|
0fb575b027 | ||
|
|
41ba60ca7e | ||
|
|
12f4c1a56e | ||
|
|
c7b9024d78 | ||
|
|
32fd78b726 | ||
|
|
3bd21ad849 | ||
|
|
0c4d375986 | ||
|
|
9f26899c8c | ||
|
|
82f6d6f453 | ||
|
|
0c4b855072 | ||
|
|
4e6631611f | ||
|
|
0470f135c4 | ||
|
|
85c7d18ae3 | ||
|
|
3b6c53da74 | ||
|
|
512857d619 | ||
|
|
6dc2d7e4d2 | ||
|
|
d9e727b8ba | ||
|
|
555da3f7a1 | ||
|
|
dc7639086f | ||
|
|
4541f18760 | ||
|
|
b4549fd4bb | ||
|
|
2f043c9e30 | ||
|
|
4ed88cebba | ||
|
|
b8329612af | ||
|
|
172fff617c | ||
|
|
83c8cc1fae | ||
|
|
6e7f4e1670 | ||
|
|
10b6617c48 | ||
|
|
fff296425d | ||
|
|
8005dd0043 | ||
|
|
feed565fc3 | ||
|
|
b678988c90 | ||
|
|
c2d8209d5c | ||
|
|
f8b196a533 | ||
|
|
6fda7b24bf | ||
|
|
987394103f | ||
|
|
0b3cf3ff18 | ||
|
|
d9c70e46f0 | ||
|
|
f4f2970d0a | ||
|
|
13af87effd | ||
|
|
dba7583631 | ||
|
|
2c5daf4cc9 | ||
|
|
7f26f3101e | ||
|
|
4e069097cb | ||
|
|
5200561a75 | ||
|
|
757204162b | ||
|
|
8189d75efa | ||
|
|
847a52c2f3 | ||
|
|
9fa0b92dd3 | ||
|
|
6c49d37ebf | ||
|
|
d5c5ee4080 | ||
|
|
1d00b6c9c9 | ||
|
|
cb4c019521 | ||
|
|
261f51617b | ||
|
|
67d0ec8374 | ||
|
|
b1b127a551 | ||
|
|
f4bf910c8a | ||
|
|
921e6a3882 | ||
|
|
9fd5f78185 | ||
|
|
4ea3729f29 | ||
|
|
2a7a771146 | ||
|
|
051cf3669f | ||
|
|
c55576e6df | ||
|
|
4ede8ac839 | ||
|
|
3199411b18 | ||
|
|
2470c9051f | ||
|
|
e889dde9a5 | ||
|
|
8f17bab161 | ||
|
|
9a8c4bdbe9 | ||
|
|
566ec7b92f | ||
|
|
60d2cf5d1d | ||
|
|
5795cd1fe0 | ||
|
|
fb061b8d52 | ||
|
|
42e08c860c | ||
|
|
43fff83d63 | ||
|
|
057684cbd7 | ||
|
|
758261d32e | ||
|
|
de9c7c9f85 | ||
|
|
d6d35c2e0c | ||
|
|
3881a8e7ff | ||
|
|
f9b0b72f25 | ||
|
|
aba4ece1da | ||
|
|
0e8c997df5 | ||
|
|
656ff915d3 | ||
|
|
bc25cacb74 | ||
|
|
f549fa7a38 | ||
|
|
90fce3eb74 | ||
|
|
8908f97b41 | ||
|
|
67b7716d4d | ||
|
|
9393d087ea | ||
|
|
d323240c96 | ||
|
|
f7e694d878 | ||
|
|
61c60b3eb8 | ||
|
|
1135eee803 | ||
|
|
40a934496f | ||
|
|
592eefc568 | ||
|
|
a82bc29604 | ||
|
|
3aa8cb7842 | ||
|
|
b844b790f1 | ||
|
|
d087d7347a | ||
|
|
d55a65eb6b | ||
|
|
6acfcc498d | ||
|
|
d609e79f3c | ||
|
|
3058cbf555 | ||
|
|
aa492b455d | ||
|
|
a3080e873f | ||
|
|
abad008765 | ||
|
|
697080e7ab | ||
|
|
b19ab88fef | ||
|
|
c5af2f108c | ||
|
|
5ae5ce5081 | ||
|
|
02f5980d91 | ||
|
|
5c46f0b4a4 | ||
|
|
b7587ffc10 | ||
|
|
b3b4a8c2c3 | ||
|
|
30417a0709 | ||
|
|
7758150121 | ||
|
|
72786e028d | ||
|
|
9f52b981fe | ||
|
|
98245fe0d9 | ||
|
|
509191a3f7 | ||
|
|
fd4a52eaad | ||
|
|
833ee5f0d5 | ||
|
|
ec0f060783 | ||
|
|
17375f82e9 | ||
|
|
0f5f3dad67 | ||
|
|
e4f3cf32cd | ||
|
|
e704f6fd02 | ||
|
|
da872f430b | ||
|
|
bcb7a51ecb | ||
|
|
d692b45ef9 | ||
|
|
36e090e4f2 | ||
|
|
c22092efe0 | ||
|
|
b93acd208b | ||
|
|
835c0822af | ||
|
|
a55ce54bb1 | ||
|
|
dad8efe8bd | ||
|
|
a006e5dfd3 | ||
|
|
b945f26976 | ||
|
|
526d344aad | ||
|
|
e08ee4cc26 | ||
|
|
d3f5c5243c | ||
|
|
e63ed115af | ||
|
|
70e16e24c6 | ||
|
|
2d16ebc092 | ||
|
|
86ad096869 | ||
|
|
c97827f9d1 | ||
|
|
1e404fa6c0 | ||
|
|
1f0fa5c437 | ||
|
|
9f507487e2 | ||
|
|
fd10278074 | ||
|
|
9685925ebc | ||
|
|
fe3e1e70ce | ||
|
|
1eb826e1fa | ||
|
|
9f2aae11bb | ||
|
|
4e1f178389 | ||
|
|
8d91096b15 | ||
|
|
7c46498749 | ||
|
|
c0154ce534 | ||
|
|
2ffc303f9b | ||
|
|
b67f00df07 | ||
|
|
6b3b4ad6ca | ||
|
|
5b77f89a4f | ||
|
|
6185326760 | ||
|
|
cd8f11ec85 | ||
|
|
f0ab82d859 | ||
|
|
d61d9c4575 | ||
|
|
6a7c053dd0 | ||
|
|
d406d1f9c9 | ||
|
|
4e00a8e94a | ||
|
|
cd57b240f5 | ||
|
|
bca0cbbde5 | ||
|
|
396baa380e | ||
|
|
9a36fcd388 | ||
|
|
488cc4562f | ||
|
|
33324eac4f | ||
|
|
ee940a4b44 | ||
|
|
12ece32c94 | ||
|
|
ce50d36a6c | ||
|
|
40c9ee9aaa | ||
|
|
cd1fc89bea | ||
|
|
cd5f53280c | ||
|
|
0051acb625 | ||
|
|
a7194cbcf7 | ||
|
|
26a69078c9 | ||
|
|
b968139da0 | ||
|
|
cab0809536 | ||
|
|
c0daadaa20 | ||
|
|
5bde2697ba | ||
|
|
2db5860769 | ||
|
|
766161cc44 | ||
|
|
9e1c876e58 | ||
|
|
d081c01058 | ||
|
|
fe6b790a23 | ||
|
|
adfc66903c | ||
|
|
f75908c03b | ||
|
|
906fdf619c | ||
|
|
3b534f76f8 | ||
|
|
4d5a191c8b | ||
|
|
02280d597b | ||
|
|
9481d98451 | ||
|
|
449c40a89d | ||
|
|
0782be9f08 | ||
|
|
97918d4e10 | ||
|
|
4d371c0d95 | ||
|
|
a445aaa66a | ||
|
|
8105e6a166 | ||
|
|
efc54c518a | ||
|
|
ec0bf10c03 | ||
|
|
624c7671ee | ||
|
|
14caf39fd4 | ||
|
|
e621d4348a | ||
|
|
620f9317ad | ||
|
|
eea9ddc5af | ||
|
|
79ca86c7de | ||
|
|
0c4b9521d5 | ||
|
|
ee9e8bb28a | ||
|
|
4af961e25a | ||
|
|
c3765026b1 | ||
|
|
8a40ae10c1 | ||
|
|
59e74e9373 | ||
|
|
a5b1f502b6 | ||
|
|
0247d3a198 | ||
|
|
6ea82397a3 | ||
|
|
e0896531eb | ||
|
|
16bd46f732 | ||
|
|
44cb0fff3d | ||
|
|
a4892e98bf | ||
|
|
fcb837aa66 | ||
|
|
5867a55bdc | ||
|
|
b63175db20 | ||
|
|
294f5ecf41 | ||
|
|
3318a39861 | ||
|
|
d78cf05d04 | ||
|
|
0970218907 | ||
|
|
c33b41f8cc | ||
|
|
a65d91f309 | ||
|
|
442ef3d21b | ||
|
|
51035da4ff | ||
|
|
283e5bb163 | ||
|
|
1adaca9cae | ||
|
|
ab0a6e6dd0 | ||
|
|
0ef705b4ba | ||
|
|
b2413c6722 | ||
|
|
4a2003b48a | ||
|
|
91f2930140 | ||
|
|
df8781f1c9 | ||
|
|
d67b4d3f6b | ||
|
|
042141318b | ||
|
|
328e79a007 | ||
|
|
5c62edba3a | ||
|
|
4e1c527b82 | ||
|
|
6eff3c1884 | ||
|
|
116624b1b0 | ||
|
|
3c618c7265 | ||
|
|
e0eaf7f00b | ||
|
|
176e8c5451 | ||
|
|
78ea06c997 | ||
|
|
3e45e0fcd8 | ||
|
|
0236e06fda | ||
|
|
ba9d85891c | ||
|
|
d87f9d1060 | ||
|
|
596e7c0a01 | ||
|
|
8957ccb149 | ||
|
|
e382cf5f41 | ||
|
|
9857b1a59e | ||
|
|
5d50ddb72d | ||
|
|
400154027a | ||
|
|
949e30c64f | ||
|
|
4fb1136a6c | ||
|
|
148d6b590e | ||
|
|
79727e94d8 | ||
|
|
f97d444d8f | ||
|
|
74584ed8b6 | ||
|
|
5e856a67d9 | ||
|
|
c63cdad1a0 | ||
|
|
22be840209 | ||
|
|
b06ce42e18 | ||
|
|
bb7136efe1 | ||
|
|
e325a433cd | ||
|
|
b651be006c | ||
|
|
c669313675 | ||
|
|
1ac77c94fe | ||
|
|
74114cf984 | ||
|
|
056cdd590e | ||
|
|
2f8cb685c4 | ||
|
|
9f7e6c5e8a | ||
|
|
1558689e2b | ||
|
|
3ef73042ff | ||
|
|
b49b48f521 | ||
|
|
0fba81dc0a | ||
|
|
0f24b39bdf | ||
|
|
67af347c93 | ||
|
|
44aa69ed84 | ||
|
|
5d51b8377f | ||
|
|
1894fc9484 | ||
|
|
78e0c6e329 | ||
|
|
fe233fddf4 | ||
|
|
d6c0c53360 | ||
|
|
0cf8a140a9 | ||
|
|
710729e972 | ||
|
|
f0b2db257c | ||
|
|
87ac646444 | ||
|
|
698f313f61 | ||
|
|
5d665f2238 | ||
|
|
874cb1072c | ||
|
|
f9928a5225 | ||
|
|
1b47ada470 | ||
|
|
8684bc6d2a | ||
|
|
c759fe4fbd | ||
|
|
c0384026c1 | ||
|
|
0c2451e92b | ||
|
|
5dd2f359cc | ||
|
|
c9dfe90303 | ||
|
|
04671136ea | ||
|
|
7b7ccadd57 | ||
|
|
5f08bf111e | ||
|
|
d06c6009ae | ||
|
|
d12da9f536 | ||
|
|
0c04e27eb1 | ||
|
|
f69e90bfdb | ||
|
|
9206fd904c | ||
|
|
71bc545ac6 | ||
|
|
3820e80eb0 | ||
|
|
ea84a1fe8e | ||
|
|
dfee645789 | ||
|
|
623a1739b0 | ||
|
|
a35e03ab51 | ||
|
|
30fe903120 | ||
|
|
93979e7a13 | ||
|
|
4976336cd7 | ||
|
|
293dc6ae2d | ||
|
|
2722c6abf9 | ||
|
|
8458f73950 | ||
|
|
c5e8af16d8 | ||
|
|
fb7f0ca845 | ||
|
|
f2fe16c9ca | ||
|
|
d56cfbd643 | ||
|
|
79d217f984 | ||
|
|
1a09b34777 | ||
|
|
c96ec32790 | ||
|
|
a90938b7fe | ||
|
|
ff2e648658 | ||
|
|
824c376c99 | ||
|
|
b7c785dbb9 | ||
|
|
201747cf09 | ||
|
|
3b3150a851 | ||
|
|
5e7c6cadbe | ||
|
|
a629c89a47 | ||
|
|
e12d74e626 | ||
|
|
74460cc8e8 | ||
|
|
211c01a1e7 | ||
|
|
81585718f4 | ||
|
|
82eb7aec56 | ||
|
|
f92bc6705a | ||
|
|
1e5e004c86 | ||
|
|
9d8f9aaffa | ||
|
|
3ab02b9896 | ||
|
|
e2c7517492 | ||
|
|
f49ffdeb17 | ||
|
|
4688f4a267 | ||
|
|
392496f910 | ||
|
|
429035b95e | ||
|
|
60e776c0b1 | ||
|
|
3c90229bd1 | ||
|
|
e8824a34c4 | ||
|
|
5e56e0d9f0 | ||
|
|
ce87194f82 | ||
|
|
8b0ea79b27 | ||
|
|
c93a7af987 | ||
|
|
5b61252657 | ||
|
|
1ad612fe04 | ||
|
|
e82ae91d3b | ||
|
|
89a7ea308b | ||
|
|
baef3ff491 | ||
|
|
bacc204129 | ||
|
|
ad616e2ae7 | ||
|
|
11e8e272dc | ||
|
|
6049d54d57 | ||
|
|
1bce069dc7 | ||
|
|
020c0b0f7f | ||
|
|
7d0b7c66d6 | ||
|
|
91f063881e | ||
|
|
b67d47c22e | ||
|
|
02fcf730c2 | ||
|
|
85c80d8532 | ||
|
|
d3076a4587 | ||
|
|
2928e184e7 | ||
|
|
21ba3d6cb8 | ||
|
|
136fdedb42 | ||
|
|
351bb2c436 | ||
|
|
e2497544f4 | ||
|
|
83a23b5f1c | ||
|
|
108d88aa73 | ||
|
|
d4508c551c | ||
|
|
96eae3899d | ||
|
|
4ab5d272a8 | ||
|
|
ec872fb07e | ||
|
|
0fb3e85ef4 | ||
|
|
99f0b0e6ed | ||
|
|
24a97a12ef | ||
|
|
6c5d2d1f76 | ||
|
|
e75a82953c | ||
|
|
4659274e32 | ||
|
|
e759a9f0ec | ||
|
|
0448460aa8 | ||
|
|
63d006d51c | ||
|
|
8aa191848a | ||
|
|
34c2fcfcff | ||
|
|
86c01f03ff | ||
|
|
7d1f9f8984 | ||
|
|
a4b652fb6e | ||
|
|
7f284fbf17 | ||
|
|
0309575105 | ||
|
|
b1ce1292cd | ||
|
|
b56da5283c | ||
|
|
bb94402f82 | ||
|
|
f4e66ce9d5 | ||
|
|
88a72b7e1b | ||
|
|
fbb3a02aba | ||
|
|
d9d2d87c22 | ||
|
|
8a3070e4d1 | ||
|
|
795c474aa2 | ||
|
|
6acb44cc6b | ||
|
|
44348b0ffc | ||
|
|
ba637881d0 | ||
|
|
f252f64f26 | ||
|
|
f4175f9d93 | ||
|
|
c4d121b673 | ||
|
|
2305c46add | ||
|
|
cdf03c828e | ||
|
|
415018ddda | ||
|
|
1dafb61497 | ||
|
|
b90a717fb1 | ||
|
|
5853f77a56 | ||
|
|
e94feb1a94 | ||
|
|
8189f39979 | ||
|
|
12a9d81b7f | ||
|
|
36609ca04c | ||
|
|
e04e2ec644 | ||
|
|
2bfc8c424b | ||
|
|
5f974b4509 | ||
|
|
f175f1713d | ||
|
|
55d0da1124 | ||
|
|
7a4a69ccea | ||
|
|
6187415172 | ||
|
|
538780b53b | ||
|
|
7191ecc710 | ||
|
|
219619ac4d | ||
|
|
e978f4bd52 | ||
|
|
d511d6f7cf | ||
|
|
80e54a7d35 | ||
|
|
0d56597e86 | ||
|
|
3c6f0accb0 | ||
|
|
828b802387 | ||
|
|
40a84ecba5 | ||
|
|
91bc17ca27 | ||
|
|
f85feaca03 | ||
|
|
3862b13620 | ||
|
|
90c7bcd9de | ||
|
|
7c684bbb7c | ||
|
|
e9662bac89 | ||
|
|
7c2909f337 | ||
|
|
652229634f | ||
|
|
5b597d4bc6 | ||
|
|
d7badd5a07 | ||
|
|
43f634963b | ||
|
|
79472d0bf2 | ||
|
|
50a0d285a1 | ||
|
|
497b238e4c | ||
|
|
65ab40f772 | ||
|
|
53c7e57bc9 | ||
|
|
f9c2c2bcd2 | ||
|
|
cb74fa0564 | ||
|
|
41f723e37a | ||
|
|
947b11003e | ||
|
|
6d2f9e6924 | ||
|
|
458facb9aa | ||
|
|
b884486032 | ||
|
|
36caf9e033 | ||
|
|
ac435378f8 | ||
|
|
420116584d | ||
|
|
66997919f6 | ||
|
|
f5e5c0a6f4 | ||
|
|
367299ddef | ||
|
|
368872de77 | ||
|
|
5e61c45025 | ||
|
|
0f30acf71c | ||
|
|
4757c8e0e4 | ||
|
|
4049071b62 | ||
|
|
eaecbf611e | ||
|
|
5946788239 | ||
|
|
dacbe3641b | ||
|
|
91139eba00 | ||
|
|
f5b78d1114 | ||
|
|
91df78a054 | ||
|
|
454d0090b2 | ||
|
|
ab12796192 | ||
|
|
1b0fc032b5 | ||
|
|
a90118cc0c | ||
|
|
c728b9f01f | ||
|
|
c053a8b481 | ||
|
|
0e107c4842 | ||
|
|
07befae09b | ||
|
|
ac4e93b3e5 | ||
|
|
dbbef7396e | ||
|
|
df4d7336c5 | ||
|
|
22106bc014 | ||
|
|
cbd43bb108 | ||
|
|
db0b7bc7d0 | ||
|
|
7160be3fdb | ||
|
|
55df62eda3 | ||
|
|
196d4e0d9a | ||
|
|
d0a8fe62ca | ||
|
|
945b841d48 | ||
|
|
c4ef934afe | ||
|
|
9d076721e8 | ||
|
|
62fd8be727 | ||
|
|
ae9593fa10 | ||
|
|
78ab560f17 | ||
|
|
e486040111 | ||
|
|
f7dea89c7a | ||
|
|
8b5a2b428e | ||
|
|
944cace649 | ||
|
|
08f111dd0c | ||
|
|
c849307960 | ||
|
|
c846a918fc | ||
|
|
04645c7a9d | ||
|
|
7847db06f7 | ||
|
|
52ff426581 | ||
|
|
38a53f8448 | ||
|
|
e3ce6f3f30 | ||
|
|
d5701c2435 | ||
|
|
779f5ad78d | ||
|
|
306ba98b1e | ||
|
|
db39744a08 | ||
|
|
51e2313515 | ||
|
|
51d9b43023 | ||
|
|
97b5c848d9 | ||
|
|
3bf64af6a4 | ||
|
|
f62051d76f | ||
|
|
de6c30b510 | ||
|
|
4bf9e70937 | ||
|
|
bf0f71d504 | ||
|
|
23c40b5c0f | ||
|
|
93682bb687 | ||
|
|
fa2f9817cc | ||
|
|
f9cd004867 | ||
|
|
1d8ede9301 | ||
|
|
a5b7868cf3 | ||
|
|
0b1647e004 | ||
|
|
3e79243700 | ||
|
|
498b0dfae9 | ||
|
|
67c07c175d | ||
|
|
93854c4c6b | ||
|
|
b6a185a70e | ||
|
|
0485308878 | ||
|
|
952f75d830 | ||
|
|
8f8f7701f0 | ||
|
|
67b43e8565 | ||
|
|
e3b01c7595 | ||
|
|
e85e9626d1 | ||
|
|
586c0aca07 | ||
|
|
5cfb45537b | ||
|
|
245cbae5b2 | ||
|
|
f14fd1ee00 | ||
|
|
40b4bf37e7 | ||
|
|
3dc5150cef | ||
|
|
52061f624e | ||
|
|
0ac14e35b2 | ||
|
|
059f0b427f | ||
|
|
3615d64e55 | ||
|
|
ce6c987c8c | ||
|
|
372b246ae4 | ||
|
|
d7cef5dc99 | ||
|
|
47fb9492d2 | ||
|
|
807f7d7725 | ||
|
|
c1b6656939 | ||
|
|
3a33b18b34 | ||
|
|
70889d7b15 | ||
|
|
5412c22c77 | ||
|
|
241c21b75a | ||
|
|
6ea484d1f5 | ||
|
|
413fab33e5 | ||
|
|
30b0eff13f | ||
|
|
a2db8495bc | ||
|
|
48f6f9d56b | ||
|
|
3fbe1524e4 | ||
|
|
018bd46884 | ||
|
|
6d2ba575bd | ||
|
|
bbcb9cc63c | ||
|
|
e9214b000b | ||
|
|
b88451df35 | ||
|
|
38ce488bd0 | ||
|
|
35c87b9bc6 | ||
|
|
4f7c26fb59 | ||
|
|
2c188de044 | ||
|
|
227c173869 | ||
|
|
34ac502065 | ||
|
|
86035599fe | ||
|
|
745aee0c4c | ||
|
|
e39b3b0498 | ||
|
|
b4b6440297 | ||
|
|
72917f8f44 | ||
|
|
cf434cfd08 | ||
|
|
507cb508d7 | ||
|
|
bc5eaf1b20 | ||
|
|
0398940b8e | ||
|
|
b1bd236e79 | ||
|
|
f22d94b95a | ||
|
|
ce6f7d8d9f | ||
|
|
e41858a470 | ||
|
|
720db7820e | ||
|
|
58d40d97e6 | ||
|
|
560e1d1ec1 | ||
|
|
bc2d3f5307 | ||
|
|
6e086b553a | ||
|
|
47c94bbe3c | ||
|
|
ba1fadc3f7 | ||
|
|
9668f3bd42 | ||
|
|
37bfaf7023 | ||
|
|
a1fd716f3b | ||
|
|
ca034ab855 | ||
|
|
df0413f361 | ||
|
|
859eb894bc | ||
|
|
3b3e4fc761 | ||
|
|
3dd1960b2a | ||
|
|
9069de4eea | ||
|
|
4d72d837be | ||
|
|
70d9be09cc | ||
|
|
8f441bb341 | ||
|
|
f59b95da76 | ||
|
|
35c4e01d18 | ||
|
|
18f85f8dd0 | ||
|
|
a693e71f28 | ||
|
|
c9939d1fd3 | ||
|
|
b36957e25d | ||
|
|
9e8f848074 | ||
|
|
5516bd4ec8 | ||
|
|
2d724b771e | ||
|
|
5f5d8230ea | ||
|
|
642ad8797c | ||
|
|
9f90098dfb | ||
|
|
95101e1958 | ||
|
|
a20cd83e5d | ||
|
|
314b8f7958 | ||
|
|
93c3e23672 | ||
|
|
76b3e558b9 | ||
|
|
ab78e4bef0 | ||
|
|
f3e136fff6 | ||
|
|
18a14d6bf5 | ||
|
|
8be3e5f2e2 | ||
|
|
71379d00bf | ||
|
|
33f1662279 | ||
|
|
5d8f30356a | ||
|
|
60b166ac4d | ||
|
|
f01c807873 | ||
|
|
24d3f55a34 | ||
|
|
ade96f441e | ||
|
|
df22a923c4 | ||
|
|
a0b25e82f5 | ||
|
|
953feea5d3 | ||
|
|
4785e69585 | ||
|
|
4bfcd968a7 | ||
|
|
fd4b78e95d | ||
|
|
86867b76dd | ||
|
|
3584b2144e | ||
|
|
7165b8b1c8 | ||
|
|
1cdde3c8d0 | ||
|
|
d0bc5df348 | ||
|
|
802e907ae5 | ||
|
|
31019c1652 | ||
|
|
a21756dedc | ||
|
|
976d4ef267 | ||
|
|
05b2cbb310 | ||
|
|
9a8a2fb72b | ||
|
|
b355f7ea0e | ||
|
|
791b3309c8 | ||
|
|
5bc4554a6e | ||
|
|
1400e8fb8b | ||
|
|
f039948f09 | ||
|
|
112983b87d | ||
|
|
e46aa34185 | ||
|
|
211f718d25 | ||
|
|
0d77d2ea11 | ||
|
|
b52be5a0e7 | ||
|
|
1d4b7fca78 | ||
|
|
da31012521 | ||
|
|
c343611bf2 | ||
|
|
e0f3d96f9a | ||
|
|
bb3b7c2ff1 | ||
|
|
bed2259ede | ||
|
|
8208dea9e2 | ||
|
|
94729cf355 | ||
|
|
795aee180d | ||
|
|
083c21c7c6 | ||
|
|
c3aa33f7e2 | ||
|
|
ae6d9a5466 | ||
|
|
00780a8a6f | ||
|
|
097307a8f0 | ||
|
|
5d49bab0b1 | ||
|
|
6514a7cdee | ||
|
|
69cd9ff712 | ||
|
|
4682b73269 | ||
|
|
62f9808ce8 | ||
|
|
acbcec3004 | ||
|
|
417b9730b3 | ||
|
|
9a3269d91b | ||
|
|
5b2c2e76fb | ||
|
|
2d3f594b08 | ||
|
|
eed8c3afc6 | ||
|
|
512995a690 | ||
|
|
b983a196aa | ||
|
|
3717641c6c | ||
|
|
39b855dfd3 | ||
|
|
77361183d1 | ||
|
|
d2023dac41 | ||
|
|
24789aba9f | ||
|
|
9628820de0 | ||
|
|
728fea362d | ||
|
|
f0699eac56 | ||
|
|
6fe10b9054 | ||
|
|
899ed70268 | ||
|
|
968d59a50f | ||
|
|
4853d699d7 | ||
|
|
b413a9ba42 | ||
|
|
de39922342 | ||
|
|
443c21dc15 | ||
|
|
e29bad58eb | ||
|
|
c39cd1d7a2 | ||
|
|
3c22121f48 | ||
|
|
7f08256f2f | ||
|
|
c8fc80fb77 | ||
|
|
1c891d2dd6 | ||
|
|
8151679e48 | ||
|
|
a0783a4a5a | ||
|
|
a75c02b0f1 | ||
|
|
af61e4b99f | ||
|
|
9a826752e8 | ||
|
|
5a6d57899a | ||
|
|
6aa7d36e69 | ||
|
|
1e31df0004 | ||
|
|
de4253f385 | ||
|
|
68a912b36d | ||
|
|
651e6b46d0 | ||
|
|
f5e2a5ce2f | ||
|
|
179b369fde | ||
|
|
815859a7bb | ||
|
|
d9185a5a7e | ||
|
|
d1c09d04ff | ||
|
|
87de70d7ac | ||
|
|
08dcf151a6 | ||
|
|
96ef1297af | ||
|
|
9a7b48eb26 | ||
|
|
e8732ba214 | ||
|
|
c985cb4b0e | ||
|
|
51b30845c1 | ||
|
|
c1f3f02117 | ||
|
|
364b725c28 | ||
|
|
3799ccc7b8 | ||
|
|
b1a6f655d7 | ||
|
|
18df3a3df2 | ||
|
|
7df5e2ec9a | ||
|
|
8aafdcac95 | ||
|
|
c918d7df77 | ||
|
|
53df78b377 | ||
|
|
65e3dacb58 | ||
|
|
9db59e2782 | ||
|
|
3f2149f1d8 | ||
|
|
fc0025b59b | ||
|
|
ad49532330 | ||
|
|
b562308535 | ||
|
|
baba7c683c | ||
|
|
8a29b1f0b1 | ||
|
|
c9567944e7 | ||
|
|
4215e79a8b | ||
|
|
6342a98244 | ||
|
|
03a634f27d | ||
|
|
fa2721bd60 | ||
|
|
803782c140 | ||
|
|
37d6196690 | ||
|
|
5db8e09c17 | ||
|
|
6b27df86ca | ||
|
|
bfa28a9e3a | ||
|
|
20de3f4004 | ||
|
|
8695c64724 | ||
|
|
67e772ba10 | ||
|
|
f1b39ff147 | ||
|
|
978e4f71bb | ||
|
|
c36a681815 | ||
|
|
bdceeef8ff | ||
|
|
ffd0bfbf4a | ||
|
|
c59042bc00 | ||
|
|
137860a951 | ||
|
|
db81b82093 | ||
|
|
291759bd6f | ||
|
|
b1712051f1 | ||
|
|
a1fc084b4f | ||
|
|
4146681d02 | ||
|
|
ded4aa73f8 | ||
|
|
4f6a05c971 | ||
|
|
ad98d60489 | ||
|
|
99d378c03f | ||
|
|
b04526e650 | ||
|
|
09183e892f | ||
|
|
5274fdddfe | ||
|
|
061a6cb718 | ||
|
|
c46c240ec5 | ||
|
|
e7f07b3856 | ||
|
|
324119b646 | ||
|
|
e753d19e38 | ||
|
|
5da415cc22 | ||
|
|
ceda89bcfc | ||
|
|
4ed0ab4604 | ||
|
|
9b0743f19a | ||
|
|
c285c5e211 | ||
|
|
5c26a357cc | ||
|
|
c1e4733c3b | ||
|
|
60f33a4ff1 | ||
|
|
4c10477c7c | ||
|
|
61a871690c | ||
|
|
f4f7396cb9 | ||
|
|
48058fdd77 | ||
|
|
704c2ac772 | ||
|
|
9ff39fd8a4 | ||
|
|
6a5da9f5b6 | ||
|
|
cdc1c65a3d | ||
|
|
65f20a2d5a | ||
|
|
7c2b2d86a6 | ||
|
|
ed5c09e2ca | ||
|
|
a19b11738f | ||
|
|
ea7ccf3372 | ||
|
|
03e3476df4 | ||
|
|
80669eb600 | ||
|
|
17c6dc528b | ||
|
|
4fadfde870 | ||
|
|
6ba7c9234f | ||
|
|
dafe049ebd | ||
|
|
ca9ef3c2e8 | ||
|
|
034db9db1f | ||
|
|
9bee1c7ae6 | ||
|
|
bb5aa010d4 | ||
|
|
be1460ac84 | ||
|
|
f0d2463f35 | ||
|
|
dd8e829ab2 | ||
|
|
2a60b87633 | ||
|
|
45912ca0ac | ||
|
|
2be4d8d00a | ||
|
|
0ec2537a01 | ||
|
|
f6180ffc6f | ||
|
|
c90e52b4c2 | ||
|
|
94082b87b8 | ||
|
|
04398eaf11 | ||
|
|
5e494d6339 | ||
|
|
d2416e1378 | ||
|
|
119a854357 | ||
|
|
d5e7ca614a | ||
|
|
badc0769db | ||
|
|
566557a3f0 | ||
|
|
05aeccd5ca | ||
|
|
6332596a4d | ||
|
|
76b95ee227 | ||
|
|
9478439139 | ||
|
|
d49946e886 | ||
|
|
d11dbb57ab | ||
|
|
08357fe683 | ||
|
|
1f401e1f45 | ||
|
|
f5ddf2b63e | ||
|
|
c3aa4dba38 | ||
|
|
1b05ddb812 | ||
|
|
05b008edf1 | ||
|
|
110fe5a836 | ||
|
|
8b1f3d52f9 | ||
|
|
acef905cbe | ||
|
|
d4db10c832 | ||
|
|
eba879a8ca | ||
|
|
14d930dc6d | ||
|
|
f86d88868b | ||
|
|
e1725a42b9 | ||
|
|
593aba4abe | ||
|
|
9a65fa5b1b | ||
|
|
11f76bfa6b | ||
|
|
76268b0341 | ||
|
|
96501b1fca | ||
|
|
c20beab072 | ||
|
|
71712134bd | ||
|
|
2214a2a3e7 | ||
|
|
d9a4819ca7 | ||
|
|
7b045fdab6 | ||
|
|
3263b3a8ac | ||
|
|
85648460a7 | ||
|
|
767b0ee7b1 | ||
|
|
fb40581e50 | ||
|
|
61cec2f531 | ||
|
|
b34a4917dc | ||
|
|
828552e105 | ||
|
|
887b5a178a | ||
|
|
8c86df56bf | ||
|
|
b257b57e1b | ||
|
|
4e5e360aa2 | ||
|
|
4c0e52f3e9 | ||
|
|
b43dcc8fd2 | ||
|
|
abcc2d45a0 | ||
|
|
186be1466f | ||
|
|
3c3fb4e000 | ||
|
|
a1a2c8e6de | ||
|
|
4835fef626 | ||
|
|
fd1035a222 | ||
|
|
f4db6709de | ||
|
|
ed5f2fad9f | ||
|
|
9eb23637ff | ||
|
|
ad009e1438 | ||
|
|
dcc313a3b7 | ||
|
|
d1fff060c6 | ||
|
|
5db3c8ded9 | ||
|
|
3f4b2f7d99 | ||
|
|
c4f158b374 | ||
|
|
61e70e439f | ||
|
|
c66827cc8b | ||
|
|
f217d60eb4 | ||
|
|
edb5d85d3c | ||
|
|
bcc969ba8d | ||
|
|
f774effd17 | ||
|
|
b55d68ba95 | ||
|
|
d40148503c | ||
|
|
7ec8f8f604 | ||
|
|
4444e89bbc | ||
|
|
d7f0325595 | ||
|
|
f79492b78c | ||
|
|
925fbc076c | ||
|
|
6d66f71fcf | ||
|
|
4543df6c4b | ||
|
|
4e885a8ae1 | ||
|
|
de53dbf358 | ||
|
|
1e8647294a | ||
|
|
25d3af84a1 | ||
|
|
72367ff251 | ||
|
|
8b8a2d4790 | ||
|
|
eb8ec7d6d1 | ||
|
|
00bff720d0 | ||
|
|
39c80534b0 | ||
|
|
5cf0cf98f7 | ||
|
|
1a13e6103c | ||
|
|
b1f6a2ce4b | ||
|
|
8252421f26 | ||
|
|
51c3eedb87 | ||
|
|
ad73b379e6 | ||
|
|
0440512d07 | ||
|
|
865baefe82 | ||
|
|
1732adfa07 | ||
|
|
fcf05717c4 | ||
|
|
6a09708500 | ||
|
|
d3527a8a0b | ||
|
|
2f90c9532f | ||
|
|
937ce00468 | ||
|
|
8f61f8eb54 | ||
|
|
29bafb193c | ||
|
|
f2de337030 | ||
|
|
bcae082904 | ||
|
|
887320a8d2 | ||
|
|
bfcb0c92bc | ||
|
|
9a73352750 | ||
|
|
8fe9b5e86a | ||
|
|
a716f18685 | ||
|
|
2e717f67f3 | ||
|
|
ade8b21e54 | ||
|
|
a1599a84e2 | ||
|
|
0435e1c021 | ||
|
|
7528331669 | ||
|
|
42e5816d97 | ||
|
|
77788c00a0 | ||
|
|
663af9cca3 | ||
|
|
2e03ecb2b3 | ||
|
|
752f4aefc8 | ||
|
|
0dbb7eb2fd | ||
|
|
b6420f1ff6 | ||
|
|
cead6ec411 | ||
|
|
f3c665324e | ||
|
|
15cbb4eeb5 | ||
|
|
1892f9e030 | ||
|
|
716b9901a9 | ||
|
|
50516e8f79 | ||
|
|
31a4d80bf5 | ||
|
|
6e43d75756 | ||
|
|
7998ef60b2 | ||
|
|
d623edaca1 | ||
|
|
59dcb2a7df | ||
|
|
7730de5796 | ||
|
|
8fc72c0a4b | ||
|
|
226ae1a7bb | ||
|
|
324484e756 | ||
|
|
78dddd29b1 | ||
|
|
c2d6c41bed | ||
|
|
da4ceaa4fd | ||
|
|
99cc319bb3 | ||
|
|
ef858a1b5a | ||
|
|
62c0a73a69 | ||
|
|
24b7d5e489 | ||
|
|
6f46cc2695 | ||
|
|
1a58709bfd | ||
|
|
711e1f40e4 | ||
|
|
e25b1dc5b6 | ||
|
|
ce8cf140f2 | ||
|
|
005646cae3 | ||
|
|
1dd4359338 | ||
|
|
c3c997183a | ||
|
|
1e3714bd28 | ||
|
|
e413d25e7d | ||
|
|
5e8902c242 | ||
|
|
35560b569a | ||
|
|
34f95bbbdd | ||
|
|
3c890f1602 | ||
|
|
cf548d3884 | ||
|
|
8c7e275201 | ||
|
|
31ccae0cec | ||
|
|
f8fe2acdde | ||
|
|
f0e842dc4a | ||
|
|
726f629ae1 | ||
|
|
19a361f674 | ||
|
|
cb664f26da | ||
|
|
afe1ba95d3 | ||
|
|
145536c5fa | ||
|
|
da880edc7c | ||
|
|
1ce76af0e9 | ||
|
|
72cd4eeaee | ||
|
|
721a9a478f | ||
|
|
d5529afe80 | ||
|
|
44eb3af0f3 | ||
|
|
08848b2e92 | ||
|
|
142620bced | ||
|
|
d599cef011 | ||
|
|
5bba47b39c | ||
|
|
bc26d54909 | ||
|
|
6efc1700b6 | ||
|
|
fe9e562295 | ||
|
|
fe08b8a496 | ||
|
|
a71e2703a2 | ||
|
|
255014182e | ||
|
|
e209c98eab | ||
|
|
6a4a0f9c36 | ||
|
|
5c7786f39f | ||
|
|
2fd7cc20b7 | ||
|
|
a7b4e24cf4 | ||
|
|
4470edff4a | ||
|
|
b33d20d927 | ||
|
|
85b4a44fb1 | ||
|
|
8843e8b87e | ||
|
|
fcf525416f | ||
|
|
768c0e1048 | ||
|
|
a7b8207a95 | ||
|
|
1cf03b53f5 | ||
|
|
d4a8ee886c | ||
|
|
e02c67ff07 | ||
|
|
a10067bd62 | ||
|
|
0aee1faed1 | ||
|
|
e365a381c6 | ||
|
|
2c89e09d03 | ||
|
|
fd0d7ccb59 | ||
|
|
e72a6e6400 | ||
|
|
7c4dc96e03 | ||
|
|
0c4eb3452c | ||
|
|
9787972139 | ||
|
|
2b8a3458a8 | ||
|
|
ea58f0d336 | ||
|
|
e03f574b38 | ||
|
|
115715a1d8 | ||
|
|
fbfaab83ad | ||
|
|
ba2b3e9469 | ||
|
|
4768c7b5e1 | ||
|
|
66e6aa031c | ||
|
|
5dcb038fa0 | ||
|
|
6d2505f53f | ||
|
|
4f44efb156 | ||
|
|
1ad2e68e4b | ||
|
|
e2077b95a4 | ||
|
|
c18bed5a9b | ||
|
|
bdaf9a8ddf | ||
|
|
4a37c272a1 | ||
|
|
6f9015b67e | ||
|
|
664ce07f1a | ||
|
|
54c474764c | ||
|
|
29e64a354f | ||
|
|
96b63db44c | ||
|
|
8a06d2f5c0 | ||
|
|
07289be70e | ||
|
|
04d51e2437 | ||
|
|
a236f89786 | ||
|
|
91269b50d0 | ||
|
|
bc1fcf5d5a | ||
|
|
6e313c1a0a | ||
|
|
311bf3dfb6 | ||
|
|
f48912ead3 | ||
|
|
791769f2e4 | ||
|
|
e61cbfd632 | ||
|
|
f267a054e1 | ||
|
|
58743f3d5d | ||
|
|
cf4fa97a21 | ||
|
|
09107f3813 | ||
|
|
6b0996df7c | ||
|
|
9923f54f7f | ||
|
|
d9a9d0c30c | ||
|
|
d20f81781c | ||
|
|
9c9dabf8b6 | ||
|
|
b23a134de1 | ||
|
|
d68daf37b3 | ||
|
|
d44a503526 | ||
|
|
64ec20b0cd | ||
|
|
a025e7517b | ||
|
|
fa7b263033 | ||
|
|
0e6478e9bb | ||
|
|
4c85e1db08 | ||
|
|
4fdac61f25 | ||
|
|
e247d39ff4 | ||
|
|
1ab259806c | ||
|
|
65bdc27683 | ||
|
|
8a8bb3d77e | ||
|
|
4eb3df0d29 | ||
|
|
5f49f22fb7 | ||
|
|
8e2e51702b | ||
|
|
c3bc213bef | ||
|
|
1568e2814d | ||
|
|
6edcfe6a82 | ||
|
|
1a33421fe1 | ||
|
|
9f2fefb606 | ||
|
|
8d0f6d433f | ||
|
|
5ac9b15456 | ||
|
|
2ae960ccbd | ||
|
|
2ab76ffdb1 | ||
|
|
f3a8b74f77 | ||
|
|
25ac0a5f73 | ||
|
|
e106f26073 | ||
|
|
77e993115e | ||
|
|
9dd07e6ba0 | ||
|
|
22e2a9d2bf | ||
|
|
eb64550ea4 | ||
|
|
ac4f37b0a5 | ||
|
|
354837520c | ||
|
|
a7a3a142df | ||
|
|
63b976aae5 | ||
|
|
7879e50a84 | ||
|
|
16c17cd55c | ||
|
|
e9a056744d | ||
|
|
9aa5b62699 | ||
|
|
72c4d2a866 | ||
|
|
b540c7a2e7 | ||
|
|
9f84fe1bf0 | ||
|
|
a0270fc060 | ||
|
|
9c9e082f74 | ||
|
|
83d75c3fa0 | ||
|
|
dce19ba23f | ||
|
|
44d2a050e0 | ||
|
|
e0da233ad3 | ||
|
|
457a57d4bc | ||
|
|
27a5a65695 | ||
|
|
dfe6b9472a | ||
|
|
a2b0c41087 | ||
|
|
948d0b54b0 | ||
|
|
575b985fb8 | ||
|
|
3f8cc11cae | ||
|
|
9da3e5c9c9 | ||
|
|
78dd60c020 | ||
|
|
5bcda3f0f2 | ||
|
|
d6fc11d98a | ||
|
|
e23a0b6401 | ||
|
|
57b7fafb37 | ||
|
|
9f4a9bc9a2 | ||
|
|
a877826048 | ||
|
|
7876a9e765 | ||
|
|
31ab835636 | ||
|
|
7a3853ed06 | ||
|
|
7f80acda40 | ||
|
|
eb3d75865f | ||
|
|
43c5f4b46f | ||
|
|
6890fabd3c | ||
|
|
e44c8223ff | ||
|
|
dd7e62a93c | ||
|
|
20a62cdd6c | ||
|
|
3958cd059f | ||
|
|
53c9fd8dcb | ||
|
|
be05c26268 | ||
|
|
8e70f7c6b3 | ||
|
|
f7238017b5 | ||
|
|
064ec3f07b | ||
|
|
53b92f890a | ||
|
|
9b4a75a2f8 | ||
|
|
25fa2a9395 | ||
|
|
516bef3e06 | ||
|
|
74735ce7ed | ||
|
|
a7f2ec4561 | ||
|
|
5faec3d6ed | ||
|
|
9db2998134 | ||
|
|
326cdd5d93 | ||
|
|
d777ef9189 | ||
|
|
90439d8478 | ||
|
|
86bed95f8a | ||
|
|
29d4a0272c | ||
|
|
52524023bc | ||
|
|
69abb91cd8 | ||
|
|
22faac0a08 | ||
|
|
3817dceba6 | ||
|
|
9423ca5271 | ||
|
|
1dab6ce3ed | ||
|
|
143a4edd02 | ||
|
|
adec4ac54a | ||
|
|
db20bc1720 | ||
|
|
8d96945b15 | ||
|
|
a012be6a6d | ||
|
|
0c8b07b665 | ||
|
|
3434b35d86 | ||
|
|
ffd571769e | ||
|
|
c54323a1f8 | ||
|
|
b248dd0fc8 | ||
|
|
207c272479 | ||
|
|
f7c264af72 | ||
|
|
c55c619ff7 | ||
|
|
85c33a05a7 | ||
|
|
4d1d70ca76 | ||
|
|
04dcdb28d2 | ||
|
|
0a30b35651 | ||
|
|
59a413497e | ||
|
|
e24cdf321b | ||
|
|
ccf2f2da9b | ||
|
|
d4260119a8 | ||
|
|
e9e900374e | ||
|
|
7b65e1900d | ||
|
|
92b0d35986 | ||
|
|
43ea3d3f41 | ||
|
|
65433b951d | ||
|
|
6702cf7961 | ||
|
|
7b063335be | ||
|
|
b69cf1e950 | ||
|
|
1b64af0c9b | ||
|
|
cdc8077956 | ||
|
|
c9c414f1c0 | ||
|
|
d1419737b5 | ||
|
|
a230da72a6 | ||
|
|
a2271263d0 | ||
|
|
dc657f64cd | ||
|
|
c9a229357c | ||
|
|
fbb1f40d77 | ||
|
|
cded20b7b6 | ||
|
|
0e8ef25cee | ||
|
|
0be3f7f951 | ||
|
|
4fb9e17b43 | ||
|
|
d96f914fc1 | ||
|
|
1d4ec605a7 | ||
|
|
eb362e45da | ||
|
|
993b43f31c | ||
|
|
8711902173 | ||
|
|
2f43037e94 | ||
|
|
15c93f90c2 | ||
|
|
6d97cac430 | ||
|
|
ce4befff05 | ||
|
|
555a919ddd | ||
|
|
5847c66bb7 | ||
|
|
349def3a94 | ||
|
|
f4f16f6856 | ||
|
|
bdcafcea64 | ||
|
|
8ee4b70edd | ||
|
|
917cd408ec | ||
|
|
ef190fe835 | ||
|
|
26782f0ba7 | ||
|
|
9c277134e0 | ||
|
|
ad7971ffd1 | ||
|
|
049f316091 | ||
|
|
8ef5bef118 | ||
|
|
d85b33f31d | ||
|
|
6a3942478b | ||
|
|
6ec83383e2 | ||
|
|
b10aaddcd7 | ||
|
|
abea434d80 | ||
|
|
ee0e8ac41f | ||
|
|
64c2293952 | ||
|
|
c900d89367 | ||
|
|
656bd9c3e8 | ||
|
|
16915211df | ||
|
|
0343f30ff3 | ||
|
|
519fb35777 | ||
|
|
29ae90ea2b | ||
|
|
6d5ab64685 | ||
|
|
c37f617b06 | ||
|
|
08b3a23aa0 | ||
|
|
b816bd348e | ||
|
|
754bbcabc4 | ||
|
|
9583aa7936 | ||
|
|
6ffe0079d6 | ||
|
|
36dc0329f9 | ||
|
|
ce98b2dc7d | ||
|
|
d3fa62c6e9 | ||
|
|
d90e450524 | ||
|
|
0a02093753 | ||
|
|
c0a315bbec | ||
|
|
ce187b5865 | ||
|
|
9e813ee681 | ||
|
|
e0dadcef2d | ||
|
|
9b69df4fe2 | ||
|
|
f6d9f7194c | ||
|
|
a59d815420 | ||
|
|
3574dedce6 | ||
|
|
164839f6fb | ||
|
|
89e50ae71e | ||
|
|
917fc12442 | ||
|
|
0f715858f6 | ||
|
|
903f2bc165 | ||
|
|
50594d5ee2 | ||
|
|
0e484541ef | ||
|
|
3a6cdd1b67 | ||
|
|
9b42ea4cb1 | ||
|
|
7ddcb2ecb1 | ||
|
|
2d833c1592 | ||
|
|
59188b9ffd | ||
|
|
044185b9c7 | ||
|
|
541a9954be | ||
|
|
863cdb6dda | ||
|
|
2512a98a4d | ||
|
|
b27c2c0f07 | ||
|
|
b3ace934f1 | ||
|
|
6655d27071 | ||
|
|
6a79a8665f | ||
|
|
25d65b9397 | ||
|
|
2a62f344d7 | ||
|
|
6a2a44c8c2 | ||
|
|
fbcc465682 | ||
|
|
bc4211d1ed | ||
|
|
bf5ece7e7a | ||
|
|
16725b12a1 | ||
|
|
edecfc5a4c | ||
|
|
c85bf386f6 | ||
|
|
173d73ff3c | ||
|
|
f329c08189 | ||
|
|
a2915eebfa | ||
|
|
f5d79b0ece | ||
|
|
16523d1fdc | ||
|
|
d5d47cefc1 | ||
|
|
816b75fd0b | ||
|
|
fce77d4a7b | ||
|
|
70ff2bd9be | ||
|
|
f1886e2f6b | ||
|
|
c2826b34ce | ||
|
|
5704816c0b | ||
|
|
a6e15c2d3c | ||
|
|
7d0b388dfa | ||
|
|
95ddf7bfd9 | ||
|
|
d3b1cdd2e4 | ||
|
|
04599c8a68 | ||
|
|
91fea0ae34 | ||
|
|
280d940b0a | ||
|
|
094a26a86b | ||
|
|
f2557c4d40 | ||
|
|
c6b1a0acee | ||
|
|
56715faccc | ||
|
|
dac30eb9e4 | ||
|
|
b8dc6ccf8e | ||
|
|
aba751fdab | ||
|
|
215bbb6978 | ||
|
|
66ab409858 | ||
|
|
09c7594e49 | ||
|
|
0ba7886e77 | ||
|
|
e12ca36c15 | ||
|
|
02ad7fd44b | ||
|
|
764e512976 | ||
|
|
8cc794caff | ||
|
|
b6e496388d | ||
|
|
608220c2a7 | ||
|
|
3805b9c59e | ||
|
|
c15c254fa0 | ||
|
|
0a32d2eefa | ||
|
|
30412e1a6d | ||
|
|
84edad5824 | ||
|
|
f3068af283 | ||
|
|
cc89363c8d | ||
|
|
016e174f1c | ||
|
|
2c6d5481f0 | ||
|
|
275be6a065 | ||
|
|
6f20578d40 | ||
|
|
2e92dea938 | ||
|
|
de8df47d71 | ||
|
|
6ec52ecc85 | ||
|
|
0f28d99589 | ||
|
|
3b785e0993 | ||
|
|
2e52f29f54 | ||
|
|
f07932374c | ||
|
|
ab55e92f0c | ||
|
|
efc662e171 | ||
|
|
85f0826660 | ||
|
|
25493021ad | ||
|
|
9b02416f9a | ||
|
|
ee2f6bf759 | ||
|
|
661ba6dce5 | ||
|
|
781f32753d | ||
|
|
2284ad2c19 | ||
|
|
f248fe0fb6 | ||
|
|
2573e08295 | ||
|
|
b19f886c20 | ||
|
|
b741cf53cc | ||
|
|
663dc8e0c4 | ||
|
|
3d8bc3335c | ||
|
|
84c5fb38d5 | ||
|
|
7d4f3d041d | ||
|
|
26bccfb7fb | ||
|
|
4f173c4c7e | ||
|
|
2979dc680a | ||
|
|
8ec1898b2d | ||
|
|
0c42478791 | ||
|
|
9013b35743 | ||
|
|
502157a1c3 | ||
|
|
d404f00d25 | ||
|
|
bf872ac3ec | ||
|
|
bde336e65a | ||
|
|
a362d09c18 | ||
|
|
6690f04312 | ||
|
|
470cc500f6 | ||
|
|
01d498dee2 | ||
|
|
2f7cb6dd66 | ||
|
|
f34bdf6247 | ||
|
|
438b28d444 | ||
|
|
e6984159d7 | ||
|
|
2046d01aaf | ||
|
|
47fc00a267 | ||
|
|
9a0edc87f3 | ||
|
|
199dec9b31 | ||
|
|
214781436a | ||
|
|
c5ea8ac346 | ||
|
|
8ffebb5d83 | ||
|
|
e69fd8c60c | ||
|
|
613e49ec9f | ||
|
|
f9278ea76d | ||
|
|
9ca2937a83 | ||
|
|
ec0bffcbe8 | ||
|
|
9f356b6ca1 | ||
|
|
1ce4f42986 | ||
|
|
38a5206b50 | ||
|
|
6215521227 | ||
|
|
5755542d9b | ||
|
|
86b84b5ad7 | ||
|
|
eae7f86101 | ||
|
|
9e9ec97bb3 | ||
|
|
85d4b6191e | ||
|
|
2d68b2e312 | ||
|
|
a5aa8e2640 | ||
|
|
c7852e9248 | ||
|
|
487b504545 | ||
|
|
a66e5a4570 | ||
|
|
1354f252f5 | ||
|
|
675baf0e9c | ||
|
|
6ed01ceeef | ||
|
|
9fe6bf1f51 | ||
|
|
be91aa1f5c | ||
|
|
c9dd72cbff | ||
|
|
7fc6a69d45 | ||
|
|
7da2228989 | ||
|
|
161a7ca9f5 | ||
|
|
2040ea16b7 | ||
|
|
5ad56223a2 | ||
|
|
9f5ba2cbd4 | ||
|
|
59049b4802 | ||
|
|
7dfcb88001 | ||
|
|
40260bd5fa | ||
|
|
ba87cf3d53 | ||
|
|
c232433e11 | ||
|
|
c51c3e4af2 | ||
|
|
68cdb7d0b0 | ||
|
|
71e7443c33 | ||
|
|
6d7164c0d9 | ||
|
|
9e306d15ea | ||
|
|
7d61af5201 | ||
|
|
9667d8e074 | ||
|
|
b9f6014b69 | ||
|
|
9cf0bd7e44 | ||
|
|
f5dcaa87f4 | ||
|
|
ed2b109deb | ||
|
|
db5c8c0aab | ||
|
|
c263f6010e | ||
|
|
95abb167e3 | ||
|
|
a0ebc626fd | ||
|
|
2dfc6dd811 | ||
|
|
b96f8df857 | ||
|
|
fc901a8a36 | ||
|
|
b6cc01fc9a | ||
|
|
4d8a97e52f | ||
|
|
8a85601fbb | ||
|
|
ee01686f81 | ||
|
|
7c9b537c94 | ||
|
|
f04379a06b | ||
|
|
f82ecce7e0 | ||
|
|
e096a51037 | ||
|
|
2411187e34 | ||
|
|
e0fbee679f | ||
|
|
ae1decdd93 | ||
|
|
79903994ab | ||
|
|
6560b573d4 | ||
|
|
d8d12b4a6e | ||
|
|
7df87a5a4c | ||
|
|
1ebde02c9f | ||
|
|
6dd5bddaf6 | ||
|
|
f244a3ad6d | ||
|
|
9c58911966 | ||
|
|
920bfbe0de | ||
|
|
876243b61b | ||
|
|
7bee483657 | ||
|
|
e112123845 | ||
|
|
67dde617f8 | ||
|
|
559dde90ba | ||
|
|
ceb9848678 | ||
|
|
1e87ed3d72 | ||
|
|
91de9f6012 | ||
|
|
855a68f423 | ||
|
|
8cdace045c | ||
|
|
b16e806fe6 | ||
|
|
4d7b6655cf | ||
|
|
e236e09406 | ||
|
|
184f5a1771 | ||
|
|
6fe333d053 | ||
|
|
3916050cde | ||
|
|
41d4882169 | ||
|
|
9bd2fd58bd | ||
|
|
b6e62df847 | ||
|
|
f6c0d5546c | ||
|
|
90af9ad2ff | ||
|
|
a6091b5668 | ||
|
|
054abd49c4 | ||
|
|
ca6bf4c1bd | ||
|
|
aeda3891a5 | ||
|
|
a18d7d3b91 | ||
|
|
4a21d8ddd0 | ||
|
|
e3b10e7fa4 | ||
|
|
11f93e6320 | ||
|
|
e6060a48e8 | ||
|
|
dec0b322d5 | ||
|
|
ebde099e8c | ||
|
|
56bdc1241a | ||
|
|
5d78e78888 | ||
|
|
11d9b958f7 | ||
|
|
7623c4ab6e | ||
|
|
0c804eb8f6 | ||
|
|
a3923f12f8 | ||
|
|
dcda670ab9 | ||
|
|
661ca3e5d1 | ||
|
|
73df9e69d0 | ||
|
|
afea246aeb | ||
|
|
9336325332 | ||
|
|
356705cb89 | ||
|
|
be271d814a | ||
|
|
3e45079cd6 | ||
|
|
ba9796126f | ||
|
|
7e064bbd3a | ||
|
|
d80772b5de | ||
|
|
6ad29b6117 | ||
|
|
929cfbda61 | ||
|
|
2def2e94bf | ||
|
|
41bcfb40ff | ||
|
|
9bbbdd2773 | ||
|
|
f268fc7fbf | ||
|
|
3b53441efb | ||
|
|
6baa307fd1 | ||
|
|
f252c39e4e | ||
|
|
b8d3f3b8bb | ||
|
|
933646ed20 | ||
|
|
fa3ec6839a | ||
|
|
d6f87350e9 | ||
|
|
7de4af812b | ||
|
|
e815ceb3a8 | ||
|
|
6f28405e11 | ||
|
|
5aeab4a954 | ||
|
|
70ee80b38e | ||
|
|
72205ff75c | ||
|
|
0506db4654 | ||
|
|
71b1b72d93 | ||
|
|
69d26fc990 | ||
|
|
b161581f85 | ||
|
|
4137f588cf | ||
|
|
297f681a94 | ||
|
|
2ee8e38a4a | ||
|
|
f2a071f8f4 | ||
|
|
3107038651 | ||
|
|
f293558ca7 | ||
|
|
b31421ce85 | ||
|
|
ed2cfdfed2 | ||
|
|
9f847ad970 | ||
|
|
952af2cdc8 | ||
|
|
16b4397839 | ||
|
|
bb272f36f1 | ||
|
|
c88eb2fd9c | ||
|
|
375b5308ba | ||
|
|
e2d66462b8 | ||
|
|
ffb6a2c5e7 | ||
|
|
7cb07d6bc8 | ||
|
|
5b69c849ce | ||
|
|
9c033f7d60 | ||
|
|
724f7bde45 | ||
|
|
e0052638a0 | ||
|
|
191a3d156d | ||
|
|
d50e1798e7 | ||
|
|
4911dc6d39 | ||
|
|
d5f3797dde | ||
|
|
7dbbfd73de | ||
|
|
8c94f1f92c | ||
|
|
794ef9319b | ||
|
|
77970cfb5d | ||
|
|
dfdf0fbcb9 | ||
|
|
71238ab307 | ||
|
|
9f0db52c2f | ||
|
|
a4e04b1a1e | ||
|
|
049d5d84a6 | ||
|
|
7aadac9126 | ||
|
|
1336fb61cc | ||
|
|
5e62f96c2c | ||
|
|
5587f1d8d2 | ||
|
|
128b33e018 | ||
|
|
74ab64f3f0 | ||
|
|
4c4c6f8445 | ||
|
|
d5ef9d3965 | ||
|
|
693f5d1915 | ||
|
|
b9d512330b | ||
|
|
92c2b89717 | ||
|
|
deb24c7782 | ||
|
|
dc17b4d9a5 | ||
|
|
175ff9ffad | ||
|
|
990a507247 | ||
|
|
3f5a9b51ac | ||
|
|
4d840695e9 | ||
|
|
5b9b614171 | ||
|
|
679d9e3f03 | ||
|
|
a7f3d8c6b3 | ||
|
|
928a6de8a5 | ||
|
|
0e5df88ea8 | ||
|
|
cf540377a4 | ||
|
|
9abf0ee471 | ||
|
|
586e2e3691 | ||
|
|
b142e0f478 | ||
|
|
4b2b401905 | ||
|
|
6c4b8f671a | ||
|
|
9cb384db89 | ||
|
|
1e98a8b997 | ||
|
|
04523afd75 | ||
|
|
0f70da9c01 | ||
|
|
3c5be0ed02 | ||
|
|
78ddac7d6f | ||
|
|
560b3337b0 | ||
|
|
66c2c448f7 | ||
|
|
f7ebc021a8 | ||
|
|
5794639481 | ||
|
|
20e701cebc | ||
|
|
3a38b24d07 | ||
|
|
66656c9da5 | ||
|
|
41f3bf64df | ||
|
|
191fdd6738 | ||
|
|
0f9d2f989b | ||
|
|
34e9f3e491 | ||
|
|
c9fa0f4535 | ||
|
|
bb95f3bd18 | ||
|
|
72e703144e | ||
|
|
053a936966 | ||
|
|
3e7e71b99a | ||
|
|
dc77a65bd2 | ||
|
|
190a99330b | ||
|
|
0317dc7bb0 | ||
|
|
fe7b858a07 | ||
|
|
0ac409a746 | ||
|
|
b086f7409c | ||
|
|
3dd6745dd7 | ||
|
|
703ca9af2b | ||
|
|
277cec0087 | ||
|
|
b4d5c7e4ce | ||
|
|
fe7799e863 | ||
|
|
0c740efd34 | ||
|
|
f41b11459c | ||
|
|
a59b85078e | ||
|
|
d495a73e5b | ||
|
|
0f6556178c | ||
|
|
2aa2b60dad | ||
|
|
4288391d23 | ||
|
|
214f7beda3 | ||
|
|
7adfe644b7 | ||
|
|
0e3954d4bd | ||
|
|
88d691c869 | ||
|
|
b9f04152ae | ||
|
|
ecc5be6ea7 | ||
|
|
539998ec1a | ||
|
|
645dadc9f8 | ||
|
|
a9d4cc2a1b | ||
|
|
23d55d5115 | ||
|
|
ca72a23f3d | ||
|
|
b29ee2f9e9 | ||
|
|
ad76084cb9 | ||
|
|
78a287cde8 | ||
|
|
b05ae4a7ce | ||
|
|
e2f15157aa | ||
|
|
f300c374d7 | ||
|
|
e2ff812829 | ||
|
|
2a617558d9 | ||
|
|
0ea8197cc3 | ||
|
|
3bde6edabc | ||
|
|
3bcc29c1be | ||
|
|
154eccdf6a | ||
|
|
e0c34a0c13 | ||
|
|
2ca1451b24 | ||
|
|
1067da29bd | ||
|
|
61c45a8a04 | ||
|
|
a458984ea5 | ||
|
|
21157c248b | ||
|
|
30842a5c4b | ||
|
|
1d7149f1d1 | ||
|
|
b4eb4f5402 | ||
|
|
a192f6bdd0 | ||
|
|
182ab83bed | ||
|
|
8ac3fcb06a | ||
|
|
662cb6cd5d | ||
|
|
0c173edadd | ||
|
|
e5e014b0d5 | ||
|
|
5e64f2c123 | ||
|
|
c130b91c69 | ||
|
|
5eaf433084 | ||
|
|
1d4b465870 | ||
|
|
08e8a4c960 | ||
|
|
e05d07e172 | ||
|
|
fa2deda6fe | ||
|
|
2d5d4601ca | ||
|
|
8ef6152a7d | ||
|
|
22b4719a0f | ||
|
|
425a7c0d6d | ||
|
|
31d0b724ac | ||
|
|
b35734172b | ||
|
|
986f93c67c | ||
|
|
f69f171885 | ||
|
|
c6822e5ecf | ||
|
|
9d683269ec | ||
|
|
587d0f6a3b | ||
|
|
aac0f510b3 | ||
|
|
148ca16ff1 | ||
|
|
1030b2ab89 | ||
|
|
7240ed73e9 | ||
|
|
9005c1b29b | ||
|
|
9ae659900c | ||
|
|
eb6d9431cc | ||
|
|
8700ac667d | ||
|
|
77000c658c | ||
|
|
8f5a39cdcc | ||
|
|
192779608e | ||
|
|
fb46f2e159 | ||
|
|
933b9fd29b | ||
|
|
7fc549fd57 | ||
|
|
be00ad7fad | ||
|
|
32d514c5b4 | ||
|
|
fa0dd8ad23 | ||
|
|
4cafb49f48 | ||
|
|
bc24633161 | ||
|
|
29b92b686f | ||
|
|
b6ffcd996c | ||
|
|
ff933d5110 | ||
|
|
8df994b2d9 | ||
|
|
cd85334f21 | ||
|
|
2da30889d0 | ||
|
|
22c8b015c6 | ||
|
|
1f308ef5fc | ||
|
|
9cd4a71b7c | ||
|
|
2cd93059a0 | ||
|
|
2441f8be8f | ||
|
|
99d339efe3 | ||
|
|
6703ee5d5a | ||
|
|
0415ac2bca | ||
|
|
43815ef0da | ||
|
|
3f00361c40 | ||
|
|
8947cb6020 | ||
|
|
2d28609b8c | ||
|
|
aa63828e84 | ||
|
|
fad7c8e1ab | ||
|
|
c871e3a274 | ||
|
|
ec48384b65 | ||
|
|
fab918d441 | ||
|
|
9be255dd28 | ||
|
|
d108641113 | ||
|
|
73d4b06bf1 | ||
|
|
6cc6d647e1 | ||
|
|
f2d3791cf7 | ||
|
|
3c0523a89e | ||
|
|
b30eac787c | ||
|
|
61d94c0076 | ||
|
|
cb017264a4 | ||
|
|
f8d004b1a5 | ||
|
|
98736dbcfa | ||
|
|
b9a8b563d0 | ||
|
|
3869e5eb0f | ||
|
|
931e45da01 | ||
|
|
17ae035cd9 | ||
|
|
02b6167b4f | ||
|
|
6633d45f86 | ||
|
|
6d2b55c44a | ||
|
|
4c68be3695 | ||
|
|
1feb6d428c | ||
|
|
1be8dcf35e | ||
|
|
ed55c3c760 | ||
|
|
098866905a | ||
|
|
2608a095ee | ||
|
|
885c4f8eed | ||
|
|
b9c34b08ec | ||
|
|
a343fc80f6 | ||
|
|
510af228fe | ||
|
|
0c8d2da8cb | ||
|
|
a3efcf5b6f | ||
|
|
bbea53da38 | ||
|
|
963a66acfb | ||
|
|
8491e73254 | ||
|
|
250f935f96 | ||
|
|
0a8aacf896 | ||
|
|
8980cb4162 | ||
|
|
db73f7e25e | ||
|
|
1dfe01a8e4 | ||
|
|
cf7eeb834d | ||
|
|
b91145fa0b | ||
|
|
ad6f7835d1 | ||
|
|
0dc883f526 | ||
|
|
e2a7a9f113 | ||
|
|
13cbf0a551 | ||
|
|
ef1a098d84 | ||
|
|
1d944d9fe8 | ||
|
|
0b456b77a7 | ||
|
|
f027285066 | ||
|
|
b6c3703c9b | ||
|
|
04fa44a916 | ||
|
|
58aaeb13e5 | ||
|
|
9370f25853 | ||
|
|
9718b4120d | ||
|
|
e9cc907767 | ||
|
|
02adef8fc4 | ||
|
|
bebcdd15aa | ||
|
|
31b1bd5683 | ||
|
|
0874ae8463 | ||
|
|
e8010cbccf | ||
|
|
c30c6b85f9 | ||
|
|
379bb4f52d | ||
|
|
c75713c87a | ||
|
|
57faa90884 | ||
|
|
5ec399bec7 | ||
|
|
b7b8a5e07f | ||
|
|
00c45ce33c | ||
|
|
b459abce80 | ||
|
|
2e33d85796 | ||
|
|
247047d6f2 | ||
|
|
e1893561e7 | ||
|
|
3fa2781275 | ||
|
|
6d62afd5d0 | ||
|
|
f4cfbcda1f | ||
|
|
f9a003f82d | ||
|
|
e7aa118264 | ||
|
|
01fe200e68 | ||
|
|
ac462a8989 | ||
|
|
0e0f4e9f83 | ||
|
|
1d32638925 | ||
|
|
76776edbf5 | ||
|
|
dd87774491 | ||
|
|
696d1114ff | ||
|
|
b7d0b14f7c | ||
|
|
f1af70f3d3 | ||
|
|
9b98bc699e | ||
|
|
9ef8edddc4 | ||
|
|
57344a9f71 | ||
|
|
f87700665e | ||
|
|
c9bab79483 | ||
|
|
5747833a78 | ||
|
|
dc5a875ea9 | ||
|
|
aa3ae981e5 | ||
|
|
d527e8e9ac | ||
|
|
f0786bfcad | ||
|
|
00efea357c | ||
|
|
f244ced87e | ||
|
|
3952944dd8 | ||
|
|
524aea47b2 | ||
|
|
d733007663 | ||
|
|
a43dcf60dd | ||
|
|
d94f74549a | ||
|
|
4b4f5da5cc | ||
|
|
b9ac02df78 | ||
|
|
e5bbed718c | ||
|
|
46b9e3c2a8 | ||
|
|
964caa3cf2 | ||
|
|
0f1f79fdd1 | ||
|
|
bedd666c6c | ||
|
|
d5018d8a54 | ||
|
|
293e8b27b5 | ||
|
|
2dab5107cd | ||
|
|
c5d230a0fe | ||
|
|
636d56aae6 | ||
|
|
1a88b30501 | ||
|
|
b7e7517807 | ||
|
|
9d748269bf | ||
|
|
9b406f30e2 | ||
|
|
012700d3f9 | ||
|
|
b1c554316f | ||
|
|
84b722c90b | ||
|
|
dbaa6e8414 | ||
|
|
ea5ad75fbf | ||
|
|
e113e25c26 | ||
|
|
0a6ba7b96e | ||
|
|
09a03524ca | ||
|
|
3deae00620 | ||
|
|
51e34f63fd | ||
|
|
82dfe101eb | ||
|
|
4fb073d7b5 | ||
|
|
9167901dff | ||
|
|
09aa7d4f87 | ||
|
|
2fd51b0ffd | ||
|
|
a7f64fc9f6 | ||
|
|
fed6b7c5b9 | ||
|
|
fcc42987f9 | ||
|
|
a7c49785ad | ||
|
|
e09bd6817c | ||
|
|
381c9be10d | ||
|
|
ca9f7091d0 | ||
|
|
3ae40d6231 | ||
|
|
8d40d7c328 | ||
|
|
650f5e5be6 | ||
|
|
6795a4601b | ||
|
|
0ff2f0e243 | ||
|
|
4df7ac1232 | ||
|
|
11c4d15935 | ||
|
|
d9ee777d88 | ||
|
|
6a76ad2121 | ||
|
|
bfb431615a | ||
|
|
306a961f75 | ||
|
|
246f5b3065 | ||
|
|
1674edc74a | ||
|
|
a761017acc | ||
|
|
741055ce9e | ||
|
|
b5b7132400 | ||
|
|
6ab9e7bf1d | ||
|
|
4b476db077 | ||
|
|
f81a5a6de9 | ||
|
|
f329135fce | ||
|
|
3efd86a555 | ||
|
|
4432299836 | ||
|
|
b83f90da3f | ||
|
|
e93758344d | ||
|
|
3357387df9 | ||
|
|
c73172bda1 | ||
|
|
1861d5eee1 | ||
|
|
8d30332e71 | ||
|
|
b0a48fbf1e | ||
|
|
0108cd6479 | ||
|
|
7ea13344a9 | ||
|
|
f29f8fce60 | ||
|
|
b4cfda9c36 | ||
|
|
c009851510 | ||
|
|
fa9ddfc227 | ||
|
|
171bde7d61 | ||
|
|
026f6b6932 | ||
|
|
07f92ff77f | ||
|
|
c340b6115c | ||
|
|
3b3f387ff8 | ||
|
|
9248af60f9 | ||
|
|
9a07fcffbe | ||
|
|
503bc43e9d | ||
|
|
bdfe2c7f8d | ||
|
|
8cf64a1e7a | ||
|
|
e3c22b329f | ||
|
|
6b768767e5 | ||
|
|
57d078a555 | ||
|
|
4b3c007400 | ||
|
|
12210d405c | ||
|
|
7d9a5f054b | ||
|
|
8ab71a4f33 | ||
|
|
4a3b86fd65 | ||
|
|
74d9f63edf | ||
|
|
eab72fa10c | ||
|
|
245e23bf94 | ||
|
|
effee43052 | ||
|
|
cd2fea256c | ||
|
|
b2394552d2 | ||
|
|
781c66d991 | ||
|
|
d967652794 | ||
|
|
e2da977586 | ||
|
|
faf5a18763 | ||
|
|
946b729944 | ||
|
|
2fae720c82 | ||
|
|
de0f1197c4 | ||
|
|
9a73eb510a | ||
|
|
5121e1c95d | ||
|
|
93e107e40c | ||
|
|
77190afa2b | ||
|
|
12aba7b5f6 | ||
|
|
0124b1e0d6 | ||
|
|
48bed973ed | ||
|
|
80c21af885 | ||
|
|
67f2e2e9d0 | ||
|
|
449630c7aa | ||
|
|
0d81ee22e3 | ||
|
|
5dd51c3800 | ||
|
|
952cfce6fc | ||
|
|
533a094be9 | ||
|
|
0b78318def | ||
|
|
871644f0ce | ||
|
|
e44707e1f4 | ||
|
|
8389ba629e | ||
|
|
a248b2ece8 | ||
|
|
50897d17a2 | ||
|
|
2c6a47a86f | ||
|
|
1bc6522fc6 | ||
|
|
f13227df6b | ||
|
|
1e93a4fa52 | ||
|
|
9e295aa4b3 | ||
|
|
bb56671c90 | ||
|
|
4c73c57cc0 | ||
|
|
efdb6ba539 | ||
|
|
642ce908b4 | ||
|
|
5a4087e268 | ||
|
|
931784787e | ||
|
|
fe67c57f68 | ||
|
|
8208d07569 | ||
|
|
3b12429626 | ||
|
|
371fd21165 | ||
|
|
2167e0743c | ||
|
|
a6d383461e | ||
|
|
f2ddc6fce9 | ||
|
|
7846ca35d8 | ||
|
|
1e5f0b9259 | ||
|
|
828d5f7aa0 | ||
|
|
9106b337ee | ||
|
|
96b2f94853 | ||
|
|
aa64a059e4 | ||
|
|
bbdb3cc988 | ||
|
|
ddca9da0a2 | ||
|
|
4293d95f15 | ||
|
|
218b5af820 | ||
|
|
1dc52f388d | ||
|
|
6b980541fe | ||
|
|
f5f5f829b6 | ||
|
|
641b8e79ca | ||
|
|
26ba1bf6a8 | ||
|
|
7d07ec46f1 | ||
|
|
1d2a0b6edf | ||
|
|
2902b0ff40 | ||
|
|
ef6f578730 | ||
|
|
d32b05510e | ||
|
|
1eb74866f3 | ||
|
|
d34a9f8b08 | ||
|
|
74371d3099 | ||
|
|
5d334db003 | ||
|
|
54564cce76 | ||
|
|
640890cfd1 | ||
|
|
e239c9639f | ||
|
|
abd69964ac | ||
|
|
f1bb7fc419 | ||
|
|
c6841eb8dc | ||
|
|
c263a0fa0b | ||
|
|
50e4394083 | ||
|
|
eb56983f0b | ||
|
|
1aa1a35e7d | ||
|
|
b933a69e6a | ||
|
|
489cc97f73 | ||
|
|
2583671f73 | ||
|
|
3e00e74d71 | ||
|
|
c325f7569e | ||
|
|
da1819c629 | ||
|
|
f0ea5eb238 | ||
|
|
cba5da1580 | ||
|
|
731a26d264 | ||
|
|
540f20c743 | ||
|
|
376a356f16 | ||
|
|
a56281e7e8 | ||
|
|
6419c99b49 | ||
|
|
3bf9b78322 | ||
|
|
4f3ff0508d | ||
|
|
96f14004b1 | ||
|
|
d1f792fc78 | ||
|
|
dcb26bda57 | ||
|
|
7dd8faa2dc | ||
|
|
04772e56d3 | ||
|
|
b99e4334e1 | ||
|
|
34eb41447f | ||
|
|
98ebb9e586 | ||
|
|
041d22a313 | ||
|
|
3b61327da2 | ||
|
|
81a42507bd | ||
|
|
9b9206ef08 | ||
|
|
1a7586d04a | ||
|
|
cef6bb6be9 | ||
|
|
06d077240f | ||
|
|
76143ccc43 | ||
|
|
b8c3881140 | ||
|
|
83d81a5ec8 | ||
|
|
2b2afba13d | ||
|
|
aa9474bd0c | ||
|
|
12c2311fa4 | ||
|
|
45a036d316 | ||
|
|
f271e1406c | ||
|
|
962a468486 | ||
|
|
4ab2c23d31 | ||
|
|
a9e4d75b26 | ||
|
|
f2ee0c64b3 | ||
|
|
e93ed8d2c4 | ||
|
|
f11d0a9875 | ||
|
|
481ad4d991 | ||
|
|
927fe7a55a | ||
|
|
afc7ecd5b1 | ||
|
|
89f4721199 | ||
|
|
9a1521192c | ||
|
|
542d02e511 | ||
|
|
5296156091 | ||
|
|
5f4f4eb739 | ||
|
|
192504ea49 | ||
|
|
ad9de2a9d5 | ||
|
|
72666bde8e | ||
|
|
df61f28833 | ||
|
|
db8d25594d | ||
|
|
70bd69fe6e | ||
|
|
f19ca7ceaf | ||
|
|
27136314b0 | ||
|
|
f643011e53 | ||
|
|
43a79f53c1 | ||
|
|
92a6b6c8d0 | ||
|
|
11ff304260 | ||
|
|
ab499551e6 | ||
|
|
aa0b382d4a | ||
|
|
97c07adc50 | ||
|
|
a335158b84 | ||
|
|
7c529e0547 | ||
|
|
a24d4696bf | ||
|
|
d2684b2846 | ||
|
|
2a4cf3eb53 | ||
|
|
ef2aed49ad | ||
|
|
872b060f20 | ||
|
|
e51698ec95 | ||
|
|
268de5a50d | ||
|
|
802f04f7c5 | ||
|
|
b07c398579 | ||
|
|
eefc86349a | ||
|
|
2ea7df3487 | ||
|
|
b28b86c55a | ||
|
|
82da783cbe | ||
|
|
ccddf33924 | ||
|
|
a8e186a7d1 | ||
|
|
73adf57091 | ||
|
|
f307a7b044 | ||
|
|
d4bb51be47 | ||
|
|
b4b3615aa5 | ||
|
|
a1b9598742 | ||
|
|
8f682521ef | ||
|
|
f7457a3f72 | ||
|
|
1a7be428bd | ||
|
|
e4a8306fd3 | ||
|
|
e16a20aed0 | ||
|
|
92ce65c672 | ||
|
|
0a2de0954f | ||
|
|
dca21a9bbf | ||
|
|
e912d3d58d | ||
|
|
c91029acf9 | ||
|
|
1e87c9adfa | ||
|
|
770938c13f | ||
|
|
f16c07c6f6 | ||
|
|
870d80ee1d | ||
|
|
075416e02c | ||
|
|
1e7f67e20c | ||
|
|
6dc09b67c8 | ||
|
|
fc65291463 | ||
|
|
315d19a499 | ||
|
|
06a2ca93d0 | ||
|
|
dffea3f81d | ||
|
|
da7fa463af | ||
|
|
252080d0bd | ||
|
|
47516b0967 | ||
|
|
196f89df7e | ||
|
|
213c76750c | ||
|
|
91ad084c9b | ||
|
|
cb3e361cc8 | ||
|
|
be7874976b | ||
|
|
5a0c300836 | ||
|
|
f06d6cad13 | ||
|
|
0bea3d5c5f | ||
|
|
9a4b4d35b9 | ||
|
|
fbd360d63b | ||
|
|
d545466115 | ||
|
|
46893f02e1 | ||
|
|
7f359d5cec | ||
|
|
0f2d91d145 | ||
|
|
abbaaba6be | ||
|
|
94c97d19b5 | ||
|
|
70c2f26e11 | ||
|
|
ad1ac559f3 | ||
|
|
230a20f31d | ||
|
|
786bb2438d | ||
|
|
2701eafa8a | ||
|
|
80ca6e2b8c | ||
|
|
6c6b309e49 | ||
|
|
5ef3aa0f18 | ||
|
|
8eeb4425f1 | ||
|
|
d667b404da | ||
|
|
06a522099a | ||
|
|
a2c1d50d52 | ||
|
|
9f3b6e8934 | ||
|
|
cbf12721dd | ||
|
|
0a29f06a82 | ||
|
|
568fe32f26 | ||
|
|
f10ef2e77a | ||
|
|
b030ceac7e | ||
|
|
8bb7f094a7 | ||
|
|
fdf8b180d7 | ||
|
|
da6cf88f6f | ||
|
|
bbd5036562 | ||
|
|
d6598dbb16 | ||
|
|
55b6f5c540 | ||
|
|
2582b8062f | ||
|
|
28e4b99d4b | ||
|
|
f2a8ac10f9 | ||
|
|
5ec76384fd | ||
|
|
c295c87d48 | ||
|
|
be82118997 | ||
|
|
d10145255f | ||
|
|
a8177a1d9a | ||
|
|
f5d7d63a42 | ||
|
|
314ddcb0d7 | ||
|
|
ff54448ac3 | ||
|
|
bdf4fa6853 | ||
|
|
07da1c6708 | ||
|
|
5e5b3e766f | ||
|
|
0f71b811b5 | ||
|
|
a2ab13ee10 | ||
|
|
63940c35da | ||
|
|
1b2c68ed55 | ||
|
|
8f307fdad4 | ||
|
|
359faed83b | ||
|
|
12722e7f70 | ||
|
|
bc1b400fad | ||
|
|
f1c8ac0646 | ||
|
|
77c7a847f5 | ||
|
|
268ac9858e | ||
|
|
242bd33386 | ||
|
|
b90bfa4721 | ||
|
|
6fa9146055 | ||
|
|
e561f6fa33 | ||
|
|
0e21ceef57 | ||
|
|
1df7026b42 | ||
|
|
9dc23ae8bd | ||
|
|
941b44b69a | ||
|
|
4fac7be2a1 | ||
|
|
b4be9ca1a8 | ||
|
|
e562c4ba4b | ||
|
|
dedd0a2fc1 | ||
|
|
b8f354a7e7 | ||
|
|
aa83c449d4 | ||
|
|
b8c13329df | ||
|
|
52c71bfad7 | ||
|
|
3fc016f2ac | ||
|
|
289d347c74 | ||
|
|
56fd682070 | ||
|
|
dda3150013 | ||
|
|
bd14f040ee | ||
|
|
d854ad04ea | ||
|
|
0e8da14ade | ||
|
|
a817acde89 | ||
|
|
141943b382 | ||
|
|
5bf53af107 | ||
|
|
2a64af000b | ||
|
|
3cac2c90bd | ||
|
|
32ab184ea2 | ||
|
|
cc0db74b42 | ||
|
|
f0e626e6e7 | ||
|
|
3c5713388b | ||
|
|
d2bf3066eb | ||
|
|
490ee44a3f | ||
|
|
dde56e728d | ||
|
|
36496b7353 | ||
|
|
9bf63f5436 | ||
|
|
c03b26049f | ||
|
|
8d48e7639a | ||
|
|
6173188e4d | ||
|
|
a2463063c4 | ||
|
|
a436acef6b | ||
|
|
8c3fc93a3c | ||
|
|
ac2b072cf1 | ||
|
|
54beb36fea | ||
|
|
b9abec933a | ||
|
|
1ffe0d0129 | ||
|
|
9abd073417 | ||
|
|
363d87dd98 | ||
|
|
01b8b8e2c9 | ||
|
|
0e060bf013 | ||
|
|
55301fe6ab | ||
|
|
9ffaaca2e8 | ||
|
|
72cec2c321 | ||
|
|
e5e3f5f701 | ||
|
|
3ac69641d1 | ||
|
|
9b4b2ca63d | ||
|
|
f2811d2878 | ||
|
|
69637617ce | ||
|
|
7563aa1e6a | ||
|
|
e4854ccbe6 | ||
|
|
3a1663e603 | ||
|
|
30ebba07e7 | ||
|
|
14538a820a | ||
|
|
9744146269 | ||
|
|
14026ac04a | ||
|
|
a237948169 | ||
|
|
4e121eb837 | ||
|
|
b3a1eadaa4 | ||
|
|
48600d89cf | ||
|
|
aa9710597a | ||
|
|
b1cb10571b | ||
|
|
e4220c7379 | ||
|
|
d8565d833c | ||
|
|
01091788dd | ||
|
|
5d0d0ae116 | ||
|
|
8ae952d655 | ||
|
|
7876bbcfce | ||
|
|
3785833de4 | ||
|
|
f242f678bf | ||
|
|
568016a686 | ||
|
|
4c583f107e | ||
|
|
dc9435f1c2 | ||
|
|
1e9141a534 | ||
|
|
4ea1793e34 | ||
|
|
61c35d08cb | ||
|
|
25b3a13b12 | ||
|
|
da3ff76116 | ||
|
|
f4acade67c | ||
|
|
aa05f15f17 | ||
|
|
40fdc5ba22 | ||
|
|
7c3d59e796 | ||
|
|
dd5f361b85 | ||
|
|
4357a53292 | ||
|
|
1c0de889c0 | ||
|
|
8a2d9fdff0 | ||
|
|
497c60823c | ||
|
|
fa64ddaf6d | ||
|
|
702a43e7f8 | ||
|
|
2f5b521dac | ||
|
|
3317e1a21f | ||
|
|
1119d39d7c | ||
|
|
2bba405161 | ||
|
|
7265fcd8b5 | ||
|
|
24a92854b3 | ||
|
|
ab4db5575a | ||
|
|
f8d3c63f19 | ||
|
|
0ee27f7629 | ||
|
|
9e9c3fe191 | ||
|
|
570b05cd0a | ||
|
|
cd33518a06 | ||
|
|
46e8d238fb | ||
|
|
3332ed7459 | ||
|
|
ac354900fe | ||
|
|
c4b82f67ab | ||
|
|
84a20c8618 | ||
|
|
b5b464a381 | ||
|
|
ed1560d42a | ||
|
|
24d1b7f443 | ||
|
|
0fdb88d53c | ||
|
|
0856501791 | ||
|
|
3b4e4530a6 | ||
|
|
f7e923f8f1 | ||
|
|
cb0c2c5600 | ||
|
|
5da5e55fa0 | ||
|
|
b6a0aff66a | ||
|
|
3a5af378fa | ||
|
|
77adf03846 | ||
|
|
34850048ef | ||
|
|
6032f49576 | ||
|
|
a96c4e838d | ||
|
|
2e01a7f9c4 | ||
|
|
600d9aac6d | ||
|
|
ae3ac55caa | ||
|
|
9e4dc10edf | ||
|
|
11139cfbd9 | ||
|
|
fc4129cfcc | ||
|
|
9e179a6c72 | ||
|
|
12be85a50e | ||
|
|
c95ba78de0 | ||
|
|
7dd69421a1 | ||
|
|
85037cfadf | ||
|
|
32b2d94a95 | ||
|
|
640244ef6c | ||
|
|
e329e37de4 | ||
|
|
55ab0c808f | ||
|
|
206a86201d | ||
|
|
cc31f8a99d | ||
|
|
466ea47fda | ||
|
|
118c97805b | ||
|
|
90847ac95f | ||
|
|
dec5335dea | ||
|
|
9d7c3da55f | ||
|
|
462cbb441c | ||
|
|
e6c188ac32 | ||
|
|
82e3a8508c | ||
|
|
e5e43f569f | ||
|
|
1f117b43ba | ||
|
|
c752f086bd | ||
|
|
5dc5abc3be | ||
|
|
0737abbdec | ||
|
|
4109c4f50e | ||
|
|
7585290428 | ||
|
|
f7ba479251 | ||
|
|
e10aa9e151 | ||
|
|
4137a7050a | ||
|
|
61e1b08588 | ||
|
|
3d3c42a6c7 | ||
|
|
f3ed50246f | ||
|
|
97aee721c3 | ||
|
|
3fc4edcce4 | ||
|
|
07ee5e3104 | ||
|
|
29130e6ef7 | ||
|
|
d2aca792ab | ||
|
|
36e48fa33a | ||
|
|
70d4ea64e6 | ||
|
|
3b05b85628 | ||
|
|
f6f0263fa5 | ||
|
|
c273de6a07 | ||
|
|
80cbe36b7a | ||
|
|
f299f54987 | ||
|
|
e4811f323a | ||
|
|
945143176c | ||
|
|
62c171618b | ||
|
|
850cfd8fa1 | ||
|
|
b74f4ec3de | ||
|
|
efce6dbe46 | ||
|
|
cf147546f6 | ||
|
|
a8a0b63ffe | ||
|
|
38ebbe44b8 | ||
|
|
c5841c0cbd | ||
|
|
a44f6a0bd8 | ||
|
|
d32cf4e9ea | ||
|
|
33abdfdfe3 | ||
|
|
9b0f6210d7 | ||
|
|
d036475b83 | ||
|
|
b3837b8667 | ||
|
|
f4dbc31508 | ||
|
|
420c492a7e | ||
|
|
d2c950ad1d | ||
|
|
627233819d | ||
|
|
c842c7a21e | ||
|
|
dad17cf475 | ||
|
|
5b550b6e3a | ||
|
|
47af53e22b | ||
|
|
febb683597 | ||
|
|
01254d8747 | ||
|
|
8f5813c0a2 | ||
|
|
6355c16731 | ||
|
|
fa337bf2b3 | ||
|
|
80db92eef0 | ||
|
|
51b373aef4 | ||
|
|
9734b7b092 | ||
|
|
ed2c784ba2 | ||
|
|
e940baebe7 | ||
|
|
c4b5ce8b7d | ||
|
|
c42af0e216 | ||
|
|
1a15f88bcf | ||
|
|
3dbe7c3077 | ||
|
|
2b64f6786f | ||
|
|
35941018bd | ||
|
|
009d01704d | ||
|
|
87bf85eb79 | ||
|
|
4360e22d9b | ||
|
|
00a0f2f6d1 | ||
|
|
48351d5ffc | ||
|
|
49dff19b5f | ||
|
|
f89cd110eb | ||
|
|
3d8af28698 | ||
|
|
1975e743f5 | ||
|
|
c6a007a728 | ||
|
|
16e28d0024 | ||
|
|
ea7619260a | ||
|
|
b88d0a311b | ||
|
|
cb2e01c0ab | ||
|
|
379619f4e4 | ||
|
|
e71e2315ba | ||
|
|
3032438c7d | ||
|
|
8c7c80abed | ||
|
|
af8125b945 | ||
|
|
c2e7c19613 | ||
|
|
2c1def0a9e | ||
|
|
c63ad2aed0 | ||
|
|
f6db301b4d | ||
|
|
736e58effc | ||
|
|
d07b10ac8d | ||
|
|
e197487ae9 | ||
|
|
21f2943467 | ||
|
|
440b725854 | ||
|
|
8297ae1a85 | ||
|
|
cd1f026c73 | ||
|
|
e001e89faa | ||
|
|
30ead9145f | ||
|
|
92be964d2d | ||
|
|
d633694d11 | ||
|
|
53a4ef4f1e | ||
|
|
93138f6445 | ||
|
|
7b30af3acf | ||
|
|
4e7e554922 | ||
|
|
c644a9b9d9 | ||
|
|
f195af1848 | ||
|
|
647cb7ac32 | ||
|
|
bad06dcb17 | ||
|
|
45f1e4583c | ||
|
|
871b8909f6 | ||
|
|
0438f71bc7 | ||
|
|
b3c9dd780b | ||
|
|
cf891caa2b | ||
|
|
d9c958d147 | ||
|
|
344492bee8 | ||
|
|
7fb8a37109 | ||
|
|
32bdbc5e22 | ||
|
|
9fed2ea8af | ||
|
|
07f21d02f5 | ||
|
|
c8e1dac630 | ||
|
|
2201d863cf | ||
|
|
329caf5f7c | ||
|
|
6c6412630d | ||
|
|
35b2c182d7 | ||
|
|
4cb90a9f6d | ||
|
|
8249797f6f | ||
|
|
c1ca573fea | ||
|
|
f7b46c4dff | ||
|
|
e26eb9ad36 | ||
|
|
89354588b2 | ||
|
|
8cf5fc67d1 | ||
|
|
b28fd3472e | ||
|
|
62cf538626 | ||
|
|
4cf65288f8 | ||
|
|
7603b93dec | ||
|
|
54584c9b08 | ||
|
|
83642a4545 | ||
|
|
0dab428c74 | ||
|
|
cc3c8aaae1 | ||
|
|
d472fba684 | ||
|
|
79de90379f | ||
|
|
6a78520926 | ||
|
|
3832c2eff7 | ||
|
|
d481afb151 | ||
|
|
c91fae1434 | ||
|
|
da8f241ef3 | ||
|
|
e514cbfa57 | ||
|
|
caf7891083 | ||
|
|
e45542c650 | ||
|
|
e05c2829b5 | ||
|
|
a80f62eebb | ||
|
|
54436a0c32 | ||
|
|
0d93b2dba9 | ||
|
|
c96822cc25 | ||
|
|
49c42adc1e | ||
|
|
74c9764f83 | ||
|
|
7477ff1f3d | ||
|
|
43db707ad6 | ||
|
|
c6800e0a6e | ||
|
|
c6fd3f22ca | ||
|
|
2e756b326f | ||
|
|
a9eb638cb7 | ||
|
|
c5071756e1 | ||
|
|
3829b4cba0 | ||
|
|
7c9b9b19ed | ||
|
|
10ca389632 | ||
|
|
d4e21d533b | ||
|
|
3d03cc7019 | ||
|
|
d103f8b2d1 | ||
|
|
220c86b242 | ||
|
|
c3e3652fa7 | ||
|
|
114c8b9669 | ||
|
|
a14366b05b | ||
|
|
1c82fde593 | ||
|
|
2af09e7b08 | ||
|
|
166afd5dc6 | ||
|
|
ab3a9de57d | ||
|
|
794fc90afc | ||
|
|
c28e6ce625 | ||
|
|
071b1bb9ce | ||
|
|
fb88cf7972 | ||
|
|
116123ed08 | ||
|
|
cfa99ac119 | ||
|
|
22d404b970 | ||
|
|
605968f8d8 | ||
|
|
29c7563ade | ||
|
|
19959a047b | ||
|
|
339fff0c28 | ||
|
|
7abd0f037e | ||
|
|
c37fed4be6 | ||
|
|
3d6e85a342 | ||
|
|
d38f09efa7 | ||
|
|
0ca0bb5fbd | ||
|
|
b63dfc3b9d | ||
|
|
04f2e83271 | ||
|
|
6d0e0f6b8c | ||
|
|
2765798f81 | ||
|
|
17be3d57d0 | ||
|
|
a5fd82f6f0 | ||
|
|
d21ba2bc87 | ||
|
|
abd529162e | ||
|
|
6f3eccdd4c | ||
|
|
638e21f9cb | ||
|
|
0609a6954b | ||
|
|
5748a66d65 | ||
|
|
4d923a4e26 | ||
|
|
5b71155170 | ||
|
|
c84a30b007 | ||
|
|
e07f1e5e78 | ||
|
|
84cc2596cf | ||
|
|
0df059b336 | ||
|
|
e325840a5d | ||
|
|
2703eb7627 | ||
|
|
0d4603f2d4 | ||
|
|
94099529c0 | ||
|
|
b8cd75c6bf | ||
|
|
bc049a77b2 | ||
|
|
ef08d853f8 | ||
|
|
20f0381b2d | ||
|
|
bba26953c4 | ||
|
|
260b4cb667 | ||
|
|
e6867c039a | ||
|
|
d72db37d83 | ||
|
|
6e825c79fc | ||
|
|
b24dcd399e | ||
|
|
e2862d846d | ||
|
|
285d26c57c | ||
|
|
85bb024632 | ||
|
|
7240e492ab | ||
|
|
ca7239e43e | ||
|
|
0e73ea661f | ||
|
|
b55b6911f1 | ||
|
|
4346e26007 | ||
|
|
e3c9c8ed12 | ||
|
|
07133ba64f | ||
|
|
0bad008399 | ||
|
|
24d0734ea9 | ||
|
|
8f48ba05ed | ||
|
|
c67cf143ce | ||
|
|
899881af79 | ||
|
|
d578a728de | ||
|
|
60dcbee3be | ||
|
|
52f1012d17 | ||
|
|
7e12448830 | ||
|
|
7324202ecb | ||
|
|
9452a0966b | ||
|
|
6d688e1f6c | ||
|
|
22813daadf | ||
|
|
6c58d6a8ed | ||
|
|
3a28cc4a40 | ||
|
|
7ad3e20406 | ||
|
|
67b18412ef | ||
|
|
8128f46778 | ||
|
|
c9a599ad14 | ||
|
|
40d67100a8 | ||
|
|
7332039d2d | ||
|
|
33c952da3a | ||
|
|
83ab7dd4d9 | ||
|
|
6334db57d5 | ||
|
|
6b401b57b8 | ||
|
|
62ace165eb | ||
|
|
70a36f7935 | ||
|
|
66d925b4d9 | ||
|
|
de4c7422a6 | ||
|
|
a2a6dea886 | ||
|
|
378c43d6cc | ||
|
|
1c6314ed8a | ||
|
|
dcdf341134 | ||
|
|
2a080256d0 | ||
|
|
df05d6f25f | ||
|
|
4d73b7f9f2 | ||
|
|
7413297e63 | ||
|
|
c8c9d707e9 | ||
|
|
2a2636582a | ||
|
|
8573e8fcd1 | ||
|
|
8e72cf5556 | ||
|
|
3a0d81fb4e | ||
|
|
33c7c278ac | ||
|
|
27433a2ce4 | ||
|
|
c4bd8ca7d5 | ||
|
|
eda302622f | ||
|
|
15e34a049a | ||
|
|
4a20761ebc | ||
|
|
b0e78cde31 | ||
|
|
a228539105 | ||
|
|
f6fc5baf9a | ||
|
|
8899f4d056 | ||
|
|
e450ec31e8 | ||
|
|
ad6622db39 | ||
|
|
8204439408 | ||
|
|
c74c65c72f | ||
|
|
34cdc9e40d | ||
|
|
f97a76b68d | ||
|
|
3039c74045 | ||
|
|
eedb2202bc | ||
|
|
8f1df79429 | ||
|
|
8a8a4a5267 | ||
|
|
85c7d17a0d | ||
|
|
d0d981bccf | ||
|
|
b62ce08b4f | ||
|
|
37ca678ba8 | ||
|
|
4930ad811a | ||
|
|
2806f82fc9 | ||
|
|
90f4be2d7b | ||
|
|
1f93fdf7b6 | ||
|
|
49fca03352 | ||
|
|
3fd68b1053 | ||
|
|
e44920ed5d | ||
|
|
04cef24c72 | ||
|
|
debf18bbba | ||
|
|
8b84cabf97 | ||
|
|
38fcda1489 | ||
|
|
fe90fe64c6 | ||
|
|
9eada2ea36 | ||
|
|
bd5bbb0616 | ||
|
|
450443c152 | ||
|
|
318d37b780 | ||
|
|
4cb0b7d10c | ||
|
|
8cdb0ab306 | ||
|
|
412d0bb646 | ||
|
|
556baa99b8 | ||
|
|
47ff0d6d0d | ||
|
|
1c2b66d0d1 | ||
|
|
99f9d9ce10 | ||
|
|
05ff888e16 | ||
|
|
b611fe765a | ||
|
|
9f99464fef | ||
|
|
f6972e7936 | ||
|
|
446b48f5ce | ||
|
|
fc954d3e8a | ||
|
|
c16cdc6288 | ||
|
|
fcde59601b | ||
|
|
0d0da6883a | ||
|
|
eaa37a2444 | ||
|
|
bb5be67502 | ||
|
|
e8a410eac4 | ||
|
|
66c58fcd10 | ||
|
|
7a18ab6e6c | ||
|
|
c5e030feb0 | ||
|
|
86ede49e0d | ||
|
|
da229082e2 | ||
|
|
3aa25d856d | ||
|
|
59508a6259 | ||
|
|
7431dbd43b | ||
|
|
f7983eaff1 | ||
|
|
fd2f6646d6 | ||
|
|
e5b5100917 | ||
|
|
827e053795 | ||
|
|
51701bcb12 | ||
|
|
ac2ec1a340 | ||
|
|
2f0ac5c990 | ||
|
|
ad487cbb39 | ||
|
|
cf5f61ee24 | ||
|
|
f0afa16a2f | ||
|
|
1f85b02bec | ||
|
|
51f1a96c5d | ||
|
|
e21130395e | ||
|
|
1040fc9cbe | ||
|
|
a8abe80143 | ||
|
|
972b565f31 | ||
|
|
bdae8e6b98 | ||
|
|
48bb689076 | ||
|
|
ddaa767e02 | ||
|
|
741dfdf08c | ||
|
|
3ffd801f50 | ||
|
|
2cccada0d4 | ||
|
|
5e49404e07 | ||
|
|
07bd30dde7 | ||
|
|
a2f786f21a | ||
|
|
1e26476c44 | ||
|
|
af74b07970 | ||
|
|
62a3e61147 | ||
|
|
d07d7bbac2 | ||
|
|
3238987342 | ||
|
|
20b5610704 | ||
|
|
63a5564d72 | ||
|
|
f5749c3dcc | ||
|
|
5254948d65 | ||
|
|
d149ed5625 | ||
|
|
3c42f93bf9 | ||
|
|
16d692ef0b | ||
|
|
ede619c82a | ||
|
|
a7b5f12c78 | ||
|
|
3666aec195 | ||
|
|
098159977e | ||
|
|
aa933a2dd5 | ||
|
|
d5612e4264 | ||
|
|
d7c85290bf | ||
|
|
eaeb75712d | ||
|
|
eec5a10700 | ||
|
|
e46ccabec6 | ||
|
|
651ee361f4 | ||
|
|
8ef332b25b | ||
|
|
2eddd55d12 | ||
|
|
b9dc591ecb | ||
|
|
fe09c443a4 | ||
|
|
e46af11968 | ||
|
|
e09030687b | ||
|
|
f2b0de0319 | ||
|
|
1431e4c8e5 | ||
|
|
2a63cbc80b | ||
|
|
effad0e88b | ||
|
|
825dd8b76e | ||
|
|
78fe4d5089 | ||
|
|
456b6e2d39 | ||
|
|
2acc4cfa0e | ||
|
|
5411e49c2d | ||
|
|
f28d7e2a30 | ||
|
|
1095e94380 | ||
|
|
92bd81fc60 | ||
|
|
fda02295cd | ||
|
|
e9d1eee5d3 | ||
|
|
8fa66a552f | ||
|
|
ebc10caa28 | ||
|
|
f1c203035b | ||
|
|
17e01443e6 | ||
|
|
32ed47adb3 | ||
|
|
581b791ae3 | ||
|
|
ad26fcbbfc | ||
|
|
9e61e87372 | ||
|
|
7681c7bed8 | ||
|
|
5bfeb23563 | ||
|
|
84f17a989b | ||
|
|
f93b06cfdf | ||
|
|
5b5645a301 | ||
|
|
cd73b6485a | ||
|
|
741b4316ae | ||
|
|
7a3534c2f3 | ||
|
|
7e38cceda4 | ||
|
|
fa31586077 | ||
|
|
ad7d54c91e | ||
|
|
3289858341 | ||
|
|
b5a5fc2ebe | ||
|
|
b32b6c20e8 | ||
|
|
8eb80556d6 | ||
|
|
5dce40da3b | ||
|
|
b289a7e9f5 | ||
|
|
e421318622 | ||
|
|
2ee65356fb | ||
|
|
3ee1c27792 | ||
|
|
a67a24d215 | ||
|
|
34a0f53dec | ||
|
|
ffaeff57e7 | ||
|
|
2b601bf2f4 | ||
|
|
53a506556c | ||
|
|
9364207962 | ||
|
|
443dbc8a98 | ||
|
|
4c38e53112 | ||
|
|
918e7f33f8 | ||
|
|
515a889e19 | ||
|
|
a018b1f1ba | ||
|
|
3b31111d11 | ||
|
|
9644a5c3c8 | ||
|
|
31595bc655 | ||
|
|
197e645830 | ||
|
|
c3210c7b46 | ||
|
|
18cb3820b8 | ||
|
|
6a4fa58e55 | ||
|
|
93da04bdcf | ||
|
|
2135ae7e66 | ||
|
|
711459c9ae | ||
|
|
911790834d | ||
|
|
123d50d86b | ||
|
|
c55ea2573c | ||
|
|
a6afed5582 | ||
|
|
ca5c9e43cc | ||
|
|
1348d186a9 | ||
|
|
4d1f5e2897 | ||
|
|
6bc4a36c04 | ||
|
|
9407f90220 | ||
|
|
9630a95462 | ||
|
|
2ca35af400 | ||
|
|
feedc2e63c | ||
|
|
655135bbdc | ||
|
|
cd7a2de712 | ||
|
|
71fd832d76 | ||
|
|
79ab6e22ec | ||
|
|
73eaecc323 | ||
|
|
8d74f72858 | ||
|
|
c956783074 | ||
|
|
afb8179583 | ||
|
|
3b81970ba8 | ||
|
|
a86457db07 | ||
|
|
0a43abaf6c | ||
|
|
3da0615f40 | ||
|
|
6654b1f9f5 | ||
|
|
5ebce5fcdf | ||
|
|
d67ed45304 | ||
|
|
8ac7ba0910 | ||
|
|
8be1a4ec6d | ||
|
|
24e28fb9d2 | ||
|
|
4c46861f34 | ||
|
|
83de131366 | ||
|
|
e5201ae718 | ||
|
|
8e9e2b911a | ||
|
|
4cfdd62847 | ||
|
|
19d0b80056 | ||
|
|
5af3525e5e | ||
|
|
db02faf87d | ||
|
|
23a6ffe225 | ||
|
|
dee408681b | ||
|
|
af9d5f0304 | ||
|
|
694ab1fe1c | ||
|
|
26b948db34 | ||
|
|
b972bab520 | ||
|
|
d884324335 | ||
|
|
0db2e2e30f | ||
|
|
905181057a | ||
|
|
ccbc26fbe6 | ||
|
|
ac6882437f | ||
|
|
42b41ca723 | ||
|
|
c507f796aa | ||
|
|
5b140ce414 | ||
|
|
1380afdee5 | ||
|
|
617756d545 | ||
|
|
4379fc6a87 | ||
|
|
3c74a5eaa1 | ||
|
|
2016c7c883 | ||
|
|
1d3f47fe60 | ||
|
|
1b97e85cdb | ||
|
|
47dbd5c803 | ||
|
|
57d723d6ea | ||
|
|
94cd62c965 | ||
|
|
be511b110e | ||
|
|
2f5683111e | ||
|
|
37e44bb207 | ||
|
|
2ee9b92e03 | ||
|
|
c4600fcf79 | ||
|
|
7afa6f4df7 | ||
|
|
1dc2e6d9d6 | ||
|
|
4672676a7f | ||
|
|
0228a06e22 | ||
|
|
c6d7eb9a7a | ||
|
|
4dcba7ae30 | ||
|
|
a34505b241 | ||
|
|
5869dcb368 | ||
|
|
36ef104588 | ||
|
|
c507506992 | ||
|
|
81d169809e | ||
|
|
ff306adb95 | ||
|
|
d04aa84313 | ||
|
|
61b0eb02e1 | ||
|
|
9cbd03adf7 | ||
|
|
19c5c7aaa2 | ||
|
|
e9d4fccf05 | ||
|
|
6a5afa63e9 | ||
|
|
a8832f6ea0 | ||
|
|
e2d0e914d3 | ||
|
|
90498eb149 | ||
|
|
bca21726d0 | ||
|
|
5b4f890482 | ||
|
|
7fdf152aba | ||
|
|
aae50b72a8 | ||
|
|
895233ceed | ||
|
|
de0e98511d | ||
|
|
351854c5e9 | ||
|
|
cf1ac0c58b | ||
|
|
228061140f | ||
|
|
e5f36930ea | ||
|
|
717caf714f | ||
|
|
89f3d25c47 | ||
|
|
34090236fe | ||
|
|
db399badcd | ||
|
|
dd40185241 | ||
|
|
4dee89d0c6 | ||
|
|
4421a53984 | ||
|
|
c47cbfadcc | ||
|
|
ac20e0a2b1 | ||
|
|
cf5fd08af6 | ||
|
|
e587c8d3a2 | ||
|
|
71608a398f | ||
|
|
101913b9b5 | ||
|
|
580743b370 | ||
|
|
0b0fe0850a | ||
|
|
5b7053a1c6 | ||
|
|
9fd4236998 | ||
|
|
70f2d42c59 | ||
|
|
159a848417 | ||
|
|
0cf565fe00 | ||
|
|
f2f0d180f6 | ||
|
|
845b37a7b7 | ||
|
|
47287b80cc | ||
|
|
1af12fa1dc | ||
|
|
e8b12694fb | ||
|
|
a3a8ac0459 | ||
|
|
9eb212f8af | ||
|
|
cbb188e7fa | ||
|
|
149282bbac | ||
|
|
41b5b09c96 | ||
|
|
b34ee30d13 | ||
|
|
9b734c20fb | ||
|
|
e785b8dd24 | ||
|
|
d204bd4f80 | ||
|
|
2f4d8826cb | ||
|
|
9c1ca7e3d2 | ||
|
|
077da1fbd3 | ||
|
|
923a5b4c6f | ||
|
|
eabb9f8d80 | ||
|
|
3a1c5fa430 | ||
|
|
0aefd13b24 | ||
|
|
fabbed1c05 | ||
|
|
044aeb6fa1 | ||
|
|
f9afb384c1 | ||
|
|
07133eaf0b | ||
|
|
fe233a2e11 | ||
|
|
185de4543c | ||
|
|
885158f827 | ||
|
|
f705a7fbe7 | ||
|
|
4c6ab90699 | ||
|
|
c01960c631 | ||
|
|
a1b398d580 | ||
|
|
84cd95d233 | ||
|
|
ee971790f0 | ||
|
|
f7e76b6217 | ||
|
|
c80a2e0d7b | ||
|
|
d1bf922eed | ||
|
|
e4f888c485 | ||
|
|
55e8dd989c | ||
|
|
fa4119dae4 | ||
|
|
9c98d36f7e | ||
|
|
6d82776c4e | ||
|
|
be7f1e0133 | ||
|
|
bd7f2685e8 | ||
|
|
ef71e68407 | ||
|
|
eb3766b3d2 | ||
|
|
27dee5dead | ||
|
|
943b5f0770 | ||
|
|
230a9dbfac | ||
|
|
fa400ce72c | ||
|
|
abcc6dc4b8 | ||
|
|
85f83e02fc | ||
|
|
d2a90e7073 | ||
|
|
a6b61cb882 | ||
|
|
95e52c80f6 | ||
|
|
5dae01efa5 | ||
|
|
9cfd62203f | ||
|
|
824e466d47 | ||
|
|
e36b8520f9 | ||
|
|
bffe7206dc | ||
|
|
c6d936194f | ||
|
|
a7e90811c0 | ||
|
|
2da3296ca7 | ||
|
|
af18f1f6a8 | ||
|
|
c03ad51328 | ||
|
|
3ca2ba26f0 | ||
|
|
991de4f579 | ||
|
|
d0694efad3 | ||
|
|
754905c3b1 | ||
|
|
3f7ace6ead | ||
|
|
2b08aad70b | ||
|
|
5cb6cac74f | ||
|
|
1fbbe7b925 | ||
|
|
ed6be948b3 | ||
|
|
42f5e7735f | ||
|
|
6ce5ffb62f | ||
|
|
818952ccf3 | ||
|
|
1daa7eff14 | ||
|
|
2a2f4dfd4e | ||
|
|
c9bb816841 | ||
|
|
7024b10684 | ||
|
|
0c7f1b1eb1 | ||
|
|
9252ea44ab | ||
|
|
bbaf60067d | ||
|
|
467e984c7d | ||
|
|
3019692d1a | ||
|
|
7d7ed29a10 | ||
|
|
a29a980565 | ||
|
|
c88159a432 | ||
|
|
d98b37220d | ||
|
|
161249f916 | ||
|
|
a0405018f5 | ||
|
|
8adf059210 | ||
|
|
f02b246974 | ||
|
|
f2399dd3fa | ||
|
|
999df4ec5e | ||
|
|
38b94a423c | ||
|
|
b100b34267 | ||
|
|
2814f6638f | ||
|
|
134996a137 | ||
|
|
97a888a6e4 | ||
|
|
635ae3f59c | ||
|
|
e859e783ed | ||
|
|
cc15527c71 | ||
|
|
d914584ab7 | ||
|
|
640b8153eb | ||
|
|
6cf0255e58 | ||
|
|
450194e0b1 | ||
|
|
3778c0a397 | ||
|
|
5d87d25bcd | ||
|
|
bce39df640 | ||
|
|
a85bc4645d | ||
|
|
e4a5b58d33 | ||
|
|
011fab0947 | ||
|
|
36ebd21591 | ||
|
|
c6a25fe8a4 | ||
|
|
231bc767e7 | ||
|
|
ae7de3af09 | ||
|
|
5a5d658338 | ||
|
|
aa7298e2ef | ||
|
|
3fbc040e9a | ||
|
|
547a56e5a1 | ||
|
|
2d351f43df | ||
|
|
0200b3b5d0 | ||
|
|
d5270b8dea | ||
|
|
1c3decd6bd | ||
|
|
4777c88f25 | ||
|
|
f585f169b0 | ||
|
|
9adea67d43 | ||
|
|
03b9fd94cc | ||
|
|
1c0dd973b4 | ||
|
|
feaa1ebcb4 | ||
|
|
4ca88f4858 | ||
|
|
6f93197da6 | ||
|
|
13773b205c | ||
|
|
36ce6ff732 | ||
|
|
c2707a82ec | ||
|
|
be3b2b8207 | ||
|
|
d0f020831f | ||
|
|
4b1663ca70 | ||
|
|
6ca35e3037 | ||
|
|
5c399e2012 | ||
|
|
10fb35f292 | ||
|
|
d4a702b3f9 | ||
|
|
3a46dd85d5 | ||
|
|
cc89ce6837 | ||
|
|
41a83c0d74 | ||
|
|
a9864345c6 | ||
|
|
d0c9a2719a | ||
|
|
3e4135e7f3 | ||
|
|
860721ac93 | ||
|
|
2e70f238d8 | ||
|
|
810d77c032 | ||
|
|
b27a458d85 | ||
|
|
d55464fe49 | ||
|
|
559cf2d43a | ||
|
|
0b713b26ad | ||
|
|
2469387b1d | ||
|
|
aefcc6d34a | ||
|
|
d4d89af1ef | ||
|
|
8835c76c61 | ||
|
|
0442716683 | ||
|
|
0ea28e0b66 | ||
|
|
167baa01ed | ||
|
|
9d6b2116f7 | ||
|
|
f69df9e46f | ||
|
|
7a8119443f | ||
|
|
2504bb6855 | ||
|
|
04527bd3a6 | ||
|
|
277877cda2 | ||
|
|
6bf078cf47 | ||
|
|
54fea7573f | ||
|
|
68f4e124c0 | ||
|
|
951f0e17ca | ||
|
|
bbdead3958 | ||
|
|
2dd71806c2 | ||
|
|
2907537361 | ||
|
|
be2fb0c641 | ||
|
|
833f51e679 | ||
|
|
2785da3077 | ||
|
|
ddbb64f57e | ||
|
|
3e2fbbd7f5 | ||
|
|
198fb52d49 | ||
|
|
25cc9f3bac | ||
|
|
55eee39394 | ||
|
|
701aa2cc9f | ||
|
|
0d71371179 | ||
|
|
0a7ca31ae0 | ||
|
|
d54301919c | ||
|
|
e61f20a237 | ||
|
|
d257e2c1e8 | ||
|
|
70d80c6f21 | ||
|
|
97be0fee7f | ||
|
|
450a45329e | ||
|
|
69bc9b643f | ||
|
|
5eeba2d305 | ||
|
|
c017339e1c | ||
|
|
0de1753c64 | ||
|
|
d5bd3a30e4 | ||
|
|
3818c4e571 | ||
|
|
82028137ff | ||
|
|
7362b47fb3 | ||
|
|
9137aba336 | ||
|
|
1fd568b4a9 | ||
|
|
ae50bd2628 | ||
|
|
33313b0fda | ||
|
|
35726078d4 | ||
|
|
89fd53967c | ||
|
|
a9d89fc3c0 | ||
|
|
fa4330329c | ||
|
|
a264875bff | ||
|
|
ab5b0557eb | ||
|
|
c269e80a83 | ||
|
|
3bb3e18910 | ||
|
|
e51bea9ab6 | ||
|
|
10c921aa07 | ||
|
|
d9d6119f49 | ||
|
|
192449c4bc | ||
|
|
753fbc325b | ||
|
|
ffdc7c9c14 | ||
|
|
f59e41e644 | ||
|
|
30a68f1ef5 | ||
|
|
64042f998a | ||
|
|
d0876ea50f | ||
|
|
3fd424e374 | ||
|
|
50f3cd6f98 | ||
|
|
1be2f50f93 | ||
|
|
f13e8293ce | ||
|
|
f22a2a560b | ||
|
|
d9316198c0 | ||
|
|
b1a93e7680 | ||
|
|
b04e60046d | ||
|
|
d59fdb0f14 | ||
|
|
62319c5f57 | ||
|
|
640de09889 | ||
|
|
1cc0a2a7f3 | ||
|
|
3e91f727ac | ||
|
|
b5ea9e187d | ||
|
|
96502a2a0f | ||
|
|
f43582b3bb | ||
|
|
dd6486ad2f | ||
|
|
45deb3064c | ||
|
|
aa5e0e516c | ||
|
|
de71f78fb7 | ||
|
|
9fb0d085b6 | ||
|
|
a5d27ceb5d | ||
|
|
171803661a | ||
|
|
eaad300991 | ||
|
|
3c85661c1e | ||
|
|
5e83276d6e | ||
|
|
9cc5d97580 | ||
|
|
b2e56958d6 | ||
|
|
d161cfc014 | ||
|
|
3af887bde9 | ||
|
|
2fe9fa8ecb | ||
|
|
aa0dbf56cd | ||
|
|
890b559654 | ||
|
|
716900606e | ||
|
|
c52e5c3bcb | ||
|
|
12cf6870b1 | ||
|
|
d3f0b6a904 | ||
|
|
adde46a635 | ||
|
|
d6c49742c1 | ||
|
|
18615611ed | ||
|
|
a8566748df | ||
|
|
a927f7ef63 | ||
|
|
d6b827040d | ||
|
|
e54b780b41 | ||
|
|
62cb870d39 | ||
|
|
3b64843424 | ||
|
|
b8cc27a234 | ||
|
|
461d137537 | ||
|
|
1d8ecc8b94 | ||
|
|
ce01187b95 | ||
|
|
ae398f4411 | ||
|
|
4ea2e640fb | ||
|
|
4ae741811a | ||
|
|
01a663f33e | ||
|
|
01768db263 | ||
|
|
d66f99c127 | ||
|
|
11ea3f2bd6 | ||
|
|
dc04c5339f | ||
|
|
c0015d5b1d | ||
|
|
2f95de4aac | ||
|
|
5c09b61055 | ||
|
|
44408c2dc0 | ||
|
|
8a69b9ef71 | ||
|
|
e573e3c06b | ||
|
|
927512c9f4 | ||
|
|
2b5a9cae67 | ||
|
|
faaa021048 | ||
|
|
752e571041 | ||
|
|
6a5a9ab7c7 | ||
|
|
fd87d7144a | ||
|
|
bd3d6d162c | ||
|
|
179d62077d | ||
|
|
83deae3fe0 | ||
|
|
b174cb490f | ||
|
|
6d7c9aeb3e | ||
|
|
00f1429fcc | ||
|
|
4f1c5ed789 | ||
|
|
1fe6378eb7 | ||
|
|
a218080548 | ||
|
|
3f44a70bba | ||
|
|
9b3fc28076 | ||
|
|
dcf0540afc | ||
|
|
0b0de7e5d8 | ||
|
|
5333c0c290 | ||
|
|
fb49c0d645 | ||
|
|
ff52657708 | ||
|
|
169e3faf3a | ||
|
|
158355fa13 | ||
|
|
fa69365814 | ||
|
|
f2b16bf5ec | ||
|
|
58dea11975 | ||
|
|
a7b6073bb3 | ||
|
|
be48a74d02 | ||
|
|
1ef3f5a16c | ||
|
|
b4266e4fea | ||
|
|
f1ce19d2c1 | ||
|
|
0e8f476059 | ||
|
|
29d322c2d2 | ||
|
|
b237fb9611 | ||
|
|
37153913f6 | ||
|
|
1de4ef58fe | ||
|
|
d95db16f30 | ||
|
|
e8fbbb15f2 | ||
|
|
5c1e57c90a | ||
|
|
ee9b5b7370 | ||
|
|
d27423a88c | ||
|
|
7257a7479d | ||
|
|
23ac6801ae | ||
|
|
fb4ca610ec | ||
|
|
94bbe5a07a | ||
|
|
8776327b1e | ||
|
|
8c1000970a | ||
|
|
ec0b3d1318 | ||
|
|
1021fec2f1 | ||
|
|
8e0db3595b | ||
|
|
c5602959cb | ||
|
|
1bf750dd57 | ||
|
|
624b40b849 | ||
|
|
459baf5730 | ||
|
|
bd6227ad48 | ||
|
|
6ea9614ff6 | ||
|
|
f070701e0c | ||
|
|
43591af1ce | ||
|
|
8f713e8e5f | ||
|
|
1b1be3143d | ||
|
|
e5d5261a5e | ||
|
|
9f87056a2e | ||
|
|
03a157cd07 | ||
|
|
6fed7dc68b | ||
|
|
8b53ff3864 | ||
|
|
4235b6cfbb | ||
|
|
57e35a7302 | ||
|
|
73ae93f3a5 | ||
|
|
dc272fac46 | ||
|
|
d5136b7105 | ||
|
|
73c07a04f5 | ||
|
|
6c788bcc59 | ||
|
|
c76ea311f7 | ||
|
|
4bf14165ae | ||
|
|
55ada9fcc7 | ||
|
|
4ab5768050 | ||
|
|
6c911103de | ||
|
|
214d4a18ac | ||
|
|
5828551631 | ||
|
|
6502e2da9d | ||
|
|
f507367ff5 | ||
|
|
117c98f47a | ||
|
|
5887cc994a | ||
|
|
d3c5fd6e43 | ||
|
|
b492b0ebd1 | ||
|
|
af0caa0115 | ||
|
|
8afa74e8ef | ||
|
|
a86f7df66e | ||
|
|
467d2a3ccf | ||
|
|
5b0c4cb47f | ||
|
|
58eae65277 | ||
|
|
289fec2239 | ||
|
|
9939f47884 | ||
|
|
33be9dd48b | ||
|
|
2b5bf809b8 | ||
|
|
9b7a4a531c | ||
|
|
b243f33db6 | ||
|
|
0451077787 | ||
|
|
8be75e77c8 | ||
|
|
d87285d4ce | ||
|
|
da5747b7fb | ||
|
|
45706a2dab | ||
|
|
0efa4ab3f7 | ||
|
|
baee9c9c09 | ||
|
|
97c75cd418 | ||
|
|
818c1598c1 | ||
|
|
16c214e981 | ||
|
|
01e39bf79a | ||
|
|
b3dc7a2697 | ||
|
|
5067649fe6 | ||
|
|
348a392e75 | ||
|
|
1ab28e6260 | ||
|
|
17453d56f0 | ||
|
|
2be66236a5 | ||
|
|
4c0a98ae4d | ||
|
|
1a647b3201 | ||
|
|
0cb550e1b2 | ||
|
|
44752b9db7 | ||
|
|
8a953006b3 | ||
|
|
0911285865 | ||
|
|
cc5d2e7044 | ||
|
|
b1788da65c | ||
|
|
590cae8cb1 | ||
|
|
7dcc12313b | ||
|
|
dd9f55d2a4 | ||
|
|
ccca01f09b | ||
|
|
88f335a54b | ||
|
|
cbaf7c38af | ||
|
|
37869e4433 | ||
|
|
986889e04c | ||
|
|
6b8b1e525d | ||
|
|
69afc71335 | ||
|
|
77999d0f25 | ||
|
|
f9f414f38a | ||
|
|
093c33bb46 | ||
|
|
9ce4fd6a3d | ||
|
|
9c0a5be316 | ||
|
|
94d927d118 | ||
|
|
93e1523a5b | ||
|
|
589041359f | ||
|
|
fe06c4c582 | ||
|
|
8fa6cfff0c | ||
|
|
fbc199b1b4 | ||
|
|
a89aaf3810 | ||
|
|
43126b9a90 | ||
|
|
9e4bdbf96e | ||
|
|
4922d71172 | ||
|
|
d86de835bd | ||
|
|
ab5a9206b1 | ||
|
|
1988983aeb | ||
|
|
3eaf5c79b8 | ||
|
|
d035e5af1a | ||
|
|
9da17705fc | ||
|
|
50ac03bebf | ||
|
|
431c95c8f5 | ||
|
|
181523663d | ||
|
|
cb4fec62ef | ||
|
|
56a717417c | ||
|
|
e67dda592f | ||
|
|
4a9451f206 | ||
|
|
5919a65f53 | ||
|
|
8ac0270738 | ||
|
|
170d9ecd11 | ||
|
|
7fb2283c96 | ||
|
|
1b584db1e9 | ||
|
|
252797444a | ||
|
|
5352fa5b8e | ||
|
|
718c6d0a66 | ||
|
|
60401b4303 | ||
|
|
677f8123bb | ||
|
|
021f275c40 | ||
|
|
b6847ea0a2 | ||
|
|
17974ca433 | ||
|
|
03ec186995 | ||
|
|
4a3ed7cb7d | ||
|
|
d1ec90d994 | ||
|
|
63fb0a9b04 | ||
|
|
5c9e91ae0c | ||
|
|
43474df1cd | ||
|
|
1aba8c9108 | ||
|
|
6d635e52a6 | ||
|
|
103fac8e49 | ||
|
|
4b70ba63b9 | ||
|
|
282ad01de6 | ||
|
|
86f2db9106 | ||
|
|
05f3322529 | ||
|
|
c4bfa9d561 | ||
|
|
99fce32288 | ||
|
|
bb3075fd02 | ||
|
|
18fe376320 | ||
|
|
522244780d | ||
|
|
49a6d2747e | ||
|
|
a4d038762d | ||
|
|
c544a8329e | ||
|
|
a1d0935400 | ||
|
|
87d38283ca | ||
|
|
b27eb6980d | ||
|
|
4877d40dd3 | ||
|
|
4db8df159f | ||
|
|
747b6f6fd4 | ||
|
|
b6576e3de5 | ||
|
|
00a794eb94 | ||
|
|
9bc848dc75 | ||
|
|
0a063a503f | ||
|
|
71f151059e | ||
|
|
15b08d846d | ||
|
|
d99534a520 | ||
|
|
fe21e56f28 | ||
|
|
3bc4158ab9 | ||
|
|
be262a9a8f | ||
|
|
6483954dab | ||
|
|
848b28b7b5 | ||
|
|
97ce24b2ed | ||
|
|
878c1d1350 | ||
|
|
cc38f9f94a | ||
|
|
8a21134be1 | ||
|
|
4f2b172ab6 | ||
|
|
26234a5a97 | ||
|
|
e6798021cc | ||
|
|
264497527a | ||
|
|
e727c63ed5 | ||
|
|
e926f6207a | ||
|
|
19cf1d19e5 | ||
|
|
8d0b4bad42 | ||
|
|
134a79fff9 | ||
|
|
adac52bc7f | ||
|
|
f28d93a148 | ||
|
|
5c0ed389df | ||
|
|
ece788d507 | ||
|
|
679388d3aa | ||
|
|
a24c0b9a96 | ||
|
|
1634836c14 | ||
|
|
bf2df107ef | ||
|
|
51d7d8a151 | ||
|
|
59ebdc3a76 | ||
|
|
1038485a49 | ||
|
|
07eb8f4373 | ||
|
|
ce48cf9e85 | ||
|
|
4e21959daf | ||
|
|
217141c147 | ||
|
|
593a7a9486 | ||
|
|
674e1eacd6 | ||
|
|
f3792def27 | ||
|
|
c58eb3c9b0 | ||
|
|
1aa94e896b | ||
|
|
5fec00d851 | ||
|
|
e6c9332b26 | ||
|
|
54d2ce0bd9 | ||
|
|
4bf506b49c | ||
|
|
e256481bce | ||
|
|
88c98253cd | ||
|
|
629d196dca | ||
|
|
9ec6531e85 | ||
|
|
c8b6434e08 | ||
|
|
399fd53444 | ||
|
|
af41501a41 | ||
|
|
cca057f5f8 | ||
|
|
05829765bd | ||
|
|
c748d35ec8 | ||
|
|
4df989a34e | ||
|
|
2616593e0f | ||
|
|
6c862c7f6a | ||
|
|
0e61d096db | ||
|
|
7a2c9a7176 | ||
|
|
d9de96f70c | ||
|
|
0f1d8f5b7d | ||
|
|
73407b8a14 | ||
|
|
8bf713df1d | ||
|
|
cfb0210f8f | ||
|
|
7203a3e8df | ||
|
|
efc42cfbad | ||
|
|
b6afa0b36e | ||
|
|
146e25619c | ||
|
|
b73cf8f832 | ||
|
|
8a7c46a03f | ||
|
|
bc6df48804 | ||
|
|
c37a73c664 | ||
|
|
80a892fcdc | ||
|
|
ef426ce17e | ||
|
|
0667f6d4e3 | ||
|
|
3021463397 | ||
|
|
edc794281a | ||
|
|
fab674a39b | ||
|
|
a237b859e6 | ||
|
|
23025b2d69 | ||
|
|
3ae4ac68e3 | ||
|
|
84c3cb94bf | ||
|
|
b30217fe4a | ||
|
|
72bc3d12af | ||
|
|
2a928c28d9 | ||
|
|
4f472ea5d9 | ||
|
|
c7b1990d86 | ||
|
|
5bcb76b2a7 | ||
|
|
393e3ce985 | ||
|
|
48c89df8e2 | ||
|
|
bfa2b247ce | ||
|
|
567b3713fa | ||
|
|
2712d45df7 | ||
|
|
ac2ab0818b | ||
|
|
0e1d664058 | ||
|
|
fc352cb59a | ||
|
|
52de04840b | ||
|
|
e543027dc6 | ||
|
|
9dd807b6d0 | ||
|
|
7011559bb7 | ||
|
|
fbfcf0a2e5 | ||
|
|
a89427d59d | ||
|
|
4d83794d2a | ||
|
|
c3fd39a44f | ||
|
|
a5f64bdca9 | ||
|
|
3f30d6ac28 | ||
|
|
91510a3429 | ||
|
|
5e3cee8013 | ||
|
|
6b933cd127 | ||
|
|
690770da55 | ||
|
|
3771cc3a17 | ||
|
|
7bbcb73e57 | ||
|
|
3ace1794b6 | ||
|
|
187754c11c | ||
|
|
475c61f41a | ||
|
|
97ea75bbb4 | ||
|
|
43a309b147 | ||
|
|
37263592a8 | ||
|
|
483e5874f6 | ||
|
|
a8d837c019 | ||
|
|
c3a8f7b177 | ||
|
|
7f7af5b81b | ||
|
|
332e9db934 | ||
|
|
342e6afcee | ||
|
|
52c72a5e73 | ||
|
|
7deafae3d2 | ||
|
|
88dd91fc24 | ||
|
|
2a4aa4df97 | ||
|
|
35a5b775f2 | ||
|
|
12f3018569 | ||
|
|
cab1c3b003 | ||
|
|
1cc1c1b96f | ||
|
|
f641426a5f | ||
|
|
fca0b01d09 | ||
|
|
3eab84b56a | ||
|
|
3ae6209204 | ||
|
|
750c3136b1 | ||
|
|
201c38b1f8 | ||
|
|
3d17427a85 | ||
|
|
95184a8af4 | ||
|
|
f0f8f6a60e | ||
|
|
c75c1577ba | ||
|
|
918f834845 | ||
|
|
1cc17408d9 | ||
|
|
507d263bab | ||
|
|
58c3ef71e3 | ||
|
|
6b7723a631 | ||
|
|
e961d2ef86 | ||
|
|
fe2a29a909 | ||
|
|
359e02bf13 | ||
|
|
ce545afbea | ||
|
|
87feb577c8 | ||
|
|
2f006739cf | ||
|
|
d569f4f205 | ||
|
|
fc92503ee8 | ||
|
|
901e2ae790 | ||
|
|
027c9ef5ae | ||
|
|
4eec5875b6 | ||
|
|
1b74cc2212 | ||
|
|
afff616187 | ||
|
|
6d2613cf62 | ||
|
|
6267ed2bcb | ||
|
|
53a3c681fb | ||
|
|
61c42a6a49 | ||
|
|
1a325a3d4f | ||
|
|
d74acc7b1e | ||
|
|
e7a4fcd2ae | ||
|
|
6ccd891149 | ||
|
|
0604784464 | ||
|
|
c38f543d15 | ||
|
|
ebbe807887 | ||
|
|
bcafc84299 | ||
|
|
2fcda19cbc | ||
|
|
e9f390557c | ||
|
|
44638680ff | ||
|
|
484403779a | ||
|
|
c35f90152c | ||
|
|
dceaa480b6 | ||
|
|
ea492cae9b | ||
|
|
7f47a93775 | ||
|
|
9055c4fbf5 | ||
|
|
c1e243702e | ||
|
|
98981d49fb | ||
|
|
8926d26f0c | ||
|
|
797eee3958 | ||
|
|
4a74506b36 | ||
|
|
4c4eb24536 | ||
|
|
c4f7797c4b | ||
|
|
4be9528519 | ||
|
|
1421902e3a | ||
|
|
42b52ac30b | ||
|
|
b0aa64a6c6 | ||
|
|
bf301b12e7 | ||
|
|
926e41da39 | ||
|
|
3d7769be04 | ||
|
|
64f17cd3d4 | ||
|
|
f7f11b5f3f | ||
|
|
70e5a7a7c2 | ||
|
|
a3d19a5501 | ||
|
|
e67298a126 | ||
|
|
63f46c6f39 | ||
|
|
a5f12624a7 | ||
|
|
e1d02e5761 | ||
|
|
73efbb3649 | ||
|
|
542f84d4a3 | ||
|
|
a9a829dd34 | ||
|
|
f2faff6fb7 | ||
|
|
67fd58be8c | ||
|
|
33803d96e8 | ||
|
|
3f5bbb2c14 | ||
|
|
11356346b9 | ||
|
|
a0cb50b4de | ||
|
|
5ccadb7f78 | ||
|
|
b43d68f5f5 | ||
|
|
b70f709081 | ||
|
|
499d780d00 | ||
|
|
ae75899844 | ||
|
|
088defba07 | ||
|
|
4fc83a8447 | ||
|
|
6d5ebec537 | ||
|
|
f9e0ae9815 | ||
|
|
44b495a951 | ||
|
|
e4d2d9db4f | ||
|
|
552f7e970b | ||
|
|
793c609e30 | ||
|
|
ca467285d4 | ||
|
|
e67414d867 | ||
|
|
cb4b5239a1 | ||
|
|
3b55437db6 | ||
|
|
ead3497f44 | ||
|
|
8493233a99 | ||
|
|
7975e66ba8 | ||
|
|
7b704db54c | ||
|
|
97c2d3d296 | ||
|
|
0698bcec4d | ||
|
|
8536c4fcdd | ||
|
|
cccd011826 | ||
|
|
ef73aa833d | ||
|
|
da6158e6bc | ||
|
|
da4b03c81d | ||
|
|
4a9f595d63 | ||
|
|
d9b16d723f | ||
|
|
165a6f7dd0 | ||
|
|
8a1b7e11ba | ||
|
|
a9572472c4 | ||
|
|
89c8f4ba2a | ||
|
|
54fb369e34 | ||
|
|
e879a5e8b9 | ||
|
|
2320e36eef | ||
|
|
530abde14f | ||
|
|
2d1f589401 | ||
|
|
5f1491d0a6 | ||
|
|
f3a23f8ca2 | ||
|
|
2d3b42883a | ||
|
|
6ab6eefc24 | ||
|
|
8caad06268 | ||
|
|
005974ff02 | ||
|
|
d2b73548fa | ||
|
|
dd442f6895 | ||
|
|
479fac2162 | ||
|
|
beb8b2b683 | ||
|
|
4d15ea17d4 | ||
|
|
5211cc650a | ||
|
|
5758ee1ca9 | ||
|
|
373f9cfa70 | ||
|
|
13e95eaebb | ||
|
|
928cbbee13 | ||
|
|
37c51a47ec | ||
|
|
2280d3dcab | ||
|
|
8928761040 | ||
|
|
a75d8a4287 | ||
|
|
409c3597f9 | ||
|
|
8afd0cc8f1 | ||
|
|
f3d165b58d | ||
|
|
ad7faa941a | ||
|
|
a03f7427cd | ||
|
|
e922be9270 | ||
|
|
cac20d9639 | ||
|
|
79338bbe55 | ||
|
|
19e7899868 | ||
|
|
06c8df51e8 | ||
|
|
37ee608cea | ||
|
|
40c0155b10 | ||
|
|
e223754865 | ||
|
|
9307060f24 | ||
|
|
8608c3d067 | ||
|
|
7a6d281274 | ||
|
|
fb2f836259 | ||
|
|
19ed791fd0 | ||
|
|
22e8ae3d18 | ||
|
|
40d6b240c1 | ||
|
|
9c49287aa8 | ||
|
|
d6c861205a | ||
|
|
17dc517b22 | ||
|
|
f3fd63b465 | ||
|
|
cf64669911 | ||
|
|
20c386dbe1 | ||
|
|
71a267fe0b | ||
|
|
1077b49b25 | ||
|
|
cbcbc0a7f3 | ||
|
|
304337f7d9 | ||
|
|
29a03e020f | ||
|
|
24714d3ec7 | ||
|
|
d11a9fb1d2 | ||
|
|
1f306cc5bb | ||
|
|
9ff7ccaeba | ||
|
|
d0fede611a | ||
|
|
8d0ccc1717 | ||
|
|
5d311683b9 | ||
|
|
f838bb527d | ||
|
|
bd7a00be8d | ||
|
|
53921f2a93 | ||
|
|
d4808d75b9 | ||
|
|
494fab093b | ||
|
|
5d9aef20dd | ||
|
|
4782a5dbe9 | ||
|
|
4e57742055 | ||
|
|
4281a0c565 | ||
|
|
668b4d6bc1 | ||
|
|
c26cf113d8 | ||
|
|
2c0cf21ae5 | ||
|
|
a4af6bed5c | ||
|
|
e3e84177aa | ||
|
|
ed43b74945 | ||
|
|
00acaea3c1 | ||
|
|
5ec227a946 | ||
|
|
6ec4e2be88 | ||
|
|
4988910e53 | ||
|
|
5a773283e4 | ||
|
|
0cd5c7bd84 | ||
|
|
fe90cdc817 | ||
|
|
4ab8449abd | ||
|
|
331e3930f0 | ||
|
|
46f318388c | ||
|
|
a917ff1639 | ||
|
|
34075737ce | ||
|
|
c5a2b254f9 | ||
|
|
a04aa720a3 | ||
|
|
bd5ae348cd | ||
|
|
9ade803eca | ||
|
|
79d4e9fa87 | ||
|
|
a4c716f7ce | ||
|
|
e4855f7555 | ||
|
|
97160293e8 | ||
|
|
39be1d110e | ||
|
|
e811304f41 | ||
|
|
0affe937f5 | ||
|
|
5316230e71 | ||
|
|
31ac77393a | ||
|
|
580a3e6cb1 | ||
|
|
48931652e9 | ||
|
|
086796380f | ||
|
|
cf157da228 | ||
|
|
4557a59f98 | ||
|
|
c097f3ec61 | ||
|
|
b887e12c4f | ||
|
|
1efa86d99c | ||
|
|
7bd0b31bd7 | ||
|
|
5017300bbc | ||
|
|
d917a74fa9 | ||
|
|
023a2014d0 | ||
|
|
3a7ff11ae4 | ||
|
|
3c214f8066 | ||
|
|
7ff89af8f6 | ||
|
|
1648bbf5e6 | ||
|
|
d60a52e529 | ||
|
|
0540d29926 | ||
|
|
f2ba7567ee | ||
|
|
f6f52c69d7 | ||
|
|
03207dfebf | ||
|
|
78c22abb8f | ||
|
|
efa878fad9 | ||
|
|
bc12ec3db4 | ||
|
|
b19c26c59c | ||
|
|
2a17e31d0d | ||
|
|
b332b3527a | ||
|
|
afaab7b6e4 | ||
|
|
c665396945 | ||
|
|
8d9e76babf | ||
|
|
21c2c436de | ||
|
|
4e7df64507 | ||
|
|
08dc50491e | ||
|
|
afcb3283db | ||
|
|
71ff145fb3 | ||
|
|
7f12704c8a | ||
|
|
e7e4e7e2b2 | ||
|
|
c2e61578c6 | ||
|
|
43b525e379 | ||
|
|
2e9c34fbe0 | ||
|
|
035ea058c0 | ||
|
|
b5e791727c | ||
|
|
639971d701 | ||
|
|
da0680f5c0 | ||
|
|
ced3fe0f75 | ||
|
|
34e87dc2dc | ||
|
|
04161762b4 | ||
|
|
950b54bd25 | ||
|
|
ed753de2b5 | ||
|
|
524459db1d | ||
|
|
2bf9ff773f | ||
|
|
57629c5dca | ||
|
|
47cbac7838 | ||
|
|
175c5255a7 | ||
|
|
60f3889b09 | ||
|
|
2554945201 | ||
|
|
7c9fe2aa68 | ||
|
|
dc021cf11b | ||
|
|
585c039d35 | ||
|
|
b82af375e5 | ||
|
|
7584b406cd | ||
|
|
b8960a3212 | ||
|
|
2b35e8bea8 | ||
|
|
fb6ddda634 | ||
|
|
81e3585758 | ||
|
|
44096764a6 | ||
|
|
f88fa00a15 | ||
|
|
5e730b77d7 | ||
|
|
7bd8088f2b | ||
|
|
7c460a98ff | ||
|
|
66bf2e0829 | ||
|
|
ac4fd77ecc | ||
|
|
e38f77bc0f | ||
|
|
fd2945836b | ||
|
|
2a9c0f80b3 | ||
|
|
406902047f | ||
|
|
ef7aa18cc4 | ||
|
|
3af0a3fee5 | ||
|
|
51be4c224e | ||
|
|
aed38e36a1 | ||
|
|
52fabf17ef | ||
|
|
97066c53f3 | ||
|
|
0eabd76492 | ||
|
|
51152f3442 | ||
|
|
38d381c811 | ||
|
|
94b4e02014 | ||
|
|
8c254f6bc3 | ||
|
|
ce2208290b | ||
|
|
72a189d7d8 | ||
|
|
e79ebcce8a | ||
|
|
ff251ca05b | ||
|
|
663bd5580e | ||
|
|
6e34ee0270 | ||
|
|
a223ac715f | ||
|
|
ca3a5dd4c3 | ||
|
|
20068e802e | ||
|
|
c2ab0d6da9 | ||
|
|
e1e1054268 | ||
|
|
469e36a3d2 | ||
|
|
cd12d6b39a | ||
|
|
fa88168f3b | ||
|
|
0e0312bc86 | ||
|
|
6ecb9b1752 | ||
|
|
f644f74ce6 | ||
|
|
c5fa348c20 | ||
|
|
e0b760ddcd | ||
|
|
c482a50b05 | ||
|
|
080cc049b6 | ||
|
|
937dba67cc | ||
|
|
6952561c18 | ||
|
|
e4ad3c0509 | ||
|
|
c1c1d6f094 | ||
|
|
ee770f6c01 | ||
|
|
fea23176e8 | ||
|
|
daf7150ca5 | ||
|
|
9f30d47e7f | ||
|
|
9855ad6bbb | ||
|
|
1b081b8d0b | ||
|
|
eb7fa8a66e | ||
|
|
ccdfb61a55 | ||
|
|
b00377b8ce | ||
|
|
81b8ba2d1c | ||
|
|
547dc8ae9b | ||
|
|
497caf9280 | ||
|
|
7bf871658d | ||
|
|
8a3ce47586 | ||
|
|
3ee5a73f35 | ||
|
|
2948f23337 | ||
|
|
4db20609da | ||
|
|
d5e479a7da | ||
|
|
0f726a9fe6 | ||
|
|
dc79c6750a | ||
|
|
f809f86477 | ||
|
|
72d875c3de | ||
|
|
165aa88ae1 | ||
|
|
c7a0a24011 | ||
|
|
bb375cde2c | ||
|
|
2532972048 | ||
|
|
0ef6d5c477 | ||
|
|
4b4dfdf1d8 | ||
|
|
b3e9e70eb9 | ||
|
|
bac02831ad | ||
|
|
ec1f86413c | ||
|
|
9f488fc36a | ||
|
|
3fb1d547c1 | ||
|
|
66f0ceca5c | ||
|
|
00dccbb4e9 | ||
|
|
c02241edaa | ||
|
|
f4329226d6 | ||
|
|
8af45b29f5 | ||
|
|
26b73797ac | ||
|
|
dd53fc97c8 | ||
|
|
bd87244c26 | ||
|
|
9377549c32 | ||
|
|
1a1678d85a | ||
|
|
00cf93dbea | ||
|
|
f6f78f53ed | ||
|
|
c8d410f8d0 | ||
|
|
d701cb3361 | ||
|
|
4a76768a22 | ||
|
|
d7ff18d3fe | ||
|
|
99d792b211 | ||
|
|
80c2608628 | ||
|
|
2a61f0d9df | ||
|
|
2719dea262 | ||
|
|
ca721596f3 | ||
|
|
6fbaecdce2 | ||
|
|
6896c191b6 | ||
|
|
011bd0d82f | ||
|
|
858173e862 | ||
|
|
563ed8fb9b | ||
|
|
2e82e0f7a3 | ||
|
|
f8b19557c3 | ||
|
|
d670f3d6e9 | ||
|
|
25ff908892 | ||
|
|
b4dce18854 | ||
|
|
a943a03baf | ||
|
|
085aef855b | ||
|
|
ee1d54a263 | ||
|
|
1b41003b82 | ||
|
|
9a53260754 | ||
|
|
f5f0f625ca | ||
|
|
c05fb3bd95 | ||
|
|
064ddf3fe8 | ||
|
|
80101e87ac | ||
|
|
a73edc1475 | ||
|
|
de2747552e | ||
|
|
077a01033e | ||
|
|
19b25d95ae | ||
|
|
3c4fca0705 | ||
|
|
f3edbed615 | ||
|
|
f435b2615c | ||
|
|
2d34ff75f9 | ||
|
|
7b02fa1fc5 | ||
|
|
283136ab27 | ||
|
|
fac1ed544a | ||
|
|
85fb64814f | ||
|
|
36ec67254e | ||
|
|
5d54fed53c | ||
|
|
5d58dac108 | ||
|
|
b5e35e2bd9 | ||
|
|
f13e4e5b36 | ||
|
|
46bda6f8ac | ||
|
|
d9a3931568 | ||
|
|
86d409d25c | ||
|
|
b7b5e4a567 | ||
|
|
109f9fbcdf | ||
|
|
218d170d43 | ||
|
|
8ee1bc17c0 | ||
|
|
8287b3a383 | ||
|
|
b2dec3ba0c | ||
|
|
fbf09cf662 | ||
|
|
0da10cc6ec | ||
|
|
605bf92aef | ||
|
|
08a2fe283f | ||
|
|
14c8e34ecb | ||
|
|
f3152cb469 | ||
|
|
f4279ba768 | ||
|
|
ee32cc07cd | ||
|
|
4d29852f8a | ||
|
|
ccf0a01c00 | ||
|
|
6e47abf3ed | ||
|
|
9b218551c3 | ||
|
|
4f6e01509a | ||
|
|
058b2de7f3 | ||
|
|
0ab9bdbda4 | ||
|
|
20cdc31eeb | ||
|
|
350aab065b | ||
|
|
795f43a5f6 | ||
|
|
94e0117e46 | ||
|
|
0ec35225ab | ||
|
|
d15e036243 | ||
|
|
773f9f69fb | ||
|
|
d4df13696f | ||
|
|
1ea42370c1 | ||
|
|
e87676f371 | ||
|
|
3343b49fd2 | ||
|
|
7a41228ec0 | ||
|
|
48495d02d4 | ||
|
|
9d6bd8a74c | ||
|
|
38ae948bcb | ||
|
|
cbddf0bf47 | ||
|
|
68b5b8e074 | ||
|
|
434bedca96 | ||
|
|
d23536257e | ||
|
|
1a959d659a | ||
|
|
043e7f9a28 | ||
|
|
af77c269f2 | ||
|
|
fd28796530 | ||
|
|
02eae4377e | ||
|
|
5215d98a83 | ||
|
|
4e1de881b6 | ||
|
|
90e2fb29ad | ||
|
|
c6d347ff1a | ||
|
|
689bb0f583 | ||
|
|
139edf2c4d | ||
|
|
b481b4f1eb | ||
|
|
e51faf6d00 | ||
|
|
d1f7fd0548 | ||
|
|
a2b983aa2a | ||
|
|
61bcbc2473 | ||
|
|
e7a3f07580 | ||
|
|
afca99d6a9 | ||
|
|
a677161106 | ||
|
|
e2c90b8b76 | ||
|
|
231947e27f | ||
|
|
c6eae7d71d | ||
|
|
88e680a7ba | ||
|
|
121e87e365 | ||
|
|
5d59509372 | ||
|
|
da9ab54d23 | ||
|
|
f1c061e017 | ||
|
|
ff99d20bf4 | ||
|
|
408d13cd26 | ||
|
|
e95e8e4755 | ||
|
|
b37f92956d | ||
|
|
2f8b0194f3 | ||
|
|
fd17693b35 | ||
|
|
40973d714e | ||
|
|
c2c3112e46 | ||
|
|
a7f407ad3b | ||
|
|
1c19e35dbc | ||
|
|
49715b7ad9 | ||
|
|
ee315c54c3 | ||
|
|
8ede9c3501 | ||
|
|
a0967f2628 | ||
|
|
13492a0183 | ||
|
|
5764b360ff | ||
|
|
63804b1d7f | ||
|
|
318510e6b4 | ||
|
|
27d15214e7 | ||
|
|
da33ac3419 | ||
|
|
8baeb40126 | ||
|
|
7e8cc1207b | ||
|
|
dc3c10b49e | ||
|
|
5b2534fcda | ||
|
|
944e9273a8 | ||
|
|
2d45ee2644 | ||
|
|
75f8dd277f | ||
|
|
38bff0f0ed | ||
|
|
c81bc9c159 | ||
|
|
8547f117f6 | ||
|
|
0afd53b9cc | ||
|
|
fe64e82ae0 | ||
|
|
46cfe4e14b | ||
|
|
93e0331886 | ||
|
|
c36e74b064 | ||
|
|
7bc7766680 | ||
|
|
99f12e096a | ||
|
|
91b4ec0238 | ||
|
|
0039b478e5 | ||
|
|
a232c4f55a | ||
|
|
bf3d278b06 | ||
|
|
c520053213 | ||
|
|
52818a7c17 | ||
|
|
992f858aff | ||
|
|
716e464d23 | ||
|
|
504a76af04 | ||
|
|
82329d36b5 | ||
|
|
837fc0806e | ||
|
|
45923e2e1b | ||
|
|
c54f7d9d1c | ||
|
|
6db3ca35c1 | ||
|
|
f3f3b09d24 | ||
|
|
ed6e9c3fa8 | ||
|
|
0224c80093 | ||
|
|
407732a410 | ||
|
|
6a6b1ec5ab | ||
|
|
6352135f15 | ||
|
|
bc774c261c | ||
|
|
3a061708cd | ||
|
|
2b6e32c052 | ||
|
|
9baa06d225 | ||
|
|
37a2860a21 | ||
|
|
ed7d989a06 | ||
|
|
e7964eff27 | ||
|
|
a944e4ae45 | ||
|
|
d1fdea91c6 | ||
|
|
9b1be8298a | ||
|
|
c107cb777f | ||
|
|
d003171be2 | ||
|
|
9b86931409 | ||
|
|
4d04825004 | ||
|
|
6aeccc21cf | ||
|
|
4109e233c8 | ||
|
|
d606bc7217 | ||
|
|
a47765d689 | ||
|
|
3b078d34d2 | ||
|
|
c51912ce5d | ||
|
|
980a891e7c | ||
|
|
96429025ab | ||
|
|
612be3f747 | ||
|
|
12532e9214 | ||
|
|
dca7e82da4 | ||
|
|
0e49486b51 | ||
|
|
f3712a5860 | ||
|
|
ed6bbc7c7f | ||
|
|
66e26827d4 | ||
|
|
633b008454 | ||
|
|
fc4de87351 | ||
|
|
fb77f4be1c | ||
|
|
7d2cd32a5f | ||
|
|
a0b4e23e2e | ||
|
|
9e0f06faeb | ||
|
|
99159ddc96 | ||
|
|
e68955f859 | ||
|
|
b936040985 | ||
|
|
09291e63da | ||
|
|
fba9d30962 | ||
|
|
82c371bd69 | ||
|
|
f30cbd2d2c | ||
|
|
d83114b4df | ||
|
|
4e331d5e84 | ||
|
|
e95f941870 | ||
|
|
5d607d63c2 | ||
|
|
2587a7a394 | ||
|
|
0d3e4adba1 | ||
|
|
9599246c21 | ||
|
|
93552004a2 | ||
|
|
cdd9cab217 | ||
|
|
72ec7ea178 | ||
|
|
3173aa0fa3 | ||
|
|
b579a92aed | ||
|
|
9bc114facb | ||
|
|
8e98ccf173 | ||
|
|
b4f421a273 | ||
|
|
73f19b2625 | ||
|
|
2d29b15a2c | ||
|
|
d5525d1ff7 | ||
|
|
0d5cbcbbdc | ||
|
|
6a96048a04 | ||
|
|
fc2a2d0c41 | ||
|
|
5879143695 | ||
|
|
f7850f3d9a | ||
|
|
c722ac6974 | ||
|
|
6044ce3680 | ||
|
|
44d8450357 | ||
|
|
f3ef30b6b7 | ||
|
|
7a18ca09ed | ||
|
|
9941cf0373 | ||
|
|
b35633e6db | ||
|
|
0922fee126 | ||
|
|
9f840f2c48 | ||
|
|
803595712c | ||
|
|
878a85e07b | ||
|
|
981a316abd | ||
|
|
eb99bfd773 | ||
|
|
1301adda9f | ||
|
|
ba7ca55a17 | ||
|
|
e3b310d6e6 | ||
|
|
52ba1a8002 | ||
|
|
4cc3b63923 | ||
|
|
9ea8549725 | ||
|
|
c575d8c493 | ||
|
|
a29bf2cae2 | ||
|
|
eda808f4ca | ||
|
|
b937870e02 | ||
|
|
c907c2baed | ||
|
|
dc2387b8a6 | ||
|
|
423669d5b6 | ||
|
|
6c25b0b56f | ||
|
|
0ffbcdf75c | ||
|
|
bb030154e8 | ||
|
|
6d4821b427 | ||
|
|
44ae7fbb1c | ||
|
|
1e96e7fae8 | ||
|
|
2c222c8f6e | ||
|
|
4be012a3cb | ||
|
|
b95c8c73f0 | ||
|
|
be75387a7b | ||
|
|
d4b0d09e4a | ||
|
|
d3f74f0d4c | ||
|
|
8bb3a04137 | ||
|
|
757d6e0d6e | ||
|
|
f12ea743dd | ||
|
|
dc7de1f2ae | ||
|
|
df2369f8bc | ||
|
|
dbf41fac3d | ||
|
|
dd9ba14445 | ||
|
|
0678c47f1a | ||
|
|
0cf2d30e72 | ||
|
|
276aea3a61 | ||
|
|
661a411e3d | ||
|
|
38ee9372e2 | ||
|
|
3b5b47465b | ||
|
|
df781def35 | ||
|
|
07691d8960 | ||
|
|
3d550e4049 | ||
|
|
4771ca51e3 | ||
|
|
2abab16f50 | ||
|
|
7a9f13ca9e | ||
|
|
0ff15a9587 | ||
|
|
68e2cde37d | ||
|
|
c452bc7501 | ||
|
|
a258f5b6dd | ||
|
|
696e9e439f | ||
|
|
a40632c113 | ||
|
|
d56e753015 | ||
|
|
b90bf87135 | ||
|
|
5645981087 | ||
|
|
25aa7ef690 | ||
|
|
53a1e6716e | ||
|
|
c8141809f6 | ||
|
|
e6aa541d3e | ||
|
|
8741f5374c | ||
|
|
ead43eee9f | ||
|
|
17cbd670c0 | ||
|
|
a8236ce79d | ||
|
|
724441e9cf | ||
|
|
f90f37fa1e | ||
|
|
092dfdad74 | ||
|
|
ce6ada8e5a | ||
|
|
a5f947a523 | ||
|
|
40a8090171 | ||
|
|
af0217dd64 | ||
|
|
a9e59b9598 | ||
|
|
e47d50b7fd | ||
|
|
ef1e53f505 | ||
|
|
e1cd689fd7 | ||
|
|
5eb51a940a | ||
|
|
8620a5332d | ||
|
|
818813f0fd | ||
|
|
3ff88d3e72 | ||
|
|
e2b3d76321 | ||
|
|
56f0019027 | ||
|
|
09ade9fd5b | ||
|
|
137defc4e7 | ||
|
|
c5fdde395f | ||
|
|
61de46f180 | ||
|
|
e222065446 | ||
|
|
0b41fee071 | ||
|
|
77b26c0ea1 | ||
|
|
5c6ac69ca4 | ||
|
|
3646c57ad5 | ||
|
|
f311729b88 | ||
|
|
aabbf4cd5c | ||
|
|
d11614eec7 | ||
|
|
a6c0242128 | ||
|
|
25695317b1 | ||
|
|
5fe453f4cb | ||
|
|
040bb08d84 | ||
|
|
61f8058f13 | ||
|
|
2dcbeaa53e | ||
|
|
812efebb8f | ||
|
|
90721aa429 | ||
|
|
18be643b7c | ||
|
|
d81b006e8f | ||
|
|
5273f998d4 | ||
|
|
00a860dea1 | ||
|
|
5d2426cebb | ||
|
|
c583e2e8f7 | ||
|
|
0318d6d143 | ||
|
|
cf3292cbf7 | ||
|
|
d523ee5063 | ||
|
|
c4b7d2a4c9 | ||
|
|
5cd417ba06 | ||
|
|
467a104f6a | ||
|
|
0e823fac83 | ||
|
|
f000ca1fb8 | ||
|
|
e121f64e4f | ||
|
|
9224c5657e | ||
|
|
bfe67a1902 | ||
|
|
5cdf2a86a6 | ||
|
|
97c6970030 | ||
|
|
4612d1aa32 | ||
|
|
9f3a0b265a | ||
|
|
66adbc5795 | ||
|
|
285c8dc2af | ||
|
|
4a0ecc19d2 | ||
|
|
91626f8759 | ||
|
|
9e30c0e9d0 | ||
|
|
b530035104 | ||
|
|
99f5e93df3 | ||
|
|
f7a4cda1e7 | ||
|
|
07047d35f3 | ||
|
|
a5c069ecdf | ||
|
|
ee5c33a9bf | ||
|
|
c755e95d1f | ||
|
|
91b3925529 | ||
|
|
b5b69976cd | ||
|
|
fefb11aebd | ||
|
|
f1f75b2298 | ||
|
|
dd951f6fe1 | ||
|
|
33eea4007c | ||
|
|
205756968b | ||
|
|
9397552bbe | ||
|
|
8c01eeea23 | ||
|
|
659ef637cf | ||
|
|
7cf6711c96 | ||
|
|
bc993aea8c | ||
|
|
682732e96f | ||
|
|
89a3525fb4 | ||
|
|
631802630d | ||
|
|
2ec3379c19 | ||
|
|
c0cda15aab | ||
|
|
942da4bbb6 | ||
|
|
95e4fbc39d | ||
|
|
d4c96a9d4a | ||
|
|
192406dc56 | ||
|
|
10397594d9 | ||
|
|
1c12a499e2 | ||
|
|
fb81f23298 | ||
|
|
9af0d1543f | ||
|
|
3c19f144a0 | ||
|
|
8fef0b686f | ||
|
|
122ed386c8 | ||
|
|
c4690718a0 | ||
|
|
e8e75fab9e | ||
|
|
cf14f98ad6 | ||
|
|
5ec2e184eb | ||
|
|
5984f25221 | ||
|
|
b601507a5e | ||
|
|
20e270f2b3 | ||
|
|
b388d6f208 | ||
|
|
000a0cdc17 | ||
|
|
fe2c9afdc2 | ||
|
|
ea6c1c8097 | ||
|
|
da9cc14599 | ||
|
|
d42d73c42b | ||
|
|
abfc075e28 | ||
|
|
0be124206f | ||
|
|
d0817b8097 | ||
|
|
ad2308a031 | ||
|
|
922f48ccea | ||
|
|
642b35a5e1 | ||
|
|
206737c1d6 | ||
|
|
8e67359d7b | ||
|
|
26b3044dfc | ||
|
|
1aaeb9f146 | ||
|
|
e34f8d1521 | ||
|
|
7b08ae6046 | ||
|
|
54de62f7b7 | ||
|
|
b3a82d5b57 | ||
|
|
d341e19414 | ||
|
|
4b22c2900e | ||
|
|
eedd12e63c | ||
|
|
3723c3cdee | ||
|
|
cb2127bb18 | ||
|
|
a82eabfb8a | ||
|
|
463038e496 | ||
|
|
4ef089e668 | ||
|
|
eb30684bba | ||
|
|
2efd71c3c6 | ||
|
|
624c4e6369 | ||
|
|
8336cedefe | ||
|
|
6124ae0d42 | ||
|
|
c744b665a8 | ||
|
|
d1d35e3d54 | ||
|
|
6b8fcf2004 | ||
|
|
3cc9a6fb23 | ||
|
|
d3fa69c290 | ||
|
|
00950ed234 | ||
|
|
53cf2c58ae | ||
|
|
c00692bd31 | ||
|
|
feeaf633f6 | ||
|
|
546d7d594b | ||
|
|
f75efd0b13 | ||
|
|
9d8774e021 | ||
|
|
87f6d6e462 | ||
|
|
93f8eb2a1a | ||
|
|
2a4bff8f61 | ||
|
|
65dfe85d74 | ||
|
|
e601145c2c | ||
|
|
10021cd9dc | ||
|
|
f56b7bed0f | ||
|
|
61dd96b918 | ||
|
|
618e21bd13 | ||
|
|
e9cf900c9c | ||
|
|
2e6a3bf88b | ||
|
|
d72485a1e5 | ||
|
|
ec2ff1035a | ||
|
|
fca689e773 | ||
|
|
4a68238526 | ||
|
|
f81e4d3483 | ||
|
|
344e29cf59 | ||
|
|
0f96131583 | ||
|
|
d6ef25d76d | ||
|
|
a93275bb44 | ||
|
|
4f2d809c6b | ||
|
|
66272b6db3 | ||
|
|
2d2875f4c9 | ||
|
|
210c8cb5c5 | ||
|
|
c9139d013b | ||
|
|
e9b3947be4 | ||
|
|
6fefbee45b | ||
|
|
e80a02583e | ||
|
|
765a97fd10 | ||
|
|
e79df5b7d0 | ||
|
|
e6b61670d4 | ||
|
|
e608595a3f | ||
|
|
8d1882ed56 | ||
|
|
d4018e3656 | ||
|
|
fe603e369e | ||
|
|
a046f097da | ||
|
|
a4008f60fb | ||
|
|
e7ec0d1a2b | ||
|
|
cc6ce74501 | ||
|
|
bc2524278c | ||
|
|
69e8927cbd | ||
|
|
33f162ccc8 | ||
|
|
a64c2b851a | ||
|
|
e2848f697b | ||
|
|
ba6e3a1e81 | ||
|
|
9990bec890 | ||
|
|
4b6f9cce8d | ||
|
|
5959c9b500 | ||
|
|
35cfe6062d | ||
|
|
6348093892 | ||
|
|
16ea61e480 | ||
|
|
eac3161141 | ||
|
|
38f24f1df5 | ||
|
|
5edc77d9f9 | ||
|
|
a33d1273aa | ||
|
|
5eaf9b56bf | ||
|
|
e2038d6968 | ||
|
|
7002f99964 | ||
|
|
3962528be4 | ||
|
|
d6205b6157 | ||
|
|
381be9a9e1 | ||
|
|
434a14b512 | ||
|
|
8a3fff4ae9 | ||
|
|
ad35cb911a | ||
|
|
c5d042d339 | ||
|
|
b30632e73a | ||
|
|
8a408fc3a8 | ||
|
|
f824480796 | ||
|
|
20726b50dc | ||
|
|
28ed0c4991 | ||
|
|
8c86ab671a | ||
|
|
5f9fb5d239 | ||
|
|
f1abc17cde | ||
|
|
bcf0aab923 | ||
|
|
09fea5f8fe | ||
|
|
175b270a7f | ||
|
|
88bc9aaf64 | ||
|
|
3cae29b636 | ||
|
|
e21d22fea3 | ||
|
|
7e41c4c394 | ||
|
|
5bc94271e8 | ||
|
|
6b66b065a7 | ||
|
|
d956c44f83 | ||
|
|
b65cd51bc2 | ||
|
|
86f2b8fdbc | ||
|
|
29f3c2b7ec | ||
|
|
77fe01a990 | ||
|
|
45d118ce09 | ||
|
|
1d0565bf04 | ||
|
|
b578914a6f | ||
|
|
2b3b67505c | ||
|
|
0360fc5b81 | ||
|
|
192935238f | ||
|
|
81dd8a938c | ||
|
|
a7a6b3c351 | ||
|
|
cf71d459fc | ||
|
|
8c66cb57c2 | ||
|
|
efab4ced7d | ||
|
|
b68afd8642 | ||
|
|
4f5389f76c | ||
|
|
4028747412 | ||
|
|
c5296c8b14 | ||
|
|
1b8454b4ec | ||
|
|
ac1101d225 | ||
|
|
e263a5365f | ||
|
|
aafff5aeab | ||
|
|
f11c9d4401 | ||
|
|
15cf5294da | ||
|
|
097a96580e | ||
|
|
545749c070 | ||
|
|
ef1650b53f | ||
|
|
eab84ce532 | ||
|
|
4afcf18993 | ||
|
|
60abeb293c | ||
|
|
64ba961948 | ||
|
|
94fedc809c | ||
|
|
72b609913c | ||
|
|
493f039a09 | ||
|
|
d8cbf8103f | ||
|
|
ace86ab545 | ||
|
|
562f6ee466 | ||
|
|
bfa75471f4 | ||
|
|
9e5ef1500e | ||
|
|
989d1592ba | ||
|
|
c9ca5d305a | ||
|
|
fb06985c98 | ||
|
|
10a86048e8 | ||
|
|
de08420b29 | ||
|
|
ddf76d4a60 | ||
|
|
de5bb38c01 | ||
|
|
332d1b7cbe | ||
|
|
bab4147ba1 | ||
|
|
5fef11e3ce | ||
|
|
7c54f578d3 | ||
|
|
a2c3b797ef | ||
|
|
5ca7fcdc5c | ||
|
|
169f395747 | ||
|
|
fdd3fee1f5 | ||
|
|
3f1c3913f1 | ||
|
|
cb8305eb86 | ||
|
|
0e21a5e5ab | ||
|
|
d574fb0cb4 | ||
|
|
c9c79c527a | ||
|
|
8b55892494 | ||
|
|
2f3828e7a8 | ||
|
|
8b49e55a21 | ||
|
|
3b31c107da | ||
|
|
ad145690b3 | ||
|
|
e7755f506e | ||
|
|
27d6dc3afe | ||
|
|
cf28176dc2 | ||
|
|
645c73eb32 | ||
|
|
49743eaff7 | ||
|
|
b2747fec01 | ||
|
|
671152c9ac | ||
|
|
689e0d3897 | ||
|
|
7c0c96c740 | ||
|
|
e9b72399a1 | ||
|
|
7f1d93488b | ||
|
|
481c4718e5 | ||
|
|
a5ff6897c0 | ||
|
|
85ae51a4b3 | ||
|
|
6e9e47a27c | ||
|
|
64dbc6721a | ||
|
|
abfe3d303b | ||
|
|
49464f4fc7 | ||
|
|
866b1583c9 | ||
|
|
8a60c93be8 | ||
|
|
0b12f1c173 | ||
|
|
9da360fb43 | ||
|
|
f43e17d413 | ||
|
|
6629a8d833 | ||
|
|
6d26e61d89 | ||
|
|
4593b1d8dd | ||
|
|
f6b5d7af28 | ||
|
|
c70ccbc299 | ||
|
|
465ae2a4de | ||
|
|
410a0c4bb2 | ||
|
|
dbc3bfcab0 | ||
|
|
bc225f01f6 | ||
|
|
38185cca7b | ||
|
|
c74bb371ca | ||
|
|
8d43a01b94 | ||
|
|
9571138f52 | ||
|
|
dcad152f0b | ||
|
|
75f693e437 | ||
|
|
b2ea090c2b | ||
|
|
f78a2c806d | ||
|
|
a4ea2629bd | ||
|
|
0f66720816 | ||
|
|
05614074d3 | ||
|
|
7f636c5180 | ||
|
|
9c71826ed6 | ||
|
|
b23516e974 | ||
|
|
8b57280e24 | ||
|
|
d2ee8b1e43 | ||
|
|
9ca001f79e | ||
|
|
cff1eb4400 | ||
|
|
e1321a1af8 | ||
|
|
4a14093166 | ||
|
|
2b85e97019 | ||
|
|
dc5b85be54 | ||
|
|
da3ed94619 | ||
|
|
cf184906ab | ||
|
|
e3e4d2ffbb | ||
|
|
a6474a3611 | ||
|
|
2cf6f5a9c9 | ||
|
|
518061b72e | ||
|
|
451d946237 | ||
|
|
97cd879894 | ||
|
|
1eab3719eb | ||
|
|
5f67ed05d3 | ||
|
|
f7cd4556fb | ||
|
|
bad847c57a | ||
|
|
a5e669bb29 | ||
|
|
e30366bfb1 | ||
|
|
f88736bac8 | ||
|
|
a65d313301 | ||
|
|
36ab8f1482 | ||
|
|
d768b1fc02 | ||
|
|
733cd2f24b | ||
|
|
4722c241c8 | ||
|
|
3a9f94eeae | ||
|
|
38592a6b8d | ||
|
|
2f3716ca23 | ||
|
|
1799bff666 | ||
|
|
ddb5399fbe | ||
|
|
5fc112b33b | ||
|
|
3028d48c7d | ||
|
|
d823427289 | ||
|
|
e5e63e85fe | ||
|
|
dc337feee7 | ||
|
|
5033963d20 | ||
|
|
aaf9103f63 | ||
|
|
8589831de4 | ||
|
|
b640ec4e66 | ||
|
|
462705c804 | ||
|
|
55b2683b92 | ||
|
|
c76e6db235 | ||
|
|
d1f93f089d | ||
|
|
739975230a | ||
|
|
a434431b96 | ||
|
|
fb607410da | ||
|
|
55e3a7b15c | ||
|
|
5d74b31feb | ||
|
|
b99656a4f5 | ||
|
|
9cd3ec0d05 | ||
|
|
d2b8ec4315 | ||
|
|
4760c13c27 | ||
|
|
5d9ce13196 | ||
|
|
aa9d1e5eb1 | ||
|
|
5717a9f052 | ||
|
|
085a502492 | ||
|
|
d56dcfe52f | ||
|
|
9039d5a21d | ||
|
|
a92180be2c | ||
|
|
b602c75268 | ||
|
|
1d875e2e40 | ||
|
|
c0d17b54f9 | ||
|
|
d68195318d | ||
|
|
5daf4bc516 | ||
|
|
1cdf28e6e1 | ||
|
|
448f35b3b4 | ||
|
|
d40b3992ac | ||
|
|
ba61bdc750 | ||
|
|
68a9bd6bba | ||
|
|
210ccda853 | ||
|
|
df9a6e8401 | ||
|
|
68e604e881 | ||
|
|
5e26d51304 | ||
|
|
eb75a2c002 | ||
|
|
a82aee8e6e | ||
|
|
c2f2f0c743 | ||
|
|
c792cab9c2 | ||
|
|
ef8075f2b3 | ||
|
|
4ef63b0456 | ||
|
|
49fc78ed8a | ||
|
|
baaf01afc1 | ||
|
|
76c90bc42c | ||
|
|
fb1436ff0e | ||
|
|
25d01cc00e | ||
|
|
344f630d8d | ||
|
|
6a86699f96 | ||
|
|
77a64a0436 | ||
|
|
d322c107cd | ||
|
|
a572d8d419 | ||
|
|
a36a121a82 | ||
|
|
45ccdb4fb7 | ||
|
|
9451bc42a8 | ||
|
|
7f94e92383 | ||
|
|
f42952dbf1 | ||
|
|
894dc59a2f | ||
|
|
83d8209393 | ||
|
|
ab046e8823 | ||
|
|
7a57954a31 | ||
|
|
2866a9403e | ||
|
|
99d58d1f50 | ||
|
|
ebb4953de4 | ||
|
|
230cdbbd39 | ||
|
|
731abceda1 | ||
|
|
16e158b38e | ||
|
|
16d5dda6f2 | ||
|
|
0cdb0a8059 | ||
|
|
33a90e073e | ||
|
|
f4f56933fc | ||
|
|
842aa4055d | ||
|
|
0d600c0e19 | ||
|
|
33fd8d0516 | ||
|
|
b4e140c36a | ||
|
|
ded6dd1b99 | ||
|
|
fe4ba8793e | ||
|
|
2b9c958220 | ||
|
|
55cdbb41d8 | ||
|
|
fbfc042f83 | ||
|
|
175a8e2054 | ||
|
|
0f5ff984bd | ||
|
|
b15f666fdc | ||
|
|
b48db24dcc | ||
|
|
a764a89d8b | ||
|
|
4520e7ae2d | ||
|
|
9d7f91a94a | ||
|
|
eedd7b9238 | ||
|
|
cd04468943 | ||
|
|
3bd48e46f6 | ||
|
|
908b020900 | ||
|
|
709cef3527 | ||
|
|
c56b8776fa | ||
|
|
b48ae874e5 | ||
|
|
c3ec7cb982 | ||
|
|
656e8a8c9c | ||
|
|
002ed7ef49 | ||
|
|
140a853e4f | ||
|
|
333af92193 | ||
|
|
037d815078 | ||
|
|
c65579b402 | ||
|
|
adc6800400 | ||
|
|
0af9ed1cc1 | ||
|
|
3dc293a3fe | ||
|
|
c72c6f20c7 | ||
|
|
6363cfd142 | ||
|
|
d2b684e8cf | ||
|
|
1c23e4b83c | ||
|
|
868cbdc597 | ||
|
|
b1bd546218 | ||
|
|
76dd7ed969 | ||
|
|
dd2f836cb0 | ||
|
|
a1d33a1377 | ||
|
|
4f01298ca8 | ||
|
|
ac5c46ab5e | ||
|
|
ef681df8af | ||
|
|
528197bb09 | ||
|
|
4037846d63 | ||
|
|
3b4f6b4413 | ||
|
|
cbb79e399a | ||
|
|
3a654f69c4 | ||
|
|
3b7b6e6234 | ||
|
|
6a65dfcde7 | ||
|
|
235352e5a0 | ||
|
|
a0981c3b35 | ||
|
|
2f60f039b8 | ||
|
|
8613a2c1bf | ||
|
|
20827ef061 | ||
|
|
0e0889da3d | ||
|
|
070e336e44 | ||
|
|
f89fd96ee4 | ||
|
|
2e9f413f82 | ||
|
|
e3fbeeb7de | ||
|
|
96fcb89fb0 | ||
|
|
63134a16f2 | ||
|
|
e288d22f49 | ||
|
|
2d3b8bb1f0 | ||
|
|
9c9afb7761 | ||
|
|
283951a1c5 | ||
|
|
5e2a441d76 | ||
|
|
f755281cca | ||
|
|
40ee4ec401 | ||
|
|
31269e1554 | ||
|
|
72ff943e29 | ||
|
|
309f310c15 | ||
|
|
2b41d4547a | ||
|
|
38483fbd67 | ||
|
|
074ad167d8 | ||
|
|
b0475728c8 | ||
|
|
f7bedbedd5 | ||
|
|
957093e8c5 | ||
|
|
a43d7627c5 | ||
|
|
ff5959553f | ||
|
|
f45d82f8e7 | ||
|
|
f11cb1211a | ||
|
|
d75bcda183 | ||
|
|
11d4cd401a | ||
|
|
a09331a942 | ||
|
|
7260888d18 | ||
|
|
216c671d5e | ||
|
|
38dc935943 | ||
|
|
1dc5a40b18 | ||
|
|
03ea1800a9 | ||
|
|
4cea57c1b1 | ||
|
|
bcad3efc4e | ||
|
|
bd3fe3289f | ||
|
|
7ca7bcba8c | ||
|
|
81d3b16346 | ||
|
|
084c69d9c7 | ||
|
|
cf01601caa | ||
|
|
0c5cf13fbb | ||
|
|
28549242ec | ||
|
|
2059495936 | ||
|
|
f0cfa012a8 | ||
|
|
98d71cb6fb | ||
|
|
6f0c951205 | ||
|
|
4b7e8b60ba | ||
|
|
ca2d3a6f5c | ||
|
|
8f9c129f18 | ||
|
|
1a752708f9 | ||
|
|
592bc7771f | ||
|
|
d3cb14f1ce | ||
|
|
dc535aadd0 | ||
|
|
930884cf0b | ||
|
|
35c979295d | ||
|
|
250660d652 | ||
|
|
6d400b0656 | ||
|
|
82cf712377 | ||
|
|
d4519bab58 | ||
|
|
4830bb0faa | ||
|
|
35c260396c | ||
|
|
7cb149b36e | ||
|
|
4a723c28ff | ||
|
|
7755b587a3 | ||
|
|
91c8cf72a8 | ||
|
|
3a5db91e92 | ||
|
|
a1097b9c70 | ||
|
|
239e473481 | ||
|
|
0c2560432d | ||
|
|
6ba2af7cb6 | ||
|
|
c49fafa043 | ||
|
|
65cd847520 | ||
|
|
a0dc174c92 | ||
|
|
afea16062a | ||
|
|
6fc7fab2b0 | ||
|
|
b311d3be21 | ||
|
|
e1d2005761 | ||
|
|
57e7d240bb | ||
|
|
5eb2bf4c3b | ||
|
|
66cd6e3dd5 | ||
|
|
671fe78e81 | ||
|
|
103248f21c | ||
|
|
12eeecf8db | ||
|
|
3564703faa | ||
|
|
6ab2c7e66c | ||
|
|
49772e50d5 | ||
|
|
08af2b82f9 | ||
|
|
edb1f32e81 | ||
|
|
07058f3c89 | ||
|
|
347031bfd2 | ||
|
|
f0600ac0c9 | ||
|
|
30ccf955e6 | ||
|
|
84c96864fd | ||
|
|
4678cb1baa | ||
|
|
ebb9839152 | ||
|
|
62199e67d7 | ||
|
|
67b33b7986 | ||
|
|
ccd797086b | ||
|
|
b2fb00f735 | ||
|
|
b6d52d26ea | ||
|
|
fb9a20b637 | ||
|
|
6d09a53058 | ||
|
|
50c0b09a76 | ||
|
|
0300b5237a | ||
|
|
add7919a1e | ||
|
|
ae1802e8be | ||
|
|
2cda5cddc8 | ||
|
|
c0473eefb7 | ||
|
|
834b97c84c | ||
|
|
507ecde94d | ||
|
|
00bbd8e8dd | ||
|
|
680ab812cb | ||
|
|
de0cc7d081 | ||
|
|
9c1c280aeb | ||
|
|
215cb74e52 | ||
|
|
5f03c74dcc | ||
|
|
61ceac5110 | ||
|
|
b9d6ee983f | ||
|
|
e4e28bc903 | ||
|
|
4e53dbf190 | ||
|
|
1b02a519c8 | ||
|
|
25831f6082 | ||
|
|
7cb1ce6e45 | ||
|
|
8e76676ca2 | ||
|
|
d3d61c4c2a | ||
|
|
acfa75410a | ||
|
|
4f49b39027 | ||
|
|
9aca26fbdf | ||
|
|
628ea38d70 | ||
|
|
4ccbcd8856 | ||
|
|
6c4178b690 | ||
|
|
ccc7a613b2 | ||
|
|
86b808a102 | ||
|
|
9c6911dc42 | ||
|
|
19fbe7d367 | ||
|
|
c430c0421c | ||
|
|
8094f759f8 | ||
|
|
177e5f790f | ||
|
|
73cc3b7998 | ||
|
|
9a5c27ee64 | ||
|
|
b6bdddd24a | ||
|
|
3e379c3d21 | ||
|
|
428510e815 | ||
|
|
e050825d32 | ||
|
|
6e6aecec3d | ||
|
|
574096a239 | ||
|
|
7533b10fa9 | ||
|
|
55afdc7f17 | ||
|
|
80719f623d | ||
|
|
c565924ef7 | ||
|
|
be6d491414 | ||
|
|
99525b6a9d | ||
|
|
1f2fd602e4 | ||
|
|
937b504950 | ||
|
|
6a22adee5c | ||
|
|
021b3ef3b3 | ||
|
|
3677bf1dca | ||
|
|
4bfa23089b | ||
|
|
dc23f3a90e | ||
|
|
25cc2cea0b | ||
|
|
39e2eec3b1 | ||
|
|
cab40bd8c8 | ||
|
|
f625f48977 | ||
|
|
01e0113a3e | ||
|
|
89e4c2e7c3 | ||
|
|
3785352769 | ||
|
|
ccb6081f95 | ||
|
|
fa6a96a166 | ||
|
|
c67336287e | ||
|
|
7a0229065d | ||
|
|
477cbc8ed4 | ||
|
|
e8ec7ccbff | ||
|
|
1ad43c2b65 | ||
|
|
b3d49f6d20 | ||
|
|
e882b3963e | ||
|
|
028bc701d1 | ||
|
|
7b738b9c62 | ||
|
|
7d7895397a | ||
|
|
d576e4b4e1 | ||
|
|
fecd170def | ||
|
|
3be45036db | ||
|
|
7804754bc8 | ||
|
|
01bdb8898c | ||
|
|
db3b194f04 | ||
|
|
e4627435f4 | ||
|
|
170ae1638a | ||
|
|
0d01ac7bc3 | ||
|
|
295576c927 | ||
|
|
70db1ebf42 | ||
|
|
cce0b7b03b | ||
|
|
076c95f122 | ||
|
|
af6ec95cfa | ||
|
|
f37ddeefc2 | ||
|
|
40dcf39805 | ||
|
|
77ec0869a9 | ||
|
|
d45e047883 | ||
|
|
b4e5f72dc3 | ||
|
|
8922832581 | ||
|
|
596a0147f0 | ||
|
|
0566816b88 | ||
|
|
64cc86a661 | ||
|
|
94ffc48fa5 | ||
|
|
f22cec83ae | ||
|
|
578d20afe5 | ||
|
|
3e60e0bb89 | ||
|
|
6881937057 | ||
|
|
84b3c23319 | ||
|
|
90a0523f94 | ||
|
|
6937a54504 | ||
|
|
dea1b480e6 | ||
|
|
380d355469 | ||
|
|
0a7ce4cd79 | ||
|
|
b91205199d | ||
|
|
dc20ae98f4 | ||
|
|
96528ae3cd | ||
|
|
d7afec3b45 | ||
|
|
950468895a | ||
|
|
6ce86321db | ||
|
|
7ccbf52e90 | ||
|
|
78d33cb85f | ||
|
|
a7b53c51c0 | ||
|
|
aa1782248f | ||
|
|
8c585749a9 | ||
|
|
709de5de5d | ||
|
|
dacd85f8fd | ||
|
|
1e81e5631f | ||
|
|
dd51e4bead | ||
|
|
b6b71a9c97 | ||
|
|
796d715059 | ||
|
|
0ce193c365 | ||
|
|
0d12280f37 | ||
|
|
1c130a4750 | ||
|
|
ffeb36dd70 | ||
|
|
83aa1c5e5e | ||
|
|
79f0a2edf4 | ||
|
|
f2d9d749bb | ||
|
|
622362fb0b | ||
|
|
16f5cb18a1 | ||
|
|
f03579ec58 | ||
|
|
7f48e999ac | ||
|
|
cb985ad9da | ||
|
|
1501fd1cc3 | ||
|
|
a37fb0b9e5 | ||
|
|
d49a0191ac | ||
|
|
a6cf1d8e3c | ||
|
|
2117acdd16 | ||
|
|
964207a394 | ||
|
|
041e9f52ee | ||
|
|
978ccf5e5e | ||
|
|
f2f38f2d03 | ||
|
|
e0a754f66e | ||
|
|
1983702a10 | ||
|
|
a79a8d680c | ||
|
|
70ae505b5f | ||
|
|
6d71a51561 | ||
|
|
d491c2be81 | ||
|
|
f608aae41e | ||
|
|
b8801d1043 | ||
|
|
431ca46b09 | ||
|
|
de128ce874 | ||
|
|
a4f652e939 | ||
|
|
1f60015e7e | ||
|
|
9e854f3e3f | ||
|
|
03bc217f2a | ||
|
|
a23a3d4402 | ||
|
|
b45f98980c | ||
|
|
16afc2f022 | ||
|
|
4f6c3c4a5e | ||
|
|
e302fbc7ae | ||
|
|
6fedb69d2e | ||
|
|
53be4673a6 | ||
|
|
8fe0b0d706 | ||
|
|
c63806cecc | ||
|
|
0b65f7fd78 | ||
|
|
445135f411 | ||
|
|
045ec7477e | ||
|
|
02ba158334 | ||
|
|
aef1ccc739 | ||
|
|
4deae010b7 | ||
|
|
82650fafb0 | ||
|
|
8618f75641 | ||
|
|
c5c8aef9b7 | ||
|
|
9133959599 | ||
|
|
1733061310 | ||
|
|
670f3b0caf | ||
|
|
114ebcdc2d | ||
|
|
ca06e848ee | ||
|
|
75a2fd1cff | ||
|
|
3e5690ef7b | ||
|
|
07a11059eb | ||
|
|
b913753a69 | ||
|
|
1fe1409d5d | ||
|
|
3ec85aec75 | ||
|
|
0dae2f4900 | ||
|
|
4c27757921 | ||
|
|
7d18a34d8f | ||
|
|
65e0df27c8 | ||
|
|
f11fae67c4 | ||
|
|
9b293711e9 | ||
|
|
433811f789 | ||
|
|
275969156d | ||
|
|
2b27db57e8 | ||
|
|
44adb1e8c7 | ||
|
|
c268281089 | ||
|
|
d7e8cd1022 | ||
|
|
472b9deca8 | ||
|
|
c9519735f0 | ||
|
|
020ba78100 | ||
|
|
a293b251d9 | ||
|
|
2ee58fc80f | ||
|
|
6f66daeeb2 | ||
|
|
8ea5562eda | ||
|
|
bf64e5a774 | ||
|
|
056b81d373 | ||
|
|
c13dcad447 | ||
|
|
e3a40ebb34 | ||
|
|
e30c089c3e | ||
|
|
92687a73dd | ||
|
|
2687956d1e | ||
|
|
529ef6d19a | ||
|
|
f33388d50f | ||
|
|
5dacfac8a0 | ||
|
|
b44966774c | ||
|
|
ce8a77d383 | ||
|
|
32186c46a1 | ||
|
|
342d8e16e5 | ||
|
|
8c6890eb9b | ||
|
|
eee6bb3c86 | ||
|
|
8149b432e3 | ||
|
|
0cb471d35b | ||
|
|
0ca64acf15 | ||
|
|
6622fa3251 | ||
|
|
61a2bf2e56 | ||
|
|
5a974a2708 | ||
|
|
53a8ad98c1 | ||
|
|
f59e1428bf | ||
|
|
8a4901c308 | ||
|
|
4c6419d544 | ||
|
|
5d1bd9c14c | ||
|
|
da9ea6ff61 | ||
|
|
12743b4872 | ||
|
|
1dfa345cb5 | ||
|
|
c43991fa0a | ||
|
|
c99c4732b8 | ||
|
|
c5d8a9d8f3 | ||
|
|
4cfb89e845 | ||
|
|
f643695511 | ||
|
|
887310f664 | ||
|
|
c47938cca0 | ||
|
|
3b6a1d81ef | ||
|
|
eed046b3da | ||
|
|
7d191cd32e | ||
|
|
1396986c19 | ||
|
|
aa61feb82f | ||
|
|
c1f731addb | ||
|
|
40b11809ed | ||
|
|
cbba62dbf3 | ||
|
|
c317f26d66 | ||
|
|
da12569a7e | ||
|
|
3609fb407a | ||
|
|
49eac66b52 | ||
|
|
1ae22c0e72 | ||
|
|
25a223aba2 | ||
|
|
c304ed40d7 | ||
|
|
6dfde18d7b | ||
|
|
ab50f26b6a | ||
|
|
2e3862383e | ||
|
|
d62220ccdf | ||
|
|
698e0cb1a0 | ||
|
|
0d87d412e5 | ||
|
|
92da2f6bf8 | ||
|
|
ea82f7554a | ||
|
|
774adf441e | ||
|
|
83ed7683b6 | ||
|
|
6943b0f95b | ||
|
|
af8de6ee7b | ||
|
|
753acc4b7c | ||
|
|
69a73252a5 | ||
|
|
ff457f223c | ||
|
|
15ebeaee23 | ||
|
|
312ff5aa54 | ||
|
|
9d18a95bec | ||
|
|
c4be407277 | ||
|
|
ca99e17719 | ||
|
|
8f043ecc46 | ||
|
|
631240da82 | ||
|
|
6cb3b0c91d | ||
|
|
9e5f59d520 | ||
|
|
76a8fb7fce | ||
|
|
ae16350c75 | ||
|
|
8f4e34f57b | ||
|
|
9e702bf0fa | ||
|
|
b1a0365b9b | ||
|
|
f9e56baefe | ||
|
|
361c946ddd | ||
|
|
ef0e3280ef | ||
|
|
b82f4532a4 | ||
|
|
75c09cf88b | ||
|
|
7afd539d0f | ||
|
|
fcb998a8dc | ||
|
|
3d2ea48913 | ||
|
|
d6de5c66c7 | ||
|
|
aea62596b0 | ||
|
|
e12b980037 | ||
|
|
1c07ad6ec2 | ||
|
|
e74a7de962 | ||
|
|
4fb992785d | ||
|
|
3effe29202 | ||
|
|
d0ef1a83a8 | ||
|
|
a4c7b3bca0 | ||
|
|
b9a0147cfc | ||
|
|
2bbfb94096 | ||
|
|
af7f55c68f | ||
|
|
c4f601320e | ||
|
|
c2b5ee5c2b | ||
|
|
62a927fcf6 | ||
|
|
26c45c0fdf | ||
|
|
c06c37bb90 | ||
|
|
61fdecc0ce | ||
|
|
4c6c58495b | ||
|
|
f8ecd0e7d8 | ||
|
|
bb06d20da4 | ||
|
|
6bd968fb36 | ||
|
|
e63985490c | ||
|
|
f44c451b15 | ||
|
|
c14564612f | ||
|
|
153a8c0c0d | ||
|
|
ddcb788e1c | ||
|
|
ea99a264a9 | ||
|
|
0aab677def | ||
|
|
b7d3aba53f | ||
|
|
90ad65a58a | ||
|
|
1f5bdbcecd | ||
|
|
c46f521185 | ||
|
|
d6cf513c1d | ||
|
|
04b0acd125 | ||
|
|
d5a5ed5a43 | ||
|
|
775a1569ce | ||
|
|
d002883d9c | ||
|
|
dff8f5b6cf | ||
|
|
cea54447b7 | ||
|
|
b44d1646cf | ||
|
|
e5a5cb6bf0 | ||
|
|
f5d6dad7f8 | ||
|
|
d0cdc076f0 | ||
|
|
1e059435ae | ||
|
|
58ac8519cc | ||
|
|
b421b3d0af | ||
|
|
aa1da2ec82 | ||
|
|
1bafcce9e2 | ||
|
|
6294ee0e8b | ||
|
|
4368a03480 | ||
|
|
d49c07ece7 | ||
|
|
9d569118c1 | ||
|
|
713e30651e | ||
|
|
c1f648a966 | ||
|
|
0980df24e4 | ||
|
|
afa5375ed6 | ||
|
|
cb72a8e498 | ||
|
|
863a3366d3 | ||
|
|
cc464c7409 | ||
|
|
d19132565a | ||
|
|
44d2c79d3a | ||
|
|
93f4577661 | ||
|
|
59fc4365de | ||
|
|
66a06d0d63 | ||
|
|
89f0be6365 | ||
|
|
147e430796 | ||
|
|
2055df88c1 | ||
|
|
1562727036 | ||
|
|
0270ff8171 | ||
|
|
10ba94b06d | ||
|
|
f2dd9325ac | ||
|
|
dfaee48e18 | ||
|
|
8edbb0a851 | ||
|
|
9e1e7ac7da | ||
|
|
fd1a60be5a | ||
|
|
f33f428c69 | ||
|
|
d6a1da45ce | ||
|
|
d2a0886326 | ||
|
|
12b914949d | ||
|
|
6dcb8ed201 | ||
|
|
824dfaa4c7 | ||
|
|
9783d4159d | ||
|
|
88a024f80f | ||
|
|
695f8f46a9 | ||
|
|
2a4fe52ab9 | ||
|
|
3c5ebf82b0 | ||
|
|
8ab8f76b76 | ||
|
|
2a3a296216 | ||
|
|
31e9bc0f4b | ||
|
|
63b64203d0 | ||
|
|
2d70ca8248 | ||
|
|
d0cee3ba7d | ||
|
|
f731488658 | ||
|
|
6af537410c | ||
|
|
009f73e442 | ||
|
|
03ee705d70 | ||
|
|
e975445d91 | ||
|
|
b8698a5c3c | ||
|
|
3ee83ac54b | ||
|
|
69bfcc4be4 | ||
|
|
1e97d505b1 | ||
|
|
9727916f62 | ||
|
|
503be487bf | ||
|
|
8a9b2a54f8 | ||
|
|
c2005f486b | ||
|
|
85bcfaecd7 | ||
|
|
54bd6545a2 | ||
|
|
332231576e | ||
|
|
7fe0d11eb4 | ||
|
|
150acab213 | ||
|
|
6ae6e8212a | ||
|
|
2d8a5b4b42 | ||
|
|
663a45e9c8 | ||
|
|
f092d3c340 | ||
|
|
a7566784d7 | ||
|
|
56377ec47d | ||
|
|
0e33530dd1 | ||
|
|
936c8fc7eb | ||
|
|
77dd3699cf | ||
|
|
08c372edfa | ||
|
|
27884478a3 | ||
|
|
976cec59a1 | ||
|
|
7b1cbccaf1 | ||
|
|
b8041e32e0 | ||
|
|
242058260c | ||
|
|
966aabcbb6 | ||
|
|
2d47f8c016 | ||
|
|
795f917346 | ||
|
|
98f5241915 | ||
|
|
f8a9b9e48e | ||
|
|
74828c6842 | ||
|
|
98971da88b | ||
|
|
2389863783 | ||
|
|
8a716c097e | ||
|
|
cea2139f3d | ||
|
|
105a87aebc | ||
|
|
6be1b59ced | ||
|
|
26dbcbf55a | ||
|
|
030a9a7fd5 | ||
|
|
70e884be71 | ||
|
|
c544e9ad78 | ||
|
|
2f331893bb | ||
|
|
1bda2cfaf6 | ||
|
|
421b6407cf | ||
|
|
bc4023da9b | ||
|
|
2fa39f82f5 | ||
|
|
cf813e066f | ||
|
|
7415205d76 | ||
|
|
09438744fa | ||
|
|
7d0c7b12e5 | ||
|
|
5012049ec8 | ||
|
|
444b2db14b | ||
|
|
7f598f1ac3 | ||
|
|
5d5168f17a | ||
|
|
230e5ca174 | ||
|
|
70c26b56ab | ||
|
|
e4f32b3895 | ||
|
|
ae29e7fcd5 | ||
|
|
eef3662dde | ||
|
|
1b3aba72b3 | ||
|
|
e9827af888 | ||
|
|
b2e264c1b7 | ||
|
|
9ad7e28ab6 | ||
|
|
f2ed68df6b | ||
|
|
fd661b7ff0 | ||
|
|
c80aeae43d | ||
|
|
1f02a0925c | ||
|
|
fc97b06293 | ||
|
|
af3f2216c4 | ||
|
|
e7d6541b54 | ||
|
|
eac569ca9b | ||
|
|
4955cecaaa | ||
|
|
1451adbd34 | ||
|
|
c91ba70277 | ||
|
|
a8a4ae0952 | ||
|
|
54516b02fe | ||
|
|
bde16ad5ad | ||
|
|
14c7110ef5 | ||
|
|
8befd533f6 | ||
|
|
d429cfbdf4 | ||
|
|
c442051de0 | ||
|
|
6ffc4dbb88 | ||
|
|
db1cb1b70b | ||
|
|
bc184de5ad | ||
|
|
472d214d92 | ||
|
|
69d1612017 | ||
|
|
82a3e00141 | ||
|
|
c65120081c | ||
|
|
ddb2f11c7f | ||
|
|
7238f94887 | ||
|
|
1187bf4578 | ||
|
|
0b0ae70fc9 | ||
|
|
a8657b2060 | ||
|
|
915ced6172 | ||
|
|
7dfcbbde39 | ||
|
|
6941a0c728 | ||
|
|
e01f3d38ca | ||
|
|
ef4ca0042d | ||
|
|
269c61ddcd | ||
|
|
47391107e3 | ||
|
|
057cc9b4e8 | ||
|
|
76bf7a6f10 | ||
|
|
591887a3b5 | ||
|
|
ebe32bd77d | ||
|
|
7d546d7479 | ||
|
|
dedd1a5b72 | ||
|
|
ae0343a5c3 | ||
|
|
525d99b7af | ||
|
|
f21bd6d2a5 | ||
|
|
3ec0dec124 | ||
|
|
5d55e0cad9 | ||
|
|
af542f456a | ||
|
|
0e30b271ad | ||
|
|
f745465766 | ||
|
|
1508d6fd5c | ||
|
|
e15f1040dc | ||
|
|
52109e0c47 | ||
|
|
b93f43db48 | ||
|
|
06c374c6f3 | ||
|
|
e8ee07264a | ||
|
|
d4e22b1e8e | ||
|
|
7c11316fb4 | ||
|
|
37de578581 | ||
|
|
611382fedf | ||
|
|
f6f9a3e3cd | ||
|
|
4c0f3f49d0 | ||
|
|
0d4b1a5121 | ||
|
|
5669e4858d | ||
|
|
5beabd3a5c | ||
|
|
e9f9266430 | ||
|
|
b155494bd2 | ||
|
|
2d5d55029d | ||
|
|
405b5f37db | ||
|
|
5ddead2b78 | ||
|
|
2658cd8f61 | ||
|
|
f2f2d99718 | ||
|
|
200c7c0786 | ||
|
|
781e978bcf | ||
|
|
0430752b98 | ||
|
|
5dcf2afa80 | ||
|
|
5803f64ce5 | ||
|
|
7b001eebd2 | ||
|
|
ccde07aebc | ||
|
|
b7334ef74f | ||
|
|
43fce049c1 | ||
|
|
53c473ebec | ||
|
|
c786ddbad8 | ||
|
|
67d4406aa9 | ||
|
|
5f90b47d32 | ||
|
|
616ee37f0d | ||
|
|
c8cb8adbfc | ||
|
|
49cdcfdd1b | ||
|
|
85f0a988be | ||
|
|
ffa4888e9a | ||
|
|
d9a26a778c | ||
|
|
ecc388064f | ||
|
|
d0089912d1 | ||
|
|
d8e8d2503d | ||
|
|
e836ab5f4c | ||
|
|
04e1032b03 | ||
|
|
95f8a82db4 | ||
|
|
e265ed4281 | ||
|
|
0697c02104 | ||
|
|
8da209ec0a | ||
|
|
2b8579f527 | ||
|
|
5276c045f8 | ||
|
|
b19294133c | ||
|
|
601ec1d78c | ||
|
|
c487af9554 | ||
|
|
276ebcf945 | ||
|
|
215de8d5eb | ||
|
|
d331df24e8 | ||
|
|
9f44e1e4a3 | ||
|
|
8c158ec767 | ||
|
|
ac93017214 | ||
|
|
446d0a2707 | ||
|
|
d6eaf43870 | ||
|
|
0d359e06c5 | ||
|
|
7296cd99a5 | ||
|
|
de0194ed03 | ||
|
|
6765d1100a | ||
|
|
ab892e76b8 | ||
|
|
6bdd93c2fe | ||
|
|
ed737ceac6 | ||
|
|
3629a74f65 | ||
|
|
9589ad09d6 | ||
|
|
009a095c51 | ||
|
|
416a970b2a | ||
|
|
c7429130db | ||
|
|
2af886c859 | ||
|
|
f5b33596a5 | ||
|
|
de9ad20b56 | ||
|
|
10c9cf8571 | ||
|
|
516b71fe64 | ||
|
|
730de7924f | ||
|
|
2dd6efcdc4 | ||
|
|
1b6c939920 | ||
|
|
959418a240 | ||
|
|
9f8a0a1466 | ||
|
|
6885c0ed04 | ||
|
|
a229fda7eb | ||
|
|
f0ca7e10dc | ||
|
|
d8b5714a7f | ||
|
|
632fc197e5 | ||
|
|
d00662f8ea | ||
|
|
ee5893e1f7 | ||
|
|
7aa0c2f2da | ||
|
|
30b50d2d6f | ||
|
|
caa377c8b5 | ||
|
|
8e8a4e5f07 | ||
|
|
77b6dca274 | ||
|
|
ce5d822171 | ||
|
|
f9515f9806 | ||
|
|
7cd20442b9 | ||
|
|
ced5bd5eca | ||
|
|
225ca0d6a6 | ||
|
|
2d3b97de62 | ||
|
|
adbf640de7 | ||
|
|
3f6ceaf928 | ||
|
|
4e917e24ee | ||
|
|
84e1fd30b8 | ||
|
|
01af3747ff | ||
|
|
e231c04da5 | ||
|
|
4266592600 | ||
|
|
75137db85b | ||
|
|
4f73ab90e5 | ||
|
|
f52a9131c7 | ||
|
|
97df3e7c17 | ||
|
|
0b162eeaa4 | ||
|
|
b7d899c986 | ||
|
|
9fef03acb6 | ||
|
|
5e22a31518 | ||
|
|
c523da7016 | ||
|
|
a8f32baee9 | ||
|
|
9112321535 | ||
|
|
c7a0b7ebcf | ||
|
|
2b620625ad | ||
|
|
aeba943fa5 | ||
|
|
ae0ac2c1a3 | ||
|
|
ee11b8ede1 | ||
|
|
40d7a64adc | ||
|
|
e67c33c66f | ||
|
|
9ccbad287c | ||
|
|
cbeee24ad2 | ||
|
|
64b4f9d327 | ||
|
|
310237fad9 | ||
|
|
2aed34e750 | ||
|
|
43eee44f50 | ||
|
|
48bf4919e1 | ||
|
|
0ffb44a1d0 | ||
|
|
8bb3b005f2 | ||
|
|
48168be769 | ||
|
|
f7f84ca625 | ||
|
|
9627f50c53 | ||
|
|
613f622674 | ||
|
|
5365a33b57 | ||
|
|
380fa328db | ||
|
|
e10588ace6 | ||
|
|
eae5124c31 | ||
|
|
3b6d52a3d8 | ||
|
|
a82d7eadbf | ||
|
|
8f66119835 | ||
|
|
f66e84a6e1 | ||
|
|
490f2c0dbc | ||
|
|
8d2f4aa454 | ||
|
|
78612ca265 | ||
|
|
05f37f4879 | ||
|
|
7497d654a5 | ||
|
|
08994aa817 | ||
|
|
957f7882a1 | ||
|
|
10477b257e | ||
|
|
ab4f8a26bb | ||
|
|
32c00e262e | ||
|
|
1b464bb3a3 | ||
|
|
1e008b80d6 | ||
|
|
161881f7ea | ||
|
|
da0ffa18ca | ||
|
|
a92c502365 | ||
|
|
28b1c7fbea | ||
|
|
3118124379 | ||
|
|
eb13fa059a | ||
|
|
42ec16d39b | ||
|
|
c57b1143c9 | ||
|
|
f66782a740 | ||
|
|
101c731c0d | ||
|
|
7877916b0f | ||
|
|
babb77abcf | ||
|
|
ea6c9261ad | ||
|
|
d33d1e2854 | ||
|
|
deaf80d08d | ||
|
|
ef269b8949 | ||
|
|
0d2a492c8f | ||
|
|
facc2bd67b | ||
|
|
d2b66aa21a | ||
|
|
9b8851361f | ||
|
|
5abd6d1e3b | ||
|
|
e6ac50ef0f | ||
|
|
2a34a0afa1 | ||
|
|
1ae8f2fbce | ||
|
|
5ce48810fe | ||
|
|
97e9354074 | ||
|
|
0c523b77e3 | ||
|
|
3ead278eb6 | ||
|
|
3f96e00b1a | ||
|
|
0dc9302aa8 | ||
|
|
b270330541 | ||
|
|
17741db54e | ||
|
|
b63b1179d0 | ||
|
|
7935c3c6e9 | ||
|
|
fd73209bce | ||
|
|
a5d21d7287 | ||
|
|
52710ca83c | ||
|
|
76d0d1ca7a | ||
|
|
7292ea6df8 | ||
|
|
4db8f5a2b0 | ||
|
|
284512c2d1 | ||
|
|
6d4fd8c715 | ||
|
|
13f033e4fe | ||
|
|
5d9fa5cc8c | ||
|
|
14bf58f141 | ||
|
|
7fe1da5fe0 | ||
|
|
42cf02aaad | ||
|
|
720a2a0f67 | ||
|
|
693b5fa149 | ||
|
|
9751be15df | ||
|
|
6401e9ace6 | ||
|
|
7c943247ed | ||
|
|
4688e91a24 | ||
|
|
ccdba975a1 | ||
|
|
decc407471 | ||
|
|
011b0cb5c2 | ||
|
|
b0eb2c7a3d | ||
|
|
9702009d99 | ||
|
|
82a703ac90 | ||
|
|
62698e3e5f | ||
|
|
7880652747 | ||
|
|
6dabba1783 | ||
|
|
964270c59d | ||
|
|
5eeca9f78f | ||
|
|
5e3f2a67cf | ||
|
|
11e2c71ddd | ||
|
|
0df611e3d9 | ||
|
|
fc5e2900ca | ||
|
|
efd8b6210d | ||
|
|
fb0ac74596 | ||
|
|
3f2357b685 | ||
|
|
9066c7420c | ||
|
|
c660db67ef | ||
|
|
cb4014892b | ||
|
|
1ccdb802f9 | ||
|
|
ad8817f5b7 | ||
|
|
8d6d952a29 | ||
|
|
7bf65a52da | ||
|
|
28e235cd46 | ||
|
|
d1e463682a | ||
|
|
d032f71431 | ||
|
|
20deb9ce7a | ||
|
|
3755bc56e1 | ||
|
|
879cf382f1 | ||
|
|
8415266052 | ||
|
|
495b7681f4 | ||
|
|
06c9f10a6f | ||
|
|
c309352e95 | ||
|
|
bf64f5f09c | ||
|
|
c72135749d | ||
|
|
4d8c3a4949 | ||
|
|
d7608e4b39 | ||
|
|
5f74af3312 | ||
|
|
c4164898a7 | ||
|
|
72df74e2cc | ||
|
|
b706f86e4e | ||
|
|
4cb77517c8 | ||
|
|
30ab6c79df | ||
|
|
92710b3f3a | ||
|
|
4f1311a489 | ||
|
|
849b47cbfb | ||
|
|
f8991743c8 | ||
|
|
59e4679ec9 | ||
|
|
def158f53b | ||
|
|
2433841941 | ||
|
|
cbd487ede0 | ||
|
|
c3b729e06d | ||
|
|
b58cb6e4d6 | ||
|
|
849e7a56a6 | ||
|
|
c2a8909ca2 | ||
|
|
c447239b67 | ||
|
|
8bad9285c7 | ||
|
|
3dd92e3efc | ||
|
|
ff2bdc8dd4 | ||
|
|
ae8b22d156 | ||
|
|
1674499c38 | ||
|
|
1d7d0dce90 | ||
|
|
0c4dc6781c | ||
|
|
eaab02615c | ||
|
|
ad7350902b | ||
|
|
43c446b4fa | ||
|
|
1d99d8539e | ||
|
|
7e9c5668a6 | ||
|
|
d81dd07553 | ||
|
|
84e03c0f3a | ||
|
|
07b5d7d386 | ||
|
|
24465967b0 | ||
|
|
b7b9eb3a5f | ||
|
|
a7238af662 | ||
|
|
83a80513ca | ||
|
|
36e92aab3d | ||
|
|
0cee2799b7 | ||
|
|
a124c2757e | ||
|
|
8d3748a920 | ||
|
|
bfd7d03e24 | ||
|
|
24f5983667 | ||
|
|
2db297135e | ||
|
|
d34a12faf5 | ||
|
|
fb3891dfc9 | ||
|
|
0c084c2df2 | ||
|
|
e9b46ed3c1 | ||
|
|
7568367029 | ||
|
|
ffc68e0235 | ||
|
|
1de9286637 | ||
|
|
1bde9e9008 | ||
|
|
bc9886e177 | ||
|
|
60001a81c2 | ||
|
|
226afcde60 | ||
|
|
8551f6afad | ||
|
|
776ef73489 | ||
|
|
c43afb8da0 | ||
|
|
f2738cccfa | ||
|
|
23935446f9 | ||
|
|
435a1bad4e | ||
|
|
32ef3fc858 | ||
|
|
e0a786cd7b | ||
|
|
36e3ae7e52 | ||
|
|
1bb74be857 | ||
|
|
461bff960f | ||
|
|
78b2dece6d | ||
|
|
8b089c3edf | ||
|
|
3051da8664 | ||
|
|
a0d49e1458 | ||
|
|
b60fce5759 | ||
|
|
9cfbcebe9a | ||
|
|
7dd2b9314d | ||
|
|
f37f445be2 | ||
|
|
4e9e60ae79 | ||
|
|
b26e400397 | ||
|
|
5ff66ccb56 | ||
|
|
ee728a1bbd | ||
|
|
8454ef1a05 | ||
|
|
369a35ae14 | ||
|
|
1a852af754 | ||
|
|
e2175a52f2 | ||
|
|
fc776998fb | ||
|
|
ecf1901eb3 | ||
|
|
db59603e61 | ||
|
|
0f722d9990 | ||
|
|
3613e8b151 | ||
|
|
433400adb1 | ||
|
|
90f696b51b | ||
|
|
86bcb9fa92 | ||
|
|
4e88c06a1e | ||
|
|
78b05a04e5 | ||
|
|
962f3e4dfd | ||
|
|
441d523dd3 | ||
|
|
4c50963f60 | ||
|
|
61a25c7c1d | ||
|
|
c11f861455 | ||
|
|
b541a1647b | ||
|
|
6b3bf9b342 | ||
|
|
948a664e1c | ||
|
|
3d2f4b9b3a | ||
|
|
1d45e2f5c4 | ||
|
|
50845aa3d3 | ||
|
|
49496c13e1 | ||
|
|
b456437586 | ||
|
|
f0ed4e7b76 | ||
|
|
76c18f5955 | ||
|
|
480e732ab3 | ||
|
|
3f80334382 | ||
|
|
1d528ed486 | ||
|
|
73bfeaea67 | ||
|
|
7dc862fe1b | ||
|
|
d1a6dc43c4 | ||
|
|
21035923e3 | ||
|
|
005eb7c7eb | ||
|
|
a55e4d428a | ||
|
|
b6cf7f3640 | ||
|
|
6fa5ada475 | ||
|
|
2e5098d961 | ||
|
|
df8c8ad5da | ||
|
|
39d2734866 | ||
|
|
a354fad2b4 | ||
|
|
76813139a0 | ||
|
|
879f687471 | ||
|
|
808d3dea0e | ||
|
|
3ebd27d487 | ||
|
|
c7de739535 | ||
|
|
8266ee5c60 | ||
|
|
9725cced48 | ||
|
|
a53a8a9faf | ||
|
|
36db5c6c2b | ||
|
|
04be3a6cb5 | ||
|
|
d2329bf15c | ||
|
|
750c9123aa | ||
|
|
3bf3240a70 | ||
|
|
8979acbd8f | ||
|
|
6171514e62 | ||
|
|
359bf0f99c | ||
|
|
69de10fd12 | ||
|
|
630af1711c | ||
|
|
0b5419d5e6 | ||
|
|
a6d9e41ff0 | ||
|
|
e158e3f059 | ||
|
|
be4ed98aae | ||
|
|
6afff43de1 | ||
|
|
5f78a9d123 | ||
|
|
312f0bab39 | ||
|
|
5e7dbfe635 | ||
|
|
1180d9e2ba | ||
|
|
31e69b66ea | ||
|
|
81ab34143d | ||
|
|
82eb72f5fa | ||
|
|
5a65252863 | ||
|
|
eebcbe882b | ||
|
|
b988eb163e | ||
|
|
f7bb7a3928 | ||
|
|
4b835c8f8b | ||
|
|
9c41007355 | ||
|
|
a36e933292 | ||
|
|
c64aa4a750 | ||
|
|
47927e90c0 | ||
|
|
08bde0f034 | ||
|
|
ddc066eda5 | ||
|
|
56f4b2db53 | ||
|
|
bb23579666 | ||
|
|
590c1b085b | ||
|
|
fb55a13041 | ||
|
|
1dbd4255ee | ||
|
|
09ceda3afd | ||
|
|
49abc8c7f2 | ||
|
|
a388b7cff4 | ||
|
|
7f65c296b6 | ||
|
|
6999d6872a | ||
|
|
6322e54de4 | ||
|
|
a17b565c12 | ||
|
|
7de1b959cd | ||
|
|
17e3730981 | ||
|
|
7f2889ff7b | ||
|
|
ec7be8a3b3 | ||
|
|
090874feb6 | ||
|
|
d8d8f14abf | ||
|
|
c782f2cd0c | ||
|
|
b7849c378e | ||
|
|
a309bce80e | ||
|
|
ff8dc5a86f | ||
|
|
5967a4b32f | ||
|
|
8c6a4d8d0f | ||
|
|
ff0b698015 | ||
|
|
a4a065bae0 | ||
|
|
0b1ff18c35 | ||
|
|
519a06e169 | ||
|
|
da7952d3f3 | ||
|
|
003a885b86 | ||
|
|
9ab9f40a6c | ||
|
|
f787b8da08 | ||
|
|
5a4fd3404f | ||
|
|
dd2d9fd68e | ||
|
|
b4b33b01a3 | ||
|
|
c976b5efb8 | ||
|
|
830719efa4 | ||
|
|
ebefb3e328 | ||
|
|
7d5d32c9d9 | ||
|
|
453d1560ac | ||
|
|
95835afeef | ||
|
|
dd4a9ae4dc | ||
|
|
815738ea01 | ||
|
|
438b0cd964 | ||
|
|
e5e56d4665 | ||
|
|
495a8d9833 | ||
|
|
95fdec563b | ||
|
|
0299dcf2cc | ||
|
|
7645d0b01d | ||
|
|
b61c3eed08 | ||
|
|
2107e79f42 | ||
|
|
7751154a8b | ||
|
|
51e7d9f5fe | ||
|
|
256fceb2eb | ||
|
|
b9e5bd7ba9 | ||
|
|
ab9930aa04 | ||
|
|
047d393c62 | ||
|
|
c414a816ef | ||
|
|
c590ea97c8 | ||
|
|
63e30f0836 | ||
|
|
5c844c6ff3 | ||
|
|
4161660a5b | ||
|
|
e7abe8a2fb | ||
|
|
559a3545f9 | ||
|
|
8b462655bd | ||
|
|
d091d8c074 | ||
|
|
06ff982939 | ||
|
|
b8275ba4ad | ||
|
|
fa1ff937d8 | ||
|
|
8d6ad2250a | ||
|
|
0badd6029b | ||
|
|
decebf4ea9 | ||
|
|
03e38ae032 | ||
|
|
e01ba4e043 | ||
|
|
d3593083fb | ||
|
|
66236a4c4d | ||
|
|
e2ed047744 | ||
|
|
5d8522be4e | ||
|
|
b69b700d4a | ||
|
|
a09b0a2a9a | ||
|
|
fb47d7c6ec | ||
|
|
d3a587c5ca | ||
|
|
5fde1a3b17 | ||
|
|
a53de4875b | ||
|
|
a01dc1681b | ||
|
|
022c2e2b9b | ||
|
|
3f35772326 | ||
|
|
43af9ee582 | ||
|
|
54994fbcc6 | ||
|
|
43eda5dfda | ||
|
|
fde346e8cc | ||
|
|
72afdaae50 | ||
|
|
3f52aba142 | ||
|
|
afcc812131 | ||
|
|
760038f9f4 | ||
|
|
b6437fc343 | ||
|
|
bd05843056 | ||
|
|
63e6adbdb0 | ||
|
|
905fc56f75 | ||
|
|
df88812a48 | ||
|
|
5f093de03e | ||
|
|
b41cc2365d | ||
|
|
ae22f11289 | ||
|
|
3f19ee2dc6 | ||
|
|
da75a2635e | ||
|
|
31ed1f7d62 | ||
|
|
4b3df200c6 | ||
|
|
9045ffc345 | ||
|
|
e51185d273 | ||
|
|
b4abce86b4 | ||
|
|
644516c52a | ||
|
|
156cabb819 | ||
|
|
710a5ed2a5 | ||
|
|
363a605781 | ||
|
|
0f5ae2a51d | ||
|
|
fc6eb86d7c | ||
|
|
d4a52ff18f | ||
|
|
6f382af498 | ||
|
|
a1f9da0d57 | ||
|
|
c9e85bd720 | ||
|
|
6e50378dd1 | ||
|
|
0dddecb63a | ||
|
|
0fc30e6b1c | ||
|
|
6c5edb8104 | ||
|
|
482d1c4451 | ||
|
|
ea98683ca1 | ||
|
|
1bf0cfd0b6 | ||
|
|
15197431ac | ||
|
|
e5a638c35c | ||
|
|
845c6e85ce | ||
|
|
ea3a30a606 | ||
|
|
066a9ee625 | ||
|
|
0d0c63b1f0 | ||
|
|
81cfe6418a | ||
|
|
28ed9d31bd | ||
|
|
f49100e498 | ||
|
|
26d1e2f7fe | ||
|
|
4523b7631a | ||
|
|
f1f6f0e1ab | ||
|
|
e29e2bc604 | ||
|
|
c55ad343d6 | ||
|
|
1143ad5087 | ||
|
|
774dc66bfd | ||
|
|
3bcb8b4996 | ||
|
|
03f29947f5 | ||
|
|
a822df4a63 | ||
|
|
36d98ad2fb | ||
|
|
d5565089fc | ||
|
|
8baba2f927 | ||
|
|
4d75e96e6d | ||
|
|
db5ab6bd3d | ||
|
|
d26713dc46 | ||
|
|
2d3e959eb3 | ||
|
|
4027034ebc | ||
|
|
c582c6488b | ||
|
|
397aea4430 | ||
|
|
15edde0fe9 | ||
|
|
0891fd8e06 | ||
|
|
3894b2d566 | ||
|
|
b5c0efe548 | ||
|
|
05a096f37c | ||
|
|
27d5b5bdbe | ||
|
|
5d7f7dc59d | ||
|
|
bcc6f383bb | ||
|
|
bbe33e24af | ||
|
|
07d9f8cb3d | ||
|
|
f3a658f096 | ||
|
|
99dc022e95 | ||
|
|
4423b06d16 | ||
|
|
243bbe4f16 | ||
|
|
0af82d79bd | ||
|
|
0f84787aa8 | ||
|
|
a1e84139ce | ||
|
|
855722caee | ||
|
|
1842fc5cd8 | ||
|
|
f0567815a9 | ||
|
|
3a25f69d6e | ||
|
|
3097cad210 | ||
|
|
28d26264cc | ||
|
|
e7cc5af4d2 | ||
|
|
834cd63031 | ||
|
|
28a5660932 | ||
|
|
abb3b256a3 | ||
|
|
354c2123f5 | ||
|
|
a03e49ff46 | ||
|
|
3c7d0866f3 | ||
|
|
c71fc09344 | ||
|
|
ea64ef1e2e | ||
|
|
5937630273 | ||
|
|
672bf8b1cb | ||
|
|
7faae8033a | ||
|
|
21f4b2f1e9 | ||
|
|
4157160681 | ||
|
|
a5eee274d7 | ||
|
|
b713c5c1a8 | ||
|
|
bbfde797e0 | ||
|
|
8b1d7177ce | ||
|
|
4e38154099 | ||
|
|
4fda063ac0 | ||
|
|
0d27b0a629 | ||
|
|
de6e715c62 | ||
|
|
9234dfdcee | ||
|
|
e3c9d24c1c | ||
|
|
9c836bc876 | ||
|
|
39db2c7f41 | ||
|
|
5fead38dcc | ||
|
|
e1c7878a44 | ||
|
|
4d04c2a5ce | ||
|
|
491e021a91 | ||
|
|
c1108773df | ||
|
|
16efd4b73b | ||
|
|
7fe06ecb1d | ||
|
|
75cb8edc90 | ||
|
|
40ed381c57 | ||
|
|
89cd69560c | ||
|
|
9649279ca2 | ||
|
|
c30964cead | ||
|
|
4849021fab | ||
|
|
c10c97cb1b | ||
|
|
ed6abb94e6 | ||
|
|
6aeed36e66 | ||
|
|
0375c753f7 | ||
|
|
6a0c8ea696 | ||
|
|
b4cb3f29b7 | ||
|
|
35dee2f6a2 | ||
|
|
3627d9d93f | ||
|
|
56f8574831 | ||
|
|
2554c38ada | ||
|
|
90a0e806d2 | ||
|
|
c7f7ce710d | ||
|
|
61dcf31ce0 | ||
|
|
f10d10eb50 | ||
|
|
ba58cf168c | ||
|
|
73e6662d13 | ||
|
|
ac90a0457e | ||
|
|
fef14caafd | ||
|
|
7e760f96e7 | ||
|
|
09e6e142e3 | ||
|
|
08b5bba656 | ||
|
|
6ea3a86934 | ||
|
|
925bc36315 | ||
|
|
3f6f86757c | ||
|
|
599a68f6e5 | ||
|
|
d224ba7688 | ||
|
|
b2212278c9 | ||
|
|
55e683689b | ||
|
|
0795bce6bf | ||
|
|
cc9c1e39ae | ||
|
|
daacb3e5e2 | ||
|
|
e033f40035 | ||
|
|
3ac0fa7e60 | ||
|
|
f63d10a871 | ||
|
|
ca8a2b30ce | ||
|
|
ac438678e6 | ||
|
|
2e899db9e9 | ||
|
|
9c7b6d8d1b | ||
|
|
4de633d5a8 | ||
|
|
aca06adb66 | ||
|
|
69c0f00221 | ||
|
|
1c50215a24 | ||
|
|
3cbd932a72 | ||
|
|
82e7979a06 | ||
|
|
6dd0737902 | ||
|
|
48c842a852 | ||
|
|
8215a118ba | ||
|
|
1403ada266 | ||
|
|
9144c3b087 | ||
|
|
f70fcc46ce | ||
|
|
4d6fd3d15c | ||
|
|
2328897d3e | ||
|
|
c2b35bd975 | ||
|
|
fea8bc8078 | ||
|
|
bea1cec239 | ||
|
|
582fd7877f | ||
|
|
2afd1eef7d | ||
|
|
d4e2a5a20c | ||
|
|
55e417dfe9 | ||
|
|
35ec9fcc3e | ||
|
|
5fdece0330 | ||
|
|
0dbf249dce | ||
|
|
d960e37ced | ||
|
|
31fb3c746d | ||
|
|
06abfe228b | ||
|
|
7f9b0a7fe2 | ||
|
|
4d0cc4402f | ||
|
|
8703114e8b | ||
|
|
5f209ad760 | ||
|
|
df4052e541 | ||
|
|
db2f93e156 | ||
|
|
e232225565 | ||
|
|
86b7ae08b5 | ||
|
|
779a602187 | ||
|
|
ef76e4aa4a | ||
|
|
9050d134bb | ||
|
|
f264deae62 | ||
|
|
2a8bcff4d7 | ||
|
|
16a18a6b6d | ||
|
|
e280fe1c34 | ||
|
|
6f622be91c | ||
|
|
314c1c9eb4 | ||
|
|
66bf5ae377 | ||
|
|
b9b928f869 | ||
|
|
557fb3323f | ||
|
|
3b45b56e92 | ||
|
|
17b0861b94 | ||
|
|
0b0f644879 | ||
|
|
9bc43c2d77 | ||
|
|
ceebd16267 | ||
|
|
bdcc75c122 | ||
|
|
002970c8f4 | ||
|
|
6e7465ed87 | ||
|
|
0bf82aa7dc | ||
|
|
33443f536a | ||
|
|
493b237768 | ||
|
|
fabf4d340b | ||
|
|
5cf9772f51 | ||
|
|
3f7244a881 | ||
|
|
e5d0c4da33 | ||
|
|
bbbb26567e | ||
|
|
ca7d9cbe28 | ||
|
|
6b2c0b6ca0 | ||
|
|
a67670f676 | ||
|
|
fc422af5d8 | ||
|
|
110ffa00cd | ||
|
|
d2d4e15ea4 | ||
|
|
75cecf8781 | ||
|
|
36a7576bb9 | ||
|
|
a329725d0b | ||
|
|
7fcbc136f4 | ||
|
|
19b636f12a | ||
|
|
924dbfe9d2 | ||
|
|
22acc06189 | ||
|
|
14adc6359a | ||
|
|
6e902be1c6 | ||
|
|
9916a96f39 | ||
|
|
4d3a73a6a0 | ||
|
|
97ebcd1ae6 | ||
|
|
596d7a6b33 | ||
|
|
10222065f1 | ||
|
|
cfef75c533 | ||
|
|
053114cc3c | ||
|
|
35e38c9902 | ||
|
|
cd4e15a1f7 | ||
|
|
217d4a9900 | ||
|
|
d583c3a3b9 | ||
|
|
4222ef6c58 | ||
|
|
6fc714fb0e | ||
|
|
29536f7fbb | ||
|
|
2f9b3b6470 | ||
|
|
3ff4de3bf3 | ||
|
|
8da56df062 | ||
|
|
b41a29c6af | ||
|
|
57d6142350 | ||
|
|
bb4e0c0672 | ||
|
|
5906363e28 | ||
|
|
04d414f623 | ||
|
|
c6d6b4ec78 | ||
|
|
a38d94f629 | ||
|
|
3409cd9d61 | ||
|
|
bd1b101779 | ||
|
|
abcef8c094 | ||
|
|
72ef1d9055 | ||
|
|
48eb9c0084 | ||
|
|
08c1e11e08 | ||
|
|
32b44a6565 | ||
|
|
8e76027a72 | ||
|
|
d81b9d196e | ||
|
|
b64eb63d71 | ||
|
|
60a0ef89f7 | ||
|
|
acaaec9578 | ||
|
|
e62719b058 | ||
|
|
3cf90601b8 | ||
|
|
6a7bc663f3 | ||
|
|
7c150df597 | ||
|
|
483b518e3e | ||
|
|
7a91059224 | ||
|
|
20016a960c | ||
|
|
7b81da6fb3 | ||
|
|
0c2f6f30df | ||
|
|
350ecf8d15 | ||
|
|
14133bdcd6 | ||
|
|
8110e44179 | ||
|
|
14c16833da | ||
|
|
ac413c29fa | ||
|
|
ade769a9c5 | ||
|
|
afe582b7b5 | ||
|
|
c7abe18deb | ||
|
|
449871aa10 | ||
|
|
06b63f6642 | ||
|
|
bb47dc2302 | ||
|
|
81cc85bf08 | ||
|
|
6b6d4c22d4 | ||
|
|
9d29532002 | ||
|
|
6b008173d1 | ||
|
|
997174b4d5 | ||
|
|
93d6e09272 | ||
|
|
d90f218a88 | ||
|
|
559c72d11b | ||
|
|
7afaf5e301 | ||
|
|
73bf44f694 | ||
|
|
f8b1fc15d8 | ||
|
|
f2f5d28308 | ||
|
|
3fac38b3d8 | ||
|
|
7caed77d22 | ||
|
|
f3f598e3ce | ||
|
|
9d3512090b | ||
|
|
612bc28681 | ||
|
|
a66d4a6595 | ||
|
|
05259add9a | ||
|
|
fd6863b577 | ||
|
|
019a155771 | ||
|
|
ab5cd02bee | ||
|
|
b7133a9963 | ||
|
|
f80729a530 | ||
|
|
ba6ecd8a02 | ||
|
|
af4fc73183 | ||
|
|
7e6b6eb56f | ||
|
|
d6f1c041a2 | ||
|
|
fbb307b987 | ||
|
|
a329fa209e | ||
|
|
64bca9f3dc | ||
|
|
63031f554c | ||
|
|
25861753fc | ||
|
|
835d063055 | ||
|
|
d65d3e6e3d | ||
|
|
e812d8fbf5 | ||
|
|
7953137eac | ||
|
|
970e83bba8 | ||
|
|
17f978fb8f | ||
|
|
ea4ca5d1b9 | ||
|
|
0866ff0202 | ||
|
|
a9dcc1b0ed | ||
|
|
e80bba2116 | ||
|
|
eed0288148 | ||
|
|
1794e6b4c9 | ||
|
|
e5cf6a5951 | ||
|
|
1ed5ce76dd | ||
|
|
c294a50d5f | ||
|
|
df29b2b178 | ||
|
|
e4dbeae2e8 | ||
|
|
3edc3aaa94 | ||
|
|
18c747aa19 | ||
|
|
46b5aeb9b8 | ||
|
|
5a89c809b7 | ||
|
|
76471f424e | ||
|
|
48f1bf43c5 | ||
|
|
a92e35fbe7 | ||
|
|
5881217641 | ||
|
|
5673af6984 | ||
|
|
c31cedc223 | ||
|
|
c7440bcf59 | ||
|
|
9d9d3404d3 | ||
|
|
702d26cb8e | ||
|
|
656ec38f0e | ||
|
|
959244b105 | ||
|
|
83c4fc037c | ||
|
|
c5eba1ff11 | ||
|
|
d7224c5e89 | ||
|
|
87b65c0bca | ||
|
|
7517c6c495 | ||
|
|
b1a4dc5a81 | ||
|
|
fcd752ba90 | ||
|
|
d7c6851d21 | ||
|
|
e91d496797 | ||
|
|
3f35550560 | ||
|
|
88d895e375 | ||
|
|
7d6827867d | ||
|
|
f074763ff0 | ||
|
|
1811ed96e7 | ||
|
|
289b959938 | ||
|
|
be2e63322f | ||
|
|
a84aba4939 | ||
|
|
7b810c81dd | ||
|
|
6a0f22ab75 | ||
|
|
a558a8350d | ||
|
|
b702a4ba14 | ||
|
|
1dd9e2519e | ||
|
|
579c9382d7 | ||
|
|
bce056df6f | ||
|
|
f491c91092 | ||
|
|
f6b9e3b9f1 | ||
|
|
0d79805d7e | ||
|
|
ff93a49ca6 | ||
|
|
21479d1671 | ||
|
|
d730d6f71d | ||
|
|
38a3d3a5fc | ||
|
|
e456af6993 | ||
|
|
a1d8688193 | ||
|
|
698734b1fa | ||
|
|
c9b6a45791 | ||
|
|
c491d51bea | ||
|
|
bf9d48d947 | ||
|
|
7493f80280 | ||
|
|
62142af8ac | ||
|
|
160a8e61dd | ||
|
|
8d35afb70d | ||
|
|
ce8e90e141 | ||
|
|
6c9089dc62 | ||
|
|
1a4bf77fe2 | ||
|
|
0679c3495c | ||
|
|
10c14c948c | ||
|
|
c35d1d0ae5 | ||
|
|
45388bf6ed | ||
|
|
15db7e35fe | ||
|
|
d385affc17 | ||
|
|
835770d74d | ||
|
|
4a557ed622 | ||
|
|
5d9a7159aa | ||
|
|
a9bcb781ad | ||
|
|
138a395379 | ||
|
|
e7e5cf121d | ||
|
|
aeec6647c1 | ||
|
|
dd3b2d1dca | ||
|
|
606efca8f6 | ||
|
|
fb3a49b0a8 | ||
|
|
0170278262 | ||
|
|
74188eedbb | ||
|
|
0f73aed6b6 | ||
|
|
628ced511a | ||
|
|
00dc35659a | ||
|
|
ed866399b2 | ||
|
|
0e475bb67c | ||
|
|
f86a872ab2 | ||
|
|
6245cefeb7 | ||
|
|
3ef5c773eb | ||
|
|
f62d3cc534 | ||
|
|
debabe5641 | ||
|
|
24cf967380 | ||
|
|
acfcdc2a6b | ||
|
|
8e416a2afc | ||
|
|
d714884f88 | ||
|
|
3383117044 | ||
|
|
a630772729 | ||
|
|
f0392ea33c | ||
|
|
ddff04c33f | ||
|
|
dc472ffeb0 | ||
|
|
6800ec6d38 | ||
|
|
b8b80b4ecc | ||
|
|
e98e711acf | ||
|
|
57a8a16052 | ||
|
|
1fd6c53148 | ||
|
|
73c129482a | ||
|
|
94da62428a | ||
|
|
738c42eb75 | ||
|
|
296429509e | ||
|
|
f09aae3304 | ||
|
|
9b35736a68 | ||
|
|
891a4eb5d1 | ||
|
|
021e20ff2c | ||
|
|
bae746d31c | ||
|
|
98569af3d2 | ||
|
|
28f4537549 | ||
|
|
796739f0d7 | ||
|
|
80dd125ad5 | ||
|
|
7b46e0d71b | ||
|
|
796eba9e99 | ||
|
|
8e35d123f9 | ||
|
|
e6c4ec060c | ||
|
|
6a48818ffb | ||
|
|
7c7404988e | ||
|
|
5106d81117 | ||
|
|
36585827fd | ||
|
|
3be7942344 | ||
|
|
8397a26e24 | ||
|
|
be2171d84f | ||
|
|
09c14b650b | ||
|
|
c6f7ca1c13 | ||
|
|
c9368a0466 | ||
|
|
844e2114c4 | ||
|
|
de892d2fc0 | ||
|
|
884257d7fb | ||
|
|
749a2f608a | ||
|
|
d94aa1f263 | ||
|
|
1319f7d9f3 | ||
|
|
9433ad818b | ||
|
|
82febb3994 | ||
|
|
ae00c83c64 | ||
|
|
03e1d6d1b3 | ||
|
|
b8e2e3379e | ||
|
|
abadd4350e | ||
|
|
ccf76ff3ee | ||
|
|
1b116c75fd | ||
|
|
6e725d53b2 | ||
|
|
1978d2055d | ||
|
|
9bc24c9ded | ||
|
|
c19d523901 | ||
|
|
b7a22d4046 | ||
|
|
a548db7541 | ||
|
|
d793c376eb | ||
|
|
9612894836 | ||
|
|
6c9a7381bc | ||
|
|
4b689e87cd | ||
|
|
fff42d31c8 | ||
|
|
a8ce21f5fc | ||
|
|
943c179e9a | ||
|
|
b0007ddd7f | ||
|
|
51c1ae6c3f | ||
|
|
5341d8930c | ||
|
|
68365a9056 | ||
|
|
32c056bbbd | ||
|
|
aa327e5e21 | ||
|
|
8d91fa7351 | ||
|
|
bf8dba93ab | ||
|
|
5864826a77 | ||
|
|
349958722e | ||
|
|
3a7a283400 | ||
|
|
6ba088ac61 | ||
|
|
4e262a1fe0 | ||
|
|
affe63fab7 | ||
|
|
eab4da2c10 | ||
|
|
e46e399e41 | ||
|
|
2817e8b60f | ||
|
|
18844ec299 | ||
|
|
0e678cc344 | ||
|
|
64afacb3f9 | ||
|
|
bc5ea70e80 | ||
|
|
08792f1237 | ||
|
|
99360cdcf8 | ||
|
|
3e14d3e49b | ||
|
|
2ac90f63b7 | ||
|
|
0e5fd8fabf | ||
|
|
1ceea7a990 | ||
|
|
da654e994c | ||
|
|
71a19f5b61 | ||
|
|
8fc73d2700 | ||
|
|
b0cd070d09 | ||
|
|
4e7c880297 | ||
|
|
936f05f547 | ||
|
|
368de8a159 | ||
|
|
4ba0b9750b | ||
|
|
2a9df998b9 | ||
|
|
5076956d30 | ||
|
|
5dd62eb2be | ||
|
|
c5149eee02 | ||
|
|
5096e309be | ||
|
|
a640989090 | ||
|
|
89fbfc375e | ||
|
|
6285fa084e | ||
|
|
b07a7ad406 | ||
|
|
cee84ada85 | ||
|
|
54b5bf170e | ||
|
|
27702b7e88 | ||
|
|
b8c778ab5e | ||
|
|
9194035028 | ||
|
|
d6449ed8e9 | ||
|
|
ae5af73b56 | ||
|
|
4b50ddb390 | ||
|
|
6ed543f432 | ||
|
|
8a4b477f37 | ||
|
|
47b492ce9f | ||
|
|
cdcb865f7e | ||
|
|
264a526b7a | ||
|
|
a603cb7869 | ||
|
|
aeaccc2e80 | ||
|
|
76d0c4b9da | ||
|
|
0c234e4c55 | ||
|
|
5e9b3cc7e3 | ||
|
|
500e90b4e5 | ||
|
|
00123bba4f | ||
|
|
a17a03f9d8 | ||
|
|
e836bb2f3b | ||
|
|
340141d12c | ||
|
|
52755a9a58 | ||
|
|
233a15e916 | ||
|
|
3bf3d61497 | ||
|
|
a4c9a27432 | ||
|
|
10660f6423 | ||
|
|
00b03cbd6c | ||
|
|
7225f63069 | ||
|
|
15426a4ead | ||
|
|
58e8c8d316 | ||
|
|
bf8234dd48 | ||
|
|
be8a870be8 | ||
|
|
7e662b38e2 | ||
|
|
420248debb | ||
|
|
a4465638db | ||
|
|
3487e45d9d | ||
|
|
dcdbb6ae26 | ||
|
|
13838a678d | ||
|
|
25f8e0035c | ||
|
|
6eda67228d | ||
|
|
1f91c084c2 | ||
|
|
808a040fee | ||
|
|
dad0f00a2a | ||
|
|
e7b5397b7e | ||
|
|
c10b69d3ba | ||
|
|
40fbd986a8 | ||
|
|
dc0ac433ad | ||
|
|
a6a43e031e | ||
|
|
7f9fab77fd | ||
|
|
e695e3478d | ||
|
|
77740b1433 | ||
|
|
4a26cb720b | ||
|
|
5335baf069 | ||
|
|
c8feee6b6b | ||
|
|
8098bd43a8 | ||
|
|
df00cff097 | ||
|
|
8b2fdfef7c | ||
|
|
62a3217422 | ||
|
|
6e90ba8b92 | ||
|
|
49beda22be | ||
|
|
501a8c4114 | ||
|
|
9f0294cdd7 | ||
|
|
b2f44a3b36 | ||
|
|
eec4cff8d3 | ||
|
|
095c6349c5 | ||
|
|
6cd3efd65e | ||
|
|
43a82bdef4 | ||
|
|
eb154aa999 | ||
|
|
5d0ec492ca | ||
|
|
1fe962d622 | ||
|
|
ecfff23b8f | ||
|
|
1bcbbcd707 | ||
|
|
59ffeb9079 | ||
|
|
f9ecfae273 | ||
|
|
e6ff058617 | ||
|
|
00c2c6f37f | ||
|
|
93da6a385a | ||
|
|
01cc78cc80 | ||
|
|
e5373a0d6f | ||
|
|
b7d34bef34 | ||
|
|
758cb4eb72 | ||
|
|
0e49124d3b | ||
|
|
c5a52db205 | ||
|
|
14344a215e | ||
|
|
9a69c9479f | ||
|
|
c4789590cd | ||
|
|
056043dc1b | ||
|
|
f7128b6ef7 | ||
|
|
b4790ac48d | ||
|
|
0c7af8c730 | ||
|
|
ef8e866fbf | ||
|
|
0b01b981e2 | ||
|
|
db91979176 | ||
|
|
5a9fb075fa | ||
|
|
718cd7523e | ||
|
|
654f82a5f5 | ||
|
|
d86f4cda50 | ||
|
|
9991020037 | ||
|
|
009e2343c6 | ||
|
|
a1cde81868 | ||
|
|
5a839584c7 | ||
|
|
3d17637b71 | ||
|
|
68b64888ae | ||
|
|
f810b7168d | ||
|
|
7653fb2f79 | ||
|
|
aeca5d3fb6 | ||
|
|
cf3c34edc3 | ||
|
|
9da44d2113 | ||
|
|
d32ff2fb28 | ||
|
|
41b2b93fa7 | ||
|
|
6bb8246384 | ||
|
|
f94faae66b | ||
|
|
e8f3b719cd | ||
|
|
c9a40cc270 | ||
|
|
d18d2837c3 | ||
|
|
f1960f5125 | ||
|
|
34091b102f | ||
|
|
d279bd9b90 | ||
|
|
08ea7302b4 | ||
|
|
597bf87774 | ||
|
|
ee0932b472 | ||
|
|
29014e986a | ||
|
|
aeb7f4e124 | ||
|
|
d28087541a | ||
|
|
89aaae1f2d | ||
|
|
07232aab59 | ||
|
|
164321faf9 | ||
|
|
b1069775d3 | ||
|
|
cac7dcf982 | ||
|
|
527d9f61ef | ||
|
|
9fa204a081 | ||
|
|
57612be151 | ||
|
|
02058ba996 | ||
|
|
d83f821242 | ||
|
|
4285557751 | ||
|
|
fb1313cc77 | ||
|
|
8c0ccec706 | ||
|
|
791cab04d8 | ||
|
|
b8f16d0f85 | ||
|
|
9a3b2e21ef | ||
|
|
70f7b2d8cd | ||
|
|
be5c685363 | ||
|
|
c603cea888 | ||
|
|
e97259e58a | ||
|
|
c8ee4c7bf3 | ||
|
|
f49bd7b89a | ||
|
|
f172c6f0f1 | ||
|
|
66c14fdbb1 | ||
|
|
b83e1077b0 | ||
|
|
750378f65c | ||
|
|
a989b3e678 | ||
|
|
8e877f008d | ||
|
|
7918f08d9d | ||
|
|
17aee6decd | ||
|
|
dd5ae078e5 | ||
|
|
afa28896ca | ||
|
|
1b3c6fc947 | ||
|
|
5cb5cb49e5 | ||
|
|
7331ec5631 | ||
|
|
ea27670082 | ||
|
|
7dc9190770 | ||
|
|
cdf6691a9d | ||
|
|
522bd8f35e | ||
|
|
266494fc93 | ||
|
|
19ce06fe2f | ||
|
|
cf55be8188 | ||
|
|
23bcab2333 | ||
|
|
4489bdc493 | ||
|
|
cb2d8b8eb8 | ||
|
|
e794b4507e | ||
|
|
17459e838c | ||
|
|
8400595193 | ||
|
|
8a008e57b5 | ||
|
|
683ffd3d1f | ||
|
|
fe9c67a957 | ||
|
|
573139f59c | ||
|
|
42f328fc71 | ||
|
|
be768f6a5b | ||
|
|
9003aba3c1 | ||
|
|
ecc83b402a | ||
|
|
e93ed99ecf | ||
|
|
8cdfb14c42 | ||
|
|
31d88fddf9 | ||
|
|
30a587c651 | ||
|
|
384524a3d9 | ||
|
|
ab454da4fd | ||
|
|
053274d5b7 | ||
|
|
171bc76637 | ||
|
|
c56ba929aa | ||
|
|
b7351b8392 | ||
|
|
a45c483ad7 | ||
|
|
2156c7d5d7 | ||
|
|
4e130f7162 | ||
|
|
3f3c31c971 | ||
|
|
9aa0247b63 | ||
|
|
b5ac9e9ddf | ||
|
|
a58f0b6a8a | ||
|
|
ccb1fc9ade | ||
|
|
cb7fffc2df | ||
|
|
cbcb32a7d6 | ||
|
|
0d6028508b | ||
|
|
dad061f564 | ||
|
|
6b251dc0ae | ||
|
|
06c4a3d9ee | ||
|
|
682e147ebf | ||
|
|
7e8f7154f4 | ||
|
|
6c9253e597 | ||
|
|
9b04324111 | ||
|
|
91ebeaa99b | ||
|
|
5f4ea5859a | ||
|
|
dddb703cfd | ||
|
|
9748b6eb2b | ||
|
|
612c02f3da | ||
|
|
2e789484b5 | ||
|
|
a447ffcc90 | ||
|
|
f8e3f6b0a7 | ||
|
|
d173dd8ecd | ||
|
|
dd2b3e15e2 | ||
|
|
d9cc5aa3b0 | ||
|
|
80849d47b2 | ||
|
|
495bdfe1d4 | ||
|
|
5b5fdcadb6 | ||
|
|
8124074533 | ||
|
|
332f4c19f3 | ||
|
|
013d1299c8 | ||
|
|
07644fd855 | ||
|
|
b1c2f2652a | ||
|
|
aacb6b7891 | ||
|
|
7483ba47fe | ||
|
|
833c505aff | ||
|
|
80084f86ae | ||
|
|
4c7726d9f7 | ||
|
|
e5ef4cb8fc | ||
|
|
6b1b7b071b | ||
|
|
f2f6958b0e | ||
|
|
b6085352b8 | ||
|
|
67a0e11240 | ||
|
|
6a5d8b07ea | ||
|
|
b763535f3a | ||
|
|
e8970aba73 | ||
|
|
dd47ae8835 | ||
|
|
b1735e0810 | ||
|
|
40a0ee1354 | ||
|
|
5bcb630e75 | ||
|
|
0619cd5b32 | ||
|
|
5dd9734a48 | ||
|
|
52495ca4a4 | ||
|
|
186160708d | ||
|
|
558248ce6a | ||
|
|
6f3722d906 | ||
|
|
220394c0ec | ||
|
|
ebf8497eb7 | ||
|
|
83683e9db6 | ||
|
|
f3b0df343f | ||
|
|
ba092104d8 | ||
|
|
aa0742196b | ||
|
|
69c01e024d | ||
|
|
73cdf7b056 | ||
|
|
4a9b848ec2 | ||
|
|
ff4907675c | ||
|
|
ffbf7864d1 | ||
|
|
e1891fa2e0 | ||
|
|
8734855a1d | ||
|
|
dca0a521aa | ||
|
|
26b167fe2b | ||
|
|
afe6262d35 | ||
|
|
b9c5f0cf67 | ||
|
|
dea683c9d2 | ||
|
|
a7492ad3ee | ||
|
|
87a10a39d9 | ||
|
|
f62d45c7d8 | ||
|
|
7609a85751 | ||
|
|
6f109ea508 | ||
|
|
4bc4288454 | ||
|
|
a0aa2749b7 | ||
|
|
61e75a1a74 | ||
|
|
1edf5e97a3 | ||
|
|
723cc251cb | ||
|
|
987efb9517 | ||
|
|
1f68fdef7a | ||
|
|
bfddc50483 | ||
|
|
fb89e3aef1 | ||
|
|
7e8f8d4e76 | ||
|
|
ee8301ea61 | ||
|
|
ed7b88f4e8 | ||
|
|
5fe72e5298 | ||
|
|
9eacf21021 | ||
|
|
d75e25fc42 | ||
|
|
99983b9346 | ||
|
|
aed636929a | ||
|
|
9e181db532 | ||
|
|
b924a98f77 | ||
|
|
e810b91676 | ||
|
|
c4342a5a32 | ||
|
|
226d27c5ad | ||
|
|
29ece213ae | ||
|
|
d700ab2088 | ||
|
|
565e05b5bf | ||
|
|
559b78f09d | ||
|
|
b949d65ee3 | ||
|
|
d67c10164b | ||
|
|
1db206f872 | ||
|
|
8d64b6f3f2 | ||
|
|
17ef3f1e2e | ||
|
|
ef8e0398bd | ||
|
|
bafb2a76af | ||
|
|
8eaa2f652c | ||
|
|
0b3ffa2df6 | ||
|
|
c8bc0d3bcc | ||
|
|
2c774cd094 | ||
|
|
bf4e5ec274 | ||
|
|
f76aa54e4a | ||
|
|
22a5d2831e | ||
|
|
a85f449dd0 | ||
|
|
c76e69b986 | ||
|
|
7eac5ad111 | ||
|
|
c8b3138e73 | ||
|
|
e68d6633a8 | ||
|
|
96769227de | ||
|
|
86dbcbf7e1 | ||
|
|
5814fe706a | ||
|
|
a212449b03 | ||
|
|
72c1a2dd70 | ||
|
|
cb80304b07 | ||
|
|
c7623e9c1a | ||
|
|
ed863f453a | ||
|
|
96958337e4 | ||
|
|
82ed228fd3 | ||
|
|
ee0d950c4d | ||
|
|
3d020afdc7 | ||
|
|
2e49d986f7 | ||
|
|
ebba598484 | ||
|
|
3d43abb2b2 | ||
|
|
963949d6d3 | ||
|
|
5c52551637 | ||
|
|
484796bcde | ||
|
|
ebdea24d4c | ||
|
|
8796e9dab3 | ||
|
|
d43383f719 | ||
|
|
888e657348 | ||
|
|
c6e290213d | ||
|
|
cd708b48b7 | ||
|
|
e8c0760d9b | ||
|
|
f8babf45d0 | ||
|
|
37acf6df7a | ||
|
|
f8555ac899 | ||
|
|
0862eba745 | ||
|
|
f098d37d23 | ||
|
|
8fd7f0162f | ||
|
|
b23ea7975d | ||
|
|
c4ea4cc289 | ||
|
|
12a7beca15 | ||
|
|
d6f2b8d6cb | ||
|
|
a7f345f764 | ||
|
|
a75e8b6a75 | ||
|
|
d6e3184abb | ||
|
|
b470bf2def | ||
|
|
03f29e9d41 | ||
|
|
49acb7a1f2 | ||
|
|
367c6a4f72 | ||
|
|
c94f8a9104 | ||
|
|
ea789f09b3 | ||
|
|
39bdbd8c87 | ||
|
|
b36f4e2193 | ||
|
|
d14a6a735d | ||
|
|
087c280a87 | ||
|
|
88dd3c090e | ||
|
|
f9b8d8ed34 | ||
|
|
420925b89b | ||
|
|
542bc2ac58 | ||
|
|
be97fc9aaa | ||
|
|
dd57c99a8b | ||
|
|
5a82956398 | ||
|
|
cd82b2ca50 | ||
|
|
76bc3096dd | ||
|
|
a9ee7f9237 | ||
|
|
8f2f7c9e55 | ||
|
|
f79791ac77 | ||
|
|
b15cda5963 | ||
|
|
65eb7efec8 | ||
|
|
1c87169b99 | ||
|
|
a5b53e175e | ||
|
|
7fb32b9f33 | ||
|
|
000dc3a44d | ||
|
|
0973be9e03 | ||
|
|
c15cd7b12f | ||
|
|
295ea0d708 | ||
|
|
7cc7463c45 | ||
|
|
9c5d443da8 | ||
|
|
04940af93b | ||
|
|
51777f1e3b | ||
|
|
4016c14fb8 | ||
|
|
f97af63ed5 | ||
|
|
a3b19be43f | ||
|
|
2c81902303 | ||
|
|
292cd327b7 | ||
|
|
127f91306b | ||
|
|
58d03021d1 | ||
|
|
fa7caec542 | ||
|
|
baa5c03f7f | ||
|
|
aa3283f7ca | ||
|
|
a756b3b6a4 | ||
|
|
de1607afa2 | ||
|
|
95be00f510 | ||
|
|
d76280625c | ||
|
|
51868dddec | ||
|
|
0a89ef3908 | ||
|
|
0143762f77 | ||
|
|
c5c0900bcc | ||
|
|
66562cc5a4 | ||
|
|
96c4c39f1b | ||
|
|
effff2047a | ||
|
|
d54ff49f96 | ||
|
|
a0ecf0e3f2 | ||
|
|
3450d2ecd5 | ||
|
|
4d778817c3 | ||
|
|
4e44f6e2e3 | ||
|
|
9aa414d6de | ||
|
|
30896a4b70 | ||
|
|
36357f1dc0 | ||
|
|
7cde78d07b | ||
|
|
fdf9769d8a | ||
|
|
d8dec8ac2b | ||
|
|
b8ccf4eb84 | ||
|
|
be13abc9d8 | ||
|
|
2d0a84dad9 | ||
|
|
c7bab903e6 | ||
|
|
824671d01d | ||
|
|
b0083fce34 | ||
|
|
08b8e55802 | ||
|
|
bebb497e7e | ||
|
|
73ac93f943 | ||
|
|
461d17e5cb | ||
|
|
d77b9b3e90 | ||
|
|
0e22f337a2 | ||
|
|
5d0689fb40 | ||
|
|
0041bd1c5e | ||
|
|
b0aa9d97ba | ||
|
|
8927813180 | ||
|
|
f2288f5c9d | ||
|
|
3d3f3369ec | ||
|
|
3acc4e4c39 | ||
|
|
578096c81b | ||
|
|
18598552aa | ||
|
|
c0a11178ba | ||
|
|
35a5f94651 | ||
|
|
2e42d46cc6 | ||
|
|
5332947894 | ||
|
|
6bf27be3b9 | ||
|
|
82e75d2589 | ||
|
|
ee491f23cc | ||
|
|
0f42d7d2f9 | ||
|
|
9fe6a0963b | ||
|
|
46cff9faab | ||
|
|
a5b0db532d | ||
|
|
780c801dcc | ||
|
|
f89777dd1d | ||
|
|
ac18334c10 | ||
|
|
61406ea472 | ||
|
|
88e2da5f3f | ||
|
|
4d46f24a23 | ||
|
|
632082625a | ||
|
|
54953fa08e | ||
|
|
3a92d6d01c | ||
|
|
6053e4f001 | ||
|
|
3ff1be94d8 | ||
|
|
3ba2f75f2f | ||
|
|
75e204180f | ||
|
|
6099321277 | ||
|
|
635953eb9a | ||
|
|
f8066a66f9 | ||
|
|
cc294e1bae | ||
|
|
9b313afb01 | ||
|
|
4d8ca6df3a | ||
|
|
a9f9424d30 | ||
|
|
97e25edfcc | ||
|
|
1a588fe0ab | ||
|
|
eeb3cc74f2 | ||
|
|
97038f9345 | ||
|
|
45825818f9 | ||
|
|
736d044cd4 | ||
|
|
2b7baab535 | ||
|
|
87eaefd3ce | ||
|
|
7d36db57e4 | ||
|
|
c9c3400e81 | ||
|
|
e4b21d25b7 | ||
|
|
ba7de39efe | ||
|
|
3196bd8a06 | ||
|
|
25acb7bb52 | ||
|
|
f2a00a0985 | ||
|
|
9241e5aa90 | ||
|
|
6f53c14cb8 | ||
|
|
2304f2a909 | ||
|
|
869a60505e | ||
|
|
bf7202af7d | ||
|
|
14134ff171 | ||
|
|
488c5f3343 | ||
|
|
2a18679c20 | ||
|
|
1beed254e9 | ||
|
|
b515fc55dd | ||
|
|
c1da74a63a | ||
|
|
e26c0b8b5c | ||
|
|
1253f68df0 | ||
|
|
e9b6d10641 | ||
|
|
7f15ff1ab6 | ||
|
|
4d90cd509c | ||
|
|
f102a97623 | ||
|
|
9de9eff153 | ||
|
|
3a74004725 | ||
|
|
02e53b2bb5 | ||
|
|
c7ab938a26 | ||
|
|
7ff699f97c | ||
|
|
e7ae6a57ec | ||
|
|
9858b6150a | ||
|
|
e8df85316f | ||
|
|
a31617a2db | ||
|
|
10cf7de2c3 | ||
|
|
3a3e869ea0 | ||
|
|
68ec6fbca1 | ||
|
|
929d758f31 | ||
|
|
83895f1ffd | ||
|
|
ea4ac0c312 | ||
|
|
130cc8acf5 | ||
|
|
d15d7a4b72 | ||
|
|
db8e901896 | ||
|
|
ce4b76d61a | ||
|
|
d7a05d60d4 | ||
|
|
4300ed4358 | ||
|
|
a7bc3044d8 | ||
|
|
4747d02fa9 | ||
|
|
177e6468b9 | ||
|
|
228526d605 | ||
|
|
d271dff890 | ||
|
|
dd67cf36ef | ||
|
|
9310bbbb06 | ||
|
|
c093c6c84e | ||
|
|
45e962ceae | ||
|
|
4744264a52 | ||
|
|
246b37fa96 | ||
|
|
e6a6db8cd7 | ||
|
|
1912e0d8e7 | ||
|
|
67b6544f6f | ||
|
|
02194e7102 | ||
|
|
6a0e192f5f | ||
|
|
6c9a40d28d | ||
|
|
33154649fc | ||
|
|
2d279ab608 | ||
|
|
8b28e5c284 | ||
|
|
db7ba47330 | ||
|
|
b0cae37787 | ||
|
|
e0d215699f | ||
|
|
8b6c6d6ca6 | ||
|
|
308ff813eb | ||
|
|
b174335bfa | ||
|
|
5c411b7d88 | ||
|
|
9650c7aa2b | ||
|
|
27415284fe | ||
|
|
d1ddb05cac | ||
|
|
6c30425beb | ||
|
|
67a5df01f5 | ||
|
|
a2f6cdb246 | ||
|
|
e8e9dbc69b | ||
|
|
df4c7e0fc5 | ||
|
|
209c861a0e | ||
|
|
0a07a4bf82 | ||
|
|
f71616b8fa | ||
|
|
7fe4b14c5d | ||
|
|
9d1d9fed95 | ||
|
|
7a0330fe5f | ||
|
|
05287d1e22 | ||
|
|
e3b2621102 | ||
|
|
a42fcb9ca8 | ||
|
|
5db071e76e | ||
|
|
c4bd436721 | ||
|
|
7960424738 | ||
|
|
010ada78cf | ||
|
|
ad8a2bf568 | ||
|
|
4dc19bf8d2 | ||
|
|
30f99a45f9 | ||
|
|
2ed0b8e3af | ||
|
|
02d2f8e308 | ||
|
|
85c8006a9f | ||
|
|
c7fe1544fe | ||
|
|
705b2825f3 | ||
|
|
a10eab0307 | ||
|
|
241c685bdb | ||
|
|
bdde74a642 | ||
|
|
2b7a3e4a9a | ||
|
|
c208a630a8 | ||
|
|
718a40bb0a | ||
|
|
9bd123cf4d | ||
|
|
60016b76aa | ||
|
|
8d1bc32fbe | ||
|
|
0645caeec0 | ||
|
|
0a122c5b8d | ||
|
|
ac5c637ccd | ||
|
|
54f4d85fe1 | ||
|
|
c14bf79c47 | ||
|
|
d534119b9b | ||
|
|
5c08b8b7ff | ||
|
|
0d5d1cb20d | ||
|
|
9eb50e034c | ||
|
|
02bc22984a | ||
|
|
1b734a3e51 | ||
|
|
ecabf21450 | ||
|
|
1a4fd9ef7d | ||
|
|
2f7304b5ed | ||
|
|
f65d505ecc | ||
|
|
31fd94622e | ||
|
|
64f42dadfe | ||
|
|
533b497a4d | ||
|
|
c7d6535311 | ||
|
|
1096b080eb | ||
|
|
27e88123d1 | ||
|
|
0a9b29052c | ||
|
|
55674ea59e | ||
|
|
1ca149714f | ||
|
|
d65fb3806c | ||
|
|
6b83a1438a | ||
|
|
5e19847a05 | ||
|
|
9c8261c5cf | ||
|
|
c1f559e678 | ||
|
|
71ce3e732d | ||
|
|
254ef44dce | ||
|
|
41ebd3a6c6 | ||
|
|
e9dc89c86a | ||
|
|
4e0b870651 | ||
|
|
83d55f638a | ||
|
|
a9f37501c2 | ||
|
|
734ff77d30 | ||
|
|
8f08a459c3 | ||
|
|
fb18d0de3b | ||
|
|
7f02c6b2dc | ||
|
|
02e32f5307 | ||
|
|
6e09423583 | ||
|
|
e9e8e3bfd6 | ||
|
|
52d4826009 | ||
|
|
2aa827f81a | ||
|
|
2f1674a804 | ||
|
|
835f36be2c | ||
|
|
570baa3b07 | ||
|
|
3461c2d197 | ||
|
|
2e880e58d9 | ||
|
|
5173d3062e | ||
|
|
c9d08d5bba | ||
|
|
a42db46a75 | ||
|
|
e7285013df | ||
|
|
c0821d3557 | ||
|
|
da59bfa4f4 | ||
|
|
48ea685689 | ||
|
|
e0f3643ffe | ||
|
|
a762e593b2 | ||
|
|
d7a904b7dd | ||
|
|
2344c29ea1 | ||
|
|
80f69fc4e8 | ||
|
|
1098ed5ee8 | ||
|
|
b4ea1954f0 | ||
|
|
4ebc780037 | ||
|
|
0d60b06b51 | ||
|
|
845c8cb874 | ||
|
|
57a438ad02 | ||
|
|
81bd8188cf | ||
|
|
a8c8d2732c | ||
|
|
8c37edda44 | ||
|
|
a1b7899688 | ||
|
|
7f04c6580f | ||
|
|
277c009e37 | ||
|
|
ba9e74f22d | ||
|
|
8c7c6df58e | ||
|
|
5f2720fb90 | ||
|
|
09357d5e45 | ||
|
|
90530086bd | ||
|
|
5e9b1def1f | ||
|
|
46aec995e2 | ||
|
|
df94b24da9 | ||
|
|
db1845c8b5 | ||
|
|
b5f254d11d | ||
|
|
b8fd8f281f | ||
|
|
eb14822c97 | ||
|
|
94a19a4f91 | ||
|
|
d57f23b67d | ||
|
|
72f5772d0f | ||
|
|
582efa0e7b | ||
|
|
403b3f8d18 | ||
|
|
1cc6c90aec | ||
|
|
51ccce8969 | ||
|
|
e11dbeff37 | ||
|
|
902295a137 | ||
|
|
5e5e6dffdb | ||
|
|
d267b76845 | ||
|
|
797d9351dc | ||
|
|
7b8d45d8c6 | ||
|
|
8a929464d6 | ||
|
|
2c5f8ffeb3 | ||
|
|
d682c47b10 | ||
|
|
1d81050a79 | ||
|
|
909bba7724 | ||
|
|
b87f9199b6 | ||
|
|
93894c3b99 | ||
|
|
e9b3f7100f | ||
|
|
d7fe529d84 | ||
|
|
2f03c700ff | ||
|
|
24bf916e3f | ||
|
|
d3e2cf6fab | ||
|
|
d5d817ead1 | ||
|
|
c4d42de7a5 | ||
|
|
cbf4938e33 | ||
|
|
00b1cc85fe | ||
|
|
3bfe67cad5 | ||
|
|
aad54f55e7 | ||
|
|
7c700e8a5b | ||
|
|
8043537831 | ||
|
|
ab8ffb24d3 | ||
|
|
efa3b90b0a | ||
|
|
324c12a6d4 | ||
|
|
758346d78d | ||
|
|
b92f855655 | ||
|
|
348fba16cb | ||
|
|
92821a0c0c | ||
|
|
3b1a1c03e9 | ||
|
|
7256cbaad6 | ||
|
|
a5b32ac223 | ||
|
|
68bd3eb6a0 | ||
|
|
32987e37ee | ||
|
|
24f6d37f72 | ||
|
|
6401d192b2 | ||
|
|
d405d81272 | ||
|
|
e9f23151c7 | ||
|
|
9b1d6078de | ||
|
|
947dc54830 | ||
|
|
34616e053a | ||
|
|
b4c13f5c3a | ||
|
|
5ff624fc06 | ||
|
|
01c0e0c439 | ||
|
|
29da0cfac0 | ||
|
|
53471fb9cd | ||
|
|
f557cd9518 | ||
|
|
0883032db0 | ||
|
|
4a95093116 | ||
|
|
68ef434e82 | ||
|
|
4e90f540f3 | ||
|
|
248dffec8a | ||
|
|
5d88cc8f56 | ||
|
|
fad74a13ef | ||
|
|
7675cfc3ec | ||
|
|
46adef01d2 | ||
|
|
200fd1ff3d | ||
|
|
7c00209154 | ||
|
|
0126732a29 | ||
|
|
2d2471a609 | ||
|
|
d6a4c83eea | ||
|
|
c3a48ed6f4 | ||
|
|
1ee864db9f | ||
|
|
a94e97961d | ||
|
|
2a71b7b932 | ||
|
|
8deebe0777 | ||
|
|
102ae1d944 | ||
|
|
7b66a7d6a2 | ||
|
|
73f588efeb | ||
|
|
90ff121ec6 | ||
|
|
1aec16ab3b | ||
|
|
5972508b18 | ||
|
|
84ec8be55d | ||
|
|
a307c5f940 | ||
|
|
39accdfa4b | ||
|
|
801614bc6f | ||
|
|
479019563e | ||
|
|
f4f2da86ac | ||
|
|
28779ff3a6 | ||
|
|
48b61872f7 | ||
|
|
2af8f4a686 | ||
|
|
dffbf084ac | ||
|
|
425b4f0439 | ||
|
|
73e80ec159 | ||
|
|
c7feaa75cf | ||
|
|
6e3cdaec31 | ||
|
|
bbe0178263 | ||
|
|
9aec547ed0 | ||
|
|
06063a9d88 | ||
|
|
83372571bc | ||
|
|
038c0cf76e | ||
|
|
b3fff96143 | ||
|
|
efb85c5361 | ||
|
|
e286be6235 | ||
|
|
890a53a1bd | ||
|
|
7afb5d93bb | ||
|
|
ff40b5d8f4 | ||
|
|
e37a16249d | ||
|
|
0063ce95c6 | ||
|
|
8a60a2974e | ||
|
|
4b3b78f8e5 | ||
|
|
4948a5cacb | ||
|
|
1c46487c8b | ||
|
|
cc196705ed | ||
|
|
9684a1c1b7 | ||
|
|
5497189f2b | ||
|
|
ae47b469c0 | ||
|
|
a7ba4f40d7 | ||
|
|
3f1b763ceb | ||
|
|
d8ffbf56b4 | ||
|
|
76327db85c | ||
|
|
e4a14bb64b | ||
|
|
b71515f8f1 | ||
|
|
c90ed276b0 | ||
|
|
5a581d1cad | ||
|
|
22e3688402 | ||
|
|
4c01b12f2a | ||
|
|
f40ec969bd | ||
|
|
3dff3d7192 | ||
|
|
fd67065650 | ||
|
|
6e2b5dfd5c | ||
|
|
2e1b6d50bc | ||
|
|
65743a2139 | ||
|
|
edc3ab3009 | ||
|
|
88d4749140 | ||
|
|
1ebba559f8 | ||
|
|
db9f98a87f | ||
|
|
f308795f16 | ||
|
|
91e14a02cc | ||
|
|
1993f67606 | ||
|
|
6e00312ecf | ||
|
|
9fa973426f | ||
|
|
68e29b395c | ||
|
|
ed2c8297d0 | ||
|
|
8626798bbb | ||
|
|
3ee4df73f0 | ||
|
|
0e31300630 | ||
|
|
ab6648a9f7 | ||
|
|
3ef2b1f04d | ||
|
|
efaf44175a | ||
|
|
0c45497a29 | ||
|
|
da88ecd024 | ||
|
|
1b67ec5c71 | ||
|
|
e3d69df234 | ||
|
|
112c68d521 | ||
|
|
4fc38901fa | ||
|
|
10ad4051a6 | ||
|
|
45e49986f4 | ||
|
|
21d93f9992 | ||
|
|
d0badcb54c | ||
|
|
0415cacfc0 | ||
|
|
877a811055 | ||
|
|
de9525ad79 | ||
|
|
b38d9c1be1 | ||
|
|
90b63547ac | ||
|
|
b15ae90fd7 | ||
|
|
512927bf20 | ||
|
|
748b39e5a7 | ||
|
|
69ef005d1a | ||
|
|
929fd65dab | ||
|
|
c0f4e071af | ||
|
|
c95f92b87b | ||
|
|
4aae1c1b97 | ||
|
|
7b7ebc61c5 | ||
|
|
d85affb0f5 | ||
|
|
4c0050a1e1 | ||
|
|
5f4e30053f | ||
|
|
f55d568b04 | ||
|
|
7dfe47d08b | ||
|
|
3ceac51fd3 | ||
|
|
8fa41c7a75 | ||
|
|
e8bbc46ebb | ||
|
|
7ff412e9dc | ||
|
|
4292b1f9d5 | ||
|
|
74864edf0d | ||
|
|
23fe55339a | ||
|
|
6abe902d24 | ||
|
|
625f4a1818 | ||
|
|
759014f170 | ||
|
|
f0c7de40ac | ||
|
|
13b5f479b4 | ||
|
|
8e02d65602 | ||
|
|
8c58ba330b | ||
|
|
dd762d0835 | ||
|
|
396106f433 | ||
|
|
3c3218410b | ||
|
|
bfb530894b | ||
|
|
2ed5147535 | ||
|
|
5ea1eb2a69 | ||
|
|
2c5d76fa0e | ||
|
|
b1b68d08bb | ||
|
|
56e18cd222 | ||
|
|
37a40cb9ee | ||
|
|
f14e1d2bd3 | ||
|
|
cd17caa7f8 | ||
|
|
449564289e | ||
|
|
b45b7eeb9d | ||
|
|
bb5f73dcbd | ||
|
|
9b8a2de5b4 | ||
|
|
eeae5346cf | ||
|
|
a3eab4b272 | ||
|
|
b125254b26 | ||
|
|
65b41547df | ||
|
|
97b3719301 | ||
|
|
9d19e3dacb | ||
|
|
b0d28a5761 | ||
|
|
b7eca65112 | ||
|
|
cea6b4dbe9 | ||
|
|
2c9e7fcfdd | ||
|
|
b9599cb12d | ||
|
|
5bf2f64c6d | ||
|
|
d108d8cf64 | ||
|
|
71d9cfe64d | ||
|
|
a1b5602717 | ||
|
|
227438369f | ||
|
|
61d29b0ffe | ||
|
|
2658fcef80 | ||
|
|
5d3257bb1d | ||
|
|
b70b9be02d | ||
|
|
2facdedae8 | ||
|
|
e669c44ba0 | ||
|
|
164ebfb4a8 | ||
|
|
530ef4a79a | ||
|
|
097598d42c | ||
|
|
bec18bf03a | ||
|
|
d527779823 | ||
|
|
99db30744f | ||
|
|
73f5043417 | ||
|
|
fb487199ca | ||
|
|
92017a85b5 | ||
|
|
ef7ae56817 | ||
|
|
c6bcea0c20 | ||
|
|
c3a08849e5 | ||
|
|
e6302e9ad0 | ||
|
|
fdfce3c6c9 | ||
|
|
8f728e3aaa | ||
|
|
3c578592a1 | ||
|
|
2003def889 | ||
|
|
522bc316af | ||
|
|
a6efe6a940 | ||
|
|
b16f96084a | ||
|
|
ba24cf5205 | ||
|
|
a7dc1c48ab | ||
|
|
6579aae2d9 | ||
|
|
fc11da3381 | ||
|
|
00ad257db0 | ||
|
|
0246c9bb5c | ||
|
|
384524dbde | ||
|
|
87f5fe1107 | ||
|
|
5d0fd32cd3 | ||
|
|
e062313359 | ||
|
|
d416a91e4b | ||
|
|
050a3b89b3 | ||
|
|
72bb2b261f | ||
|
|
35fe2787f3 | ||
|
|
16734fb281 | ||
|
|
386e608fa2 | ||
|
|
d6bfc7f264 | ||
|
|
1eaf5924da | ||
|
|
ccde004936 | ||
|
|
84fb534d61 | ||
|
|
eca6a1294c | ||
|
|
281414b012 | ||
|
|
c394172a68 | ||
|
|
fd68898ebd | ||
|
|
318aac7f83 | ||
|
|
63354f30cf | ||
|
|
3ea56286d7 | ||
|
|
514d65e6fd | ||
|
|
766b20eb76 | ||
|
|
0c00bf793f | ||
|
|
edcb247141 | ||
|
|
c309d9ed0e | ||
|
|
65efea39cc | ||
|
|
2b3958dd0a | ||
|
|
903b7549bd | ||
|
|
369b61da86 | ||
|
|
c868a04e01 | ||
|
|
b4bffd274b | ||
|
|
59899fad1d | ||
|
|
ce3851c572 | ||
|
|
4ddb399190 | ||
|
|
636d9f383e | ||
|
|
f8e6ce5273 | ||
|
|
c795eadf55 | ||
|
|
08c59feb52 | ||
|
|
5d714270af | ||
|
|
16a3417e18 | ||
|
|
8c69e2b149 | ||
|
|
d6e1df986c | ||
|
|
e88b873b54 | ||
|
|
04533b2f38 | ||
|
|
b38724544f | ||
|
|
8b0c46947a | ||
|
|
2344b982ad | ||
|
|
f8027d3868 | ||
|
|
5449c08895 | ||
|
|
d168eb1a45 | ||
|
|
732113b4c9 | ||
|
|
db8adf9761 | ||
|
|
19993640ed | ||
|
|
7d9b7da232 | ||
|
|
0459378421 | ||
|
|
caf6541a1a | ||
|
|
5205f5daea | ||
|
|
5ef979d313 | ||
|
|
647799ff41 | ||
|
|
290d1ac464 | ||
|
|
b20667bef6 | ||
|
|
3c4997aaed | ||
|
|
492f37556e | ||
|
|
2db6cf3ed9 | ||
|
|
6d0478a85d | ||
|
|
e31dc91228 | ||
|
|
d5f9edd671 | ||
|
|
be8f9bec65 | ||
|
|
5bc5ea684f | ||
|
|
eab23cb735 | ||
|
|
b0d9aab4a8 | ||
|
|
75823b0beb | ||
|
|
869c2f44aa | ||
|
|
8dd8213152 | ||
|
|
ce68d1535f | ||
|
|
5e2a2aeefa | ||
|
|
056ec80331 | ||
|
|
4c5fa0d90e | ||
|
|
fe25a89339 | ||
|
|
a8e2a2dbf5 | ||
|
|
5409f24638 | ||
|
|
0e3304d6b5 | ||
|
|
cab6b9f131 | ||
|
|
7bc10ed2cf | ||
|
|
7e317fe3f6 | ||
|
|
cf0953bd14 | ||
|
|
7d5df72783 | ||
|
|
ce477682f7 | ||
|
|
853c1a68c6 | ||
|
|
c0608bc4dd | ||
|
|
cd9cbaa5c4 | ||
|
|
3f101446d4 | ||
|
|
2b7a6addfa | ||
|
|
99f7bd2235 | ||
|
|
dd8cc4de86 | ||
|
|
8dbba5c5ae | ||
|
|
1d0febb8ee | ||
|
|
cf4be90a5b | ||
|
|
a8e7fd2214 | ||
|
|
dc0e16b2e8 | ||
|
|
f014fcdab8 | ||
|
|
b376400ee3 | ||
|
|
0afc16de94 | ||
|
|
2e165099a3 | ||
|
|
7481ae875e | ||
|
|
c0235d8f5f | ||
|
|
07e82980fa | ||
|
|
7532eec4e9 | ||
|
|
8c0f85c945 | ||
|
|
2cd60a4c27 | ||
|
|
ec37b06fe8 | ||
|
|
1436a8c063 | ||
|
|
f599ffb5d4 | ||
|
|
3466e08171 | ||
|
|
62a353f3c9 | ||
|
|
406f1e60f7 | ||
|
|
85b6df8b9b | ||
|
|
05329aa11d | ||
|
|
365c35265b | ||
|
|
8e3d8ad789 | ||
|
|
5e791d5a8a | ||
|
|
492a2f3cbf | ||
|
|
68c20c6807 | ||
|
|
2df2135816 | ||
|
|
e84b770526 | ||
|
|
b67236dcde | ||
|
|
006183c1ef | ||
|
|
7a4cf23d4b | ||
|
|
8b793bfe7c | ||
|
|
c10fecc3bc | ||
|
|
8434312c2a | ||
|
|
7ccd35ae17 | ||
|
|
b51bdc3146 | ||
|
|
2c442cc28e | ||
|
|
3300083588 | ||
|
|
054293fc6d | ||
|
|
31b9249a6d | ||
|
|
886a1806eb | ||
|
|
77014e9638 | ||
|
|
f2d7ac5a6b | ||
|
|
97add7e185 | ||
|
|
aeb4450f82 | ||
|
|
ac0ed0fba1 | ||
|
|
50d7e27245 | ||
|
|
2ab50be569 | ||
|
|
69177801f3 | ||
|
|
1a367fdb4e | ||
|
|
55366425af | ||
|
|
ff934ff85d | ||
|
|
08aac7ea86 | ||
|
|
767fcda0dd | ||
|
|
442958e53d | ||
|
|
605596111c | ||
|
|
da3e5b6210 | ||
|
|
91dd9f2a06 | ||
|
|
c0ff862b36 | ||
|
|
0f2d6fead4 | ||
|
|
95bc804e1c | ||
|
|
0846173c2b | ||
|
|
faee9ac904 | ||
|
|
a925c92350 | ||
|
|
ee9cb51517 | ||
|
|
ca95fefb7a | ||
|
|
3bf56ac245 | ||
|
|
e92090ec86 | ||
|
|
d701ff30a1 | ||
|
|
213ccbabb3 | ||
|
|
81662fa460 | ||
|
|
e34d99abe7 | ||
|
|
cad5ce2d27 | ||
|
|
bc812c4978 | ||
|
|
6be980a494 | ||
|
|
99904c2c02 | ||
|
|
dd0343d6f1 | ||
|
|
84996761f9 | ||
|
|
18cc12f1cc | ||
|
|
5cc8a4677b | ||
|
|
f2f1dac566 | ||
|
|
67a9893806 | ||
|
|
dec4926da0 | ||
|
|
3974563c5e | ||
|
|
ecfecf7a81 | ||
|
|
68ac3f39fe | ||
|
|
b821fd8fd2 | ||
|
|
e742fdad6c | ||
|
|
fb1503758e | ||
|
|
964e345ac3 | ||
|
|
3c72e5a9cd | ||
|
|
2e963b1145 | ||
|
|
e6edb16eff | ||
|
|
bb88621ddd | ||
|
|
3b8b53b99f | ||
|
|
be7a3234b7 | ||
|
|
e5a65835ea | ||
|
|
d3c93b9f3f | ||
|
|
b4b851f192 | ||
|
|
91d277d401 | ||
|
|
c630e46deb | ||
|
|
bafa1dd826 | ||
|
|
4d77375663 | ||
|
|
8b6045b383 | ||
|
|
b11c803590 | ||
|
|
1653020b32 | ||
|
|
67c2ebfd7c | ||
|
|
ff6653b3bb | ||
|
|
a885ac9a54 | ||
|
|
8612e7e168 | ||
|
|
644f0dd2e1 | ||
|
|
213e41d92d | ||
|
|
e942eae6ca | ||
|
|
9abf2be0fa | ||
|
|
57f4e78bd7 | ||
|
|
ceef1596f7 | ||
|
|
1bb93b42df | ||
|
|
3dbdfee941 | ||
|
|
2e7ea0fb68 | ||
|
|
df6db40c05 | ||
|
|
17bf49c7a3 | ||
|
|
107906a9eb | ||
|
|
6458fc7278 | ||
|
|
9c80dd5e66 | ||
|
|
13e74f1346 | ||
|
|
7ed7b9f7c6 | ||
|
|
2b24156563 | ||
|
|
c8d44c117e | ||
|
|
2d209596f4 | ||
|
|
0939ee9991 | ||
|
|
3502a77b62 | ||
|
|
f94c542eb3 | ||
|
|
b76eff5c3d | ||
|
|
b3fba0373b | ||
|
|
23b47908aa | ||
|
|
81ec401ae8 | ||
|
|
1c261c3762 | ||
|
|
7c1b5eb509 | ||
|
|
a8ff695de8 | ||
|
|
8b4219cb46 | ||
|
|
fac519bbb6 | ||
|
|
79bda630a4 | ||
|
|
fc2cc8d03c | ||
|
|
b52954f200 | ||
|
|
1cae407598 | ||
|
|
57c27f9420 | ||
|
|
60e9382c6c | ||
|
|
d9662b4c1f | ||
|
|
1e7b042b73 | ||
|
|
f143703e4e | ||
|
|
504e7bacc9 | ||
|
|
dbf0f039a7 | ||
|
|
63ab6106b6 | ||
|
|
21080e7452 | ||
|
|
b061e900df | ||
|
|
fe5d41e0ce | ||
|
|
6042c6b452 | ||
|
|
6fb9bdc0d0 | ||
|
|
0a6bbef89a | ||
|
|
259c76979c | ||
|
|
b038f2bc18 |
248
CVSROOT/modules
248
CVSROOT/modules
@@ -1,248 +0,0 @@
|
||||
# Three different line formats are valid:
|
||||
# key -a aliases...
|
||||
# key [options] directory
|
||||
# key [options] directory files...
|
||||
#
|
||||
# Where "options" are composed of:
|
||||
# -i prog Run "prog" on "cvs commit" from top-level of module.
|
||||
# -o prog Run "prog" on "cvs checkout" of module.
|
||||
# -e prog Run "prog" on "cvs export" of module.
|
||||
# -t prog Run "prog" on "cvs rtag" of module.
|
||||
# -u prog Run "prog" on "cvs update" of module.
|
||||
# -d dir Place module in directory "dir" instead of module name.
|
||||
# -l Top-level directory only -- do not recurse.
|
||||
#
|
||||
# NOTE: If you change any of the "Run" options above, you'll have to
|
||||
# release and re-checkout any working directories of these modules.
|
||||
#
|
||||
# And "directory" is a path to a directory relative to $CVSROOT.
|
||||
#
|
||||
# The "-a" option specifies an alias. An alias is interpreted as if
|
||||
# everything on the right of the "-a" had been typed on the command line.
|
||||
#
|
||||
# You can encode a module within a module by using the special '&'
|
||||
# character to interpose another module into the current module. This
|
||||
# can be useful for creating a module that consists of many directories
|
||||
# spread out over the entire source repository.
|
||||
|
||||
ClientSourceProduct -a \
|
||||
ClientSourceProductWin \
|
||||
ClientSourceProductMac \
|
||||
ClientSourceProductUnix \
|
||||
|
||||
ClientSourceProductWin -a MozillaCommon MozillaWinOnly
|
||||
|
||||
ClientSourceProductMac -a MozillaCommon MozillaMacOnly
|
||||
|
||||
ClientSourceProductUnix -a MozillaCommon MozillaUnixOnly
|
||||
|
||||
MozillaCommon -a \
|
||||
ns/LEGAL \
|
||||
ns/LICENSE \
|
||||
ns/build \
|
||||
ns/include \
|
||||
ns/jpeg \
|
||||
ns/js \
|
||||
ns/lib/htmldlgs \
|
||||
ns/lib/layout \
|
||||
ns/lib/libcnv \
|
||||
ns/lib/libi18n \
|
||||
ns/lib/liblayer \
|
||||
ns/lib/libmisc \
|
||||
ns/lib/libmime \
|
||||
ns/lib/libmocha \
|
||||
ns/lib/libnet \
|
||||
ns/lib/libparse \
|
||||
ns/lib/libpics \
|
||||
ns/lib/libpwcac \
|
||||
ns/lib/libstyle \
|
||||
ns/lib/plugin \
|
||||
ns/lib/xlate \
|
||||
ns/lib/xp \
|
||||
ns/modules/edtplug/src \
|
||||
ns/modules/edtplug/include \
|
||||
ns/modules/libfont/classes \
|
||||
ns/modules/libfont/public \
|
||||
ns/modules/libfont/src \
|
||||
ns/modules/libhook \
|
||||
ns/modules/libimg \
|
||||
ns/modules/libpref \
|
||||
ns/modules/libreg \
|
||||
ns/modules/libutil \
|
||||
ns/modules/progress/src \
|
||||
ns/modules/rdf \
|
||||
ns/modules/schedulr \
|
||||
ns/modules/security/freenav \
|
||||
ns/modules/zlib/src \
|
||||
ns/nav-java/stubs \
|
||||
ns/nsprpub \
|
||||
ns/xpcom \
|
||||
ns/l10n \
|
||||
ns/nsprpub \
|
||||
ns/dbm \
|
||||
ns/modules/schedulr
|
||||
|
||||
MozillaWinOnly -a \
|
||||
ns/client.mak \
|
||||
ns/cmd/makefile.win \
|
||||
ns/cmd/wincom \
|
||||
ns/cmd/winfe \
|
||||
ns/config \
|
||||
ns/lib/makefile.win \
|
||||
ns/modules/coreincl \
|
||||
ns/modules/edtplug/makefile.win \
|
||||
ns/makefile.win \
|
||||
ns/modules/libfont/jmcgen \
|
||||
ns/modules/libfont/makefile.win \
|
||||
ns/modules/libfont/producers/makefile.win \
|
||||
ns/modules/libfont/producers/win \
|
||||
ns/modules/libfont/producers/win/classes \
|
||||
ns/modules/libfont/producers/win/classes/netscape \
|
||||
ns/modules/libfont/producers/win/classes/netscape/fonts \
|
||||
ns/modules/libfont/producers/win/src \
|
||||
ns/modules/makefile.win \
|
||||
ns/modules/progress/makefile.win \
|
||||
ns/modules/progress/public \
|
||||
ns/modules/security/makefile.win \
|
||||
ns/modules/zlib/makefile.win \
|
||||
ns/nav-java/makefile.win \
|
||||
JavaStubWin
|
||||
|
||||
|
||||
MozillaUnixOnly -a \
|
||||
ns/cmd/Makefile \
|
||||
ns/cmd/stubfe \
|
||||
ns/cmd/xfe \
|
||||
ns/config/.cvsignore \
|
||||
ns/config/AIX.mk \
|
||||
ns/config/BSD_OS.mk \
|
||||
ns/config/bsdecho.c \
|
||||
ns/config/bsdecho.c \
|
||||
ns/config/clobber_miss.pl \
|
||||
ns/config/clobber_miss.pl \
|
||||
ns/config/common.mk \
|
||||
ns/config/common.mk \
|
||||
ns/config/config.guess \
|
||||
ns/config/config.mk \
|
||||
ns/config/coreconf.mk \
|
||||
ns/config/coreconf.mk \
|
||||
ns/config/cvsco.pl \
|
||||
ns/config/cvsco.pl \
|
||||
ns/config/fastcwd.pl \
|
||||
ns/config/fastcwd.pl \
|
||||
ns/config/FreeBSD.mk \
|
||||
ns/config/gtscc.c \
|
||||
ns/config/HP-UX.mk \
|
||||
ns/config/IRIX.mk \
|
||||
ns/config/Linux.mk \
|
||||
ns/config/makecopy.c \
|
||||
ns/config/makecopy.c \
|
||||
ns/config/Makefile \
|
||||
ns/config/Makefile \
|
||||
ns/config/mangle.c \
|
||||
ns/config/mangle.c \
|
||||
ns/config/mantomak.c \
|
||||
ns/config/mantomak.c \
|
||||
ns/config/mkdepend \
|
||||
ns/config/NCR.mk \
|
||||
ns/config/NEC.mk \
|
||||
ns/config/NEWS-OS.mk \
|
||||
ns/config/NEXTSTEP.mk \
|
||||
ns/config/nfspwd.pl \
|
||||
ns/config/nfspwd.pl \
|
||||
ns/config/nodl.pl \
|
||||
ns/config/nodl.pl \
|
||||
ns/config/nsinstall.c \
|
||||
ns/config/nsinstall.c \
|
||||
ns/config/OSF1.mk \
|
||||
ns/config/outofdate.pl \
|
||||
ns/config/outofdate.pl \
|
||||
ns/config/pathsub.c \
|
||||
ns/config/pathsub.c \
|
||||
ns/config/pathsub.h \
|
||||
ns/config/pathsub.h \
|
||||
ns/config/pkg2dpth.pl \
|
||||
ns/config/pkg2dpth.pl \
|
||||
ns/config/ports \
|
||||
ns/config/revdepth.pl \
|
||||
ns/config/revdepth.pl \
|
||||
ns/config/Rhapsody.mk \
|
||||
ns/config/rules.mk \
|
||||
ns/config/SCOOS.mk \
|
||||
ns/config/SINIX.mk \
|
||||
ns/config/sj.pl \
|
||||
ns/config/sj.pl \
|
||||
ns/config/SunOS.mk \
|
||||
ns/config/SunOS4.mk \
|
||||
ns/config/SunOS5.mk \
|
||||
ns/config/UNIXWARE.mk \
|
||||
ns/config/xmversion.sh \
|
||||
ns/lib/Makefile \
|
||||
ns/Makefile \
|
||||
ns/modules/edtplug/Makefile \
|
||||
ns/modules/libfont/jmcgen \
|
||||
ns/modules/libfont/Makefile \
|
||||
ns/modules/libfont/producers/Makefile \
|
||||
ns/modules/Makefile \
|
||||
ns/modules/progress/Makefile \
|
||||
ns/modules/progress/public \
|
||||
ns/modules/security/Makefile \
|
||||
ns/modules/softupdt/Makefile \
|
||||
ns/modules/zlib/Makefile \
|
||||
ns/nav-java/Makefile \
|
||||
ns/lib/mariner \
|
||||
JavaStubUnix
|
||||
|
||||
|
||||
MozillaMacOnly -a \
|
||||
ns/cmd/macfe \
|
||||
ns/lib/mac/AutoAdmin \
|
||||
ns/lib/mac/Includes \
|
||||
ns/lib/mac/MacMemoryAllocator \
|
||||
ns/lib/mac/Misc \
|
||||
ns/lib/mac/MoreFiles \
|
||||
ns/lib/mac/NSRuntime \
|
||||
ns/lib/mac/NSStdLib \
|
||||
ns/lib/mac/patches \
|
||||
ns/lib/mac/PowerPlant \
|
||||
ns/lib/mac/UserInterface \
|
||||
ns/modules/coreincl \
|
||||
ns/modules/edtplug/classes \
|
||||
ns/modules/edtplug/macbuild \
|
||||
ns/modules/libfont/jmcgen/include \
|
||||
ns/modules/libfont/jmcgen/src \
|
||||
ns/modules/libfont/macbuild \
|
||||
ns/modules/progress/macbuild \
|
||||
ns/modules/progress/public \
|
||||
ns/modules/zlib/macbuild \
|
||||
ns/lib/mariner \
|
||||
JavaStubMac
|
||||
|
||||
JavaStubAll -a \
|
||||
JavaStubWin \
|
||||
JavaStubMac \
|
||||
JavaStubUnix
|
||||
|
||||
JavaStubCore -a \
|
||||
ns/sun-java/stubs/include \
|
||||
ns/sun-java/stubs/src
|
||||
|
||||
JavaStubMac -a \
|
||||
JavaStubCore \
|
||||
ns/sun-java/stubs/macbuild \
|
||||
ns/sun-java/stubs/macjri
|
||||
|
||||
JavaStubUnix -a \
|
||||
JavaStubCore \
|
||||
ns/sun-java/Makefile \
|
||||
ns/sun-java/stubs/jri \
|
||||
ns/sun-java/stubs/Makefile
|
||||
|
||||
JavaStubWin -a \
|
||||
JavaStubCore \
|
||||
ns/sun-java/makefile.win \
|
||||
ns/sun-java/stubs/jri \
|
||||
ns/sun-java/stubs/makefile.win
|
||||
|
||||
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
Please be apprised of the following Legal Notices:
|
||||
|
||||
A) Wang contends that its U.S. Patent No. 4, 751,669 ("the '669
|
||||
Patent") disclosing a "video text" system, is infringed by the following
|
||||
functionality in the Netscape Navigator code: 1) the animated logo and
|
||||
status line indicators --See Claims 1,8 and 9; 2) the "File Save As"
|
||||
function --See Claims 23-27; 3) Bookmarks and Rename Bookmarks in the
|
||||
Properties window --See Claims 20-22; 4) storing HTML, GIF, and JPEG
|
||||
files and adding filename extensions based on mime types (performed in
|
||||
Windows OS) --See Claim 38. Netscape believes the '669 Patent is
|
||||
invalid and non-infringed. Netscape is vigorously defending against
|
||||
Wang's claims.
|
||||
A) The U.S. District Court for the Eastern District of Virginia has
|
||||
ruled that the Netscape Navigator code does not infringe Wang's U.S.
|
||||
Patent No. 4,751,669 ("the '669 Patent") because: 1) HTML is not
|
||||
Videotex as defined by the '669 patent; 2) web servers are not central
|
||||
suppliers; and 3) Navigator does not "connect," as defined by the '669
|
||||
Patent, to web servers on the Internet. Wang may appeal this decision to
|
||||
the Federal Circuit. Wang contended that its Patent disclosing a
|
||||
"Videotext" system, is infringed by the following functionality in the
|
||||
Netscape Navigator code: 1) the animated logo and status line indicators
|
||||
--See Claims 1,8 and 9; 2) the "File Save As" function --See Claims
|
||||
23-27; 3) Bookmarks and Rename Bookmarks in the Properties window --See
|
||||
Claims 20-22; 4) storing HTML, GIF, and JPEG files and adding filename
|
||||
extensions --See Claim 38
|
||||
|
||||
B) Intermind owns pending U.S. patent applications on communications
|
||||
systems which employ metadata ("channel objects") to define a control
|
||||
|
||||
@@ -25,7 +25,7 @@ ifndef NO_MOCHA
|
||||
DIRS_JS = js
|
||||
endif
|
||||
|
||||
DIRS = config coreconf $(NSPRDIR) jpeg dbm xpcom
|
||||
DIRS = config coreconf $(NSPRDIR) jpeg dbm xpcom base network caps
|
||||
|
||||
ifdef MOZ_NETCAST
|
||||
DIRS += netcast
|
||||
@@ -41,6 +41,8 @@ ifndef NO_SECURITY
|
||||
DIRS += security
|
||||
endif
|
||||
|
||||
DIRS += privacy
|
||||
|
||||
DIRS += modules lib l10n cmd
|
||||
|
||||
ifeq ($(STAND_ALONE_JAVA),1)
|
||||
@@ -49,7 +51,7 @@ endif
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
|
||||
export:: $(OBJS)
|
||||
export:: envirocheck $(OBJS)
|
||||
|
||||
# Running this rule assembles all the SDK source pieces into dist/sdk.
|
||||
# You'll need to run this rule on every platform to get all the
|
||||
|
||||
127
mozilla/Makefile.in
Normal file
127
mozilla/Makefile.in
Normal file
@@ -0,0 +1,127 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
DEPTH = .
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
NSPRDIR = $(topsrcdir)/nsprpub
|
||||
NSPRDIR_AC = nsprpub
|
||||
NSPR20 = 1
|
||||
NSPR_MAKE_ARGS = -C $(NSPRDIR) DIST=`pwd`/dist CC=$(CC) CCC=$(CXX) MOZILLA_CLIENT=$(MOZILLA_CLIENT) MOZ_DEBUG=$(MOZ_DEBUG) USE_PTHREADS=$(USE_PTHREADS) BUILD_OPT=$(BUILD_OPT) NO_MDUPDATE=$(NO_MDUPDATE) $@
|
||||
|
||||
ifndef NO_MOCHA
|
||||
DIRS_JS = js
|
||||
endif
|
||||
|
||||
DIRS = config coreconf
|
||||
ifdef NSPR_AUTOCONF
|
||||
DIRS += $(NSPRDIR_AC)
|
||||
endif
|
||||
DIRS += dbm xpcom base network caps
|
||||
|
||||
ifndef MOZ_NATIVE_JPEG
|
||||
DIRS += jpeg
|
||||
endif
|
||||
|
||||
ifdef MOZ_NETCAST
|
||||
DIRS += netcast
|
||||
endif
|
||||
|
||||
ifdef MOZ_JAVA
|
||||
DIRS += sun-java ldap ifc $(DIRS_JS) nav-java ifc/tools js/jsd
|
||||
else
|
||||
DIRS += sun-java nav-java $(DIRS_JS)
|
||||
endif
|
||||
|
||||
ifndef NO_SECURITY
|
||||
DIRS += security
|
||||
endif
|
||||
|
||||
DIRS += privacy
|
||||
|
||||
DIRS += modules lib l10n cmd
|
||||
|
||||
ifeq ($(STAND_ALONE_JAVA),1)
|
||||
DIRS = config lib/xp sun-java ifc js ifc/tools sun-java/java
|
||||
ifndef MOZ_NATIVE_JPEG
|
||||
DIRS += jpeg
|
||||
endif
|
||||
ifndef MOZ_NATIVE_ZLIB
|
||||
DIRS += modules/zlib
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef NSPR_AUTOCONF
|
||||
export:: envirocheck $(OBJS)
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
libs::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
install::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
clean::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
realclean::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
clobber::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
clobber_all::
|
||||
$(MAKE) $(NSPR_MAKE_ARGS)
|
||||
|
||||
endif # !NSPR_AUTOCONF
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
# Running this rule assembles all the SDK source pieces into dist/sdk.
|
||||
# You'll need to run this rule on every platform to get all the
|
||||
# binaries (e.g. javah) copied there. You'll also have to do special
|
||||
# magic on a Mac.
|
||||
sdk-src::
|
||||
$(SDKINSTALL) include/npapi.h $(SDK)/include/
|
||||
$(SDKINSTALL) include/jri_md.h $(SDK)/include/
|
||||
$(SDKINSTALL) include/jritypes.h $(SDK)/include/
|
||||
$(SDKINSTALL) include/jri.h $(SDK)/include/
|
||||
$(SDKINSTALL) lib/plugin/npupp.h $(SDK)/include/
|
||||
$(SDKINSTALL) sdk/common/*.c* $(SDK)/common/
|
||||
$(SDKINSTALL) sun-java/classsrc/$(ZIP_NAME).x $(SDK)/classes/$(ZIP_NAME)
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/*.c $(SDK)/examples/simple/Source/
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/*.java $(SDK)/examples/simple/Source/
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/*.class $(SDK)/examples/simple/Source/
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/_gen/*.h $(SDK)/examples/simple/Source/_gen/
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/_stubs/*.c $(SDK)/examples/simple/Source/_stubs/
|
||||
$(SDKINSTALL) sdk/examples/simple/Unix/makefile.* $(SDK)/examples/simple/Unix/
|
||||
$(SDKINSTALL) sdk/examples/simple/Testing/SimpleExample.html $(SDK)/examples/simple/Testing/
|
||||
$(SDKINSTALL) sdk/examples/simple/readme.html $(SDK)/examples/simple/
|
||||
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/*.c $(SDK)/examples/UnixTemplate/Source/
|
||||
$(SDKINSTALL) sdk/examples/UnixTemplate/Testing/Test.html $(SDK)/examples/UnixTemplate/Testing/
|
||||
$(SDKINSTALL) sdk/examples/UnixTemplate/Unix/makefile.* $(SDK)/examples/UnixTemplate/Unix/
|
||||
$(SDKINSTALL) sdk/examples/UnixTemplate/readme.html $(SDK)/examples/UnixTemplate/
|
||||
|
||||
sdk-bin::
|
||||
cd sdk; $(MAKE); cd ..
|
||||
$(SDKINSTALL) $(DIST)/bin/javah$(BIN_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
|
||||
$(SDKINSTALL) sdk/examples/simple/Source/$(OBJDIR)/npsimple.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
|
||||
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/$(OBJDIR)/nptemplate.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
|
||||
BIN
mozilla/README/mozilla/IDEMenuBar.gif
Normal file
BIN
mozilla/README/mozilla/IDEMenuBar.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mozilla/README/mozilla/IDEPrefs.gif
Normal file
BIN
mozilla/README/mozilla/IDEPrefs.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
400
mozilla/README/mozilla/mac-build.html
Normal file
400
mozilla/README/mozilla/mac-build.html
Normal file
@@ -0,0 +1,400 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Building Mozilla on the Macintosh PPC platform</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
|
||||
ALINK="#FF0000">
|
||||
<HR>
|
||||
<H1>
|
||||
Building Mozilla on the Macintosh PPC platform</H1>
|
||||
|
||||
<H2>
|
||||
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
|
||||
</H2>
|
||||
v 1.0, June 1998
|
||||
|
||||
<P>
|
||||
<HR><I>How to build Mozilla on a Macintosh PPC System.</I>
|
||||
<HR>
|
||||
<H2>1. <A HREF="#s1">Introduction</A></H2>
|
||||
|
||||
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.2">2.2 Requirements</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
|
||||
</UL>
|
||||
|
||||
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
|
||||
|
||||
<H2>4. <A HREF="#s4"> Credits </A></H2>
|
||||
|
||||
<HR>
|
||||
<H2><A NAME="s1">1. Introduction</A></H2>
|
||||
|
||||
<P>
|
||||
What this document is: A guide to building the Mozilla application.
|
||||
This includes:
|
||||
<OL>
|
||||
<LI> A listing of the development tools you will need to build Mozilla. </LI>
|
||||
<LI> A list of environment variables you will need to set before building. </LI>
|
||||
</OL>
|
||||
<P>
|
||||
If you're looking for documentation on developing features or fixing bugs,
|
||||
the Mozilla
|
||||
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
|
||||
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
|
||||
are probably what you're looking for.
|
||||
<P>
|
||||
<HR>
|
||||
<H2><A NAME="s2">2. Building Mozilla </A></H2>
|
||||
<P>
|
||||
<UL>Each of the following subsections describes, or gives references to
|
||||
descriptions of, the steps necessary to build Mozilla.
|
||||
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
|
||||
<P>
|
||||
<UL>
|
||||
There are two principal ways of getting the code,
|
||||
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
|
||||
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
|
||||
CVS will provide the most current code for building, but is
|
||||
slower than ftp (takes longer to download).
|
||||
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
|
||||
The following need to be installed:
|
||||
<UL>
|
||||
<LI>CodeWarrior (CW) 2 - obtainable from
|
||||
<A HREF="http://www.metrowerks.com">Metrowerks</A>.
|
||||
See <A HREF="#s3">Common Sticking Points</A> if you have a different
|
||||
version.
|
||||
</LI>
|
||||
|
||||
<LI>PowerPlant 1.8 - obtainable from the CodeWarrior CD.</LI>
|
||||
|
||||
<LI>MSL - the Metrowerks Standard Library, obtainable from the
|
||||
CodeWarrior CD</LI>
|
||||
|
||||
<LI><A HREF="ftp://ftp.boingo.com//dan/WASTE/waste-13.hqx">WASTE
|
||||
1.3</A></LI>
|
||||
|
||||
<LI><A HREF="http://www.bact.wisc.edu/CWASTEEdit/CWASTEEdit.sit.hqx">CWASTE
|
||||
1.6.2</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="ftp://ftp.scripting.com/userland/menuSharingToolkit4.1.sit.hqx">
|
||||
Menu Sharing Toolkit</A> (from UserLand)</LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="ftp://ftp.digitalalchemy.com/pub/digitalalchemy/mercutio-SDK.sit.bin">
|
||||
Mercutio 1.5 SDK</A> (only download the SDK, not the entire package, else
|
||||
the access paths will be wrong)</LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="ftp://ftp.share.com/pub/internet-configuration/ICProgKit1.4.sit">
|
||||
Internet Config 1.4 SDK</A></LI>
|
||||
|
||||
<LI><A HREF="http://www.mooseyard.com/Jens/Software/">AEGizmos
|
||||
1.4.2</A></LI>
|
||||
|
||||
<LI><A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_tool.bin">
|
||||
MacPerl 5 MPW Tool</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_appl.bin">MacPerl 5 Application</A></LI>
|
||||
|
||||
<LI>MakeStub - MPW (installed with CodeWarrior Heaven option). If
|
||||
you choose not to install MPW, it is located on the MacOS Tools CD
|
||||
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
|
||||
|
||||
<LI>RunTSScript - in Mozilla source distribution
|
||||
(mozilla:build:mac:RunTSScript), needs to be installed by hand</LI>
|
||||
|
||||
<LI><A HREF="ftp://dev.apple.com/devworld/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/ToolServer.sit.hqx">ToolServer</A>
|
||||
- or in the CW distribution (CW Pro 2 Tools:Apple Development
|
||||
Tools:ToolServer 3.4.1.sit). <B>We recommend pulling it off the
|
||||
CD</B> because it comes with configuration files for CodeWarrior
|
||||
which you would have to create manually were you to pull it off
|
||||
the net.</LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="http://people.netscape.com/sfraser/software/NewAlias_tool.sit.hqx">
|
||||
New Alias MPW Tool</A> An MPW tool that creates Finder aliases for files.
|
||||
</LI>
|
||||
|
||||
<LI>StreamEdit MPW Tool - MPW (installed with CodeWarrior Heaven option). If
|
||||
you choose not to install MPW, it is located on the MacOS Tools CD
|
||||
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
|
||||
</LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="ftp://dev.apple.com/devworld/Periodicals/develop/develop25/develop_Issue_25_code/ToolFrontEnd.sit.hqx">ToolFrontEnd</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="http://sunsite.cnlab-switch.ch/ftp/software/platform/macos/src/HTML/MPW_C.html">
|
||||
patch 2.1</A></LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
Hardware/OS
|
||||
<UL>
|
||||
<LI>To build Navigator, you need a fast PPC Mac. The faster the
|
||||
better. You can't build with a 68K machine because we have too many
|
||||
resources, and the build process will crash when trying to generate
|
||||
resources out of our cross-platform strings. See the discussion below
|
||||
for a way around this.
|
||||
</LI>
|
||||
<LI>You will need about 96 MB of physical RAM to "fast link" the app.
|
||||
You can still fast link if you give your machine 96 MB of virtual
|
||||
memory, but then the VM hit is large enough to counteract any
|
||||
improvement. One of our beta testers had a machine with only 64MB of
|
||||
physical RAM (VM was off) and it ran out of memory trying to link.
|
||||
Turning VM on got it to link, but build time increased greatly.
|
||||
</LI>
|
||||
<LI>Reports from the net indicate that the optimized version
|
||||
(MozillaPPC) take much less RAM to build than the 96MB we suggest. If
|
||||
you are running out of memory, try building that instead of the debug
|
||||
version (the debug symbols require a lot of RAM come link time).
|
||||
</LI>
|
||||
<LI>You should be ok with a 400MB disk partition, even when fully
|
||||
built. This does not include tools like the IDE, just source.
|
||||
</LI>
|
||||
<LI>On an HFS+ volume, a full build takes about 110MB. HFS+ is good,
|
||||
but utilities are sparse.
|
||||
</LI>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
|
||||
<P>
|
||||
<OL>
|
||||
<LI>Install CodeWarrior from the CD. While it is large, installing
|
||||
the "CodeWarrior Heaven" option will guarantee that you have
|
||||
everything you need. This will give you PowerPlant, MSL, and MPW.
|
||||
If you choose to install less, proceed at your own risk.</LI>
|
||||
|
||||
<LI>In the Finder, increase the memory partition of the IDE to
|
||||
15MB (you can get by with 12, if need be).</LI>
|
||||
|
||||
<LI>Download ToolFrontEnd. After expanding it, in "ToolFrontEnd
|
||||
Folder:Drop-Ins" there are three items:
|
||||
|
||||
<UL>
|
||||
<LI><I>#include</I></LI>
|
||||
|
||||
<LI><I>ToolFrontEnd</I></LI>
|
||||
|
||||
<LI><I>ToolFrontEnd Panel</I></LI>
|
||||
</UL>
|
||||
|
||||
<P>Create a folder named "Include Scanners". Place the file
|
||||
"#include" into the Include Scanners folder. Move the Include
|
||||
Scanners folder to the CodeWarrior Plugins folder. Create a folder
|
||||
named "ToolFrontEnd". Place the files "ToolFrontEnd" and
|
||||
"ToolFrontEnd Panel" into the ToolFrontEnd folder. Place this
|
||||
folder in the CodeWarrior Plugins folder.</P></LI>
|
||||
|
||||
<LI>Open "ToolFrontEnd Panel" with ResEdit. Change the file type
|
||||
from <B>'Panl'</B> to <B>'PanL'</B>. Save.</LI>
|
||||
|
||||
<LI>Uncompress the StuffIt Archive for ToolServer. The goal is to
|
||||
let ToolServer and MPW share the same Tools directory so you don't
|
||||
need to have multiple versions of tools. Do the following:
|
||||
|
||||
<OL>
|
||||
<LI>Open ToolServer's Tools folder. There is one file called
|
||||
"RMetrowerks". </LI>
|
||||
|
||||
<LI>Move RMetrowerks to Tools folder of MPW. MPW folder must be
|
||||
at "Metrowerks:Codewarrior MPW:MPW" if you installed
|
||||
Codewarrior Heaven. </LI>
|
||||
|
||||
<LI>Remove ToolServer's Tools folder.</LI>
|
||||
|
||||
<LI>Now create an alias of Tools folder in "CodeWarrior MPW"
|
||||
and move it to your ToolServer folder. Rename the alias
|
||||
(probably called "Tools alias") to "Tools"</LI>
|
||||
|
||||
|
||||
<LI><FONT COLOR="#FF0000"><B>IMPORTANT</B></FONT>: Make sure
|
||||
you only have one instance of ToolServer on your machine. If
|
||||
the build script finds the wrong one, the correct tools will
|
||||
not be found and strange things will happen.</LI>
|
||||
</OL>
|
||||
</LI>
|
||||
|
||||
<LI>After installing the MacPerl MPW Tool distribution (run the
|
||||
InstallerVISE application), in the "MacPerl ƒ" folder, there
|
||||
will be an MPW tool named "perl". Install this in MPW's tools
|
||||
folder.</LI>
|
||||
|
||||
<LI>Install the MacPerl Application (run the
|
||||
InstallerVISE application). You can install this anywhere, but it is
|
||||
recommended that you install it inside of your CodeWarrior folder for
|
||||
easy reference. After installation, you will need to set a preference
|
||||
to enable double-click launch of the perl scripts. This preference is set
|
||||
by going under the Edit Menu to Preferences. Click on the "Script" button
|
||||
and hit the radio button "Run Scripts opened from Finder"</LI>
|
||||
|
||||
<LI>Install the "patch", "MakeStub", "NewAlias" and "StreamEdit" Tools in the
|
||||
tools
|
||||
folder. Note that "MakeStub" and "StreamEdit" are automatically installed by the
|
||||
"CodeWarrior Heaven" install option.</LI>
|
||||
|
||||
<LI>Install RunTSScript (found in the Mozilla source distribution)
|
||||
in the compilers folder in your build environment
|
||||
("Metrowerks:Metrowerks Codewarrior:Codewarrior
|
||||
Plugins:Compilers")</LI>
|
||||
|
||||
<LI>Next, after downloading all the 3rd party software components,
|
||||
drag WASTE, CWASTE, Menu Sharing, Mercutio, Internet Config, and
|
||||
the AEGizmo folders (just as they are) into the "MacOS Support"
|
||||
folder in your build environment.</LI>
|
||||
|
||||
<LI>Start ToolServer from within CodeWarrior (or use MPW if you
|
||||
are brave enough). We're about to patch some files. Make sure the
|
||||
ToolServer menu is in the CodeWarrior menu bar by turning on the
|
||||
<A HREF="IDEPrefs.gif">preference</A> under the "Extras" panel in
|
||||
the IDE Preferences (not the project preferences!). The menu bar
|
||||
should look like this:
|
||||
|
||||
|
||||
<P><IMG SRC="IDEMenuBar.gif" WIDTH=359 HEIGHT=20 X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
|
||||
|
||||
<P>Choose "Start ToolServer" from the ToolServer menu (this is the
|
||||
icon menu between "Window" and "Help" in the menubar above). You
|
||||
will now see a window with no close box. This is your ToolServer
|
||||
Worksheet where you will type (or cut & paste) the commands
|
||||
for the following steps.</P>
|
||||
|
||||
<P>In case you have never used MPW/ToolServer before, the
|
||||
following is <B>very important</B>. Pressing "return" does not
|
||||
execute commands like you might think. It just inserts a newline
|
||||
into the worksheet like a normal text editor. <B>To actually get
|
||||
ToolServer to execute the command, you must press "Enter" (lower
|
||||
right of numeric keypad).</B> This executes the line that the
|
||||
cursor is on, and only that line. If you want to execute multiple
|
||||
lines at once, select them all and hit Enter.</P></LI>
|
||||
|
||||
<LI>Set the shell variables {IDE} and {Source} to the correct
|
||||
paths for your build environment. {IDE} is where your CodeWarrior
|
||||
IDE is located. {Source} is the folder containing the toplevel
|
||||
"ns" folder of the Mozilla source. Mine look like this (don't
|
||||
forget to keep the quotes if your path includes spaces), yours
|
||||
will almost certainly be different (<FONT COLOR="#FF0000">to
|
||||
punctuate this, the things you need to change are in red</FONT>).
|
||||
|
||||
<PRE>Set IDE "<FONT COLOR="#FF0000">Develop:Source331 Build Environment:CW Pro 2:Metrowerks CodeWarrior:</FONT>"
|
||||
Set Source "<FONT COLOR="#FF0000">Source:FreeSource:</FONT>"</PRE>
|
||||
</LI>
|
||||
|
||||
<LI>If you are using CWPro2, execute the following lines to patch
|
||||
LDropFlag to draw correcly over non-white backgrounds.
|
||||
|
||||
<PRE>directory "{IDE}MacOS Support:PowerPlant:_In Progress:_Table Classes:"
|
||||
patch LDropFlag.cp "{Source}mozilla:lib:mac:patches:LDropFlag.patch"
|
||||
duplicate -y "{Source}mozilla:lib:mac:patches:DropFlag Icons.rsrc" "{IDE}MacOS Support:PowerPlant:PowerPlant Resources:"</PRE></LI>
|
||||
|
||||
<LI>Execute the following lines to patch menusharing.c to allow it
|
||||
to compile with the new Universal Headers. It references an
|
||||
obsolete header file (GestaltEqu.h).
|
||||
|
||||
<PRE>directory "{IDE}MacOS Support:Menu Sharing Toolkit 4.1:"
|
||||
patch menusharing.c "{Source}mozilla:lib:mac:patches:menusharing.patch"</PRE></LI>
|
||||
|
||||
|
||||
<LI>If you are using CWPro2 straight off the CD, you need to patch
|
||||
AppleEvents.r to fix a problem with the Universal Headers (the
|
||||
definition of the 'aedt' resource was omitted). <B>You do not have
|
||||
to do this if you have applied the netborne patch to Pro2e
|
||||
</B> because it has been fixed.
|
||||
|
||||
<PRE>directory "{IDE}MacOS Support:Headers:Rez Headers:"
|
||||
patch AppleEvents.r "{Source}mozilla:lib:mac:patches:AppleEvents.r.patch"</PRE></LI>
|
||||
|
||||
<LI>You need to patch stat.mac.h to fix a problem in MSL where
|
||||
lines were omitted.
|
||||
|
||||
<PRE>directory "{IDE}Metrowerks Standard Library:MSL C:MSL Mac:Public Includes"
|
||||
patch stat.mac.h "{Source}mozilla:lib:mac:patches:stat.mac.h.patch"</PRE></LI>
|
||||
|
||||
<LI>Congratulations! Now you are ready to build. Once these steps
|
||||
are done, you don't have to repeat these setups the next
|
||||
time!</LI>
|
||||
</OL>
|
||||
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
|
||||
<UL>
|
||||
<P>In the folder mozilla:build:mac:, there are several Perl scripts with
|
||||
names of the form BuildMozillaXXX.pl, where XXX is "Optimized",
|
||||
"Debug", "Tinderbox", et al. Each script builds the corresponding
|
||||
version of Mozilla. If you configured the MacPerl application to
|
||||
execute scripts that are opened from the finder, all you have to do is
|
||||
double click on the appropriate one; otherwise, launch MacPerl, and
|
||||
run the appropriate script from the "Run Script..." menu item.</P>
|
||||
|
||||
<P>These `configured build' scripts are simple, and you might want to
|
||||
make your own to force your build to StopForErrors(), or alternatively
|
||||
DontStopForErrors(), et al. You can set up certain build-script
|
||||
variables and (soon) compile-time flags. Compare the supplied scripts
|
||||
to figure out what you might want. Note that CodeWarriorLib, Moz.pm,
|
||||
and BuildList.pm, are AppleScript libraries and Perl modules meant to
|
||||
be used by a `configured build'. Use your favorite POD viewer (Shuck
|
||||
comes with MacPerl) to view the documentation in the Perl scripts.</P>
|
||||
|
||||
<P>If there were any errors in any of the projects along the way, the
|
||||
script will stop at that point and the IDE will tell you the errors.
|
||||
You can fix them and make sure they current project builds, but to
|
||||
continue the automation, you have to start from the beginning by
|
||||
double-clicking the script again. This isn't quite as bad as it
|
||||
sounds because the previous projects are already built (unless you
|
||||
changed some major header file). Please note that stopping the script
|
||||
once it has started is difficult. We are working to address
|
||||
this issue.</P>
|
||||
|
||||
<P>After the build is complete, you can find aliases to the built libraries
|
||||
and the final Mozilla application. Debug builds are built to
|
||||
Mozilla:dist:client_debug, while optimized builds are built to Mozilla:dist:client.
|
||||
</P>
|
||||
|
||||
<P>Don't worry too much about the numerous warnings generated during
|
||||
the build. We try our best to get the XP teams to use real compilers,
|
||||
but alas, they continue to write warning-laden code. There is also
|
||||
some generated code (Java is one example) that has a lot of warnings
|
||||
that we can't help either. If you write any new code, please help us
|
||||
in our quest to get zero warnings.</P>
|
||||
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<HR>
|
||||
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
|
||||
<UL>
|
||||
<LI><B>I have CodeWarrior3, how do i build with it?</B>
|
||||
<UL> Currently, the answer is, "You don't." Eventually, the distribution
|
||||
will be modified to allow building using CodeWarrior3, but for now
|
||||
CodeWarrior2 is the only IDE that is supported.
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
<HR>
|
||||
<H2><A NAME="s4">4. Credits</A></H2>
|
||||
<UL>
|
||||
The majority of this document is taken from the build document included
|
||||
in the Mozilla source distribution at README:mozilla:macbuild.htm written
|
||||
by Mike Pinkerton, <A HREF="mailto:pinkerton@netscape.com">
|
||||
pinkerton@netscape.com</A>.
|
||||
</BODY>
|
||||
</HTML>
|
||||
137
mozilla/README/mozilla/unix-build.html
Normal file
137
mozilla/README/mozilla/unix-build.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Building Mozilla on unix platforms</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
|
||||
ALINK="#FF0000">
|
||||
<HR>
|
||||
<H1>
|
||||
Building Mozilla on Unix platforms</H1>
|
||||
|
||||
<H2>
|
||||
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT></H2>
|
||||
v 1.0, June 1998
|
||||
|
||||
<P>
|
||||
<HR><I>How to build Mozilla on a Unix System.</I>
|
||||
<HR>
|
||||
<H2>1. <A HREF="#s1">Introduction</A></H2>
|
||||
|
||||
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.2">2.2 Requirements</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
|
||||
</UL>
|
||||
|
||||
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
|
||||
|
||||
<HR>
|
||||
<H2><A NAME="s1">1. Introduction</A></H2>
|
||||
|
||||
<P>
|
||||
What this document is: A guide to building the Mozilla application.
|
||||
<BR>
|
||||
This includes:
|
||||
<OL>
|
||||
<LI> A listing of the development tools you will need to build Mozilla. </LI>
|
||||
<LI> A list of environment variables you will need to set before building. </LI>
|
||||
</OL>
|
||||
<P>
|
||||
If you're looking for documentation on developing features or fixing bugs,
|
||||
the Mozilla
|
||||
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
|
||||
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
|
||||
are probably what you're looking for.
|
||||
<P>
|
||||
<HR>
|
||||
<H2><A NAME="s2">2. Building Mozilla </A></H2>
|
||||
<P>
|
||||
<UL>Each of the following subsections describes, or gives references to
|
||||
descriptions of, the steps necessary to build Mozilla.
|
||||
</UL>
|
||||
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
|
||||
<P>
|
||||
<UL>
|
||||
There are two principal ways of getting the code,
|
||||
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
|
||||
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
|
||||
CVS will provide the least outdated code for building, but is
|
||||
slower than ftp.
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
|
||||
<UL>
|
||||
The following need to be installed:
|
||||
<UL>
|
||||
<LI>Motif 1.2 (2.1 recommended for RedHat Linux)
|
||||
<LI>GNU C/C++ compiler 2.7.2
|
||||
<LI>GNU make 3.74 or better
|
||||
<LI>Perl (or, if you have no Perl, then set <CODE>PERL=/bin/echo</CODE>)
|
||||
</UL>
|
||||
<P>
|
||||
Your hardware should be equal to, or better than:
|
||||
<UL>
|
||||
32 MB RAM, 128 MB swap (64 MB RAM recommended)
|
||||
</UL>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
|
||||
<P>
|
||||
<UL>
|
||||
The following environment variables need to be set:
|
||||
<CODE>
|
||||
<PRE>
|
||||
MOZILLA_CLIENT=1
|
||||
MOZ_MEDIUM=1
|
||||
NO_SECURITY=1
|
||||
NO_MDUPDATE=1
|
||||
</PRE>
|
||||
</CODE>
|
||||
Optionally, you can set <CODE>BUILD_OPT=1</CODE> if you don't want a debug
|
||||
build.
|
||||
<BR>
|
||||
Environment variables are set by the shell, and each shell may or may not have
|
||||
its own way of setting them. Type <CODE>man setenv</CODE> to find out how your
|
||||
shell sets variables, if you don't know already.
|
||||
<P>
|
||||
</UL>
|
||||
|
||||
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
|
||||
<UL>
|
||||
Change to the directory you copied the source into (for example,
|
||||
<CODE>cd /builds</CODE>). If this directory was empty before you
|
||||
installed the source, there should be two directories here:
|
||||
<CODE>README</CODE> and <CODE>mozilla</CODE>.
|
||||
<CODE>
|
||||
<PRE>
|
||||
cd mozilla
|
||||
gmake
|
||||
</PRE>
|
||||
</CODE>
|
||||
</UL>
|
||||
<HR>
|
||||
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
|
||||
<LI>My linker dies with this error: undefined reference to `_Xsetlocale'
|
||||
<UL>If this error occurs, you might have to recompile libX11.so
|
||||
with the -DX_LOCALE flag (thanks to Scott Lampert,
|
||||
<A HREF="mailto:fortunato@heavymetal.org">fortunato@heavymetal.org</A>).
|
||||
This problem stems from use of an older version of RedHat Motif.
|
||||
Moving to Motif 2.1 should resolve this. There are probably other problems
|
||||
with using the older versions of Motif, but i haven't encountered them.
|
||||
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
209
mozilla/README/mozilla/win-build.html
Normal file
209
mozilla/README/mozilla/win-build.html
Normal file
@@ -0,0 +1,209 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Building Mozilla on Microsoft Windows 32-bit platforms</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
|
||||
ALINK="#FF0000">
|
||||
<HR>
|
||||
<H1>
|
||||
Building Mozilla on Microsoft Windows 32-bit platforms</H1>
|
||||
|
||||
<H2>
|
||||
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
|
||||
</H2>
|
||||
v 1.0, June 1998
|
||||
|
||||
<P>
|
||||
<HR><I>How to build Mozilla on a Microsoft Windows 32-bit System.</I>
|
||||
<HR>
|
||||
<H2>1. <A HREF="#s1">Introduction</A></H2>
|
||||
|
||||
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.2">2.2 Requirements</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
|
||||
|
||||
<LI>
|
||||
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
|
||||
</UL>
|
||||
|
||||
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
|
||||
|
||||
<HR>
|
||||
<H2><A NAME="s1">1. Introduction</A></H2>
|
||||
|
||||
<P>
|
||||
What this document is: A guide to building the Mozilla application.
|
||||
<BR>
|
||||
This includes:
|
||||
<OL>
|
||||
<LI> A listing of the development tools you will need to build Mozilla. </LI>
|
||||
<LI> A list of environment variables you will need to set before building. </LI>
|
||||
</OL>
|
||||
<P>
|
||||
If you're looking for documentation on developing features or fixing bugs,
|
||||
the Mozilla
|
||||
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
|
||||
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
|
||||
are probably what you're looking for.
|
||||
<P>
|
||||
<HR>
|
||||
<H2><A NAME="s2">2. Building Mozilla </A></H2>
|
||||
<P>
|
||||
<UL>Each of the following subsections describes, or gives references to
|
||||
descriptions of, the steps necessary to build Mozilla.
|
||||
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
|
||||
<P>
|
||||
<UL>
|
||||
There are two principal ways of getting the code,
|
||||
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
|
||||
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
|
||||
CVS will provide the least outdated code for building, but is
|
||||
slower than ftp.
|
||||
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
|
||||
<UL>
|
||||
The following need to be installed:
|
||||
<UL>
|
||||
<LI>Microsoft Visual C++ version 4.2 or later
|
||||
<LI>GNU Tools for Microsoft Windows, located:
|
||||
<UL>
|
||||
<LI><A HREF="http://www.cygnus.com/misc/gnu-win32">Cygnus</A></LI>
|
||||
<LI><A HREF="http://www.gnu.org/order/ftp.html">GNU home page</A></LI>
|
||||
<LI><A HREF="ftp://prep.ai.mit.edu/pub/gnu">MIT</A></LI>
|
||||
</UL>
|
||||
Specifically, you'll need:
|
||||
<UL><CODE>
|
||||
cp.exe<BR>
|
||||
rm.exe<BR>
|
||||
uname.exe<BR>
|
||||
</CODE>
|
||||
</UL>
|
||||
Netscape has internally modified version of gmake, shmsdos and win32gnu
|
||||
that we use to get around some problems we were having keeping in sync
|
||||
with the Unix version of gmake. This version of gmake can be found in the
|
||||
Windows Build Tools package, which can be ftp'd from
|
||||
<A HREF="http://www.mozilla.org/download-mozilla.html"> the Mozilla
|
||||
Download page</A>.
|
||||
The three files you will need are:
|
||||
<UL><CODE>
|
||||
gmake.exe<BR>
|
||||
shmsdos.exe<BR>
|
||||
uname.exe<BR>
|
||||
</CODE>
|
||||
</UL>
|
||||
|
||||
</UL>
|
||||
<P>
|
||||
Hardware/OS
|
||||
<UL>
|
||||
<LI>Pentium 133 MHz or better</LI>
|
||||
<LI>64 MB RAM, 128 MB recommended</LI>
|
||||
<LI>250 MB NTFS or 500 MB FAT disk space</LI>
|
||||
<LI>NT 4.0 is preferred; NT 3.51 will also work.
|
||||
</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
|
||||
<P>
|
||||
<UL>
|
||||
The following environment variables need to be set:
|
||||
<UL>
|
||||
<CODE>
|
||||
set MOZ_BITS=32
|
||||
<BR>
|
||||
set MOZ_DEBUG=1 (set this only if you want to build a debug build)
|
||||
<BR>
|
||||
set MOZ_GOLD=1
|
||||
<BR>
|
||||
set MOZ_MEDIUM=1
|
||||
<BR>
|
||||
set MOZ_NT=351 (if running NT3.51)
|
||||
<BR>
|
||||
set MOZ_OUT=(optional: specifies location of resultant executable)
|
||||
<BR>
|
||||
set MOZ_SRC=(top of your tree, for example: set MOZ_SRC=d:\mozilla_source
|
||||
if this is the directory where you checked or unzipped the source into)
|
||||
<BR>
|
||||
set MOZ_TOOLS=(location of the bin directory of your GNU tools. The build
|
||||
looks for MOZ_TOOLS\bin\gmake.exe, so make sure that the gmake.exe from
|
||||
the Windows Build Tools package resides there.)
|
||||
<BR>
|
||||
set NO_SECURITY=1
|
||||
<BR>
|
||||
set NSPR20=1
|
||||
<BR>
|
||||
set _MSC_VER=1100 (if you are running VC++ 5.0 or higher)
|
||||
<BR>
|
||||
</CODE>
|
||||
</UL>
|
||||
<BR>
|
||||
<P>
|
||||
</UL>
|
||||
|
||||
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
|
||||
<UL>
|
||||
Change to the directory you copied the source into (for example,
|
||||
<CODE>cd d:\mozilla_source</CODE>). If this directory was empty before you
|
||||
installed the source, there should be two directories here:
|
||||
<CODE>README</CODE> and <CODE>mozilla</CODE>.
|
||||
<CODE>
|
||||
<PRE>
|
||||
cd mozilla\config
|
||||
nmake /f makefile.win
|
||||
cd ..
|
||||
nmake /f client.mak
|
||||
</PRE>
|
||||
</CODE>
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<HR>
|
||||
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
|
||||
<UL>
|
||||
<LI><B>nmake has a 'fatal error', listing one of the GNU commands and a
|
||||
hexadecimal return code.</B>
|
||||
<UL>
|
||||
This will happen as a result of not having the GNU tools and Windows Build
|
||||
tools in your path. Add the directories with the appropriate binaries to your
|
||||
path.
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>
|
||||
<B>It fails with the message "'.\WIN32' unexpected": </B>
|
||||
<UL>
|
||||
You didn't properly
|
||||
set the environment variables -- you must not include a space at the end
|
||||
of the set statements (be careful if you are cut'n'pasting).
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>
|
||||
<B>It fails to build, with directory-related errors: </B>
|
||||
<UL>
|
||||
The full path
|
||||
to the source must not include any spaces. Additionally, the source must
|
||||
be extracted with an intact directory structure by a utility that understands
|
||||
long filenames. If in doubt, grab Info-Zip at
|
||||
<A HREF="ftp://ftp.cdrom.com/pub/infozip">ftp://ftp.cdrom.com/pub/infozip</A>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>
|
||||
<B>I'm not running a 32-bit windows system, how do i build?</B>
|
||||
<UL>
|
||||
Currently, the build process depends on a 32-bit operating system.
|
||||
Windows NT 4.0 is the recommended windows operating system.
|
||||
</UL>
|
||||
</UL>
|
||||
<HR>
|
||||
</BODY>
|
||||
</HTML>
|
||||
53
mozilla/README/mozilla/wininstall.htm
Normal file
53
mozilla/README/mozilla/wininstall.htm
Normal file
@@ -0,0 +1,53 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
||||
<META NAME="Author" CONTENT="Chris Yeh">
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/4.05 [en]C-NSCP (WinNT; U) [Netscape]">
|
||||
<TITLE>Running Mozilla...</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
|
||||
<H2>
|
||||
<FONT FACE="Arial,Helvetica">Running Mozilla Without Trashing Netscape
|
||||
Installation</FONT></H2>
|
||||
This document explains how to run <TT>mozilla.exe</TT> separately from
|
||||
<TT>netscape.exe</TT> without trashing your regular installation of Netscape
|
||||
Communicator. This is necessary if, for example, you want to use Communicator's
|
||||
mail client while you work on Mozilla development.
|
||||
<BR>
|
||||
<HR WIDTH="100%">
|
||||
<OL>
|
||||
<LI>
|
||||
Before running <TT>mozilla.exe</TT>, create a new user profile either from
|
||||
a Netscape 4.0x installation using the "User Profile Manager" shortcut
|
||||
in the Utilities folder (on Windows) or by using the <TT>-new_account</TT>
|
||||
option on the command line of either <TT>netscape.exe</TT> or <TT>mozilla.exe</TT>.
|
||||
We suggest calling the profile "<TT>mozilla</TT>."</LI>
|
||||
|
||||
<LI>
|
||||
Always use that new account when running <TT>mozilla.exe</TT>, and never
|
||||
run <TT>netscape.exe</TT> using that same account profile.</LI>
|
||||
</OL>
|
||||
To make things easier, you can start the application with the user account
|
||||
on the command line, for example:
|
||||
<UL><TT>mozilla.exe -P"mozilla"</TT></UL>
|
||||
This assures that prefs and the cache will not interfere between the two
|
||||
versions. This will be especially
|
||||
<BR>important as new prefs are added to the Mozilla product. Note that
|
||||
you must use quotes around the name and there can be no space between the
|
||||
"P" and the profile name. Otherwise, the application won't catch the profile
|
||||
switch, and it will try to load the profile name as the initial URL.
|
||||
|
||||
<P>
|
||||
<HR WIDTH="100%">
|
||||
<BR>You can copy your <TT>bookmark.htm</TT> file from an existing profile
|
||||
to your new profile directory if you want to share bookmarks.
|
||||
|
||||
<P>After the initial 3/31 release, we will add some code to Mozilla to
|
||||
prevent running with a profile that is already being used by <TT>netscape.exe</TT>.
|
||||
<BR>
|
||||
<HR WIDTH="100%">
|
||||
<BR><FONT SIZE=-1>Copyright © 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
|
||||
Communications Corporation</A></FONT>
|
||||
</BODY>
|
||||
</HTML>
|
||||
184
mozilla/README/nglayout/winbuild.html
Normal file
184
mozilla/README/nglayout/winbuild.html
Normal file
@@ -0,0 +1,184 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-mac-roman">
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
|
||||
<META NAME="KeyWords" CONTENT="client, source, documentation">
|
||||
<META NAME="Author" CONTENT="Kipp E.B. Hickman">
|
||||
<TITLE>NGLayout Windows Build Instructions</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
|
||||
<H2>
|
||||
<FONT FACE="Arial,Helvetica">NGLayout Windows Build Instructions</FONT></H2>
|
||||
This document explains how to build NGLayout for the Windows platform.
|
||||
<HR><B><FONT SIZE=+1>Required Tools:</FONT></B>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>Microsoft Visual C++ version 4.2 or later</B></LI>
|
||||
|
||||
<LI>
|
||||
<B>The same set of tools for building <A HREF="http://www.mozilla.org/docs/tplist/catBuild/winbuild.htm">Mozilla</A></B></LI>
|
||||
</UL>
|
||||
<B><FONT SIZE=+1>Setting up:</FONT></B>
|
||||
<UL>
|
||||
<LI>
|
||||
You need a Pentium with at least a 133 MHz processor and at least 250 megs
|
||||
(NTFS partition) or 500 megs (FAT partition) of hard drive space. You need
|
||||
to have a minimum of 64 megs of memory in order to build this tree. These
|
||||
numbers are approximations.</LI>
|
||||
|
||||
<LI>
|
||||
The preferred platform is NT 4.0. NT 3.51 will also work, and Win95 might
|
||||
work if you're lucky. Maybe.</LI>
|
||||
|
||||
<LI>
|
||||
Install MSVC. If you don't choose to have the MSVC install modify your
|
||||
environment variables for PATH, INCLUDE, and LIB information, be sure to
|
||||
run VCVARS32.BAT out of the MSVC bin directory prior to attempting to build.</LI>
|
||||
|
||||
<LI>
|
||||
Download and install GNU tools. Put them in your path.</LI>
|
||||
|
||||
<LI>
|
||||
Install NGLayout source.</LI>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
cd <your-source-area></LI>
|
||||
|
||||
<LI>
|
||||
unzip -o -q win-19980415.zip</LI>
|
||||
</UL>
|
||||
|
||||
<LI>
|
||||
There are several environment variables you will need to set, either manually
|
||||
or via a script within a command session, or by setting them in your system
|
||||
environment located through the Control Panel | System icon.</LI>
|
||||
|
||||
|
||||
<P> <B>Note: There is an additional variable for building NGLayout!
|
||||
Use this list carefully!</B>
|
||||
|
||||
<P> The variables are:
|
||||
<UL>
|
||||
<LI>
|
||||
set MOZ_BITS=32</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_DEBUG=1 (don't set this if you want to build an optimized release
|
||||
build)</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_GOLD=1</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_MEDIUM=1</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_NT=351 (if running NT 3.51, don't set otherwise)</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_OUT=(location of resulting executable and totally optional, see
|
||||
Notes for more details)</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_SRC=(top of your tree, drive letter and path, i.e. set MOZ_SRC=d:\mozilla_src.
|
||||
The topmost directory under this should be mozilla)</LI>
|
||||
|
||||
<LI>
|
||||
set MOZ_TOOLS=(location of the bin directory containing your GNU tools.
|
||||
The build looks for MOZ_TOOLS\bin\gmake.exe, so make sure your MOZ_TOOLS
|
||||
is figured appropriately)</LI>
|
||||
|
||||
<LI>
|
||||
set NO_SECURITY=1</LI>
|
||||
|
||||
<LI>
|
||||
set NSPR20=1</LI>
|
||||
|
||||
<LI>
|
||||
if you are running VC++ 5.0 or higher: set _MSC_VER=1100; if you are running
|
||||
VC++ 4.2 then set MOZ_VCVER=42</LI>
|
||||
|
||||
<LI>
|
||||
<B>set STANDALONE_IMAGE_LIB=1</B></LI>
|
||||
|
||||
<LI>
|
||||
<B>set MODULAR_NETLIB=1</B></LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<B><FONT SIZE=+1>Building:</FONT></B>
|
||||
<UL>
|
||||
<LI>
|
||||
You need to be running a vanilla command prompt. Other shells may work,
|
||||
but you might have to tweak makefiles.</LI>
|
||||
|
||||
<LI>
|
||||
<B>Build the tools:</B> This generates several tools that handle things
|
||||
like dependency generation</LI>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
cd mozilla\config</LI>
|
||||
|
||||
<LI>
|
||||
nmake /f makefile.win</LI>
|
||||
</UL>
|
||||
|
||||
<LI>
|
||||
<B>Build the NGLayout:</B> This will do a complete build of the source
|
||||
tree. You will end up with a viewer.exe at the end. The viewer.exe will
|
||||
be in your dist\win32_[OD].obj\bin directory (O will be used when you don't
|
||||
set MOZ_DEBUG; D will be used when you set MOZ_DEBUG).</LI>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
cd mozilla</LI>
|
||||
|
||||
<LI>
|
||||
nmake /f nglayout.mak</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<B><FONT SIZE=+1>Running:</FONT></B>
|
||||
<UL>
|
||||
<LI>
|
||||
Once you have built the system, do this to run the viewer program (the
|
||||
viewer program is a simple test program that uses the nsIWebWidget API
|
||||
to embed a web widget object). The viewer program has a few basic menu
|
||||
items, include "Samples" which load sample tests.</LI>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
cd mozilla\dist\win32_[OD].obj\bin</LI>
|
||||
|
||||
<LI>
|
||||
.\viewer.exe</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<B><FONT SIZE=+1>Notes:</FONT></B>
|
||||
<UL>
|
||||
<LI>
|
||||
This build process does not use Visual C++ generated project files for
|
||||
several reasons having to do with (among other things) size, maintainability,
|
||||
and the long term desire to start using more of tools like gmake, or plug
|
||||
and play developer tools. This does not preclude you from using the Visual
|
||||
C++ IDE, or it's debugger. Once you have built a viewer.exe do this to
|
||||
run it under the debugger:</LI>
|
||||
</UL>
|
||||
|
||||
<UL>
|
||||
<UL>
|
||||
<LI>
|
||||
cd mozilla\dist\win32_[OD].obj\bin</LI>
|
||||
|
||||
<LI>
|
||||
msdev viewer.exe</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<HR WIDTH="100%">
|
||||
<CENTER><FONT SIZE=-1>Copyright © 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
|
||||
Communications Corporation</A></FONT></CENTER>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
24
mozilla/base/Makefile
Normal file
24
mozilla/base/Makefile
Normal file
@@ -0,0 +1,24 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH = ..
|
||||
|
||||
DIRS = public src tests
|
||||
|
||||
include $(DEPTH)/config/config.mk
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
33
mozilla/base/Makefile.in
Normal file
33
mozilla/base/Makefile.in
Normal file
@@ -0,0 +1,33 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH = ..
|
||||
topsrcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = public src
|
||||
|
||||
ifdef ENABLE_TESTS
|
||||
DIRS += tests
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
BIN
mozilla/base/macbuild/base.mcp
Normal file
BIN
mozilla/base/macbuild/base.mcp
Normal file
Binary file not shown.
23
mozilla/base/makefile.win
Normal file
23
mozilla/base/makefile.win
Normal file
@@ -0,0 +1,23 @@
|
||||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=..
|
||||
IGNORE_MANIFEST=1
|
||||
|
||||
DIRS=public src tests
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
5
mozilla/base/public/MANIFEST
Normal file
5
mozilla/base/public/MANIFEST
Normal file
@@ -0,0 +1,5 @@
|
||||
#
|
||||
# This is a list of local files which get copied to the mozilla:dist:base directory
|
||||
#
|
||||
|
||||
nsISizeOfHandler.h
|
||||
30
mozilla/base/public/Makefile
Normal file
30
mozilla/base/public/Makefile
Normal file
@@ -0,0 +1,30 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
|
||||
DEFINES = -D_IMPL_NS_BASE
|
||||
|
||||
EXPORTS = \
|
||||
nsISizeOfHandler.h \
|
||||
$(NULL)
|
||||
|
||||
MODULE = raptor
|
||||
|
||||
include $(DEPTH)/config/config.mk
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
37
mozilla/base/public/Makefile.in
Normal file
37
mozilla/base/public/Makefile.in
Normal file
@@ -0,0 +1,37 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DEFINES = -D_IMPL_NS_BASE
|
||||
|
||||
EXPORTS = \
|
||||
nsISizeOfHandler.h \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
|
||||
|
||||
MODULE = raptor
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
30
mozilla/base/public/makefile.win
Normal file
30
mozilla/base/public/makefile.win
Normal file
@@ -0,0 +1,30 @@
|
||||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=..\..
|
||||
IGNORE_MANIFEST=1
|
||||
|
||||
DEFINES = -D_IMPL_NS_BASE
|
||||
|
||||
EXPORTS = \
|
||||
nsISizeOfHandler.h \
|
||||
$(NULL)
|
||||
|
||||
MODULE = raptor
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
66
mozilla/base/public/nsISizeOfHandler.h
Normal file
66
mozilla/base/public/nsISizeOfHandler.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsISizeOfHandler_h___
|
||||
#define nsISizeOfHandler_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
/* c028d1f0-fc9e-11d1-89e4-006008911b81 */
|
||||
#define NS_ISIZEOF_HANDLER_IID \
|
||||
{ 0xc028d1f0, 0xfc9e, 0x11d1, {0x89, 0xe4, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81}}
|
||||
|
||||
/**
|
||||
* An API to managing a sizeof computation of an arbitrary graph.
|
||||
* The handler is responsible for remembering which objects have been
|
||||
* seen before. Note that the handler doesn't hold references to
|
||||
* nsISupport's objects; the assumption is that the objects being
|
||||
* sized are stationary and will not be modified during the sizing
|
||||
* computation and therefore do not need an extra reference count.
|
||||
*/
|
||||
class nsISizeOfHandler : public nsISupports {
|
||||
public:
|
||||
/**
|
||||
* Add in a simple size value to the running total.
|
||||
* Always returns NS_OK.
|
||||
*/
|
||||
NS_IMETHOD Add(size_t aSize) = 0;
|
||||
|
||||
/**
|
||||
* Update aResult with PR_TRUE if the object has been traversed
|
||||
* by the sizeof computation before. Otherwise aResult is set to
|
||||
* PR_FALSE and the object is added to the internal database
|
||||
* of objects that have been traversed. It's ok to pass a null
|
||||
* pointer in; aResult will be set to PR_TRUE so you won't accidently
|
||||
* try to traverse through null pointer.
|
||||
*
|
||||
* Note: This violates the COM API standard on purpose; so there!
|
||||
*/
|
||||
virtual PRBool HaveSeen(void* anObject) = 0;
|
||||
|
||||
/**
|
||||
* Return the currently computed size.
|
||||
* Always returns NS_OK.
|
||||
*/
|
||||
NS_IMETHOD GetSize(PRUint32& aResult) = 0;
|
||||
};
|
||||
|
||||
extern NS_BASE nsresult
|
||||
NS_NewSizeOfHandler(nsISizeOfHandler** aInstancePtrResult);
|
||||
|
||||
#endif /* nsISizeofHandler_h___ */
|
||||
24
mozilla/base/src/MANIFEST
Normal file
24
mozilla/base/src/MANIFEST
Normal file
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# This is a list of local files which get copied to the mozilla:dist directory
|
||||
#
|
||||
|
||||
nscore.h
|
||||
nsIArena.h
|
||||
nsIAtom.h
|
||||
nsIByteBuffer.h
|
||||
nsBTree.h
|
||||
nsCRT.h
|
||||
nsDeque.h
|
||||
nsITimer.h
|
||||
nsITimerCallback.h
|
||||
nsIUnicharBuffer.h
|
||||
nsRBTree.h
|
||||
nsIUnicharInputStream.h
|
||||
nsString.h
|
||||
nsVoidArray.h
|
||||
nsUnitConversion.h
|
||||
nsIBaseStream.h
|
||||
nsIInputStream.h
|
||||
nsIOutputStream.h
|
||||
nsInt64.h
|
||||
nsTime.h
|
||||
72
mozilla/base/src/Makefile
Normal file
72
mozilla/base/src/Makefile
Normal file
@@ -0,0 +1,72 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
|
||||
DEFINES =-D_IMPL_NS_BASE
|
||||
|
||||
DIRS = unix
|
||||
|
||||
LIBRARY_NAME = raptorbase
|
||||
|
||||
CPPSRCS = \
|
||||
nsArena.cpp \
|
||||
nsAtomTable.cpp \
|
||||
nsBTree.cpp \
|
||||
nsByteBuffer.cpp \
|
||||
nsCRT.cpp \
|
||||
nsDeque.cpp \
|
||||
nsRBTree.cpp \
|
||||
nsSizeOfHandler.cpp \
|
||||
nsString.cpp \
|
||||
nsUnicharBuffer.cpp \
|
||||
nsUnicharInputStream.cpp \
|
||||
nsVoidArray.cpp \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS = \
|
||||
nscore.h \
|
||||
nsBTree.h \
|
||||
nsCRT.h \
|
||||
nsDeque.h \
|
||||
nsIArena.h \
|
||||
nsIAtom.h \
|
||||
nsIByteBuffer.h \
|
||||
nsIBaseStream.h \
|
||||
nsIInputStream.h \
|
||||
nsIOutputStream.h \
|
||||
nsITimer.h \
|
||||
nsITimerCallback.h \
|
||||
nsIUnicharBuffer.h \
|
||||
nsIUnicharInputStream.h \
|
||||
nsInt64.h \
|
||||
nsRBTree.h \
|
||||
nsString.h \
|
||||
nsTime.h \
|
||||
nsVoidArray.h \
|
||||
nsUnitConversion.h \
|
||||
$(NULL)
|
||||
|
||||
MODULE = raptor
|
||||
|
||||
REQUIRES = xpcom netlib raptor
|
||||
|
||||
include $(DEPTH)/config/config.mk
|
||||
|
||||
TARGET = $(LIBARY)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
79
mozilla/base/src/Makefile.in
Normal file
79
mozilla/base/src/Makefile.in
Normal file
@@ -0,0 +1,79 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
topsrcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DEFINES =-D_IMPL_NS_BASE
|
||||
|
||||
DIRS = unix
|
||||
|
||||
LIBRARY_NAME = raptorbase
|
||||
|
||||
CPPSRCS = \
|
||||
nsArena.cpp \
|
||||
nsAtomTable.cpp \
|
||||
nsBTree.cpp \
|
||||
nsByteBuffer.cpp \
|
||||
nsCRT.cpp \
|
||||
nsDeque.cpp \
|
||||
nsRBTree.cpp \
|
||||
nsSizeOfHandler.cpp \
|
||||
nsString.cpp \
|
||||
nsUnicharBuffer.cpp \
|
||||
nsUnicharInputStream.cpp \
|
||||
nsVoidArray.cpp \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS = \
|
||||
nscore.h \
|
||||
nsBTree.h \
|
||||
nsCRT.h \
|
||||
nsDeque.h \
|
||||
nsIArena.h \
|
||||
nsIAtom.h \
|
||||
nsIByteBuffer.h \
|
||||
nsIBaseStream.h \
|
||||
nsIInputStream.h \
|
||||
nsIOutputStream.h \
|
||||
nsITimer.h \
|
||||
nsITimerCallback.h \
|
||||
nsIUnicharBuffer.h \
|
||||
nsIUnicharInputStream.h \
|
||||
nsInt64.h \
|
||||
nsRBTree.h \
|
||||
nsString.h \
|
||||
nsTime.h \
|
||||
nsVoidArray.h \
|
||||
nsUnitConversion.h \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
|
||||
|
||||
MODULE = raptor
|
||||
|
||||
REQUIRES = xpcom netlib raptor
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
TARGET = $(LIBARY)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
292
mozilla/base/src/mac/nsTimerMac.cpp
Normal file
292
mozilla/base/src/mac/nsTimerMac.cpp
Normal file
@@ -0,0 +1,292 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
//
|
||||
// Mac implementation of the nsITimer interface
|
||||
//
|
||||
|
||||
// nsMacTimerPeriodical idles,
|
||||
|
||||
|
||||
#include "nsITimer.h"
|
||||
#include "nsITimerCallback.h"
|
||||
#include "prlog.h"
|
||||
#include <LPeriodical.h>
|
||||
#include <LArray.h>
|
||||
#include <LArrayIterator.h>
|
||||
#include <LComparator.h>
|
||||
|
||||
#pragma mark class TimerImpl
|
||||
//
|
||||
// TimerImpl implements nsITimer API
|
||||
//
|
||||
class TimerImpl : public nsITimer
|
||||
{
|
||||
private:
|
||||
nsTimerCallbackFunc mCallbackFunc;
|
||||
nsITimerCallback * mCallbackObject;
|
||||
void * mClosure;
|
||||
PRUint32 mDelay;
|
||||
UInt32 mFireTime; // Timer should fire when TickCount >= this number
|
||||
|
||||
public:
|
||||
|
||||
// constructors
|
||||
|
||||
TimerImpl();
|
||||
|
||||
virtual ~TimerImpl(){};
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
UInt32 GetFireTime() { return mFireTime; }
|
||||
|
||||
void Fire();
|
||||
|
||||
// nsITimer overrides
|
||||
|
||||
virtual nsresult Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
PRUint32 aDelay);
|
||||
|
||||
virtual nsresult Init(nsITimerCallback *aCallback,
|
||||
PRUint32 aDelay);
|
||||
|
||||
virtual void Cancel();
|
||||
|
||||
virtual PRUint32 GetDelay();
|
||||
|
||||
virtual void SetDelay(PRUint32 aDelay);
|
||||
|
||||
virtual void* GetClosure();
|
||||
|
||||
private:
|
||||
// Calculates mFireTime too
|
||||
void SetDelaySelf( PRUint32 aDelay );
|
||||
};
|
||||
|
||||
#pragma mark class TimerPeriodical
|
||||
//
|
||||
// TimerPeriodical is a singleton LPeriodical subclass that fires
|
||||
// off TimerImpl. The firing is done on idle
|
||||
//
|
||||
class TimerPeriodical : public LPeriodical
|
||||
{
|
||||
static TimerPeriodical * gPeriodical;
|
||||
|
||||
LArray mTimers; // List of TimerImpl *
|
||||
|
||||
public:
|
||||
// Returns the singleton instance
|
||||
static TimerPeriodical * GetPeriodical();
|
||||
|
||||
TimerPeriodical();
|
||||
|
||||
virtual ~TimerPeriodical();
|
||||
|
||||
nsresult AddTimer( TimerImpl * aTimer);
|
||||
|
||||
nsresult RemoveTimer( TimerImpl * aTimer);
|
||||
|
||||
virtual void SpendTime( const EventRecord &inMacEvent);
|
||||
};
|
||||
|
||||
#pragma mark class TimerImplComparator
|
||||
//
|
||||
// TimerImplComparator compares two TimerImpl
|
||||
//
|
||||
class TimerImplComparator : public LComparator
|
||||
{
|
||||
virtual Int32 Compare(
|
||||
const void* inItemOne,
|
||||
const void* inItemTwo,
|
||||
Uint32 inSizeOne,
|
||||
Uint32 inSizeTwo) const;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// TimerImpl implementation
|
||||
//
|
||||
|
||||
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
|
||||
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
|
||||
|
||||
TimerImpl::TimerImpl()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mCallbackFunc = NULL;
|
||||
mCallbackObject = NULL;
|
||||
mClosure = NULL;
|
||||
mDelay = 0;
|
||||
mFireTime = 0;
|
||||
}
|
||||
|
||||
nsresult TimerImpl::Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mCallbackFunc = aFunc;
|
||||
mClosure = aClosure;
|
||||
SetDelaySelf(aDelay);
|
||||
return TimerPeriodical::GetPeriodical()->AddTimer(this);
|
||||
}
|
||||
|
||||
nsresult TimerImpl::Init(nsITimerCallback *aCallback,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mCallbackObject = aCallback;
|
||||
SetDelaySelf(aDelay);
|
||||
return TimerPeriodical::GetPeriodical()->AddTimer(this);
|
||||
}
|
||||
|
||||
void TimerImpl::Cancel()
|
||||
{
|
||||
TimerPeriodical::GetPeriodical()->RemoveTimer(this);
|
||||
}
|
||||
|
||||
PRUint32 TimerImpl::GetDelay()
|
||||
{
|
||||
return mDelay;
|
||||
}
|
||||
|
||||
void TimerImpl::SetDelay(PRUint32 aDelay)
|
||||
{
|
||||
SetDelaySelf(aDelay);
|
||||
// Make sure that timer was sorted
|
||||
NS_ADDREF(this);
|
||||
TimerPeriodical::GetPeriodical()->RemoveTimer(this);
|
||||
TimerPeriodical::GetPeriodical()->AddTimer(this);
|
||||
NS_RELEASE(this);
|
||||
}
|
||||
|
||||
void* TimerImpl::GetClosure()
|
||||
{
|
||||
return mClosure;
|
||||
}
|
||||
|
||||
void TimerImpl::Fire()
|
||||
{
|
||||
if (mCallbackFunc != NULL) {
|
||||
(*mCallbackFunc)(this, mClosure);
|
||||
}
|
||||
else if (mCallbackObject != NULL) {
|
||||
mCallbackObject->Notify(this); // Fire the timer
|
||||
}
|
||||
}
|
||||
|
||||
void TimerImpl::SetDelaySelf( PRUint32 aDelay )
|
||||
{
|
||||
mDelay = aDelay;
|
||||
mFireTime = TickCount() + (mDelay * 3) / 50; // We need mFireTime in ticks (1/60th)
|
||||
// but aDelay is in 1000th (60/1000 = 3/50)
|
||||
}
|
||||
|
||||
TimerPeriodical * TimerPeriodical::gPeriodical = NULL;
|
||||
|
||||
TimerPeriodical * TimerPeriodical::GetPeriodical()
|
||||
{
|
||||
if (gPeriodical == NULL)
|
||||
gPeriodical = new TimerPeriodical();
|
||||
return gPeriodical;
|
||||
}
|
||||
|
||||
TimerPeriodical::TimerPeriodical()
|
||||
{
|
||||
mTimers.SetComparator( new TimerImplComparator() );
|
||||
mTimers.SetKeepSorted( true );
|
||||
}
|
||||
|
||||
TimerPeriodical::~TimerPeriodical()
|
||||
{
|
||||
PR_ASSERT(mTimers.GetCount() == 0);
|
||||
}
|
||||
|
||||
nsresult TimerPeriodical::AddTimer( TimerImpl * aTimer)
|
||||
{
|
||||
try
|
||||
{
|
||||
NS_ADDREF(aTimer);
|
||||
mTimers.AddItem( &aTimer );
|
||||
StartRepeating();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult TimerPeriodical::RemoveTimer( TimerImpl * aTimer)
|
||||
{
|
||||
mTimers.SetComparator(LLongComparator::GetComparator(), false);
|
||||
mTimers.Remove(&aTimer);
|
||||
mTimers.SetComparator(new TimerImplComparator());
|
||||
|
||||
NS_RELEASE( aTimer );
|
||||
if ( mTimers.GetCount() == 0 )
|
||||
StopRepeating();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Called through every event loop
|
||||
// Loops through the list of available timers, and
|
||||
// fires off the available ones
|
||||
void TimerPeriodical::SpendTime( const EventRecord &inMacEvent)
|
||||
{
|
||||
LArrayIterator iter(mTimers);
|
||||
TimerImpl * timer;
|
||||
while (iter.Next(&timer))
|
||||
{
|
||||
if (timer->GetFireTime() <= inMacEvent.when)
|
||||
{
|
||||
//NS_ADDREF(timer);
|
||||
RemoveTimer(timer);
|
||||
timer->Fire();
|
||||
//NS_RELEASE(timer);
|
||||
}
|
||||
else
|
||||
break; // Items are sorted, so we do not need to iterate until the end
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// class TimerImplComparator implementation
|
||||
//
|
||||
Int32 TimerImplComparator::Compare(
|
||||
const void* inItemOne,
|
||||
const void* inItemTwo,
|
||||
Uint32 inSizeOne,
|
||||
Uint32 inSizeTwo) const
|
||||
{
|
||||
return (( TimerImpl *) inItemOne)->GetFireTime() - (( TimerImpl *) inItemTwo)->GetFireTime();
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
|
||||
if (nsnull == aInstancePtrResult) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
TimerImpl *timer = new TimerImpl();
|
||||
if (nsnull == timer) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
100
mozilla/base/src/makefile.win
Normal file
100
mozilla/base/src/makefile.win
Normal file
@@ -0,0 +1,100 @@
|
||||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=..\..
|
||||
IGNORE_MANIFEST=1
|
||||
|
||||
DIRS = windows
|
||||
|
||||
DEFINES=-D_IMPL_NS_BASE -DWIN32_LEAN_AND_MEAN
|
||||
LIBRARY_NAME=raptorbase
|
||||
|
||||
CPPSRCS = \
|
||||
nsArena.cpp \
|
||||
nsAtomTable.cpp \
|
||||
nsBTree.cpp \
|
||||
nsByteBuffer.cpp \
|
||||
nsCRT.cpp \
|
||||
nsDeque.cpp \
|
||||
nsRBTree.cpp \
|
||||
nsSizeOfHandler.cpp \
|
||||
nsString.cpp \
|
||||
nsUnicharBuffer.cpp \
|
||||
nsUnicharInputStream.cpp \
|
||||
nsVoidArray.cpp \
|
||||
$(NULL)
|
||||
|
||||
CPP_OBJS = \
|
||||
.\$(OBJDIR)\nsArena.obj \
|
||||
.\$(OBJDIR)\nsAtomTable.obj \
|
||||
.\$(OBJDIR)\nsBTree.obj \
|
||||
.\$(OBJDIR)\nsByteBuffer.obj \
|
||||
.\$(OBJDIR)\nsCRT.obj \
|
||||
.\$(OBJDIR)\nsDeque.obj \
|
||||
.\$(OBJDIR)\nsRBTree.obj \
|
||||
.\$(OBJDIR)\nsSizeOfHandler.obj \
|
||||
.\$(OBJDIR)\nsString.obj \
|
||||
.\$(OBJDIR)\nsUnicharBuffer.obj \
|
||||
.\$(OBJDIR)\nsUnicharInputStream.obj \
|
||||
.\$(OBJDIR)\nsVoidArray.obj \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS=nscore.h nsIArena.h nsIAtom.h nsIByteBuffer.h \
|
||||
nsBTree.h nsCRT.h nsDeque.h nsITimer.h \
|
||||
nsITimerCallback.h nsIUnicharBuffer.h nsRBTree.h \
|
||||
nsIUnicharInputStream.h nsString.h nsVoidArray.h \
|
||||
nsUnitConversion.h \
|
||||
nsIBaseStream.h nsIInputStream.h nsIOutputStream.h \
|
||||
nsInt64.h nsTime.h
|
||||
|
||||
MODULE=raptor
|
||||
|
||||
REQUIRES=xpcom netlib raptor
|
||||
|
||||
LINCS=-I$(PUBLIC)\xpcom -I$(PUBLIC)\netlib \
|
||||
-I$(PUBLIC)\raptor
|
||||
|
||||
MAKE_OBJ_TYPE = DLL
|
||||
DLLNAME = raptorbase
|
||||
DLL=.\$(OBJDIR)\$(DLLNAME).dll
|
||||
|
||||
OBJS = $(OBJS) .\$(OBJDIR)\nsTimer.obj
|
||||
|
||||
LCFLAGS = \
|
||||
$(LCFLAGS) \
|
||||
$(DEFINES) \
|
||||
$(NULL)
|
||||
|
||||
# These are the libraries we need to link with to create the dll
|
||||
LLIBS= \
|
||||
$(DIST)\lib\xpcom32.lib \
|
||||
$(DIST)\lib\libplc21.lib \
|
||||
$(LIBNSPR)
|
||||
!if "$(MOZ_BITS)"=="32" && defined(MOZ_DEBUG) && defined(GLOWCODE)
|
||||
LLIBS=$(LLIBS) $(GLOWDIR)\glowcode.lib
|
||||
!endif
|
||||
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
libs:: $(DLL)
|
||||
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin
|
||||
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).lib $(DIST)\lib
|
||||
|
||||
clobber::
|
||||
rm -f $(DIST)\bin\$(DLLNAME).dll
|
||||
rm -f $(DIST)\lib\$(DLLNAME).lib
|
||||
80
mozilla/base/src/nsArena.cpp
Normal file
80
mozilla/base/src/nsArena.cpp
Normal file
@@ -0,0 +1,80 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIArena.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
#define PL_ARENA_CONST_ALIGN_MASK 7
|
||||
#include "plarena.h"
|
||||
|
||||
static NS_DEFINE_IID(kArenaIID, NS_IARENA_IID);
|
||||
|
||||
// Simple arena implementation layered on plarena
|
||||
class ArenaImpl : public nsIArena {
|
||||
public:
|
||||
ArenaImpl(PRInt32 aBlockSize);
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
virtual void* Alloc(PRInt32 aSize);
|
||||
|
||||
protected:
|
||||
~ArenaImpl();
|
||||
|
||||
PLArenaPool mPool;
|
||||
PRInt32 mBlockSize;
|
||||
};
|
||||
|
||||
ArenaImpl::ArenaImpl(PRInt32 aBlockSize)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
if (aBlockSize < NS_MIN_ARENA_BLOCK_SIZE) {
|
||||
aBlockSize = NS_DEFAULT_ARENA_BLOCK_SIZE;
|
||||
}
|
||||
PL_INIT_ARENA_POOL(&mPool, "nsIArena", aBlockSize);
|
||||
mBlockSize = aBlockSize;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(ArenaImpl,kArenaIID)
|
||||
|
||||
ArenaImpl::~ArenaImpl()
|
||||
{
|
||||
PL_FinishArenaPool(&mPool);
|
||||
}
|
||||
|
||||
void* ArenaImpl::Alloc(PRInt32 size)
|
||||
{
|
||||
// Adjust size so that it's a multiple of sizeof(double)
|
||||
PRInt32 align = size & (sizeof(double) - 1);
|
||||
if (0 != align) {
|
||||
size += sizeof(double) - align;
|
||||
}
|
||||
|
||||
void* p;
|
||||
PL_ARENA_ALLOCATE(p, &mPool, size);
|
||||
return p;
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewHeapArena(nsIArena** aInstancePtrResult,
|
||||
PRInt32 aArenaBlockSize)
|
||||
{
|
||||
ArenaImpl* it = new ArenaImpl(aArenaBlockSize);
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kArenaIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
154
mozilla/base/src/nsAtomTable.cpp
Normal file
154
mozilla/base/src/nsAtomTable.cpp
Normal file
@@ -0,0 +1,154 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIAtom.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
#include "plhash.h"
|
||||
#include "nsISizeOfHandler.h"
|
||||
|
||||
/**
|
||||
* The shared hash table for atom lookups.
|
||||
*/
|
||||
static nsrefcnt gAtoms;
|
||||
static struct PLHashTable* gAtomHashTable;
|
||||
|
||||
class AtomImpl : public nsIAtom {
|
||||
public:
|
||||
AtomImpl();
|
||||
~AtomImpl();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
void* operator new(size_t size, const PRUnichar* us, PRInt32 uslen);
|
||||
|
||||
virtual void ToString(nsString& aBuf) const;
|
||||
|
||||
virtual const PRUnichar* GetUnicode() const;
|
||||
|
||||
NS_IMETHOD SizeOf(nsISizeOfHandler* aHandler) const;
|
||||
|
||||
// Actually more; 0 terminated. This slot is reserved for the
|
||||
// terminating zero.
|
||||
PRUnichar mString[1];
|
||||
};
|
||||
|
||||
AtomImpl::AtomImpl()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
// Every live atom holds a reference on the atom hashtable
|
||||
gAtoms++;
|
||||
}
|
||||
|
||||
AtomImpl::~AtomImpl()
|
||||
{
|
||||
NS_PRECONDITION(nsnull != gAtomHashTable, "null atom hashtable");
|
||||
if (nsnull != gAtomHashTable) {
|
||||
PL_HashTableRemove(gAtomHashTable, mString);
|
||||
nsrefcnt cnt = --gAtoms;
|
||||
if (0 == cnt) {
|
||||
// When the last atom is destroyed, the atom arena is destroyed
|
||||
NS_ASSERTION(0 == gAtomHashTable->nentries, "bad atom table");
|
||||
PL_HashTableDestroy(gAtomHashTable);
|
||||
gAtomHashTable = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static NS_DEFINE_IID(kIAtomIID, NS_IATOM_IID);
|
||||
NS_IMPL_ISUPPORTS(AtomImpl, kIAtomIID);
|
||||
|
||||
void* AtomImpl::operator new(size_t size, const PRUnichar* us, PRInt32 uslen)
|
||||
{
|
||||
size = size + uslen * sizeof(PRUnichar);
|
||||
AtomImpl* ii = (AtomImpl*) new char[size];
|
||||
nsCRT::memcpy(ii->mString, us, uslen * sizeof(PRUnichar));
|
||||
ii->mString[uslen] = 0;
|
||||
return ii;
|
||||
}
|
||||
|
||||
void AtomImpl::ToString(nsString& aBuf) const
|
||||
{
|
||||
aBuf.SetLength(0);
|
||||
aBuf.Append(mString, nsCRT::strlen(mString));
|
||||
}
|
||||
|
||||
const PRUnichar* AtomImpl::GetUnicode() const
|
||||
{
|
||||
return mString;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
AtomImpl::SizeOf(nsISizeOfHandler* aHandler) const
|
||||
{
|
||||
aHandler->Add(sizeof(*this) + nsCRT::strlen(mString) * sizeof(PRUnichar));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
static PLHashNumber HashKey(const PRUnichar* k)
|
||||
{
|
||||
return (PLHashNumber) nsCRT::HashValue(k);
|
||||
}
|
||||
|
||||
static PRIntn CompareKeys(const PRUnichar* k1, const PRUnichar* k2)
|
||||
{
|
||||
return nsCRT::strcmp(k1, k2) == 0;
|
||||
}
|
||||
|
||||
NS_BASE nsIAtom* NS_NewAtom(const char* isolatin1)
|
||||
{
|
||||
nsAutoString tmp(isolatin1);
|
||||
return NS_NewAtom(tmp.GetUnicode());
|
||||
}
|
||||
|
||||
NS_BASE nsIAtom* NS_NewAtom(const nsString& aString)
|
||||
{
|
||||
return NS_NewAtom(aString.GetUnicode());
|
||||
}
|
||||
|
||||
NS_BASE nsIAtom* NS_NewAtom(const PRUnichar* us)
|
||||
{
|
||||
if (nsnull == gAtomHashTable) {
|
||||
gAtomHashTable = PL_NewHashTable(8, (PLHashFunction) HashKey,
|
||||
(PLHashComparator) CompareKeys,
|
||||
(PLHashComparator) nsnull,
|
||||
nsnull, nsnull);
|
||||
}
|
||||
PRInt32 uslen;
|
||||
PRUint32 hashCode = nsCRT::HashValue(us, &uslen);
|
||||
PLHashEntry** hep = PL_HashTableRawLookup(gAtomHashTable, hashCode, us);
|
||||
PLHashEntry* he = *hep;
|
||||
if (nsnull != he) {
|
||||
nsIAtom* id = (nsIAtom*) he->value;
|
||||
NS_ADDREF(id);
|
||||
return id;
|
||||
}
|
||||
AtomImpl* id = new(us, uslen) AtomImpl();
|
||||
PL_HashTableRawAdd(gAtomHashTable, hep, hashCode, id->mString, id);
|
||||
NS_ADDREF(id);
|
||||
return id;
|
||||
}
|
||||
|
||||
NS_BASE nsrefcnt NS_GetNumberOfAtoms(void)
|
||||
{
|
||||
if (nsnull != gAtomHashTable) {
|
||||
NS_PRECONDITION(nsrefcnt(gAtomHashTable->nentries) == gAtoms, "bad atom table");
|
||||
}
|
||||
return gAtoms;
|
||||
}
|
||||
402
mozilla/base/src/nsBTree.cpp
Normal file
402
mozilla/base/src/nsBTree.cpp
Normal file
@@ -0,0 +1,402 @@
|
||||
|
||||
/**
|
||||
* This file defines the binary tree class and it
|
||||
* nsNode child class.
|
||||
*
|
||||
* This simple version stores nodes, and the
|
||||
* nodes store void* ptrs.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
|
||||
#include "nsBTree.h"
|
||||
|
||||
/**
|
||||
* default constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsNode::nsNode(){
|
||||
mLeft=0;
|
||||
mRight=0;
|
||||
mParent=0;
|
||||
mColor=eBlack;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Copy constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode::nsNode(const nsNode& aNode){
|
||||
mLeft=aNode.mLeft;
|
||||
mRight=aNode.mRight;
|
||||
mParent=aNode.mParent;
|
||||
mColor=aNode.mColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* destructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsNode::~nsNode(){
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrive ptr to parent node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to parent node
|
||||
*/
|
||||
nsNode* nsNode::GetParentNode(void) const{
|
||||
return mParent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve ptr to left (less) node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to left (may be NULL)
|
||||
*/
|
||||
nsNode* nsNode::GetLeftNode(void) const{
|
||||
return mLeft;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve ptr to right (more) node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to right node (may be NULL)
|
||||
*/
|
||||
nsNode* nsNode::GetRightNode(void) const{
|
||||
return mRight;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode& nsNode::operator=(const nsNode& aNode){
|
||||
if(this!=&aNode){
|
||||
mLeft=aNode.mLeft;
|
||||
mRight=aNode.mRight;
|
||||
mParent=aNode.mParent;
|
||||
mColor=aNode.mColor;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Here comes the BTREE class...
|
||||
********************************************************/
|
||||
|
||||
/**
|
||||
* nsBTree constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsBTree::nsBTree(){
|
||||
mRoot=0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* destructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsBTree::~nsBTree(){
|
||||
if(mRoot){
|
||||
//walk the tree and destroy the children.
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a node, we're supposed to add it into
|
||||
* our tree.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode to be added to tree
|
||||
* @return ptr to added node or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Add(nsNode& aNode){
|
||||
|
||||
nsNode* node1=mRoot; //x
|
||||
nsNode* node2=0; //y
|
||||
while(node1) {
|
||||
node2=node1;
|
||||
if(aNode<*node1)
|
||||
node1=node1->mLeft;
|
||||
else node1=node1->mRight;
|
||||
}
|
||||
aNode.mParent=node2;
|
||||
if(!node2){
|
||||
mRoot=&aNode;
|
||||
}
|
||||
else{
|
||||
if(aNode<*node2)
|
||||
node2->mLeft=&aNode;
|
||||
else node2->mRight=&aNode;
|
||||
}
|
||||
|
||||
return &aNode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removes given node from tree if present.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode to be found and removed
|
||||
* @return ptr to remove node, or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Remove(nsNode& aNode){
|
||||
nsNode* result=0;
|
||||
nsNode* node3=Find(aNode);
|
||||
|
||||
if(node3) {
|
||||
nsNode* node1;
|
||||
nsNode* node2;
|
||||
|
||||
if((!node3->mLeft) || (!node3->mRight))
|
||||
node2=node3;
|
||||
else node2=After(*node3);
|
||||
|
||||
if(node2->mLeft)
|
||||
node1=node2->mLeft;
|
||||
else node1=node2->mRight;
|
||||
|
||||
if(node1)
|
||||
node1->mParent=node2->mParent;
|
||||
|
||||
if(node2->mParent) {
|
||||
if(node2==node2->mParent->mLeft)
|
||||
node2->mParent->mLeft=node1;
|
||||
else node2->mParent->mRight=node1;
|
||||
}
|
||||
else mRoot=node1;
|
||||
|
||||
if(node2!=node3)
|
||||
(*node3)==(*node2);
|
||||
|
||||
if(node2->mColor == nsNode::eBlack)
|
||||
ReBalance(*node1);
|
||||
|
||||
delete node2;
|
||||
result=&aNode;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears the tree of any data.
|
||||
* Be careful here if your objects are heap based!
|
||||
* This method doesn't free the objects, so if you
|
||||
* don't have your own pointers, they will become
|
||||
* orphaned.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& nsBTree::Empty(nsNode* aNode) {
|
||||
mRoot=0;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method destroys all the objects in the tree.
|
||||
* WARNING: Never call this method on stored objects
|
||||
* that are stack-based!
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& nsBTree::Erase(nsNode* aNode){
|
||||
// nsNode* node1 =(aNode) ? aNode : mRoot;
|
||||
|
||||
if(aNode) {
|
||||
Erase(aNode->mLeft); //begin by walking left side
|
||||
Erase(aNode->mRight); //then search right side
|
||||
delete aNode; //until a leaf, then delete
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve ptr to first node in tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return
|
||||
*/
|
||||
nsNode* nsBTree::First(void) const{
|
||||
if(mRoot)
|
||||
return First(*mRoot);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrive ptr to first node rel to given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to begin scan from
|
||||
* @return ptr to first node from given node or NULL
|
||||
*/
|
||||
nsNode* nsBTree::First(const nsNode& aNode) const{
|
||||
nsNode* result=0;
|
||||
|
||||
if(mRoot) {
|
||||
result=mRoot;
|
||||
while(result->GetLeftNode()) {
|
||||
result=result->GetLeftNode();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrive ptr to last node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to last node rel to root or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Last(void) const{
|
||||
if(mRoot)
|
||||
return Last(*mRoot);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrive ptr to last node rel to given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to begin scan from
|
||||
* @return ptr to first node from given node or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Last(const nsNode& aNode) const{
|
||||
nsNode* result=0;
|
||||
|
||||
if(mRoot) {
|
||||
result=mRoot;
|
||||
while(result->GetRightNode()) {
|
||||
result=result->GetRightNode();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrive ptr to prior node rel to given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to begin scan from
|
||||
* @return ptr to prior node from given node or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Before(const nsNode& aNode) const{
|
||||
|
||||
if(aNode.GetLeftNode())
|
||||
return Last(*aNode.GetLeftNode());
|
||||
|
||||
//otherwise...
|
||||
|
||||
nsNode* node1=(nsNode*)&aNode;
|
||||
nsNode* node2=aNode.GetParentNode();
|
||||
|
||||
while((node2) && (node1==node2->GetLeftNode())) {
|
||||
node1=node2;
|
||||
node2=node2->GetParentNode();
|
||||
}
|
||||
return node2;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrive ptr to next node rel to given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to begin scan from
|
||||
* @return ptr to next node from given node or NULL
|
||||
*/
|
||||
nsNode* nsBTree::After(const nsNode& aNode) const{
|
||||
|
||||
if(aNode.GetRightNode())
|
||||
return First(*aNode.GetRightNode());
|
||||
|
||||
//otherwise...
|
||||
|
||||
nsNode* node1=(nsNode*)&aNode;
|
||||
nsNode* node2=aNode.GetParentNode();
|
||||
|
||||
while((node2) && (node1==node2->GetRightNode())) {
|
||||
node1=node2;
|
||||
node2=node2->GetParentNode();
|
||||
}
|
||||
|
||||
return node2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scan for given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to find
|
||||
* @return ptr to given node, or NULL
|
||||
*/
|
||||
nsNode* nsBTree::Find(const nsNode& aNode) const{
|
||||
nsNode* result=mRoot;
|
||||
|
||||
while((result) && (!(aNode==(*result)))) {
|
||||
if(aNode<*result)
|
||||
result=result->mLeft;
|
||||
else result=result->mRight;
|
||||
}
|
||||
return (nsNode*)result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebalances tree around the given node. This only
|
||||
* needs to be called after a node is deleted.
|
||||
* This method does nothing for btrees, but is
|
||||
* needed for RBTrees.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to balance around
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& nsBTree::ReBalance(nsNode& aNode){
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
const nsBTree& nsBTree::ForEach(nsNodeFunctor& aFunctor,nsNode* aNode) const{
|
||||
nsNode* node1 =(aNode) ? aNode : mRoot;
|
||||
|
||||
if(node1) {
|
||||
if(node1->mLeft)
|
||||
ForEach(aFunctor,node1->mLeft); //begin by walking left side
|
||||
aFunctor(*node1);
|
||||
if(node1->mRight)
|
||||
ForEach(aFunctor,node1->mRight); //then search right side
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
283
mozilla/base/src/nsBTree.h
Normal file
283
mozilla/base/src/nsBTree.h
Normal file
@@ -0,0 +1,283 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file defines the binary tree class and it
|
||||
* nsNode child class. Note that like all nsBTree
|
||||
* containers, this one does not automatically balance.
|
||||
* (Find for random data, bad for pre-ordered data).
|
||||
*
|
||||
* This simple version stores nodes, and the
|
||||
* nodes store void* ptrs.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* nsNode
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
|
||||
#ifndef _BTREE_H
|
||||
#define _BTREE_H
|
||||
|
||||
#include "nscore.h"
|
||||
|
||||
struct NS_BASE nsNode {
|
||||
|
||||
/**
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode();
|
||||
|
||||
/**
|
||||
* Copy constructor
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsNode(const nsNode& aNode);
|
||||
|
||||
/**
|
||||
* destructor
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
virtual ~nsNode();
|
||||
|
||||
/**
|
||||
* Retrieve parent node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return
|
||||
*/
|
||||
nsNode* GetParentNode(void) const;
|
||||
|
||||
/**
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* GetLeftNode() const;
|
||||
|
||||
/**
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* GetRightNode() const;
|
||||
|
||||
/**
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
virtual nsNode& operator=(const nsNode& aNode);
|
||||
|
||||
|
||||
/**
|
||||
* This method gets called to determine which of
|
||||
* two nodes is less. When you create your own
|
||||
* subclass of nsNode, this is the most important
|
||||
* method for you to overload.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
virtual PRBool operator<(const nsNode& aNode) const=0;
|
||||
|
||||
/**
|
||||
* This method gets called to determine which of
|
||||
* two nodes is less. When you create your own
|
||||
* subclass of nsNode, this is the most important
|
||||
* method for you to overload.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
virtual PRBool operator==(const nsNode& aNode) const=0;
|
||||
|
||||
enum eRBColor {eRed,eBlack};
|
||||
|
||||
nsNode* mParent;
|
||||
nsNode* mLeft;
|
||||
nsNode* mRight;
|
||||
eRBColor mColor;
|
||||
};
|
||||
|
||||
/**
|
||||
* The Nodefunctor class is used when you want to create
|
||||
* callbacks between the nsRBTree and your generic code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
*/
|
||||
class NS_BASE nsNodeFunctor {
|
||||
public:
|
||||
virtual nsNodeFunctor& operator()(nsNode& aNode)=0;
|
||||
};
|
||||
|
||||
|
||||
/****************************************************
|
||||
* Here comes the nsBTree class...
|
||||
****************************************************/
|
||||
|
||||
class NS_BASE nsBTree {
|
||||
public:
|
||||
friend class nsBTreeIterator;
|
||||
|
||||
nsBTree();
|
||||
virtual ~nsBTree();
|
||||
|
||||
/**
|
||||
* Add given node reference into our tree.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode is a ref to a node to be added
|
||||
* @return newly added node
|
||||
*/
|
||||
nsNode* Add(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Remove given node reference into our tree.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode is a ref to a node to be removed
|
||||
* @return Ptr to node if found (and removed) or NULL
|
||||
*/
|
||||
nsNode* Remove(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Clears the tree of any data.
|
||||
* Be careful here if your objects are heap based!
|
||||
* This method doesn't free the objects, so if you
|
||||
* don't have your own pointers, they will become
|
||||
* orphaned.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& Empty(nsNode* aNode=0);
|
||||
|
||||
/**
|
||||
* This method destroys all the objects in the tree.
|
||||
* WARNING: Never call this method on stored objects
|
||||
* that are stack-based!
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& Erase(nsNode* aNode=0);
|
||||
|
||||
/**
|
||||
* Retrieve ptr to 1st node in tree (starting at root)
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to 1st node, possible to be NULL
|
||||
*/
|
||||
nsNode* First(void) const;
|
||||
|
||||
/**
|
||||
* Find first node in tree starting at given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode node to begin 1st search from
|
||||
* @return ptr to 1st node below given node
|
||||
*/
|
||||
nsNode* First(const nsNode& aNode) const;
|
||||
|
||||
/**
|
||||
* Retrieve ptr to last node in tree relative to root.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @return ptr to last node or NULL
|
||||
*/
|
||||
nsNode* Last(void) const;
|
||||
|
||||
/**
|
||||
* Retrieve ptr to last node in tree relative to given node.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to find last node from
|
||||
* @return ptr to last node or NULL
|
||||
*/
|
||||
nsNode* Last(const nsNode& aNode) const;
|
||||
|
||||
/**
|
||||
* Retrieve a ptr to the node that preceeds given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode used as reference to find prev.
|
||||
* @return ptr to prev node or NULL
|
||||
*/
|
||||
nsNode* Before(const nsNode& aNode) const;
|
||||
|
||||
/**
|
||||
* Retrieve a ptr to the node after given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode used as reference to find next.
|
||||
* @return ptr to next node or NULL
|
||||
*/
|
||||
nsNode* After(const nsNode& aNode) const;
|
||||
|
||||
/**
|
||||
* Find given node in tree.
|
||||
* (Why would you want to find a node you already have?)
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode is the node you're searching for
|
||||
* @return ptr to node if found, or NULL
|
||||
*/
|
||||
nsNode* Find(const nsNode& aNode) const;
|
||||
|
||||
/**
|
||||
* Walks the tree, starting with root.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
virtual const nsBTree& ForEach(nsNodeFunctor& aFunctor,nsNode* aNode=0) const;
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* Rebalances tree around the given node. This only
|
||||
* needs to be called after a node is deleted.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to balance around
|
||||
* @return this
|
||||
*/
|
||||
virtual nsBTree& ReBalance(nsNode& aNode);
|
||||
|
||||
|
||||
nsNode* mRoot;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
138
mozilla/base/src/nsByteBuffer.cpp
Normal file
138
mozilla/base/src/nsByteBuffer.cpp
Normal file
@@ -0,0 +1,138 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIByteBuffer.h"
|
||||
#include "nsIInputStream.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
#define MIN_BUFFER_SIZE 32
|
||||
|
||||
class ByteBufferImpl : public nsIByteBuffer {
|
||||
public:
|
||||
ByteBufferImpl(PRInt32 aBufferSize);
|
||||
~ByteBufferImpl();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
virtual PRInt32 GetLength() const;
|
||||
virtual PRInt32 GetBufferSize() const;
|
||||
virtual char* GetBuffer() const;
|
||||
virtual PRBool Grow(PRInt32 aNewSize);
|
||||
virtual PRInt32 Fill(nsresult* aErrorCode, nsIInputStream* aStream,
|
||||
PRInt32 aKeep);
|
||||
|
||||
char* mBuffer;
|
||||
PRInt32 mSpace;
|
||||
PRInt32 mLength;
|
||||
};
|
||||
|
||||
ByteBufferImpl::ByteBufferImpl(PRInt32 aBufferSize)
|
||||
{
|
||||
if (PRUint32(aBufferSize) < MIN_BUFFER_SIZE) {
|
||||
aBufferSize = MIN_BUFFER_SIZE;
|
||||
}
|
||||
mSpace = aBufferSize;
|
||||
mBuffer = new char[aBufferSize];
|
||||
mLength = 0;
|
||||
NS_INIT_REFCNT();
|
||||
}
|
||||
|
||||
NS_DEFINE_IID(kByteBufferIID,NS_IBYTE_BUFFER_IID);
|
||||
NS_IMPL_ISUPPORTS(ByteBufferImpl,kByteBufferIID)
|
||||
|
||||
ByteBufferImpl::~ByteBufferImpl()
|
||||
{
|
||||
if (nsnull != mBuffer) {
|
||||
delete mBuffer;
|
||||
mBuffer = nsnull;
|
||||
}
|
||||
mLength = 0;
|
||||
}
|
||||
|
||||
PRInt32 ByteBufferImpl::GetLength() const
|
||||
{
|
||||
return mLength;
|
||||
}
|
||||
|
||||
PRInt32 ByteBufferImpl::GetBufferSize() const
|
||||
{
|
||||
return mSpace;
|
||||
}
|
||||
|
||||
char* ByteBufferImpl::GetBuffer() const
|
||||
{
|
||||
return mBuffer;
|
||||
}
|
||||
|
||||
PRBool ByteBufferImpl::Grow(PRInt32 aNewSize)
|
||||
{
|
||||
if (PRUint32(aNewSize) < MIN_BUFFER_SIZE) {
|
||||
aNewSize = MIN_BUFFER_SIZE;
|
||||
}
|
||||
char* newbuf = new char[aNewSize];
|
||||
if (nsnull != newbuf) {
|
||||
if (0 != mLength) {
|
||||
nsCRT::memcpy(newbuf, mBuffer, mLength);
|
||||
}
|
||||
delete mBuffer;
|
||||
mBuffer = newbuf;
|
||||
return PR_TRUE;
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
PRInt32 ByteBufferImpl::Fill(nsresult* aErrorCode, nsIInputStream* aStream,
|
||||
PRInt32 aKeep)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aStream, "null stream");
|
||||
NS_PRECONDITION(PRUint32(aKeep) <= PRUint32(mLength), "illegal keep count");
|
||||
if ((nsnull == aStream) || (PRUint32(aKeep) > PRUint32(mLength))) {
|
||||
// whoops
|
||||
*aErrorCode = NS_BASE_STREAM_ILLEGAL_ARGS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (0 != aKeep) {
|
||||
// Slide over kept data
|
||||
nsCRT::memmove(mBuffer, mBuffer + (mLength - aKeep), aKeep);
|
||||
}
|
||||
|
||||
// Read in some new data
|
||||
mLength = aKeep;
|
||||
PRInt32 amount = mSpace - aKeep;
|
||||
PRInt32 nb;
|
||||
*aErrorCode = aStream->Read(mBuffer, aKeep, amount, &nb);
|
||||
if (NS_SUCCEEDED(*aErrorCode)) {
|
||||
mLength += nb;
|
||||
}
|
||||
else
|
||||
nb = 0;
|
||||
return nb;
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewByteBuffer(nsIByteBuffer** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
PRInt32 aBufferSize)
|
||||
{
|
||||
if (nsnull != aOuter) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
ByteBufferImpl* it = new ByteBufferImpl(aBufferSize);
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kByteBufferIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
400
mozilla/base/src/nsCRT.cpp
Normal file
400
mozilla/base/src/nsCRT.cpp
Normal file
@@ -0,0 +1,400 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* MODULE NOTES:
|
||||
* @update gess7/30/98
|
||||
*
|
||||
* Much as I hate to do it, we were using string compares wrong.
|
||||
* Often, programmers call functions like strcmp(s1,s2), and pass
|
||||
* one or more null strings. Rather than blow up on these, I've
|
||||
* added quick checks to ensure that cases like this don't cause
|
||||
* us to fail.
|
||||
*
|
||||
* In general, if you pass a null into any of these string compare
|
||||
* routines, we simply return 0.
|
||||
*/
|
||||
|
||||
|
||||
#include "nsCRT.h"
|
||||
|
||||
// XXX Bug: These tables don't lowercase the upper 128 characters properly
|
||||
|
||||
// This table maps uppercase characters to lower case characters;
|
||||
// characters that are neither upper nor lower case are unaffected.
|
||||
static const unsigned char kUpper2Lower[256] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
||||
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64,
|
||||
|
||||
// upper band mapped to lower [A-Z] => [a-z]
|
||||
97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
|
||||
112,113,114,115,116,117,118,119,120,121,122,
|
||||
|
||||
91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
|
||||
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
|
||||
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
|
||||
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
|
||||
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
|
||||
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
|
||||
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
|
||||
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
|
||||
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
|
||||
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
|
||||
};
|
||||
|
||||
static const unsigned char kLower2Upper[256] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
||||
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
||||
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96,
|
||||
|
||||
// lower band mapped to upper [a-z] => [A-Z]
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
||||
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
|
||||
|
||||
123,124,125,126,127,
|
||||
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
|
||||
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
|
||||
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
|
||||
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
|
||||
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
|
||||
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
|
||||
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
|
||||
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
|
||||
};
|
||||
|
||||
static const PRUnichar kIsoLatin1ToUCS2[256] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
||||
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
||||
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
|
||||
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
|
||||
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
|
||||
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
|
||||
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
|
||||
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
|
||||
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
|
||||
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
|
||||
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
|
||||
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
#define TOLOWER(_ucs2) \
|
||||
(((_ucs2) < 256) ? PRUnichar(kUpper2Lower[_ucs2]) : _ToLower(_ucs2))
|
||||
|
||||
#define TOUPPER(_ucs2) \
|
||||
(((_ucs2) < 256) ? PRUnichar(kLower2Upper[_ucs2]) : _ToUpper(_ucs2))
|
||||
|
||||
static PRUnichar _ToLower(PRUnichar aChar)
|
||||
{
|
||||
// XXX need i18n code here
|
||||
return aChar;
|
||||
}
|
||||
|
||||
static PRUnichar _ToUpper(PRUnichar aChar)
|
||||
{
|
||||
// XXX need i18n code here
|
||||
return aChar;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
PRUnichar nsCRT::ToUpper(PRUnichar aChar)
|
||||
{
|
||||
return TOUPPER(aChar);
|
||||
}
|
||||
|
||||
PRUnichar nsCRT::ToLower(PRUnichar aChar)
|
||||
{
|
||||
return TOLOWER(aChar);
|
||||
}
|
||||
|
||||
PRInt32 nsCRT::strlen(const PRUnichar* s)
|
||||
{
|
||||
PRInt32 len = 0;
|
||||
if(s) {
|
||||
while (*s++ != 0) {
|
||||
len++;
|
||||
}
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare unichar string ptrs, stopping at the 1st null
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 and s2 both point to unichar strings
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const PRUnichar* s2)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
for (;;) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = *s2++;
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare unichar string ptrs, stopping at the 1st null or nth char.
|
||||
* NOTE: If either is null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 and s2 both point to unichar strings
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const PRUnichar* s2, PRInt32 n)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
if(0<n) {
|
||||
while (--n >= 0) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = *s2++;
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
}
|
||||
else return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare unichar string ptrs without regard to case
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 and s2 both point to unichar strings
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const PRUnichar* s2)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
for (;;) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = *s2++;
|
||||
if (c1 != c2) {
|
||||
c1 = TOLOWER(c1);
|
||||
c2 = TOLOWER(c2);
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare unichar string ptrs, stopping at the 1st null or nth char;
|
||||
* also ignoring the case of characters.
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 and s2 both point to unichar strings
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const PRUnichar* s2, PRInt32 n)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
if(0<n){
|
||||
while (--n >= 0) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = *s2++;
|
||||
if (c1 != c2) {
|
||||
c1 = TOLOWER(c1);
|
||||
c2 = TOLOWER(c2);
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
} else return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare a unichar string ptr to cstring.
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 points to unichar string
|
||||
* @param s2 points to cstring
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const char* s2)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
for (;;) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare a unichar string ptr to cstring, up to N chars.
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 points to unichar string
|
||||
* @param s2 points to cstring
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const char* s2, PRInt32 n)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
if(0<n){
|
||||
while (--n >= 0) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
} else return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare a unichar string ptr to cstring without regard to case
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 points to unichar string
|
||||
* @param s2 points to cstring
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const char* s2)
|
||||
{
|
||||
if(s1 && s2) {
|
||||
for (;;) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
|
||||
if (c1 != c2) {
|
||||
c1 = TOLOWER(c1);
|
||||
c2 = TOLOWER(c2);
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if ((0==c1) || (0==c2)) break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Caseless compare up to N chars between unichar string ptr to cstring.
|
||||
* NOTE: If both are null, we return 0.
|
||||
* @update gess7/30/98
|
||||
* @param s1 points to unichar string
|
||||
* @param s2 points to cstring
|
||||
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
|
||||
*/
|
||||
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const char* s2, PRInt32 n)
|
||||
{
|
||||
if(s1 && s2){
|
||||
if(0<n){
|
||||
while (--n >= 0) {
|
||||
PRUnichar c1 = *s1++;
|
||||
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
|
||||
if (c1 != c2) {
|
||||
c1 = TOLOWER(c1);
|
||||
c2 = TOLOWER(c2);
|
||||
if (c1 != c2) {
|
||||
if (c1 < c2) return -1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (c1 == 0) break;
|
||||
}
|
||||
} else return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
PRUint32 nsCRT::HashValue(const PRUnichar* us)
|
||||
{
|
||||
PRUint32 rv = 0;
|
||||
if(us) {
|
||||
PRUnichar ch;
|
||||
while ((ch = *us++) != 0) {
|
||||
// FYI: rv = rv*37 + ch
|
||||
rv = ((rv << 5) + (rv << 2) + rv) + ch;
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
PRUint32 nsCRT::HashValue(const PRUnichar* us, PRInt32* uslenp)
|
||||
{
|
||||
PRUint32 rv = 0;
|
||||
PRInt32 len = 0;
|
||||
PRUnichar ch;
|
||||
while ((ch = *us++) != 0) {
|
||||
// FYI: rv = rv*37 + ch
|
||||
rv = ((rv << 5) + (rv << 2) + rv) + ch;
|
||||
len++;
|
||||
}
|
||||
*uslenp = len;
|
||||
return rv;
|
||||
}
|
||||
|
||||
PRInt32 nsCRT::atoi( const PRUnichar *string )
|
||||
{
|
||||
return atoi(string);
|
||||
}
|
||||
|
||||
115
mozilla/base/src/nsCRT.h
Normal file
115
mozilla/base/src/nsCRT.h
Normal file
@@ -0,0 +1,115 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsCRT_h___
|
||||
#define nsCRT_h___
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "plstr.h"
|
||||
#include "nscore.h"
|
||||
|
||||
/// This is a wrapper class around all the C runtime functions.
|
||||
|
||||
class NS_BASE nsCRT {
|
||||
public:
|
||||
/** Copy bytes from aSrc to aDest.
|
||||
@param aDest the destination address
|
||||
@param aSrc the source address
|
||||
@param aCount the number of bytes to copy
|
||||
*/
|
||||
static void memcpy(void* aDest, const void* aSrc, PRInt32 aCount) {
|
||||
::memcpy(aDest, aSrc, (size_t)aCount);
|
||||
}
|
||||
|
||||
static void memmove(void* aDest, const void* aSrc, PRInt32 aCount) {
|
||||
::memmove(aDest, aSrc, (size_t)aCount);
|
||||
}
|
||||
|
||||
static void memset(void* aDest, PRUint8 aByte, PRInt32 aCount) {
|
||||
::memset(aDest, aByte, aCount);
|
||||
}
|
||||
|
||||
static void zero(void* aDest, PRInt32 aCount) {
|
||||
::memset(aDest, 0, (size_t)aCount);
|
||||
}
|
||||
|
||||
/** Compute the string length of s
|
||||
@param s the string in question
|
||||
@return the length of s
|
||||
*/
|
||||
static PRInt32 strlen(const char* s) {
|
||||
return PRInt32(::strlen(s));
|
||||
}
|
||||
|
||||
/// Compare s1 and s2.
|
||||
static PRInt32 strcmp(const char* s1, const char* s2) {
|
||||
return PRInt32(PL_strcmp(s1, s2));
|
||||
}
|
||||
|
||||
/// Case-insensitive string comparison.
|
||||
static PRInt32 strcasecmp(const char* s1, const char* s2) {
|
||||
return PRInt32(PL_strcasecmp(s1, s2));
|
||||
}
|
||||
|
||||
/// Case-insensitive string comparison with length
|
||||
static PRInt32 strncasecmp(const char* s1, const char* s2, PRInt32 aMaxLen) {
|
||||
return PRInt32(PL_strncasecmp(s1, s2, aMaxLen));
|
||||
}
|
||||
|
||||
/// Like strlen except for ucs2 strings
|
||||
static PRInt32 strlen(const PRUnichar* s);
|
||||
|
||||
/// Like strcmp except for ucs2 strings
|
||||
static PRInt32 strcmp(const PRUnichar* s1, const PRUnichar* s2);
|
||||
/// Like strcmp except for ucs2 strings
|
||||
static PRInt32 strncmp(const PRUnichar* s1, const PRUnichar* s2,
|
||||
PRInt32 aMaxLen);
|
||||
|
||||
/// Like strcasecmp except for ucs2 strings
|
||||
static PRInt32 strcasecmp(const PRUnichar* s1, const PRUnichar* s2);
|
||||
/// Like strncasecmp except for ucs2 strings
|
||||
static PRInt32 strncasecmp(const PRUnichar* s1, const PRUnichar* s2,
|
||||
PRInt32 aMaxLen);
|
||||
|
||||
/// Like strcmp with a char* and a ucs2 string
|
||||
static PRInt32 strcmp(const PRUnichar* s1, const char* s2);
|
||||
/// Like strncmp with a char* and a ucs2 string
|
||||
static PRInt32 strncmp(const PRUnichar* s1, const char* s2,
|
||||
PRInt32 aMaxLen);
|
||||
|
||||
/// Like strcasecmp with a char* and a ucs2 string
|
||||
static PRInt32 strcasecmp(const PRUnichar* s1, const char* s2);
|
||||
/// Like strncasecmp with a char* and a ucs2 string
|
||||
static PRInt32 strncasecmp(const PRUnichar* s1, const char* s2,
|
||||
PRInt32 aMaxLen);
|
||||
|
||||
/// Compute a hashcode for a ucs2 string
|
||||
static PRUint32 HashValue(const PRUnichar* s1);
|
||||
|
||||
/// Same as above except that we return the length in s1len
|
||||
static PRUint32 HashValue(const PRUnichar* s1, PRInt32* s1len);
|
||||
|
||||
/// String to integer.
|
||||
static PRInt32 atoi( const PRUnichar *string );
|
||||
|
||||
static PRUnichar ToUpper(PRUnichar aChar);
|
||||
|
||||
static PRUnichar ToLower(PRUnichar aChar);
|
||||
};
|
||||
|
||||
#endif /* nsCRT_h___ */
|
||||
516
mozilla/base/src/nsDeque.cpp
Normal file
516
mozilla/base/src/nsDeque.cpp
Normal file
@@ -0,0 +1,516 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
|
||||
#include "nsDeque.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
//#define _SELFTEST_DEQUE 1
|
||||
#undef _SELFTEST_DEQUE
|
||||
|
||||
/**
|
||||
* Standard constructor
|
||||
* @update gess4/18/98
|
||||
* @return new deque
|
||||
*/
|
||||
nsDeque::nsDeque(nsDequeFunctor& aMemDestroyer) : mMemDestroyer(aMemDestroyer) {
|
||||
mMemDestroyer=aMemDestroyer;
|
||||
mCapacity=eGrowthDelta;
|
||||
mOrigin=mSize=0;
|
||||
mData=new void*[mCapacity];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Destructor
|
||||
* @update gess4/18/98
|
||||
*/
|
||||
nsDeque::~nsDeque() {
|
||||
Erase();
|
||||
delete [] mData;
|
||||
mData=0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the number of elements currently stored in
|
||||
* this deque.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return int contains element count
|
||||
*/
|
||||
PRInt32 nsDeque::GetSize(void) const {
|
||||
return mSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove all items from container without destroying them.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDeque& nsDeque::Empty() {
|
||||
nsCRT::zero(mData,mCapacity*sizeof(mData));
|
||||
mSize=0;
|
||||
mOrigin=0;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove and delete all items from container
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return this
|
||||
*/
|
||||
nsDeque& nsDeque::Erase() {
|
||||
ForEach(mMemDestroyer);
|
||||
return Empty();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method adds an item to the end of the queue.
|
||||
* This operation has the potential to cause the
|
||||
* underlying buffer to resize.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anItem: new item to be added to queue
|
||||
* @return nada
|
||||
*/
|
||||
nsDeque& nsDeque::Push(void* anItem) {
|
||||
if(mSize==mCapacity) {
|
||||
void** temp=new void*[mCapacity+eGrowthDelta];
|
||||
|
||||
//Here's the interesting part: You can't just move the elements
|
||||
//directy (in situ) from the old buffer to the new one.
|
||||
//Since capacity has changed, the old origin doesn't make
|
||||
//sense anymore. It's better to resequence the elements now.
|
||||
|
||||
int tempi=0;
|
||||
int i=0;
|
||||
int j=0;
|
||||
for(i=mOrigin;i<mCapacity;i++) temp[tempi++]=mData[i]; //copy the leading elements...
|
||||
for(j=0;j<mOrigin;j++) temp[tempi++]=mData[j]; //copy the trailing elements...
|
||||
mCapacity+=eGrowthDelta;
|
||||
mOrigin=0; //now realign the origin...
|
||||
delete[]mData;
|
||||
mData=temp;
|
||||
}
|
||||
int offset=mOrigin+mSize;
|
||||
if(offset<mCapacity)
|
||||
mData[offset]=anItem;
|
||||
else mData[offset-mCapacity]=anItem;
|
||||
mSize++;
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method gets called you want to remove and return
|
||||
* the first member in the container.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param nada
|
||||
* @return last item in container
|
||||
*/
|
||||
void* nsDeque::Pop() {
|
||||
void* result=0;
|
||||
if(mSize>0) {
|
||||
result=mData[mOrigin];
|
||||
mData[mOrigin++]=0; //zero it out for debugging purposes.
|
||||
mSize--;
|
||||
if(mCapacity==mOrigin) //you popped off the end, so cycle back around...
|
||||
mOrigin=0;
|
||||
if(0==mSize)
|
||||
mOrigin=0;
|
||||
}
|
||||
NS_ASSERTION(mOrigin<mCapacity,"Error: Bad origin");
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method gets called you want to peek at the topmost
|
||||
* member without removing it.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param nada
|
||||
* @return last item in container
|
||||
*/
|
||||
void* nsDeque::Peek() {
|
||||
void* result=0;
|
||||
if(mSize>0) {
|
||||
result=mData[mOrigin];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove and return the last item in the container.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param none
|
||||
* @return ptr to last item in container
|
||||
*/
|
||||
void* nsDeque::PopBack(void) {
|
||||
void* result=0;
|
||||
if(mSize>0) {
|
||||
int offset=mOrigin+mSize;
|
||||
if(offset>=mCapacity)
|
||||
offset-=mCapacity;
|
||||
result=mData[offset-1];
|
||||
mData[offset-1]=0;
|
||||
mSize--;
|
||||
if(0==mSize)
|
||||
mOrigin=0;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to retrieve the ith element from this container.
|
||||
* Keep in mind that accessing the underlying elements is
|
||||
* done in a relative fashion. Object 0 is not necessarily
|
||||
* the first element (the first element is at mOrigin).
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIndex : 0 relative offset of item you want
|
||||
* @return void* or null
|
||||
*/
|
||||
void* nsDeque::ObjectAt(PRInt32 anIndex) const {
|
||||
void* result=0;
|
||||
|
||||
if((anIndex>=0) && (anIndex<mSize))
|
||||
{
|
||||
if(anIndex<(mCapacity-mOrigin)) {
|
||||
result=mData[mOrigin+anIndex];
|
||||
}
|
||||
else {
|
||||
result=mData[anIndex-(mCapacity-mOrigin)];
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and return an iterator pointing to
|
||||
* the beginning of the queue. Note that this
|
||||
* takes the circular buffer semantics into account.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return new deque iterator, init'ed to 1st item
|
||||
*/
|
||||
nsDequeIterator nsDeque::Begin(void) const{
|
||||
return nsDequeIterator(*this,0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and return an iterator pointing to
|
||||
* the last of the queue. Note that this
|
||||
* takes the circular buffer semantics into account.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return new deque iterator, init'ed to last item
|
||||
*/
|
||||
nsDequeIterator nsDeque::End(void) const{
|
||||
return nsDequeIterator(*this,mSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
void nsDeque::ForEach(nsDequeFunctor& aFunctor) const{
|
||||
int i=0;
|
||||
for(i=0;i<mSize;i++){
|
||||
void* obj=ObjectAt(i);
|
||||
obj=aFunctor(obj);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code. Iteration continues until your
|
||||
* functor returns a non-null.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
const void* nsDeque::FirstThat(nsDequeFunctor& aFunctor) const{
|
||||
int i=0;
|
||||
for(i=0;i<mSize;i++){
|
||||
void* obj=ObjectAt(i);
|
||||
obj=aFunctor(obj);
|
||||
if(obj)
|
||||
return obj;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/******************************************************
|
||||
* Here comes the nsDequeIterator class...
|
||||
******************************************************/
|
||||
|
||||
/**
|
||||
* DequeIterator is an object that knows how to iterate (forward and backward)
|
||||
* a Deque. Normally, you don't need to do this, but there are some special
|
||||
* cases where it is pretty handy, so here you go.
|
||||
*
|
||||
* This is a standard dequeiterator constructor
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param aQueue is the deque object to be iterated
|
||||
* @param anIndex is the starting position for your iteration
|
||||
*/
|
||||
nsDequeIterator::nsDequeIterator(const nsDeque& aQueue,int anIndex): mIndex(anIndex), mDeque(aQueue) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy construct a new iterator beginning with given
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aCopy is another iterator to copy from
|
||||
* @return
|
||||
*/
|
||||
nsDequeIterator::nsDequeIterator(const nsDequeIterator& aCopy) : mIndex(aCopy.mIndex), mDeque(aCopy.mDeque) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves iterator to first element in deque
|
||||
* @update gess4/18/98
|
||||
* @return this
|
||||
*/
|
||||
nsDequeIterator& nsDequeIterator::First(void){
|
||||
mIndex=0;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard assignment operator for dequeiterator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param aCopy is an iterator to be copied from
|
||||
* @return *this
|
||||
*/
|
||||
nsDequeIterator& nsDequeIterator::operator=(const nsDequeIterator& aCopy) {
|
||||
//queue's are already equal.
|
||||
mIndex=aCopy.mIndex;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* preform ! operation against to iterators to test for equivalence
|
||||
* (or lack thereof)!
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the object to be compared to
|
||||
* @return TRUE if NOT equal.
|
||||
*/
|
||||
PRBool nsDequeIterator::operator!=(nsDequeIterator& anIter) {
|
||||
return PRBool(!this->operator==(anIter));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool nsDequeIterator::operator<(nsDequeIterator& anIter) {
|
||||
return PRBool(((mIndex<anIter.mIndex) && (&mDeque==&anIter.mDeque)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool nsDequeIterator::operator==(nsDequeIterator& anIter) {
|
||||
return PRBool(((mIndex==anIter.mIndex) && (&mDeque==&anIter.mDeque)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool nsDequeIterator::operator>=(nsDequeIterator& anIter) {
|
||||
return PRBool(((mIndex>=anIter.mIndex) && (&mDeque==&anIter.mDeque)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Pre-increment operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at preincremented index
|
||||
*/
|
||||
void* nsDequeIterator::operator++() {
|
||||
return mDeque.ObjectAt(++mIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* Post-increment operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param param is ignored
|
||||
* @return object at post-incremented index
|
||||
*/
|
||||
void* nsDequeIterator::operator++(int) {
|
||||
return mDeque.ObjectAt(mIndex++);
|
||||
}
|
||||
|
||||
/**
|
||||
* Pre-decrement operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at pre-decremented index
|
||||
*/
|
||||
void* nsDequeIterator::operator--() {
|
||||
return mDeque.ObjectAt(--mIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* Post-decrement operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param param is ignored
|
||||
* @return object at post-decremented index
|
||||
*/
|
||||
void* nsDequeIterator::operator--(int) {
|
||||
return mDeque.ObjectAt(mIndex--);
|
||||
}
|
||||
|
||||
/**
|
||||
* Dereference operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at ith index
|
||||
*/
|
||||
void* nsDequeIterator::GetCurrent(void) {
|
||||
return mDeque.ObjectAt(mIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
void nsDequeIterator::ForEach(nsDequeFunctor& aFunctor) const{
|
||||
mDeque.ForEach(aFunctor);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
const void* nsDequeIterator::FirstThat(nsDequeFunctor& aFunctor) const{
|
||||
return mDeque.FirstThat(aFunctor);
|
||||
}
|
||||
|
||||
#ifdef _SELFTEST_DEQUE
|
||||
/**************************************************************
|
||||
Now define the token deallocator class...
|
||||
**************************************************************/
|
||||
class _SelfTestDeallocator: public nsDequeFunctor{
|
||||
public:
|
||||
_SelfTestDeallocator::_SelfTestDeallocator() {
|
||||
nsDeque::SelfTest();
|
||||
}
|
||||
virtual void* operator()(void* anObject) {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
static _SelfTestDeallocator gDeallocator;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* conduct automated self test for this class
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
void nsDeque::SelfTest(void) {
|
||||
#ifdef _SELFTEST_DEQUE
|
||||
|
||||
{
|
||||
nsDeque theDeque(gDeallocator); //construct a simple one...
|
||||
|
||||
int ints[200];
|
||||
int count=sizeof(ints)/sizeof(int);
|
||||
int i=0;
|
||||
|
||||
for(i=0;i<count;i++){ //initialize'em
|
||||
ints[i]=10*(1+i);
|
||||
}
|
||||
|
||||
for(i=0;i<70;i++){
|
||||
theDeque.Push(&ints[i]);
|
||||
}
|
||||
|
||||
for(i=0;i<56;i++){
|
||||
int* temp=(int*)theDeque.Pop();
|
||||
}
|
||||
|
||||
for(i=0;i<55;i++){
|
||||
theDeque.Push(&ints[i]);
|
||||
}
|
||||
|
||||
for(i=0;i<35;i++){
|
||||
int* temp=(int*)theDeque.Pop();
|
||||
}
|
||||
|
||||
for(i=0;i<35;i++){
|
||||
theDeque.Push(&ints[i]);
|
||||
}
|
||||
|
||||
for(i=0;i<38;i++){
|
||||
int* temp=(int*)theDeque.Pop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int x;
|
||||
x=10;
|
||||
#endif
|
||||
}
|
||||
|
||||
396
mozilla/base/src/nsDeque.h
Normal file
396
mozilla/base/src/nsDeque.h
Normal file
@@ -0,0 +1,396 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
/**
|
||||
* MODULE NOTES:
|
||||
* @update gess 4/15/98 (tax day)
|
||||
*
|
||||
* The Deque is a very small, very efficient container object
|
||||
* than can hold elements of type void*, offering the following features:
|
||||
* It's interface supports pushing and poping of children.
|
||||
* It can iterate (via an interator class) it's children.
|
||||
* When full, it can efficently resize dynamically.
|
||||
*
|
||||
*
|
||||
* NOTE: The only bit of trickery here is that this deque is
|
||||
* built upon a ring-buffer. Like all ring buffers, the first
|
||||
* element may not be at index[0]. The mOrigin member determines
|
||||
* where the first child is. This point is quietly hidden from
|
||||
* customers of this class.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _NSDEQUE
|
||||
#define _NSDEQUE
|
||||
|
||||
#include "nscore.h"
|
||||
|
||||
/**
|
||||
* The nsDequefunctor class is used when you want to create
|
||||
* callbacks between the deque and your generic code.
|
||||
* Use these objects in a call to ForEach();
|
||||
*
|
||||
* @update gess4/20/98
|
||||
*/
|
||||
class NS_BASE nsDequeFunctor{
|
||||
public:
|
||||
virtual void* operator()(void* anObject)=0;
|
||||
};
|
||||
|
||||
|
||||
/******************************************************
|
||||
* Here comes the nsDeque class itself...
|
||||
******************************************************/
|
||||
|
||||
/**
|
||||
* The deque (double-ended queue) class is a common container type,
|
||||
* whose behavior mimics a line in your favorite checkout stand.
|
||||
* Classic CS describes the common behavior of a queue as FIFO.
|
||||
* A Deque allows items to be added and removed from either end of
|
||||
* the queue.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
*/
|
||||
|
||||
class NS_BASE nsDeque {
|
||||
friend class nsDequeIterator;
|
||||
public:
|
||||
nsDeque(nsDequeFunctor& aMemDestroyer);
|
||||
~nsDeque();
|
||||
|
||||
/**
|
||||
* Returns the number of elements currently stored in
|
||||
* this deque.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return int contains element count
|
||||
*/
|
||||
PRInt32 GetSize() const;
|
||||
|
||||
|
||||
/**
|
||||
* Pushes new member onto the end of the deque
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param ptr to object to store
|
||||
* @return *this
|
||||
*/
|
||||
nsDeque& Push(void* anItem);
|
||||
|
||||
/**
|
||||
* Remove and return the first item in the container.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param none
|
||||
* @return ptr to first item in container
|
||||
*/
|
||||
void* Pop(void);
|
||||
|
||||
/**
|
||||
* Return topmost item without removing it.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param none
|
||||
* @return ptr to first item in container
|
||||
*/
|
||||
void* Peek(void);
|
||||
|
||||
/**
|
||||
* Remove and return the last item in the container.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param none
|
||||
* @return ptr to first item in container
|
||||
*/
|
||||
void* PopBack(void);
|
||||
|
||||
/**
|
||||
* Remove all items from container without destroying them
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDeque& Empty();
|
||||
|
||||
/**
|
||||
* Remove and delete all items from container
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDeque& Erase();
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new iterator, init'ed to start of container
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return new dequeIterator
|
||||
*/
|
||||
nsDequeIterator Begin() const;
|
||||
|
||||
/**
|
||||
* Creates a new iterator, init'ed to end of container
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return new dequeIterator
|
||||
*/
|
||||
nsDequeIterator End() const;
|
||||
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
void ForEach(nsDequeFunctor& aFunctor) const;
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code. This process will interupt if
|
||||
* your function returns a null to this iterator.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
const void* FirstThat(nsDequeFunctor& aFunctor) const;
|
||||
|
||||
/**
|
||||
* Perform automated selftest on the deque
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
static void SelfTest();
|
||||
|
||||
protected:
|
||||
|
||||
PRInt32 mSize;
|
||||
PRInt32 mCapacity;
|
||||
PRInt32 mOrigin;
|
||||
nsDequeFunctor& mMemDestroyer;
|
||||
void** mData;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
enum {eGrowthDelta=64};
|
||||
|
||||
/**
|
||||
* Simple default constructor (PRIVATE)
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDeque();
|
||||
|
||||
/**
|
||||
* Copy constructor (PRIVATE)
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDeque(const nsDeque& other);
|
||||
|
||||
/**
|
||||
* Deque assignment operator (PRIVATE)
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param another deque
|
||||
* @return *this
|
||||
*/
|
||||
nsDeque& operator=(const nsDeque& anOther);
|
||||
|
||||
/**
|
||||
* PRIVATE method used to retrieve ptr to
|
||||
* ith member in container. DOesn't remove
|
||||
* that item.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param index of desired item
|
||||
* @return ptr to ith element in list
|
||||
*/
|
||||
void* ObjectAt(int anIndex) const;
|
||||
|
||||
};
|
||||
|
||||
/******************************************************
|
||||
* Here comes the nsDequeIterator class...
|
||||
******************************************************/
|
||||
|
||||
class NS_BASE nsDequeIterator {
|
||||
public:
|
||||
|
||||
/**
|
||||
* DequeIterator is an object that knows how to iterate (forward and backward)
|
||||
* a Deque. Normally, you don't need to do this, but there are some special
|
||||
* cases where it is pretty handy, so here you go.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param aQueue is the deque object to be iterated
|
||||
* @param anIndex is the starting position for your iteration
|
||||
*/
|
||||
nsDequeIterator(const nsDeque& aQueue,int anIndex=0);
|
||||
|
||||
/**
|
||||
* DequeIterator is an object that knows how to iterate (forward and backward)
|
||||
* a Deque. Normally, you don't need to do this, but there are some special
|
||||
* cases where it is pretty handy, so here you go.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param aQueue is the deque object to be iterated
|
||||
* @param anIndex is the starting position for your iteration
|
||||
*/
|
||||
nsDequeIterator(const nsDequeIterator& aCopy);
|
||||
|
||||
/**
|
||||
* Moves iterator to first element in deque
|
||||
* @update gess4/18/98
|
||||
* @return this
|
||||
*/
|
||||
nsDequeIterator& First(void);
|
||||
|
||||
/**
|
||||
* Standard assignment operator for deque
|
||||
* @update gess4/18/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsDequeIterator& operator=(const nsDequeIterator& aCopy);
|
||||
|
||||
/**
|
||||
* preform ! operation against to iterators to test for equivalence
|
||||
* (or lack thereof)!
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the object to be compared to
|
||||
* @return TRUE if NOT equal.
|
||||
*/
|
||||
PRBool operator!=(nsDequeIterator& anIter);
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool operator<(nsDequeIterator& anIter);
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool operator==(nsDequeIterator& anIter);
|
||||
|
||||
/**
|
||||
* Compare 2 iterators for equivalence.
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param anIter is the other iterator to be compared to
|
||||
* @return TRUE if EQUAL
|
||||
*/
|
||||
PRBool operator>=(nsDequeIterator& anIter);
|
||||
|
||||
/**
|
||||
* Pre-increment operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at preincremented index
|
||||
*/
|
||||
void* operator++();
|
||||
|
||||
/**
|
||||
* Post-increment operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param param is ignored
|
||||
* @return object at post-incremented index
|
||||
*/
|
||||
void* operator++(int);
|
||||
|
||||
/**
|
||||
* Pre-decrement operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at pre-decremented index
|
||||
*/
|
||||
void* operator--();
|
||||
|
||||
/**
|
||||
* Post-decrement operator
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @param param is ignored
|
||||
* @return object at post-decremented index
|
||||
*/
|
||||
void* operator--(int);
|
||||
|
||||
/**
|
||||
* Retrieve the ptr to the iterators notion of current node
|
||||
*
|
||||
* @update gess4/18/98
|
||||
* @return object at ith index
|
||||
*/
|
||||
void* GetCurrent(void);
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
void ForEach(nsDequeFunctor& aFunctor) const;
|
||||
|
||||
/**
|
||||
* Call this method when you wanto to iterate all the
|
||||
* members of the container, passing a functor along
|
||||
* to call your code.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
* @param aFunctor object to call for each member
|
||||
* @return *this
|
||||
*/
|
||||
const void* FirstThat(nsDequeFunctor& aFunctor) const;
|
||||
|
||||
protected:
|
||||
PRInt32 mIndex;
|
||||
const nsDeque& mDeque;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
51
mozilla/base/src/nsIArena.h
Normal file
51
mozilla/base/src/nsIArena.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIArena_h___
|
||||
#define nsIArena_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
#define NS_MIN_ARENA_BLOCK_SIZE 64
|
||||
#define NS_DEFAULT_ARENA_BLOCK_SIZE 4096
|
||||
|
||||
/// Interface IID for nsIArena
|
||||
#define NS_IARENA_IID \
|
||||
{ 0xa24fdad0, 0x93b4, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/** Interface to a memory arena abstraction. Arena's use large blocks
|
||||
* of memory to allocate smaller objects. Arena's provide no free
|
||||
* operator; instead, all of the objects in the arena are deallocated
|
||||
* by deallocating the arena (e.g. when it's reference count goes to
|
||||
* zero)
|
||||
*/
|
||||
class nsIArena : public nsISupports {
|
||||
public:
|
||||
virtual void* Alloc(PRInt32 size) = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a new arena using the desired block size for allocating the
|
||||
* underlying memory blocks. The underlying memory blocks are allocated
|
||||
* using the PR heap.
|
||||
*/
|
||||
extern NS_BASE nsresult NS_NewHeapArena(nsIArena** aInstancePtrResult,
|
||||
PRInt32 aArenaBlockSize = 0);
|
||||
|
||||
#endif /* nsIArena_h___ */
|
||||
77
mozilla/base/src/nsIAtom.h
Normal file
77
mozilla/base/src/nsIAtom.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIAtom_h___
|
||||
#define nsIAtom_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
class nsString;
|
||||
class nsISizeOfHandler;
|
||||
|
||||
#define NS_IATOM_IID \
|
||||
{ 0x3d1b15b0, 0x93b4, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/**
|
||||
* A globally unique identfier. nsIAtom's can be compared for
|
||||
* equality by using operator '=='. These objects are reference
|
||||
* counted like other nsISupports objects. When you are done with
|
||||
* the atom, NS_RELEASE it.
|
||||
*/
|
||||
class nsIAtom : public nsISupports {
|
||||
public:
|
||||
/**
|
||||
* Translate the unicode string into the stringbuf.
|
||||
*/
|
||||
virtual void ToString(nsString& aString) const = 0;
|
||||
|
||||
/**
|
||||
* Return a pointer to a zero terminated unicode string.
|
||||
*/
|
||||
virtual const PRUnichar* GetUnicode() const = 0;
|
||||
|
||||
/**
|
||||
* Add the size, in bytes, of the atom to the handler.
|
||||
*/
|
||||
NS_IMETHOD SizeOf(nsISizeOfHandler* aHandler) const = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Find an atom that matches the given iso-latin1 C string. The
|
||||
* C string is translated into it's unicode equivalent.
|
||||
*/
|
||||
extern NS_BASE nsIAtom* NS_NewAtom(const char* isolatin1);
|
||||
|
||||
/**
|
||||
* Find an atom that matches the given unicode string. The string is assumed
|
||||
* to be zero terminated.
|
||||
*/
|
||||
extern NS_BASE nsIAtom* NS_NewAtom(const PRUnichar* unicode);
|
||||
|
||||
/**
|
||||
* Find an atom that matches the given string.
|
||||
*/
|
||||
extern NS_BASE nsIAtom* NS_NewAtom(const nsString& aString);
|
||||
|
||||
/**
|
||||
* Return a count of the total number of atoms currently
|
||||
* alive in the system.
|
||||
*/
|
||||
extern NS_BASE nsrefcnt NS_GetNumberOfAtoms(void);
|
||||
|
||||
#endif /* nsIAtom_h___ */
|
||||
57
mozilla/base/src/nsIBaseStream.h
Normal file
57
mozilla/base/src/nsIBaseStream.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIBaseStream_h___
|
||||
#define nsIBaseStream_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
|
||||
/* 6ccb17a0-e95e-11d1-beae-00805f8a66dc */
|
||||
#define NS_IBASESTREAM_IID \
|
||||
{ 0x6ccb17a0, 0xe95e, 0x11d1, \
|
||||
{0xbe, 0xae, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
|
||||
|
||||
/** Abstract stream */
|
||||
class nsIBaseStream : public nsISupports {
|
||||
public:
|
||||
|
||||
/** Close the stream. */
|
||||
NS_IMETHOD
|
||||
Close(void) = 0;
|
||||
};
|
||||
|
||||
/** Error codes */
|
||||
//@{
|
||||
// XXX fix up the values so they are not total hacks... MMP
|
||||
/// End of file
|
||||
#define NS_BASE_STREAM_EOF 0x80001001
|
||||
/// Stream closed
|
||||
#define NS_BASE_STREAM_CLOSED 0x80001002
|
||||
/// Error from the operating system
|
||||
#define NS_BASE_STREAM_OSERROR 0x80001003
|
||||
/// Illegal arguments
|
||||
#define NS_BASE_STREAM_ILLEGAL_ARGS 0x80001004
|
||||
/// For unichar streams
|
||||
#define NS_BASE_STREAM_NO_CONVERTER 0x80001005
|
||||
/// For unichar streams
|
||||
#define NS_BASE_STREAM_BAD_CONVERSION 0x80001006
|
||||
//@}
|
||||
|
||||
|
||||
#endif /* nsInputStream_h___ */
|
||||
56
mozilla/base/src/nsIByteBuffer.h
Normal file
56
mozilla/base/src/nsIByteBuffer.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIByteBuffer_h___
|
||||
#define nsIByteBuffer_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
class nsIInputStream;
|
||||
|
||||
#define NS_IBYTE_BUFFER_IID \
|
||||
{ 0xe4a6e4b0, 0x93b4, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/** Interface to a buffer that holds bytes */
|
||||
class nsIByteBuffer : public nsISupports {
|
||||
public:
|
||||
/** @return length of buffer, i.e. how many bytes are currently in it. */
|
||||
virtual PRInt32 GetLength() const = 0;
|
||||
|
||||
/** @return number of bytes allocated in the buffer */
|
||||
virtual PRInt32 GetBufferSize() const = 0;
|
||||
|
||||
/** @return the buffer */
|
||||
virtual char* GetBuffer() const = 0;
|
||||
|
||||
/** Grow buffer to aNewSize bytes. */
|
||||
virtual PRBool Grow(PRInt32 aNewSize) = 0;
|
||||
|
||||
/** Fill the buffer with data from aStream. Don't grow the buffer, only
|
||||
* read until length of buffer equals buffer size. */
|
||||
virtual PRInt32 Fill(nsresult* aErrorCode, nsIInputStream* aStream,
|
||||
PRInt32 aKeep) = 0;
|
||||
};
|
||||
|
||||
/** Create a new byte buffer using the given buffer size. */
|
||||
extern NS_BASE nsresult NS_NewByteBuffer(nsIByteBuffer** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
PRInt32 aBufferSize = 0);
|
||||
|
||||
#endif /* nsIByteBuffer_h___ */
|
||||
54
mozilla/base/src/nsIInputStream.h
Normal file
54
mozilla/base/src/nsIInputStream.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIInputStream_h___
|
||||
#define nsIInputStream_h___
|
||||
|
||||
#include "nsIBaseStream.h"
|
||||
|
||||
#define NS_IINPUTSTREAM_IID \
|
||||
{ 0x022396f0, 0x93b5, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/** Abstract byte input stream */
|
||||
class nsIInputStream : public nsIBaseStream {
|
||||
public:
|
||||
|
||||
/** Return the number of bytes in the stream
|
||||
* @param aLength out parameter to hold the length
|
||||
* of the stream. if an error occurs, the length
|
||||
* will be undefined
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD
|
||||
GetLength(PRInt32 *aLength) = 0;
|
||||
|
||||
/** Read data from the stream.
|
||||
* @param aErrorCode the error code if an error occurs
|
||||
* @param aBuf the buffer into which the data is read
|
||||
* @param aOffset the start offset of the data
|
||||
* @param aCount the maximum number of bytes to read
|
||||
* @param aReadCount out parameter to hold the number of
|
||||
* bytes read, eof if 0. if an error occurs, the
|
||||
* read count will be undefined
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD
|
||||
Read(char* aBuf, PRInt32 aOffset, PRInt32 aCount, PRInt32 *aReadCount) = 0;
|
||||
};
|
||||
|
||||
#endif /* nsInputStream_h___ */
|
||||
46
mozilla/base/src/nsIOutputStream.h
Normal file
46
mozilla/base/src/nsIOutputStream.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIOutputStream_h___
|
||||
#define nsIOutputStream_h___
|
||||
|
||||
#include "nsIBaseStream.h"
|
||||
|
||||
/* 7f13b870-e95f-11d1-beae-00805f8a66dc */
|
||||
#define NS_IOUTPUTSTREAM_IID \
|
||||
{ 0x7f13b870, 0xe95f, 0x11d1, \
|
||||
{0xbe, 0xae, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
|
||||
|
||||
/** Abstract byte output stream */
|
||||
class nsIOutputStream : public nsIBaseStream {
|
||||
public:
|
||||
|
||||
/** Write data into the stream.
|
||||
* @param aBuf the buffer into which the data is read
|
||||
* @param aOffset the start offset of the data
|
||||
* @param aCount the maximum number of bytes to read
|
||||
* @param aWriteCount out parameter to hold the number of
|
||||
* bytes written. if an error occurs, the writecount
|
||||
* is undefined
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD
|
||||
Write(const char* aBuf, PRInt32 aOffset, PRInt32 aCount, PRInt32 *aWriteCount) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif /* nsOutputStream_h___ */
|
||||
94
mozilla/base/src/nsITimer.h
Normal file
94
mozilla/base/src/nsITimer.h
Normal file
@@ -0,0 +1,94 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsITimer_h___
|
||||
#define nsITimer_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
class nsITimer;
|
||||
class nsITimerCallback;
|
||||
|
||||
// Implementations of nsITimer should be written such that there are no limitations
|
||||
// on what can be called by the TimerCallbackFunc. On platforms like the Macintosh this
|
||||
// means that callback functions must be called from the main event loop NOT from
|
||||
// an interrupt.
|
||||
|
||||
/// Signature of timer callback function
|
||||
typedef void
|
||||
(*nsTimerCallbackFunc) (nsITimer *aTimer, void *aClosure);
|
||||
|
||||
/// Interface IID for nsITimer
|
||||
#define NS_ITIMER_IID \
|
||||
{ 0x497eed20, 0xb740, 0x11d1, \
|
||||
{ 0x9b, 0xc3, 0x00, 0x60, 0x08, 0x8c, 0xa6, 0xb3 } }
|
||||
|
||||
/**
|
||||
* Timer class, used to invoke a function or method after a fixed
|
||||
* millisecond interval. <B>Note that this interface is subject to
|
||||
* change!</B>
|
||||
*/
|
||||
class nsITimer : public nsISupports {
|
||||
public:
|
||||
/**
|
||||
* Initialize a timer to fire after the given millisecond interval.
|
||||
* This version takes a function to call and a closure to pass to
|
||||
* that function.
|
||||
*
|
||||
* @param aFunc - The function to invoke
|
||||
* @param aClosure - an opaque pointer to pass to that function
|
||||
* @param aRepeat - (Not yet implemented) One-shot or repeating
|
||||
* @param aDelay - The millisecond interval
|
||||
* @result - NS_OK if this operation was successful
|
||||
*/
|
||||
virtual nsresult Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)=0;
|
||||
|
||||
/**
|
||||
* Initialize a timer to fire after the given millisecond interval.
|
||||
* This version takes an interface of type <code>nsITimerCallback</code>.
|
||||
* The <code>Notify</code> method of this method is invoked.
|
||||
*
|
||||
* @param aCallback - The interface to notify
|
||||
* @param aRepeat - (Not yet implemented) One-shot or repeating
|
||||
* @param aDelay - The millisecond interval
|
||||
* @result - NS_OK if this operation was successful
|
||||
*/
|
||||
virtual nsresult Init(nsITimerCallback *aCallback,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)=0;
|
||||
|
||||
/// Cancels the timeout
|
||||
virtual void Cancel()=0;
|
||||
|
||||
/// @return the millisecond delay of the timeout
|
||||
virtual PRUint32 GetDelay()=0;
|
||||
|
||||
/// Change the millisecond interval for the timeout
|
||||
virtual void SetDelay(PRUint32 aDelay)=0;
|
||||
|
||||
/// @return the opaque pointer
|
||||
virtual void* GetClosure()=0;
|
||||
};
|
||||
|
||||
/** Factory method for creating an nsITimer */
|
||||
extern NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult);
|
||||
|
||||
#endif
|
||||
41
mozilla/base/src/nsITimerCallback.h
Normal file
41
mozilla/base/src/nsITimerCallback.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsITimerCallback_h___
|
||||
#define nsITimerCallback_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
||||
class nsITimer;
|
||||
|
||||
/// Interface IID for nsITimerCallback
|
||||
#define NS_ITIMERCALLBACK_IID \
|
||||
{ 0x5079b3a0, 0xb743, 0x11d1, \
|
||||
{ 0x9b, 0xc3, 0x00, 0x60, 0x08, 0x8c, 0xa6, 0xb3 } }
|
||||
|
||||
/**
|
||||
* Interface implemented by users of the nsITimer class. An instance
|
||||
* of this interface is passed in when creating a timer. The Notify()
|
||||
* method of that instance is invoked after the specified delay.
|
||||
*/
|
||||
class nsITimerCallback : public nsISupports {
|
||||
public:
|
||||
virtual void Notify(nsITimer *timer)=0;
|
||||
};
|
||||
|
||||
#endif
|
||||
46
mozilla/base/src/nsIUnicharBuffer.h
Normal file
46
mozilla/base/src/nsIUnicharBuffer.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIUnicharBuffer_h___
|
||||
#define nsIUnicharBuffer_h___
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
class nsIUnicharInputStream;
|
||||
|
||||
#define NS_IUNICHAR_BUFFER_IID \
|
||||
{ 0x14cf6970, 0x93b5, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/// Interface to a buffer that holds unicode characters
|
||||
class nsIUnicharBuffer : public nsISupports {
|
||||
public:
|
||||
virtual PRInt32 GetLength() const = 0;
|
||||
virtual PRInt32 GetBufferSize() const = 0;
|
||||
virtual PRUnichar* GetBuffer() const = 0;
|
||||
virtual PRBool Grow(PRInt32 aNewSize) = 0;
|
||||
virtual PRInt32 Fill(nsresult* aErrorCode, nsIUnicharInputStream* aStream,
|
||||
PRInt32 aKeep) = 0;
|
||||
};
|
||||
|
||||
/// Factory method for nsIUnicharBuffer.
|
||||
extern NS_BASE nsresult
|
||||
NS_NewUnicharBuffer(nsIUnicharBuffer** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
PRInt32 aBufferSize = 0);
|
||||
|
||||
#endif /* nsIUnicharBuffer_h___ */
|
||||
98
mozilla/base/src/nsIUnicharInputStream.h
Normal file
98
mozilla/base/src/nsIUnicharInputStream.h
Normal file
@@ -0,0 +1,98 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsIUnicharInputStream_h___
|
||||
#define nsIUnicharInputStream_h___
|
||||
|
||||
#include "nsIInputStream.h"
|
||||
class nsString;
|
||||
|
||||
#define NS_IUNICHAR_INPUT_STREAM_IID \
|
||||
{ 0x2d97fbf0, 0x93b5, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
#define NS_IB2UCONVERTER_IID \
|
||||
{ 0x35e40290, 0x93b5, 0x11d1, \
|
||||
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
||||
|
||||
/// Enumeration of character set ids.
|
||||
enum nsCharSetID {
|
||||
eCharSetID_IsoLatin1 = 0,
|
||||
eCharSetID_UTF8,
|
||||
eCharSetID_ShiftJis
|
||||
// XXX more i'm sure...
|
||||
};
|
||||
|
||||
/** Abstract unicode character input stream
|
||||
* @see nsIInputStream
|
||||
*/
|
||||
class nsIUnicharInputStream : public nsISupports {
|
||||
public:
|
||||
NS_IMETHOD Read(PRUnichar* aBuf,
|
||||
PRInt32 aOffset,
|
||||
PRInt32 aCount,
|
||||
PRInt32 *aReadCount) = 0;
|
||||
NS_IMETHOD Close() = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a nsIUnicharInputStream that wraps up a string. Data is fed
|
||||
* from the string out until the done. When this object is destroyed
|
||||
* it destroyes the string (so make a copy if you don't want it doing
|
||||
* that)
|
||||
*/
|
||||
extern NS_BASE nsresult
|
||||
NS_NewStringUnicharInputStream(nsIUnicharInputStream** aInstancePtrResult,
|
||||
nsString* aString);
|
||||
|
||||
/// Abstract interface for converting from bytes to unicode characters
|
||||
class nsIB2UConverter : public nsISupports {
|
||||
public:
|
||||
/** aDstLen is updated to indicate how much data was translated into
|
||||
* aDst; aSrcLen is updated to indicate how much data was used in
|
||||
* the source buffer.
|
||||
*/
|
||||
virtual PRInt32 Convert(PRUnichar* aDst,
|
||||
PRInt32 aDstOffset,
|
||||
PRInt32& aDstLen,
|
||||
const char* aSrc,
|
||||
PRInt32 aSrcOffset,
|
||||
PRInt32& aSrcLen) = 0;
|
||||
};
|
||||
|
||||
/** Create a new nsUnicharInputStream that provides a converter for the
|
||||
* byte input stream aStreamToWrap. If no converter can be found then
|
||||
* nsnull is returned and the error code is set to
|
||||
* NS_INPUTSTREAM_NO_CONVERTER.
|
||||
*/
|
||||
extern NS_BASE nsresult
|
||||
NS_NewConverterStream(nsIUnicharInputStream** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
nsIInputStream* aStreamToWrap,
|
||||
PRInt32 aBufferSize = 0,
|
||||
nsCharSetID aCharSet = eCharSetID_IsoLatin1);
|
||||
|
||||
/** Create a new nsB2UConverter for the given character set. When given
|
||||
* nsnull, the converter for iso-latin1 to unicode is provided. If no
|
||||
* converter can be found, nsnull is returned.
|
||||
*/
|
||||
extern NS_BASE nsresult
|
||||
NS_NewB2UConverter(nsIB2UConverter** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
nsCharSetID aCharSet = eCharSetID_IsoLatin1);
|
||||
|
||||
#endif /* nsUnicharInputStream_h___ */
|
||||
335
mozilla/base/src/nsInt64.h
Normal file
335
mozilla/base/src/nsInt64.h
Normal file
@@ -0,0 +1,335 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#ifndef nsInt64_h__
|
||||
#define nsInt64_h__
|
||||
|
||||
#include "prlong.h"
|
||||
#include "nscore.h"
|
||||
|
||||
/**
|
||||
* This class encapsulates full 64-bit integer functionality and
|
||||
* provides simple arithmetic and conversion operations.
|
||||
*/
|
||||
class NS_BASE nsInt64
|
||||
{
|
||||
private:
|
||||
PRInt64 mValue;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Construct a new 64-bit integer.
|
||||
*/
|
||||
nsInt64(void) : mValue(LL_ZERO) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new 64-bit integer from a 32-bit signed integer
|
||||
*/
|
||||
nsInt64(const PRInt32 aInt32) {
|
||||
LL_I2L(mValue, aInt32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new 64-bit integer from a 32-bit unsigned integer
|
||||
*/
|
||||
nsInt64(const PRUint32 aUint32) {
|
||||
LL_UI2L(mValue, aUint32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new 64-bit integer from a floating point value.
|
||||
*/
|
||||
nsInt64(const PRFloat64 aFloat64) {
|
||||
LL_D2L(mValue, aFloat64);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new 64-bit integer from a native 64-bit integer
|
||||
*/
|
||||
nsInt64(const PRInt64 aInt64) : mValue(aInt64) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new 64-bit integer from another 64-bit integer
|
||||
*/
|
||||
nsInt64(const nsInt64& aObject) : mValue(aObject.mValue) {
|
||||
}
|
||||
|
||||
// ~nsInt64(void) -- XXX destructor unnecessary
|
||||
|
||||
/**
|
||||
* Assign a 64-bit integer to another 64-bit integer
|
||||
*/
|
||||
const nsInt64& operator =(const nsInt64& aObject) {
|
||||
mValue = aObject.mValue;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a 64-bit integer to a signed 32-bit value
|
||||
*/
|
||||
operator PRInt32(void) const {
|
||||
PRInt32 result;
|
||||
LL_L2I(result, mValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a 64-bit integer to an unsigned 32-bit value
|
||||
*/
|
||||
operator PRUint32(void) const {
|
||||
PRUint32 result;
|
||||
LL_L2UI(result, mValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a 64-bit integer to a floating point value
|
||||
*/
|
||||
operator PRFloat64(void) const {
|
||||
PRFloat64 result;
|
||||
LL_L2D(result, mValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a 64-bit integer to a native 64-bit integer.
|
||||
*/
|
||||
operator PRInt64(void) const {
|
||||
return mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform unary negation on a 64-bit integer.
|
||||
*/
|
||||
const nsInt64 operator -(void) {
|
||||
nsInt64 result;
|
||||
LL_NEG(result.mValue, mValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
// Arithmetic operators
|
||||
friend const nsInt64 operator +(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator -(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator *(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator /(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator %(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
|
||||
/**
|
||||
* Increment a 64-bit integer by a 64-bit integer amount.
|
||||
*/
|
||||
nsInt64& operator +=(const nsInt64& aObject) {
|
||||
LL_ADD(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrement a 64-bit integer by a 64-bit integer amount.
|
||||
*/
|
||||
nsInt64& operator -=(const nsInt64& aObject) {
|
||||
LL_SUB(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Multiply a 64-bit integer by a 64-bit integer amount.
|
||||
*/
|
||||
nsInt64& operator *=(const nsInt64& aObject) {
|
||||
LL_MUL(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Divide a 64-bit integer by a 64-bit integer amount.
|
||||
*/
|
||||
nsInt64& operator /=(const nsInt64& aObject) {
|
||||
LL_DIV(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the modulus of a 64-bit integer to a 64-bit value.
|
||||
*/
|
||||
nsInt64& operator %=(const nsInt64& aObject) {
|
||||
LL_MOD(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Comparison operators
|
||||
friend PRBool operator ==(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend PRBool operator !=(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend PRBool operator >(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend PRBool operator >=(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend PRBool operator <(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend PRBool operator <=(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
|
||||
// Bitwise operators
|
||||
friend const nsInt64 operator &(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator |(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
friend const nsInt64 operator ^(const nsInt64& aObject1, const nsInt64& aObject2);
|
||||
|
||||
/**
|
||||
* Compute the bitwise NOT of a 64-bit integer
|
||||
*/
|
||||
const nsInt64 operator ~(void) {
|
||||
nsInt64 result;
|
||||
LL_NOT(result.mValue, mValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the bitwise AND with another 64-bit integer
|
||||
*/
|
||||
nsInt64& operator &=(const nsInt64& aObject) {
|
||||
LL_AND(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the bitwise OR with another 64-bit integer
|
||||
*/
|
||||
nsInt64& operator |=(const nsInt64& aObject) {
|
||||
LL_OR(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the bitwise XOR with another 64-bit integer
|
||||
*/
|
||||
nsInt64& operator ^=(const nsInt64& aObject) {
|
||||
LL_XOR(mValue, mValue, aObject.mValue);
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Add two 64-bit integers.
|
||||
*/
|
||||
const nsInt64
|
||||
operator +(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) += aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtract one 64-bit integer from another.
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator -(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) -= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Multiply two 64-bit integers
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator *(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) *= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Divide one 64-bit integer by another
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator /(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) /= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the modulus of two 64-bit integers
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator %(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) %= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if two 64-bit integers are equal
|
||||
*/
|
||||
inline PRBool
|
||||
operator ==(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_EQ(aObject1.mValue, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if two 64-bit integers are not equal
|
||||
*/
|
||||
inline PRBool
|
||||
operator !=(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_NE(aObject1.mValue, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one 64-bit integer is strictly greater than another, using signed values
|
||||
*/
|
||||
inline PRBool
|
||||
operator >(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_CMP(aObject1.mValue, >, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one 64-bit integer is greater than or equal to another, using signed values
|
||||
*/
|
||||
inline PRBool
|
||||
operator >=(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_CMP(aObject1.mValue, >=, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one 64-bit integer is strictly less than another, using signed values
|
||||
*/
|
||||
inline PRBool
|
||||
operator <(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_CMP(aObject1.mValue, <, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one 64-bit integers is less than or equal to another, using signed values
|
||||
*/
|
||||
inline PRBool
|
||||
operator <=(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return LL_CMP(aObject1.mValue, <=, aObject2.mValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform a bitwise AND of two 64-bit integers
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator &(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) &= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform a bitwise OR of two 64-bit integers
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator |(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) |= aObject2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform a bitwise XOR of two 64-bit integers
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator ^(const nsInt64& aObject1, const nsInt64& aObject2) {
|
||||
return nsInt64(aObject1) ^= aObject2;
|
||||
}
|
||||
|
||||
|
||||
#endif // nsInt64_h__
|
||||
423
mozilla/base/src/nsRBTree.cpp
Normal file
423
mozilla/base/src/nsRBTree.cpp
Normal file
@@ -0,0 +1,423 @@
|
||||
|
||||
/**
|
||||
* This file defines the binary tree class and it
|
||||
* nsNode child class.
|
||||
*
|
||||
* This simple version stores nodes, and the
|
||||
* nodes store void* ptrs.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
|
||||
#include "nsRBTree.h"
|
||||
|
||||
|
||||
|
||||
/**************************************************
|
||||
Here comes the nsRBTree class...
|
||||
*************************************************/
|
||||
|
||||
/**
|
||||
* nsRBTree constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsRBTree::nsRBTree() : nsBTree() {
|
||||
mRoot=0;
|
||||
}
|
||||
|
||||
/**
|
||||
* nsRBTree constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsRBTree::nsRBTree(const nsRBTree& aCopy) : nsBTree(aCopy) {
|
||||
mRoot=aCopy.mRoot;
|
||||
}
|
||||
|
||||
/**
|
||||
* nsRBTree destructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsRBTree::~nsRBTree(){
|
||||
if(mRoot){
|
||||
//walk the tree and destroy the children.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Given a node, we're supposed to add it into
|
||||
* our tree.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* nsRBTree::Add(nsNode& aNode){
|
||||
|
||||
nsBTree::Add(aNode);
|
||||
|
||||
nsNode* node1=&aNode;
|
||||
nsNode* node2=0;
|
||||
|
||||
node1->mColor=nsNode::eRed;
|
||||
|
||||
while((node1!=mRoot) && (node1->mParent->mColor==nsNode::eRed)) {
|
||||
if(node1->mParent==node1->mParent->mParent->mLeft) {
|
||||
node2=node1->mParent->mParent->mLeft;
|
||||
if(node2->mColor==nsNode::eRed) {
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node2->mColor=nsNode::eBlack;
|
||||
node1->mParent->mParent->mColor=nsNode::eRed;
|
||||
node1=node1->mParent->mParent;
|
||||
}
|
||||
else {
|
||||
if(node1==node1->mParent->mRight) {
|
||||
node1=node1->mParent;
|
||||
ShiftLeft(*node1);
|
||||
}
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node1->mParent->mParent->mColor=nsNode::eRed;
|
||||
ShiftRight(*node1->mParent->mParent);
|
||||
}
|
||||
}
|
||||
else {
|
||||
node2=node1->mParent->mParent->mRight;
|
||||
if (node2->mColor==nsNode::eRed){
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node2->mColor=nsNode::eBlack;
|
||||
node1->mParent->mParent->mColor=nsNode::eRed;
|
||||
node1=node1->mParent->mParent;
|
||||
}
|
||||
else {
|
||||
if (node1==node1->mParent->mLeft) {
|
||||
node1=node1->mParent;
|
||||
ShiftRight(*node1);
|
||||
}
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node1->mParent->mParent->mColor=nsNode::eRed;
|
||||
ShiftLeft(*node1->mParent->mParent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mRoot->mColor=nsNode::eBlack;
|
||||
return &aNode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrive the first node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* nsRBTree::First(){
|
||||
nsNode* result=First(*mRoot);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the first node given a starting node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode --
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* nsRBTree::First(nsNode& aNode){
|
||||
nsNode* result=0;
|
||||
|
||||
if(mRoot) {
|
||||
result=mRoot;
|
||||
while(result->GetLeftNode()) {
|
||||
result=result->GetLeftNode();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the last node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* nsRBTree::Last(){
|
||||
nsNode* result=Last(*mRoot);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the last node from a given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node ptr to start from
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* nsRBTree::Last(nsNode& aNode){
|
||||
nsNode* result=0;
|
||||
|
||||
if(mRoot) {
|
||||
result=mRoot;
|
||||
while(result->GetRightNode()) {
|
||||
result=result->GetRightNode();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve the node that preceeds the given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to find precedent of
|
||||
* @return preceeding node ptr, or null
|
||||
*/
|
||||
nsNode* nsRBTree::Before(nsNode& aNode){
|
||||
|
||||
if(aNode.GetLeftNode())
|
||||
return Last(*aNode.GetLeftNode());
|
||||
|
||||
//otherwise...
|
||||
|
||||
nsNode* node1=&aNode;
|
||||
nsNode* node2=aNode.GetParentNode();
|
||||
|
||||
while((node2) && (node1==node2->GetLeftNode())) {
|
||||
node1=node2;
|
||||
node2=node2->GetParentNode();
|
||||
}
|
||||
return node2;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve a ptr to the node following the given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to find successor node from
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* nsRBTree::After(nsNode& aNode){
|
||||
|
||||
if(aNode.GetRightNode())
|
||||
return First(*aNode.GetRightNode());
|
||||
|
||||
//otherwise...
|
||||
|
||||
nsNode* node1=&aNode;
|
||||
nsNode* node2=aNode.GetParentNode();
|
||||
|
||||
while((node2) && (node1==node2->GetRightNode())) {
|
||||
node1=node2;
|
||||
node2=node2->GetParentNode();
|
||||
}
|
||||
|
||||
return node2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find a (given) node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to find in the tree
|
||||
* @return node ptr (if found) or null
|
||||
*/
|
||||
nsNode* nsRBTree::Find(nsNode& aNode){
|
||||
nsNode* result=mRoot;
|
||||
|
||||
while((result) && (!((*result)==aNode))) {
|
||||
if(aNode<*result)
|
||||
result=result->mLeft;
|
||||
else result=result->mRight;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Causes a shift to the left, to keep the
|
||||
* underlying RB data in balance
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsRBTree& nsRBTree::ShiftLeft(nsNode& aNode){
|
||||
|
||||
nsNode* temp= aNode.mRight;
|
||||
|
||||
aNode.mRight=temp->mLeft;
|
||||
if(temp->mLeft)
|
||||
temp->mRight->mParent=&aNode;
|
||||
temp->mParent= aNode.mParent;
|
||||
if (aNode.mParent) {
|
||||
if (&aNode==aNode.mParent->mLeft)
|
||||
aNode.mParent->mLeft=temp;
|
||||
else aNode.mParent->mRight=temp;
|
||||
}
|
||||
else mRoot=temp;
|
||||
temp->mLeft=&aNode;;
|
||||
aNode.mParent=temp;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Causes a shift right to occur, to keep the
|
||||
* underlying RB data in balance
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node at which to perform shift
|
||||
* @return this
|
||||
*/
|
||||
nsRBTree& nsRBTree::ShiftRight(nsNode& aNode){
|
||||
|
||||
nsNode* temp=aNode.mLeft;
|
||||
|
||||
aNode.mLeft=temp->mRight;
|
||||
if(temp->mRight)
|
||||
temp->mRight->mParent=&aNode;
|
||||
temp->mParent=aNode.mParent;
|
||||
if(aNode.mParent){
|
||||
if(&aNode==aNode.mParent->mRight)
|
||||
aNode.mParent->mRight=temp;
|
||||
else aNode.mParent->mLeft=temp;
|
||||
}
|
||||
else mRoot=temp;
|
||||
temp->mRight=&aNode;
|
||||
aNode.mParent=temp;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebalances tree around the given node. This only
|
||||
* needs to be called after a node is deleted.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to balance around
|
||||
* @return this
|
||||
*/
|
||||
nsBTree& nsRBTree::ReBalance(nsNode& aNode){
|
||||
|
||||
nsNode* node1=&aNode;
|
||||
nsNode* node2=0;
|
||||
|
||||
while ((node1!=mRoot) && (node1->mColor==nsNode::eBlack)) {
|
||||
if(node1==node1->mParent->mLeft) {
|
||||
node2=node1->mParent->mRight;
|
||||
if(node2->mColor==nsNode::eRed) {
|
||||
node2->mColor=nsNode::eBlack;
|
||||
node1->mParent->mColor=nsNode::eRed;
|
||||
ShiftLeft(*node1->mParent);
|
||||
node2=node1->mParent->mRight;
|
||||
}
|
||||
|
||||
if((node2->mLeft->mColor == nsNode::eBlack) &&
|
||||
(node2->mRight->mColor == nsNode::eBlack)) {
|
||||
node2->mColor=nsNode::eRed;
|
||||
node1=node1->mParent;
|
||||
}
|
||||
else {
|
||||
if(node2->mRight->mColor == nsNode::eBlack) {
|
||||
node2->mLeft->mColor=nsNode::eBlack;
|
||||
node2->mColor=nsNode::eRed;
|
||||
ShiftRight(*node2);
|
||||
node2=node1->mParent->mRight;
|
||||
}
|
||||
|
||||
node2->mColor=node1->mParent->mColor;
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node2->mRight->mColor=nsNode::eBlack;
|
||||
ShiftLeft(*node1->mParent);
|
||||
node1=mRoot;
|
||||
} //else
|
||||
}
|
||||
else {
|
||||
node2=node1->mParent->mLeft;
|
||||
if(node2->mColor==nsNode::eRed) {
|
||||
node2->mColor=nsNode::eBlack;
|
||||
node1->mParent->mColor=nsNode::eRed;
|
||||
ShiftRight(*node1->mParent);
|
||||
node2=node1->mParent->mLeft;
|
||||
}
|
||||
|
||||
if((node2->mRight->mColor == nsNode::eBlack) &&
|
||||
(node2->mLeft->mColor == nsNode::eBlack)) {
|
||||
node2->mColor=nsNode::eRed;
|
||||
node1=node1->mParent;
|
||||
}
|
||||
else {
|
||||
if(node2->mLeft->mColor == nsNode::eBlack){
|
||||
node2->mRight->mColor=nsNode::eBlack;
|
||||
node2->mColor=nsNode::eRed;
|
||||
ShiftLeft(*node2);
|
||||
node2=node1->mParent->mLeft;
|
||||
}
|
||||
|
||||
node2->mColor=node1->mParent->mColor;
|
||||
node1->mParent->mColor=nsNode::eBlack;
|
||||
node2->mLeft->mColor=nsNode::eBlack;
|
||||
ShiftRight(*node1->mParent);
|
||||
node1=mRoot;
|
||||
} //else
|
||||
} //if
|
||||
} //while
|
||||
|
||||
node1->mColor=nsNode::eBlack;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**************************************************
|
||||
Here comes the nsRBTreeIterator class...
|
||||
*************************************************/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsRBTreeIterator::nsRBTreeIterator(const nsRBTree& aTree) : mTree(aTree) {
|
||||
}
|
||||
|
||||
/**
|
||||
* copy constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aCopy is the object you want to copy from
|
||||
* @return newly constructed object
|
||||
*/
|
||||
nsRBTreeIterator::nsRBTreeIterator(const nsRBTreeIterator& aCopy) : mTree(aCopy.mTree) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Destructor method
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsRBTreeIterator::~nsRBTreeIterator(){
|
||||
}
|
||||
|
||||
/**
|
||||
* This method iterates over the tree, calling
|
||||
* aFunctor for each node.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aFunctor -- object to call for each node
|
||||
* @param aNode -- node at which to start iteration
|
||||
* @return this
|
||||
*/
|
||||
const nsRBTreeIterator& nsRBTreeIterator::ForEach(nsNodeFunctor& aFunctor) const{
|
||||
mTree.ForEach(aFunctor);
|
||||
return *this;
|
||||
}
|
||||
223
mozilla/base/src/nsRBTree.h
Normal file
223
mozilla/base/src/nsRBTree.h
Normal file
@@ -0,0 +1,223 @@
|
||||
|
||||
/**
|
||||
* This file defines the binary tree class and its
|
||||
* nsNode child class.
|
||||
*
|
||||
* This simple version stores nodes, and the
|
||||
* nodes store void* ptrs.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
|
||||
/**
|
||||
* MODULE NOTES
|
||||
* @update gess 4/11/98
|
||||
*
|
||||
* This file declares the nsRBTree (red/black tree).
|
||||
* Red/black trees are auto-balancing binary trees.
|
||||
*
|
||||
* To use this class, define a subclass of nsNode
|
||||
* which stores your data type. It's important that
|
||||
* you overload the following methods:
|
||||
*
|
||||
* virtual PRBool operator<()
|
||||
* virtual PRBool operator==()
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _nsRBTree
|
||||
#define _nsRBTree
|
||||
|
||||
|
||||
#include "nsBTree.h"
|
||||
|
||||
|
||||
/**
|
||||
* Here comes the main event: our nsRBTree (red/black tree).
|
||||
* Red/Black trees are autobalancing binary trees.
|
||||
*
|
||||
* @update gess4/20/98
|
||||
*/
|
||||
|
||||
class NS_BASE nsRBTree : public nsBTree {
|
||||
public:
|
||||
friend class NS_BASE nsRBTreeIterator;
|
||||
|
||||
/**
|
||||
* nsRBTree constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsRBTree();
|
||||
|
||||
/**
|
||||
* nsRBTree constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
nsRBTree(const nsRBTree& aCopy);
|
||||
|
||||
/**
|
||||
* nsRBTree destructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
*/
|
||||
virtual ~nsRBTree();
|
||||
|
||||
/**
|
||||
* Given a node, we're supposed to add it into
|
||||
* our tree.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* Add(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Retrive the first node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsNode* First(void);
|
||||
|
||||
/**
|
||||
* Retrieve the first node given a starting node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode --
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* First(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Find the last node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* Last(void);
|
||||
|
||||
/**
|
||||
* Find the last node from a given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node ptr to start from
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* Last(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Retrieve the node that preceeds the given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to find precedent of
|
||||
* @return preceeding node ptr, or null
|
||||
*/
|
||||
nsNode* Before(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Retrieve a ptr to the node following the given node
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to find successor node from
|
||||
* @return node ptr or null
|
||||
*/
|
||||
nsNode* After(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Find a (given) node in the tree
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param node to find in the tree
|
||||
* @return node ptr (if found) or null
|
||||
*/
|
||||
nsNode* Find(nsNode& aNode);
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* Causes a shift to the left, to keep the
|
||||
* underlying RB data in balance
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return this
|
||||
*/
|
||||
nsRBTree& ShiftLeft(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Causes a shift right to occur, to keep the
|
||||
* underlying RB data in balance
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node at which to perform shift
|
||||
* @return this
|
||||
*/
|
||||
nsRBTree& ShiftRight(nsNode& aNode);
|
||||
|
||||
/**
|
||||
* Rebalances tree around the given node. This only
|
||||
* needs to be called after a node is deleted.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aNode -- node to balance around
|
||||
* @return this
|
||||
*/
|
||||
virtual nsBTree& ReBalance(nsNode& aNode);
|
||||
|
||||
};
|
||||
|
||||
class NS_BASE nsRBTreeIterator {
|
||||
public:
|
||||
|
||||
/**
|
||||
* TreeIterator constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsRBTreeIterator(const nsRBTree& aTree);
|
||||
|
||||
/**
|
||||
* TreeIterator constructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
nsRBTreeIterator(const nsRBTreeIterator& aCopy);
|
||||
|
||||
/**
|
||||
* tree iterator destructor
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
~nsRBTreeIterator();
|
||||
|
||||
/**
|
||||
* This method iterates over the tree, calling
|
||||
* aFunctor for each node.
|
||||
*
|
||||
* @update gess 4/11/98
|
||||
* @param aFunctor -- object to call for each node
|
||||
* @param aNode -- node at which to start iteration
|
||||
* @return this
|
||||
*/
|
||||
const nsRBTreeIterator& ForEach(nsNodeFunctor& aFunctor) const;
|
||||
|
||||
protected:
|
||||
const nsRBTree& mTree;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
121
mozilla/base/src/nsSizeOfHandler.cpp
Normal file
121
mozilla/base/src/nsSizeOfHandler.cpp
Normal file
@@ -0,0 +1,121 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsISizeOfHandler.h"
|
||||
#include "plhash.h"
|
||||
|
||||
static NS_DEFINE_IID(kISizeOfHandlerIID, NS_ISIZEOF_HANDLER_IID);
|
||||
|
||||
class nsSizeOfHandler : public nsISizeOfHandler {
|
||||
public:
|
||||
nsSizeOfHandler();
|
||||
~nsSizeOfHandler();
|
||||
|
||||
// nsISupports
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
// nsISizeOfHandler
|
||||
NS_IMETHOD Add(size_t aSize);
|
||||
virtual PRBool HaveSeen(void* anObject);
|
||||
NS_IMETHOD GetSize(PRUint32& aResult);
|
||||
|
||||
protected:
|
||||
PRUint32 mTotalSize;
|
||||
PLHashTable* mTable;
|
||||
};
|
||||
|
||||
static PLHashNumber
|
||||
HashKey(void* key)
|
||||
{
|
||||
return (PLHashNumber) key;
|
||||
}
|
||||
|
||||
static PRIntn
|
||||
CompareKeys(void* key1, void* key2)
|
||||
{
|
||||
return key1 == key2;
|
||||
}
|
||||
|
||||
nsSizeOfHandler::nsSizeOfHandler()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mTotalSize = 0;
|
||||
mTable = PL_NewHashTable(8, (PLHashFunction) HashKey,
|
||||
(PLHashComparator) CompareKeys,
|
||||
(PLHashComparator) nsnull,
|
||||
nsnull, nsnull);
|
||||
}
|
||||
|
||||
nsSizeOfHandler::~nsSizeOfHandler()
|
||||
{
|
||||
if (nsnull != mTable) {
|
||||
PL_HashTableDestroy(mTable);
|
||||
}
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(nsSizeOfHandler, kISizeOfHandlerIID)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSizeOfHandler::Add(size_t aSize)
|
||||
{
|
||||
mTotalSize += aSize;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsSizeOfHandler::HaveSeen(void* anObject)
|
||||
{
|
||||
if (nsnull == mTable) {
|
||||
// When we run out of memory, HaveSeen returns PR_TRUE to stop
|
||||
// wasting time.
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
if (nsnull != anObject) {
|
||||
PRInt32 hashCode = (PRInt32) anObject;
|
||||
PLHashEntry** hep = PL_HashTableRawLookup(mTable, hashCode, anObject);
|
||||
PLHashEntry* he = *hep;
|
||||
if (nsnull != he) {
|
||||
return PR_TRUE;
|
||||
}
|
||||
he = PL_HashTableRawAdd(mTable, hep, hashCode, anObject, anObject);
|
||||
if (nsnull == he) {
|
||||
// When we run out of memory, HaveSeen returns PR_TRUE to stop
|
||||
// wasting time.
|
||||
return PR_TRUE;
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSizeOfHandler::GetSize(PRUint32& aResult)
|
||||
{
|
||||
aResult = mTotalSize;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_BASE nsresult
|
||||
NS_NewSizeOfHandler(nsISizeOfHandler** aInstancePtrResult)
|
||||
{
|
||||
nsISizeOfHandler *it = new nsSizeOfHandler();
|
||||
if (it == nsnull) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kISizeOfHandlerIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
2211
mozilla/base/src/nsString.cpp
Normal file
2211
mozilla/base/src/nsString.cpp
Normal file
File diff suppressed because it is too large
Load Diff
790
mozilla/base/src/nsString.h
Normal file
790
mozilla/base/src/nsString.h
Normal file
@@ -0,0 +1,790 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
MODULE NOTES:
|
||||
|
||||
A. There are two philosophies to building string classes:
|
||||
1. Hide the underlying buffer & offer API's allow indirect iteration
|
||||
2. Reveal underlying buffer, risk corruption, but gain performance
|
||||
|
||||
We chose the second option for performance reasons.
|
||||
|
||||
B Our internal buffer always holds capacity+1 bytes.
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
#ifndef _NSSTRING
|
||||
#define _NSSTRING
|
||||
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "nscore.h"
|
||||
#include "nsIAtom.h"
|
||||
#include <iostream.h>
|
||||
#include <stdio.h>
|
||||
class nsISizeOfHandler;
|
||||
|
||||
class NS_BASE nsString {
|
||||
public:
|
||||
|
||||
/**
|
||||
* Default constructor. Note that we actually allocate a small buffer
|
||||
* to begin with. This is because the "philosophy" of the string class
|
||||
* was to allow developers direct access to the underlying buffer for
|
||||
* performance reasons.
|
||||
*/
|
||||
nsString();
|
||||
|
||||
/**
|
||||
* This constructor accepts an isolatin string
|
||||
* @param anISOLatin1 is a ptr to a 1-byte cstr
|
||||
*/
|
||||
nsString(const char* anISOLatin1);
|
||||
|
||||
/**
|
||||
* This is our copy constructor
|
||||
* @param reference to another nsString
|
||||
*/
|
||||
nsString(const nsString&);
|
||||
|
||||
/**
|
||||
* Constructor from a unicode string
|
||||
* @param anicodestr pts to a unicode string
|
||||
*/
|
||||
nsString(const PRUnichar* aUnicode);
|
||||
|
||||
/**
|
||||
* Virtual Destructor
|
||||
*/
|
||||
virtual ~nsString();
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve the length of this string
|
||||
* @return string length
|
||||
*/
|
||||
PRInt32 Length() const { return mLength; }
|
||||
|
||||
|
||||
/**
|
||||
* Sets the new length of the string.
|
||||
* @param aLength is new string length.
|
||||
* @return nada
|
||||
*/
|
||||
void SetLength(PRInt32 aLength);
|
||||
|
||||
/**
|
||||
* This method truncates this string to given length.
|
||||
*
|
||||
* @param anIndex -- new length of string
|
||||
* @return nada
|
||||
*/
|
||||
void Truncate(PRInt32 anIndex=0);
|
||||
|
||||
|
||||
/**
|
||||
* This method gets called when the internal buffer needs
|
||||
* to grow to a given size.
|
||||
* @param aNewLength -- new capacity of string
|
||||
* @return void
|
||||
*/
|
||||
virtual void EnsureCapacityFor(PRInt32 aNewLength);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
|
||||
|
||||
/**
|
||||
* Determine whether or not the characters in this
|
||||
* string are in sorted order.
|
||||
*
|
||||
* @return TRUE if ordered.
|
||||
*/
|
||||
PRBool IsOrdered(void) const;
|
||||
|
||||
/**********************************************************************
|
||||
Accessor methods...
|
||||
*********************************************************************/
|
||||
|
||||
/**
|
||||
* Retrieve pointer to internal string value
|
||||
* @return PRUnichar* to internal string
|
||||
*/
|
||||
const PRUnichar* GetUnicode(void) const;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
operator PRUnichar*() const;
|
||||
|
||||
/**
|
||||
* Retrieve unicode char at given index
|
||||
* @param offset into string
|
||||
* @return PRUnichar* to internal string
|
||||
*/
|
||||
PRUnichar operator()(PRInt32 anIndex) const;
|
||||
|
||||
/**
|
||||
* Retrieve reference to unicode char at given index
|
||||
* @param offset into string
|
||||
* @return PRUnichar& from internal string
|
||||
*/
|
||||
PRUnichar& operator[](PRInt32 anIndex) const;
|
||||
|
||||
/**
|
||||
* Retrieve reference to unicode char at given index
|
||||
* @param offset into string
|
||||
* @return PRUnichar& from internal string
|
||||
*/
|
||||
PRUnichar& CharAt(PRInt32 anIndex) const;
|
||||
|
||||
/**
|
||||
* Retrieve reference to first unicode char in string
|
||||
* @return PRUnichar from internal string
|
||||
*/
|
||||
PRUnichar& First() const;
|
||||
|
||||
/**
|
||||
* Retrieve reference to last unicode char in string
|
||||
* @return PRUnichar from internal string
|
||||
*/
|
||||
PRUnichar& Last() const;
|
||||
|
||||
/**********************************************************************
|
||||
String creation methods...
|
||||
*********************************************************************/
|
||||
|
||||
/**
|
||||
* Create a new string by appending given string to this
|
||||
* @param aString -- 2nd string to be appended
|
||||
* @return new string
|
||||
*/
|
||||
nsString operator+(const nsString& aString);
|
||||
|
||||
/**
|
||||
* create a new string by adding this to the given buffer.
|
||||
* @param anISOLatin1 is a ptr to cstring to be added to this
|
||||
* @return newly created string
|
||||
*/
|
||||
nsString operator+(const char* anISOLatin1);
|
||||
|
||||
/**
|
||||
* create a new string by adding this to the given char.
|
||||
* @param aChar is a char to be added to this
|
||||
* @return newly created string
|
||||
*/
|
||||
nsString operator+(char aChar);
|
||||
|
||||
/**
|
||||
* create a new string by adding this to the given buffer.
|
||||
* @param aStr unichar buffer to be added to this
|
||||
* @return newly created string
|
||||
*/
|
||||
nsString operator+(const PRUnichar* aBuffer);
|
||||
|
||||
/**
|
||||
* create a new string by adding this to the given char.
|
||||
* @param aChar is a unichar to be added to this
|
||||
* @return newly created string
|
||||
*/
|
||||
nsString operator+(PRUnichar aChar);
|
||||
|
||||
/**
|
||||
* Converts all chars in internal string to lower
|
||||
*/
|
||||
void ToLowerCase();
|
||||
|
||||
/**
|
||||
* Converts all chars in given string to lower
|
||||
*/
|
||||
void ToLowerCase(nsString& aString) const;
|
||||
|
||||
/**
|
||||
* Converts all chars in given string to upper
|
||||
*/
|
||||
void ToUpperCase();
|
||||
|
||||
/**
|
||||
* Converts all chars in internal string to upper
|
||||
*/
|
||||
void ToUpperCase(nsString& aString) const;
|
||||
|
||||
/**
|
||||
* Creates a duplicate clone (ptr) of this string.
|
||||
* @return ptr to clone of this string
|
||||
*/
|
||||
nsString* ToNewString() const;
|
||||
|
||||
/**
|
||||
* Creates an ISOLatin1 clone of this string
|
||||
* @return ptr to new isolatin1 string
|
||||
*/
|
||||
char* ToNewCString() const;
|
||||
|
||||
/**
|
||||
* Copies data from internal buffer onto given char* buffer
|
||||
* @param aBuf is the buffer where data is stored
|
||||
* @param aBuflength is the max # of chars to move to buffer
|
||||
* @return ptr to given buffer
|
||||
*/
|
||||
char* ToCString(char* aBuf,PRInt32 aBufLength) const;
|
||||
|
||||
/**
|
||||
* Copies contents of this onto given string.
|
||||
* @param aString to hold copy of this
|
||||
* @return nada.
|
||||
*/
|
||||
void Copy(nsString& aString) const;
|
||||
|
||||
/**
|
||||
* Creates an unichar clone of this string
|
||||
* @return ptr to new unichar string
|
||||
*/
|
||||
PRUnichar* ToNewUnicode() const;
|
||||
|
||||
/**
|
||||
* Perform string to float conversion.
|
||||
* @param aErrorCode will contain error if one occurs
|
||||
* @return float rep of string value
|
||||
*/
|
||||
float ToFloat(PRInt32* aErrorCode) const;
|
||||
|
||||
/**
|
||||
* Perform string to int conversion.
|
||||
* @param aErrorCode will contain error if one occurs
|
||||
* @return int rep of string value
|
||||
*/
|
||||
PRInt32 ToInteger(PRInt32* aErrorCode) const;
|
||||
|
||||
/**********************************************************************
|
||||
String manipulation methods...
|
||||
*********************************************************************/
|
||||
|
||||
/**
|
||||
* assign given PRUnichar* to this string
|
||||
* @param anISOLatin1: buffer to be assigned to this
|
||||
* @param alength is the length of the given str (or -1)
|
||||
if you want me to determine its length
|
||||
* @return this
|
||||
*/
|
||||
nsString& SetString(const PRUnichar* aStr,PRInt32 aLength=-1);
|
||||
|
||||
/**
|
||||
* assign given char* to this string
|
||||
* @param anISOLatin1: buffer to be assigned to this
|
||||
* @param alength is the length of the given str (or -1)
|
||||
if you want me to determine its length
|
||||
* @return this
|
||||
*/
|
||||
nsString& SetString(const char* anISOLatin1,PRInt32 aLength=-1);
|
||||
|
||||
/**
|
||||
* assign given string to this one
|
||||
* @param aString: string to be added to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator=(const nsString& aString);
|
||||
|
||||
/**
|
||||
* assign given char* to this string
|
||||
* @param anISOLatin1: buffer to be assigned to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator=(const char* anISOLatin1);
|
||||
|
||||
/**
|
||||
* assign given char to this string
|
||||
* @param aChar: char to be assignd to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator=(char aChar);
|
||||
|
||||
/**
|
||||
* assign given unichar* to this string
|
||||
* @param aBuffer: unichar buffer to be assigned to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator=(const PRUnichar* aBuffer);
|
||||
|
||||
/**
|
||||
* assign given char to this string
|
||||
* @param aChar: char to be assignd to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator=(PRUnichar aChar);
|
||||
|
||||
/**
|
||||
* append given string to this string
|
||||
* @param aString : string to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator+=(const nsString& aString);
|
||||
|
||||
/**
|
||||
* append given buffer to this string
|
||||
* @param anISOLatin1: buffer to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator+=(const char* anISOLatin1);
|
||||
|
||||
/**
|
||||
* append given buffer to this string
|
||||
* @param aBuffer: buffer to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator+=(const PRUnichar* aBuffer);
|
||||
|
||||
/**
|
||||
* append given char to this string
|
||||
* @param aChar: char to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& operator+=(PRUnichar aChar);
|
||||
|
||||
/**
|
||||
* append given string to this string
|
||||
* @param aString : string to be appended to this
|
||||
* @param alength is the length of the given str (or -1)
|
||||
if you want me to determine its length
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(const nsString& aString,PRInt32 aLength=-1);
|
||||
|
||||
/**
|
||||
* append given string to this string
|
||||
* @param aString : string to be appended to this
|
||||
* @param alength is the length of the given str (or -1)
|
||||
if you want me to determine its length
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(const char* anISOLatin1,PRInt32 aLength=-1);
|
||||
|
||||
/**
|
||||
* append given string to this string
|
||||
* @param aString : string to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(char aChar);
|
||||
|
||||
/**
|
||||
* append given unichar buffer to this string
|
||||
* @param aString : string to be appended to this
|
||||
* @param alength is the length of the given str (or -1)
|
||||
if you want me to determine its length
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(const PRUnichar* aBuffer,PRInt32 aLength=-1);
|
||||
|
||||
/**
|
||||
* append given unichar character to this string
|
||||
* @param aChar is the char to be appended to this
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(PRUnichar aChar);
|
||||
|
||||
/**
|
||||
* Append an integer onto this string
|
||||
* @param aInteger is the int to be appended
|
||||
* @param aRadix specifies 8,10,16
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(PRInt32 aInteger,PRInt32 aRadix); //radix=8,10 or 16
|
||||
|
||||
/**
|
||||
* Append a float value onto this string
|
||||
* @param aFloat is the float to be appended
|
||||
* @return this
|
||||
*/
|
||||
nsString& Append(float aFloat);
|
||||
|
||||
/*
|
||||
* Copies n characters from this string to given string,
|
||||
* starting at the leftmost offset.
|
||||
*
|
||||
*
|
||||
* @param aCopy -- Receiving string
|
||||
* @param aCount -- number of chars to copy
|
||||
* @return number of chars copied
|
||||
*/
|
||||
PRInt32 Left(nsString& aCopy,PRInt32 aCount);
|
||||
|
||||
/*
|
||||
* Copies n characters from this string to given string,
|
||||
* starting at the given offset.
|
||||
*
|
||||
*
|
||||
* @param aCopy -- Receiving string
|
||||
* @param aCount -- number of chars to copy
|
||||
* @param anOffset -- position where copying begins
|
||||
* @return number of chars copied
|
||||
*/
|
||||
PRInt32 Mid(nsString& aCopy,PRInt32 anOffset,PRInt32 aCount);
|
||||
|
||||
/*
|
||||
* Copies n characters from this string to given string,
|
||||
* starting at rightmost char.
|
||||
*
|
||||
*
|
||||
* @param aCopy -- Receiving string
|
||||
* @param aCount -- number of chars to copy
|
||||
* @return number of chars copied
|
||||
*/
|
||||
PRInt32 Right(nsString& aCopy,PRInt32 aCount);
|
||||
|
||||
/*
|
||||
* This method inserts n chars from given string into this
|
||||
* string at str[anOffset].
|
||||
*
|
||||
* @param aCopy -- String to be inserted into this
|
||||
* @param anOffset -- insertion position within this str
|
||||
* @param aCount -- number of chars to be copied from aCopy
|
||||
* @return number of chars inserted into this.
|
||||
*/
|
||||
PRInt32 Insert(nsString& aCopy,PRInt32 anOffset,PRInt32 aCount=-1);
|
||||
|
||||
/**
|
||||
* Insert a single unicode char into this string at
|
||||
* a specified offset.
|
||||
*
|
||||
* @param aChar char to be inserted into this string
|
||||
* @param anOffset is insert pos in str
|
||||
* @return the number of chars inserted into this string
|
||||
*/
|
||||
PRInt32 Insert(PRUnichar aChar,PRInt32 anOffset);
|
||||
|
||||
/*
|
||||
* This method is used to cut characters in this string
|
||||
* starting at anOffset, continuing for aCount chars.
|
||||
*
|
||||
* @param anOffset -- start pos for cut operation
|
||||
* @param aCount -- number of chars to be cut
|
||||
* @return *this
|
||||
*/
|
||||
nsString& Cut(PRInt32 anOffset,PRInt32 aCount);
|
||||
|
||||
/**
|
||||
* This method is used to remove all occurances of the
|
||||
* characters found in aSet from this string.
|
||||
*
|
||||
* @param aSet -- characters to be cut from this
|
||||
* @return *this
|
||||
*/
|
||||
nsString& StripChars(const char* aSet);
|
||||
|
||||
/**
|
||||
* This method strips whitespace throughout the string
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
nsString& StripWhitespace();
|
||||
|
||||
/**
|
||||
* This method trims characters found in aTrimSet from
|
||||
* either end of the underlying string.
|
||||
*
|
||||
* @param aTrimSet -- contains chars to be trimmed from
|
||||
* both ends
|
||||
* @return this
|
||||
*/
|
||||
nsString& Trim(const char* aSet,
|
||||
PRBool aEliminateLeading=PR_TRUE,
|
||||
PRBool aEliminateTrailing=PR_TRUE);
|
||||
|
||||
/**
|
||||
* This method strips whitespace from string.
|
||||
* You can control whether whitespace is yanked from
|
||||
* start and end of string as well.
|
||||
*
|
||||
* @param aEliminateLeading controls stripping of leading ws
|
||||
* @param aEliminateTrailing controls stripping of trailing ws
|
||||
* @return this
|
||||
*/
|
||||
nsString& CompressWhitespace( PRBool aEliminateLeading=PR_TRUE,
|
||||
PRBool aEliminateTrailing=PR_TRUE);
|
||||
|
||||
/**
|
||||
* Determine if given char is a valid space character
|
||||
*
|
||||
* @param aChar is character to be tested
|
||||
* @return TRUE if is valid space char
|
||||
*/
|
||||
static PRBool IsSpace(PRUnichar ch);
|
||||
|
||||
/**
|
||||
* Determine if given char in valid alpha range
|
||||
*
|
||||
* @param aChar is character to be tested
|
||||
* @return TRUE if in alpha range
|
||||
*/
|
||||
static PRBool IsAlpha(PRUnichar ch);
|
||||
|
||||
/**
|
||||
* Determine if given char is valid digit
|
||||
*
|
||||
* @param aChar is character to be tested
|
||||
* @return TRUE if char is a valid digit
|
||||
*/
|
||||
static PRBool IsDigit(PRUnichar ch);
|
||||
|
||||
/**********************************************************************
|
||||
Searching methods...
|
||||
*********************************************************************/
|
||||
|
||||
/**
|
||||
* Search for given character within this string.
|
||||
* This method does so by using a binary search,
|
||||
* so your string HAD BETTER BE ORDERED!
|
||||
*
|
||||
* @param aChar is the unicode char to be found
|
||||
* @return offset in string, or -1 (kNotFound)
|
||||
*/
|
||||
PRInt32 BinarySearch(PRUnichar aChar) const;
|
||||
|
||||
/**
|
||||
* Search for given substring within this string
|
||||
*
|
||||
* @param aString is substring to be sought in this
|
||||
* @return offset in string, or -1 (kNotFound)
|
||||
*/
|
||||
PRInt32 Find(const char* aString) const;
|
||||
PRInt32 Find(const PRUnichar* aString) const;
|
||||
PRInt32 Find(const nsString& aString) const;
|
||||
|
||||
/**
|
||||
* Search for given char within this string
|
||||
*
|
||||
* @param aChar - char to be found
|
||||
* @return offset in string, or -1 (kNotFound)
|
||||
*/
|
||||
PRInt32 Find(PRUnichar aChar,PRInt32 offset=0) const;
|
||||
|
||||
/**
|
||||
* This method searches this string for the first character
|
||||
* found in the given string
|
||||
* @param aString contains set of chars to be found
|
||||
* @param anOffset tells us where to start searching in this
|
||||
* @return -1 if not found, else the offset in this
|
||||
*/
|
||||
PRInt32 FindCharInSet(const char* aString,PRInt32 anOffset=0) const;
|
||||
PRInt32 FindCharInSet(nsString& aString,PRInt32 anOffset=0) const;
|
||||
|
||||
/**
|
||||
* This method searches this string for the last character
|
||||
* found in the given string
|
||||
* @param aString contains set of chars to be found
|
||||
* @param anOffset tells us where to start searching in this
|
||||
* @return -1 if not found, else the offset in this
|
||||
*/
|
||||
PRInt32 RFindCharInSet(const char* aString,PRInt32 anOffset=0) const;
|
||||
PRInt32 RFindCharInSet(nsString& aString,PRInt32 anOffset=0) const;
|
||||
|
||||
|
||||
/**
|
||||
* This methods scans the string backwards, looking for the given string
|
||||
* @param aString is substring to be sought in this
|
||||
* @param aIgnoreCase tells us whether or not to do caseless compare
|
||||
* @return offset in string, or -1 (kNotFound)
|
||||
*/
|
||||
PRInt32 RFind(const char* anISOLatin1,PRBool aIgnoreCase=PR_FALSE) const;
|
||||
PRInt32 RFind(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
|
||||
PRInt32 RFind(const nsString& aString,PRBool aIgnoreCase=PR_FALSE) const;
|
||||
|
||||
/**
|
||||
* This methods scans the string backwards, looking for the given char
|
||||
* @param char is the char to be sought in this
|
||||
* @param aIgnoreCase tells us whether or not to do caseless compare
|
||||
* @return offset in string, or -1 (kNotFound)
|
||||
*/
|
||||
PRInt32 RFind(PRUnichar aChar,PRBool aIgnoreCase=PR_FALSE) const;
|
||||
|
||||
/**********************************************************************
|
||||
Comparison methods...
|
||||
*********************************************************************/
|
||||
|
||||
/**
|
||||
* Compares a given string type to this string.
|
||||
* @update gess 7/27/98
|
||||
* @param S is the string to be compared
|
||||
* @param aIgnoreCase tells us how to treat case
|
||||
* @return -1,0,1
|
||||
*/
|
||||
virtual PRInt32 Compare(const nsString &aString,PRBool aIgnoreCase=PR_FALSE) const;
|
||||
virtual PRInt32 Compare(const char *aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
|
||||
virtual PRInt32 Compare(const PRUnichar *aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
|
||||
|
||||
/**
|
||||
* These methods compare a given string type to this one
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE or FALSE
|
||||
*/
|
||||
PRBool operator==(const nsString &aString) const;
|
||||
PRBool operator==(const char *aString) const;
|
||||
PRBool operator==(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* These methods perform a !compare of a given string type to this
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE
|
||||
*/
|
||||
PRBool operator!=(const nsString &aString) const;
|
||||
PRBool operator!=(const char *aString) const;
|
||||
PRBool operator!=(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* These methods test if a given string is < than this
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE or FALSE
|
||||
*/
|
||||
PRBool operator<(const nsString &aString) const;
|
||||
PRBool operator<(const char *aString) const;
|
||||
PRBool operator<(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* These methods test if a given string is > than this
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE or FALSE
|
||||
*/
|
||||
PRBool operator>(const nsString &S) const;
|
||||
PRBool operator>(const char *anISOLatin1) const;
|
||||
PRBool operator>(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* These methods test if a given string is <= than this
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE or FALSE
|
||||
*/
|
||||
PRBool operator<=(const nsString &S) const;
|
||||
PRBool operator<=(const char *anISOLatin1) const;
|
||||
PRBool operator<=(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* These methods test if a given string is >= than this
|
||||
* @param aString is the string to be compared to this
|
||||
* @return TRUE or FALSE
|
||||
*/
|
||||
PRBool operator>=(const nsString &S) const;
|
||||
PRBool operator>=(const char *anISOLatin1) const;
|
||||
PRBool operator>=(const PRUnichar* aString) const;
|
||||
|
||||
/**
|
||||
* Compare this to given string; note that we compare full strings here.
|
||||
* The optional length argument just lets us know how long the given string is.
|
||||
* If you provide a length, it is compared to length of this string as an
|
||||
* optimization.
|
||||
*
|
||||
* @param aString -- the string to compare to this
|
||||
* @param aLength -- optional length of given string.
|
||||
* @return TRUE if equal
|
||||
*/
|
||||
PRBool Equals(const nsString& aString) const;
|
||||
PRBool Equals(const char* aString,PRInt32 aLength=-1) const;
|
||||
PRBool Equals(const nsIAtom *aAtom) const;
|
||||
|
||||
|
||||
/**
|
||||
* Compares to unichar string ptrs to each other
|
||||
* @param s1 is a ptr to a unichar buffer
|
||||
* @param s2 is a ptr to a unichar buffer
|
||||
* @return TRUE if they match
|
||||
*/
|
||||
PRBool Equals(const PRUnichar* s1, const PRUnichar* s2) const;
|
||||
|
||||
/**
|
||||
* Compare this to given string; note that we compare full strings here.
|
||||
* The optional length argument just lets us know how long the given string is.
|
||||
* If you provide a length, it is compared to length of this string as an
|
||||
* optimization.
|
||||
*
|
||||
* @param aString -- the string to compare to this
|
||||
* @param aLength -- optional length of given string.
|
||||
* @return TRUE if equal
|
||||
*/
|
||||
PRBool EqualsIgnoreCase(const nsString& aString) const;
|
||||
PRBool EqualsIgnoreCase(const char* aString,PRInt32 aLength=-1) const;
|
||||
PRBool EqualsIgnoreCase(const nsIAtom *aAtom) const;
|
||||
|
||||
/**
|
||||
* Compares to unichar string ptrs to each other without respect to case
|
||||
* @param s1 is a ptr to a unichar buffer
|
||||
* @param s2 is a ptr to a unichar buffer
|
||||
* @return TRUE if they match
|
||||
*/
|
||||
PRBool EqualsIgnoreCase(const PRUnichar* s1, const PRUnichar* s2) const;
|
||||
|
||||
|
||||
static void SelfTest();
|
||||
virtual void DebugDump(ostream& aStream) const;
|
||||
|
||||
protected:
|
||||
|
||||
typedef PRUnichar chartype;
|
||||
|
||||
chartype* mStr;
|
||||
PRInt32 mLength;
|
||||
PRInt32 mCapacity;
|
||||
static PRBool mSelfTested;
|
||||
};
|
||||
|
||||
ostream& operator<<(ostream& os,nsString& aString);
|
||||
extern NS_BASE int fputs(const nsString& aString, FILE* out);
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* A version of nsString which is designed to be used as an automatic
|
||||
* variable. It attempts to operate out of a fixed size internal
|
||||
* buffer until too much data is added; then a dynamic buffer is
|
||||
* allocated and grown as necessary.
|
||||
*/
|
||||
// XXX template this with a parameter for the size of the buffer?
|
||||
class NS_BASE nsAutoString : public nsString {
|
||||
public:
|
||||
nsAutoString();
|
||||
nsAutoString(const nsString& other);
|
||||
nsAutoString(const nsAutoString& other);
|
||||
nsAutoString(PRUnichar aChar);
|
||||
nsAutoString(const char* isolatin1);
|
||||
nsAutoString(const PRUnichar* us, PRInt32 uslen = -1);
|
||||
virtual ~nsAutoString();
|
||||
|
||||
nsAutoString& operator=(const nsString& aString) {nsString::operator=(aString); return *this;}
|
||||
nsAutoString& operator=(const char* anISOLatin1) {nsString::operator=(anISOLatin1); return *this;}
|
||||
nsAutoString& operator=(char aChar) {nsString::operator=(aChar); return *this;}
|
||||
nsAutoString& operator=(const PRUnichar* aBuffer) {nsString::operator=(aBuffer); return *this;}
|
||||
nsAutoString& operator=(PRUnichar aChar) {nsString::operator=(aChar); return *this;}
|
||||
|
||||
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
|
||||
|
||||
static void SelfTest();
|
||||
|
||||
protected:
|
||||
virtual void EnsureCapacityFor(PRInt32 aNewLength);
|
||||
|
||||
chartype mBuf[32];
|
||||
};
|
||||
|
||||
ostream& operator<<(ostream& os,nsAutoString& aString);
|
||||
|
||||
#endif
|
||||
|
||||
179
mozilla/base/src/nsTime.h
Normal file
179
mozilla/base/src/nsTime.h
Normal file
@@ -0,0 +1,179 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#ifndef nsTime_h__
|
||||
#define nsTime_h__
|
||||
|
||||
#include "prtime.h"
|
||||
#include "nsInt64.h"
|
||||
#include "nscore.h"
|
||||
|
||||
/**
|
||||
* This class encapsulates full 64-bit time functionality and
|
||||
* provides simple arithmetic and conversion operations.
|
||||
*/
|
||||
class NS_BASE nsTime
|
||||
{
|
||||
private:
|
||||
nsInt64 mValue;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Construct the current time.
|
||||
*/
|
||||
nsTime(void) : mValue(PR_Now()) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a time from a PRTime.
|
||||
*/
|
||||
nsTime(const PRTime aTime) : mValue(aTime) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a time from a 64-bit value.
|
||||
*/
|
||||
nsTime(const nsInt64& aTime) : mValue(aTime) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a time from another time.
|
||||
*/
|
||||
nsTime(const nsTime& aTime) : mValue(aTime.mValue) {
|
||||
}
|
||||
|
||||
// ~nsTime(void) -- XXX destructor unnecessary
|
||||
|
||||
/**
|
||||
* Assign one time to another.
|
||||
*/
|
||||
const nsTime& operator =(const nsTime& aTime) {
|
||||
mValue = aTime.mValue;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a nsTime object to a PRTime
|
||||
*/
|
||||
operator PRTime(void) const {
|
||||
return mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtract a 64-bit interval from a time.
|
||||
*/
|
||||
nsTime& operator -=(const nsInt64& aInterval) {
|
||||
mValue -= aInterval;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a 64-bit interval to a time.
|
||||
*/
|
||||
nsTime& operator +=(const nsInt64& aInterval) {
|
||||
mValue += aInterval;
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Arithmetic operators
|
||||
friend const nsTime operator +(const nsTime& aTime, const nsInt64& aInterval);
|
||||
friend const nsTime operator -(const nsTime& aTime, const nsInt64& aInterval);
|
||||
friend const nsInt64 operator -(const nsTime& aTime1, const nsTime& aTime2);
|
||||
|
||||
// Comparison operators
|
||||
friend const PRBool operator ==(const nsTime& aTime1, const nsTime& aTime2);
|
||||
friend const PRBool operator !=(const nsTime& aTime1, const nsTime& aTime2);
|
||||
friend const PRBool operator <(const nsTime& aTime1, const nsTime& aTime2);
|
||||
friend const PRBool operator <=(const nsTime& aTime1, const nsTime& aTime2);
|
||||
friend const PRBool operator >(const nsTime& aTime1, const nsTime& aTime2);
|
||||
friend const PRBool operator >=(const nsTime& aTime1, const nsTime& aTime2);
|
||||
};
|
||||
|
||||
/**
|
||||
* Binary addition to add a 64-bit interval to a time.
|
||||
*/
|
||||
inline const nsTime
|
||||
operator +(const nsTime& aTime, const nsInt64& aInterval) {
|
||||
return nsTime(aTime.mValue + aInterval);
|
||||
}
|
||||
|
||||
/**
|
||||
* Binary subtraction to subtract a 64-bit interval to a time.
|
||||
*/
|
||||
inline const nsTime
|
||||
operator -(const nsTime& aTime, const nsInt64& aInterval) {
|
||||
return nsTime(aTime.mValue - aInterval);
|
||||
}
|
||||
|
||||
/**
|
||||
* Binary subtraction to compute an interval from the difference of two times.
|
||||
*/
|
||||
inline const nsInt64
|
||||
operator -(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue - aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if two times are equal
|
||||
*/
|
||||
inline const PRBool
|
||||
operator ==(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue == aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if two times are different
|
||||
*/
|
||||
inline const PRBool
|
||||
operator !=(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue != aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one time is strictly less than another
|
||||
*/
|
||||
inline const PRBool
|
||||
operator <(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue < aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one time is less than or equal to another
|
||||
*/
|
||||
inline const PRBool
|
||||
operator <=(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue <= aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one time is strictly greater than another
|
||||
*/
|
||||
inline const PRBool
|
||||
operator >(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue > aTime2.mValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if one time is greater than or equal to another
|
||||
*/
|
||||
inline const PRBool
|
||||
operator >=(const nsTime& aTime1, const nsTime& aTime2) {
|
||||
return aTime1.mValue >= aTime2.mValue;
|
||||
}
|
||||
|
||||
#endif // nsTime_h__
|
||||
140
mozilla/base/src/nsUnicharBuffer.cpp
Normal file
140
mozilla/base/src/nsUnicharBuffer.cpp
Normal file
@@ -0,0 +1,140 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIUnicharBuffer.h"
|
||||
#include "nsIUnicharInputStream.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
#define MIN_BUFFER_SIZE 32
|
||||
|
||||
class UnicharBufferImpl : public nsIUnicharBuffer {
|
||||
public:
|
||||
UnicharBufferImpl(PRInt32 aBufferSize);
|
||||
~UnicharBufferImpl();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
virtual PRInt32 GetLength() const;
|
||||
virtual PRInt32 GetBufferSize() const;
|
||||
virtual PRUnichar* GetBuffer() const;
|
||||
virtual PRBool Grow(PRInt32 aNewSize);
|
||||
virtual PRInt32 Fill(nsresult* aErrorCode, nsIUnicharInputStream* aStream,
|
||||
PRInt32 aKeep);
|
||||
|
||||
PRUnichar* mBuffer;
|
||||
PRInt32 mSpace;
|
||||
PRInt32 mLength;
|
||||
};
|
||||
|
||||
UnicharBufferImpl::UnicharBufferImpl(PRInt32 aBufferSize)
|
||||
{
|
||||
if (PRUint32(aBufferSize) < MIN_BUFFER_SIZE) {
|
||||
aBufferSize = MIN_BUFFER_SIZE;
|
||||
}
|
||||
mSpace = aBufferSize;
|
||||
mBuffer = new PRUnichar[aBufferSize];
|
||||
mLength = 0;
|
||||
NS_INIT_REFCNT();
|
||||
}
|
||||
|
||||
NS_DEFINE_IID(kUnicharBufferIID, NS_IUNICHAR_BUFFER_IID);
|
||||
NS_IMPL_ISUPPORTS(UnicharBufferImpl,kUnicharBufferIID)
|
||||
|
||||
UnicharBufferImpl::~UnicharBufferImpl()
|
||||
{
|
||||
if (nsnull != mBuffer) {
|
||||
delete mBuffer;
|
||||
mBuffer = nsnull;
|
||||
}
|
||||
mLength = 0;
|
||||
}
|
||||
|
||||
PRInt32 UnicharBufferImpl::GetLength() const
|
||||
{
|
||||
return mLength;
|
||||
}
|
||||
|
||||
PRInt32 UnicharBufferImpl::GetBufferSize() const
|
||||
{
|
||||
return mSpace;
|
||||
}
|
||||
|
||||
PRUnichar* UnicharBufferImpl::GetBuffer() const
|
||||
{
|
||||
return mBuffer;
|
||||
}
|
||||
|
||||
PRBool UnicharBufferImpl::Grow(PRInt32 aNewSize)
|
||||
{
|
||||
if (PRUint32(aNewSize) < MIN_BUFFER_SIZE) {
|
||||
aNewSize = MIN_BUFFER_SIZE;
|
||||
}
|
||||
PRUnichar* newbuf = new PRUnichar[aNewSize];
|
||||
if (nsnull != newbuf) {
|
||||
if (0 != mLength) {
|
||||
nsCRT::memcpy(newbuf, mBuffer, mLength * sizeof(PRUnichar));
|
||||
}
|
||||
delete mBuffer;
|
||||
mBuffer = newbuf;
|
||||
return PR_TRUE;
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
PRInt32 UnicharBufferImpl::Fill(nsresult* aErrorCode,
|
||||
nsIUnicharInputStream* aStream,
|
||||
PRInt32 aKeep)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aStream, "null stream");
|
||||
NS_PRECONDITION(PRUint32(aKeep) < PRUint32(mLength), "illegal keep count");
|
||||
if ((nsnull == aStream) || (PRUint32(aKeep) >= PRUint32(mLength))) {
|
||||
// whoops
|
||||
*aErrorCode = NS_BASE_STREAM_ILLEGAL_ARGS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (0 != aKeep) {
|
||||
// Slide over kept data
|
||||
nsCRT::memmove(mBuffer, mBuffer + (mLength - aKeep),
|
||||
aKeep * sizeof(PRUnichar));
|
||||
}
|
||||
|
||||
// Read in some new data
|
||||
mLength = aKeep;
|
||||
PRInt32 amount = mSpace - aKeep;
|
||||
PRInt32 nb;
|
||||
*aErrorCode = aStream->Read(mBuffer, aKeep, amount, &nb);
|
||||
if (NS_SUCCEEDED(*aErrorCode)) {
|
||||
mLength += nb;
|
||||
}
|
||||
else
|
||||
nb = 0;
|
||||
return nb;
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewUnicharBuffer(nsIUnicharBuffer** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
PRInt32 aBufferSize)
|
||||
{
|
||||
if (nsnull != aOuter) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
UnicharBufferImpl* it = new UnicharBufferImpl(aBufferSize);
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kUnicharBufferIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
337
mozilla/base/src/nsUnicharInputStream.cpp
Normal file
337
mozilla/base/src/nsUnicharInputStream.cpp
Normal file
@@ -0,0 +1,337 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIUnicharInputStream.h"
|
||||
#include "nsIByteBuffer.h"
|
||||
#include "nsIUnicharBuffer.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
#include <fcntl.h>
|
||||
#ifdef NS_WIN32
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
static NS_DEFINE_IID(kIUnicharInputStreamIID, NS_IUNICHAR_INPUT_STREAM_IID);
|
||||
|
||||
class StringUnicharInputStream : public nsIUnicharInputStream {
|
||||
public:
|
||||
StringUnicharInputStream(nsString* aString);
|
||||
~StringUnicharInputStream();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_IMETHOD Read(PRUnichar* aBuf,
|
||||
PRInt32 aOffset,
|
||||
PRInt32 aCount,
|
||||
PRInt32 *aReadCount);
|
||||
NS_IMETHOD Close();
|
||||
|
||||
nsString* mString;
|
||||
PRInt32 mPos;
|
||||
PRInt32 mLen;
|
||||
};
|
||||
|
||||
StringUnicharInputStream::StringUnicharInputStream(nsString* aString)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mString = aString;
|
||||
mPos = 0;
|
||||
mLen = aString->Length();
|
||||
}
|
||||
|
||||
StringUnicharInputStream::~StringUnicharInputStream()
|
||||
{
|
||||
if (nsnull != mString) {
|
||||
delete mString;
|
||||
}
|
||||
}
|
||||
|
||||
nsresult StringUnicharInputStream::Read(PRUnichar* aBuf,
|
||||
PRInt32 aOffset,
|
||||
PRInt32 aCount,
|
||||
PRInt32 *aReadCount)
|
||||
{
|
||||
if (mPos >= mLen) {
|
||||
*aReadCount = 0;
|
||||
return (nsresult)-1;
|
||||
}
|
||||
const PRUnichar* us = mString->GetUnicode();
|
||||
PRInt32 amount = mLen - mPos;
|
||||
if (amount > aCount) {
|
||||
amount = aCount;
|
||||
}
|
||||
nsCRT::memcpy(aBuf + aOffset, us + mPos, sizeof(PRUnichar) * amount);
|
||||
mPos += amount;
|
||||
*aReadCount = amount;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult StringUnicharInputStream::Close()
|
||||
{
|
||||
mPos = mLen;
|
||||
if (nsnull != mString) {
|
||||
delete mString;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(StringUnicharInputStream, kIUnicharInputStreamIID);
|
||||
|
||||
NS_BASE nsresult
|
||||
NS_NewStringUnicharInputStream(nsIUnicharInputStream** aInstancePtrResult,
|
||||
nsString* aString)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aString, "null ptr");
|
||||
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
|
||||
if ((nsnull == aString) || (nsnull == aInstancePtrResult)) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
|
||||
StringUnicharInputStream* it = new StringUnicharInputStream(aString);
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
return it->QueryInterface(kIUnicharInputStreamIID,
|
||||
(void**) aInstancePtrResult);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
class IsoLatin1Converter : public nsIB2UConverter {
|
||||
public:
|
||||
IsoLatin1Converter();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
virtual PRInt32 Convert(PRUnichar* aDst,
|
||||
PRInt32 aDstOffset,
|
||||
PRInt32& aDstLen,
|
||||
const char* aSrc,
|
||||
PRInt32 aSrcOffset,
|
||||
PRInt32& aSrcLen);
|
||||
};
|
||||
|
||||
IsoLatin1Converter::IsoLatin1Converter()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
}
|
||||
|
||||
NS_DEFINE_IID(kIB2UConverterIID, NS_IB2UCONVERTER_IID);
|
||||
NS_IMPL_ISUPPORTS(IsoLatin1Converter,kIB2UConverterIID);
|
||||
|
||||
PRInt32 IsoLatin1Converter::Convert(PRUnichar* aDst,
|
||||
PRInt32 aDstOffset,
|
||||
PRInt32& aDstLen,
|
||||
const char* aSrc,
|
||||
PRInt32 aSrcOffset,
|
||||
PRInt32& aSrcLen)
|
||||
{
|
||||
PRInt32 amount = aSrcLen;
|
||||
if (aSrcLen > aDstLen) {
|
||||
amount = aDstLen;
|
||||
}
|
||||
const char* end = aSrc + amount;
|
||||
while (aSrc < end) {
|
||||
PRUint8 isoLatin1 = PRUint8(*aSrc++);
|
||||
/* XXX insert table based lookup converter here */
|
||||
*aDst++ = isoLatin1;
|
||||
}
|
||||
aDstLen = amount;
|
||||
aSrcLen = amount;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_BASE nsresult
|
||||
NS_NewB2UConverter(nsIB2UConverter** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
nsCharSetID aCharSet)
|
||||
{
|
||||
if (nsnull != aOuter) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
if (eCharSetID_IsoLatin1 != aCharSet) {
|
||||
return NS_BASE_STREAM_NO_CONVERTER;
|
||||
}
|
||||
IsoLatin1Converter* it = new IsoLatin1Converter();
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kIB2UConverterIID, (void**)aInstancePtrResult);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
class ConverterInputStream : public nsIUnicharInputStream {
|
||||
public:
|
||||
ConverterInputStream(nsIInputStream* aStream,
|
||||
nsIB2UConverter* aConverter,
|
||||
PRInt32 aBufSize);
|
||||
~ConverterInputStream();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_IMETHOD Read(PRUnichar* aBuf,
|
||||
PRInt32 aOffset,
|
||||
PRInt32 aCount,
|
||||
PRInt32 *aReadCount);
|
||||
NS_IMETHOD Close();
|
||||
|
||||
protected:
|
||||
PRInt32 Fill(nsresult * aErrorCode);
|
||||
|
||||
nsIInputStream* mInput;
|
||||
nsIB2UConverter* mConverter;
|
||||
nsIByteBuffer* mByteData;
|
||||
PRInt32 mByteDataOffset;
|
||||
nsIUnicharBuffer* mUnicharData;
|
||||
PRInt32 mUnicharDataOffset;
|
||||
PRInt32 mUnicharDataLength;
|
||||
};
|
||||
|
||||
ConverterInputStream::ConverterInputStream(nsIInputStream* aStream,
|
||||
nsIB2UConverter* aConverter,
|
||||
PRInt32 aBufferSize)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mInput = aStream; aStream->AddRef();
|
||||
mConverter = aConverter; aConverter->AddRef();
|
||||
if (aBufferSize == 0) {
|
||||
aBufferSize = 8192;
|
||||
}
|
||||
nsresult rv1 = NS_NewByteBuffer(&mByteData, nsnull, aBufferSize);
|
||||
nsresult rv2 = NS_NewUnicharBuffer(&mUnicharData, nsnull, aBufferSize);
|
||||
mByteDataOffset = 0;
|
||||
mUnicharDataOffset = 0;
|
||||
mUnicharDataLength = 0;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(ConverterInputStream,kIUnicharInputStreamIID);
|
||||
|
||||
ConverterInputStream::~ConverterInputStream()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
nsresult ConverterInputStream::Close()
|
||||
{
|
||||
if (nsnull != mInput) {
|
||||
mInput->Release();
|
||||
mInput = nsnull;
|
||||
}
|
||||
if (nsnull != mConverter) {
|
||||
mConverter->Release();
|
||||
mConverter = nsnull;
|
||||
}
|
||||
if (nsnull != mByteData) {
|
||||
mByteData->Release();
|
||||
mByteData = nsnull;
|
||||
}
|
||||
if (nsnull != mUnicharData) {
|
||||
mUnicharData->Release();
|
||||
mUnicharData = nsnull;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult ConverterInputStream::Read(PRUnichar* aBuf,
|
||||
PRInt32 aOffset,
|
||||
PRInt32 aCount,
|
||||
PRInt32 *aReadCount)
|
||||
{
|
||||
PRInt32 rv = mUnicharDataLength - mUnicharDataOffset;
|
||||
nsresult errorCode;
|
||||
if (0 == rv) {
|
||||
// Fill the unichar buffer
|
||||
rv = Fill(&errorCode);
|
||||
if (rv <= 0) {
|
||||
*aReadCount = 0;
|
||||
return errorCode;
|
||||
}
|
||||
}
|
||||
if (rv > aCount) {
|
||||
rv = aCount;
|
||||
}
|
||||
nsCRT::memcpy(aBuf + aOffset, mUnicharData->GetBuffer() + mUnicharDataOffset,
|
||||
rv * sizeof(PRUnichar));
|
||||
mUnicharDataOffset += rv;
|
||||
*aReadCount = rv;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
PRInt32 ConverterInputStream::Fill(nsresult * aErrorCode)
|
||||
{
|
||||
if (nsnull == mInput) {
|
||||
// We already closed the stream!
|
||||
*aErrorCode = NS_BASE_STREAM_CLOSED;
|
||||
return -1;
|
||||
}
|
||||
|
||||
PRInt32 remainder = mByteData->GetLength() - mByteDataOffset;
|
||||
mByteDataOffset = remainder;
|
||||
PRInt32 nb = mByteData->Fill(aErrorCode, mInput, remainder);
|
||||
if (nb <= 0) {
|
||||
// Because we assume a many to one conversion, the lingering data
|
||||
// in the byte buffer must be a partial conversion
|
||||
// fragment. Because we know that we have recieved no more new
|
||||
// data to add to it, we can't convert it. Therefore, we discard
|
||||
// it.
|
||||
return nb;
|
||||
}
|
||||
NS_ASSERTION(remainder + nb == mByteData->GetLength(), "bad nb");
|
||||
|
||||
// Now convert as much of the byte buffer to unicode as possible
|
||||
PRInt32 dstLen = mUnicharData->GetBufferSize();
|
||||
PRInt32 srcLen = remainder + nb;
|
||||
*aErrorCode = mConverter->Convert(mUnicharData->GetBuffer(), 0, dstLen,
|
||||
mByteData->GetBuffer(), 0, srcLen);
|
||||
mUnicharDataOffset = 0;
|
||||
mUnicharDataLength = dstLen;
|
||||
mByteDataOffset += srcLen;
|
||||
return dstLen;
|
||||
}
|
||||
|
||||
// XXX hook up auto-detect here (do we need more info, like the url?)
|
||||
NS_BASE nsresult
|
||||
NS_NewConverterStream(nsIUnicharInputStream** aInstancePtrResult,
|
||||
nsISupports* aOuter,
|
||||
nsIInputStream* aStreamToWrap,
|
||||
PRInt32 aBufferSize,
|
||||
nsCharSetID aCharSet)
|
||||
{
|
||||
if (nsnull != aOuter) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
|
||||
// Create converter
|
||||
nsIB2UConverter* converter;
|
||||
nsresult rv = NS_NewB2UConverter(&converter, nsnull, aCharSet);
|
||||
if (NS_OK != rv) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
// Create converter input stream
|
||||
ConverterInputStream* it =
|
||||
new ConverterInputStream(aStreamToWrap, converter, aBufferSize);
|
||||
converter->Release();
|
||||
if (nsnull == it) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return it->QueryInterface(kIUnicharInputStreamIID,
|
||||
(void **) aInstancePtrResult);
|
||||
}
|
||||
182
mozilla/base/src/nsUnitConversion.h
Normal file
182
mozilla/base/src/nsUnitConversion.h
Normal file
@@ -0,0 +1,182 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsUnitConversion_h__
|
||||
#define nsUnitConversion_h__
|
||||
|
||||
#include "nscore.h"
|
||||
#include <math.h>
|
||||
|
||||
/// handy constants
|
||||
#define TWIPS_PER_POINT_INT 20
|
||||
#define TWIPS_PER_POINT_FLOAT 20.0f
|
||||
#define ROUND_EXCLUSIVE_CONST_FLOAT 0.4999999999999999f // XXX this should be derived from platform FLOAT_MIN
|
||||
#define ROUND_CONST_FLOAT 0.5f
|
||||
#define CEIL_CONST_FLOAT 0.9999999999999999f // XXX this should be derived from platform FLOAT_MIN
|
||||
|
||||
|
||||
/*
|
||||
* Coord Rounding Functions
|
||||
*/
|
||||
inline nscoord NSToCoordFloor(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? nscoord(aValue) : nscoord(aValue - CEIL_CONST_FLOAT));
|
||||
}
|
||||
|
||||
inline nscoord NSToCoordCeil(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? nscoord(aValue + CEIL_CONST_FLOAT) : nscoord(aValue));
|
||||
}
|
||||
|
||||
inline nscoord NSToCoordRound(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? nscoord(aValue + ROUND_CONST_FLOAT) : nscoord(aValue - ROUND_CONST_FLOAT));
|
||||
}
|
||||
|
||||
inline nscoord NSToCoordRoundExclusive(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? nscoord(aValue + ROUND_EXCLUSIVE_CONST_FLOAT) :
|
||||
nscoord(aValue - ROUND_EXCLUSIVE_CONST_FLOAT));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Int Rounding Functions
|
||||
*/
|
||||
inline PRInt32 NSToIntFloor(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? PRInt32(aValue) : PRInt32(aValue - CEIL_CONST_FLOAT));
|
||||
}
|
||||
|
||||
inline PRInt32 NSToIntCeil(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? PRInt32(aValue + CEIL_CONST_FLOAT) : PRInt32(aValue));
|
||||
}
|
||||
|
||||
inline PRInt32 NSToIntRound(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? PRInt32(aValue + ROUND_CONST_FLOAT) : PRInt32(aValue - ROUND_CONST_FLOAT));
|
||||
}
|
||||
|
||||
inline PRInt32 NSToIntRoundExclusive(float aValue)
|
||||
{
|
||||
return ((0.0f <= aValue) ? PRInt32(aValue + ROUND_EXCLUSIVE_CONST_FLOAT) :
|
||||
PRInt32(aValue - ROUND_EXCLUSIVE_CONST_FLOAT));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Twips/Points conversions
|
||||
*/
|
||||
inline nscoord NSFloatPointsToTwips(float aPoints)
|
||||
{
|
||||
return NSToCoordRound(aPoints * TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
inline nscoord NSIntPointsToTwips(PRInt32 aPoints)
|
||||
{
|
||||
return nscoord(aPoints * TWIPS_PER_POINT_INT);
|
||||
}
|
||||
|
||||
inline PRInt32 NSTwipsToIntPoints(nscoord aTwips)
|
||||
{
|
||||
return NSToIntRound(aTwips / TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
inline PRInt32 NSTwipsToFloorIntPoints(nscoord aTwips)
|
||||
{
|
||||
return NSToIntFloor(aTwips / TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
inline PRInt32 NSTwipsToCeilIntPoints(nscoord aTwips)
|
||||
{
|
||||
return NSToIntCeil(aTwips / TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
inline float NSTwipsToFloatPoints(nscoord aTwips)
|
||||
{
|
||||
return (float(aTwips) / TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Twips/Pixel conversions
|
||||
*/
|
||||
inline nscoord NSFloatPixelsToTwips(float aPixels, float aTwipsPerPixel)
|
||||
{
|
||||
return NSToCoordRound(aPixels * aTwipsPerPixel);
|
||||
}
|
||||
|
||||
inline nscoord NSIntPixelsToTwips(PRInt32 aPixels, float aTwipsPerPixel)
|
||||
{
|
||||
return NSToCoordRound(float(aPixels) * aTwipsPerPixel);
|
||||
}
|
||||
|
||||
inline float NSTwipsToFloatPixels(nscoord aTwips, float aPixelsPerTwip)
|
||||
{
|
||||
return (float(aTwips) * aPixelsPerTwip);
|
||||
}
|
||||
|
||||
inline PRInt32 NSTwipsToIntPixels(nscoord aTwips, float aPixelsPerTwip)
|
||||
{
|
||||
return NSToIntRound(float(aTwips) * aPixelsPerTwip);
|
||||
}
|
||||
|
||||
/*
|
||||
* Twips/unit conversions
|
||||
*/
|
||||
inline nscoord NSUnitsToTwips(float aValue, float aPointsPerUnit)
|
||||
{
|
||||
return NSToCoordRound(aValue * aPointsPerUnit * TWIPS_PER_POINT_FLOAT);
|
||||
}
|
||||
|
||||
inline float NSTwipsToUnits(nscoord aTwips, float aUnitsPerPoint)
|
||||
{
|
||||
return (aTwips * (aUnitsPerPoint / TWIPS_PER_POINT_FLOAT));
|
||||
}
|
||||
|
||||
|
||||
/// Unit conversion macros
|
||||
//@{
|
||||
#define NS_INCHES_TO_TWIPS(x) NSUnitsToTwips((x), 72.0f) // 72 points per inch
|
||||
#define NS_FEET_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 12.0f)) // 12 inches per foot
|
||||
#define NS_MILES_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 12.0f * 5280.0f)) // 5280 feet per mile
|
||||
|
||||
#define NS_MILLIMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 0.03937f))
|
||||
#define NS_CENTIMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 0.3937f))
|
||||
#define NS_METERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 39.37f))
|
||||
#define NS_KILOMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 39370.0f))
|
||||
|
||||
#define NS_PICAS_TO_TWIPS(x) NSUnitsToTwips((x), 12.0f) // 12 points per pica
|
||||
#define NS_DIDOTS_TO_TWIPS(x) NSUnitsToTwips((x), (16.0f / 15.0f)) // 15 didots per 16 points
|
||||
#define NS_CICEROS_TO_TWIPS(x) NSUnitsToTwips((x), (12.0f * (16.0f / 15.0f))) // 12 didots per cicero
|
||||
|
||||
|
||||
#define NS_TWIPS_TO_INCHES(x) NSTwipsToUnits((x), 1.0f / 72.0f)
|
||||
#define NS_TWIPS_TO_FEET(x) NSTwipsToUnits((x), 1.0f / (72.0f * 12.0f))
|
||||
#define NS_TWIPS_TO_MILES(x) NSTwipsToUnits((x), 1.0f / (72.0f * 12.0f * 5280.0f))
|
||||
|
||||
#define NS_TWIPS_TO_MILLIMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 0.03937f))
|
||||
#define NS_TWIPS_TO_CENTIMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 0.3937f))
|
||||
#define NS_TWIPS_TO_METERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 39.37f))
|
||||
#define NS_TWIPS_TO_KILOMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 39370.0f))
|
||||
|
||||
#define NS_TWIPS_TO_PICAS(x) NSTwipsToUnits((x), 1.0f / 12.0f)
|
||||
#define NS_TWIPS_TO_DIDOTS(x) NSTwipsToUnits((x), 1.0f / (16.0f / 15.0f))
|
||||
#define NS_TWIPS_TO_CICEROS(x) NSTwipsToUnits((x), 1.0f / (12.0f * (16.0f / 15.0f)))
|
||||
//@}
|
||||
|
||||
#endif
|
||||
227
mozilla/base/src/nsVoidArray.cpp
Normal file
227
mozilla/base/src/nsVoidArray.cpp
Normal file
@@ -0,0 +1,227 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsVoidArray.h"
|
||||
#include "nsCRT.h"
|
||||
#include "nsISizeOfHandler.h"
|
||||
|
||||
static PRInt32 kGrowArrayBy = 8;
|
||||
|
||||
nsVoidArray::nsVoidArray()
|
||||
{
|
||||
mArray = nsnull;
|
||||
mArraySize = 0;
|
||||
mCount = 0;
|
||||
}
|
||||
|
||||
nsVoidArray::nsVoidArray(PRInt32 aCount)
|
||||
{
|
||||
NS_PRECONDITION(aCount > 0, "bad count");
|
||||
mCount = mArraySize = aCount;
|
||||
mArray = new void*[mCount];
|
||||
nsCRT::memset(mArray, 0, mCount * sizeof(void*));
|
||||
}
|
||||
|
||||
nsVoidArray& nsVoidArray::operator=(const nsVoidArray& other)
|
||||
{
|
||||
if (nsnull != mArray) {
|
||||
delete mArray;
|
||||
}
|
||||
PRInt32 otherCount = other.mCount;
|
||||
mArraySize = otherCount;
|
||||
mCount = otherCount;
|
||||
if (otherCount != 0) {
|
||||
mArray = new void*[otherCount];
|
||||
nsCRT::memcpy(mArray, other.mArray, otherCount * sizeof(void*));
|
||||
} else {
|
||||
mArray = nsnull;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
nsVoidArray::~nsVoidArray()
|
||||
{
|
||||
if (nsnull != mArray) {
|
||||
delete [] mArray;
|
||||
}
|
||||
}
|
||||
void
|
||||
nsVoidArray::SizeOf(nsISizeOfHandler* aHandler) const
|
||||
{
|
||||
aHandler->Add(sizeof(*this));
|
||||
aHandler->Add(sizeof(void*) * mArraySize);
|
||||
}
|
||||
|
||||
void* nsVoidArray::ElementAt(PRInt32 aIndex) const
|
||||
{
|
||||
if (PRUint32(aIndex) >= PRUint32(mCount)) {
|
||||
return nsnull;
|
||||
}
|
||||
return mArray[aIndex];
|
||||
}
|
||||
|
||||
PRInt32 nsVoidArray::IndexOf(void* aPossibleElement) const
|
||||
{
|
||||
void** ap = mArray;
|
||||
void** end = ap + mCount;
|
||||
while (ap < end) {
|
||||
if (*ap == aPossibleElement) {
|
||||
return ap - mArray;
|
||||
}
|
||||
ap++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::InsertElementAt(void* aElement, PRInt32 aIndex)
|
||||
{
|
||||
PRInt32 oldCount = mCount;
|
||||
if (PRUint32(aIndex) > PRUint32(oldCount)) {
|
||||
// An invalid index causes the insertion to fail
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
if (oldCount + 1 > mArraySize) {
|
||||
// We have to grow the array
|
||||
PRInt32 newCount = oldCount + kGrowArrayBy;
|
||||
void** newArray = new void*[newCount];
|
||||
if (mArray != nsnull && aIndex != 0)
|
||||
nsCRT::memcpy(newArray, mArray, aIndex * sizeof(void*));
|
||||
PRInt32 slide = oldCount - aIndex;
|
||||
if (0 != slide) {
|
||||
// Slide data over to make room for the insertion
|
||||
nsCRT::memcpy(newArray + aIndex + 1, mArray + aIndex,
|
||||
slide * sizeof(void*));
|
||||
}
|
||||
if (mArray != nsnull)
|
||||
delete [] mArray;
|
||||
mArray = newArray;
|
||||
mArraySize = newCount;
|
||||
} else {
|
||||
// The array is already large enough
|
||||
PRInt32 slide = oldCount - aIndex;
|
||||
if (0 != slide) {
|
||||
// Slide data over to make room for the insertion
|
||||
nsCRT::memmove(mArray + aIndex + 1, mArray + aIndex,
|
||||
slide * sizeof(void*));
|
||||
}
|
||||
}
|
||||
mArray[aIndex] = aElement;
|
||||
mCount++;
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::ReplaceElementAt(void* aElement, PRInt32 aIndex)
|
||||
{
|
||||
if (PRUint32(aIndex) >= PRUint32(mArraySize)) {
|
||||
|
||||
PRInt32 requestedCount = aIndex + 1;
|
||||
PRInt32 growDelta = requestedCount - mCount;
|
||||
PRInt32 newCount = mCount + (growDelta > kGrowArrayBy ? growDelta : kGrowArrayBy);
|
||||
void** newArray = new void*[newCount];
|
||||
nsCRT::memset(newArray, 0, newCount * sizeof(void*));
|
||||
if (newArray==nsnull)
|
||||
return PR_FALSE;
|
||||
if (mArray != nsnull && aIndex != 0) {
|
||||
nsCRT::memcpy(newArray, mArray, mCount * sizeof(void*));
|
||||
if (mArray != nsnull)
|
||||
delete [] mArray;
|
||||
}
|
||||
mArray = newArray;
|
||||
mArraySize = newCount;
|
||||
}
|
||||
mArray[aIndex] = aElement;
|
||||
if (aIndex >= mCount)
|
||||
mCount = aIndex+1;
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::RemoveElementAt(PRInt32 aIndex)
|
||||
{
|
||||
PRInt32 oldCount = mCount;
|
||||
if (PRUint32(aIndex) >= PRUint32(oldCount)) {
|
||||
// An invalid index causes the replace to fail
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// We don't need to move any elements if we're removing the
|
||||
// last element in the array
|
||||
if (aIndex < (oldCount - 1)) {
|
||||
nsCRT::memmove(mArray + aIndex, mArray + aIndex + 1,
|
||||
(oldCount - 1 - aIndex) * sizeof(void*));
|
||||
}
|
||||
|
||||
mCount--;
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::RemoveElement(void* aElement)
|
||||
{
|
||||
void** ep = mArray;
|
||||
void** end = ep + mCount;
|
||||
while (ep < end) {
|
||||
void* e = *ep++;
|
||||
if (e == aElement) {
|
||||
ep--;
|
||||
return RemoveElementAt(PRInt32(ep - mArray));
|
||||
}
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
void nsVoidArray::Clear()
|
||||
{
|
||||
mCount = 0;
|
||||
}
|
||||
|
||||
void nsVoidArray::Compact()
|
||||
{
|
||||
PRInt32 count = mCount;
|
||||
if (mArraySize != count) {
|
||||
void** newArray = new void*[count];
|
||||
if (nsnull != newArray) {
|
||||
nsCRT::memcpy(newArray, mArray, count * sizeof(void*));
|
||||
delete [] mArray;
|
||||
mArray = newArray;
|
||||
mArraySize = count;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::EnumerateForwards(nsVoidArrayEnumFunc aFunc, void* aData)
|
||||
{
|
||||
PRInt32 index = -1;
|
||||
PRBool running = PR_TRUE;
|
||||
|
||||
while (running && (++index < mCount)) {
|
||||
running = (*aFunc)(mArray[index], aData);
|
||||
}
|
||||
return running;
|
||||
}
|
||||
|
||||
PRBool nsVoidArray::EnumerateBackwards(nsVoidArrayEnumFunc aFunc, void* aData)
|
||||
{
|
||||
PRInt32 index = mCount;
|
||||
PRBool running = PR_TRUE;
|
||||
|
||||
while (running && (0 <= --index)) {
|
||||
running = (*aFunc)(mArray[index], aData);
|
||||
}
|
||||
return running;
|
||||
}
|
||||
|
||||
74
mozilla/base/src/nsVoidArray.h
Normal file
74
mozilla/base/src/nsVoidArray.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nsVoidArray_h___
|
||||
#define nsVoidArray_h___
|
||||
|
||||
#include "nscore.h"
|
||||
class nsISizeOfHandler;
|
||||
|
||||
// Enumerator callback function. Return PR_FALSE to stop
|
||||
typedef PRBool (*nsVoidArrayEnumFunc)(void* aElement, void *aData);
|
||||
|
||||
/// A basic zero-based array of void*'s that manages its own memory
|
||||
class NS_BASE nsVoidArray {
|
||||
public:
|
||||
nsVoidArray();
|
||||
nsVoidArray(PRInt32 aCount); // initial count of aCount elements set to nsnull
|
||||
~nsVoidArray();
|
||||
|
||||
nsVoidArray& operator=(const nsVoidArray& other);
|
||||
|
||||
void SizeOf(nsISizeOfHandler* aHandler) const;
|
||||
|
||||
PRInt32 Count() const {
|
||||
return mCount;
|
||||
}
|
||||
|
||||
void* ElementAt(PRInt32 aIndex) const;
|
||||
void* operator[](PRInt32 aIndex) const { return ElementAt(aIndex); }
|
||||
|
||||
PRInt32 IndexOf(void* aPossibleElement) const;
|
||||
|
||||
PRBool InsertElementAt(void* aElement, PRInt32 aIndex);
|
||||
|
||||
PRBool ReplaceElementAt(void* aElement, PRInt32 aIndex);
|
||||
|
||||
PRBool AppendElement(void* aElement) {
|
||||
return InsertElementAt(aElement, mCount);
|
||||
}
|
||||
|
||||
PRBool RemoveElement(void* aElement);
|
||||
PRBool RemoveElementAt(PRInt32 aIndex);
|
||||
void Clear();
|
||||
|
||||
void Compact();
|
||||
|
||||
PRBool EnumerateForwards(nsVoidArrayEnumFunc aFunc, void* aData);
|
||||
PRBool EnumerateBackwards(nsVoidArrayEnumFunc aFunc, void* aData);
|
||||
|
||||
protected:
|
||||
void** mArray;
|
||||
PRInt32 mArraySize;
|
||||
PRInt32 mCount;
|
||||
|
||||
private:
|
||||
/// Copy constructors are not allowed
|
||||
nsVoidArray(const nsVoidArray& other);
|
||||
};
|
||||
|
||||
#endif /* nsVoidArray_h___ */
|
||||
127
mozilla/base/src/nscore.h
Normal file
127
mozilla/base/src/nscore.h
Normal file
@@ -0,0 +1,127 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef nscore_h___
|
||||
#define nscore_h___
|
||||
|
||||
#ifdef _WIN32
|
||||
#define NS_WIN32 1
|
||||
#endif
|
||||
|
||||
#if defined(__unix)
|
||||
#define NS_UNIX 1
|
||||
#endif
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "nsDebug.h"
|
||||
|
||||
/** ucs2 datatype for 2 byte unicode characters */
|
||||
typedef PRUint16 PRUcs2;
|
||||
|
||||
/** ucs4 datatype for 4 byte unicode characters */
|
||||
typedef PRUint32 PRUcs4;
|
||||
|
||||
#ifdef NS_UCS4
|
||||
typedef PRUcs4 PRUnichar;
|
||||
#else
|
||||
typedef PRUcs2 PRUnichar;
|
||||
#endif
|
||||
|
||||
/// The preferred symbol for null.
|
||||
#define nsnull 0
|
||||
|
||||
/* Define brackets for protecting C code from C++ */
|
||||
#ifdef __cplusplus
|
||||
#define NS_BEGIN_EXTERN_C extern "C" {
|
||||
#define NS_END_EXTERN_C }
|
||||
#else
|
||||
#define NS_BEGIN_EXTERN_C
|
||||
#define NS_END_EXTERN_C
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* Import/export defines */
|
||||
|
||||
#ifdef NS_WIN32
|
||||
#define NS_IMPORT _declspec(dllimport)
|
||||
#define NS_IMPORT_(type) type _declspec(dllimport) __stdcall
|
||||
#define NS_EXPORT _declspec(dllexport)
|
||||
// XXX NS_EXPORT_ defined in nsCOm.h (xpcom) differs in where the __declspec
|
||||
// is placed. It needs to be done this way to make the 4.x compiler happy...
|
||||
#undef NS_EXPORT_
|
||||
#define NS_EXPORT_(type) type _declspec(dllexport) __stdcall
|
||||
#else
|
||||
/* XXX do something useful? */
|
||||
#define NS_IMPORT
|
||||
#define NS_IMPORT_(type) type
|
||||
#define NS_EXPORT
|
||||
#define NS_EXPORT_(type) type
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_BASE
|
||||
#define NS_BASE NS_EXPORT
|
||||
#else
|
||||
#define NS_BASE NS_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_NET
|
||||
#define NS_NET NS_EXPORT
|
||||
#else
|
||||
#define NS_NET NS_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_DOM
|
||||
#define NS_DOM NS_EXPORT
|
||||
#else
|
||||
#define NS_DOM NS_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_WIDGET
|
||||
#define NS_WIDGET NS_EXPORT
|
||||
#else
|
||||
#define NS_WIDGET NS_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_VIEW
|
||||
#define NS_VIEW NS_EXPORT
|
||||
#else
|
||||
#define NS_VIEW NS_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_GFXNONXP
|
||||
#define NS_GFXNONXP NS_EXPORT
|
||||
#define NS_GFXNONXP_(type) NS_EXPORT_(type)
|
||||
#else
|
||||
#define NS_GFXNONXP NS_IMPORT
|
||||
#define NS_GFXNONXP_(type) NS_IMPORT_(type)
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_GFX
|
||||
#define NS_GFX NS_EXPORT
|
||||
#define NS_GFX_(type) NS_EXPORT_(type)
|
||||
#else
|
||||
#define NS_GFX NS_IMPORT
|
||||
#define NS_GFX_(type) NS_IMPORT_(type)
|
||||
#endif
|
||||
|
||||
#ifdef _IMPL_NS_PLUGIN
|
||||
#define NS_PLUGIN NS_EXPORT
|
||||
#else
|
||||
#define NS_PLUGIN NS_IMPORT
|
||||
#endif
|
||||
|
||||
#endif /* nscore_h___ */
|
||||
43
mozilla/base/src/unix/Makefile
Normal file
43
mozilla/base/src/unix/Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
|
||||
DEPTH = ../../..
|
||||
|
||||
|
||||
LIBRARY_NAME = gmbaseunix
|
||||
|
||||
MODULE=raptor
|
||||
|
||||
REQUIRES=xpcom raptor
|
||||
|
||||
DEFINES = -D_IMPL_NS_WIDGET
|
||||
|
||||
CPPSRCS= \
|
||||
nsTimer.cpp
|
||||
|
||||
CPP_OBJS= \
|
||||
./$(OBJDIR)/nsTimer.o \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/config.mk
|
||||
|
||||
TARGETS = $(LIBRARY)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
|
||||
|
||||
47
mozilla/base/src/unix/Makefile.in
Normal file
47
mozilla/base/src/unix/Makefile.in
Normal file
@@ -0,0 +1,47 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
LIBRARY_NAME = gmbaseunix
|
||||
|
||||
MODULE=raptor
|
||||
|
||||
REQUIRES=xpcom raptor
|
||||
|
||||
DEFINES = -D_IMPL_NS_WIDGET
|
||||
|
||||
CPPSRCS= \
|
||||
nsTimer.cpp
|
||||
|
||||
CPP_OBJS= \
|
||||
./$(OBJDIR)/nsTimer.o \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
TARGETS = $(LIBRARY)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
||||
173
mozilla/base/src/unix/nsTimer.cpp
Normal file
173
mozilla/base/src/unix/nsTimer.cpp
Normal file
@@ -0,0 +1,173 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsITimer.h"
|
||||
#include "nsITimerCallback.h"
|
||||
#include "nsCRT.h"
|
||||
#include "prlog.h"
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
|
||||
|
||||
// Hack for now. This is Bad because it creates a dependency between the widget
|
||||
// library and this library. This needs to be replaced with having code
|
||||
// to pass an interface which can be queried for the app context.
|
||||
extern XtAppContext gAppContext;
|
||||
|
||||
extern void nsTimerExpired(XtPointer aCallData);
|
||||
|
||||
|
||||
/*
|
||||
* Implementation of timers using Xt timer facility
|
||||
*/
|
||||
class TimerImpl : public nsITimer {
|
||||
public:
|
||||
|
||||
public:
|
||||
TimerImpl();
|
||||
virtual ~TimerImpl();
|
||||
|
||||
virtual nsresult Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay);
|
||||
|
||||
virtual nsresult Init(nsITimerCallback *aCallback,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay);
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
virtual void Cancel();
|
||||
virtual PRUint32 GetDelay() { return mDelay; }
|
||||
virtual void SetDelay(PRUint32 aDelay) { mDelay=aDelay; };
|
||||
virtual void* GetClosure() { return mClosure; }
|
||||
|
||||
void FireTimeout();
|
||||
|
||||
private:
|
||||
nsresult Init(PRUint32 aDelay);
|
||||
|
||||
PRUint32 mDelay;
|
||||
nsTimerCallbackFunc mFunc;
|
||||
void *mClosure;
|
||||
nsITimerCallback *mCallback;
|
||||
// PRBool mRepeat;
|
||||
TimerImpl *mNext;
|
||||
XtIntervalId mTimerId;
|
||||
};
|
||||
|
||||
void TimerImpl::FireTimeout()
|
||||
{
|
||||
if (mFunc != NULL) {
|
||||
(*mFunc)(this, mClosure);
|
||||
}
|
||||
else if (mCallback != NULL) {
|
||||
mCallback->Notify(this); // Fire the timer
|
||||
}
|
||||
|
||||
// Always repeating here
|
||||
|
||||
// if (mRepeat)
|
||||
// mTimerId = XtAppAddTimeOut(gAppContext, GetDelay(),(XtTimerCallbackProc)nsTimerExpired, this);
|
||||
}
|
||||
|
||||
|
||||
TimerImpl::TimerImpl()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mFunc = NULL;
|
||||
mCallback = NULL;
|
||||
mNext = NULL;
|
||||
mTimerId = 0;
|
||||
mDelay = 0;
|
||||
mClosure = NULL;
|
||||
}
|
||||
|
||||
TimerImpl::~TimerImpl()
|
||||
{
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mFunc = aFunc;
|
||||
mClosure = aClosure;
|
||||
// mRepeat = aRepeat;
|
||||
|
||||
mTimerId = XtAppAddTimeOut(gAppContext, aDelay,(XtTimerCallbackProc)nsTimerExpired, this);
|
||||
|
||||
return Init(aDelay);
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(nsITimerCallback *aCallback,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mCallback = aCallback;
|
||||
// mRepeat = aRepeat;
|
||||
|
||||
mTimerId = XtAppAddTimeOut(gAppContext, aDelay, (XtTimerCallbackProc)nsTimerExpired, this);
|
||||
|
||||
return Init(aDelay);
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(PRUint32 aDelay)
|
||||
{
|
||||
mDelay = aDelay;
|
||||
NS_ADDREF(this);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
|
||||
|
||||
|
||||
void
|
||||
TimerImpl::Cancel()
|
||||
{
|
||||
XtRemoveTimeOut(mTimerId);
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
|
||||
if (nsnull == aInstancePtrResult) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
|
||||
TimerImpl *timer = new TimerImpl();
|
||||
if (nsnull == timer) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
|
||||
|
||||
void nsTimerExpired(XtPointer aCallData)
|
||||
{
|
||||
TimerImpl* timer = (TimerImpl *)aCallData;
|
||||
timer->FireTimeout();
|
||||
}
|
||||
40
mozilla/base/src/windows/makefile.win
Normal file
40
mozilla/base/src/windows/makefile.win
Normal file
@@ -0,0 +1,40 @@
|
||||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=..\..\..
|
||||
IGNORE_MANIFEST=1
|
||||
|
||||
DEFINES=-D_IMPL_NS_BASE
|
||||
LIBRARY_NAME=gmbase
|
||||
MODULE=raptor
|
||||
REQUIRES=xpcom raptor
|
||||
|
||||
CPPSRCS=nsTimer.cpp
|
||||
|
||||
CPP_OBJS=.\$(OBJDIR)\nsTimer.obj
|
||||
|
||||
LINCS=-I$(XPDIST)\public\xpcom -I$(XPDIST)\public\raptor
|
||||
|
||||
LCFLAGS = \
|
||||
$(LCFLAGS) \
|
||||
-D_IMPL_NS_BASE \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
libs:: $(OBJS)
|
||||
$(MAKE_INSTALL) $(OBJDIR)\nsTimer.obj ..\$(OBJDIR)
|
||||
362
mozilla/base/src/windows/nsTimer.cpp
Normal file
362
mozilla/base/src/windows/nsTimer.cpp
Normal file
@@ -0,0 +1,362 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsITimer.h"
|
||||
#include "nsITimerCallback.h"
|
||||
#include "nsCRT.h"
|
||||
#include "prlog.h"
|
||||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <limits.h>
|
||||
|
||||
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
|
||||
|
||||
/*
|
||||
* Implementation of timers lifted from Windows front-end file timer.cpp
|
||||
*/
|
||||
class TimerImpl : public nsITimer {
|
||||
public:
|
||||
static TimerImpl *gTimerList;
|
||||
static UINT gWindowsTimer;
|
||||
static DWORD gNextFire;
|
||||
|
||||
static void ProcessTimeouts(DWORD aNow);
|
||||
static void SyncTimeoutPeriod(DWORD aTickCount);
|
||||
|
||||
public:
|
||||
TimerImpl();
|
||||
virtual ~TimerImpl();
|
||||
|
||||
virtual nsresult Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay);
|
||||
|
||||
virtual nsresult Init(nsITimerCallback *aCallback,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay);
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
virtual void Cancel();
|
||||
void Fire(DWORD aNow);
|
||||
|
||||
virtual PRUint32 GetDelay() { return mDelay; }
|
||||
virtual void SetDelay(PRUint32 aDelay) {};
|
||||
|
||||
virtual void* GetClosure() { return mClosure; }
|
||||
|
||||
private:
|
||||
nsresult Init(PRUint32 aDelay);
|
||||
|
||||
PRUint32 mDelay;
|
||||
nsTimerCallbackFunc mFunc;
|
||||
void *mClosure;
|
||||
nsITimerCallback *mCallback;
|
||||
DWORD mFireTime;
|
||||
// PRBool mRepeat;
|
||||
TimerImpl *mNext;
|
||||
};
|
||||
|
||||
TimerImpl *TimerImpl::gTimerList = NULL;
|
||||
UINT TimerImpl::gWindowsTimer = 0;
|
||||
DWORD TimerImpl::gNextFire = (DWORD)-1;
|
||||
|
||||
void CALLBACK FireTimeout(HWND aWindow,
|
||||
UINT aMessage,
|
||||
UINT aTimerID,
|
||||
DWORD aTime)
|
||||
{
|
||||
static BOOL bCanEnter = TRUE;
|
||||
|
||||
// Don't allow old timer messages in here.
|
||||
if(aMessage != WM_TIMER) {
|
||||
PR_ASSERT(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if(aTimerID != TimerImpl::gWindowsTimer) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Block only one entry into this function, or else.
|
||||
if(bCanEnter) {
|
||||
bCanEnter = FALSE;
|
||||
// see if we need to fork off any timeout functions
|
||||
if(TimerImpl::gTimerList) {
|
||||
TimerImpl::ProcessTimeouts(aTime);
|
||||
}
|
||||
bCanEnter = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Function to correctly have the timer be set.
|
||||
void
|
||||
TimerImpl::SyncTimeoutPeriod(DWORD aTickCount)
|
||||
{
|
||||
// May want us to set tick count ourselves.
|
||||
if(aTickCount == 0) {
|
||||
aTickCount = ::GetTickCount();
|
||||
}
|
||||
|
||||
// If there's no list, we should clear the timer.
|
||||
if(!gTimerList) {
|
||||
if(gWindowsTimer) {
|
||||
::KillTimer(NULL, gWindowsTimer);
|
||||
gWindowsTimer = 0;
|
||||
gNextFire = (DWORD)-1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// See if we need to clear the current timer.
|
||||
// Curcumstances are that if the timer will not
|
||||
// fire on time for the next timeout.
|
||||
BOOL bSetTimer = FALSE;
|
||||
TimerImpl *pTimeout = gTimerList;
|
||||
if(gWindowsTimer) {
|
||||
if(pTimeout->mFireTime != gNextFire) {
|
||||
::KillTimer(NULL, gWindowsTimer);
|
||||
gWindowsTimer = 0;
|
||||
gNextFire = (DWORD)-1;
|
||||
|
||||
// Set the timer.
|
||||
bSetTimer = TRUE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// No timer set, attempt.
|
||||
bSetTimer = TRUE;
|
||||
}
|
||||
|
||||
if(bSetTimer) {
|
||||
DWORD dwFireWhen = pTimeout->mFireTime > aTickCount ?
|
||||
pTimeout->mFireTime - aTickCount : 0;
|
||||
if(dwFireWhen > UINT_MAX) {
|
||||
dwFireWhen = UINT_MAX;
|
||||
}
|
||||
UINT uFireWhen = (UINT)dwFireWhen;
|
||||
|
||||
PR_ASSERT(gWindowsTimer == 0);
|
||||
gWindowsTimer = ::SetTimer(NULL, 0, uFireWhen, (TIMERPROC)FireTimeout);
|
||||
|
||||
if(gWindowsTimer) {
|
||||
// Set the fire time.
|
||||
gNextFire = pTimeout->mFireTime;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Walk down the timeout list and launch anyone appropriate
|
||||
void
|
||||
TimerImpl::ProcessTimeouts(DWORD aNow)
|
||||
{
|
||||
TimerImpl *p = gTimerList;
|
||||
if(aNow == 0) {
|
||||
aNow = ::GetTickCount();
|
||||
}
|
||||
|
||||
BOOL bCalledSync = FALSE;
|
||||
|
||||
// loop over all entries
|
||||
while(p) {
|
||||
// send it
|
||||
if(p->mFireTime < aNow) {
|
||||
// Make sure that the timer cannot be deleted during the
|
||||
// Fire(...) call which may release *all* other references
|
||||
// to p...
|
||||
NS_ADDREF(p);
|
||||
p->Fire(aNow);
|
||||
|
||||
// Clear the timer.
|
||||
// Period synced.
|
||||
p->Cancel();
|
||||
bCalledSync = TRUE;
|
||||
NS_RELEASE(p);
|
||||
|
||||
// Reset the loop (can't look at p->pNext now, and called
|
||||
// code may have added/cleared timers).
|
||||
// (could do this by going recursive and returning).
|
||||
p = gTimerList;
|
||||
} else {
|
||||
// Make sure we fire an timer.
|
||||
// Also, we need to check to see if things are backing up (they
|
||||
// may be asking to be fired long before we ever get to them,
|
||||
// and we don't want to pass in negative values to the real
|
||||
// timer code, or it takes days to fire....
|
||||
if(bCalledSync == FALSE) {
|
||||
SyncTimeoutPeriod(aNow);
|
||||
bCalledSync = TRUE;
|
||||
}
|
||||
// Get next timer.
|
||||
p = p->mNext;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TimerImpl::TimerImpl()
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mFunc = NULL;
|
||||
mCallback = NULL;
|
||||
mNext = NULL;
|
||||
mClosure = nsnull;
|
||||
}
|
||||
|
||||
TimerImpl::~TimerImpl()
|
||||
{
|
||||
Cancel();
|
||||
NS_IF_RELEASE(mCallback);
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(nsTimerCallbackFunc aFunc,
|
||||
void *aClosure,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mFunc = aFunc;
|
||||
mClosure = aClosure;
|
||||
// mRepeat = aRepeat;
|
||||
|
||||
return Init(aDelay);
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(nsITimerCallback *aCallback,
|
||||
// PRBool aRepeat,
|
||||
PRUint32 aDelay)
|
||||
{
|
||||
mCallback = aCallback;
|
||||
NS_ADDREF(mCallback);
|
||||
// mRepeat = aRepeat;
|
||||
|
||||
return Init(aDelay);
|
||||
}
|
||||
|
||||
nsresult
|
||||
TimerImpl::Init(PRUint32 aDelay)
|
||||
{
|
||||
DWORD dwNow = ::GetTickCount();
|
||||
|
||||
mDelay = aDelay;
|
||||
mFireTime = (DWORD) aDelay + dwNow;
|
||||
mNext = NULL;
|
||||
|
||||
// add it to the list
|
||||
if(!gTimerList) {
|
||||
// no list add it
|
||||
gTimerList = this;
|
||||
}
|
||||
else {
|
||||
|
||||
// is it before everything else on the list?
|
||||
if(mFireTime < gTimerList->mFireTime) {
|
||||
|
||||
mNext = gTimerList;
|
||||
gTimerList = this;
|
||||
|
||||
} else {
|
||||
|
||||
TimerImpl * pPrev = gTimerList;
|
||||
TimerImpl * pCurrent = gTimerList;
|
||||
|
||||
while(pCurrent && (pCurrent->mFireTime <= mFireTime)) {
|
||||
pPrev = pCurrent;
|
||||
pCurrent = pCurrent->mNext;
|
||||
}
|
||||
|
||||
PR_ASSERT(pPrev);
|
||||
|
||||
// insert it after pPrev (this could be at the end of the list)
|
||||
mNext = pPrev->mNext;
|
||||
pPrev->mNext = this;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
NS_ADDREF(this);
|
||||
|
||||
// Sync the timer fire period.
|
||||
SyncTimeoutPeriod(dwNow);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
|
||||
|
||||
void
|
||||
TimerImpl::Fire(DWORD aNow)
|
||||
{
|
||||
if (mFunc != NULL) {
|
||||
(*mFunc)(this, mClosure);
|
||||
}
|
||||
else if (mCallback != NULL) {
|
||||
mCallback->Notify(this);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
TimerImpl::Cancel()
|
||||
{
|
||||
TimerImpl *me = this;
|
||||
|
||||
if(gTimerList == this) {
|
||||
|
||||
// first element in the list lossage
|
||||
gTimerList = mNext;
|
||||
|
||||
} else {
|
||||
|
||||
// walk until no next pointer
|
||||
for(TimerImpl * p = gTimerList; p && p->mNext && (p->mNext != this); p = p->mNext)
|
||||
;
|
||||
|
||||
// if we found something valid pull it out of the list
|
||||
if(p && p->mNext && p->mNext == this) {
|
||||
p->mNext = mNext;
|
||||
|
||||
} else {
|
||||
// get out before we delete something that looks bogus
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if we got here it must have been a valid element so trash it
|
||||
NS_RELEASE(me);
|
||||
|
||||
// If there's now no be sure to clear the timer.
|
||||
SyncTimeoutPeriod(0);
|
||||
}
|
||||
|
||||
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
|
||||
{
|
||||
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
|
||||
if (nsnull == aInstancePtrResult) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
|
||||
TimerImpl *timer = new TimerImpl();
|
||||
if (nsnull == timer) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
|
||||
}
|
||||
105
mozilla/base/tests/CvtURL.cpp
Normal file
105
mozilla/base/tests/CvtURL.cpp
Normal file
@@ -0,0 +1,105 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include "nsIUnicharInputStream.h"
|
||||
#include "nsIURL.h"
|
||||
#include "nsCRT.h"
|
||||
#include "nsString.h"
|
||||
#include "prprf.h"
|
||||
#include "prtime.h"
|
||||
|
||||
static nsCharSetID ConvertCharacterSetName(const char* aName)
|
||||
{
|
||||
if (nsCRT::strcasecmp(aName, "iso-latin-1") == 0) {
|
||||
return eCharSetID_IsoLatin1;
|
||||
}
|
||||
return (nsCharSetID) -1;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
if (3 != argc) {
|
||||
printf("usage: CvtURL url character-set-name\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
char* characterSetName = argv[2];
|
||||
nsCharSetID cset = ConvertCharacterSetName(characterSetName);
|
||||
if (PRInt32(cset) < 0) {
|
||||
printf("illegal character set name: '%s'\n", characterSetName);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Create url object
|
||||
char* urlName = argv[1];
|
||||
nsIURL* url;
|
||||
nsresult rv = NS_NewURL(&url, urlName);
|
||||
if (NS_OK != rv) {
|
||||
printf("invalid URL: '%s'\n", urlName);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Get an input stream from the url
|
||||
PRInt32 ec;
|
||||
nsIInputStream* in = url->Open(&ec);
|
||||
if (nsnull == in) {
|
||||
printf("open of url('%s') failed: error=%x\n", urlName, ec);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Translate the input using the argument character set id into unicode
|
||||
nsIUnicharInputStream* uin;
|
||||
rv = NS_NewConverterStream(&uin, nsnull, in, 0, cset);
|
||||
if (NS_OK != rv) {
|
||||
printf("can't create converter input stream: %d\n", rv);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Read the input and write some output
|
||||
PRTime start = PR_Now();
|
||||
PRInt32 count = 0;
|
||||
for (;;) {
|
||||
PRUnichar buf[1000];
|
||||
PRInt32 nb;
|
||||
ec = uin->Read(buf, 0, 1000, &nb);
|
||||
if (ec < 0) {
|
||||
if (ec != NS_BASE_STREAM_EOF) {
|
||||
printf("i/o error: %d\n", ec);
|
||||
}
|
||||
break;
|
||||
}
|
||||
count += nb;
|
||||
}
|
||||
PRTime end = PR_Now();
|
||||
PRTime conversion, ustoms;
|
||||
LL_I2L(ustoms, 1000);
|
||||
LL_SUB(conversion, end, start);
|
||||
LL_DIV(conversion, conversion, ustoms);
|
||||
char buf[500];
|
||||
PR_snprintf(buf, sizeof(buf),
|
||||
"converting and discarding %d bytes took %lldms",
|
||||
count, conversion);
|
||||
puts(buf);
|
||||
|
||||
// Release the objects
|
||||
in->Release();
|
||||
uin->Release();
|
||||
url->Release();
|
||||
|
||||
return 0;
|
||||
}
|
||||
62
mozilla/base/tests/Makefile
Normal file
62
mozilla/base/tests/Makefile
Normal file
@@ -0,0 +1,62 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
|
||||
REQUIRES=xpcom netlib
|
||||
|
||||
include $(DEPTH)/config/config.mk
|
||||
|
||||
CPPSRCS = \
|
||||
TestAtoms.cpp \
|
||||
TestCRT.cpp \
|
||||
$(NULL)
|
||||
|
||||
INCLUDES+=-I../src
|
||||
|
||||
OBJS = $(CPPSRCS:.cpp=.o)
|
||||
|
||||
EX_LIBS = \
|
||||
$(DIST)/lib/libraptorbase.a \
|
||||
$(DIST)/lib/libxpcom.a \
|
||||
$(DIST)/lib/libplc21.a \
|
||||
$(DIST)/lib/libplds21.a \
|
||||
$(DIST)/lib/libnspr21.a \
|
||||
$(NULL)
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CPPSRCS:.cpp=))
|
||||
|
||||
TARGETS = $(PROGS)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
|
||||
# needed for mac linux
|
||||
ifeq (linux,$(ARCH))
|
||||
OS_LIBS += /usr/lib/libdl.so
|
||||
endif
|
||||
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CCC) -o $@ $(CFLAGS) -c $*.cpp
|
||||
|
||||
$(PROGS):$(OBJDIR)/%: $(OBJDIR)/%.o $(EX_LIBS)
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CCC) -o $@ $@.o $(LDFLAGS) $(EX_LIBS) $(OS_LIBS)
|
||||
|
||||
install:: $(TARGETS)
|
||||
$(INSTALL) $(PROGS) $(DIST)/bin
|
||||
|
||||
67
mozilla/base/tests/Makefile.in
Normal file
67
mozilla/base/tests/Makefile.in
Normal file
@@ -0,0 +1,67 @@
|
||||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=../..
|
||||
topsrcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
REQUIRES=xpcom netlib
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
CPPSRCS = \
|
||||
TestAtoms.cpp \
|
||||
TestCRT.cpp \
|
||||
$(NULL)
|
||||
|
||||
INCLUDES+=-I$(srcdir)/../src
|
||||
|
||||
OBJS = $(CPPSRCS:.cpp=.o)
|
||||
|
||||
EX_LIBS = \
|
||||
$(DIST)/lib/libraptorbase.a \
|
||||
$(DIST)/lib/libxpcom.a \
|
||||
$(DIST)/lib/libplc21.a \
|
||||
$(DIST)/lib/libplds21.a \
|
||||
$(DIST)/lib/libnspr21.a \
|
||||
$(NULL)
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CPPSRCS:.cpp=))
|
||||
|
||||
TARGETS = $(PROGS)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
# needed for mac linux
|
||||
ifeq (linux,$(ARCH))
|
||||
OS_LIBS += /usr/lib/libdl.so
|
||||
endif
|
||||
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CCC) -o $@ $(CFLAGS) -c $<
|
||||
|
||||
$(PROGS):$(OBJDIR)/%: $(OBJDIR)/%.o $(EX_LIBS)
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CCC) -o $@ $@.o $(LDFLAGS) $(EX_LIBS) $(OS_LIBS)
|
||||
|
||||
install:: $(TARGETS)
|
||||
$(INSTALL) $(PROGS) $(DIST)/bin
|
||||
|
||||
109
mozilla/base/tests/TestAtoms.cpp
Normal file
109
mozilla/base/tests/TestAtoms.cpp
Normal file
@@ -0,0 +1,109 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "nsIAtom.h"
|
||||
#include "nsString.h"
|
||||
#include "prprf.h"
|
||||
#include "prtime.h"
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" int _CrtSetDbgFlag(int);
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
FILE* fp = fopen("words.txt", "r");
|
||||
if (nsnull == fp) {
|
||||
printf("can't open words.txt\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
PRInt32 count = 0;
|
||||
PRUnichar** strings = new PRUnichar*[60000];
|
||||
nsIAtom** ids = new nsIAtom*[60000];
|
||||
nsAutoString s1, s2;
|
||||
PRTime start = PR_Now();
|
||||
PRInt32 i;
|
||||
for (i = 0; i < 60000; i++) {
|
||||
char buf[1000];
|
||||
char* s = fgets(buf, sizeof(buf), fp);
|
||||
if (nsnull == s) {
|
||||
break;
|
||||
}
|
||||
nsAutoString sb(buf);
|
||||
strings[count++] = sb.ToNewUnicode();
|
||||
sb.ToUpperCase();
|
||||
strings[count++] = sb.ToNewUnicode();
|
||||
}
|
||||
PRTime end0 = PR_Now();
|
||||
|
||||
// Find and create idents
|
||||
for (i = 0; i < count; i++) {
|
||||
ids[i] = NS_NewAtom(strings[i]);
|
||||
}
|
||||
PRUnichar qqs[1]; qqs[0] = 0;
|
||||
nsIAtom* qq = NS_NewAtom(qqs);
|
||||
PRTime end1 = PR_Now();
|
||||
|
||||
// Now make sure we can find all the idents we just made
|
||||
for (i = 0; i < count; i++) {
|
||||
nsIAtom* id = NS_NewAtom(ids[i]->GetUnicode());
|
||||
if (id != ids[i]) {
|
||||
id->ToString(s1);
|
||||
ids[i]->ToString(s2);
|
||||
printf("find failed: id='%s' ids[%d]='%s'\n",
|
||||
s1.ToNewCString(), i, s2.ToNewCString());
|
||||
return -1;
|
||||
}
|
||||
NS_RELEASE(id);
|
||||
}
|
||||
PRTime end2 = PR_Now();
|
||||
|
||||
// Destroy all the atoms we just made
|
||||
NS_RELEASE(qq);
|
||||
for (i = 0; i < count; i++) {
|
||||
NS_RELEASE(ids[i]);
|
||||
}
|
||||
|
||||
// Print out timings
|
||||
PRTime end3 = PR_Now();
|
||||
PRTime creates, finds, lookups, dtor, ustoms;
|
||||
LL_I2L(ustoms, 1000);
|
||||
LL_SUB(creates, end0, start);
|
||||
LL_DIV(creates, creates, ustoms);
|
||||
LL_SUB(finds, end1, end0);
|
||||
LL_DIV(finds, finds, ustoms);
|
||||
LL_SUB(lookups, end2, end1);
|
||||
LL_DIV(lookups, lookups, ustoms);
|
||||
LL_SUB(dtor, end3, end2);
|
||||
char buf[500];
|
||||
PR_snprintf(buf, sizeof(buf), "making %d ident strings took %lldms",
|
||||
count, creates);
|
||||
puts(buf);
|
||||
PR_snprintf(buf, sizeof(buf), "%d new idents took %lldms",
|
||||
count, finds);
|
||||
puts(buf);
|
||||
PR_snprintf(buf, sizeof(buf), "%d ident lookups took %lldms",
|
||||
count, lookups);
|
||||
puts(buf);
|
||||
PR_snprintf(buf, sizeof(buf), "dtor took %lldusec", dtor);
|
||||
puts(buf);
|
||||
|
||||
printf("%d live atoms\n", NS_GetNumberOfAtoms());
|
||||
NS_POSTCONDITION(0 == NS_GetNumberOfAtoms(), "dangling atoms");
|
||||
|
||||
return 0;
|
||||
}
|
||||
89
mozilla/base/tests/TestCRT.cpp
Normal file
89
mozilla/base/tests/TestCRT.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#include "nsCRT.h"
|
||||
#include "nsString.h"
|
||||
#include "plstr.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
// Verify that nsCRT versions of string comparison routines get the
|
||||
// same answers as the native non-unicode versions. We only pass in
|
||||
// iso-latin-1 strings, so the comparision must be valid.
|
||||
static void Check(const char* s1, const char* s2, PRIntn n)
|
||||
{
|
||||
PRIntn clib = PL_strcmp(s1, s2);
|
||||
PRIntn clib_n = PL_strncmp(s1, s2, n);
|
||||
PRIntn clib_case = PL_strcasecmp(s1, s2);
|
||||
PRIntn clib_case_n = PL_strncasecmp(s1, s2, n);
|
||||
|
||||
nsAutoString t1(s1), t2(s2);
|
||||
const PRUnichar* us1 = t1.GetUnicode();
|
||||
const PRUnichar* us2 = t2.GetUnicode();
|
||||
|
||||
PRIntn u = nsCRT::strcmp(us1, s2);
|
||||
PRIntn u_n = nsCRT::strncmp(us1, s2, n);
|
||||
PRIntn u_case = nsCRT::strcasecmp(us1, s2);
|
||||
PRIntn u_case_n = nsCRT::strncasecmp(us1, s2, n);
|
||||
|
||||
PRIntn u2 = nsCRT::strcmp(us1, us2);
|
||||
PRIntn u2_n = nsCRT::strncmp(us1, us2, n);
|
||||
PRIntn u2_case = nsCRT::strcasecmp(us1, us2);
|
||||
PRIntn u2_case_n = nsCRT::strncasecmp(us1, us2, n);
|
||||
|
||||
NS_ASSERTION(clib == u, "strcmp");
|
||||
NS_ASSERTION(clib_n == u_n, "strncmp");
|
||||
NS_ASSERTION(clib_case == u_case, "strcasecmp");
|
||||
NS_ASSERTION(clib_case_n == u_case_n, "strncasecmp");
|
||||
|
||||
NS_ASSERTION(clib == u2, "strcmp");
|
||||
NS_ASSERTION(clib_n == u2_n, "strncmp");
|
||||
NS_ASSERTION(clib_case == u2_case, "strcasecmp");
|
||||
NS_ASSERTION(clib_case_n == u2_case_n, "strncasecmp");
|
||||
}
|
||||
|
||||
struct Test {
|
||||
const char* s1;
|
||||
const char* s2;
|
||||
PRIntn n;
|
||||
};
|
||||
|
||||
static Test tests[] = {
|
||||
{ "foo", "foo", 3 },
|
||||
{ "foo", "fo", 3 },
|
||||
|
||||
{ "foo", "bar", 3 },
|
||||
{ "foo", "ba", 3 },
|
||||
|
||||
{ "foo", "zap", 3 },
|
||||
{ "foo", "za", 3 },
|
||||
|
||||
{ "bar", "foo", 3 },
|
||||
{ "bar", "fo", 3 },
|
||||
|
||||
{ "bar", "foo", 3 },
|
||||
{ "bar", "fo", 3 },
|
||||
};
|
||||
#define NUM_TESTS (sizeof(tests) / sizeof(tests[0]))
|
||||
|
||||
void main()
|
||||
{
|
||||
Test* tp = tests;
|
||||
for (PRIntn i = 0; i < NUM_TESTS; i++, tp++) {
|
||||
Check(tp->s1, tp->s2, tp->n);
|
||||
}
|
||||
}
|
||||
202
mozilla/base/tests/TimerTest.cpp
Normal file
202
mozilla/base/tests/TimerTest.cpp
Normal file
@@ -0,0 +1,202 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "nsVoidArray.h"
|
||||
#include "nsITimer.h"
|
||||
#include "nsITimerCallback.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "resources.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
static char* class1Name = "TimerTest";
|
||||
|
||||
static HINSTANCE gInstance, gPrevInstance;
|
||||
static nsVoidArray *gTimeouts = NULL;
|
||||
|
||||
static void CreateRepeat(PRUint32 aDelay);
|
||||
|
||||
void
|
||||
MyCallback (nsITimer *aTimer, void *aClosure)
|
||||
{
|
||||
printf("Timer executed with delay %d\n", (int)aClosure);
|
||||
|
||||
if (gTimeouts->RemoveElement(aTimer) == PR_TRUE) {
|
||||
NS_RELEASE(aTimer);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MyRepeatCallback (nsITimer *aTimer, void *aClosure)
|
||||
{
|
||||
printf("Timer executed with delay %d\n", (int)aClosure);
|
||||
|
||||
if (gTimeouts->RemoveElement(aTimer) == PR_TRUE) {
|
||||
NS_RELEASE(aTimer);
|
||||
}
|
||||
|
||||
CreateRepeat((PRUint32)aClosure);
|
||||
}
|
||||
|
||||
static void
|
||||
CreateOneShot(PRUint32 aDelay)
|
||||
{
|
||||
nsITimer *timer;
|
||||
|
||||
NS_NewTimer(&timer);
|
||||
timer->Init(MyCallback, (void *)aDelay, aDelay);
|
||||
|
||||
gTimeouts->AppendElement(timer);
|
||||
}
|
||||
|
||||
static void
|
||||
CreateRepeat(PRUint32 aDelay)
|
||||
{
|
||||
nsITimer *timer;
|
||||
|
||||
NS_NewTimer(&timer);
|
||||
timer->Init(MyRepeatCallback, (void *)aDelay, aDelay);
|
||||
|
||||
gTimeouts->AppendElement(timer);
|
||||
}
|
||||
|
||||
static void
|
||||
CancelAll()
|
||||
{
|
||||
int i, count = gTimeouts->Count();
|
||||
|
||||
for (i=0; i < count; i++) {
|
||||
nsITimer *timer = (nsITimer *)gTimeouts->ElementAt(i);
|
||||
|
||||
if (timer != NULL) {
|
||||
timer->Cancel();
|
||||
NS_RELEASE(timer);
|
||||
}
|
||||
}
|
||||
|
||||
gTimeouts->Clear();
|
||||
}
|
||||
|
||||
long PASCAL
|
||||
WndProc(HWND hWnd, UINT msg, WPARAM param, LPARAM lparam)
|
||||
{
|
||||
HMENU hMenu;
|
||||
|
||||
switch (msg) {
|
||||
case WM_COMMAND:
|
||||
hMenu = GetMenu(hWnd);
|
||||
|
||||
switch (LOWORD(param)) {
|
||||
case TIMER_EXIT:
|
||||
::DestroyWindow(hWnd);
|
||||
exit(0);
|
||||
|
||||
case TIMER_1SECOND:
|
||||
CreateOneShot(1000);
|
||||
break;
|
||||
case TIMER_5SECOND:
|
||||
CreateOneShot(5000);
|
||||
break;
|
||||
case TIMER_10SECOND:
|
||||
CreateOneShot(10000);
|
||||
break;
|
||||
|
||||
case TIMER_1REPEAT:
|
||||
CreateRepeat(1000);
|
||||
break;
|
||||
case TIMER_5REPEAT:
|
||||
CreateRepeat(5000);
|
||||
break;
|
||||
case TIMER_10REPEAT:
|
||||
CreateRepeat(10000);
|
||||
break;
|
||||
|
||||
case TIMER_CANCEL:
|
||||
CancelAll();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return DefWindowProc(hWnd, msg, param, lparam);
|
||||
}
|
||||
|
||||
static HWND CreateTopLevel(const char* clazz, const char* title,
|
||||
int aWidth, int aHeight)
|
||||
{
|
||||
// Create a simple top level window
|
||||
HWND window = ::CreateWindowEx(WS_EX_CLIENTEDGE,
|
||||
clazz, title,
|
||||
WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
aWidth, aHeight,
|
||||
HWND_DESKTOP,
|
||||
NULL,
|
||||
gInstance,
|
||||
NULL);
|
||||
|
||||
::ShowWindow(window, SW_SHOW);
|
||||
::UpdateWindow(window);
|
||||
return window;
|
||||
}
|
||||
|
||||
int PASCAL
|
||||
WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParam, int nCmdShow)
|
||||
{
|
||||
gInstance = instance;
|
||||
|
||||
if (!prevInstance) {
|
||||
WNDCLASS wndClass;
|
||||
wndClass.style = 0;
|
||||
wndClass.lpfnWndProc = WndProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = 0;
|
||||
wndClass.hInstance = gInstance;
|
||||
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
|
||||
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wndClass.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
|
||||
wndClass.lpszMenuName = class1Name;
|
||||
wndClass.lpszClassName = class1Name;
|
||||
RegisterClass(&wndClass);
|
||||
}
|
||||
|
||||
// Create our first top level window
|
||||
HWND window = CreateTopLevel(class1Name, "Raptor HTML Viewer", 620, 400);
|
||||
|
||||
gTimeouts = new nsVoidArray();
|
||||
|
||||
// Process messages
|
||||
MSG msg;
|
||||
while (GetMessage(&msg, NULL, 0, 0)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
void main(int argc, char **argv)
|
||||
{
|
||||
WinMain(GetModuleHandle(NULL), NULL, 0, SW_SHOW);
|
||||
}
|
||||
90
mozilla/base/tests/makefile.win
Normal file
90
mozilla/base/tests/makefile.win
Normal file
@@ -0,0 +1,90 @@
|
||||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
DEPTH=..\..
|
||||
|
||||
MAKE_OBJ_TYPE = EXE
|
||||
PROG0 = .\$(OBJDIR)\TimerTest.exe
|
||||
PROG1 = .\$(OBJDIR)\TestAtoms.exe
|
||||
PROG2 = .\$(OBJDIR)\CvtURL.exe
|
||||
PROG3 = .\$(OBJDIR)\TestCRT.exe
|
||||
RESFILE = timer.res
|
||||
PROGRAMS = $(PROG0) $(PROG1) \
|
||||
!ifdef MODULAR_NETLIB
|
||||
$(PROG2) \
|
||||
$(PROG3) \
|
||||
!endif
|
||||
$(NULL)
|
||||
|
||||
LINCS=-I..\src -I$(PUBLIC)\xpcom -I$(PUBLIC)\netlib
|
||||
|
||||
LLIBS= \
|
||||
$(DIST)\lib\xpcom32.lib \
|
||||
$(DIST)\lib\raptorbase.lib \
|
||||
!ifdef MODULAR_NETLIB
|
||||
$(DIST)\lib\netlib.lib \
|
||||
!endif
|
||||
$(LIBNSPR) \
|
||||
$(DIST)\lib\libplc21.lib \
|
||||
!if "$(MOZ_BITS)"=="32" && defined(MOZ_DEBUG) && defined(GLOWCODE)
|
||||
$(GLOWDIR)\glowcode.lib \
|
||||
!endif
|
||||
$(RESFILE)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
install:: $(PROGRAMS)
|
||||
$(MAKE_INSTALL) $(PROG0) $(DIST)\bin
|
||||
$(MAKE_INSTALL) $(PROG1) $(DIST)\bin
|
||||
!ifdef MODULAR_NETLIB
|
||||
$(MAKE_INSTALL) $(PROG2) $(DIST)\bin
|
||||
$(MAKE_INSTALL) $(PROG3) $(DIST)\bin
|
||||
!endif
|
||||
|
||||
clobber::
|
||||
rm -f $(DIST)\bin\TimerTest.exe
|
||||
rm -f $(DIST)\bin\TestAtoms.exe
|
||||
!ifdef MODULAR_NETLIB
|
||||
rm -f $(DIST)\bin\CvtURL.exe
|
||||
rm -f $(DIST)\bin\TestCRT.exe
|
||||
!endif
|
||||
|
||||
# Move this into config/obj.inc when it's allowed
|
||||
.cpp{.\$(OBJDIR)\}.exe:
|
||||
$(CC) @<<$(CFGFILE)
|
||||
$(CFLAGS)
|
||||
$(LCFLAGS)
|
||||
$(LINCS)
|
||||
$(LINCS_1)
|
||||
$(INCS)
|
||||
$(LLIBS)
|
||||
$(OS_LIBS)
|
||||
-Fd$(PBDFILE)
|
||||
-Fe.\$(OBJDIR)\
|
||||
-Fo.\$(OBJDIR)\
|
||||
$(CURDIR)$(*B).cpp
|
||||
<<KEEP
|
||||
|
||||
$(PROG0): $(OBJDIR) TimerTest.cpp $(RESFILE)
|
||||
|
||||
$(PROG1): $(OBJDIR) TestAtoms.cpp
|
||||
|
||||
!ifdef MODULAR_NETLIB
|
||||
$(PROG2): $(OBJDIR) CvtURL.cpp
|
||||
|
||||
$(PROG3): $(OBJDIR) TestCRT.cpp
|
||||
!endif
|
||||
32
mozilla/base/tests/resources.h
Normal file
32
mozilla/base/tests/resources.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#ifndef resources_h___
|
||||
#define resources_h___
|
||||
|
||||
#define TIMER_1SECOND 40000
|
||||
#define TIMER_5SECOND 40001
|
||||
#define TIMER_10SECOND 40002
|
||||
|
||||
#define TIMER_1REPEAT 40003
|
||||
#define TIMER_5REPEAT 40004
|
||||
#define TIMER_10REPEAT 40005
|
||||
|
||||
#define TIMER_CANCEL 40006
|
||||
#define TIMER_EXIT 40010
|
||||
|
||||
#endif /* resources_h___ */
|
||||
38
mozilla/base/tests/timer.rc
Normal file
38
mozilla/base/tests/timer.rc
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
#include "resources.h"
|
||||
|
||||
TIMERTEST MENU DISCARDABLE
|
||||
{
|
||||
POPUP "Debug"
|
||||
{
|
||||
POPUP "One Shot"
|
||||
{
|
||||
MENUITEM "1 second", TIMER_1SECOND
|
||||
MENUITEM "5 second", TIMER_5SECOND
|
||||
MENUITEM "10 second", TIMER_10SECOND
|
||||
}
|
||||
POPUP "Repeated"
|
||||
{
|
||||
MENUITEM "1 second", TIMER_1REPEAT
|
||||
MENUITEM "5 second", TIMER_5REPEAT
|
||||
MENUITEM "10 second", TIMER_10REPEAT
|
||||
}
|
||||
MENUITEM "Cancel All", TIMER_CANCEL
|
||||
MENUITEM "Exit", TIMER_EXIT
|
||||
}
|
||||
}
|
||||
696
mozilla/build/autoconf/config.guess
vendored
Executable file
696
mozilla/build/autoconf/config.guess
vendored
Executable file
@@ -0,0 +1,696 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Written by Per Bothner <bothner@cygnus.com>.
|
||||
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
||||
PATH=$PATH:/.attbin ; export PATH
|
||||
fi
|
||||
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
alpha:OSF1:*:*)
|
||||
# A Vn.n version is a released version.
|
||||
# A Tn.n version is a released field test version.
|
||||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
|
||||
exit 0 ;;
|
||||
21064:Windows_NT:50:3)
|
||||
echo alpha-dec-winnt3.5
|
||||
exit 0 ;;
|
||||
Amiga*:UNIX_System_V:4.0:*)
|
||||
echo m68k-cbm-sysv4
|
||||
exit 0;;
|
||||
amiga:NetBSD:*:*)
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
amiga:OpenBSD:*:*)
|
||||
echo m68k-cbm-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
|
||||
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
|
||||
if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
||||
echo pyramid-pyramid-sysv3
|
||||
else
|
||||
echo pyramid-pyramid-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
NILE:*:*:dcosx)
|
||||
echo pyramid-pyramid-svr4
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||
# it's likely to be more like Solaris than SunOS4.
|
||||
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:*:*)
|
||||
case "`/usr/bin/arch -k`" in
|
||||
Series*|S4*)
|
||||
UNAME_RELEASE=`uname -v`
|
||||
;;
|
||||
esac
|
||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
|
||||
exit 0 ;;
|
||||
sun3*:SunOS:*:*)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
aushp:SunOS:*:*)
|
||||
echo sparc-auspex-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:NetBSD:*:*)
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:OpenBSD:*:*)
|
||||
echo m68k-atari-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:OpenBSD:*:*)
|
||||
echo m68k-sun-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:OpenBSD:*:*)
|
||||
echo m68k-apple-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
powerpc:machten:*:*)
|
||||
echo powerpc-apple-machten${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RISC*:Mach:*:*)
|
||||
echo mips-dec-mach_bsd4.3
|
||||
exit 0 ;;
|
||||
RISC*:ULTRIX:*:*)
|
||||
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
VAX*:ULTRIX*:*:*)
|
||||
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
2020:CLIX:*:*)
|
||||
echo clipper-intergraph-clix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:*:UMIPS | mips:*:*:RISCos)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
int main (argc, argv) int argc; char **argv; {
|
||||
#if defined (host_mips) && defined (MIPSEB)
|
||||
#if defined (SYSTYPE_SYSV)
|
||||
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_SVR4)
|
||||
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
|
||||
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
exit (-1);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy \
|
||||
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
||||
&& rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
Night_Hawk:Power_UNIX:*:*)
|
||||
echo powerpc-harris-powerunix
|
||||
exit 0 ;;
|
||||
m88k:CX/UX:7*:*)
|
||||
echo m88k-harris-cxux7
|
||||
exit 0 ;;
|
||||
m88k:*:4*:R4*)
|
||||
echo m88k-motorola-sysv4
|
||||
exit 0 ;;
|
||||
m88k:*:3*:R3*)
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||
else
|
||||
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||
fi
|
||||
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit 0 ;;
|
||||
M88*:*:R3*:*)
|
||||
# Delta 88k system running SVR3
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
||||
echo m88k-tektronix-sysv3
|
||||
exit 0 ;;
|
||||
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
||||
echo m68k-tektronix-bsd
|
||||
exit 0 ;;
|
||||
*:IRIX*:*:*)
|
||||
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
|
||||
exit 0 ;;
|
||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||
i?86:AIX:*:*)
|
||||
echo i386-ibm-aix
|
||||
exit 0 ;;
|
||||
*:AIX:2:3)
|
||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <sys/systemcfg.h>
|
||||
|
||||
main()
|
||||
{
|
||||
if (!__power_pc())
|
||||
exit(1);
|
||||
puts("powerpc-ibm-aix3.2.5");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo rs6000-ibm-aix3.2.5
|
||||
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
echo rs6000-ibm-aix3.2.4
|
||||
else
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:4)
|
||||
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
IBM_ARCH=powerpc
|
||||
fi
|
||||
if [ -x /usr/bin/oslevel ] ; then
|
||||
IBM_REV=`/usr/bin/oslevel`
|
||||
else
|
||||
IBM_REV=4.${UNAME_RELEASE}
|
||||
fi
|
||||
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||
exit 0 ;;
|
||||
*:AIX:*:*)
|
||||
echo rs6000-ibm-aix
|
||||
exit 0 ;;
|
||||
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||
echo romp-ibm-bsd4.4
|
||||
exit 0 ;;
|
||||
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||
*:BOSX:*:*)
|
||||
echo rs6000-bull-bosx
|
||||
exit 0 ;;
|
||||
DPX/2?00:B.O.S.:*:*)
|
||||
echo m68k-bull-sysv3
|
||||
exit 0 ;;
|
||||
9000/[34]??:4.3bsd:1.*:*)
|
||||
echo m68k-hp-bsd
|
||||
exit 0 ;;
|
||||
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||
echo m68k-hp-bsd4.4
|
||||
exit 0 ;;
|
||||
9000/[3478]??:HP-UX:*:*)
|
||||
case "${UNAME_MACHINE}" in
|
||||
9000/31? ) HP_ARCH=m68000 ;;
|
||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
|
||||
9000/8?? ) HP_ARCH=hppa1.0 ;;
|
||||
esac
|
||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||
results, however. */
|
||||
if (CPU_IS_PA_RISC (cpu))
|
||||
{
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||
}
|
||||
}
|
||||
else if (CPU_IS_HP_MC68K (cpu))
|
||||
puts ("m68k-hitachi-hiuxwe2");
|
||||
else puts ("unknown-hitachi-hiuxwe2");
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo unknown-hitachi-hiuxwe2
|
||||
exit 0 ;;
|
||||
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
|
||||
echo hppa1.1-hp-bsd
|
||||
exit 0 ;;
|
||||
9000/8??:4.3bsd:*:*)
|
||||
echo hppa1.0-hp-bsd
|
||||
exit 0 ;;
|
||||
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
|
||||
echo hppa1.1-hp-osf
|
||||
exit 0 ;;
|
||||
hp8??:OSF1:*:*)
|
||||
echo hppa1.0-hp-osf
|
||||
exit 0 ;;
|
||||
i?86:OSF1:*:*)
|
||||
if [ -x /usr/sbin/sysversion ] ; then
|
||||
echo ${UNAME_MACHINE}-unknown-osf1mk
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-osf1
|
||||
fi
|
||||
exit 0 ;;
|
||||
parisc*:Lites*:*:*)
|
||||
echo hppa1.1-hp-lites
|
||||
exit 0 ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY*[A-Z]90:*:*:*)
|
||||
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
|
||||
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
|
||||
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
|
||||
exit 0 ;;
|
||||
CRAY*TS:*:*:*)
|
||||
echo t90-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F300:UNIX_System_V:*:*)
|
||||
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit 0 ;;
|
||||
F301:UNIX_System_V:*:*)
|
||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:OpenBSD:*:*)
|
||||
echo m68k-hp-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i?86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
*:FreeBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit 0 ;;
|
||||
*:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
*:OpenBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
i*:CYGWIN*:*)
|
||||
echo i386-pc-cygwin32
|
||||
exit 0 ;;
|
||||
p*:CYGWIN*:*)
|
||||
echo powerpcle-unknown-cygwin32
|
||||
exit 0 ;;
|
||||
prep*:SunOS:5.*:*)
|
||||
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
*:GNU:*:*)
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
exit 0 ;;
|
||||
*:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us.
|
||||
ld_help_string=`ld --help 2>&1`
|
||||
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
|
||||
echo "${UNAME_MACHINE}-pc-linux" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
|
||||
echo "${UNAME_MACHINE}-pc-linuxaout" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
|
||||
echo "${UNAME_MACHINE}-pc-linuxcoff" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
|
||||
echo "powerpc-unknown-linux" ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "alpha" ; then
|
||||
echo alpha-unknown-linux ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "sparc" ; then
|
||||
echo sparc-unknown-linux ; exit 0
|
||||
else
|
||||
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
|
||||
# useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
|
||||
test ! -d /usr/lib/ldscripts/. \
|
||||
&& echo "${UNAME_MACHINE}-pc-linuxoldld" && exit 0
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
cat >dummy.c <<EOF
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __ELF__
|
||||
printf ("%s-pc-linux\n", argv[1]);
|
||||
#else
|
||||
printf ("%s-pc-linuxaout\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
fi ;;
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||
# are messed up and put the nodename in both sysname and nodename.
|
||||
i?86:DYNIX/ptx:4*:*)
|
||||
echo i386-sequent-sysv4
|
||||
exit 0 ;;
|
||||
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i?86:*:3.2:*)
|
||||
if test -f /usr/options/cb.name; then
|
||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
||||
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||
&& UNAME_MACHINE=i586
|
||||
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv32
|
||||
fi
|
||||
exit 0 ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit 0 ;;
|
||||
paragon:*:*:*)
|
||||
echo i860-intel-osf1
|
||||
exit 0 ;;
|
||||
i860:*:4.*:*) # i860-SVR4
|
||||
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
||||
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
|
||||
else # Add other i860-SVR4 vendors below as they are discovered.
|
||||
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
|
||||
fi
|
||||
exit 0 ;;
|
||||
mini*:CTIX:SYS*5:*)
|
||||
# "miniframe"
|
||||
echo m68010-convergent-sysv
|
||||
exit 0 ;;
|
||||
M68*:*:R3V[567]*:*)
|
||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
|
||||
OS_REL=''
|
||||
test -r /etc/.relid \
|
||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||
m68*:LynxOS:2.*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mc68030:UNIX_System_V:4.*:*)
|
||||
echo m68k-atari-sysv4
|
||||
exit 0 ;;
|
||||
i?86:LynxOS:2.*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.*:*)
|
||||
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
echo mips-dde-sysv${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RM*:SINIX-*:*:*)
|
||||
echo mips-sni-sysv4
|
||||
exit 0 ;;
|
||||
*:SINIX-*:*:*)
|
||||
if uname -p 2>/dev/null >/dev/null ; then
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
echo ${UNAME_MACHINE}-sni-sysv4
|
||||
else
|
||||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
echo hppa1.1-stratus-sysv4
|
||||
exit 0 ;;
|
||||
*:*:*:FTX*)
|
||||
# From seanf@swdc.stratus.com.
|
||||
echo i860-stratus-sysv4
|
||||
exit 0 ;;
|
||||
mc68*:A/UX:*:*)
|
||||
echo m68k-apple-aux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit 0 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-pc-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
#if !defined (ultrix)
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
#else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
||||
936
mozilla/build/autoconf/config.sub
vendored
Executable file
936
mozilla/build/autoconf/config.sub
vendored
Executable file
@@ -0,0 +1,936 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
# Each package is responsible for reporting which valid configurations
|
||||
# it does not support. The user should be able to distinguish
|
||||
# a failure to support a valid configuration from a meaningless
|
||||
# configuration.
|
||||
|
||||
# The goal of this file is to map all the various variations of a given
|
||||
# machine specification into a single specification in the form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or in some cases, the newer four-part form:
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
linux-gnu*)
|
||||
os=`echo $maybe_os | sed -e 's|linux-gnu|linux|'`
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
*)
|
||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||
if [ $basic_machine != $1 ]
|
||||
then os=`echo $1 | sed 's/.*-/-/'`
|
||||
else os=; fi
|
||||
;;
|
||||
esac
|
||||
|
||||
### Let's recognize common machines as not being operating systems so
|
||||
### that things like config.sub decstation-3100 work. We also
|
||||
### recognize some manufacturers as not being operating systems, so we
|
||||
### can provide default operating systems below.
|
||||
case $os in
|
||||
-sun*os*)
|
||||
# Prevent following clause from handling this invalid input.
|
||||
;;
|
||||
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
|
||||
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
|
||||
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
-sco5)
|
||||
os=sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco4)
|
||||
os=-sco3.2v4
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2v[4-9]*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-isc)
|
||||
os=-isc2.2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-clix*)
|
||||
basic_machine=clipper-intergraph
|
||||
;;
|
||||
-isc*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-lynx*)
|
||||
os=-lynxos
|
||||
;;
|
||||
-ptx*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-windowsnt*)
|
||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||
;;
|
||||
-psos*)
|
||||
os=-psos
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode aliases for certain CPU-COMPANY combinations.
|
||||
case $basic_machine in
|
||||
# Recognize the basic CPU types without company name.
|
||||
# Some are omitted here because they have special meanings below.
|
||||
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arm \
|
||||
| arme[lb] | pyramid | mn10300 \
|
||||
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
|
||||
| alpha | we32k | ns16k | clipper | i370 | sh \
|
||||
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
|
||||
| pdp11 | mips64el | mips64orion | mips64orionel \
|
||||
| sparc | sparclet | sparclite | sparc64)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i[3456]86)
|
||||
basic_machine=$basic_machine-pc
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
*-*-*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
|
||||
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
|
||||
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
|
||||
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
|
||||
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
basic_machine=m68000-att
|
||||
;;
|
||||
3b*)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
alliant | fx80)
|
||||
basic_machine=fx80-alliant
|
||||
;;
|
||||
altos | altos3068)
|
||||
basic_machine=m68k-altos
|
||||
;;
|
||||
am29k)
|
||||
basic_machine=a29k-none
|
||||
os=-bsd
|
||||
;;
|
||||
amdahl)
|
||||
basic_machine=580-amdahl
|
||||
os=-sysv
|
||||
;;
|
||||
amiga | amiga-*)
|
||||
basic_machine=m68k-cbm
|
||||
;;
|
||||
amigados)
|
||||
basic_machine=m68k-cbm
|
||||
os=-amigados
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
basic_machine=m68k-apollo
|
||||
os=-sysv
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
;;
|
||||
balance)
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c2)
|
||||
basic_machine=c2-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c32)
|
||||
basic_machine=c32-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c34)
|
||||
basic_machine=c34-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c38)
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
da30 | da30-*)
|
||||
basic_machine=m68k-da30
|
||||
;;
|
||||
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||
basic_machine=mips-dec
|
||||
;;
|
||||
delta | 3300 | motorola-3300 | motorola-delta \
|
||||
| 3300-motorola | delta-motorola)
|
||||
basic_machine=m68k-motorola
|
||||
;;
|
||||
delta88)
|
||||
basic_machine=m88k-motorola
|
||||
os=-sysv3
|
||||
;;
|
||||
dpx20 | dpx20-*)
|
||||
basic_machine=rs6000-bull
|
||||
os=-bosx
|
||||
;;
|
||||
dpx2* | dpx2*-bull)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
ebmon29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-ebmon
|
||||
;;
|
||||
elxsi)
|
||||
basic_machine=elxsi-elxsi
|
||||
os=-bsd
|
||||
;;
|
||||
encore | umax | mmax)
|
||||
basic_machine=ns32k-encore
|
||||
;;
|
||||
fx2800)
|
||||
basic_machine=i860-alliant
|
||||
;;
|
||||
genix)
|
||||
basic_machine=ns32k-ns
|
||||
;;
|
||||
gmicro)
|
||||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
h8300hms)
|
||||
basic_machine=h8300-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
harris)
|
||||
basic_machine=m88k-harris
|
||||
os=-sysv3
|
||||
;;
|
||||
hp300-*)
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp300bsd)
|
||||
basic_machine=m68k-hp
|
||||
os=-bsd
|
||||
;;
|
||||
hp300hpux)
|
||||
basic_machine=m68k-hp
|
||||
os=-hpux
|
||||
;;
|
||||
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||
basic_machine=m68000-hp
|
||||
;;
|
||||
hp9k3[2-9][0-9])
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||
basic_machine=hppa1.1-hp
|
||||
;;
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
i370-ibm* | ibm*)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||
i[3456]86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i[3456]86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i[3456]86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i[3456]86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
iris | iris4d)
|
||||
basic_machine=mips-sgi
|
||||
case $os in
|
||||
-irix*)
|
||||
;;
|
||||
*)
|
||||
os=-irix4
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
isi68 | isi)
|
||||
basic_machine=m68k-isi
|
||||
os=-sysv
|
||||
;;
|
||||
m88k-omron*)
|
||||
basic_machine=m88k-omron
|
||||
;;
|
||||
magnum | m3230)
|
||||
basic_machine=mips-mips
|
||||
os=-sysv
|
||||
;;
|
||||
merlin)
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
mipsel*-linux*)
|
||||
basic_machine=mipsel-unknown
|
||||
os=-linux
|
||||
;;
|
||||
mips*-linux*)
|
||||
basic_machine=mips-unknown
|
||||
os=-linux
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
mips3*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
;;
|
||||
news | news700 | news800 | news900)
|
||||
basic_machine=m68k-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news1000)
|
||||
basic_machine=m68030-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news-3600 | risc-news)
|
||||
basic_machine=mips-sony
|
||||
os=-newsos
|
||||
;;
|
||||
next | m*-next )
|
||||
basic_machine=m68k-next
|
||||
case $os in
|
||||
-nextstep* )
|
||||
;;
|
||||
-ns2*)
|
||||
os=-nextstep2
|
||||
;;
|
||||
*)
|
||||
os=-nextstep3
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
nh3000)
|
||||
basic_machine=m68k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nh[45]000)
|
||||
basic_machine=m88k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nindy960)
|
||||
basic_machine=i960-intel
|
||||
os=-nindy
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
pa-hitachi)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
paragon)
|
||||
basic_machine=i860-intel
|
||||
os=-osf
|
||||
;;
|
||||
pbd)
|
||||
basic_machine=sparc-tti
|
||||
;;
|
||||
pbb)
|
||||
basic_machine=m68k-tti
|
||||
;;
|
||||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pentium | p5)
|
||||
basic_machine=i586-intel
|
||||
;;
|
||||
pentiumpro | p6)
|
||||
basic_machine=i686-intel
|
||||
;;
|
||||
pentium-* | p5-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
k5)
|
||||
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
|
||||
basic_machine=i586-amd
|
||||
;;
|
||||
nexen)
|
||||
# We don't have specific support for Nexgen yet, so just call it a Pentium
|
||||
basic_machine=i586-nexgen
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
rm[46]00)
|
||||
basic_machine=mips-siemens
|
||||
;;
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sps7)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv2
|
||||
;;
|
||||
spur)
|
||||
basic_machine=spur-unknown
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
sun2os3)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun2os4)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun3os3)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun3os4)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4os3)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun4os4)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4sol2)
|
||||
basic_machine=sparc-sun
|
||||
os=-solaris2
|
||||
;;
|
||||
sun3 | sun3-*)
|
||||
basic_machine=m68k-sun
|
||||
;;
|
||||
sun4)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
tower | tower-32)
|
||||
basic_machine=m68k-ncr
|
||||
;;
|
||||
udi29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
ultra3)
|
||||
basic_machine=a29k-nyu
|
||||
os=-sym1
|
||||
;;
|
||||
vaxv)
|
||||
basic_machine=vax-dec
|
||||
os=-sysv
|
||||
;;
|
||||
vms)
|
||||
basic_machine=vax-dec
|
||||
os=-vms
|
||||
;;
|
||||
vpp*|vx|vx-*)
|
||||
basic_machine=f301-fujitsu
|
||||
;;
|
||||
vxworks960)
|
||||
basic_machine=i960-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks68)
|
||||
basic_machine=m68k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks29k)
|
||||
basic_machine=a29k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
;;
|
||||
|
||||
# Here we handle the default manufacturer of certain CPU types. It is in
|
||||
# some cases the only manufacturer, in others, it is the most popular.
|
||||
mips)
|
||||
if [ x$os = x-linux ]; then
|
||||
basic_machine=mips-unknown
|
||||
else
|
||||
basic_machine=mips-mips
|
||||
fi
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
rs6000)
|
||||
basic_machine=rs6000-ibm
|
||||
;;
|
||||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sparc)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
orion)
|
||||
basic_machine=orion-highlevel
|
||||
;;
|
||||
orion105)
|
||||
basic_machine=clipper-highlevel
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we canonicalize certain aliases for manufacturers.
|
||||
case $basic_machine in
|
||||
*-digital*)
|
||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||
;;
|
||||
*-commodore*)
|
||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
-solaris)
|
||||
os=-solaris2
|
||||
;;
|
||||
-unixware* | svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-gnu/linux*)
|
||||
os=`echo $os | sed -e 's|gnu/linux|linux|'`
|
||||
;;
|
||||
# First accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -linux* | -uxpv*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-sunos5*)
|
||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||
;;
|
||||
-sunos6*)
|
||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
-dynix*)
|
||||
os=-bsd
|
||||
;;
|
||||
-acis*)
|
||||
os=-aos
|
||||
;;
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
-sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
;;
|
||||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-triton*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-svr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
-svr3)
|
||||
os=-sysv3
|
||||
;;
|
||||
-sysvr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
# This must come after -sysvr4.
|
||||
-sysv*)
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
# Get rid of the `-' at the beginning of $os.
|
||||
os=`echo $os | sed 's/[^-]*-//'`
|
||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
||||
# Here we handle the default operating systems that come with various machines.
|
||||
# The value should be what the vendor currently ships out the door with their
|
||||
# machine or put another way, the most popular os provided with the machine.
|
||||
|
||||
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
||||
# "-sun"), then you have to tell the case statement up towards the top
|
||||
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
||||
# will signal an error saying that MANUFACTURER isn't an operating
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
*-acorn)
|
||||
os=-riscix1.2
|
||||
;;
|
||||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
pdp11-*)
|
||||
os=-none
|
||||
;;
|
||||
*-dec | vax-*)
|
||||
os=-ultrix4.2
|
||||
;;
|
||||
m68*-apollo)
|
||||
os=-domain
|
||||
;;
|
||||
i386-sun)
|
||||
os=-sunos4.0.2
|
||||
;;
|
||||
m68000-sun)
|
||||
os=-sunos3
|
||||
# This also exists in the configure program, but was not the
|
||||
# default.
|
||||
# os=-sunos4
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=-sysv3
|
||||
;;
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-hp)
|
||||
os=-hpux
|
||||
;;
|
||||
*-hitachi)
|
||||
os=-hiux
|
||||
;;
|
||||
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
||||
os=-sysv
|
||||
;;
|
||||
*-cbm)
|
||||
os=-amigados
|
||||
;;
|
||||
*-dg)
|
||||
os=-dgux
|
||||
;;
|
||||
*-dolphin)
|
||||
os=-sysv3
|
||||
;;
|
||||
m68k-ccur)
|
||||
os=-rtu
|
||||
;;
|
||||
m88k-omron*)
|
||||
os=-luna
|
||||
;;
|
||||
*-next )
|
||||
os=-nextstep
|
||||
;;
|
||||
*-sequent)
|
||||
os=-ptx
|
||||
;;
|
||||
*-crds)
|
||||
os=-unos
|
||||
;;
|
||||
*-ns)
|
||||
os=-genix
|
||||
;;
|
||||
i370-*)
|
||||
os=-mvs
|
||||
;;
|
||||
*-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
*-gould)
|
||||
os=-sysv
|
||||
;;
|
||||
*-highlevel)
|
||||
os=-bsd
|
||||
;;
|
||||
*-encore)
|
||||
os=-bsd
|
||||
;;
|
||||
*-sgi)
|
||||
os=-irix
|
||||
;;
|
||||
*-siemens)
|
||||
os=-sysv4
|
||||
;;
|
||||
*-masscomp)
|
||||
os=-rtu
|
||||
;;
|
||||
f301-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*)
|
||||
os=-none
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Here we handle the case where we know the os, and the CPU type, but not the
|
||||
# manufacturer. We pick the logical manufacturer.
|
||||
vendor=unknown
|
||||
case $basic_machine in
|
||||
*-unknown)
|
||||
case $os in
|
||||
-riscix*)
|
||||
vendor=acorn
|
||||
;;
|
||||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-hpux*)
|
||||
vendor=hp
|
||||
;;
|
||||
-hiux*)
|
||||
vendor=hitachi
|
||||
;;
|
||||
-unos*)
|
||||
vendor=crds
|
||||
;;
|
||||
-dgux*)
|
||||
vendor=dg
|
||||
;;
|
||||
-luna*)
|
||||
vendor=omron
|
||||
;;
|
||||
-genix*)
|
||||
vendor=ns
|
||||
;;
|
||||
-mvs*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-ptx*)
|
||||
vendor=sequent
|
||||
;;
|
||||
-vxsim* | -vxworks*)
|
||||
vendor=wrs
|
||||
;;
|
||||
-aux*)
|
||||
vendor=apple
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
||||
119
mozilla/build/autoconf/install-sh
Executable file
119
mozilla/build/autoconf/install-sh
Executable file
@@ -0,0 +1,119 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5; it is not part of GNU.
|
||||
#
|
||||
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
#
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
|
||||
instcmd="$mvprog"
|
||||
chmodcmd=""
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dstdir=`dirname $dst`
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd $dst
|
||||
$doit $mvcmd $dsttmp $dst
|
||||
|
||||
|
||||
exit 0
|
||||
@@ -1 +1 @@
|
||||
5009808600
|
||||
98091517
|
||||
|
||||
343
mozilla/build/mac/BuildList.pm
Normal file
343
mozilla/build/mac/BuildList.pm
Normal file
@@ -0,0 +1,343 @@
|
||||
#!perl
|
||||
|
||||
package BuildList;
|
||||
require Exporter;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(BuildMozilla DistMozilla);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
BuildList - build the [ordered] set of projects needed to construct Mozilla
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
...
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
=cut
|
||||
|
||||
use Moz;
|
||||
use File::Path;
|
||||
|
||||
sub BuildMozilla()
|
||||
{
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
$D = "Debug";
|
||||
$dist_dir = ":mozilla:dist:client_debug:";
|
||||
}
|
||||
else
|
||||
{
|
||||
$D = "";
|
||||
$dist_dir = ":mozilla:dist:client:";
|
||||
}
|
||||
|
||||
#
|
||||
# Build the appropriate target of each project
|
||||
#
|
||||
|
||||
BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
|
||||
BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
|
||||
BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
|
||||
BuildProjectClean(":mozilla:cmd:macfe:projects:client:NavigatorStubs.mcp", "Stubs");
|
||||
|
||||
BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "NSRuntime$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:cmd:macfe:restext:StringLib.mcp", "Strings$D.shlb");
|
||||
MakeAlias(":mozilla:cmd:macfe:restext:Strings$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
|
||||
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp", "DBM$D.shlb");
|
||||
MakeAlias(":mozilla:dbm:macbuild:DBM$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.shlb");
|
||||
MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp", "PowerPlant$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:PowerPlant:PowerPlant$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:progress:macbuild:ProgressPPC.mcp", "Progress$D.shlb");
|
||||
MakeAlias(":mozilla:modules:progress:macbuild:Progress$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
|
||||
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
|
||||
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "JavaRuntime$D.shlb");
|
||||
MakeAlias(":mozilla:sun-java:stubs:macbuild:JavaRuntime$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScript$D.shlb");
|
||||
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:js:macbuild:LiveConnect.mcp", "LiveConnect$D.shlb");
|
||||
MakeAlias(":mozilla:js:macbuild:LiveConnect$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "NavJava$D.shlb");
|
||||
MakeAlias(":mozilla:nav-java:stubs:macbuild:NavJava$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "RDF$D.shlb");
|
||||
MakeAlias(":mozilla:modules:rdf:macbuild:RDF$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "XML$D.shlb");
|
||||
MakeAlias(":mozilla:modules:xml:macbuild:XML$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "Scheduler$D.shlb");
|
||||
MakeAlias(":mozilla:modules:schedulr:macbuild:Scheduler$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomLib$D.shlb");
|
||||
MakeAlias(":mozilla:build:mac:CustomLib:CustomLib$D.shlb", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
|
||||
BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "FontBroker$D.o");
|
||||
BuildProject(":mozilla:modules:oji:macbuild:oji.mcp", "oji$D.o");
|
||||
BuildProject(":mozilla:lib:libmocha:macbuild:LibMocha.mcp", "LibMocha$D.o");
|
||||
|
||||
if ( $main::MOZ_DARK == 1 )
|
||||
{
|
||||
BuildProject(":mozilla:network:macbuild:network.mcp", "Network$D.o (mailnews)");
|
||||
}
|
||||
else
|
||||
{
|
||||
BuildProject(":mozilla:network:macbuild:network.mcp", "Network$D.o");
|
||||
}
|
||||
BuildProject(":mozilla:caps:macbuild:Caps.mcp", "Caps$D.o");
|
||||
|
||||
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
|
||||
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
|
||||
|
||||
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomStaticLib$D.o");
|
||||
|
||||
if ( $main::MOZ_LITE == 1 )
|
||||
{
|
||||
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MailNews$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "Composer$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Nav_Resources");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( $main::MOZ_MEDIUM == 1 )
|
||||
{
|
||||
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MailNews$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "Composer$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Moz_Resources");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( $main::MOZ_DARK == 1 )
|
||||
{
|
||||
BuildProject(":ns:lib:libneo:mac:macbuild:NeoLib.mcp", "NeoLib$D.o");
|
||||
MakeAlias( ":ns:lib:libneo:mac:macbuild:NeoLib$D.o", "$dist_dir");
|
||||
BuildProject(":mozilla:lib:libmsg:macbuild:MsgLib.mcp", "MsgLib$D.o (secure)");
|
||||
MakeAlias( ":mozilla:lib:libmsg:macbuild:MsgLib$D.o", "$dist_dir");
|
||||
BuildProject(":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient.mcp","LDAPClient$D.o");
|
||||
MakeAlias( ":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient$D.o", "$dist_dir");
|
||||
|
||||
BuildProject(":mozilla:cmd:macfe:MailNews:build:MailNews.mcp", "MailNews$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "Composer$D.o");
|
||||
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "MozDark_Resources");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Client$D");
|
||||
}
|
||||
|
||||
|
||||
sub DistMozilla()
|
||||
{
|
||||
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
|
||||
|
||||
#CONFIG
|
||||
InstallFromManifest(":mozilla:config:mac:MANIFEST", ":mozilla:dist:config:");
|
||||
InstallFromManifest(":mozilla:config:mac:MANIFEST_config", ":mozilla:dist:config:");
|
||||
|
||||
#INCLUDE
|
||||
InstallFromManifest(":mozilla:include:MANIFEST", ":mozilla:dist:include:");
|
||||
InstallFromManifest(":mozilla:cmd:macfe:pch:MANIFEST", ":mozilla:dist:include:");
|
||||
|
||||
#MAC_COMMON
|
||||
InstallFromManifest(":mozilla:build:mac:MANIFEST", ":mozilla:dist:mac:common:");
|
||||
InstallFromManifest(":mozilla:lib:mac:NSStdLib:include:MANIFEST", ":mozilla:dist:mac:common:");
|
||||
InstallFromManifest(":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", ":mozilla:dist:mac:common:");
|
||||
InstallFromManifest(":mozilla:lib:mac:Misc:MANIFEST", ":mozilla:dist:mac:common:");
|
||||
InstallFromManifest(":mozilla:lib:mac:MoreFiles:MANIFEST", ":mozilla:dist:mac:common:morefiles:");
|
||||
InstallFromManifest(":mozilla:cmd:macfe:MANIFEST", ":mozilla:dist:mac:macfe:");
|
||||
|
||||
#NSPR
|
||||
InstallFromManifest(":mozilla:nsprpub:pr:include:MANIFEST", ":mozilla:dist:nspr:");
|
||||
InstallFromManifest(":mozilla:nsprpub:pr:src:md:mac:MANIFEST", ":mozilla:dist:nspr:mac:");
|
||||
InstallFromManifest(":mozilla:nsprpub:lib:ds:MANIFEST", ":mozilla:dist:nspr:");
|
||||
InstallFromManifest(":mozilla:nsprpub:lib:libc:include:MANIFEST", ":mozilla:dist:nspr:");
|
||||
InstallFromManifest(":mozilla:nsprpub:lib:msgc:include:MANIFEST", ":mozilla:dist:nspr:");
|
||||
|
||||
#DBM
|
||||
InstallFromManifest(":mozilla:dbm:include:MANIFEST", ":mozilla:dist:dbm:");
|
||||
|
||||
#LIBIMAGE
|
||||
InstallFromManifest(":mozilla:modules:libimg:png:MANIFEST", ":mozilla:dist:libimg:");
|
||||
InstallFromManifest(":mozilla:modules:libimg:src:MANIFEST", ":mozilla:dist:libimg:");
|
||||
InstallFromManifest(":mozilla:modules:libimg:public:MANIFEST", ":mozilla:dist:libimg:");
|
||||
|
||||
#SECURITY_freenav
|
||||
InstallFromManifest(":mozilla:modules:security:freenav:MANIFEST", ":mozilla:dist:security:");
|
||||
|
||||
#XPCOM
|
||||
InstallFromManifest(":mozilla:xpcom:src:MANIFEST", ":mozilla:dist:xpcom:");
|
||||
|
||||
#ZLIB
|
||||
InstallFromManifest(":mozilla:modules:zlib:src:MANIFEST", ":mozilla:dist:zlib:");
|
||||
|
||||
#JPEG
|
||||
InstallFromManifest(":mozilla:jpeg:MANIFEST", ":mozilla:dist:jpeg:");
|
||||
|
||||
#JSJ
|
||||
# beard: this conflicts with LiveConnect's jsjava.h.
|
||||
#InstallFromManifest(":mozilla:js:jsj:MANIFEST", ":mozilla:dist:jsj:");
|
||||
|
||||
#JSDEBUG
|
||||
InstallFromManifest(":mozilla:js:jsd:MANIFEST", ":mozilla:dist:jsdebug:");
|
||||
|
||||
#JS
|
||||
InstallFromManifest(":mozilla:js:src:MANIFEST", ":mozilla:dist:js:");
|
||||
|
||||
#LIVECONNECT
|
||||
InstallFromManifest(":mozilla:js:src:liveconnect:MANIFEST", ":mozilla:dist:liveconnect:");
|
||||
|
||||
#RDF
|
||||
InstallFromManifest(":mozilla:modules:rdf:include:MANIFEST", ":mozilla:dist:rdf:");
|
||||
|
||||
#XML
|
||||
InstallFromManifest(":mozilla:modules:xml:glue:MANIFEST", ":mozilla:dist:xml:");
|
||||
InstallFromManifest(":mozilla:modules:xml:expat:xmlparse:MANIFEST", ":mozilla:dist:xml:");
|
||||
|
||||
#LIBFONT
|
||||
InstallFromManifest(":mozilla:modules:libfont:MANIFEST", ":mozilla:dist:libfont:");
|
||||
InstallFromManifest(":mozilla:modules:libfont:src:MANIFEST", ":mozilla:dist:libfont:");
|
||||
|
||||
#LDAP
|
||||
if ( $main::MOZ_LDAP || $main::MOZ_DARK )
|
||||
{
|
||||
InstallFromManifest(":mozilla:directory:c-sdk:ldap:include:MANIFEST", ":mozilla:dist:ldap:");
|
||||
}
|
||||
|
||||
#PRIVACY
|
||||
InstallFromManifest(":mozilla:privacy:public:MANIFEST", ":mozilla:dist:privacy:");
|
||||
|
||||
#SCHEDULER
|
||||
InstallFromManifest(":mozilla:modules:schedulr:public:MANIFEST", ":mozilla:dist:schedulr:");
|
||||
|
||||
#NETWORK
|
||||
InstallFromManifest(":mozilla:network:cache:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:client:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:cnvts:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:cstream:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:main:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:mimetype:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:util:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:about:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:certld:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:dataurl:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:file:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:ftp:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:gopher:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:http:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:imap4:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:js:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:ldap:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:mailbox:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:marimba:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:nntp:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:pop3:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:remote:MANIFEST", ":mozilla:dist:network:");
|
||||
InstallFromManifest(":mozilla:network:protocol:smtp:MANIFEST", ":mozilla:dist:network:");
|
||||
|
||||
#HTML_DIALOGS
|
||||
InstallFromManifest(":mozilla:lib:htmldlgs:MANIFEST", ":mozilla:dist:htmldlgs:");
|
||||
|
||||
#LAYOUT
|
||||
InstallFromManifest(":mozilla:lib:layout:MANIFEST", ":mozilla:dist:layout:");
|
||||
|
||||
#LAYERS
|
||||
InstallFromManifest(":mozilla:lib:liblayer:include:MANIFEST", ":mozilla:dist:layers:");
|
||||
|
||||
#PARSE
|
||||
InstallFromManifest(":mozilla:lib:libparse:MANIFEST", ":mozilla:dist:libparse:");
|
||||
|
||||
#STYLE
|
||||
InstallFromManifest(":mozilla:lib:libstyle:MANIFEST", ":mozilla:dist:libstyle:");
|
||||
|
||||
#PLUGIN
|
||||
InstallFromManifest(":mozilla:modules:plugin:public:MANIFEST", ":mozilla:dist:plugin:");
|
||||
InstallFromManifest(":mozilla:modules:plugin:src:MANIFEST", ":mozilla:dist:plugin:");
|
||||
|
||||
#LIBHOOK
|
||||
InstallFromManifest(":mozilla:modules:libhook:public:MANIFEST", ":mozilla:dist:libhook:");
|
||||
|
||||
#LIBPREF
|
||||
InstallFromManifest(":mozilla:modules:libpref:public:MANIFEST", ":mozilla:dist:libpref:");
|
||||
|
||||
#LIBREG
|
||||
InstallFromManifest(":mozilla:modules:libreg:include:MANIFEST", ":mozilla:dist:libreg:");
|
||||
|
||||
#LIBUTIL
|
||||
InstallFromManifest(":mozilla:modules:libutil:public:MANIFEST", ":mozilla:dist:libutil:");
|
||||
|
||||
#PROGRESS
|
||||
InstallFromManifest(":mozilla:modules:progress:public:MANIFEST", ":mozilla:dist:progress:");
|
||||
|
||||
#EDTPLUG
|
||||
InstallFromManifest(":mozilla:modules:edtplug:include:MANIFEST", ":mozilla:dist:edtplug:");
|
||||
|
||||
#NAV_JAVA
|
||||
InstallFromManifest(":mozilla:nav-java:stubs:include:MANIFEST", ":mozilla:dist:nav-java:");
|
||||
InstallFromManifest(":mozilla:nav-java:stubs:macjri:MANIFEST", ":mozilla:dist:nav-java:");
|
||||
|
||||
#SUN_JAVA
|
||||
InstallFromManifest(":mozilla:sun-java:stubs:include:MANIFEST", ":mozilla:dist:sun-java:");
|
||||
InstallFromManifest(":mozilla:sun-java:stubs:macjri:MANIFEST", ":mozilla:dist:sun-java:");
|
||||
|
||||
#OJI
|
||||
InstallFromManifest(":mozilla:modules:oji:public:MANIFEST", ":mozilla:dist:oji:");
|
||||
InstallFromManifest(":mozilla:modules:oji:src:MANIFEST", ":mozilla:dist:oji:");
|
||||
|
||||
#CAPS
|
||||
InstallFromManifest(":mozilla:caps:include:MANIFEST", ":mozilla:dist:caps:");
|
||||
|
||||
#BASE
|
||||
InstallFromManifest(":mozilla:base:public:MANIFEST", ":mozilla:dist:base:");
|
||||
InstallFromManifest(":mozilla:base:src:MANIFEST", ":mozilla:dist:base:");
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
143
mozilla/build/mac/BuildListObsolete.pm
Normal file
143
mozilla/build/mac/BuildListObsolete.pm
Normal file
@@ -0,0 +1,143 @@
|
||||
#!perl
|
||||
|
||||
package BuildListObsolete;
|
||||
require Exporter;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(BuildMozilla);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
BuildList - build the [ordered] set of projects needed to construct Mozilla
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
...
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub BuildMozilla()
|
||||
{
|
||||
use Moz;
|
||||
|
||||
chdir(":::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just inside "mozilla"
|
||||
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
$D = " (Debug)";
|
||||
$LibD = "Debug";
|
||||
$dist_dir = ":dist:client_debug:";
|
||||
}
|
||||
else
|
||||
{
|
||||
$D = "";
|
||||
$LibD = "";
|
||||
$dist_dir = ":dist:client:";
|
||||
}
|
||||
|
||||
#
|
||||
# Build the appropriate target of each project
|
||||
#
|
||||
|
||||
BuildProjectClean(":lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
|
||||
BuildProjectClean(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
|
||||
BuildProjectClean(":cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
|
||||
|
||||
BuildProject(":lib:mac:NSRuntime:NSRuntime.mcp");
|
||||
MakeAlias(":lib:mac:NSRuntime:NSRuntimePPCLib", "$dist_dir");
|
||||
|
||||
BuildProject(":cmd:macfe:restext:NavStringLibPPC.mcp");
|
||||
MakeAlias(":cmd:macfe:restext:StringsPPCLib", "$dist_dir");
|
||||
|
||||
BuildProject(":lib:mac:MoreFiles:build:MoreFilesPPC.prj");
|
||||
MakeAlias(":lib:mac:MoreFiles:build:MoreFilesPPC.lib", "$dist_dir");
|
||||
|
||||
BuildProject(":nsprpub:macbuild:NSPR20PPC".$LibD.".mcp");
|
||||
MakeAlias(":nsprpub:macbuild:NSPR20PPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":dbm:macbuild:DBMPPC".$LibD.".mcp");
|
||||
MakeAlias(":dbm:macbuild:DBMPPC".$LibD."Lib", "${dist_dir}");
|
||||
|
||||
BuildProject(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":lib:mac:MacMemoryAllocator:MemAllocatorPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
|
||||
MakeAlias(":lib:mac:NSStdLib:NSStdLibPPCLib", "$dist_dir");
|
||||
|
||||
BuildProject(":modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":modules:security:freenav:macbuild:NoSecurity".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":xpcom:macbuild:xpcomPPC".$LibD.".mcp");
|
||||
MakeAlias(":xpcom:macbuild:xpcomPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":lib:mac:PowerPlant:PowerPlant.mcp");
|
||||
MakeAlias(":lib:mac:PowerPlant:PowerPlantPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":modules:zlib:macbuild:zlibPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":jpeg:macbuild:JPEGPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":sun-java:stubs:macbuild:JavaRuntimePPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":js:jsj:macbuild:JSJ_PPC".$LibD.".mcp");
|
||||
|
||||
BuildProject(":js:macbuild:JavaScriptPPC".$LibD.".mcp");
|
||||
MakeAlias(":js:macbuild:JavaScriptPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":nav-java:stubs:macbuild:NavJavaPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
|
||||
MakeAlias(":modules:rdf:macbuild:RDFPPCDebugLib", "${dist_dir}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Moz::BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
|
||||
MakeAlias(":modules:rdf:macbuild:RDFPPCLib", "${dist_dir}");
|
||||
}
|
||||
|
||||
BuildProject(":modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":modules:xml:macbuild:XMLPPC".$LibD."Lib", "$dist_dir");
|
||||
|
||||
BuildProject(":modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
|
||||
|
||||
BuildProject(":modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
|
||||
MakeAlias(":modules:schedulr:macbuild:Schedulr".$LibD."PPCLib", "$dist_dir");
|
||||
|
||||
BuildProject(":network:macbuild:network.mcp", "PPC Library (Debug Moz)");
|
||||
|
||||
if ( $main::MOZ_LITE == 0 )
|
||||
{
|
||||
BuildProject(":cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
|
||||
}
|
||||
|
||||
BuildProject(":cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
40
mozilla/build/mac/BuildMozilla.pl
Normal file
40
mozilla/build/mac/BuildMozilla.pl
Normal file
@@ -0,0 +1,40 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
use Moz;
|
||||
use BuildList;
|
||||
|
||||
$DEBUG = 0;
|
||||
|
||||
# One of them should be 1. This will come from a config file at some stage.
|
||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
||||
$MOZ_LITE = 0;
|
||||
$MOZ_MEDIUM = 1;
|
||||
$MOZ_DARK = 0;
|
||||
|
||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
||||
Moz::StopForErrors();
|
||||
|
||||
chdir("::::");
|
||||
|
||||
# Make and popuplate the dist directory
|
||||
DistMozilla();
|
||||
|
||||
# Now build the projects
|
||||
BuildMozilla();
|
||||
124
mozilla/build/mac/BuildMozilla.pm
Normal file
124
mozilla/build/mac/BuildMozilla.pm
Normal file
@@ -0,0 +1,124 @@
|
||||
#!perl
|
||||
|
||||
package BuildMozilla;
|
||||
require Exporter;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(BuildMozilla);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
BuildMozilla - build the [ordered] set of projects needed to construct Mozilla
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub BuildMozilla()
|
||||
{
|
||||
use Moz;
|
||||
|
||||
chdir("::::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just above "mozilla"
|
||||
|
||||
|
||||
# Ideally, we would set the target name like so:
|
||||
# $target = $main::DEBUG ? "debug" : "optimized";
|
||||
# ...and all projects would have corresponding targets
|
||||
|
||||
|
||||
$D = $main::DEBUG ? " (Debug)" : ""; # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
|
||||
|
||||
|
||||
#
|
||||
# Build the appropriate target of each project
|
||||
#
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
|
||||
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
|
||||
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
|
||||
Moz::BuildProject(":mozilla:cmd:macfe:restext:NavStringLibPPC.mcp");
|
||||
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.prj");
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPCDebug.mcp");
|
||||
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPCDebug.mcp");
|
||||
}
|
||||
else
|
||||
{
|
||||
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp");
|
||||
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp");
|
||||
}
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
|
||||
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
|
||||
Moz::BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPCDebug.mcp");
|
||||
}
|
||||
else
|
||||
{
|
||||
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp");
|
||||
}
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp");
|
||||
Moz::BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
|
||||
Moz::BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
|
||||
Moz::BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPCDebug.mcp");
|
||||
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPCDebug.mcp");
|
||||
}
|
||||
else
|
||||
{
|
||||
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPC.mcp");
|
||||
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp");
|
||||
}
|
||||
|
||||
Moz::BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
|
||||
|
||||
|
||||
# the following `if' can be fixed when we either rename the debug target of the RDF project, or of all the other projects
|
||||
|
||||
if ( $main::DEBUG )
|
||||
{
|
||||
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
|
||||
}
|
||||
else
|
||||
{
|
||||
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
|
||||
}
|
||||
|
||||
Moz::BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
|
||||
Moz::BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
|
||||
Moz::BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
|
||||
Moz::BuildProject(":mozilla:network:macbuild:network.mcp", "PPC Library (Debug Moz)");
|
||||
Moz::BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
|
||||
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
44
mozilla/build/mac/BuildMozillaDebug.pl
Normal file
44
mozilla/build/mac/BuildMozillaDebug.pl
Normal file
@@ -0,0 +1,44 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
use Moz;
|
||||
use BuildList;
|
||||
|
||||
$DEBUG = 1;
|
||||
|
||||
# One of them should be 1. This will come from a config file at some stage.
|
||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
||||
$MOZ_LITE = 0;
|
||||
$MOZ_MEDIUM = 1;
|
||||
$MOZ_DARK = 0;
|
||||
|
||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
||||
Moz::StopForErrors();
|
||||
|
||||
chdir("::::");
|
||||
|
||||
# Make and popuplate the dist directory
|
||||
DistMozilla();
|
||||
|
||||
# Set the build number in about-all.html. Commented out for now
|
||||
# until ckid/mcvs resource problem is resolved.
|
||||
# SetBuildNumber();
|
||||
|
||||
# Now build the projects
|
||||
BuildMozilla();
|
||||
48
mozilla/build/mac/BuildMozillaOfficialDebug.pl
Normal file
48
mozilla/build/mac/BuildMozillaOfficialDebug.pl
Normal file
@@ -0,0 +1,48 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
use Moz;
|
||||
use BuildList;
|
||||
|
||||
$DEBUG = 1;
|
||||
|
||||
# One of them should be 1. This will come from a config file at some stage.
|
||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
||||
$MOZ_LITE = 0;
|
||||
$MOZ_MEDIUM = 1;
|
||||
$MOZ_DARK = 0;
|
||||
|
||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
||||
Moz::StopForErrors();
|
||||
|
||||
chdir("::::");
|
||||
|
||||
# Make and popuplate the dist directory
|
||||
DistMozilla();
|
||||
|
||||
# Set the build number in about-all.html. Commented out for now
|
||||
# until ckid/mcvs resource problem is resolved.
|
||||
SetBuildNumber();
|
||||
|
||||
# SetAgentString();
|
||||
|
||||
SetTimeBomb(0, 30);
|
||||
|
||||
# Now build the projects
|
||||
BuildMozilla();
|
||||
134
mozilla/build/mac/BuildNGLayoutDebug.pl
Normal file
134
mozilla/build/mac/BuildNGLayoutDebug.pl
Normal file
@@ -0,0 +1,134 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# nglayout build script (debug)
|
||||
#
|
||||
use NGLayoutBuildList;
|
||||
use Cwd;
|
||||
use Moz;
|
||||
|
||||
# configuration variables
|
||||
$DEBUG = 1;
|
||||
$pull{all} = 0;
|
||||
$pull{lizard} = 0;
|
||||
$pull{xpcom} = 0;
|
||||
$pull{imglib} = 0;
|
||||
$pull{netlib} = 0;
|
||||
$pull{nglayout} = 0;
|
||||
$pull{mac} = 0;
|
||||
|
||||
$build{all} = 0;
|
||||
$build{dist} = 0;
|
||||
$build{common}= 0;
|
||||
$build{nglayout}= 0;
|
||||
|
||||
|
||||
#
|
||||
# UI
|
||||
#
|
||||
|
||||
@choices = ("pull_and_build_all",
|
||||
"pull_all",
|
||||
"build_all",
|
||||
"pull_nglayout",
|
||||
"build_dist",
|
||||
"build_projects");
|
||||
#damn, this does not work on
|
||||
if (0)
|
||||
{
|
||||
while (GetFrontProcess () != GetCurrentProcess())
|
||||
{
|
||||
SetFrontProcess( GetCurrentProcess() );
|
||||
}
|
||||
@pick = MacPerl::Pick("What would you like to do?", @choices);
|
||||
$pull{all} = 0;
|
||||
$build{all} = 1;
|
||||
foreach $i (@pick)
|
||||
{
|
||||
if ($i eq "pull_and_build_all")
|
||||
{
|
||||
$pull{all} = 1;
|
||||
$build{all} = 1;
|
||||
}
|
||||
elsif ($i eq "pull_all")
|
||||
{
|
||||
$pull{all} = 1;
|
||||
}
|
||||
elsif ($i eq "build_all")
|
||||
{
|
||||
$build{all} = 1;
|
||||
}
|
||||
elsif ($i eq "build_dist")
|
||||
{
|
||||
$build{dist} = 1;
|
||||
}
|
||||
elsif ($i eq "build_projects")
|
||||
{
|
||||
$build{projects} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$pull{all} = 1;
|
||||
$build{all} = 1;
|
||||
# $pull{netlib} = 1;
|
||||
# $pull{nglayout} = 1;
|
||||
# $build{common} = 1;
|
||||
# $build{nglayout} = 1;
|
||||
# $build{dist} = 1;
|
||||
# $pull{nglayout} = 1;
|
||||
}
|
||||
|
||||
if ($pull{all})
|
||||
{
|
||||
foreach $k (keys(%pull))
|
||||
{
|
||||
$pull{$k} = 1;
|
||||
}
|
||||
}
|
||||
if ($build{all})
|
||||
{
|
||||
foreach $k (keys(%build))
|
||||
{
|
||||
$build{$k} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
# do the work
|
||||
# you should not have to edit anything bellow
|
||||
|
||||
chdir("::::");
|
||||
$MOZ_SRC = cwd();
|
||||
|
||||
Moz::StopForErrors();
|
||||
#Moz::DontStopForErrors();
|
||||
|
||||
#OpenErrorLog("::NGLayoutBuildLog");
|
||||
OpenErrorLog(":::Mozilla.BuildLog"); # Tinderbox requires that name
|
||||
Checkout();
|
||||
|
||||
chdir($MOZ_SRC);
|
||||
BuildDist();
|
||||
|
||||
chdir($MOZ_SRC);
|
||||
BuildProjects();
|
||||
|
||||
print "Build layout complete\n";
|
||||
BIN
mozilla/build/mac/CodeWarriorLib
Normal file
BIN
mozilla/build/mac/CodeWarriorLib
Normal file
Binary file not shown.
374
mozilla/build/mac/CodeWarriorLib.pm
Normal file
374
mozilla/build/mac/CodeWarriorLib.pm
Normal file
@@ -0,0 +1,374 @@
|
||||
#!perl
|
||||
package CodeWarriorLib;
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
CodeWarriorLib - supply interface to CodeWarrior
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#!perl
|
||||
use CodeWarriorLib;
|
||||
CodeWarriorLib::activate();
|
||||
$had_errors = CodeWarriorLib::build_project(
|
||||
$project_path, $target_name, $recent_errors_file, $clean_build
|
||||
);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Replaces the AppleScript library I<CodeWarriorLib>.
|
||||
|
||||
=over 4
|
||||
|
||||
=cut
|
||||
|
||||
use strict;
|
||||
use Mac::AppleEvents::Simple;
|
||||
use Mac::AppleEvents;
|
||||
use Mac::Processes;
|
||||
use Mac::MoreFiles;
|
||||
use Mac::Types;
|
||||
use File::Basename;
|
||||
|
||||
use vars qw($VERSION);
|
||||
$VERSION = '1.01';
|
||||
|
||||
my($app) = 'CWIE';
|
||||
|
||||
# 0 == don't switch CWIE to front app in do_event(), 1 == do switch
|
||||
# note: activate() still switches when called
|
||||
$Mac::AppleEvents::Simple::SWITCH = 0;
|
||||
|
||||
# supply your own path to the source here
|
||||
#_test('PowerPudgeIV:mozilla:mozilla:');
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=item _get_project($full_path)
|
||||
|
||||
A private routine returning a reference to the open project with the given name,
|
||||
or else the empty string (when that project is not open)
|
||||
|
||||
full_path is a string identifying the project to be built and is of the form,
|
||||
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
|
||||
|
||||
=cut
|
||||
|
||||
sub _get_project ($) {
|
||||
my(
|
||||
$full_path, $candidate_projects
|
||||
) = @_;
|
||||
$candidate_projects = _doc_named(basename($full_path, '*'));
|
||||
if ($candidate_projects) {
|
||||
my($cps) = _get_dobj($candidate_projects);
|
||||
my($num) = AECountItems($cps);
|
||||
if ($num) { # is a list
|
||||
foreach (1 .. AECountItems($cps)) {
|
||||
my($cp) = AEGetNthDesc($cps, $_);
|
||||
if ($full_path eq _full_path($cp)) {
|
||||
return($cp);
|
||||
}
|
||||
}
|
||||
} else { # is only one, not a list
|
||||
if ($full_path eq _full_path($cps)) {
|
||||
return($cps);
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
=pod
|
||||
|
||||
=item build_project
|
||||
|
||||
Build a selected target of a project, saving any errors to a file, if supplied.
|
||||
|
||||
full_path is a string identifying the project to be built and is of the form,
|
||||
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
|
||||
|
||||
If target_name is the empty string, the current target of the selected project
|
||||
will be built, else, target_name should be a string matching a target name in
|
||||
the selected project.
|
||||
|
||||
If error_path is the empty string, errors will not be saved to a file,
|
||||
else, error_path should be the full path of a file to save error messages into.
|
||||
|
||||
=cut
|
||||
|
||||
sub build_project ($;$$$) {
|
||||
my(
|
||||
$full_path, $target_name, $error_path,
|
||||
$remove_object, $p, $project_was_closed, $had_errors
|
||||
) = @_;
|
||||
_close_errors_window();
|
||||
|
||||
while (1) {
|
||||
$p = _get_project($full_path);
|
||||
if (!$p) {
|
||||
return if ($project_was_closed);
|
||||
$project_was_closed = 1;
|
||||
_open_file($full_path);
|
||||
} else {
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
$had_errors = 0;
|
||||
if ($target_name eq '') {
|
||||
if ($remove_object) {_remove_object($p)}
|
||||
_build($p);
|
||||
} else {
|
||||
if ($remove_object) {_remove_object($p, $target_name)}
|
||||
_build($p, $target_name);
|
||||
}
|
||||
|
||||
if ($error_path ne '') {
|
||||
_save_errors_window($error_path);
|
||||
}
|
||||
$had_errors = _close_errors_window();
|
||||
|
||||
if ($project_was_closed) {
|
||||
$p = _get_project($full_path);
|
||||
_close($p);
|
||||
}
|
||||
|
||||
return($had_errors);
|
||||
}
|
||||
|
||||
=pod
|
||||
|
||||
=item activate()
|
||||
|
||||
Launches CodeWarrior and brings it to the front.
|
||||
|
||||
Once found, path will be saved in ':idepath.txt' for future reference.
|
||||
Edit or delete this file to change the location of the IDE. If app is
|
||||
moved, C<activate()> will prompt for a new location.
|
||||
|
||||
First looks for an open CodeWarrior app. Second, tries to open previously
|
||||
saved location in ':idepath.txt'. Third, tries to find it and allow user
|
||||
to choose it with Navigation Services (if present). Fourth, uses good old
|
||||
GUSI routines built-in to MacPerl for a Choose Directory dialog box.
|
||||
|
||||
=cut
|
||||
|
||||
sub activate () {
|
||||
local(*F);
|
||||
my($filepath, $appath, $psi) = (':idepath.txt');
|
||||
|
||||
foreach $psi (values(%Process)) {
|
||||
if ($psi->processSignature() eq $app) {
|
||||
$appath = $psi->processAppSpec(), "\n";
|
||||
}
|
||||
_save_appath($filepath, $appath);
|
||||
}
|
||||
|
||||
if ((!$appath || ! -x $appath) && open(F, $filepath)) {
|
||||
$appath = <F>;
|
||||
close(F);
|
||||
}
|
||||
|
||||
if (!$appath || ! -x $appath) {
|
||||
if (eval {require Mac::Navigation}) {
|
||||
my($options, $nav);
|
||||
Mac::Navigation->import();
|
||||
$options = NavGetDefaultDialogOptions();
|
||||
$options->message('Where is CodeWarrior IDE?');
|
||||
$options->windowTitle('Find CodeWarrior IDE');
|
||||
$nav = NavChooseObject($Application{$app}, $options);
|
||||
die "CodeWarrior IDE not found.\n" if (!$nav || !$nav->file(1));
|
||||
$appath = $nav->file(1);
|
||||
} else {
|
||||
local(*D);
|
||||
my $cwd = `pwd`;
|
||||
$appath = _get_folder(
|
||||
'Where is the folder containing CodeWarrior IDE?',
|
||||
dirname($Application{$app})
|
||||
) . ':';
|
||||
die "CodeWarrior IDE not found.\n" if !$appath;
|
||||
opendir(D, $appath) or die $!;
|
||||
chdir($appath);
|
||||
foreach my $file (sort readdir (D)) {
|
||||
my(@app) = MacPerl::GetFileInfo($file);
|
||||
if ($app[0] && $app[1] &&
|
||||
$app[1] eq 'APPL' && $app[0] eq $app
|
||||
) {
|
||||
$appath .= $file;
|
||||
last;
|
||||
}
|
||||
}
|
||||
chomp($cwd);
|
||||
chdir($cwd);
|
||||
}
|
||||
_save_appath($filepath, $appath);
|
||||
}
|
||||
|
||||
my($lp) = LaunchParam->new(
|
||||
launchAppSpec => $appath,
|
||||
launchControlFlags => launchContinue() + launchNoFileFlags()
|
||||
);
|
||||
LaunchApplication($lp) or die $^E;
|
||||
}
|
||||
|
||||
sub _build ($;$) {
|
||||
my($evt);
|
||||
if ($_[1]) {
|
||||
my($prm) =
|
||||
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
|
||||
AEPrint($_[0]) . '}';
|
||||
$evt = do_event(qw/CWIE MAKE/, $app, $prm, $_[1]);
|
||||
} else {
|
||||
my($prm) = q"'----':" . AEPrint($_[0]);
|
||||
$evt = do_event(qw/CWIE MAKE/, $app, $prm);
|
||||
}
|
||||
}
|
||||
|
||||
sub _remove_object ($;$) {
|
||||
my($evt);
|
||||
if ($_[1]) {
|
||||
my($prm) =
|
||||
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
|
||||
AEPrint($_[0]) . '}';
|
||||
$evt = do_event(qw/CWIE RMOB/, $app, $prm, $_[1]);
|
||||
} else {
|
||||
my($prm) = q"'----':" . AEPrint($_[0]);
|
||||
$evt = do_event(qw/CWIE RMOB/, $app, $prm);
|
||||
}
|
||||
}
|
||||
|
||||
sub _open_file ($) {
|
||||
my($prm) =
|
||||
q"'----':obj {form:name, want:type(alis), " .
|
||||
q"seld:TEXT(@), from:'null'()}";
|
||||
|
||||
do_event(qw/aevt odoc/, $app, $prm, $_[0]);
|
||||
}
|
||||
|
||||
sub _doc_named ($) {
|
||||
my($prm) =
|
||||
q"'----':obj {form:test, want:type(docu), from:'null'(), " .
|
||||
q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" .
|
||||
q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}";
|
||||
|
||||
my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]);
|
||||
return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt);
|
||||
}
|
||||
|
||||
sub _full_path ($) {
|
||||
my($obj) = $_[0];
|
||||
my($prm) =
|
||||
q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " .
|
||||
q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)";
|
||||
my($evt) = do_event(qw/core getd/, $app, $prm);
|
||||
|
||||
return MacPerl::MakePath(
|
||||
MacUnpack('fss ', (
|
||||
AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
sub _save_errors_window ($) {
|
||||
my($prm) =
|
||||
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
|
||||
do_event(qw/MMPR SvMs/, $app, $prm, $_[0]);
|
||||
}
|
||||
|
||||
|
||||
sub _close_errors_window () {
|
||||
my($prm) =
|
||||
q"'----':obj {form:name, want:type(cwin), " .
|
||||
q"seld:TEXT(@), from:'null'()}";
|
||||
|
||||
my($evt) = do_event(qw/core clos/, $app, $prm, 'Errors & Warnings');
|
||||
return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0);
|
||||
}
|
||||
|
||||
sub _close () {
|
||||
my($prm) = q"'----':" . AEPrint($_[0]);
|
||||
do_event(qw/core clos/, $app, $prm);
|
||||
}
|
||||
|
||||
sub _get_dobj ($) {
|
||||
return(AEGetParamDesc($_[0]->{REP}, keyDirectObject()));
|
||||
}
|
||||
|
||||
sub _get_folder ($$) {
|
||||
require 'GUSI.ph';
|
||||
my($prompt, $default) = @_;
|
||||
MacPerl::Choose(
|
||||
GUSI::AF_FILE(), 0, $prompt, '',
|
||||
GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0),
|
||||
$default
|
||||
);
|
||||
}
|
||||
|
||||
sub _save_appath ($$) {
|
||||
open(F, '>' . $_[0]) or die $!;
|
||||
print F $_[1];
|
||||
close(F);
|
||||
}
|
||||
|
||||
sub _test ($) {
|
||||
activate();
|
||||
my($path) = $_[0];
|
||||
build_project(
|
||||
"${path}modules:xml:macbuild:XML.mcp", '',
|
||||
"${path}build:mac:Mozilla.BuildLog.part"
|
||||
);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=pod
|
||||
|
||||
=back
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
=over 4
|
||||
|
||||
=item v1.01, June 1, 1998
|
||||
|
||||
Made fixes to C<chdir()> in C<activate()>, made C<activate()> more robust
|
||||
in finding CodeWarrior IDE, added global variable to NOT switch to IDE
|
||||
for each sent event, a few other fixes.
|
||||
|
||||
=item v1.00, May 30, 1998
|
||||
|
||||
First shot
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Chris Nandor F<E<lt>pudge@pobox.comE<gt>>, and the author of the
|
||||
original I<CodeWarriorLib>, Scott Collins F<E<lt>scc@netscape.comE<gt>>.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
BuildProject L<Moz>.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
=cut
|
||||
78
mozilla/build/mac/CopyExports.script
Normal file
78
mozilla/build/mac/CopyExports.script
Normal file
@@ -0,0 +1,78 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
if {#} != 1
|
||||
echo "CopyExports requires 1 parameters:"
|
||||
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
|
||||
echo " the list of files to be copied, one per line. This path"
|
||||
echo " may not begin with a colon"
|
||||
echo
|
||||
Exit 1
|
||||
end if
|
||||
|
||||
|
||||
Set SourceList "{SourceRootDir}{1}"
|
||||
|
||||
Set ScriptsDir "{SourceRootDir}mozilla:build:mac:"
|
||||
|
||||
#set sourceList "{SourceRootDir}mozilla:{1}"
|
||||
|
||||
if {verbose}
|
||||
echo "Source list is in file ¶"{SourceList}¶""
|
||||
echo "Scripts directory is ¶"{ScriptsDir}¶""
|
||||
end if
|
||||
|
||||
# for each line in the source file, remove it if it starts with #, otherwise quote it
|
||||
|
||||
for curLine in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
|
||||
|
||||
echo "{curLine}"
|
||||
|
||||
# ignore empty lines
|
||||
if `evaluate "{{curLine}}" != ""`
|
||||
|
||||
echo "{curLine}"
|
||||
|
||||
# strip out trailing comments
|
||||
if `evaluate "{curLine}" =~ /(Å)¨1[ ¶t]+(#Å)¨2/`
|
||||
set sourceLine "{¨1}"
|
||||
# echo "Discarding comment {¨2}"
|
||||
else
|
||||
set sourceLine "{curLine}"
|
||||
end if
|
||||
|
||||
if `evaluate "{sourceLine}" =~ /([Â ¶t]+)¨1[ ¶t]+[:]*(Å)¨2/`
|
||||
|
||||
if {verbose}
|
||||
echo "Cur line is {sourceLine}"
|
||||
end if
|
||||
|
||||
set exportFile "{¨1}"
|
||||
set theTarget "{¨2}"
|
||||
|
||||
if {verbose}
|
||||
echo "Export file name is {exportFile}"
|
||||
echo "Target directory is {theTarget}"
|
||||
end if
|
||||
|
||||
"{ScriptsDir}CopyList.script" "{exportFile}" "{theTarget}"
|
||||
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
end for
|
||||
81
mozilla/build/mac/CopyHeaders.script
Normal file
81
mozilla/build/mac/CopyHeaders.script
Normal file
@@ -0,0 +1,81 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
|
||||
# This is the controlling script for a set of scripts that copy public
|
||||
# header files in one or more source trees into a single, "dist" directory.
|
||||
#
|
||||
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
|
||||
# ÒCopyExports.scriptÓ, which must be in the same directory.
|
||||
#
|
||||
# To execute this script, select everything from "# Get the..." to
|
||||
# " the end" and hit the Enter key.
|
||||
#
|
||||
# Known bugs:
|
||||
# Header files are always copied if the export.mac file contains
|
||||
# non-local paths.
|
||||
# Spurious output is produced even when verbose is off.
|
||||
#
|
||||
|
||||
# Uncomment this to get some progress information
|
||||
# set -e verbose 1
|
||||
|
||||
# Get the root of everything
|
||||
|
||||
set magicfilepath "{systempfolder}filepath" # Temporary items folder, "filepath"
|
||||
if !`Exists "{{magicFilePath}}"`
|
||||
Echo "No file path file seems to have been created in the temporary items folder."
|
||||
Echo "Was this script executed from the perl script? That's the way it was designed."
|
||||
Exit 1
|
||||
end if
|
||||
|
||||
set myDirectory "`catenate "{{magicFilePath}}"`"
|
||||
delete -i "{{magicFilePath}}"
|
||||
|
||||
Set SourceList "{myDirectory}{1}"
|
||||
(Evaluate "{myDirectory}" =~ /(Å:)¨1[Â:]+:[Â:]+:[Â:]+/) #·· dev:null
|
||||
Set -e mozillaDir "{¨1}"
|
||||
|
||||
if !`Exists "{{mozillaDir}}"`
|
||||
Echo "A file path was passed, but it doesn't seem to be the mozilla directory."
|
||||
Exit 1
|
||||
end if
|
||||
echo "Mozilla directory found at {mozillaDir}"
|
||||
|
||||
#Calculate the root directory by stripping off the leaf name.
|
||||
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
|
||||
Set -e SourceRootDir "{¨1}"
|
||||
Set -e DestRootDir "{mozillaDir}dist:"
|
||||
|
||||
# Ensure the build and stubs folders exist
|
||||
|
||||
if !`exists -d "{mozillaDir}dist"`
|
||||
newfolder "{mozillaDir}dist"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client"`
|
||||
newfolder "{mozillaDir}dist:client"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client_debug"`
|
||||
newfolder "{mozillaDir}dist:client_debug"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client_stubs"`
|
||||
newfolder "{mozillaDir}dist:client_stubs"
|
||||
end if
|
||||
|
||||
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
|
||||
|
||||
# the end
|
||||
97
mozilla/build/mac/CopyList.script
Normal file
97
mozilla/build/mac/CopyList.script
Normal file
@@ -0,0 +1,97 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
if {#} != 2
|
||||
echo "CopyList requires 2 parameters:"
|
||||
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
|
||||
echo " the list of files to be copied, one per line. This path"
|
||||
echo " may not begin with a colon"
|
||||
echo
|
||||
echo "Parameter 2: path relative to {DestRootDir} of the directory where all the"
|
||||
echo " files are to be copied. No initial colons!"
|
||||
echo
|
||||
Exit 1
|
||||
end if
|
||||
|
||||
set debugEcho "" # This setting will actually duplicate the files
|
||||
#set debugEcho "echo" # This setting will merely print the "duplicate" commands.
|
||||
|
||||
set sourceList "{SourceRootDir}{1}"
|
||||
set targetDir "{DestRootDir}{2}"
|
||||
|
||||
# targetDir may not end in a colon for this script to work.
|
||||
if `Evaluate "{targetDir}" =~ /(Å)¨1:/`
|
||||
#echo "Removed a colon"
|
||||
set targetDir "{¨1}"
|
||||
end if
|
||||
|
||||
#Ensure the target hierarchy exists
|
||||
# Volume name
|
||||
(Evaluate "{TargetDir}" =~ /([Â:]+)¨1:Å/) ·· dev:null
|
||||
Set PartialPath "{¨1}"
|
||||
Loop
|
||||
(Evaluate "{TargetDir}" =~ /("{PartialPath}":[Â:]+)¨1([:]*)¨2Å/) ·· dev:null
|
||||
Set PartialPath "{¨1}"
|
||||
Set Exit 0
|
||||
(NewFolder "{PartialPath}") ·· dev:null
|
||||
Set Exit 1
|
||||
break if "{¨2}" == ""
|
||||
End Loop
|
||||
|
||||
#Calculate the source directory by stripping off the leaf name.
|
||||
(Evaluate "{SourceList}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
|
||||
Set SourceDir "{¨1}"
|
||||
|
||||
if {verbose}
|
||||
echo "Source list is in file ¶"{sourceList}¶""
|
||||
echo "Source directory is ¶"{SourceDir}¶""
|
||||
echo "Target directory is ¶"{targetDir}¶""
|
||||
end if
|
||||
|
||||
# Strip all comment lines, pipe the stripped lines into the "for" loop.
|
||||
# We quote each whole line here so that we deal with a line at a time in the
|
||||
# for loop. Don't ya just love MPW quoting rulesÉ
|
||||
|
||||
for f in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
|
||||
|
||||
if `evaluate "{{f}}" != ""`
|
||||
|
||||
# strip out trailing comments (in fact, anything following whitespace)
|
||||
if `evaluate "{f}" =~ /([Â ¶t]+)¨1[ ¶t]+([#]*Å)¨2/`
|
||||
set sourceFile "{¨1}"
|
||||
# echo "Discarding comment {¨2}"
|
||||
else
|
||||
set sourceFile "{f}"
|
||||
end if
|
||||
|
||||
# sourceFile can be a relative path, so need to get the file name for date comparisons
|
||||
if `evaluate "{sourceFile}" =~ /Å:([Â:]+)¨1/`
|
||||
set filename "{¨1}"
|
||||
else
|
||||
set filename "{sourceFile}"
|
||||
end if
|
||||
|
||||
# now copy the file if newer
|
||||
if "`Newer "{sourceDir}{sourceFile}" "{targetDir}:{filename}"`" #|| !`Exists "{targetDir}:{filename}"`
|
||||
if {verbose} ; echo "{sourceDir}{sourceFile} is newer than {targetDir}:{filename}" ; end if
|
||||
#{debugEcho} duplicate -y "{sourceDir}{sourceFile}" "{targetDir}"
|
||||
{debugEcho} newalias "{sourceDir}{sourceFile}" "{targetDir}:{filename}"
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
end for
|
||||
4
mozilla/build/mac/CustomLib/CustomLib.c
Normal file
4
mozilla/build/mac/CustomLib/CustomLib.c
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
/* This library only exists to provide a dummy library for the final project */
|
||||
|
||||
/* There is nothing to do here. */
|
||||
BIN
mozilla/build/mac/CustomLib/CustomLib.mcp
Normal file
BIN
mozilla/build/mac/CustomLib/CustomLib.mcp
Normal file
Binary file not shown.
69
mozilla/build/mac/DoCopyHeaders
Normal file
69
mozilla/build/mac/DoCopyHeaders
Normal file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
|
||||
# This is the controlling script for a set of scripts that copy public
|
||||
# header files in one or more source trees into a single, "dist" directory.
|
||||
#
|
||||
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
|
||||
# ÒCopyExports.scriptÓ, which must be in the same directory.
|
||||
#
|
||||
# To execute this script, select everything from "# Get the..." to
|
||||
# " the end" and hit the Enter key.
|
||||
#
|
||||
# Known bugs:
|
||||
# Spurious output is produced even when verbose is off.
|
||||
#
|
||||
|
||||
# Uncomment this to get some progress information
|
||||
# set -e verbose 1
|
||||
|
||||
# Get the root of everything
|
||||
|
||||
set moz ""
|
||||
loop
|
||||
set mozillaDir `GetFileName -d -m "Please select the ÒmozillaÓ directory"`
|
||||
#set SourceRootDir
|
||||
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2:/) #·· dev:null
|
||||
set moz "{¨2}"
|
||||
break if "{moz}" == "mozilla"
|
||||
Alert "Sorry, this only works if you select the folder called ÒmozillaÓ."
|
||||
end loop
|
||||
|
||||
#Calculate the root directory by stripping off the leaf name.
|
||||
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
|
||||
Set -e SourceRootDir "{¨1}"
|
||||
Set -e DestRootDir "{mozillaDir}dist:"
|
||||
|
||||
# Ensure the build and stubs folders exist
|
||||
|
||||
if !`exists -d "{mozillaDir}dist"`
|
||||
newfolder "{mozillaDir}dist"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client"`
|
||||
newfolder "{mozillaDir}dist:client"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client_debug"`
|
||||
newfolder "{mozillaDir}dist:client_debug"
|
||||
end if
|
||||
if !`exists -d "{mozillaDir}dist:client_stubs"`
|
||||
newfolder "{mozillaDir}dist:client_stubs"
|
||||
end if
|
||||
|
||||
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
|
||||
|
||||
# the end
|
||||
@@ -26,63 +26,69 @@
|
||||
*/
|
||||
|
||||
/* warning pragmas */
|
||||
#pragma warn_hidevirtual on
|
||||
#pragma warn_hidevirtual on
|
||||
#pragma warn_emptydecl on
|
||||
#pragma warn_unusedvar on
|
||||
#pragma warn_extracomma on
|
||||
#pragma warn_illpragma on
|
||||
#pragma warn_possunwant on
|
||||
#pragma warn_unusedarg off /* turned off to reduce warnings */
|
||||
|
||||
#pragma check_header_flags on
|
||||
#pragma check_header_flags on
|
||||
|
||||
/* Language features that must be the same across libraries... */
|
||||
#pragma enumsalwaysint on
|
||||
#pragma unsigned_char off
|
||||
#pragma exceptions on
|
||||
#pragma bool on
|
||||
#pragma enumsalwaysint on
|
||||
#pragma unsigned_char off
|
||||
#pragma exceptions on
|
||||
#pragma bool on
|
||||
|
||||
|
||||
/* Save as much space as possible with strings... */
|
||||
#pragma pool_strings on
|
||||
#pragma dont_reuse_strings off
|
||||
#pragma dont_reuse_strings off
|
||||
|
||||
#pragma options align=native
|
||||
#pragma sym on /* Takes no memory. OK in non-debug. */
|
||||
#pragma sym on /* Takes no memory. OK in non-debug. */
|
||||
|
||||
|
||||
|
||||
#ifdef powerc /* ...generating PowerPC */
|
||||
#pragma toc_data on
|
||||
#pragma fp_contract on
|
||||
#pragma readonly_strings on
|
||||
#pragma toc_data on
|
||||
#pragma fp_contract on
|
||||
#pragma readonly_strings on
|
||||
|
||||
#ifdef DEBUG
|
||||
#pragma traceback on
|
||||
#pragma global_optimizer off
|
||||
#pragma scheduling off
|
||||
#pragma peephole off
|
||||
#pragma optimize_for_size off
|
||||
#pragma traceback on
|
||||
#pragma global_optimizer off
|
||||
#pragma scheduling off
|
||||
#pragma peephole off
|
||||
#pragma optimize_for_size off
|
||||
#else
|
||||
#pragma traceback off
|
||||
#pragma global_optimizer on
|
||||
#pragma optimization_level 4
|
||||
#pragma scheduling 604
|
||||
#pragma peephole on
|
||||
#pragma optimize_for_size on
|
||||
#pragma traceback off
|
||||
#pragma global_optimizer on
|
||||
#pragma optimization_level 4
|
||||
#pragma scheduling 604
|
||||
#pragma peephole on
|
||||
#pragma optimize_for_size on
|
||||
#endif
|
||||
|
||||
#else /* ...generating 68k */
|
||||
#pragma code68020 on
|
||||
#pragma code68881 off
|
||||
#pragma code68020 on
|
||||
#pragma code68881 off
|
||||
|
||||
/* Far everything... */
|
||||
#pragma far_code
|
||||
#pragma far_data on
|
||||
#pragma far_strings on
|
||||
#pragma far_vtables on
|
||||
#pragma far_data on
|
||||
#pragma far_strings on
|
||||
#pragma far_vtables on
|
||||
|
||||
#pragma fourbyteints on /* 4-byte ints */
|
||||
#pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */
|
||||
#pragma fourbyteints on /* 4-byte ints */
|
||||
#pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */
|
||||
|
||||
#ifdef DEBUG
|
||||
#pragma macsbug on
|
||||
#pragma macsbug on
|
||||
#pragma oldstyle_symbols off
|
||||
#else
|
||||
#pragma macsbug off
|
||||
#pragma macsbug off
|
||||
#endif
|
||||
#endif
|
||||
|
||||
5
mozilla/build/mac/MANIFEST
Normal file
5
mozilla/build/mac/MANIFEST
Normal file
@@ -0,0 +1,5 @@
|
||||
#
|
||||
# This is a list of local files which get copied to the mozilla:dist directory
|
||||
#
|
||||
|
||||
IDE_Options.h
|
||||
198
mozilla/build/mac/MacCVS.pm
Normal file
198
mozilla/build/mac/MacCVS.pm
Normal file
@@ -0,0 +1,198 @@
|
||||
#!perl -w
|
||||
package MacCVS;
|
||||
|
||||
# package Mac::Apps::MacCVS; this should really be the name of the package
|
||||
# but due to our directory hierarchy in mozilla, I am not doing it
|
||||
|
||||
require 5.004;
|
||||
require Exporter;
|
||||
|
||||
use strict;
|
||||
|
||||
use vars qw($VERSION @ISA @EXPORT $MacCVSLib);
|
||||
use Mac::StandardFile;
|
||||
use Moz;
|
||||
use Cwd;
|
||||
use Exporter;
|
||||
use File::Basename;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw( new print checkout);
|
||||
$VERSION = "1.00";
|
||||
|
||||
# Architecture:
|
||||
# cvs session object:
|
||||
# name - session name
|
||||
# session_file - session file
|
||||
#
|
||||
# globals
|
||||
# $MacCVSLib - location of MacCVS applescript library
|
||||
#
|
||||
#
|
||||
|
||||
#
|
||||
# utility routines
|
||||
#
|
||||
|
||||
# just like Mac::DoAppleScript, 1 is success, 0 is failure
|
||||
sub _myDoAppleScript($)
|
||||
{
|
||||
my($script) = @_;
|
||||
my $asresult = MacPerl::DoAppleScript($script);
|
||||
if ($asresult eq "0")
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "AppleScript error: $asresult\n";
|
||||
print STDERR "AppleScript was: \n $script \n";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
# _useMacCVSLib
|
||||
# returns 1 on success
|
||||
# Search the include path for the file called MacCVSLib
|
||||
sub _useMacCVSLib()
|
||||
{
|
||||
unless ( defined($MacCVSLib) )
|
||||
{
|
||||
my($libname) = "MacCVSLib";
|
||||
# try the directory we were run from
|
||||
my($c) = dirname($0) . ":" . $libname;
|
||||
if ( -e $c)
|
||||
{
|
||||
$MacCVSLib = $c;
|
||||
}
|
||||
else
|
||||
{
|
||||
# now search the include directories
|
||||
foreach (@INC)
|
||||
{
|
||||
unless ( m/^Dev:Pseudo/ ) # This is some bizarre MacPerl special-case directory
|
||||
{
|
||||
$c = $_ . $libname;
|
||||
if (-e $c)
|
||||
{
|
||||
$MacCVSLib = $c;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! (-e $MacCVSLib))
|
||||
{
|
||||
print STDERR "MacCVS lib could not be found! $MacCVSLib";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Session object methods
|
||||
#
|
||||
|
||||
sub new {
|
||||
my ( $proto, $session_file) = @_;
|
||||
my $class = ref($proto) || $proto;
|
||||
my $self = {};
|
||||
|
||||
if ( defined($session_file) && ( -e $session_file) )
|
||||
{
|
||||
$self->{"name"} = basename( $session_file );
|
||||
$self->{"session_file"} = $session_file;
|
||||
bless $self, $class;
|
||||
return $self;
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "MacCVS->new cvs file < $session_file > does not exist\n";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
# makes sure that the session is open
|
||||
# assertSessionOpen()
|
||||
# returns 1 on failure
|
||||
sub assertSessionOpen() {
|
||||
my ($self) = shift;
|
||||
_useMacCVSLib() || die "Could not load MacCVSLib\n";
|
||||
my $script = <<END_OF_APPLESCRIPT;
|
||||
tell (load script file "$MacCVSLib") to OpenSession("$self->{session_file}")
|
||||
END_OF_APPLESCRIPT
|
||||
return _myDoAppleScript($script);
|
||||
}
|
||||
|
||||
# prints the cvs object, used mostly for debugging
|
||||
sub print {
|
||||
my($self) = shift;
|
||||
print "MacCVS:: name: ", $self->{name}, " session file: ", $self->{session_file}, "\n";
|
||||
}
|
||||
|
||||
# checkout( self, module, revision, date)
|
||||
# MacCVS checkout command
|
||||
# returns 1 on failure
|
||||
sub checkout {
|
||||
my($self, $module, $revision, $date ) = @_;
|
||||
unless( defined ($module) ) { $module = ""; } # get rid of the pesky undefined warnings
|
||||
unless( defined ($revision) ) { $revision = ""; }
|
||||
unless( defined ($date) ) { $date = ""; }
|
||||
|
||||
$self->assertSessionOpen() || return 1;
|
||||
|
||||
my $script = <<END_OF_APPLESCRIPT;
|
||||
tell (load script file "$MacCVSLib") to Checkout given sessionName:"$self->{name}", module:"$module", revision:"$revision", date:"$date"
|
||||
END_OF_APPLESCRIPT
|
||||
return _myDoAppleScript($script);
|
||||
}
|
||||
|
||||
1;
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
MacCVS - Interface to MacCVS
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use MacCVS;
|
||||
$session = MacCVS->new( <session_file_path>) || die "cannot create session";
|
||||
$session->checkout([module] [revision] [date]) || die "Could not check out";
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This is a MacCVS interface for talking to MacCVS Pro client.
|
||||
MacCVSSession is the class used to manipulate the session
|
||||
|
||||
=item new
|
||||
MacCVS->new( <cvs session file path>);
|
||||
|
||||
Creates a new session. Returns undef on failure.
|
||||
|
||||
=item checkout( <module> [revision] [date] )
|
||||
|
||||
cvs checkout command. Revision and date are optional
|
||||
returns 0 on failure
|
||||
|
||||
=cut
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
=over
|
||||
|
||||
=item MacCVS Home Page
|
||||
|
||||
http://www.maccvs.org/
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Aleks Totic atotic@netscape.com
|
||||
|
||||
=cut
|
||||
|
||||
__END__
|
||||
BIN
mozilla/build/mac/MacCVSLib
Normal file
BIN
mozilla/build/mac/MacCVSLib
Normal file
Binary file not shown.
159
mozilla/build/mac/MacExportListPublic
Normal file
159
mozilla/build/mac/MacExportListPublic
Normal file
@@ -0,0 +1,159 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
# This is a list of paths to export.mac files, and destination
|
||||
# directories for the copied headers. Destinations are relative
|
||||
# to "mozilla:dist".
|
||||
|
||||
###################
|
||||
# PUBLIC TREE
|
||||
###################
|
||||
|
||||
# LDAP
|
||||
mozilla:directory:c-sdk:ldap:include:MANIFEST :ldap
|
||||
|
||||
#INCLUDE
|
||||
mozilla:config:mac:export.mac :config
|
||||
mozilla:include:export.mac :include
|
||||
mozilla:cmd:macfe:pch:export.mac :include
|
||||
|
||||
#MAC_COMMON
|
||||
mozilla:build:mac:export.mac :mac:common
|
||||
mozilla:lib:mac:NSStdLib:include:export.mac :mac:common
|
||||
mozilla:lib:mac:MacMemoryAllocator:include:export.mac :mac:common
|
||||
mozilla:lib:mac:Misc:export.mac :mac:common
|
||||
mozilla:lib:mac:MoreFiles:export.mac :mac:common:morefiles
|
||||
mozilla:cmd:macfe:export.mac :mac:macfe
|
||||
|
||||
#NSPR
|
||||
mozilla:nsprpub:pr:include:export.mac :nspr
|
||||
mozilla:nsprpub:pr:src:md:mac:export.mac :nspr:mac
|
||||
mozilla:nsprpub:lib:ds:export.mac :nspr
|
||||
mozilla:nsprpub:lib:libc:include:export.mac :nspr
|
||||
mozilla:nsprpub:lib:msgc:include:export.mac :nspr
|
||||
|
||||
#DBM
|
||||
mozilla:dbm:include:export.mac :dbm
|
||||
|
||||
#LIBIMAGE
|
||||
mozilla:modules:libimg:png:export.mac :libimg
|
||||
mozilla:modules:libimg:src:export.mac :libimg
|
||||
mozilla:modules:libimg:public:export.mac :libimg
|
||||
|
||||
#SECURITY_freenav
|
||||
mozilla:modules:security:freenav:export.mac :security
|
||||
|
||||
#XPCOM
|
||||
mozilla:xpcom:src:export.mac :xpcom
|
||||
|
||||
#ZLIB
|
||||
mozilla:modules:zlib:src:export.mac :zlib
|
||||
|
||||
#JPEG
|
||||
mozilla:jpeg:export.mac :jpeg
|
||||
|
||||
#JSJ
|
||||
mozilla:js:jsj:export.mac :jsj
|
||||
|
||||
#JSDEBUG
|
||||
mozilla:js:jsd:export.mac :jsdebug
|
||||
|
||||
#JS
|
||||
mozilla:js:src:export.mac :js
|
||||
|
||||
#RDF
|
||||
mozilla:modules:rdf:include:export.mac :rdf
|
||||
|
||||
#XML
|
||||
mozilla:modules:xml:glue:export.mac :xml
|
||||
mozilla:modules:xml:expat:xmlparse:export.mac :xml
|
||||
|
||||
#LIBFONT
|
||||
mozilla:modules:libfont:public:export.mac :libfont
|
||||
mozilla:modules:libfont:src:export.mac :libfont
|
||||
|
||||
#SCHEDULER
|
||||
mozilla:modules:schedulr:public:export.mac :schedulr
|
||||
|
||||
#NETWORK
|
||||
#This stuff is all in libnet on the branch.
|
||||
#mozilla:network:cache:export.mac :network
|
||||
#mozilla:network:client:export.mac :network
|
||||
#mozilla:network:cnvts:export.mac :network
|
||||
#mozilla:network:cstream:export.mac :network
|
||||
#mozilla:network:main:export.mac :network
|
||||
#ozilla:network:protocol:about:export.mac :network
|
||||
#mozilla:network:protocol:certld:export.mac :network
|
||||
#mozilla:network:protocol:dataurl:export.mac :network
|
||||
#mozilla:network:protocol:file:export.mac :network
|
||||
#mozilla:network:protocol:ftp:export.mac :network
|
||||
#mozilla:network:protocol:gopher:export.mac :network
|
||||
#mozilla:network:protocol:http:export.mac :network
|
||||
#mozilla:network:protocol:js:export.mac :network
|
||||
#mozilla:network:protocol:mailbox:export.mac :network
|
||||
#mozilla:network:protocol:marimba:export.mac :network
|
||||
#mozilla:network:protocol:nntp:export.mac :network
|
||||
#mozilla:network:protocol:pop3:export.mac :network
|
||||
#mozilla:network:protocol:remote:export.mac :network
|
||||
#mozilla:network:protocol:smtp:export.mac :network
|
||||
|
||||
#NORMANDY_BRANCH only
|
||||
mozilla:lib:libnet:export.mac :libnet
|
||||
|
||||
#HTML_DIALOGS
|
||||
mozilla:lib:htmldlgs:export.mac :htmldlgs
|
||||
|
||||
#LAYOUT
|
||||
mozilla:lib:layout:export.mac :layout
|
||||
|
||||
#LAYERS
|
||||
mozilla:lib:liblayer:include:export.mac :layers
|
||||
|
||||
#PARSE
|
||||
mozilla:lib:libparse:export.mac :libparse
|
||||
|
||||
#STYLE
|
||||
mozilla:lib:libstyle:export.mac :libstyle
|
||||
|
||||
#LIBHOOK
|
||||
mozilla:modules:libhook:public:export.mac :libhook
|
||||
|
||||
#LIBPREF
|
||||
mozilla:modules:libpref:public:export.mac :libpref
|
||||
|
||||
#LIBREG
|
||||
mozilla:modules:libreg:include:export.mac :libreg
|
||||
|
||||
#LIBUTIL
|
||||
mozilla:modules:libutil:public:export.mac :libutil
|
||||
|
||||
#OJI
|
||||
mozilla:modules:oji:src:export.mac :oji
|
||||
|
||||
#PROGRESS
|
||||
mozilla:modules:progress:public:export.mac :progress
|
||||
|
||||
#SOFTUPDATE
|
||||
mozilla:modules:softupdt:include:export.mac :softupdate
|
||||
|
||||
#NAV_JAVA
|
||||
mozilla:nav-java:stubs:macjri:export.mac :nav-java:macjri
|
||||
mozilla:nav-java:stubs:include:export.mac :nav-java
|
||||
|
||||
#SUN_JAVA
|
||||
mozilla:sun-java:stubs:include:export.mac :sun-java:include
|
||||
mozilla:sun-java:stubs:macjri:export.mac :sun-java:macjri
|
||||
BIN
mozilla/build/mac/MakeDist.mcp
Normal file
BIN
mozilla/build/mac/MakeDist.mcp
Normal file
Binary file not shown.
446
mozilla/build/mac/Moz.pm
Normal file
446
mozilla/build/mac/Moz.pm
Normal file
@@ -0,0 +1,446 @@
|
||||
=head1 NAME
|
||||
|
||||
B<Moz> - routines for automating CodeWarrior builds, and some extra-curricular activities related to building Mozilla
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use Moz;
|
||||
|
||||
OpenErrorLog(":::BuildLog");
|
||||
StopForErrors();
|
||||
|
||||
$Moz::QUIET = 1;
|
||||
InstallFromManifest(":projects:MANIFEST", $dist_dir);
|
||||
|
||||
BuildProjectClean(":projects:SomeProject.mcp", "SomeTarget");
|
||||
MakeAlias(":projects:SomeProject.shlb", $dist_dir);
|
||||
|
||||
DontStopForErrors();
|
||||
|
||||
BuildProject(":projects:SomeOtherProject.mcp", "SomeTarget");
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
B<Moz> comprises the routines needed to slap CodeWarrior around, force it to build a sequence of projects, report the results, and a few other things.
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
|
||||
|
||||
package Moz;
|
||||
require Exporter;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(BuildProject BuildProjectClean OpenErrorLog MakeAlias StopForErrors DontStopForErrors InstallFromManifest SetBuildNumber SetAgentString SetTimeBomb);
|
||||
@EXPORT_OK = qw(CloseErrorLog UseCodeWarriorLib QUIET);
|
||||
|
||||
use Cwd;
|
||||
use File::Path;
|
||||
use ExtUtils::Manifest 'maniread';
|
||||
|
||||
use CodeWarriorLib;
|
||||
|
||||
sub current_directory()
|
||||
{
|
||||
my $current_directory = cwd();
|
||||
chop($current_directory) if ( $current_directory =~ m/:$/ );
|
||||
return $current_directory;
|
||||
}
|
||||
|
||||
sub full_path_to($)
|
||||
{
|
||||
my ($path) = @_;
|
||||
if ( $path =~ m/^[^:]+$/ )
|
||||
{
|
||||
$path = ":" . $path;
|
||||
}
|
||||
|
||||
if ( $path =~ m/^:/ )
|
||||
{
|
||||
$path = current_directory() . $path;
|
||||
}
|
||||
|
||||
return $path;
|
||||
}
|
||||
|
||||
=head2 Setup
|
||||
|
||||
Pretty much, everything is taken care of for you.
|
||||
However, B<Moz> does use a little compiled AppleScript library (the file CodeWarriorLib) for some of its communcication with CodeWarrior.
|
||||
If this library isn't in the same directory as "Moz.pm", then you need to tell B<Moz> where to find it.
|
||||
Call C<UseCodeWarriorLib($path_to_CodeWarriorLib)>.
|
||||
This routine is not exported by default, nor are you likely to need it.
|
||||
|
||||
=cut
|
||||
|
||||
sub UseCodeWarriorLib($)
|
||||
{
|
||||
# ($CodeWarriorLib) = @_;
|
||||
# $CodeWarriorLib = full_path_to($CodeWarriorLib);
|
||||
}
|
||||
|
||||
sub activate_CodeWarrior()
|
||||
{
|
||||
#MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
|
||||
# tell (load script file "$CodeWarriorLib") to ActivateCodeWarrior()
|
||||
#END_OF_APPLESCRIPT
|
||||
}
|
||||
|
||||
BEGIN
|
||||
{
|
||||
# UseCodeWarriorLib(":CodeWarriorLib");
|
||||
# activate_CodeWarrior();
|
||||
CodeWarriorLib::activate();
|
||||
}
|
||||
|
||||
$logging = 0;
|
||||
$recent_errors_file = "";
|
||||
$stop_on_1st_error = 1;
|
||||
$QUIET = 0;
|
||||
|
||||
|
||||
|
||||
=head2 Logging all the errors and warnings - C<OpenErrorLog($log_file)>, C<CloseErrorLog()>
|
||||
|
||||
The warnings and errors generated in the course of building projects can be logged to a file.
|
||||
Tinderbox uses this facility to show why a remote build failed.
|
||||
|
||||
Logging is off by default.
|
||||
Start logging at any point in your build process with C<OpenErrorLog($log_file)>.
|
||||
Stop with C<CloseErrorLog()>.
|
||||
You never need to close the log explicitly, unless you want to just log a couple of projects in the middle of a big list.
|
||||
C<CloseErrorLog()> is not exported by default.
|
||||
|
||||
=cut
|
||||
|
||||
sub CloseErrorLog()
|
||||
{
|
||||
if ( $logging )
|
||||
{
|
||||
close(ERROR_LOG);
|
||||
$logging = 0;
|
||||
StopForErrors() if $stop_on_1st_error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub OpenErrorLog($)
|
||||
{
|
||||
my ($log_file) = @_;
|
||||
|
||||
CloseErrorLog();
|
||||
if ( $log_file )
|
||||
{
|
||||
$log_file = full_path_to($log_file);
|
||||
|
||||
open(ERROR_LOG, ">$log_file");
|
||||
|
||||
$log_file =~ m/.+:(.+)/;
|
||||
$recent_errors_file = full_path_to("$1.part");
|
||||
$logging = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
=head2 Stopping before it's too late - C<StopForErrors()>, C<DontStopForErrors()>
|
||||
|
||||
When building a long list of projects, you decide whether to continue building subsequent projects when one fails.
|
||||
By default, your build script will C<die> after the first project that generates an error while building.
|
||||
Change this behavior with C<DontStopForErrors()>.
|
||||
Re-enable it with C<StopForErrors()>.
|
||||
|
||||
=cut
|
||||
|
||||
sub StopForErrors()
|
||||
{
|
||||
$stop_on_1st_error = 1;
|
||||
|
||||
# Can't stop for errors unless we notice them.
|
||||
# Can't notice them unless we are logging.
|
||||
# If the user didn't explicitly request logging, log to a temporary file.
|
||||
|
||||
if ( ! $recent_errors_file )
|
||||
{
|
||||
OpenErrorLog("${TMPDIR}BuildResults");
|
||||
}
|
||||
}
|
||||
|
||||
sub DontStopForErrors()
|
||||
{
|
||||
$stop_on_1st_error = 0;
|
||||
}
|
||||
|
||||
sub log_message($)
|
||||
{
|
||||
if ( $logging )
|
||||
{
|
||||
my ($message) = @_;
|
||||
print ERROR_LOG $message;
|
||||
}
|
||||
}
|
||||
|
||||
sub log_message_with_time($)
|
||||
{
|
||||
if ( $logging )
|
||||
{
|
||||
my ($message) = @_;
|
||||
my $time_stamp = localtime();
|
||||
log_message("$message ($time_stamp)\n");
|
||||
}
|
||||
}
|
||||
|
||||
sub log_recent_errors($)
|
||||
{
|
||||
my ($project_name) = @_;
|
||||
my $found_errors = 0;
|
||||
|
||||
if ( $logging )
|
||||
{
|
||||
open(RECENT_ERRORS, "<$recent_errors_file");
|
||||
|
||||
while( <RECENT_ERRORS> )
|
||||
{
|
||||
if ( /^Error/ || /^CouldnÕt find project file/ )
|
||||
{
|
||||
$found_errors = 1;
|
||||
}
|
||||
print ERROR_LOG $_;
|
||||
}
|
||||
|
||||
close(RECENT_ERRORS);
|
||||
unlink("$recent_errors_file");
|
||||
}
|
||||
|
||||
if ( $stop_on_1st_error && $found_errors )
|
||||
{
|
||||
print ERROR_LOG "### Build failed.\n";
|
||||
die "### Errors encountered building \"$project_name\".\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub build_project($$$)
|
||||
{
|
||||
my ($project_path, $target_name, $clean_build) = @_;
|
||||
$project_path = full_path_to($project_path);
|
||||
|
||||
# $project_path =~ m/.+:(.+)/;
|
||||
# my $project_name = $1;
|
||||
|
||||
log_message_with_time("### Building \"$project_path\"");
|
||||
|
||||
# Check that the given project exists
|
||||
if (! -e $project_path)
|
||||
{
|
||||
print ERROR_LOG "### Build failed.\n";
|
||||
die "### Can't find project file \"$project_path\".\n";
|
||||
}
|
||||
|
||||
print "Building \"$project_path\"\n";
|
||||
|
||||
$had_errors = CodeWarriorLib::build_project(
|
||||
$project_path, $target_name, $recent_errors_file, $clean_build
|
||||
);
|
||||
|
||||
|
||||
# $had_errors =
|
||||
#MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
|
||||
# tell (load script file "$CodeWarriorLib") to BuildProject("$project_path", "$project_name", "$target_name", "$recent_errors_file", $clean_build)
|
||||
#END_OF_APPLESCRIPT
|
||||
|
||||
# Append any errors to the globally accumulated log file
|
||||
if ( $had_errors )
|
||||
{
|
||||
log_recent_errors($project_path);
|
||||
}
|
||||
}
|
||||
|
||||
=head2 Getting CodeWarrior to build projects - C<BuildProject($project, $opt_target)>, C<BuildProjectClean($project, $opt_target)>
|
||||
|
||||
C<BuildProject()> and C<BuildProjectClean()> are identical, except that the latter first removes object code.
|
||||
In both, CodeWarrior opens the project if it wasn't already open; builds the given (or else current) target; and finally closes
|
||||
the project, if it wasn't already open.
|
||||
|
||||
=cut
|
||||
|
||||
sub BuildProject($;$)
|
||||
{
|
||||
my ($project_path, $target_name) = @_;
|
||||
build_project($project_path, $target_name, 0);
|
||||
}
|
||||
|
||||
sub BuildProjectClean($;$)
|
||||
{
|
||||
my ($project_path, $target_name) = @_;
|
||||
build_project($project_path, $target_name, 1);
|
||||
}
|
||||
|
||||
|
||||
=head2 Miscellaneous
|
||||
|
||||
C<MakeAlias($old_file, $new_file)> functions like C<symlink()>, except with better argument defaulting and more explicit error messages.
|
||||
|
||||
=cut
|
||||
|
||||
sub MakeAlias($$)
|
||||
{
|
||||
my ($old_file, $new_file) = @_;
|
||||
|
||||
# if the directory to hold $new_file doesn't exist, create it
|
||||
if ( ($new_file =~ m/(.+:)/) && !-d $1 )
|
||||
{
|
||||
mkpath($1);
|
||||
}
|
||||
|
||||
# if a leaf name wasn't specified for $new_file, use the leaf from $old_file
|
||||
if ( ($new_file =~ m/:$/) && ($old_file =~ m/.+:(.+)/) )
|
||||
{
|
||||
$new_file .= $1;
|
||||
}
|
||||
|
||||
my $message = "Can't create a Finder alias (at \"$new_file\")\n for \"$old_file\"; because ";
|
||||
|
||||
die "$message \"$old_file\" doesn't exist.\n" unless -e $old_file;
|
||||
die "$message I won't replace an existing (non-alias) file with an alias.\n" if ( -e $new_file && ! -l $new_file );
|
||||
|
||||
# now: $old_file exists; $new_file doesn't (or else, is an alias already)
|
||||
|
||||
if ( -l $new_file )
|
||||
{
|
||||
# ...then see if it already points to $old_file
|
||||
my $current_target = full_path_to(readlink($new_file));
|
||||
my $new_target = full_path_to($old_file);
|
||||
|
||||
return if ( $current_target eq $new_target );
|
||||
# if the desired alias already exists and points to the right thing, then we're done
|
||||
|
||||
unlink $new_file;
|
||||
}
|
||||
|
||||
symlink($old_file, $new_file) || die "$message symlink returned an unexpected error.\n";
|
||||
}
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
C<InstallFromManifest()>
|
||||
|
||||
=cut
|
||||
|
||||
sub InstallFromManifest($;$)
|
||||
{
|
||||
my ($manifest_file, $dest_dir) = @_;
|
||||
|
||||
$dest_dir ||= ":";
|
||||
|
||||
$manifest_file =~ m/(.+):/;
|
||||
my $source_dir = $1;
|
||||
|
||||
chop($dest_dir) if $dest_dir =~ m/:$/;
|
||||
|
||||
print "Doing manifest on \"$manifest_file\"\n" unless $QUIET;
|
||||
|
||||
my $read = maniread(full_path_to($manifest_file));
|
||||
foreach $file (keys %$read)
|
||||
{
|
||||
next unless $file;
|
||||
|
||||
$subdir = ":";
|
||||
if ( $file =~ /:.+:/ )
|
||||
{
|
||||
$subdir = $&;
|
||||
}
|
||||
|
||||
$file = ":$file" unless $file =~ m/^:/;
|
||||
MakeAlias("$source_dir$file", "$dest_dir$subdir");
|
||||
}
|
||||
}
|
||||
|
||||
sub SetBuildNumber
|
||||
{
|
||||
|
||||
open (OUTPUT, ">:mozilla:config:build_number") || die "could not open buildnumber";
|
||||
|
||||
open (BDATE, "perl :mozilla:config:bdate.pl|");
|
||||
|
||||
while (<BDATE>) {
|
||||
print OUTPUT $_;
|
||||
}
|
||||
|
||||
close (BDATE);
|
||||
close (OUTPUT);
|
||||
|
||||
system ("perl :mozilla:config:aboutime.pl :mozilla:l10n:us:xp:about-all.html :mozilla:config:build_number");
|
||||
|
||||
}
|
||||
|
||||
sub SetAgentString
|
||||
{
|
||||
|
||||
open (BDATE, ":mozilla:config:build_number") || die "could not open buildnumber";
|
||||
|
||||
while (<BDATE>) {
|
||||
$build_number = $_;
|
||||
}
|
||||
|
||||
close (BDATE);
|
||||
|
||||
open (ORIGFILE, ":mozilla:cmd:macfe:restext:custom.r") || die "no original file";
|
||||
open (OUTPUT, ">:mozilla:cmd:macfe:restext:agent.r") || die "no output file";
|
||||
|
||||
chop($build_number);
|
||||
|
||||
while (<ORIGFILE>) {
|
||||
|
||||
$tempstring = $_;
|
||||
if ($tempstring =~ "\#define VERSION_MAJOR_STR") {
|
||||
$tempstring = "\#define VERSION_MAJOR_STR \"5.0a1-" . $build_number . " Development\"\n";
|
||||
}
|
||||
print OUTPUT $tempstring;
|
||||
}
|
||||
|
||||
close (ORIGFILE);
|
||||
close (OUTPUT);
|
||||
|
||||
unlink (":mozilla:cmd:macfe:restext:custom.r");
|
||||
rename (":mozilla:cmd:macfe:restext:agent.r", ":mozilla:cmd:macfe:restext:custom.r");
|
||||
}
|
||||
|
||||
sub SetTimeBomb($$)
|
||||
|
||||
{
|
||||
my ($warn_days, $bomb_days) = @_;
|
||||
|
||||
system("perl :mozilla:config:mac-set-timebomb.pl $warn_days $bomb_days");
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Scott Collins <scc@netscape.com>, Simon Fraser <sfraser@netscape.com>, Chris Yeh <cyeh@netscape.com>
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
BuildMozillaDebug.pl (et al), BuildList.pm, CodeWarriorLib (an AppleScript library)
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
=cut
|
||||
445
mozilla/build/mac/NGLayoutBuildList.pm
Normal file
445
mozilla/build/mac/NGLayoutBuildList.pm
Normal file
@@ -0,0 +1,445 @@
|
||||
#!perl -w
|
||||
package NGLayoutBuildList;
|
||||
|
||||
require 5.004;
|
||||
require Exporter;
|
||||
|
||||
use strict;
|
||||
use vars qw( @ISA @EXPORT );
|
||||
|
||||
# perl includes
|
||||
use Mac::StandardFile;
|
||||
use Mac::Processes;
|
||||
use Cwd;
|
||||
use File::Path;
|
||||
|
||||
# homegrown
|
||||
use Moz;
|
||||
use MacCVS;
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw( Checkout BuildDist BuildProjects BuildCommonProjects BuildLayoutProjects);
|
||||
|
||||
# NGLayoutBuildList builds the nglayout project
|
||||
# it is configured by setting the following variables in the caller:
|
||||
# Usage:
|
||||
# caller variables that affect behaviour:
|
||||
# DEBUG : 1 if we are building a debug version
|
||||
# 3-part build process: checkout, dist, and build_projects
|
||||
# Hack alert:
|
||||
# NGLayout defines are located in :mozilla:config:mac:NGLayoutConfigInclude.h
|
||||
# An alias "MacConfigInclude.h" to this file is created inside dist:config
|
||||
# Note that the name of alias is different than the name of the file. This
|
||||
# is to trick CW into including NGLayout defines
|
||||
|
||||
#
|
||||
# Utility routines
|
||||
#
|
||||
|
||||
# pickWithMemoryFile stores the information about the user pick inside
|
||||
# the file $session_storage
|
||||
sub _pickWithMemoryFile($)
|
||||
{
|
||||
my ($sessionStorage) = @_;
|
||||
my $cvsfile;
|
||||
|
||||
if (( -e $sessionStorage) &&
|
||||
open( SESSIONFILE, $sessionStorage ))
|
||||
{
|
||||
# Read in the path if available
|
||||
$cvsfile = <SESSIONFILE>;
|
||||
chomp $cvsfile;
|
||||
close SESSIONFILE;
|
||||
if ( ! -e $cvsfile )
|
||||
{
|
||||
print STDERR "$cvsfile has disappeared\n";
|
||||
undef $cvsfile;
|
||||
}
|
||||
}
|
||||
unless (defined ($cvsfile))
|
||||
{
|
||||
print "Choose a CVS session file in file dialog box:\n"; # no way to display a prompt?
|
||||
# make sure that MacPerl is a front process
|
||||
while (GetFrontProcess () != GetCurrentProcess())
|
||||
{
|
||||
SetFrontProcess( GetCurrentProcess() );
|
||||
}
|
||||
# prompt user for the file name, and store it
|
||||
my $macFile = StandardGetFile( 0, "McvD");
|
||||
if ( $macFile->sfGood() )
|
||||
{
|
||||
$cvsfile = $macFile->sfFile();
|
||||
# save the choice if we can
|
||||
if ( open (SESSIONFILE, ">" . $sessionStorage))
|
||||
{
|
||||
printf SESSIONFILE $cvsfile, "\n";
|
||||
close SESSIONFILE;
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "Could not open storage file\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
return $cvsfile;
|
||||
}
|
||||
|
||||
# assert that we are in the correct directory for the build
|
||||
sub _assertRightDirectory()
|
||||
{
|
||||
unless (-e ":mozilla")
|
||||
{
|
||||
my($dir) = cwd();
|
||||
print STDERR "NGLayoutBuildList called from incorrect directory: $dir";
|
||||
}
|
||||
}
|
||||
|
||||
sub _getDistDirectory()
|
||||
{
|
||||
return $main::DEBUG ? ":mozilla:dist:viewer_debug:" : ":mozilla:dist:viewer:";
|
||||
}
|
||||
|
||||
#
|
||||
# MAIN ROUTINES
|
||||
#
|
||||
sub Checkout()
|
||||
{
|
||||
_assertRightDirectory();
|
||||
my($cvsfile) = _pickWithMemoryFile("::nglayout.cvsloc");
|
||||
my($session) = MacCVS->new( $cvsfile );
|
||||
unless (defined($session)) { die "Checkout aborted. Cannot create session file: $session" }
|
||||
|
||||
my($LIBPREF_BRANCH) = "XPCOM_BRANCH";
|
||||
my($IMGLIB_BRANCH) = "MODULAR_IMGLIB_BRANCH"; #// compile the "(standalone)" targets when pulling the tips
|
||||
my($PLUGIN_BRANCH) = "OJI_19980618_BRANCH";
|
||||
|
||||
if ($main::pull{lizard})
|
||||
{
|
||||
$session->checkout("mozilla/LICENSE") || die "checkout failure";
|
||||
$session->checkout("mozilla/LEGAL") || die "checkout failure";
|
||||
$session->checkout("mozilla/config") || die "checkout failure";
|
||||
$session->checkout("mozilla/dbm") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/liblayer") || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/zlib") || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/libutil") || die "checkout failure";
|
||||
$session->checkout("mozilla/nsprpub") || die "checkout failure";
|
||||
$session->checkout("mozilla/sun-java") || die "checkout failure";
|
||||
$session->checkout("mozilla/nav-java") || die "checkout failure";
|
||||
$session->checkout("mozilla/js") || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/security/freenav") || die "checkout failure";
|
||||
#//$session->checkout("mozilla/lib/libparse") || die "checkout failure";
|
||||
#//$session->checkout("mozilla/lib/layout") || die "checkout failure";
|
||||
#//$session->checkout("mozilla/lib/libstyle") || die "checkout failure";
|
||||
#//$session->checkout("mozilla/lib/libpwcac") || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/libpref",$LIBPREF_BRANCH) || die "checkout failure";
|
||||
#//$session->checkout("mozilla/modules/plugin",$PLUGIN_BRANCH) || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/plugin") || die "checkout failure";
|
||||
}
|
||||
if ($main::pull{xpcom})
|
||||
{
|
||||
$session->checkout("mozilla/modules/libreg") || die "checkout failure";
|
||||
$session->checkout("mozilla/xpcom") || die "checkout failure";
|
||||
}
|
||||
if ($main::pull{imglib})
|
||||
{
|
||||
$session->checkout("mozilla/jpeg", $IMGLIB_BRANCH) || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/libutil", $IMGLIB_BRANCH) || die "checkout failure";
|
||||
$session->checkout("mozilla/modules/libimg", $IMGLIB_BRANCH) || die "checkout failure";
|
||||
}
|
||||
if ($main::pull{netlib})
|
||||
{
|
||||
$session->checkout("mozilla/lib/xp") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/libpwcac") || die "checkout failure";
|
||||
$session->checkout("mozilla/network") || die "checkout failure";
|
||||
$session->checkout("mozilla/include") || die "checkout failure";
|
||||
}
|
||||
if ($main::pull{nglayout})
|
||||
{
|
||||
$session->checkout("mozilla/base") || die "checkout failure";
|
||||
$session->checkout("mozilla/dom") || die "checkout failure";
|
||||
$session->checkout("mozilla/gfx") || die "checkout failure";
|
||||
$session->checkout("mozilla/htmlparser") || die "checkout failure";
|
||||
$session->checkout("mozilla/layout") || die "checkout failure";
|
||||
$session->checkout("mozilla/view") || die "checkout failure";
|
||||
$session->checkout("mozilla/webshell") || die "checkout failure";
|
||||
$session->checkout("mozilla/widget") || die "checkout failure";
|
||||
}
|
||||
if ($main::pull{mac})
|
||||
{
|
||||
$session->checkout("mozilla/build/mac") || die "checkout failure";
|
||||
$session->checkout("mozilla/cmd/macfe") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/mac/MacMemoryAllocator") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/mac/NSStdLib") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/mac/MoreFiles") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/mac/NSRuntime") || die "checkout failure";
|
||||
$session->checkout("mozilla/lib/mac/Misc") || die "checkout failure";
|
||||
}
|
||||
}
|
||||
|
||||
# builds the dist directory
|
||||
sub BuildDist()
|
||||
{
|
||||
unless ( $main::build{dist} ) { return;}
|
||||
_assertRightDirectory();
|
||||
|
||||
# we really do not need all these paths, but many client projects include them
|
||||
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
|
||||
mkpath([ ":mozilla:dist:viewer:", ":mozilla:dist:viewer_debug:" ]);
|
||||
|
||||
my($distdirectory) = ":mozilla:dist";
|
||||
|
||||
my($distlist) = [
|
||||
#MAC_COMMON
|
||||
[":mozilla:build:mac:MANIFEST", "$distdirectory:mac:common:"],
|
||||
[":mozilla:lib:mac:NSStdLib:include:MANIFEST", "$distdirectory:mac:common:"],
|
||||
[":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", "$distdirectory:mac:common:"],
|
||||
[":mozilla:lib:mac:Misc:MANIFEST", "$distdirectory:mac:common:"],
|
||||
[":mozilla:lib:mac:MoreFiles:MANIFEST", "$distdirectory:mac:common:morefiles:"],
|
||||
#INCLUDE
|
||||
[":mozilla:config:mac:MANIFEST", "$distdirectory:config:"],
|
||||
[":mozilla:config:mac:MANIFEST_config", "$distdirectory:config:"],
|
||||
[":mozilla:include:MANIFEST", "$distdirectory:include:"],
|
||||
[":mozilla:cmd:macfe:pch:MANIFEST", "$distdirectory:include:"],
|
||||
[":mozilla:cmd:macfe:utility:MANIFEST", "$distdirectory:include:"],
|
||||
#NSPR
|
||||
[":mozilla:nsprpub:pr:include:MANIFEST", "$distdirectory:nspr:"],
|
||||
[":mozilla:nsprpub:pr:src:md:mac:MANIFEST", "$distdirectory:nspr:mac:"],
|
||||
[":mozilla:nsprpub:lib:ds:MANIFEST", "$distdirectory:nspr:"],
|
||||
[":mozilla:nsprpub:lib:libc:include:MANIFEST", "$distdirectory:nspr:"],
|
||||
[":mozilla:nsprpub:lib:msgc:include:MANIFEST", "$distdirectory:nspr:"],
|
||||
#JPEG
|
||||
[":mozilla:jpeg:MANIFEST", "$distdirectory:jpeg:"],
|
||||
#LIBREG
|
||||
[":mozilla:modules:libreg:include:MANIFEST", "$distdirectory:libreg:"],
|
||||
#XPCOM
|
||||
[":mozilla:xpcom:src:MANIFEST", "$distdirectory:xpcom:"],
|
||||
#ZLIB
|
||||
[":mozilla:modules:zlib:src:MANIFEST", "$distdirectory:zlib:"],
|
||||
#LIBUTIL
|
||||
[":mozilla:modules:libutil:public:MANIFEST", "$distdirectory:libutil:"],
|
||||
#SUN_JAVA
|
||||
[":mozilla:sun-java:stubs:include:MANIFEST", "$distdirectory:sun-java:"],
|
||||
[":mozilla:sun-java:stubs:macjri:MANIFEST", "$distdirectory:sun-java:"],
|
||||
#PRIVACY
|
||||
[":mozilla:privacy:public:MANIFEST", "$distdirectory:libimg:"],
|
||||
#NAV_JAVA
|
||||
[":mozilla:nav-java:stubs:include:MANIFEST", "$distdirectory:nav-java:"],
|
||||
[":mozilla:nav-java:stubs:macjri:MANIFEST", "$distdirectory:nav-java:"],
|
||||
#JS
|
||||
[":mozilla:js:src:MANIFEST", "$distdirectory:js:"],
|
||||
#SECURITY_freenav
|
||||
[":mozilla:modules:security:freenav:MANIFEST", "$distdirectory:security:"],
|
||||
#LIBPREF
|
||||
[":mozilla:modules:libpref:public:MANIFEST", "$distdirectory:libpref:"],
|
||||
#LIBIMAGE
|
||||
[":mozilla:modules:libimg:png:MANIFEST", "$distdirectory:libimg:"],
|
||||
[":mozilla:modules:libimg:src:MANIFEST", "$distdirectory:libimg:"],
|
||||
[":mozilla:modules:libimg:public:MANIFEST", "$distdirectory:libimg:"],
|
||||
[":mozilla:modules:rdf:include:MANIFEST", "$distdirectory:libimg:"],
|
||||
#PLUGIN
|
||||
[":mozilla:modules:plugin:nglsrc:MANIFEST", "$distdirectory:plugin:"],
|
||||
[":mozilla:modules:plugin:public:MANIFEST", "$distdirectory:plugin:"],
|
||||
[":mozilla:modules:plugin:src:MANIFEST", "$distdirectory:plugin:"],
|
||||
# IS THIS STILL NEEDED
|
||||
#PARSE
|
||||
[":mozilla:lib:libparse:MANIFEST", "$distdirectory:libparse:"],
|
||||
#//OLD LAYOUT
|
||||
[":mozilla:lib:layout:MANIFEST", "$distdirectory:layout:"],
|
||||
#STYLE
|
||||
[":mozilla:lib:libstyle:MANIFEST", "$distdirectory:libstyle:"],
|
||||
#LAYERS
|
||||
[":mozilla:lib:liblayer:include:MANIFEST", "$distdirectory:layers:"],
|
||||
#NETWORK
|
||||
[":mozilla:network:cache:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:client:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:cnvts:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:cstream:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:main:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:mimetype:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:util:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:about:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:certld:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:dataurl:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:file:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:ftp:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:gopher:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:http:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:js:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:mailbox:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:marimba:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:nntp:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:pop3:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:remote:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:protocol:smtp:MANIFEST", "$distdirectory:network:"],
|
||||
[":mozilla:network:module:MANIFEST","$distdirectory:network:module"],
|
||||
[":mozilla:modules:progress:public:MANIFEST","$distdirectory:network:module"],
|
||||
#BASE
|
||||
[":mozilla:base:src:MANIFEST", "$distdirectory:base:"],
|
||||
[":mozilla:base:public:MANIFEST", "$distdirectory:base:"],
|
||||
#WEBSHELL
|
||||
[":mozilla:webshell:public:MANIFEST", "$distdirectory:webshell:"],
|
||||
#LAYOUT
|
||||
[":mozilla:layout:base:public:MANIFEST", "$distdirectory:layout:"],
|
||||
[":mozilla:layout:html:style:public:MANIFEST", "$distdirectory:layout:"],
|
||||
[":mozilla:layout:html:base:src:MANIFEST", "$distdirectory:layout:"],
|
||||
# //[":mozilla:layout:html:document:public:MANIFEST", "$distdirectory:layout:"],
|
||||
[":mozilla:layout:base:src:MANIFEST", "$distdirectory:layout:"],
|
||||
[":mozilla:layout:events:public:MANIFEST", "$distdirectory:layout:"],
|
||||
[":mozilla:layout:events:src:MANIFEST", "$distdirectory:layout:"],
|
||||
#WIDGET
|
||||
[":mozilla:widget:public:MANIFEST", "$distdirectory:widget:"],
|
||||
#GFX
|
||||
[":mozilla:gfx:src:MANIFEST", "$distdirectory:gfx:"],
|
||||
#VIEW
|
||||
[":mozilla:view:public:MANIFEST", "$distdirectory:view:"],
|
||||
#DOM
|
||||
[":mozilla:dom:public:MANIFEST", "$distdirectory:dom:"],
|
||||
[":mozilla:dom:public:coreDom:MANIFEST", "$distdirectory:dom:"],
|
||||
[":mozilla:dom:public:coreEvents:MANIFEST", "$distdirectory:dom:"],
|
||||
[":mozilla:dom:public:events:MANIFEST", "$distdirectory:dom:"],
|
||||
[":mozilla:dom:public:html:MANIFEST", "$distdirectory:dom:"],
|
||||
[":mozilla:dom:src:jsurl:MANIFEST", "$distdirectory:dom:"],
|
||||
#HTMLPARSER
|
||||
[":mozilla:htmlparser:src:MANIFEST", "$distdirectory:htmlparser:"],
|
||||
|
||||
];
|
||||
foreach $a (@$distlist)
|
||||
{
|
||||
InstallFromManifest( $a->[0], $a->[1]);
|
||||
}
|
||||
|
||||
# To get out defines in all the project, dummy alias NGLayoutConfigInclude.h into MacConfigInclude.h
|
||||
MakeAlias(":mozilla:config:mac:NGLayoutConfigInclude.h", ":mozilla:dist:config:MacConfigInclude.h");
|
||||
}
|
||||
|
||||
# builds all projects
|
||||
# different targets controlled by $main::build
|
||||
sub BuildCommonProjects()
|
||||
{
|
||||
unless( $main::build{common} ) { return; }
|
||||
_assertRightDirectory();
|
||||
|
||||
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
|
||||
my($D) = $main::DEBUG ? "Debug" : "";
|
||||
my($dist_dir) = _getDistDirectory();
|
||||
|
||||
# clean projects
|
||||
|
||||
Moz::BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
|
||||
Moz::BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
|
||||
Moz::BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
|
||||
Moz::BuildProjectClean(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
|
||||
|
||||
# shared
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
|
||||
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
|
||||
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
|
||||
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
|
||||
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScriptNoJSJ$D.shlb");
|
||||
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
|
||||
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
|
||||
$main::DEBUG ? MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb.xSYM", "$dist_dir") : 0;
|
||||
|
||||
# static
|
||||
|
||||
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.o");
|
||||
|
||||
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
|
||||
|
||||
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
|
||||
|
||||
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
|
||||
#//BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o (standalone)");
|
||||
|
||||
BuildProject(":mozilla:network:macbuild:network.mcp", "NetworkModular$D.o");
|
||||
|
||||
}
|
||||
|
||||
sub BuildLayoutProjects()
|
||||
{
|
||||
unless( $main::build{nglayout} ) { return; }
|
||||
_assertRightDirectory();
|
||||
|
||||
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
|
||||
my($D) = $main::DEBUG ? "Debug" : "";
|
||||
my($dist_dir) = _getDistDirectory();
|
||||
|
||||
BuildProject(":mozilla:base:macbuild:base.mcp", "base$D.o");
|
||||
|
||||
BuildProject(":mozilla:htmlparser:macbuild:htmlparser.mcp", "htmlparser$D.o");
|
||||
|
||||
BuildProject(":mozilla:dom:macbuild:dom.mcp", "dom$D.o");
|
||||
|
||||
BuildProject(":mozilla:gfx:macbuild:gfx.mcp", "gfx$D.o");
|
||||
|
||||
BuildProject(":mozilla:layout:macbuild:layout.mcp", "layout$D.o");
|
||||
|
||||
BuildProject(":mozilla:widget:macbuild:widget.mcp", "widget$D.o");
|
||||
|
||||
BuildProject(":mozilla:webshell:macbuild:webshell.mcp", "webshell$D.o");
|
||||
|
||||
BuildProject(":mozilla:webshell:tests:viewer:mac:viewer.mcp", "viewer$D");
|
||||
|
||||
|
||||
my($resource_dir) = "$dist_dir" . "res:";
|
||||
MakeAlias(":mozilla:layout:html:document:src:ua.css", "$resource_dir");
|
||||
|
||||
#-- not yet: the throbber chokes if we feed it with gifs
|
||||
#my($throbber_dir) = "$dist_dir" . "res:throbber:";
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims00.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims01.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims02.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims03.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims04.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims05.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims06.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims07.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims08.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims09.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims10.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims11.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims12.gif", "$throbber_dir");
|
||||
#MakeAlias(":mozilla:webshell:tests:viewer:throbber:anims13.gif", "$throbber_dir");
|
||||
|
||||
my($samples_dir) = "$dist_dir" . "res:samples:";
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test0.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test1.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test2.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test3.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test4.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test5.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test6.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test7.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test8.html", "$samples_dir");
|
||||
MakeAlias(":mozilla:webshell:tests:viewer:samples:test9.html", "$samples_dir");
|
||||
}
|
||||
|
||||
sub BuildProjects()
|
||||
{
|
||||
BuildCommonProjects();
|
||||
BuildLayoutProjects();
|
||||
}
|
||||
@@ -16,17 +16,20 @@
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#error "DonÕt use me!"
|
||||
|
||||
#define OLDROUTINELOCATIONS 0
|
||||
#define XP_MAC 1
|
||||
#ifndef NSPR20
|
||||
#define NSPR20 1
|
||||
#endif
|
||||
#define _NSPR 1
|
||||
#define _NO_FAST_STRING_INLINES_ 1
|
||||
#define HAVE_BOOLEAN 1
|
||||
#define NETSCAPE 1
|
||||
#define OTUNIXERRORS 1 /* We want OpenTransport error codes */
|
||||
|
||||
#define OJI 1
|
||||
#define MOCHA 1
|
||||
|
||||
/*
|
||||
This compiles in heap dumping utilities and other good stuff
|
||||
for developers -- maybe we only want it in for a special SDK
|
||||
|
||||
40
mozilla/build/mac/TinderboxMozilla.pl
Normal file
40
mozilla/build/mac/TinderboxMozilla.pl
Normal file
@@ -0,0 +1,40 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
use Moz;
|
||||
use BuildList;
|
||||
|
||||
$DEBUG = 1;
|
||||
|
||||
# One of them should be 1. This will come from a config file at some stage.
|
||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
||||
$MOZ_LITE = 0;
|
||||
$MOZ_MEDIUM = 1;
|
||||
$MOZ_DARK = 0;
|
||||
|
||||
Moz::OpenErrorLog("::::Mozilla.BuildLog");
|
||||
#Moz::StopForErrors();
|
||||
|
||||
chdir("::::");
|
||||
|
||||
# Make and popuplate the dist directory
|
||||
DistMozilla();
|
||||
|
||||
# Now build the projects
|
||||
BuildMozilla();
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user