Re: Something is missing in Component Pascal
----boundary-LibPST-iamunique-1303109147_-_-
Content-type: text/plain
Wojtek Skulski wrote:
I have been struggling with BlackBox during the last few days,
and I have come to the conclusion that something is missing in
Component Pascal... This something is well known in C as an address operator...
The problem Wojtek is struggling with, is that of storing records which contains linked structures onto disk.
I advise him that an address operator would not help there!.
In case there is no trivial solution, I will temporarily dump BB and start
using C++ for the time being, where such stupid traps do not happen.
What you can find in C++ or some other languages is an already implemented method for doing this task, but not a magic operator. The difficulty of this problem is due to the nature of POINTERs. They are RAM addresses. You can not just store them into a file and later on read those pointers back, the RAM addresses they represent may now been in use. You need to allocate fresh heap space in a node-by-node basis.
Actually, your declaration:
TYPE
PersistentTree* = POINTER TO EXTENSIBLE RECORD (Stores.Store)
tree*: Dialog.Tree
END;
is a good starting point. All what is left is to implement this:
PROCEDURE (t: PersistentTree) Externalize- (VAR wr: Stores.Writer);
PROCEDURE (t: PersistentTree) Internalize- (VAR rd: Stores.Reader);
As I can remember in MODULA-3 there are nice algorithms for storing/recovering linked structures. I urge someone to accept its implementation in Component Pascal, and prevent Wojtek's desertion. It is really urgent: he is threatening to switch to C++!
René Dorta.
-------------------------------------------- To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to: blackbox-request{([at]})nowhere.xy
----boundary-LibPST-iamunique-1303109147_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm
c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy
XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg
TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1
O1xyZWQyNTVcZ3JlZW4wXGJsdWUwO30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZz
MjQgDQp7XCpcaHRtbHRhZzI0MyA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhU
TUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRt
bHRhZzE5IDxodG1sPn0NCntcKlxodG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMzQgPGhlYWQ+
fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDEgICB9DQp7XCpcaHRtbHRhZzI0
MSA8REVGQU5HRURfbWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQv
aHRtbDtjaGFyc2V0PUlTTy04ODU5LTEiPn0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1s
dGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWcxNzcgPHRpdGxlPn0NCntcKlxodG1sdGFnMjQxIH0NCntc
KlxodG1sdGFnMTg1IDwvdGl0bGU+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWc0
MSA8L2hlYWQ+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWc1MCA8Ym9keT59DQp7
XCpcaHRtbHRhZzAgXHBhciB9e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFdvanRl
ayBTa3Vsc2tpIHdyb3RlOg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAg
e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJs
b2NrcXVvdGUgdHlwZT0iY2l0ZSJccGFyICBjaXRlPSJtaWRQaW5lLkdTTy40LjQwLjAzMDcwMzAx
Mzc1NTAuMTUzMTYtMTAwMDAwQHBob2J0b2YiPn1caHRtbHJ0ZiBccGFyDQp7XGh0bWxydGYwIA0K
e1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzEyOCA8
cHJlIHdyYXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBcaHRt
bHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCAgIEkgaGF2ZSBiZWVuIHN0cnVnZ2xpbmcgd2l0aCBCbGFj
a0JveCBkdXJpbmcgdGhlIGxhc3QgZmV3IGRheXMsXGxpbmUNCmFuZCBJIGhhdmUgY29tZSB0byB0
aGUgY29uY2x1c2lvbiB0aGF0IHNvbWV0aGluZyBpcyBtaXNzaW5nIGluXGxpbmUNCkNvbXBvbmVu
dCBQYXNjYWwuLi4gVGhpcyBzb21ldGhpbmcgaXMgd2VsbCBrbm93biBpbiBDIGFzIGFuIGFkZHJl
c3Mgb3BlcmF0b3IuLi5caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwv
cHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0
YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBUaGUgcHJvYmxlbSBX
b2p0ZWsgaXMgc3RydWdnbGluZyB3aXRoLCBpcyB0aGF0IG9mIHN0b3JpbmcgcmVjb3JkcyB3aGlj
aCBjb250YWlucw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgbGlua2Vk
IHN0cnVjdHVyZXMgb250byBkaXNrLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu
ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUkgYWR2aXNlIGhpbSB0aGF0IGFuIGFk
ZHJlc3Mgb3BlcmF0b3Igd291bGQgbm90IGhlbHAgdGhlcmUhLiANCntcKlxodG1sdGFnMTE2IDxi
cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH17XCpcaHRt
bHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90
ZSB0eXBlPSJjaXRlIlxwYXIgIGNpdGU9Im1pZFBpbmUuR1NPLjQuNDAuMDMwNzAzMDEzNzU1MC4x
NTMxNi0xMDAwMDBAcGhvYnRvZiI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRt
bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3Jh
cD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtc
aHRtbHJ0ZjAgXGxpMzYwIEluIGNhc2UgdGhlcmUgaXMgbm8gdHJpdmlhbCBzb2x1dGlvbiwgSSB3
aWxsIHRlbXBvcmFyaWx5IGR1bXAgQkIgYW5kIHN0YXJ0XGxpbmUNCnVzaW5nIEMrKyBmb3IgdGhl
IHRpbWUgYmVpbmcsIHdoZXJlIHN1Y2ggc3R1cGlkIHRyYXBzIGRvIG5vdCBoYXBwZW4uXGxpbmUN
CiAgXGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxy
dGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMTA0IDwvYmxv
Y2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH17
XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgV2hhdCB5b3UgY2FuIGZpbmQgaW4gQysr
IG9yIHNvbWUgb3RoZXIgbGFuZ3VhZ2VzIGlzIGFuIGFscmVhZHkgaW1wbGVtZW50ZWQNCntcKlxo
dG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIG1ldGhvZCBmb3IgZG9pbmcgdGhpcyB0
YXNrLCBidXQgbm90IGEgbWFnaWMgb3BlcmF0b3IuIFRoZSBkaWZmaWN1bHR5IG9mIHRoaXMNCntc
KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHByb2JsZW0gaXMgZHVlIHRvIHRo
ZSBuYXR1cmUgb2YgUE9JTlRFUnMuIFRoZXkgYXJlIFJBTSBhZGRyZXNzZXMuIFlvdSBjYW4NCntc
KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIG5vdCBqdXN0IHN0b3JlIHRoZW0g
aW50byBhIGZpbGUgYW5kIGxhdGVyIG9uIHJlYWQgdGhvc2UgcG9pbnRlcnMgYmFjaywgdGhlDQp7
XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBSQU0gYWRkcmVzc2VzIHRoZXkg
cmVwcmVzZW50IG1heSBub3cgYmVlbiBpbiB1c2UuIFlvdSBuZWVkIHRvIGFsbG9jYXRlIGZyZXNo
DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBoZWFwIHNwYWNlIGluIGEg
bm9kZS1ieS1ub2RlIGJhc2lzLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0K
XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt
bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUFjdHVhbGx5LCB5b3Vy
IGRlY2xhcmF0aW9uOg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy
dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1s
cnRmMA0KDQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiXHBhciAgY2l0ZT0i
bWlkUGluZS5HU08uNC40MC4wMzA3MDIwMjQxNDQwLjEzMDc4LTEwMDAwMEBwaG9idG9mIj59XGh0
bWxydGYgXHBhcg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMjQwICAgIH0NCntcKlxodG1sdGFn
MCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIi
Pn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1s
cnRmMCBcbGkzNjAgVFlQRVxsaW5lDQpQZXJzaXN0ZW50VHJlZSogPSANCntcKlxodG1sdGFnMTQ4
IDxmb250IGNvbG9yPSIjZmYwMDAwIj59XGh0bWxydGYge1xjZjIgXGh0bWxydGYwIFBPSU5URVIg
VE8gDQp7XCpcaHRtbHRhZzE1NiA8L2ZvbnQ+fVxodG1scnRmIH1caHRtbHJ0ZjAgRVhURU5TSUJM
RSBSRUNPUkQgKFN0b3Jlcy5TdG9yZSlcbGluZQ0KICAgdHJlZSo6IERpYWxvZy5UcmVlXGxpbmUN
CkVORDtcbGluZQ0KICBcaHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwv
cHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0
YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBpcyBhIGdvb2Qgc3Rh
cnRpbmcgcG9pbnQuIEFsbCB3aGF0IGlzIGxlZnQgaXMgdG8gaW1wbGVtZW50IHRoaXM6DQp7XCpc
aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg
XHBhciB9e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFn
OTYgPGJsb2NrcXVvdGU+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1c
aHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCBQUk9DRURVUkUgKHQ6IFBlcnNpc3RlbnRUcmVlKSBF
eHRlcm5hbGl6ZS0gKFZBUiB3cjogU3RvcmVzLldyaXRlcik7DQp7XCpcaHRtbHRhZzExNiA8YnI+
fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRt
bHRhZzQgIH1QUk9DRURVUkUgKHQ6IFBlcnNpc3RlbnRUcmVlKSBJbnRlcm5hbGl6ZS0gKFZBUiBy
ZDogU3RvcmVzLlJlYWRlcik7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpc
aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9
XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXIN
ClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMCAgfXtcKlxodG1s
dGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBBcyBJIGNhbiByZW1lbWJlciBpbiBNT0RVTEEtMyB0
aGVyZSBhcmUgbmljZSBhbGdvcml0aG1zIGZvciBzdG9yaW5nL3JlY292ZXJpbmcNCntcKlxodG1s
dGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIGxpbmtlZCBzdHJ1Y3R1cmVzLiBJIHVyZ2Ug
c29tZW9uZSB0byBhY2NlcHQgaXRzIGltcGxlbWVudGF0aW9uIGluIENvbXBvbmVudA0Ke1wqXGh0
bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgUGFzY2FsLCBhbmQgcHJldmVudCBXb2p0
ZWsncyBkZXNlcnRpb24uIEl0IGlzIHJlYWxseSB1cmdlbnQ6IGhlIGlzIHRocmVhdGVuaW5nDQp7
XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCB0byBzd2l0Y2ggdG8gQysrIQ0K
e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw
IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVJlbg0Ke1wqXGh0bWx0YWc4NCAmZWFjdXRlO31caHRtbHJ0
ZiBcJ2U5XGh0bWxydGYwICBEb3J0YS4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp
bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59
XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH17XCpcaHRtbHRh
ZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc1OCA8L2JvZHk+fQ0Ke1wq
XGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNyA8L2h0bWw+fQ0Ke1wqXGh0bWx0YWczIFxw
YXIgfQ0Ke1wqXGh0bWx0YWczIFxwYXIgfQ0Ke1wqXGh0bWx0YWczIFxwYXIgfXtcKlxodG1sdGFn
NjR9XGh0bWxydGYge1xodG1scnRmMCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzQgXHBhciB9VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwgc2Vu
ZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAidW5zdWJzY3JpYmUiIHRvOg0Ke1wqXGh0
bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgIH1ibGFj
a2JveC1yZXF1ZXN0QG9iZXJvbi5jaA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRt
bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwg
Y29tbWFuZHMgYW5kIGluc3RydWN0aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2Ug
Y29udGFpbmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuDQp7XCpcaHRt
bHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1TZW5k
IGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFpbCBs
aXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo
dG1scnRmMCANCntcKlxodG1sdGFnODQgICAgfW93bmVyLWJsYWNrYm94QG9iZXJvbi5jaA0Ke1wq
XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9
Q3VycmVudCBwb3N0aW5nIHBvbGljeToNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhl
IHNhbWUgYWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcg
bGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vi
c2NyaWJlciBhbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3Jl
YXRpbmcgYW55IG92ZXJoZWFkLg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9YikgSWYsIGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5v
dCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCwgeW91
ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0
YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUgZGVsYXksIGluIHBhcnRp
Y3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5cy4NCntcKlxodG1sdGFnNCBccGFyIH1caHRt
bHJ0ZiAgXGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KfQ==
----boundary-LibPST-iamunique-1303109147_-_---
Received on Fri Jul 04 2003 - 03:01:44 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:29:09 UTC