- Background multitasking

From: [at]} <Marco>
Date: Sun, 27 May 2007 01:11:11 +0200

----boundary-LibPST-iamunique-47749460_-_- Content-type: text/plain Hi everybody I would like to contribute a few thoughts to this issue since I have invested quite some time looking into it and even had started inverting some of the interaction messaging protocols. I believe I correctly concluded two important facts concerning this matter: a) Yes, it is a delicate matter, when Actions are called during user interaction and mouse tracking in particular. b) Program Control Inversion doesn't simplify the matter at all. I guess it simply makes sense to hand over control to the mouse interactor as there can be only one at a time. Even if control was inverted the problem of Actions being run during ongoing interaction would persist. What probably would make sense is an option to specify for Action, whether or not it wishes to be run during user interaction as well. And a very important thing is to allow Actions to query the state of interaction, which by the way is possible in BB 2.0. Aha, and yes, third conclusion: c) Depriving Actions of running during user interaction is a NO GO ;) Best regards Marco Oberon microsystems AG, Tech-Support wrote: Dear Alexander, thanks for your observation. We intentionally decided not to apply Marco's entire patch to HostPorts.Rider.Input: We included the statement WinApi.Sleep(1) but we deliberately left out the proposed call to Services.actionHook.Step. The reason for this is that we did not want to break the contract for objects of type Services.Action as specified in the documentation for the module Services: "Actions are objects whose Do procedures are called in a deferred way, when the system is idle again." Calling Services.actionHook.Step from within HostPorts.Rider.Input would break this since it leads to actions being executed while the system is not idle. This could break all sorts of assumptions on which actions should be able to rely on. Yes, freezing background tasks while polling for input is an annoyance. But for the above mentioned reason we would rather live with the problem than complicating the programming model for Services.Actions. In my opinion, the real solution would be to attack the problem's root cause by eliminating the polling loops. This would lead to complete inversion of control and thus to smoother cooperative multitasking. with best regards, Marc -----Original Message----- From: blackbox{([at]})nowhere.xy Behalf Of Alexander Iljin Sent: Samstag, 26. Mai 2007 09:12 To: Blackbox Subject: [BlackBox] - 1.6-rc5: Background multitasking Hello, BlackBox developers! I see the following lines in the BlackBox 1.6-rc5 changelog: Host/Mod/Ports - 20060325, mc, Rider.Input changed for the benefit of background task response. But in fact Marco Ciot's contribution is not included. It would be if HostPorts.Rider.Input would contain a call to Services.actionHook.Step, but it does not. The background tasks freeze while user holds a mouse button or is otherwise stuck in an Input-related loop. I've created a simple module that allows to test that. Here it is: StdCoder.Decode ..,, ..UV....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLL CJuyKtYcZRiX 7.2.s,MtD.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sId vPZntgcghghZ cZRC8T0E.kNS.H.Lt,2.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708 T,U..w.gu4., sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.zC,w,wu2E.0.oZ,U00.bnUGL u8ro8quGrmCL WKqtE0E.kN0.,6.I16.M.6.JFyuv.U.2m,.T10.uFq8Ua5V0cUXDF9fR5uPPPP 1fP7PNZvQRtI dHf.2UlbcZpC.c9h0E.8z,U.EEE.E1U.M3MK1.,6.o1.8T5U.E8E.E1U.M3seM .3gwP.,6..EB U.U,2.I3.0ES9.I.cTM.9.e3Y.2U5Vz5ZegVI3hdRiUghjZgpZhZ3Ychgg3in3 YohgnZiUIcgB gXRh0xhs3YWBgXRhbJijhiiZgUghpZhoBhoBgnRhdphbpZUYej3YnZiVJio3Yo hgnNORvNN769 9S9vMf9R996d9O996BvPN9PTvRHfPD965vPP1cCPc.3uNPPRN9RRtIdPMgVBAf jhiUwidZhg3Y nhgZ3YnhglhiZphoBhVZhUohphhWhgmRiUAgk3iZBgmBhixgUAhi3Yo3hZ7HTv N,tRHfP7vPj9 69fR9fQn96bPN5vPR9NR76RuPj96VfQ9vQb961fP796FvPN9N,NMRPS,NPTPRb PN,dMf9RdvPR 961fPnvRFPNZPN,tRH9RFPOR96Ahn7NTvMq40mvaKrUaxhm3YnhgqhgmBgg3Yn hgXVnpZUAda3 Ytxhp3YnhgZ7RFPMd96d9O9HrKrq.LPN99Q,NMV9Q..9Ha69,7RFHr0Gu663PM 51oBq4a4.jvP ZvOb961vQ,NOd96b9OTPRN9NRN1P6JT96bnr0LEGLoa4P1YZUggs,kmoA.QA.U b,RVjN1JN8PM HT8Ff8H9863uNPPRQbBgV7AdB3eDJeI3YHhgmpidRgZRig2YAxhbRbBgV7YeN3 e3hV7AV,RgoB hjphUgbU2eDBdCZe3JeUYeD3YGhc1xdGZcU2ZHhgm,umUCKua4H769eH7uCPM1 OpU8p4ak2CKr GLR0mYuIeKoXKIdin4ak24KR0mUCKua4rN1P6IZuH5OF7OJZOF,781fC,NEUd6 FTP9,78HtCPc E9uFHeHPM0HeH5885fPdP8rN1H6HTvNRNGR9RFtMR9R2YAxhbpZAphcAZvg,bO NZfRU2xhABgo hgm3ZVZZUQeZ,6JHvMLvQFN8LtI9fQh1IiZRijZhpZidxhiN19eH7867uPrN1P 6I.sIdPMZHJ0 GIamRI6UXpB,dCv76VtCPM0ROFj881P8rN1H..70..EryqvamRqkWuIWQeoBAi n4qEc..T9QJ7 6F,.Cpm.IeZhhjpiZBcXZC2ZVBZvkk0GRqHEuoYmo4KIbG2yavgVBgcCFVSqqE L8ssHpmsETfP dfQT9PNPNZvQRtIQcoJigZcZRiX3Ulb8..umVyKrG5EWKqtCK.Q6AAELUm,..U np3.6F6.ZD,6 .636.M00.,..1cUXDJ9XGhighgmRiiQ88pum470,Mwd0UnpZGhighA70,cw5., 6.QJw.0kFF.0 U18J.QiiQ8CJuaLqKKWKqt2Ul1.RVtZBE.8z1U..2,I92U.E,,.RNEd1YCG259 .G.0..676.16 .6.665hK2.,6TxR.eKZM.M.6.,U0KyB.,..e,2.A.c8U.E.0t.U..61lbAUgQn Pt0lLU8ssHor kmsQCor..c2E..U6U..HE.6RvuQ0mHCe.az86Utj0GTkWaUKZM03b,... --- end of encoding --- ---=====--- Alexander --- 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-47749460_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3MgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJcZm5pbFxmY2hh cnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBOZXc7fX0NCntc Y29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7fQ0KXHVjMVxw YXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyNCANCntcKlxodG1sdGFnMjQzIDwhRE9DVFlQRSBo dG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPn0NCntc KlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sdGFnMTkgPGh0bWw+fQ0Ke1wqXGh0bWx0YWcyIFxw YXIgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRt bHRhZzI0MSAgIH0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wq XGh0bWx0YWcxNzcgPHRpdGxlPn0NCntcKlxodG1sdGFnMjQxIH0NCntcKlxodG1sdGFnMTg1IDwv dGl0bGU+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wq XGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWc1MCA8Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIiB0 ZXh0PSIjMDAwMDAwIj59XGh0bWxydGYgXHZpZXdraW5kNQ0Ke1wqXGJhY2tncm91bmQge1xzaHB7 XCpcc2hwaW5zdHtcc3B7XHNuIGZpbGxDb2xvcn17XHN2IDE2Nzc3MjE1fX17XHNwe1xzbiBmRmls bGVkfXtcc3YgMX19fX19XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfXtcKlxodG1sdGFn NjR9XGh0bWxydGYge1xodG1scnRmMCBIaSBldmVyeWJvZHkNCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1JIHdvdWxkIGxp a2UgdG8gY29udHJpYnV0ZSBhIGZldyB0aG91Z2h0cyB0byB0aGlzIGlzc3VlIHNpbmNlIEkgaGF2 ZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgaW52ZXN0ZWQgcXVpdGUg c29tZSB0aW1lIGxvb2tpbmcgaW50byBpdCBhbmQgZXZlbiBoYWQgc3RhcnRlZCBpbnZlcnRpbmcN CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHNvbWUgb2YgdGhlIGludGVy YWN0aW9uIG1lc3NhZ2luZyBwcm90b2NvbHMuIEkgYmVsaWV2ZSBJIGNvcnJlY3RseQ0Ke1wqXGh0 bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgY29uY2x1ZGVkIHR3byBpbXBvcnRhbnQg ZmFjdHMgY29uY2VybmluZyB0aGlzIG1hdHRlcjoNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1hKSBZ ZXMsIGl0IGlzIGEgZGVsaWNhdGUgbWF0dGVyLCB3aGVuIEFjdGlvbnMgYXJlIGNhbGxlZCBkdXJp bmcgdXNlcg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgaW50ZXJhY3Rp b24gYW5kIG1vdXNlIHRyYWNraW5nIGluIHBhcnRpY3VsYXIuDQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9YikgUHJvZ3Jh bSBDb250cm9sIEludmVyc2lvbiBkb2Vzbid0IHNpbXBsaWZ5IHRoZSBtYXR0ZXIgYXQgYWxsLg0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUkgZ3Vlc3MgaXQgc2ltcGx5IG1ha2VzIHNlbnNlIHRvIGhh bmQgb3ZlciBjb250cm9sIHRvIHRoZSBtb3VzZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRm ICBcaHRtbHJ0ZjAgaW50ZXJhY3RvciBhcyB0aGVyZSBjYW4gYmUgb25seSBvbmUgYXQgYSB0aW1l Lg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfUV2ZW4gaWYgY29udHJvbCB3YXMgaW52ZXJ0ZWQgdGhlIHByb2JsZW0gb2Yg QWN0aW9ucyBiZWluZyBydW4gZHVyaW5nDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo dG1scnRmMCBvbmdvaW5nIGludGVyYWN0aW9uIHdvdWxkIHBlcnNpc3QuDQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9V2hhdCBwcm9iYWJseSB3b3VsZCBtYWtlIHNlbnNlIGlzIGFuIG9wdGlvbiB0byBz cGVjaWZ5IGZvciBBY3Rpb24sDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRm MCB3aGV0aGVyIG9yIG5vdCBpdCB3aXNoZXMgdG8gYmUgcnVuIGR1cmluZyB1c2VyIGludGVyYWN0 aW9uIGFzIHdlbGwuDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9QW5kIGEgdmVyeSBpbXBvcnRhbnQgdGhpbmcgaXMgdG8g YWxsb3cgQWN0aW9ucyB0byBxdWVyeSB0aGUgc3RhdGUgb2YNCntcKlxodG1sdGFnNCBccGFyIH1c aHRtbHJ0ZiAgXGh0bWxydGYwIGludGVyYWN0aW9uLCB3aGljaCBieSB0aGUgd2F5IGlzIHBvc3Np YmxlIGluIEJCIDIuMC4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1BaGEsIGFuZCB5ZXMsIHRoaXJk IGNvbmNsdXNpb246DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9YykgRGVwcml2aW5nIEFjdGlvbnMg b2YgcnVubmluZyBkdXJpbmcgdXNlciBpbnRlcmFjdGlvbiBpcyBhIE5PIEdPIDspDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9QmVzdCByZWdhcmRzDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9TWFyY28NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1PYmVyb24gbWljcm9zeXN0ZW1zIEFH LCBUZWNoLVN1cHBvcnQgd3JvdGU6DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s cnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc5 NiA8YmxvY2txdW90ZSBjaXRlPSJtaWQ6QU1FVEhZU1QyRXNCazMxVFoxNDAwMDAwMTUxQGFtZXRo eXN0Mi5vYmVyb24uY2giXHBhciAgdHlwZT0iY2l0ZSI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFn MTI4IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYw IFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIERlYXIgQWxleGFuZGVyLFxsaW5lDQpcbGluZQ0K dGhhbmtzIGZvciB5b3VyIG9ic2VydmF0aW9uLiBXZSBpbnRlbnRpb25hbGx5IGRlY2lkZWQgbm90 IHRvIGFwcGx5XGxpbmUNCk1hcmNvJ3MgZW50aXJlIHBhdGNoIHRvIEhvc3RQb3J0cy5SaWRlci5J bnB1dDogV2UgaW5jbHVkZWQgdGhlIHN0YXRlbWVudFxsaW5lDQpXaW5BcGkuU2xlZXAoMSkgYnV0 IHdlIGRlbGliZXJhdGVseSBsZWZ0IG91dCB0aGUgcHJvcG9zZWQgY2FsbCB0b1xsaW5lDQpTZXJ2 aWNlcy5hY3Rpb25Ib29rLlN0ZXAuXGxpbmUNClxsaW5lDQpUaGUgcmVhc29uIGZvciB0aGlzIGlz IHRoYXQgd2UgZGlkIG5vdCB3YW50IHRvIGJyZWFrIHRoZSBjb250cmFjdCBmb3JcbGluZQ0Kb2Jq ZWN0cyBvZiB0eXBlIFNlcnZpY2VzLkFjdGlvbiBhcyBzcGVjaWZpZWQgaW4gdGhlIGRvY3VtZW50 YXRpb24gZm9yXGxpbmUNCnRoZSBtb2R1bGUgU2VydmljZXM6ICJBY3Rpb25zIGFyZSBvYmplY3Rz IHdob3NlIERvIHByb2NlZHVyZXMgYXJlIGNhbGxlZFxsaW5lDQppbiBhIGRlZmVycmVkIHdheSwg d2hlbiB0aGUgc3lzdGVtIGlzIGlkbGUgYWdhaW4uIiBDYWxsaW5nXGxpbmUNClNlcnZpY2VzLmFj dGlvbkhvb2suU3RlcCBmcm9tIHdpdGhpbiBIb3N0UG9ydHMuUmlkZXIuSW5wdXQgd291bGQgYnJl YWtcbGluZQ0KdGhpcyBzaW5jZSBpdCBsZWFkcyB0byBhY3Rpb25zIGJlaW5nIGV4ZWN1dGVkIHdo aWxlIHRoZSBzeXN0ZW0gaXMgbm90XGxpbmUNCmlkbGUuIFRoaXMgY291bGQgYnJlYWsgYWxsIHNv cnRzIG9mIGFzc3VtcHRpb25zIG9uIHdoaWNoIGFjdGlvbnMgc2hvdWxkXGxpbmUNCmJlIGFibGUg dG8gcmVseSBvbi5cbGluZQ0KXGxpbmUNClllcywgZnJlZXppbmcgYmFja2dyb3VuZCB0YXNrcyB3 aGlsZSBwb2xsaW5nIGZvciBpbnB1dCBpcyBhbiBhbm5veWFuY2UuXGxpbmUNCkJ1dCBmb3IgdGhl IGFib3ZlIG1lbnRpb25lZCByZWFzb24gd2Ugd291bGQgcmF0aGVyIGxpdmUgd2l0aCB0aGUgcHJv YmxlbVxsaW5lDQp0aGFuIGNvbXBsaWNhdGluZyB0aGUgcHJvZ3JhbW1pbmcgbW9kZWwgZm9yIFNl cnZpY2VzLkFjdGlvbnMuIEluIG15XGxpbmUNCm9waW5pb24sIHRoZSByZWFsIHNvbHV0aW9uIHdv dWxkIGJlIHRvIGF0dGFjayB0aGUgcHJvYmxlbSdzIHJvb3QgY2F1c2VcbGluZQ0KYnkgZWxpbWlu YXRpbmcgdGhlIHBvbGxpbmcgbG9vcHMuIFRoaXMgd291bGQgbGVhZCB0byBjb21wbGV0ZSBpbnZl cnNpb25cbGluZQ0Kb2YgY29udHJvbCBhbmQgdGh1cyB0byBzbW9vdGhlciBjb29wZXJhdGl2ZSBt dWx0aXRhc2tpbmcuXGxpbmUNClxsaW5lDQp3aXRoIGJlc3QgcmVnYXJkcyxcbGluZQ0KTWFyY1xs aW5lDQpcbGluZQ0KXGxpbmUNCiAgXGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRh ZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntc KlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj59 XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1s dGFnMjQwICAgICB9DQp7XCpcaHRtbHRhZzEyOCA8cHJlIHdyYXA9IiI+fVxodG1scnRmIHtccGFy ZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBcaHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTcyMCAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxsaW5lDQpGcm9tOiB7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBj bGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWlsdG86YmxhY2tib3hAb2Jl cm9uLmNoIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOmJs YWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIGJsYWNrYm94QG9i ZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1s dGFnOTIgPC9hPn0gW3t9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJl ZXRleHQiIGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZpZWxk e1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRy c2x0XGNmMVx1bCBcaHRtbHJ0ZjAgbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1c aHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1dIE9uIFxs aW5lDQpCZWhhbGYgT2YgQWxleGFuZGVyIElsamluXGxpbmUNClNlbnQ6IFNhbXN0YWcsIDI2LiBN YWkgMjAwNyAwOToxMlxsaW5lDQpUbzogQmxhY2tib3hcbGluZQ0KU3ViamVjdDogW0JsYWNrQm94 XSAtIDEuNi1yYzU6IEJhY2tncm91bmQgbXVsdGl0YXNraW5nXGxpbmUNClxsaW5lDQpIZWxsbywg QmxhY2tCb3ggZGV2ZWxvcGVycyFcbGluZQ0KXGxpbmUNCiAgSSBzZWUgdGhlIGZvbGxvd2luZyBs aW5lcyBpbiB0aGUgQmxhY2tCb3ggMS42LXJjNSBjaGFuZ2Vsb2c6XGxpbmUNClxsaW5lDQpIb3N0 L01vZC9Qb3J0c1xsaW5lDQotIDIwMDYwMzI1LCBtYywgUmlkZXIuSW5wdXQgY2hhbmdlZCBmb3Ig dGhlIGJlbmVmaXQgb2YgXGxpbmUNCmJhY2tncm91bmQgdGFzayByZXNwb25zZS5cbGluZQ0KXGxp bmUNCiAgQnV0IGluIGZhY3QgTWFyY28gQ2lvdCdzIGNvbnRyaWJ1dGlvbiBpcyBub3QgaW5jbHVk ZWQuIEl0IFxsaW5lDQp3b3VsZCBiZSBpZiBIb3N0UG9ydHMuUmlkZXIuSW5wdXQgd291bGQgY29u dGFpbiBhIGNhbGwgdG8gXGxpbmUNClNlcnZpY2VzLmFjdGlvbkhvb2suU3RlcCwgYnV0IGl0IGRv ZXMgbm90LiBUaGUgYmFja2dyb3VuZCBcbGluZQ0KdGFza3MgZnJlZXplIHdoaWxlIHVzZXIgaG9s ZHMgYSBtb3VzZSBidXR0b24gb3IgaXMgb3RoZXJ3aXNlIFxsaW5lDQpzdHVjayBpbiBhbiBJbnB1 dC1yZWxhdGVkIGxvb3AuXGxpbmUNCiAgSSd2ZSBjcmVhdGVkIGEgc2ltcGxlIG1vZHVsZSB0aGF0 IGFsbG93cyB0byB0ZXN0IHRoYXQuIEhlcmUgaXQgaXM6XGxpbmUNClxsaW5lDQpTdGRDb2Rlci5E ZWNvZGUgLi4sLCBcbGluZQ0KLi5VVi4uLi4zUXc3dVA1UFJQUE5SOVJiZjliOFI3OUZUdk1mMUdv bUNybEF5MnhoWCxDYjJ4XGxpbmUNCiBcbGluZQ0KaFhoQzZGVTF4aGlaaVZCaGloZ21SaWlvZWRo Z3JaY1pSaVhGZmFxbVNydHVHZmE0NzAwemRHcnI4cm1DTExcbGluZQ0KQ0p1eUt0WWNaUmlYXGxp bmUNCiBcbGluZQ0KNy4yLnMsTXRELiw2LjVRdzd1UDUxUUNQdVA3UE5OOUY5dlFBeTF4Qi5nZGos VUJ4aFloQWJmOVAwRzJzSWRcbGluZQ0KdlBabnRnY2doZ2haXGxpbmUNCiBcbGluZQ0KY1pSQzhU MEUua05TLkguTHQsMi4sVTA4Sjk5U2RmSkhQTmp2UUNKdUdLZmFxbVk2TXdkT05sMVFDaDA3MDhc bGluZQ0KVCxVLi53Lmd1NC4sXGxpbmUNCiBcbGluZQ0Kc1VHcG1XYkJ4aFloQWJuZE1IVDlOWTZN dy5zUXEyWTZjd0IuMC56Qyx3LHd1MkUuMC5vWixVMDAuYm5VR0xcbGluZQ0KdThybzhxdUdybUNM XGxpbmUNCiBcbGluZQ0KV0txdEUwRS5rTjAuLDYuSTE2Lk0uNi5KRnl1di5VLjJtLC5UMTAudUZx OFVhNVYwY1VYREY5ZlI1dVBQUFBcbGluZQ0KMWZQN1BOWnZRUnRJXGxpbmUNCiBcbGluZQ0KZEhm LjJVbGJjWnBDLmM5aDBFLjh6LFUuRUVFLkUxVS5NM01LMS4sNi5vMS44VDVVLkU4RS5FMVUuTTNz ZU1cbGluZQ0KLjNnd1AuLDYuLkVCXGxpbmUNCiBcbGluZQ0KVS5VLDIuSTMuMEVTOS5JLmNUTS45 LmUzWS4yVTVWejVaZWdWSTNoZFJpVWdoalpncFpoWjNZY2hnZzNpbjNcbGluZQ0KWW9oZ25aaVVJ Y2dCXGxpbmUNCiBcbGluZQ0KZ1hSaDB4aHMzWVdCZ1hSaGJKaWpoaWlaZ1VnaHBaaG9CaG9CZ25S aGRwaGJwWlVZZWozWW5aaVZKaW8zWW9cbGluZQ0KaGduTk9Sdk5ONzY5XGxpbmUNCiBcbGluZQ0K OVM5dk1mOVI5OTZkOU85OTZCdlBOOVBUdlJIZlBEOTY1dlBQMWNDUGMuM3VOUFBSTjlSUnRJZFBN Z1ZCQWZcbGluZQ0KamhpVXdpZFpoZzNZXGxpbmUNCiBcbGluZQ0KbmhnWjNZbmhnbGhpWnBob0Jo VlpoVW9ocGhoV2hnbVJpVUFnazNpWkJnbUJoaXhnVUFoaTNZbzNoWjdIVHZcbGluZQ0KTix0Ukhm UDd2UGo5XGxpbmUNCiBcbGluZQ0KNjlmUjlmUW45NmJQTjV2UFI5TlI3NlJ1UGo5NlZmUTl2UWI5 NjFmUDc5NkZ2UE45TixOTVJQUyxOUFRQUmJcbGluZQ0KUE4sZE1mOVJkdlBSXGxpbmUNCiBcbGlu ZQ0KOTYxZlBudlJGUE5aUE4sdFJIOVJGUE9SOTZBaG43TlR2TXE0MG12YUtyVWF4aG0zWW5oZ3Fo Z21CZ2czWW5cbGluZQ0KaGdYVm5wWlVBZGEzXGxpbmUNCiBcbGluZQ0KWXR4aHAzWW5oZ1o3UkZQ TWQ5NmQ5TzlIcktycS5MUE45OVEsTk1WOVEuLjlIYTY5LDdSRkhyMEd1NjYzUE1cbGluZQ0KNTFv QnE0YTQuanZQXGxpbmUNCiBcbGluZQ0KWnZPYjk2MXZRLE5PZDk2YjlPVFBSTjlOUk4xUDZKVDk2 Ym5yMExFR0xvYTRQMVlaVWdncyxrbW9BLlFBLlVcbGluZQ0KYixSVmpOMUpOOFBNXGxpbmUNCiBc bGluZQ0KSFQ4RmY4SDk4NjN1TlBQUlFiQmdWN0FkQjNlREplSTNZSGhnbXBpZFJnWlJpZzJZQXho YlJiQmdWN1llTjNcbGluZQ0KZTNoVjdBVixSZ29CXGxpbmUNCiBcbGluZQ0KaGpwaFVnYlUyZURC ZENaZTNKZVVZZUQzWUdoYzF4ZEdaY1UyWkhoZ20sdW1VQ0t1YTRINzY5ZUg3dUNQTTFcbGluZQ0K T3BVOHA0YWsyQ0tyXGxpbmUNCiBcbGluZQ0KR0xSMG1ZdUllS29YS0lkaW40YWsyNEtSMG1VQ0t1 YTRyTjFQNkladUg1T0Y3T0paT0YsNzgxZkMsTkVVZDZcbGluZQ0KRlRQOSw3OEh0Q1BjXGxpbmUN CiBcbGluZQ0KRTl1RkhlSFBNMEhlSDU4ODVmUGRQOHJOMUg2SFR2TlJOR1I5UkZ0TVI5UjJZQXho YnBaQXBoY0FadmcsYk9cbGluZQ0KTlpmUlUyeGhBQmdvXGxpbmUNCiBcbGluZQ0KaGdtM1pWWlpV UWVaLDZKSHZNTHZRRk44THRJOWZRaDFJaVpSaWpaaHBaaWR4aGlOMTllSDc4Njd1UHJOMVBcbGlu ZQ0KNkkuc0lkUE1aSEowXGxpbmUNCiBcbGluZQ0KR0lhbVJJNlVYcEIsZEN2NzZWdENQTTBST0Zq ODgxUDhyTjFILi43MC4uRXJ5cXZhbVJxa1d1SVdRZW9CQWlcbGluZQ0KbjRxRWMuLlQ5UUo3XGxp bmUNCiBcbGluZQ0KNkYsLkNwbS5JZVpoaGpwaVpCY1haQzJaVkJadmtrMEdScUhFdW9ZbW80S0li RzJ5YXZnVkJnY0NGVlNxcUVcbGluZQ0KTDhzc0hwbXNFVGZQXGxpbmUNCiBcbGluZQ0KZGZRVDlQ TlBOWnZRUnRJUWNvSmlnWmNaUmlYM1VsYjguLnVtVnlLckc1RVdLcXRDSy5RNkFBRUxVbSwuLlVc bGluZQ0KbnAzLjZGNi5aRCw2XGxpbmUNCiBcbGluZQ0KLjYzNi5NMDAuLC4uMWNVWERKOVhHaGln aGdtUmlpUTg4cHVtNDcwLE13ZDBVbnBaR2hpZ2hBNzAsY3c1LixcbGluZQ0KNi5RSncuMGtGRi4w XGxpbmUNCiBcbGluZQ0KVTE4Si5RaWlROENKdWFMcUtLV0txdDJVbDEuUlZ0WkJFLjh6MVUuLjIs STkyVS5FLCwuUk5FZDFZQ0cyNTlcbGluZQ0KLkcuMC4uNjc2LjE2XGxpbmUNCiBcbGluZQ0KLjYu NjY1aEsyLiw2VHhSLmVLWk0uTS42LixVMEt5Qi4sLi5lLDIuQS5jOFUuRS4wdC5VLi42MWxiQVVn UW5cbGluZQ0KUHQwbExVOHNzSG9yXGxpbmUNCiBrbXNRQ29yLi5jMkUuLlU2VS4uSEUuNlJ2dVEw bUhDZS5hejg2VXRqMEdUa1dhVUtaTTAzYiwuLi5cbGluZQ0KIC0tLSBlbmQgb2YgZW5jb2Rpbmcg LS0tXGxpbmUNClxsaW5lDQotLS09PT09PS0tLVxsaW5lDQogQWxleGFuZGVyXGxpbmUNClxsaW5l DQotLS0gQmxhY2tCb3hcbGluZQ0KLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9yIFVOU1VCU0NSSUJF IHRvIHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQi IGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZs ZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRyc2x0XGNm MVx1bCBcaHRtbHJ0ZjAgYmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxydGYgfVxodG1scnRmMCBcaHRt bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fVxsaW5lDQpcbGluZQ0KXGxpbmUN CiAgICBcaHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1caHRt bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9 DQp7XCpcaHRtbHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTI4 IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxo dG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIA0Ke1wqXGh0bWx0YWcyNDQgPCEtLS0tPn1cbGluZQ0K LS0tIEJsYWNrQm94XGxpbmUNCi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0 byB7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBo cmVmPSJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRp bnN0e0hZUEVSTElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxkcnNsdFxjZjFc dWwgXGh0bWxydGYwIGJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxy dGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1cbGluZQ0KXGxpbmUNClxsaW5lDQog IFxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRm IH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzEwNCA8L2Jsb2Nr cXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7 XCpcaHRtbHRhZzExMiA8YnI+fVxodG1scnRmIFxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnNTggPC9ib2R5Pn0NCntcKlxodG1sdGFnMiBccGFyIH0NCntc KlxodG1sdGFnMjcgPC9odG1sPn0NCntcKlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sfX0AbnRj S2x4b2RH ----boundary-LibPST-iamunique-47749460_-_--- Received on Sun May 27 2007 - 01:11:11 UTC

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