- readers & writers

From: [at]} <René>
Date: Sun, 03 Jun 2007 08:40:32 -0400

----boundary-LibPST-iamunique-1369251018_-_- Content-type: text/plain Hello Bob, Thanks for your advice. I am already working with the last possibility you mentioned. Regards, René. Bob Walkden wrote: It seems to me that the current model for files is a reasonable compromise between simplicity, usefulness and safety. As soon as you introduce concurrency you are no longer dealing with a 'simple file application', and you have to respond accordingly. If you change the model so that other processes can read while one process can write, then you run the risk of some of the problems which database transaction management eliminates, such as non-repeatable reads and dirty reads. To eliminate these you would need a more finely-grained locking strategy, such as block and record locking. Even these on their own don't fully eliminate the aforementioned problems (and others which arise), and you start to need transactions. This takes you into the realm of DBMSs. So the answer, in my opinion, is to recognise that you no longer have a 'simple file application', and use the right tool for the job, in this case the SQL module with a suitable DBMS which handles concurrency well enough. Another possibility might be to look at the design of your application, and identify those parts which require the files to be updated. Separate them from the rest of the application and make sure that they hold their locks for the shortest possible time by opening the files only when you need to, and closing them as soon as you have finished writing. -- Regards, Bob -----Original Message----- From: blackbox{([at]})nowhere.xy Behalf Of René Dorta Sent: 03 June 2007 05:31 To: BlackBox Mailing List Subject: [BlackBox] - readers & writers I have been using for a long time a simple file application. Due to the small size of my data I let alone SQL and use instead modules Files and Stores directly. Every thing worked fine till now, when I need to access my data from different computers in a LAN. How to handle this?: If I open my files in "shared" mode ("which is the rule in BlackBox"), I cannot update them; on the other hand, if I use "exclusive" (which is what I had been doing) I cannot open those files from more than one site. What I need is a way to write my files from a master site, but to be able to read them from any site in the LAN. Thanks folks: René Dorta. --- BlackBox --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy --- BlackBox --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy ----boundary-LibPST-iamunique-1369251018_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO ZXc7fQ0Ke1xmMlxmbmlsXGZjaGFyc2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0 MCBDb3VyaWVyIE5ldzt9fQ0Ke1xjb2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVl bjBcYmx1ZTI1NTt9DQpcdWMxXHBhcmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczI0IA0Ke1wqXGh0 bWx0YWcyNDMgPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJh bnNpdGlvbmFsLy9FTiI+fQ0Ke1wqXGh0bWx0YWczIFxwYXIgfQ0Ke1wqXGh0bWx0YWcxOSA8aHRt bD59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzM0IDxoZWFkPn0NCntcKlxodG1s dGFnMSBccGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWcxNzcgPHRpdGxlPn0N CntcKlxodG1sdGFnMjQxIH0NCntcKlxodG1sdGFnMTg1IDwvdGl0bGU+fQ0Ke1wqXGh0bWx0YWcx IFxwYXIgfQ0Ke1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wq XGh0bWx0YWc1MCA8Ym9keT59DQp7XCpcaHRtbHRhZzAgXHBhciB9e1wqXGh0bWx0YWc2NH1caHRt bHJ0ZiB7XGh0bWxydGYwIEhlbGxvIEJvYiwNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UaGFua3MgZm9yIHlvdXIgYWR2 aWNlLiBJIGFtIGFscmVhZHkgd29ya2luZyB3aXRoIHRoZSBsYXN0IHBvc3NpYmlsaXR5IHlvdQ0K e1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgbWVudGlvbmVkLg0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfVJlZ2FyZHMsIFJlbg0Ke1wqXGh0bWx0YWc4NCAmZWFjdXRlO31caHRt bHJ0ZiBcJ2U5XGh0bWxydGYwIC4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH1Cb2IgV2Fsa2RlbiB3cm90ZToNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH17XCpcaHRtbHRhZzcyfVxo dG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90ZSB0eXBlPSJj aXRlIlxwYXIgIGNpdGU9Im1pZEFNRVRIWVNUMjNWcDIwTjM5eDYwMDAwMDU5M0BhbWV0aHlzdDIu b2Jlcm9uLmNoIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFy IH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRt bHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBc bGkzNjAgSXQgc2VlbXMgdG8gbWUgdGhhdCB0aGUgY3VycmVudCBtb2RlbCBmb3IgZmlsZXMgaXMg YSByZWFzb25hYmxlXGxpbmUNCmNvbXByb21pc2UgYmV0d2VlbiBzaW1wbGljaXR5LCB1c2VmdWxu ZXNzIGFuZCBzYWZldHkuIEFzIHNvb24gYXMgeW91XGxpbmUNCmludHJvZHVjZSBjb25jdXJyZW5j eSB5b3UgYXJlIG5vIGxvbmdlciBkZWFsaW5nIHdpdGggYSAnc2ltcGxlIGZpbGVcbGluZQ0KYXBw bGljYXRpb24nLCBhbmQgeW91IGhhdmUgdG8gcmVzcG9uZCBhY2NvcmRpbmdseS5cbGluZQ0KXGxp bmUNCklmIHlvdSBjaGFuZ2UgdGhlIG1vZGVsIHNvIHRoYXQgb3RoZXIgcHJvY2Vzc2VzIGNhbiBy ZWFkIHdoaWxlIG9uZVxsaW5lDQpwcm9jZXNzIGNhbiB3cml0ZSwgdGhlbiB5b3UgcnVuIHRoZSBy aXNrIG9mIHNvbWUgb2YgdGhlIHByb2JsZW1zIHdoaWNoXGxpbmUNCmRhdGFiYXNlIHRyYW5zYWN0 aW9uIG1hbmFnZW1lbnQgZWxpbWluYXRlcywgc3VjaCBhcyBub24tcmVwZWF0YWJsZVxsaW5lDQpy ZWFkcyBhbmQgZGlydHkgcmVhZHMuIFRvIGVsaW1pbmF0ZSB0aGVzZSB5b3Ugd291bGQgbmVlZCBh IG1vcmVcbGluZQ0KZmluZWx5LWdyYWluZWQgbG9ja2luZyBzdHJhdGVneSwgc3VjaCBhcyBibG9j ayBhbmQgcmVjb3JkIGxvY2tpbmcuXGxpbmUNCkV2ZW4gdGhlc2Ugb24gdGhlaXIgb3duIGRvbid0 IGZ1bGx5IGVsaW1pbmF0ZSB0aGUgYWZvcmVtZW50aW9uZWRcbGluZQ0KcHJvYmxlbXMgKGFuZCBv dGhlcnMgd2hpY2ggYXJpc2UpLCBhbmQgeW91IHN0YXJ0IHRvIG5lZWQgdHJhbnNhY3Rpb25zLlxs aW5lDQpUaGlzIHRha2VzIHlvdSBpbnRvIHRoZSByZWFsbSBvZiBEQk1Tcy4gXGxpbmUNClxsaW5l DQpTbyB0aGUgYW5zd2VyLCBpbiBteSBvcGluaW9uLCBpcyB0byByZWNvZ25pc2UgdGhhdCB5b3Ug bm8gbG9uZ2VyIGhhdmVcbGluZQ0KYSAnc2ltcGxlIGZpbGUgYXBwbGljYXRpb24nLCBhbmQgdXNl IHRoZSByaWdodCB0b29sIGZvciB0aGUgam9iLCBpblxsaW5lDQp0aGlzIGNhc2UgdGhlIFNRTCBt b2R1bGUgd2l0aCBhIHN1aXRhYmxlIERCTVMgd2hpY2ggaGFuZGxlc1xsaW5lDQpjb25jdXJyZW5j eSB3ZWxsIGVub3VnaC5cbGluZQ0KXGxpbmUNCkFub3RoZXIgcG9zc2liaWxpdHkgbWlnaHQgYmUg dG8gbG9vayBhdCB0aGUgZGVzaWduIG9mIHlvdXJcbGluZQ0KYXBwbGljYXRpb24sIGFuZCBpZGVu dGlmeSB0aG9zZSBwYXJ0cyB3aGljaCByZXF1aXJlIHRoZSBmaWxlcyB0byBiZVxsaW5lDQp1cGRh dGVkLiBTZXBhcmF0ZSB0aGVtIGZyb20gdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9uIGFuZCBt YWtlIHN1cmVcbGluZQ0KdGhhdCB0aGV5IGhvbGQgdGhlaXIgbG9ja3MgZm9yIHRoZSBzaG9ydGVz dCBwb3NzaWJsZSB0aW1lIGJ5IG9wZW5pbmdcbGluZQ0KdGhlIGZpbGVzIG9ubHkgd2hlbiB5b3Ug bmVlZCB0bywgYW5kIGNsb3NpbmcgdGhlbSBhcyBzb29uIGFzIHlvdSBoYXZlXGxpbmUNCmZpbmlz aGVkIHdyaXRpbmcuXGxpbmUNClxsaW5lDQotLVxsaW5lDQpSZWdhcmRzLFxsaW5lDQogQm9iIFxs aW5lDQpcbGluZQ0KICBcaHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwv cHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0 YWcyNDAgICB9DQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPn1caHRtbHJ0 ZiBccGFyDQp7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAg ICAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWlu XGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpNzIwIC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tXGxpbmUNCkZyb206IHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJt b3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVyb24uY2gi Pn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hA b2Jlcm9uLmNoIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgYmxhY2tib3hAb2Jlcm9uLmNo XGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8 L2E+fSBbe30NCntcKlxodG1sdGFnODQgPGEgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIg aHJlZj0ibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxk aW5zdHtIWVBFUkxJTksgIm1haWx0bzpibGFja2JveEBvYmVyb24uY2gifX17XGZsZHJzbHRcY2Yx XHVsIFxodG1scnRmMCBtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxydGYgfVxodG1scnRm MCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fV0gT24gXGxpbmUNCkJl aGFsZiBPZiBSZW4NCntcKlxodG1sdGFnODQgJmVhY3V0ZTt9XGh0bWxydGYgXCdlOVxodG1scnRm MCAgRG9ydGFcbGluZQ0KU2VudDogMDMgSnVuZSAyMDA3IDA1OjMxXGxpbmUNClRvOiBCbGFja0Jv eCBNYWlsaW5nIExpc3RcbGluZQ0KU3ViamVjdDogW0JsYWNrQm94XSAtIHJlYWRlcnMgDQp7XCpc aHRtbHRhZzg0ICZhbXA7fVxodG1scnRmICZcaHRtbHJ0ZjAgIHdyaXRlcnNcbGluZQ0KXGxpbmUN CkkgaGF2ZSBiZWVuIHVzaW5nIGZvciBhIGxvbmcgdGltZSBhIHNpbXBsZSBmaWxlIGFwcGxpY2F0 aW9uLiBcbGluZQ0KRHVlIHRvIHRoZSBcbGluZQ0Kc21hbGwgc2l6ZSBvZiBteSBkYXRhIEkgbGV0 IGFsb25lIFNRTCBhbmQgdXNlIGluc3RlYWQgbW9kdWxlcyBcbGluZQ0KRmlsZXMgYW5kIFxsaW5l DQpTdG9yZXMgZGlyZWN0bHkuIEV2ZXJ5IHRoaW5nIHdvcmtlZCBmaW5lIHRpbGwgbm93LCB3aGVu IEkgXGxpbmUNCm5lZWQgdG8gYWNjZXNzIFxsaW5lDQpteSBkYXRhIGZyb20gZGlmZmVyZW50IGNv bXB1dGVycyBpbiBhIExBTi4gSG93IHRvIGhhbmRsZSB0aGlzPzogSWYgSVxsaW5lDQogICAgXGh0 bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxo dG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0 bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzEyOCA8cHJlIHdy YXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBcaHRtbHJ0ZiB7 XGh0bWxydGYwIFxsaTM2MCANCntcKlxodG1sdGFnMjQ0IDwhLS0tLT59XGxpbmUNCiAgXGh0bWxy dGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1s cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0 YWc5NiA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCAN CntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICB9DQp7XCpcaHRtbHRhZzEy OCA8cHJlIHdyYXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBc aHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTcyMCBvcGVuIG15IGZpbGVzIGluICJzaGFyZWQiIG1vZGUg KCJ3aGljaCBpcyB0aGUgcnVsZSBpbiBCbGFja0JveCIpLCBJIFxsaW5lDQpjYW5ub3QgdXBkYXRl IHRoZW07IG9uIHRoZSBvdGhlciBoYW5kLCBpZiBJIHVzZSAiZXhjbHVzaXZlIiAod2hpY2hcbGlu ZQ0KICAgIFxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxo dG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAg IH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRm MCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcx MjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAg XGh0bWxydGYge1xodG1scnRmMCBcbGkzNjAgDQp7XCpcaHRtbHRhZzI0NCA8IS0tLS0+fWlzIFxs aW5lDQogIFxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxo dG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAg IH0NCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+fVxodG1scnRmIFxwYXIN CntcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfQ0K e1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMy MCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGk3MjAgd2hhdCBJIGhhZCBiZWVuIGRv aW5nKSBJIGNhbm5vdCBvcGVuIHRob3NlIGZpbGVzIGZyb20gbW9yZSBcbGluZQ0KdGhhbiBvbmUg c2l0ZS5cbGluZQ0KXGxpbmUNCldoYXQgSSBuZWVkIGlzIGEgd2F5IHRvIHdyaXRlIG15IGZpbGVz IGZyb20gYSBtYXN0ZXIgc2l0ZSwgYnV0IHRvIGJlXGxpbmUNCiAgICBcaHRtbHJ0ZlxwYXJ9XGh0 bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wq XGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzEwNCA8L2Js b2NrcXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9 DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3JhcD0iIj59XGh0bWxy dGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxp MzYwIA0Ke1wqXGh0bWx0YWcyNDQgPCEtLS0tPn1cbGluZQ0KICBcaHRtbHJ0ZlxwYXJ9XGh0bWxy dGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1 b3RlIHR5cGU9ImNpdGUiPn1caHRtbHJ0ZiBccGFyDQp7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcw IFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3JhcD0i Ij59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtcaHRt bHJ0ZjAgXGxpNzIwIGFibGUgdG8gcmVhZCB0aGVtIGZyb20gYW55IHNpdGUgaW4gdGhlIExBTi5c bGluZQ0KXGxpbmUNClRoYW5rcyBmb2xrczpcbGluZQ0KUmVuDQp7XCpcaHRtbHRhZzg0ICZlYWN1 dGU7fVxodG1scnRmIFwnZTlcaHRtbHJ0ZjAgIERvcnRhLlxsaW5lDQpcbGluZQ0KLS0tIEJsYWNr Qm94XGxpbmUNCi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byB7fQ0Ke1wq XGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWls dG86YmxhY2tib3hAb2Jlcm9uLmNoIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVS TElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxy dGYwIGJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1s cnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1cbGluZQ0KXGxpbmUNClxsaW5lDQpcbGluZQ0KICAg IFxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRm IH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntc KlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntc KlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHBy ZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxy dGYge1xodG1scnRmMCBcbGkzNjAgDQp7XCpcaHRtbHRhZzI0NCA8IS0tLS0+fVxsaW5lDQotLS0g QmxhY2tCb3hcbGluZQ0KLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9yIFVOU1VCU0NSSUJFIHRvIHt9 DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9 Im1haWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7 SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRyc2x0XGNmMVx1bCBc aHRtbHJ0ZjAgYmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9 XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fVxsaW5lDQpcbGluZQ0KXGxpbmUNCiAgXGh0 bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxo dG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90 ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxo dG1sdGFnMTEyIDxicj59XGh0bWxydGYgXHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxw YXIgfQ0Ke1wqXGh0bWx0YWc1OCA8L2JvZHk+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0 bWx0YWcyNyA8L2h0bWw+fQ0Ke1wqXGh0bWx0YWczfX0AbCBJbmY= ----boundary-LibPST-iamunique-1369251018_-_--- Received on Sun Jun 03 2007 - 14:40:32 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:33 UTC