AW: CAP once more

From: collection <"collection">
Date: Fri, 17 Sep 2004 22:53:00 +0200

----boundary-LibPST-iamunique-1552542865_-_-
Content-type: text/plain

Dear H. v. Lavergne,

think in hexadecimal and you understand what happens. Look at the Ascii
definition list in hexadecimal:

0x 1x 2x 3x 4x 5x 6x 7x
#00 #10 #20 #30 0 #40 {([at]})nowhere.xy
#01 #11 #21 ! #31 1 #41 A #51 Q #61 a #71 q
#02 #12 #22 " #32 2 #42 B #52 R #62 b #72 r
.
.

CAP makes an AND 1101 1111 and nothing else.

   ch CAP(ch)
0x 0000 xxxx -> 0x 0000 xxxx
1x 0001 xxxx -> 1x 0001 xxxx
2x 0010 xxxx -> 0x 0000 xxxx
3x 0011 xxxx -> 1x 0001 xxxx
4x 0100 xxxx -> 4x 0100 xxxx
5x 0101 xxxx -> 5x 0101 xxxx
6x 0110 xxxx -> 4x 0100 xxxx
7x 0111 xxxx -> 5x 0101 xxxx

               AND 1101 1111

I hope you understand now what CAP is doing.



Well you get in trouble if you translate from other language to Component
Pascal.

But, just define in your program

        FUNCTION Cap (ch: CHAR) : CHAR;
        BEGIN
           IF ('a' <= ch) & (ch <= 'z') THEN
                RETURN CAP(ch)
           ELSE
              RETURN ch
        END Cap;

and use Cap(ch) instead of CAP(ch) and your problem is solved.



You can rise similar problems with CHR, ORD, DIV and MOD.

E.g. Characters in other implementations are 1 Byte (ASCII) and not to Bytes
(Unicode) long. Here my solutions if you come from an other language for ORD
and CHR:

        PROCEDURE Ord (ch: BYTE): INTEGER;
                VAR i: INTEGER;
        BEGIN
                ASSERT(( - 255 <= ch) & (ch <= 255), 100);
                i := ch; IF i < 0 THEN i := i + 256 END;
                RETURN i
        END Ord;

        PROCEDURE Chr (i: INTEGER): BYTE;
        BEGIN
                ASSERT(( - 255 <= i) & (i <= 255), 100);
                RETURN SHORT(SHORT(i))
        END Chr;



Another problem you get with DIV and MOD:

        PROCEDURE DivMod (zahl, teiler: INTEGER; VAR a, b:INTEGER);
        BEGIN
                a := zahl DIV teiler;
                b := zahl MOD teiler;

