StdStamps & backward compatibility

Post Reply
Zinn
Posts: 476
Joined: Tue Mar 25, 2014 5:56 pm
Location: Frankfurt am Main
Contact:

StdStamps & backward compatibility

Post by Zinn »

My question is: Should BlackBox 1.7 backward compatible to BlackBox 1.6 or not?

Robert has improved the module StdStamps. And we had the following disscussion.

Helmut:
Deleting the backward compatibility makes this module StdStamps much easier.

We do not need the procedure HasWideChars and simplify the logic
                i := 0;
                WHILE (i < v.nentries)
                & ~((v.history.comment # NIL) & HasWideChars(v.history.comment)) DO INC(i) END;
                IF i < v.nentries THEN version := thisVersion ELSE version := 2 END;
                wr.WriteVersion(version);
to
                wr.WriteVersion(ThisVersion);

and simplify the logic
                 IF version = thisVersion THEN
                     wr.WriteString(v.history.comment^)
                 ELSE
                     wr.WriteXString(v.history.comment^)
                 END
to
                 wr.WriteString(v.history.comment^)

But then you can't load an edit module with old versions of BB, because it can't read the new format.
The current logic of StdStamps is: If the comments use Unicode write the new format otherwise write the old format.
We have the same problem with StdLinks and StdFolds. When we use Unicode there then the old BB can't open the document file.
Russian people will use Unicode (Cyrillic letters) in Stamps, Folds, Links and Identifier. And those modules are not useable with the old versions of BB.
Anyway, the best way is to leave it as it is currently. We can simplify the logic of StdStamps, StdLinks and StdFolds in the future.

Robert:
I disagree. We should decide what is more important: Compatibility with BBox 1.6 or Unicode. I understand why Unicode is necessary at 1.7, so back compatibility is lost.

Now it is simple. The new module always writes version 3 & Unicode, and does not need HasWideChars .
It can read both version 2 (ASCII) & 3 (Unicode).
The code is much simplified.
It is also simple to explain what happens in the Docu file. It is easy for users to understand what the code does.
-----------------------------------------------------------------------------------------------------------------------------------------------

Remember my question is: Should BlackBox 1.7 backward compatible to BlackBox 1.6 or not?
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: StdStamps & backward compatibility

Post by Josef Templ »

> Remember my question is: Should BlackBox 1.7 backward compatible to BlackBox 1.6 or not?

It MUST be compatible in the sense that old documents can be loaded into the new version.

That is exactly the reason for the version field in an elem.
You may introduce a new version code with improved features, but you are NOT allowed to
change an existing version in a way that makes it incompatible with existing documents.

Compatibility with old documents is much more important than saving a few lines of code.

- Josef
User avatar
Robert
Posts: 1024
Joined: Sat Sep 28, 2013 11:04 am
Location: Edinburgh, Scotland

Re: StdStamps & backward compatibility

Post by Robert »

Compatibility with old documents is much more important than saving a few lines of code.
That is not the issue here. Old Stamps can definitely be properly read by the new code.


The issue is can old BlackBox 1.6 code properly read new Stamps - it can read and save them as Aliens.

There are three options:

- Yes, but then you can't use 16 bit characters in comments.

- No, but 16-bit comments are always supported.

- Sometimes. Yes if no comments contain 16 bit characters, no otherwise.


I personally think the last option is the worst as it is complicated and unpredictable.
Last edited by Robert on Tue Feb 10, 2015 9:17 am, edited 1 time in total.
cfbsoftware
Posts: 204
Joined: Wed Sep 18, 2013 10:06 pm
Contact:

Re: StdStamps & backward compatibility

Post by cfbsoftware »

Robert wrote: That is not the issue here. Old Stamps can definitely be properly read by the new code.
In that case they are 'backward compatible'. I do not believe there is any need for 'forward compatibility'. If it comes at no cost all well and good but otherwise it should not even be a consideration.
User avatar
Robert
Posts: 1024
Joined: Sat Sep 28, 2013 11:04 am
Location: Edinburgh, Scotland

Re: StdStamps & backward compatibility

Post by Robert »

Is this accepted terminology:
- Backward compatibility: Old documents & new code
- Forward compatibility: New documents & old code?

If so, we should rename this topic StdStamps & forward compatibility.
It is certainly less confusing to have two different names for these two different ideas.


Is this accepted policy for forward compatibility?
Chris wrote:
If it comes at no cost all well and good but otherwise it should not even be a consideration.

Helmut: If we go for the StdStamps option:
- Backward compatibility - yes
- Forward compatibility - no
- Simplicity - yes
it might be better to use the same policy for the other Modules you mentioned (Folds & Links). (I haven't looked at them in detail myself.)
User avatar
Robert
Posts: 1024
Joined: Sat Sep 28, 2013 11:04 am
Location: Edinburgh, Scotland

Re: StdStamps & backward compatibility

Post by Robert »

I attach a proposal for updating the Module StdStamps, and hope it can be considered for the new Centre release.

This module has back compatibility with BlackBox 1.6, but not forwards compatibility as these terms are defined above.

Comments in the Stamps support 16-bit characters.

I would describe the changes as 90% bug fix, and 10% new feature. The bugs were described in correspondence in the BlackBox email list (Archives dated Jan & Feb 2015).
The change comments in the Mod file give additional information.


This version of the Module has been carefully checked by Helmut, whom I thank for making constructive comments.

The coding below contains 3 files; the Mod, Docu, & Rsrc. I am happy to provide them in alternative formats, but probably would need extensive assistance to put them in the repository correctly!

Code: Select all

PacCoder.Decode /.:G....HkM..BoS........Ik/o.4E.9k/2.4w.Mk/p.0w.Ik/o.42.PE/k
.5:.9U/j.4E.Mk....5Ck/SYoYTE.Tda.rQVm67wPu.UyEKS:h:MCcBc:cBkCV5:VQFHyFY80klb
rW.0Y61J6L0xjNZ11EoZB1Z.03Pym5Ro1VHz/8Q5tD1u3vqyBH8.M4mUL0Dz.4E5Ps1mM4E9Ls8m
ERiC96akVm/gEVr4zvVItcEeI66:UFFSKmMUUwY.7vmE/mjm.7Wm.4BqhypTWdTsw86O6gaaPx/n
Ff:m9TcBYHrg.628HjEWmEg7.8Nx667XY63F/W2V/0647T6uTo456KoU2I47.DGN0iDmy:Uwjse2
7WUfG01jiYQUlIkjaGV7:UJXIUDRk9IU.ta/2D4vmPO931Dw.sH0Lwj7q1:mPyi8zy/jx67Wlz/X
fgfnyG3zjtEMa9mR0fy5Lx51iGF9n5h9z3nDdvn8nKTnVK5bktzsSPNUIaFmbgrTkkS:lozkOzWl
z/3JqpfKNFtE5TnrwtlkiH9NQIw84H:mdfIsz2LJMU3l5LW5odZQwFCMUtkil0Z1joXWCJpOcjq6
aoOl.r7W0Y2F7CJL./yBtBey00zEnMx5BbElku4q5EhuQuXJbj7FcwEs0Xrnx7ejBfForo4z/sab
CiUPaxfu:MIdb7F7Ga5TcTuIYwbdG:aGV1uII:hoSZ4TSV/jo8jjpzUtu/TCVggPFxDXHSUuXrcR
xqOTJChrR19FIdf7G9GbljcZ9uvoBCKt82k/X:Vv.BKT2tTPPHwzqP6uCx:knsQx1tOzfbRlXjXM
5uZabzFTefPOsNm4O6rvnFChRYwvfEtRnaVqzZvvMrXdtPkNcehKXYg:vJn/rtqymb:y9PwIkNY7
HiZwMiTLG:x8rvf2cYq4siNldgjfwXXZnv0UJXPmmaohHXewoRjDqhuu2fZjtitV1rq6TPnwnqaS
TV/es.z0.hozQ/I7nCeUBOKqlYaXkx27GtCRDcmRteueUURDrtm9e3Ci9sxrCXK6ixsnuE5bUEEm
qW5qkh0Tm0nPrya1b87bpGQzlyyy.X2SnXxgsPs6zG7ust0Qrs.PmIC:bdRDXNOKglyc74y1BRi1
y1zXx3DkZdYlRdvYNvw.vszNXfxCbDeKwdEIRXCdmy9pytdPuReIV8EYEMqzzJIxdrT9WnpukMIV
g4rm7H:QcTvnbRvDokcJyq/WixenogjhJBuZ0YMXijvVfSpm64bjEFx5tqT0boscVQWjFrQgqQEo
h0SkTSljOjUTOZW1gkiuNC/tSgo4n.GSN/YvEubLVXlD5lqf3:1jCgGipRHt/bwUpub9Yf.jhMHl
vJ:RrMsCa84EwirO1SpY06:XuVfSpsyzhMUpmtrlQ0iFM5ac8CfIoipUil9MtcZzt7d5MHijVzaP
jqv4Gp7sVRpzOj3T0xe6UsphexaxdGHJSf0IX0blHPCjhEyTEuo1FTIDO2JBGp0TMZqTHeYDmKos
iIQu986JrzPkZqZxzCH1MntlrVc5p1E7110p0pds9FDjDQ0Xp/FZ1WTwmfteCsJwoDt3Ex3aybOh
rLWZfQflMJ1JIJ1S6aihM3ESD.rYI.CjZx6xUe4r/NjaS5v3EO:3G89J1yPWjkVDV:nPox:Jnzr6
Q71m7pOmp7gkxy1V3ePD45u1Xaz0FKEK30cQQUkcy2pDXIB:3YT3XWgwxOcLX6ab/7mjuO9kdnbb
B/e5NUIm:5lNdda7LTYepISiegiq:IrJwCnDxXcYLie8dsJSjIfMCJt3/6zo1h.1pPuWWNNJt3wN
RUjJ6:UvDmRnG4.nvCY59/dZW0t/wVynguWDisceLXBJKyDtDBoCdarmh6itK4OcHb/eNFrc/JKp
E87ae15InXYnIi02MTdZ:TpvT635DwFLUQRj6Wl7vOQU5hj.dZcmCd3SafdpaQxxlL9yuRlt11gC
gK:JT:ngMlFtqzp/8pighitSXXdwwXPQG92eKlVONk90LSEIbgV3T2bwagU7D.9/ImilY5NhOpl:
Ur3aZSm0cpdY2EmGsnilPOLhY7:p:EXgU136m.nOn:UKxhz1QGdYPsyKUK5nfcLphOwGM0keOiI4
yZ6:rOy9JDxcSU2DTW5JtZ7EwctS6Sa0OfRuVzzzw3:.R./Y.0w.HE/j.4E.9k/H.5E.ME/h.5..
Qk.i.4w.N./X.....JkVaPPGFx./7ZxHr056Ubljc01t/NsmolUuUqUmUr.u2Qm3l3Dt4Ec914TS
6.8EUBIVQ9qxaI:B1GIoCI.6Jjv6RrEC3Dw2dkTYwDcLjPsp:c/UP8/Q6zw.N.RjUD7MN2NTUf7/
qssgWP0564l05QPzi3HaV0dEUUm/33tP7W01mE.bj7/zQFctUGdhHqoqhysuWdScw66O6caaPJ/n
FeS:KpEP6bjp.6:eHgEWnIc0Z7667XI63aUl/EUV212bYKc1TEMSdTtdHe/zep9QCTXC/aByV0Mc
8qMUuv3:W:Hk9qd6GGW2sGW1Le0oW.CI.W6JMF5l2jc60:6YVDt22guoLcUO5l1F1B34DWdvbfCX
xyTIl23EYGFxvrWzmJIF6TY/ujZqCkE1LgYKUEydq0tQF27hrEvCuu:luLG6iZhKtHCr83hPcs:9
Kj.r5cz5I7y9dYOYL81LFGEeTzJG1ddtZJbrvygRvdWj:gxR8gZpiCXjrR5YoOeaak57itSOu/03
hw:xVL4:brIJqTgOu3WyLGu842IgMchDe86wIaJjcdDwFyUMBXIU4cNFDhH.OXop/1LJeB5q:chG
cObGU9IWKdrny:Oiz6HCLYaBQS1MzI8bomZHXL7qfoOthizTe/BCEqiz9CwU3HyH4Qa31VKesjnY
7VTyyP6PlStGoWLeaYkUeGtQka6Jwejvy7/Gt2kdpF7cjTEHDzGoI3V4BP:a0D7m3N:33eWMF7tS
lXMq4SRVYlU7eTPGOKsoCYkCm0GMirMrFlQN8/WO49PiRL3bRXD4RL4tOx9qXzVO1bPv72hJEMDf
X2UDpbTxBI9zBvz6oudUnxkb/ITx8SrjaZyto/Nwudj9n7ig0vWeNE3gweBb:lRMCcza7Io..0J4
RpW/z4nuQM1qn5OpqdB1uddvX6LUp9ZDtS/flIbLVE7G23Ha8rNPteo5rGQz5rUMl1jvUqVMYKVg
q6V9Dll.PmKSpHm320Hwym6V4fQX26zc9proKfxa6lnl04eZd7gNxIBl.Jzn4PVx.BFJVFIK5oZI
R2iW1QQT8W/xCWXEwVc.JrYMZF.Z8PcOzkvYvKur4d273iixwE/LRpTxifOLvFPD/VlwIEWbtQSu
YCgEVCUwmnRRjPKciSkgku63ZCuXtkZhppTW.zJWDsF.7v75W.YMfoEKuF7ZKunHROveTi806FjR
T6sUj/PfyUTRTXIP4Y.6SVc/BT1H6.CSLE.PYla0rnuozrLpKO.85nfGJ9X5RHOU36KdlrLXt.:z
kqn5:JiQZPjPdrNiIjLIY.KsBoRRWMrU6maWca4HrU/T.cNzubZs34quqiXEgefvGpE5gPgQe.94
8UThS/VysnbTqi.Gw/ozGZcFaNe1DKZL6CqNkCtaZ8i9/2L2YE:gv7ocp3xOF6TeC6USk7JKz/rz
mPo6UMkov8k7SFN2JaWoeT8Ci1qpmdmYFVB8gZHdIlW6JHMyfZIuh.Xe66Sgv85l73IzxW6OYhRJ
/25h2yL3UkqGBmWTQwuWOiixfiqxx:LO10MiZ2z1HDexmczQr8kXyGnIvnn5jh99REQR:NseImhE
rzeVerwdkeTGJiopjDLq2x5ItE:l4QiKJZG/dmuZI8I118pLUi/NJfnCvMuKWIN09/1K4iTNNcp0
GmCuboER1IxG2rd3jPb1JTRJaTXl7CQNvR2W/9oGyKPTvQ6.R2U7YKI9cMBGusHLll5py/SwZ4gI
oawk.ojd51zzYFDt9xfowleUPrF/daWlVFlfjRjqxBbyTzGqeFJkheXLuvH3rdJIvdP.NOcwRvf7
xJoZMPyX5XXc11dRrsX7FOGW3bmOBjoe73:zJxVZMSw2yhlVHR4:n0KEJ58RjewjYzrjD7tG/fa2
7Dxaz2ymhrTKJGp5XbT:vWKz8l.DErqVxNKKQabnWmLEpMCDbvECjt4JUtpKF:Uqw4/toUiLki4B
apcJzDHmWwapxWZvGOKj8H567VE3DR9gPHV0KeWeOcZdUhIowOdeLByFgntm:HBv6Pj2654wGyCG
XsJN/ni1l2SN74.HYWxihfJiErQgL7Df6Sh6kyw/TlMK69IoSHsv.KcuRh8OP/PyC.Bbd4jOkvpo
jVHH8iWypGsUz/RfqNEX5rmFgwM4KDy4hx.pzSlxWc9LK.akoJ:Fs:uIkvNtlvzo:w85YS0obo9T
quQ8OOSRo9JDtfnPLz8U8xfz/wyQy8Uj8dCM.2LlZNYxzDHwIpMjDjX75/2jDZxLPa5VkwTazIy2
pTqZuHpbmWZ9OqbDraR3lSm.uRW.7fV3clWOGxqRj12RuPU:cTU72PDV/nutHXxeKTFTRndvlbt1
P2MRxf8weY5/CwZiQMXQD5eyUsBRrF4JrSuvPzQlDxq5r5dpjXEfx4reV4BSLz3MYjPSLcdF5qRt
hqfOqV67Iq6BibYPEMvh/4IsOgN6w4lxwTVqV:OwE6E7Xl2zxcbC8e2dv5z7qJvfZScv1ots6o7S
celXQt8rlfIlltvK3xLc9eNwyadNbPPiCb7l9JScgxspVEZGvs/Cg7K:Lg1bbT.7SJTcSBy2SKk2
SYoekam:Xlr2UoIXOFjEnlLwMujBC:jOYLnYRlnjxRtzUz9VDJSLKU:tTqhtByfv1Q5bjCaNFRKf
li7UZtDK4XOL8TOiljvCFjrgGWoYigDM9rRZtrptUeiXB68dug8jQPX1RUfYShLdvQEZZp5nneIb
.zNLg4W9StfSQcJSU3oVzi1oy3JU9gFFTbtS/2jORSWGzO4Zb5lWRBo5KLpXHTCxDHdifjbnyqug
uPQ9V3u9hbHFmRuxjjIWto2XE2ft1XBKjDwcYMDkHSRCYY1Dpc1JP7ZLFaRvUHbhwgOMKKqJv9o8
CLcdQlmhR3v7dTcjqDjiPuby77ddTFUHqEUodxFUSGgyHhnF49zEwrMjYbe.UwkXow5XbSFbZZS.
JWuvgrBH6HMCNKI17d9:jIZ9SUb4cwbn:ZeL.34WSUtpRsroKBY8nIWB7T5OGlGFCrIY0tdv5Yzl
p:liTLXfkfw93lOawonjvrPjTsYeyOfSbVGlrI6ox5Nz9bvz0nzU3OgpSxFhdJMC/yBPJ2r1KxK7
NXD9Dz9yy7GvxJIZts:QF3.lspDD1yjauB2XxNS68qn3yzmLVN88Mc9En4avTkMItLnDFX26rFv0
5:w1gbb.VV.xat3rKn26Ic5FFk2lYDr.xGhpTyiWpoUwLtblBNDko0sBJuKG8eF9ESOPijSZ7vGZ
/VUXIfykH5ViP5z3desdloi6wlzzuRijFDTKOcy5sENx.WdbWfbFtxKxcKFBjBRgvTvrZYOos1ze
RbHalKpgwK.qTHI4jTMaaMb5oFPcmzNk2nbYvTJY9w2xlhlKS8vplsQqZbXxVz2jNfv1L0kBUJKL
297:7tbmVNJvX6r2lQFVQyOctqDiXT8OR8CP5h6TodErp4RO1KEnIxnxvDF2qCf/TuLS5XT9p2sa
/kL3gbQSmJI5LPsqShZ17cph/pX4chlYxv8sW5ddyTrGmXLOMXtLL5CutipqBxTQw5yBE8OVc/PS
IweWO8X2uSikslHm6Gt2Zdafl84PV:jT8qEaP9HXxChkiZukSGFwBJGxolVWRk9TmO4bPtzDWk98
bF9fOav8:CDZsl.XFzkHboC8NKtunYvfBRD4fFRDtpCXauKj.RTTblpGcNZwGroErj9qxqKS0Mjp
jCN0bMWaKby4j7TRqjFEvX:jwuX1Q9YiTMCtcSDL7u5cXbz5olD3m9KCvpt7t:d6Fucx472THRzr
mJrun/DY8SQluErkcY/PyGIaTEqaynJTJDwsjrk7NwziJuw0Usye6vxYsSDjdvS/h/0Kh3IlBJR1
wxJ.K/T0n7kxzjHTIrhPxgdUbgaqxthQjUBDjPMBTyg1mjEcG.kn/TpwqQsjmikPcVDy5OhW1u.G
a.qWPo15mgKpNCC0nxLR41frIID2U1rlmD2Sdf2iiOrRw.vdcnpEdTJ:pB1FyWf6svphjuu5JhyR
UCO8Oj78TVn0NQ5q2V6tpMp7YRoxXdR2S6Cn2Xj:z5mCkr5Pq:jJQnDHk65Zrez2JOM47dGp7rxg
DNdM9P8lNervXq2Gl:UPP:UfZqKieUvK9y:q57l3FRnpsaRpnMkvMuNiLUZ/OxROIpc:4VF7n3tc
TFS:PSgZ:irFYamjLDVbNLsgl6kwEvcNEIW44eyO/3PEZd4GjDFuydPve6CzCtt9mkTt4.6l33/a
H17xzTeoXSnZBxW.:C:CQvOQsXbVHOYeq82QIzkNKg.777qy6HPZdwI5/9C/B2tNc99QqHkolpFN
1RgDpUtNZk9OCYRxKJY5T7/:nSFxiBQbjzBIFfIDJgnpVLjaUGPVymidaI5kWBcsFtEtnR8RLV.E
pEHguwqnaoVXkwtOYvxkjekSBEpClNdn0uOKkPdp:VEKjNSwjXTPq.UpQ4uPP:VELppZLsgp8Jjg
skr3wk:6oe/g8MMuvCf:FqXQDWOzI5ZelIHMR2li1JHdhWdosMNm1woOwIkp.JOH80FubeKlM:4d
e2TDrtXyhgNyXOwnGpLqHMedM8uwDnphVTIzdTSD.oajnxGyiN/Qu:vf5BXbCJH4q68BshNzXGeB
Cwbv7qU58KmT.cj11MfO8DU0y3W1Wjis/i9/Hj6CdoFXJDm04KzLKJPo3ec.exHx4MoTOyX:GbsX
MkE:GOKjfrOo8ov/8sQP6B63lNES8G46WYRqzl8lEcql.2M7G6dNaSf4/YjeKbU7P:vC9Ttsi:Kf
NEV1MQOF17cEJzax:efvsjBz/NCUnKzXr0Xhe7x24btH0Pl4U2dqFoJxDxXpwzzJmcDrSDDUSXPV
OVyDt7gCQpkucCiGCrBBCa3FrQt/ogDCszaUj4nBjlgYK:y.cxoMsTRNela:WMu:QejvI/nY3Ta:
DKUHL8jmLOy5zW.vSm6Z.zLzQmGirmcD74LCM1MnHLIlF6mDbRszOwXLDD5FaZBCC:M3uCKeGgR:
Um5Z3LRGerLrvM4PjO8QJnTqNGbc2uR3pjth3rzcxxZwEJ7ZzpKZju7/umfD/D4x7xpjtRzpZ9Mn
ueyxk28GF8JD4CbZsa/xVxFcw1kCb:aWCDvWptza4z/4QZ2FxLpDp7DE:l0imJj7m7yg90NFv3yx
XJyuZpKYStlrVgCZ0f4n0IWmclsr8bVkrwwnIeiF.WCvPPQpBKuRCkZw6ij:pGzO4pqfThhNfdOO
9HnEghIzzCe:T9I5TYlRPdYuNMuZzUvt.ujzH1mjDT/aMMxBz7vsZ8njBnbV9dVBgn1xrpshgDVg
LVoPyvsDVjBwHWlBY8RyPje4ks:zarSq8jVFerxQoBN4enV4RRwxCfR:Cq74rb6FpMtvNwBfqaE5
e.rrgfJtf2LadP4xpdniO8vWdRrjwwQmdq9Y8CwHVuy3BszFGQqZBB5uCHG6h0bHQ:9WQTGasXYv
o3Wh9ZxnB8eHFNifGrV.EpISJh4HhOCz1Ezv4vVO4GFaCfDq:wwS6aRomuF8Ro:EPmhB4jpDbekc
qoFe1XOofTn8yohv0sDwh1p6x/UyzyS2Nw41VLTRD9uwt3sgMm0lBJpfh/wPvrmPdvW6sW5pF7sp
FaqwhsGQKhxVbbsi9TJizx:FET4baY9XS3Iny62z2vi8GPsder5L1doXPMIuGf8qQdCm8GCjpXGc
p6MpOHEsz6XEUfBdrXih5bTmuQYFbD3p7CsDqVy.a6Bat58lPCG4eavYJL9:OpUWMYEHvZkBKDR9
OP/m8p8kdSOhM2um3KpQJvbwK.moqDC5KZsvYRMhQpMtB10/tg85Pi1g8binqL1cl:zq4I5NFcvr
YztrHVBe6u.D8zcBP7ajtHxHvGf2cD0CsOeEa:53srbqg4cUfQGRKSzpmN4ZiLRTlOWcSgMJ5kgQ
vcSbvac8f6eRHR7IuUCjieCO1l:sdNwLQ3g1LS0Bk9/b1WjeR2DQmclQPfr8FqjhKrKv4sxoTnRr
3ze9bUCwnsRIpLEWfe20yK.aWbe7Zkycs9YOTTMee20dZPum6FGLjkZBLCwvsFxNNrjln5zgW9JE
xxbFbyxb::r4XHKlsoQXv17geZbKxas1WhNCagSY:QmvTmX1rksN:JftM36l212HiKcZvcGvWlPV
q/qH7SIwoPI51srx6:xCOmPLJ56ppFnEgnPH:88ZMtJRqZpN1V9ztONorf5SdYMR:CMwgYuDko97
RhkQdvEgNwKVN6BERGl0ric45nqPLDFvcu:jIiIZdyDFpHnku1NTBvQaq7ieEI1GXQYEwwIv8bzX
8XeDTfmUFuvV0OstuXeDHp7sckxhItkWztFGdLTjorRvx9iSQoL7jvYzhtpW:WVCXhYmyqp4/PI6
ksmHDPHxn9txLHf21UDeSpMgRbE.9y4OEbFD.TsakERnjDLaEHhBjvPEOPDiBKPEpIKzQ0634/g5
s.dOlfCoJL4yEYU3iaLVJ/NGeI/:H2l6:Cej/shzEr0eTOjz4PzexNxnciDZNVhprD:hxgTG8XaM
SkXyemqijYgeQzpzgVasKtdveuutiqHoDkashgwbgS5vE0GfNugVh5CLknWG9GWLJJe/ZXoCyzI4
oIXZfXHZzgLjJO51DQtBz1Mh1FtWW0e8LNh5sEGMJyuacaJ0DaihGCDHyfUHf7XX3xI5jimnm1Tk
KYdNF8zwRtD2H1mPdxcR8kdMOEzlc4fBecV4FeFsQo.0oVOhu1wXxKUY3KokeBTw07Y4gYdjwTxh
saqMoxFwI3abVtfmJNEbSJDhzHzC:uoXvM1QZ5JWB5c9FZTGXQIeYneFctIJ7zUKxVLRcoST9HEL
0X9zZcTJucXH4qZIToS1PGB.t5sicjQ:9j6IWN1na4Lx.rJITs56rGydDlvqysbIyF5x9PVLb7eF
HBLZZHgLvdoMDMXupDLk6qEznmyuVc9tBhOkXyDOGaPOUOcjgZfq2rUS.UTuC7d/N5/.xLe:UeQB
MdwmgiY8JWRwzNSW5pGGtDObfy1v/jye2pvLR8BLf/3RzXkZUTh2Shea85y5cahPw13RslURp./h
ckEnpwlEHZR3x.I8kaCDDOjUUtnXg/kUDEs9ZM4wZ:rQ:ztYq/hcNuWexDeKgz7BKQW/jwr2g621
xsH5PRZaDxqYFzGg7EV1msWTmdx5JzNNxT8sRDb5RZhQqMh3n.bReJ37gF.ZyntO4K0u:0yIdBEi
ObuNNgobTjyPpwPXpnRr8wboLV4zlPdFTHqnJikKZbKuFB5qN8pBX1vZS4zqwpZYkWMq3:FWWCfv
k:oMX7doV0Q/N9W1KT9CxKyzXcjMCX2QQ3MQ/S7w9cdPy0tEhUJiJVJle.gsrhMJfvDp15ULPuqK
6.8kQJo2j59Xxl0dS1yH33wb85nJ4sORhyWeTh8gm3QoLZcsU:Wi9K5KIWTYI4W5hTt1LS9bpqgg
q.M4keQXViqtwj6XyTjT07Rl1PIP4HPubz7Q8im6YEYNXFr:NTDyrFcqdv/l5/ZjDJeS7Yl5L8PN
VupxuKn7fyQT98cd/Lx//NphhfF/9/1oezvs:IyMd157u53dB91cNgM9S4kirR7Ppf1y7W6a3Sjz
oX5kP4uH5lIKfUQ.cpYYxfpF9CIbpxgN0xRnRZ6/n12M.lRqlPFHSxUJrCqWuhZqqFjTGwh3ms5f
Y0yrYlfw/iOVtm61/e1grtNZzixmKD4EkUjYPYQEE8woPT4Hw0pvT7KbE9UeJr6GaPfOv8Nl0zfH
x578vBKFXfK7HmwfkHKpWnSLjsWdqCrZVLOkngnLQx/JvnWoLBxfgbqtJlDhivq62YavoBFIg3K4
IdBgRwqXd1QSvCLtqMttZ/8iIzSG/oDGeOHowUjL1NxdoUpMDImZiBmY.bkhY:VtPFUiB2LI3cGJ
Mexy1Sq1DhLocOTXjBqiM05e4ZBhh6dzbjNORtU1MOaL4cZEvYwGzbNzF5fY0qphGGp5LnB/HOf7
NcviCLWhNLt8/Oyk.oe6j1xMavOqPRHTHhfvL96xm4tJzMzr9JpwFekTCKjWBJnhJ:LlL81F3wFe
V3jKxwJthcpLGBIucz:IR4MfsXJgck5cpR/p3ltH8WFJ1:3:ZlH8mKZqWh0Ej7Imo3:iot80aIId
Z3eN0xTOgCKl6eImlYLw3:fWidYDwLt0Fpc52szpH9abhTz9FH9PkVaw9pGSFBXm7GaKQdZOLtNi
jZ0n.QxQbJImz148N58lgGe8IPOcdNCPnp:h0nutVFGs.w6mol:97BGlG5lW:8Id0dFEqTMVPdug
eEG2HXgInr0/P5u5Tju3vkZyIV:4H8xLU8EcrnM3FCMOH7DLVYm66FiWUd5zzw/H.5E.N..j.36.
Qk/m.4:.9k/H.5E.ME/h.5..Qk.i.4w.N./X.....E0B8pL8Fh./SCgri056Ubljc01t/NsmolUu
UqUmUr.u2Qm3l3Dt4Ec914TS6.8EUBIVQ9qxaI:B1GIoCI.6Jjv6RrEC3Dw2dkTYwDcLjPsp:c/U
P8/Q6zw.N.RjUD74Vfw3N6Cr53YHMGt6q7EvXTxkeQocJ8I24G6cj9N:EGSGE2xt7BiU11FuUGdh
HHivKzPhF4Mr8lcWWONhI5B4e6lPJ/gWSzI.UmdChzp5r.m2KGEH66E9J/W2V//648D7iY5teGKc
0cRe/Lep6dDiDnhhKdSEHstJXb1MgixD65:Bo7wUUNkU6gENQQ/sQKMuKwwQzKa/Kx47QmxVeBBQ
zwrJ/Pi7aM9uohqmj6ZDKNqOllpl5XpYQrHn/cMNQFCMTi0R:laf9Vi1:fUwzon24sHZka9U48s1
3FQ.3L1wi0lQ/FBi/rpKxWs/iJr/qv3kLfWHySXwCsYLb87cQxk61h:6y3NMekcrujGNHr9CnbIm
egXw1jH33yD5iTX/0n6PYOMyrDoYaJ/UvTUUz87y3GTBTZkz17y51x1S9N6UqfhbHersUTpPLmk5
sFZaIBTVo5sUdn9VoTgT79jIfxyRXwV5cDmETZ.z.gDkwTakjP:g8XyS5asYSpi41R1mLOtCr55q
q3dLBR:CElC78Q3cIC.XC:yS:5uLCpd5DCW5oxVLC9LCZBdSzbGX5dB7OMryseStYLOlPvZVvUbs
DR6vGOOFJcxzR3DzajQLGRLjw4pwriV9wysc0bDQODQEd:6WxdOPr8knvYdvcivbqZM6yu4P.6GK
2RcZwoTfKh2QfN0KW58pcUeBOOlQvFjliTh7.tExl9xohUqROGYt3biM5iE5i/slyi0jYloOs725
L4cjplGkMtoCpTP/hvS6SoBtEexqlVcxnutSOtgrmztzL6UjKuuJU3QCO.Hr5.C8Utm2poe0qcCP
0I56Jvrhr4hrwEQw75xO1oQwpiCRorlkRBLg7p79tBXbebWwBGC8mSfbLFoKyy5lswYcICMnXb.m
5/a1lSRyrJEXiu51at1UpVxZgIzPSUCTh6ssqfXMuZWUEaZX:MKqFtlWNc5FhmaOnrZlITlR0fWL
zutzzz.
AtEndOfEncoding
Post Reply