(*--------------------------------------------------------------------------
--
		-- correct error in div & mod function:    >>>  zahl := a * teiler + b
<<<
		--      zahl : -9 -8 -7  -6 -5 -4  -3 -2 -1   0 +1 +2  +3 +4 +5  +6 +7 +8
+9
		--------------------------------------------------------------------------
----
		-- func div 3: -3 -2 -2  -2 -1 -1  -1  0  0   0  0  0  +1 +1 +1  +2 +2 +2
+3
		-- math div 3: -3 -3 -3  -2 -2 -2  -1 -1 -1   0  0  0  +1 +1 +1  +2 +2 +2
+3
		--------------------------------------------------------------------------
----
		-- func mod 3:  0 -2 -1   0 -2 -1   0 -2 -1   0  1  2   0  1  2   0  1  2
0
		-- math mod 3:  0  1  2   0  1  2   0  1  2   0  1  2   0  1  2   0  1  2
0
		--------------------------------------------------------------------------
--*)
		IF (zahl < 0) & (b # 0) THEN a := a - 1 END;
		IF b < 0 THEN b := b + teiler END;
	END DivMod;
In the early days I always get in trouble to move from one Pascal compiler
to an other. There was different implementation of function DIV and MOD and
my programs breaks on another machine until I used the procedure DivMod
instead of DIV and MOD.
I have not proved which combination are implemented in Component Pascal.
So you can find a lot of other topics ...
It doesn't make sense to speak about design errors. It is just a design
decision. There are more than one way to Roma. You'll never found a
combination where all people will be agree with.
Regards                  ^
                        /v\
Helmut Zinn            /vvv\
                      /vvvvv\
                     /+-----+\
                      |     |
      \|||/           |  {([at]})nowhere.xy      (o o)           |     |
---ooO-(_)-Ooo--w-w-w-|  {([at]})nowhere.xy                      |     |
                      |  {([at]})nowhere.xy                      |     |
----------------------+-----+
Have a look at http://www.zinnamturm.de
Send your answer and comments to mailto:collection{([at]})nowhere.xy-----Ursprüngliche Nachricht-----
Von: H. v. L. [mailto:hvl{([at]})nowhere.xyGesendet: Freitag, 17. September 2004 16:58
An: blackbox{([at]})nowhere.xyBetreff: CAP once more
One of the essential points with a procedure like CAP is, as was stated,
speed.
But then, if this really was the main point when implementing CAP, I can't
understand the output of the following module
MODULE PrivCapTest;
	IMPORT
		Strings, In, Out;
	PROCEDURE Do*;
		VAR
			ch, CH: CHAR;
			i: INTEGER;
	BEGIN
		FOR i := ORD(MIN(CHAR)) TO ORD(MAX(SHORTCHAR)) DO
			ch := CHR(i);
			Out.Ln;
			Out.String("CAP(CHR(");
			Out.Int(i,0);
			Out.String(")) = ");
			Out.String("CAP(");
			Out.Char(ch);
			Out.String(") = ");
			Out.Char(CAP(ch));
			IF ch = CAP(ch) THEN
				Out.String(") = ");
				Out.Char(ch);
			END;
		END;
	END Do;
END PrivCapTest.
When you look at the output you will remark quite a lot of characters (of
different gender, i. e. 'letter' and non 'letter') being mapped onto
themselves whereas others of similar gender are not. So, if despite of
speed it is possible to do this mapping why isn't it possible in the rest
of the non sense cases resulting an intuitively understandable and at the
same time foolproof function?
Regards
H. v. Lavergne
--------------------------------------------
To unsubscribe from this mailing list, send a message containing the word
"unsubscribe" to:
   blackbox-request{([at]})nowhere.xyTo get a list of valid e-mail commands and instructions on their usage, send
a message containing the word "help" to the above address.
Send any problem reports or questions related to this email list to the list
owner at
   owner-blackbox{([at]})nowhere.xyCurrent posting policy:
a) To post you should use the same address by which you are subscribed to
the mailing list. That way, the list server will recognize you as subscriber
and forward your posting immediately, without creating any overhead.
b) If, for some reason, you cannot post from the address, by which you are
subscribed, your message will be moderated to avoid spam. Please understand
that moderation will often cause some delay, in particular over weekends or
holydays.
--------------------------------------------
To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xyTo get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.
Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xyCurrent posting policy:
a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.
b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.
----boundary-LibPST-iamunique-1552542865_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBEZWFyIEguIHYuIExhdmVyZ25l
LFxwYXINClxwYXINCnRoaW5rIGluIGhleGFkZWNpbWFsIGFuZCB5b3UgdW5kZXJzdGFuZCB3aGF0
IGhhcHBlbnMuIExvb2sgYXQgdGhlIEFzY2lpXHBhcg0KZGVmaW5pdGlvbiBsaXN0IGluIGhleGFk
ZWNpbWFsOlxwYXINClxwYXINCjB4ICAgIDF4ICAgIDJ4ICAgIDN4ICAgIDR4ICAgIDV4ICAgIDZ4
ICAgIDd4XHBhcg0KIzAwIFx0YWIgIzEwIFx0YWIgIzIwIFx0YWIgIzMwIDBcdGFiICM0MCBAXHRh
YiAjNTAgUFx0YWIgIzYwIGBcdGFiICM3MCBwXHBhcg0KIzAxIFx0YWIgIzExIFx0YWIgIzIxICFc
dGFiICMzMSAxXHRhYiAjNDEgQVx0YWIgIzUxIFFcdGFiICM2MSBhXHRhYiAjNzEgcVxwYXINCiMw
MiBcdGFiICMxMiBcdGFiICMyMiAiXHRhYiAjMzIgMlx0YWIgIzQyIEJcdGFiICM1MiBSXHRhYiAj
NjIgYlx0YWIgIzcyIHJccGFyDQouXHBhcg0KLlxwYXINClxwYXINCkNBUCBtYWtlcyBhbiBBTkQg
MTEwMSAxMTExIGFuZCBub3RoaW5nIGVsc2UuXHBhcg0KXHBhcg0KICAgY2ggICAgICAgICAgICAg
IENBUChjaClccGFyDQoweCAwMDAwIHh4eHggLT4gMHggMDAwMCB4eHh4XHBhcg0KMXggMDAwMSB4
eHh4IC0+IDF4IDAwMDEgeHh4eFxwYXINCjJ4IDAwMTAgeHh4eCAtPiAweCAwMDAwIHh4eHhccGFy
DQozeCAwMDExIHh4eHggLT4gMXggMDAwMSB4eHh4XHBhcg0KNHggMDEwMCB4eHh4IC0+IDR4IDAx
MDAgeHh4eFxwYXINCjV4IDAxMDEgeHh4eCAtPiA1eCAwMTAxIHh4eHhccGFyDQo2eCAwMTEwIHh4
eHggLT4gNHggMDEwMCB4eHh4XHBhcg0KN3ggMDExMSB4eHh4IC0+IDV4IDAxMDEgeHh4eFxwYXIN
ClxwYXINCiAgICAgICAgICAgICAgIEFORCAxMTAxIDExMTFccGFyDQpccGFyDQpJIGhvcGUgeW91
IHVuZGVyc3RhbmQgbm93IHdoYXQgQ0FQIGlzIGRvaW5nLlxwYXINClxwYXINClxwYXINClxwYXIN
CldlbGwgeW91IGdldCBpbiB0cm91YmxlIGlmIHlvdSB0cmFuc2xhdGUgZnJvbSBvdGhlciBsYW5n
dWFnZSB0byBDb21wb25lbnRccGFyDQpQYXNjYWwuXHBhcg0KXHBhcg0KQnV0LCBqdXN0IGRlZmlu
ZSBpbiB5b3VyIHByb2dyYW1ccGFyDQpccGFyDQpcdGFiIEZVTkNUSU9OIENhcCAoY2g6IENIQVIp
IDogQ0hBUjtccGFyDQpcdGFiIEJFR0lOXHBhcg0KXHRhYiAgICBJRiAoJ2EnIDw9IGNoKSAmIChj
aCA8PSAneicpIFRIRU5ccGFyDQpcdGFiIFx0YWIgUkVUVVJOIENBUChjaClccGFyDQpcdGFiICAg
IEVMU0VccGFyDQpcdGFiICAgICAgIFJFVFVSTiBjaFxwYXINClx0YWIgRU5EIENhcDtccGFyDQpc
cGFyDQphbmQgdXNlIENhcChjaCkgaW5zdGVhZCBvZiBDQVAoY2gpIGFuZCB5b3VyIHByb2JsZW0g
aXMgc29sdmVkLlxwYXINClxwYXINClxwYXINClxwYXINCllvdSBjYW4gcmlzZSBzaW1pbGFyIHBy
b2JsZW1zIHdpdGggQ0hSLCBPUkQsIERJViBhbmQgTU9ELlxwYXINClxwYXINCkUuZy4gQ2hhcmFj
dGVycyBpbiBvdGhlciBpbXBsZW1lbnRhdGlvbnMgYXJlIDEgQnl0ZSAoQVNDSUkpIGFuZCBub3Qg
dG8gQnl0ZXNccGFyDQooVW5pY29kZSkgbG9uZy4gSGVyZSBteSBzb2x1dGlvbnMgaWYgeW91IGNv
bWUgZnJvbSBhbiBvdGhlciBsYW5ndWFnZSBmb3IgT1JEXHBhcg0KYW5kIENIUjpccGFyDQpccGFy
DQpcdGFiIFBST0NFRFVSRSBPcmQgKGNoOiBCWVRFKTogSU5URUdFUjtccGFyDQpcdGFiIFx0YWIg
VkFSIGk6IElOVEVHRVI7XHBhcg0KXHRhYiBCRUdJTlxwYXINClx0YWIgXHRhYiBBU1NFUlQoKCAt
IDI1NSA8PSBjaCkgJiAoY2ggPD0gMjU1KSwgMTAwKTtccGFyDQpcdGFiIFx0YWIgaSA6PSBjaDsg
SUYgaSA8IDAgVEhFTiBpIDo9IGkgKyAyNTYgRU5EO1xwYXINClx0YWIgXHRhYiBSRVRVUk4gaVxw
YXINClx0YWIgRU5EIE9yZDtccGFyDQpccGFyDQpcdGFiIFBST0NFRFVSRSBDaHIgKGk6IElOVEVH
RVIpOiBCWVRFO1xwYXINClx0YWIgQkVHSU5ccGFyDQpcdGFiIFx0YWIgQVNTRVJUKCggLSAyNTUg
PD0gaSkgJiAoaSA8PSAyNTUpLCAxMDApO1xwYXINClx0YWIgXHRhYiBSRVRVUk4gU0hPUlQoU0hP
UlQoaSkpXHBhcg0KXHRhYiBFTkQgQ2hyO1xwYXINClxwYXINClxwYXINClxwYXINCkFub3RoZXIg
cHJvYmxlbSB5b3UgZ2V0IHdpdGggRElWIGFuZCBNT0Q6XHBhcg0KXHBhcg0KXHRhYiBQUk9DRURV
UkUgRGl2TW9kICh6YWhsLCB0ZWlsZXI6IElOVEVHRVI7IFZBUiBhLCBiOklOVEVHRVIpO1xwYXIN
Clx0YWIgQkVHSU5ccGFyDQpcdGFiIFx0YWIgYSA6PSB6YWhsIERJViB0ZWlsZXI7XHBhcg0KXHRh
YiBcdGFiIGIgOj0gemFobCBNT0QgdGVpbGVyO1xwYXINClxwYXINCigqLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS1ccGFyDQotLVxwYXINClx0YWIgXHRhYiAtLSBjb3JyZWN0IGVycm9yIGluIGRpdiAmIG1vZCBm
dW5jdGlvbjogICAgPj4+ICB6YWhsIDo9IGEgKiB0ZWlsZXIgKyBiXHBhcg0KPDw8XHBhcg0KXHRh
YiBcdGFiIC0tICAgICAgemFobCA6IC05IC04IC03ICAtNiAtNSAtNCAgLTMgLTIgLTEgICAwICsx
ICsyICArMyArNCArNSAgKzYgKzcgKzhccGFyDQorOVxwYXINClx0YWIgXHRhYiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLVxwYXINCi0tLS1ccGFyDQpcdGFiIFx0YWIgLS0gZnVuYyBkaXYgMzogLTMgLTIgLTIg
IC0yIC0xIC0xICAtMSAgMCAgMCAgIDAgIDAgIDAgICsxICsxICsxICArMiArMiArMlxwYXINCisz
XHBhcg0KXHRhYiBcdGFiIC0tIG1hdGggZGl2IDM6IC0zIC0zIC0zICAtMiAtMiAtMiAgLTEgLTEg
LTEgICAwICAwICAwICArMSArMSArMSAgKzIgKzIgKzJccGFyDQorM1xwYXINClx0YWIgXHRhYiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLVxwYXINCi0tLS1ccGFyDQpcdGFiIFx0YWIgLS0gZnVuYyBtb2QgMzog
IDAgLTIgLTEgICAwIC0yIC0xICAgMCAtMiAtMSAgIDAgIDEgIDIgICAwICAxICAyICAgMCAgMSAg
MlxwYXINCjBccGFyDQpcdGFiIFx0YWIgLS0gbWF0aCBtb2QgMzogIDAgIDEgIDIgICAwICAxICAy
ICAgMCAgMSAgMiAgIDAgIDEgIDIgICAwICAxICAyICAgMCAgMSAgMlxwYXINCjBccGFyDQpcdGFi
IFx0YWIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQotLSopXHBhcg0KXHRhYiBcdGFiIElGICh6YWhs
IDwgMCkgJiAoYiAjIDApIFRIRU4gYSA6PSBhIC0gMSBFTkQ7XHBhcg0KXHRhYiBcdGFiIElGIGIg
PCAwIFRIRU4gYiA6PSBiICsgdGVpbGVyIEVORDtccGFyDQpcdGFiIEVORCBEaXZNb2Q7XHBhcg0K
XHBhcg0KSW4gdGhlIGVhcmx5IGRheXMgSSBhbHdheXMgZ2V0IGluIHRyb3VibGUgdG8gbW92ZSBm
cm9tIG9uZSBQYXNjYWwgY29tcGlsZXJccGFyDQp0byBhbiBvdGhlci4gVGhlcmUgd2FzIGRpZmZl
cmVudCBpbXBsZW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBESVYgYW5kIE1PRCBhbmRccGFyDQpteSBw
cm9ncmFtcyBicmVha3Mgb24gYW5vdGhlciBtYWNoaW5lIHVudGlsIEkgdXNlZCB0aGUgcHJvY2Vk
dXJlIERpdk1vZFxwYXINCmluc3RlYWQgb2YgRElWIGFuZCBNT0QuXHBhcg0KXHBhcg0KSSBoYXZl
IG5vdCBwcm92ZWQgd2hpY2ggY29tYmluYXRpb24gYXJlIGltcGxlbWVudGVkIGluIENvbXBvbmVu
dCBQYXNjYWwuXHBhcg0KXHBhcg0KXHBhcg0KXHBhcg0KU28geW91IGNhbiBmaW5kIGEgbG90IG9m
IG90aGVyIHRvcGljcyAuLi5ccGFyDQpccGFyDQpJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc3Bl
YWsgYWJvdXQgZGVzaWduIGVycm9ycy4gSXQgaXMganVzdCBhIGRlc2lnblxwYXINCmRlY2lzaW9u
LiBUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSB3YXkgdG8gUm9tYS4gWW91J2xsIG5ldmVyIGZvdW5k
IGFccGFyDQpjb21iaW5hdGlvbiB3aGVyZSBhbGwgcGVvcGxlIHdpbGwgYmUgYWdyZWUgd2l0aC5c
cGFyDQpccGFyDQpccGFyDQpccGFyDQpSZWdhcmRzICAgICAgICAgICAgICAgICAgXlxwYXINCiAg
ICAgICAgICAgICAgICAgICAgICAgIC92XFxccGFyDQpIZWxtdXQgWmlubiAgICAgICAgICAgIC92
dnZcXFxwYXINCiAgICAgICAgICAgICAgICAgICAgICAvdnZ2dnZcXFxwYXINCiAgICAgICAgICAg
ICAgICAgICAgIC8rLS0tLS0rXFxccGFyDQogICAgICAgICAgICAgICAgICAgICAgfCAgICAgfFxw
YXINCiAgICAgIFxcfHx8LyAgICAgICAgICAgfCAgQCAgfFxwYXINCiAgICAgIChvIG8pICAgICAg
ICAgICB8ICAgICB8XHBhcg0KLS0tb29PLShfKS1Pb28tLXctdy13LXwgIEAgIHxccGFyDQogICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgfFxwYXINCiAgICAgICAgICAgICAgICAgICAgICB8ICBA
ICB8XHBhcg0KICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHxccGFyDQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKy0tLS0tK1xwYXINCkhhdmUgYSBsb29rIGF0IGh0dHA6Ly93d3cuemlubmFtdHVy
bS5kZVxwYXINClNlbmQgeW91ciBhbnN3ZXIgYW5kIGNvbW1lbnRzIHRvIG1haWx0bzpjb2xsZWN0
aW9uQHppbm5hbXR1cm0uZGVccGFyDQpccGFyDQpccGFyDQotLS0tLVVyc3ByXCdmY25nbGljaGUg
TmFjaHJpY2h0LS0tLS1ccGFyDQpWb246IEguIHYuIEwuIFttYWlsdG86aHZsQGxhaGluaS5kZV1c
cGFyDQpHZXNlbmRldDogRnJlaXRhZywgMTcuIFNlcHRlbWJlciAyMDA0IDE2OjU4XHBhcg0KQW46
IGJsYWNrYm94QG9iZXJvbi5jaFxwYXINCkJldHJlZmY6IENBUCBvbmNlIG1vcmVccGFyDQpccGFy
DQpccGFyDQpPbmUgb2YgdGhlIGVzc2VudGlhbCBwb2ludHMgd2l0aCBhIHByb2NlZHVyZSBsaWtl
IENBUCBpcywgYXMgd2FzIHN0YXRlZCxccGFyDQpzcGVlZC5ccGFyDQpCdXQgdGhlbiwgaWYgdGhp
cyByZWFsbHkgd2FzIHRoZSBtYWluIHBvaW50IHdoZW4gaW1wbGVtZW50aW5nIENBUCwgSSBjYW4n
dFxwYXINCnVuZGVyc3RhbmQgdGhlIG91dHB1dCBvZiB0aGUgZm9sbG93aW5nIG1vZHVsZVxwYXIN
ClxwYXINCk1PRFVMRSBQcml2Q2FwVGVzdDtccGFyDQpccGFyDQpcdGFiIElNUE9SVFxwYXINClx0
YWIgXHRhYiBTdHJpbmdzLCBJbiwgT3V0O1xwYXINClxwYXINClx0YWIgUFJPQ0VEVVJFIERvKjtc
cGFyDQpcdGFiIFx0YWIgVkFSXHBhcg0KXHRhYiBcdGFiIFx0YWIgY2gsIENIOiBDSEFSO1xwYXIN
Clx0YWIgXHRhYiBcdGFiIGk6IElOVEVHRVI7XHBhcg0KXHRhYiBCRUdJTlxwYXINClx0YWIgXHRh
YiBGT1IgaSA6PSBPUkQoTUlOKENIQVIpKSBUTyBPUkQoTUFYKFNIT1JUQ0hBUikpIERPXHBhcg0K
XHRhYiBcdGFiIFx0YWIgY2ggOj0gQ0hSKGkpO1xwYXINClx0YWIgXHRhYiBcdGFiIE91dC5Mbjtc
cGFyDQpcdGFiIFx0YWIgXHRhYiBPdXQuU3RyaW5nKCJDQVAoQ0hSKCIpO1xwYXINClx0YWIgXHRh
YiBcdGFiIE91dC5JbnQoaSwwKTtccGFyDQpcdGFiIFx0YWIgXHRhYiBPdXQuU3RyaW5nKCIpKSA9
ICIpO1xwYXINClx0YWIgXHRhYiBcdGFiIE91dC5TdHJpbmcoIkNBUCgiKTtccGFyDQpcdGFiIFx0
YWIgXHRhYiBPdXQuQ2hhcihjaCk7XHBhcg0KXHRhYiBcdGFiIFx0YWIgT3V0LlN0cmluZygiKSA9
ICIpO1xwYXINClx0YWIgXHRhYiBcdGFiIE91dC5DaGFyKENBUChjaCkpO1xwYXINClx0YWIgXHRh
YiBcdGFiIElGIGNoID0gQ0FQKGNoKSBUSEVOXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBPdXQu
U3RyaW5nKCIpID0gIik7XHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBPdXQuQ2hhcihjaCk7XHBh
cg0KXHRhYiBcdGFiIFx0YWIgRU5EO1xwYXINClx0YWIgXHRhYiBFTkQ7XHBhcg0KXHRhYiBFTkQg
RG87XHBhcg0KXHBhcg0KRU5EIFByaXZDYXBUZXN0LlxwYXINClxwYXINCldoZW4geW91IGxvb2sg
YXQgdGhlIG91dHB1dCB5b3Ugd2lsbCByZW1hcmsgcXVpdGUgYSBsb3Qgb2YgY2hhcmFjdGVycyAo
b2ZccGFyDQpkaWZmZXJlbnQgZ2VuZGVyLCBpLiBlLiAnbGV0dGVyJyBhbmQgbm9uICdsZXR0ZXIn
KSBiZWluZyBtYXBwZWQgb250b1xwYXINCnRoZW1zZWx2ZXMgd2hlcmVhcyBvdGhlcnMgb2Ygc2lt
aWxhciBnZW5kZXIgYXJlIG5vdC4gU28sIGlmIGRlc3BpdGUgb2ZccGFyDQpzcGVlZCBpdCBpcyBw
b3NzaWJsZSB0byBkbyB0aGlzIG1hcHBpbmcgd2h5IGlzbid0IGl0IHBvc3NpYmxlIGluIHRoZSBy
ZXN0XHBhcg0Kb2YgdGhlIG5vbiBzZW5zZSBjYXNlcyByZXN1bHRpbmcgYW4gaW50dWl0aXZlbHkg
dW5kZXJzdGFuZGFibGUgYW5kIGF0IHRoZVxwYXINCnNhbWUgdGltZSBmb29scHJvb2YgZnVuY3Rp
b24/XHBhcg0KXHBhcg0KUmVnYXJkc1xwYXINClxwYXINCkguIHYuIExhdmVyZ25lXHBhcg0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpccGFyDQpUbyB1
bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVzc2FnZSBjb250YWlu
aW5nIHRoZSB3b3JkXHBhcg0KInVuc3Vic2NyaWJlIiB0bzpccGFyDQogICBibGFja2JveC1yZXF1
ZXN0QG9iZXJvbi5jaFxwYXINClxwYXINClRvIGdldCBhIGxpc3Qgb2YgdmFsaWQgZS1tYWlsIGNv
bW1hbmRzIGFuZCBpbnN0cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNlbmRccGFyDQphIG1lc3Nh
Z2UgY29udGFpbmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuXHBhcg0K
XHBhcg0KU2VuZCBhbnkgcHJvYmxlbSByZXBvcnRzIG9yIHF1ZXN0aW9ucyByZWxhdGVkIHRvIHRo
aXMgZW1haWwgbGlzdCB0byB0aGUgbGlzdFxwYXINCm93bmVyIGF0XHBhcg0KICAgb3duZXItYmxh
Y2tib3hAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpc
cGFyDQphKSBUbyBwb3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2gg
eW91IGFyZSBzdWJzY3JpYmVkIHRvXHBhcg0KdGhlIG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRo
ZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vic2NyaWJlclxwYXINCmFuZCBm
b3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwgd2l0aG91dCBjcmVhdGluZyBhbnkgb3Zl
cmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5vdCBwb3N0
IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmVccGFyDQpzdWJzY3JpYmVkLCB5b3Vy
IG1lc3NhZ2Ugd2lsbCBiZSBtb2RlcmF0ZWQgdG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3Rh
bmRccGFyDQp0aGF0IG1vZGVyYXRpb24gd2lsbCBvZnRlbiBjYXVzZSBzb21lIGRlbGF5LCBpbiBw
YXJ0aWN1bGFyIG92ZXIgd2Vla2VuZHMgb3JccGFyDQpob2x5ZGF5cy5ccGFyDQpccGFyDQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxwYXINClxwYXINClRvIHVu
c3Vic2NyaWJlIGZyb20gdGhpcyBtYWlsaW5nIGxpc3QsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5p
bmcgdGhlIHdvcmQgInVuc3Vic2NyaWJlIiB0bzpccGFyDQogICBibGFja2JveC1yZXF1ZXN0QG9i
ZXJvbi5jaFxwYXINClxwYXINClRvIGdldCBhIGxpc3Qgb2YgdmFsaWQgZS1tYWlsIGNvbW1hbmRz
IGFuZCBpbnN0cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5p
bmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBhYm92ZSBhZGRyZXNzLlxwYXINClxwYXINClNlbmQg
YW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0byB0aGlzIGVtYWlsIGxp
c3QgdG8gdGhlIGxpc3Qgb3duZXIgYXRccGFyDQogICBvd25lci1ibGFja2JveEBvYmVyb24uY2hc
cGFyDQpccGFyDQpDdXJyZW50IHBvc3RpbmcgcG9saWN5OlxwYXINClxwYXINCmEpIFRvIHBvc3Qg
eW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmli
ZWQgdG8gdGhlIG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0IHNlcnZlciB3aWxsIHJl
Y29nbml6ZSB5b3UgYXMgc3Vic2NyaWJlciBhbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRp
YXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXINClxwYXINCmIpIElmLCBm
b3Igc29tZSByZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9tIHRoZSBhZGRyZXNzLCBieSB3aGlj
aCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIG1vZGVyYXRlZCB0byBh
dm9pZCBzcGFtLiBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IG1vZGVyYXRpb24gd2lsbCBvZnRlbiBj
YXVzZSBzb21lIGRlbGF5LCBpbiBwYXJ0aWN1bGFyIG92ZXIgd2Vla2VuZHMgb3IgaH19AFNCagpi
MjUwWVdsdQ=
----boundary-LibPST-iamunique-1552542865_-_---
Received on Fri Sep 17 2004 - 22:53:00 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:36 UTC