[ODE] Re: dCylinder

Olivier Michel Olivier.Michel at cyberbotics.com
Mon Feb 3 03:22:02 2003


This is a multi-part message in MIME format.
--------------070108020802070701030803
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Marco Bancale wrote:

>Hi Olivier!
>
>I'v read on the ODE mailing list that you implemented a dCylinder class
>for ODE. I really need it! :)
>
I didn't implemented it. I used the contribution of Konstantin 
Slipchenko and I fixed a few issues (Konstantin gave me its latest 
version which compiles with the new collision detection system of ODE 
0.035, and I added a function for Cylinder - Ray collision detection 
which was missing). All what I have is here. I would like to be able to 
commit it in the CVS repository, but I have no rights do do it, anyone 
could help ?

>I didn't find it in the CVS Repository... could you send it to me?
>
The original version is in the CVS repository under contrib/dCylinder, 
but I would recommand you to use my newest version.

>
>Thank you!!!
>
>	Bye Bye
>	Marco
>
By the way, I would like to contribute a dMassSetCylinder. I currently 
use the dMassSetCappedCylinder, but I assume it is a wrong approximation 
for a normal Cylinder... I think the best place to put this function is 
in the dCylinder.cpp file of the dCylinder contrib.

-Olivier

--------------070108020802070701030803
Content-Type: application/zip;
 name="dCylinder.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="dCylinder.zip"

UEsDBBQAAAAIAJVMNi6666IXByQAACCfAAAXABUAZEN5bGluZGVyL2RDeWxpbmRlci5jcHBV
VAkAAxpYLj4XWS4+VXgEAPQBNgDsPWtz27ayn5UZ/wdMOtPqQUkGqLY5cZRT2+0907lpXTvp
nbnT08mlJNriCS2yJOVHMvnvdx8ACFLUw46T5pxpWskkdrFYAIvF7mJJfREtpvFyFopnySwc
wmcwf7736AtT+nh2fBtHi1mYDeaP9x4Nh+IiugoXIhBpEi2KMBP/l34ligQKZsfJogimxT/C
5NITWVgss4Uo5mEFIIKCqKSiJ/I3USomt0WYD/Ye7T3Ki2w5LcTsxrQo3rUAc6rv9h4JMTsL
g1hkwSxa5l789gDh+k7E4eKimIsgThYX4lYEN1EuhsO9R+8PkDjwKmxXjuMgz3/NoYWx6EuC
fzELz6NFKH7+9afj1z8dvvxv0d6/OYd/HRd6fPLzq8PjV+3UQ947ot12+9bFgvZ0HmTdDgB7
ok1YHSIx/Nj/tjQxjbJpHP6IU5aH0yJKFvdropjDuM6SMBfnSRwn19Hi4imVB2+grLhOBLeU
iyAXiyS7DOIc5SONgwUULqS3UJ6YhiQ7JEO5mKbSm6bKCxYzPZ2AmUkvU0gZRn6WixjHP1mI
63k0nZs2vjJkI9OvssJ5srQNnEjvRIl+iQbdF5OwuA5DFlGijs3n6TzMQnEdgShpJoE7zRXw
hPRb+O/E905G9yepLEnqI68WYBpGKxTROVKAOhEOYaUJRJ4ml+kSVo2YRXkRLKYhdrAPDNGf
EfxRfAd/RlghWojHNBKPhWnoMgwWPDqW6UpP9MAR0znMIQx2Ydv7JNIcLWgEJ0kSi1XhbU+T
BXKECqGLUlW5R4HSuqIGAeGrYSqDCRf/A8STzOfed97tPWLQVI5n35+8kqM2El7IzoGFqBKi
QLIdSJITaDRqk8xXIK/VGL678LGlebSAUtknqC1N5bg9hUKFuJ0hIZVABUDVn8oa0PQiTsfv
UtldyN/2f++lqrtQcOFxyciUjEzJE1Py5Pf3LpUF3hyfnbx8KbEv3tgr+2NwXhzL8bs4BfJ9
GCFsBW4k30i6UXyjqrRfHKuynnLrKbeeMvWo24fekXfsHb0+xM9r5X1vIYX0CuUVvleMoOyQ
xh84XiCvR3wHnPL9cXkPn04/k90MtwKgOT4aHvIVzAh8d+ED99+PqaR/DNfRefv7Z/uD8w5u
UXlyGV7Pg0LADhYsLkKRJ/GSVtHeI9AUwyFoiYLWchjOwhlqwzwEbKhmMGi3ovI0DbKgCO22
l2uM6znrlSgT4ewC1WuaZkkwnQO8kOM+8NbL/8iK83b/e+xfq1BU2HcLQXfpfZkUDaK933sU
wiXIuqaiKxC+ptFzit47Q6lqQ6lgKBUMpepmauehdAZTvEO+/abOjO7aGX+1M6OmzlhZPDEi
3FvAVxdkiWQR7qS5U3in8K4ixSeqWlNVaqpKTcXmSFnXr9b1K3X9Sl2/2uqoWnNUqTmq1BzV
Wn0hX0O7Jz4uvBNar3At6VrStaLr+mqVr6HNk5FTa+TUGlVqufWU05pyWlNOa2qlNeW0ppzW
lNOasq0ZHRBj11ge4crDr1L1xtgDAxwhcNQ5cOoqW1dhXVWpq2xdhXWVqYsCLNrY7jOkD9Ze
CyQaaT3DOnhPBZILfCpovdPrGosP6Jo2HejneH/w9Xm3TSPco1HruAjSQZCEIKsIykFQhKAM
wnv81iuEW1frWlfbWlfbWldNrWPjtQEZfWYDMto0IKNtAzLaNiCjSuussNaLzKhZZNbwKLfx
KLfxKBt4/KxEZtQsMn/ugHxikTG+dbYMeRMz/10l0Ywcj+M4AR+qONQ2gjDmsjVwA/DBqkXL
wKMWWnVAOlnFnRhc1o3dIE7nQFLfgUcRwAy9I5fdkjnAW9ywwOtOJ/i3D3zAXw2QGiA1QBqA
0gClAYoB3NgyWE4ATIoZurCcdBzgHxJAFpZWQAqdfwZNqqAZQGQfCXfxiyCo4mfi2Vjsk5Ui
4N9wKL777jtBDjFadmTATUJxGczgKwH3LUsmy7xgbB4ioLx/oAtwlIQteI9fKFaGPHIB/Eyj
tD3rHNSItKFnPep79w/V6c7qNNsMQqQS/t7KimadLNC8WJ6fI+tJWkSX0dtQoOuJARxww2Hi
oTPgP045zKFdxmkQT5dxgDYux27CG3DNwMs8fixMpOUouVkVO2lF6aegyKIbX5xJFiXHKzMh
HbcofrsihOBwuTUtQbWCmUezUCOXbg2FJqzIzsK0mHvEfBf7zNh4exncTL1qDKurR4PxKciz
Iu1emnrcxjENvtuZLgPO7ORz8ZH0jpR35HtnUsJHwQeuFVwruFZw7cO1D9e+7/GEnwLmKWCe
AuYpYJ4C5ilgngLmKWCeAmbu5WCDejnCc0SAL5+FGriPvGhxFWbFa+aJLBqS7QtwUa6oN+I8
g05z6CIXyTn45DdCkrTDhUJRQVm4Ck2RdFe60itd1le60itd1le60itd2pX+068vXv34y4v/
BdPAl6INQwtiA2sW1S8xmqZYscbI7BY5cbqDcqDjhLkYCsWgQ1ASLHEH4hC1Qvy2e/bD4Ys2
6OAOFPlQpOHlXM3jt+P47VANzqnwCBUNiRna4k7tI2UBsgrwLUC5AMvwWfQv9BnP5FddFOlo
EA4ormT7mCVFUIk6nUmKN51Rv0CGtFoEr/1M9vZBgnr70DAI1ipAEsBfBShWPSCFFZi01JRa
BRA15a8CDDW/Sk1Zar5aBRA1318FKDNap9zX/womOQAR/5Q7qUsUlfhOic+MnCqnoqKKyqmo
qKJyKipT0Xcq+lTRdyr6VNF3Kvq+YVZPLyhr8PZNrI/D1eD9k/OfUxGuJA4amgg8IueJja3v
DxxaGPTkaDtqMlyleJOGi7DIWEw4Mo6lup0Ibqnddq46DiliCYoj5iMOsguK/hHhPAF3O0Me
pkk2E1FhmEBU1iFGbVxHcYwbIgY7YEE2tUz9I4COMWpi1NYA6BXhU2G0JY0QkeJdiE4dpkm8
vFxgf0H8odEzxfwHGHFxWCuDmNQNzSn3ZiASjLdeR3noNrZPy0kr8ZKa5iEw3VxVOjBRrk5F
WtJMdB5dILerg5bPk2U8w/E6j6M0DWcD9+Th1Q8vX7XDmzSTHn4r2lu86bQj/omk8lL4CKkD
+pOuUBD/aQwYwHqOBoyRnzooB9uGi4Aiqid1YG7LHQuvbHG1n2B3mOafif2OxaIdFaHAry58
z4shJyPsxwX0MSpu9aZUJck7pCGxXyrIuiyN7UKBe7FELTgcgg0zExQ7C2hBIe3wBqZqOZ1j
EA0GGyTlPJiGZsm450046rjdYMShDSofzKkj2UWtAReqi8oCLny48DseKbl9ExNYwyLyQJdX
0rtS3pXPmCWbtg8Y5bN8YjVkkrHt4QAet1wHt2R56lMBkZ8+FbjXjznOJQfnfbhDpmHsQVwd
GLCNrPegH9gXgDN9EIhrUCQRCn9Bti1pQVwN2GUcpfMog7UEbYvL6GKOhwiC+gCM/LGM3ugz
kCxZFhTEXxZ4v8A4KJEDNG4Kejd9gxIIXD0bA7MekJomaHpGaHvdijzGBuJbEd5gTUChhUH1
N/WlnD/aNmQb9xgwGrw2b+bdnOcRptXMqOzQRuRJo6vRXFqhr8eyib6s0VeWPgmKIvrSUw59
39InvjfTVzX6vqXvkyASfeWZvQbUxxJk6ZzobNIldCi38D+mPqlolJarUPYPShytbNl0bONJ
iy2SXKScIsVFfsehsJtGatRJoJUEjZp2keqrN0J9oQnr/czROABNgzwn7GmW5Lx5LsIgw12n
1D1IeotW4l0XrG3cFpZZs3ayp0BZ8i8PiPyCf6cJWPvRAv/iwVfuuxHV4vDGg/9T9GjfIRuX
wRtk9/BGn6piF8IMbIZZhO5dRmrlNkZ1qi37NMkjPjvee4QNm9OvVJH66/TNveR7ksPDG4yJ
kCPQJzegf4Y2fxcJHBBYElgSWBL4axesCKwIrAj8Nwue/UwTAn6r3z684XOBZa67RUaRM8C2
m2ZamqYRxNMcyV0stGPN3+egPtvRGAQ2eubDV6/XwbhEpL2W6HeNTXv8mBcuDAaMOdm3vFj+
LsjY78sB3DzlG7w+2NZGb8yEu+htdMHQ+S3qjjY2KR+wSWWb7MmNjaoHbNQvGyVXECd3sozi
WWlA2hm169K1AvT8Nq3CivhOtovvZLP4TjaL72Rn8SXLSK/nMavgmhx1YaPqYXyiASoBqtZC
FUD15kCbAProXepfD22cLvWlh354l/g2e01P89PxCNkjPI9R7CnIcLgIb3Cfz8CtKXC4jUUw
B8shxlhSHEc5xoysy2rnyiaN6AUbgMtRmyPtc/YdlUNeI7Zd8CTx/PRI1fTOyBfX41zwNPEM
9UjZIMKogqAYQRGCIoQnjTNV8FRRn5NrVKxVEWTrCORPa23skSuZHEtxVPCK2kWS8S2CIjal
KNGlSdwb9BdYcHTeXOBpNMZ4NAnymq7JeMRO6VQP5BFaS8rZ+CoXGTetEy7YGOU5wm6b5AaY
BtxUMFiA4wFqt1ZMlo6enDMcWUxVwBUAMwPY5cRA0TcWOHKBioBy30KfGChPAEUpab+12TfQ
G5SjplkI8tq2fkP7vU5w4IUy9gqz1BpX6MbluXkBbl68zvIUnEBSx0Gl1NHxxNxmpThTQAC/
CtDGMM4O25pYF0dT9hAZr+6mFIBSVysGTGMBC3STgvi6VBB5cBlibAGGvvT8wdyHySJtXk5U
09qXtbUvN659uW3tf71t7Tdrabv2P59l0Cy98h7S+0Cby58hvR9Fdr8xar5JcuE220lwVU1w
lWtY1OVW1SyLuth+UzMt6lIr9zeL7ecttKpZaO+tcFkoN6vj/yyR/dZop4rvTw4th1N5swQR
mWG6dXAT5jYmg8HaaRAb55RcXh1XwnAkkSC7o21CBh1EWTn/2RK6fNhwA3r5s5cwzuDrL0Aa
8AuTrxcKrxVf+3jtd1xyMVMrI55KDMciLmObW8MYbsxiayRjGDfEMtxCG80Yxg8XzyiDrcMh
TXzYYHyTCrOW901YRrrr4culEjeibWKXHROjwhApnnv5sp+S5OIJpvEdKFDq9yhMihEwX3r7
Xh8xnpRRLktBWQqqpCBLChij8xVTUN7fGij4loJfpaCYFaLgMwXfk/tr1guNAEdCL8wBBgZI
0Ij2jLY3qefmnCUc2DhsGdo3tBbiIk4mlAGcZODCBvzkA0ualiKbXcD3LD4aZg5QLVC6wFEN
qFzgk99Xkwxa2HCb5Ob5t53ykHWfD1n1AfmZNMfYlIFiqjvslZJ+sMoXyvrBKkco7QfvLUs4
ABVBbxyGvr1pGIa+vWkYhr69KYeBj/wRmJdnCmbyKukO7bzDCMgmr7Pn4ltmkZ820K5Vsqh6
Y2kgZmGYoivMh2+lPLipAoHmuIw6ecIG8LzzANHsqcKayEmgo1CSo1CI2UIa+tQUtiY7n7xv
IdRvgoLCRDA3u81hoDaGY8sjUXXvt7HcG1NXRdc8D9EVYCbowFZjlKnktBbecgNN/W2RpqAa
acKzHdMyx7fMUe125v1V5k20SqcJkYjoEKTjizYKh6hLx2RrwGxj8NEM1ycOQJbNfuIgZNnw
xw1EukuWs98w9+qgNnuUkbahoaVet2glg53ijGcjtp5u4ITUUP9JWYdrNeb+pcBE4KUTYMX7
knn9klL0dlkgxCHnne0yYMRiVw/FenytX0GVD9Ik170yOTDdNrXeI6KGSaeGUdyswTVcG4XS
KHitA80ONx6P8HmeVmtXbqhx1GCtTS23Wk67Lc7PFILbtkLAK/+guoOMnVTCuvrfMNBM69Os
+rKtT77yG5v+VKu/sfG6BljN2FzZxBv28J2mVZbTun4LF5v38F23cIMk+C8Ml754iiftB9t3
+J0G8c/Y4ptmcXWbF5t2+Xof1u70Whh21S2Wro4fbNJsjn7Rblz3Af+tyd2F/z8sd1fWknfl
PbJ3HXKqRu5PSOaV8FF3zeidY8/nyC8m4fIO8G+bcytXk27l2qzbJgIY+zSZ9hsycnHQKAtX
VtJiCcDpucpNpKXBc1IhmlIgtIP/Vy4dldZz6aqBz0oebz2QidlkuJU8hwtQyvj9FOt3TBDV
ZMxJkzKHZq1exBj65YQlepxZlClzw2GaVuvTQ346eiPLirSFaRo6mUp27ASTWH1okPOvrKl7
Z02tZBoFnGxkg48rocf8Kx1vLJ8wp9MAJ5O86Thgt8C5lp6e2UPWHu+wvl8Nwjihl5Y9qg+2
ZEtJxKhlgkGxquROoQ5t6zN40KB89i45GdVkfHXu4Pe38K0QrqmYloEeAvk1kI7y6OOdlHaK
7hmfRNEm0D3TW0FLn/KUOCMX5xuLo1ycJy6OpF2otSaDgqIjJhTCgbR0glsejRomKKQ0dJiR
mlVyFrDj1W67B/c169geMO0c3rqv6cuz06+ZvariODXavfbg9v5xLdN0afDWvabd+PYb+C5z
sNZlrawR/3QCg7dzvlVrS8JVa0vGVWtLypU2pJtOxld3Q+eYsfkYUK07BlQPnndh9Jk+BFS9
8mCwSbn55cboOKiN+g3Kt0ZqK8Hl3dWhalaHsqoOG7ShWtWGTVpOrddyakXL8dNZirUcP3il
6lrO4IxcnJqWMzhPXJxNWq5RTzVH4u3p+4PpqXVKNnCVbINuvVPgXm536wtzoP6QYXv5AHF7
uRK4r2qrYEP2kdFWAWkrynGuJB8ZbRWQtqIk50rukdFWAWkrynKupB7xS0oaddVabfVZZIlp
xWS0lXS0ldycRjocUvYopRtyifOUdfn+nIwePNEma+XZmVy/IqfyVrDv6NzlMkH5B1HHZ73o
UBvFhKhTo/jECT6ClSwxJw0T/vktVNpuNYnE+vVYuFSuE6auM1gH4mhZmOdc2LGgM/SrML5F
aklBq478DXoub8DVf8RsWUAosmj6RqvUOCxyegQHe5zE4GH/sQxmgCBCuKDKQtfWJ49BHtYf
I4poKNxHC6ijkzBOrkH+8Vki0MvTJZ1eG17yAp/dw6ZB/wJbk2SJw5ZM4vDSvBVMv6qInkDl
53tuxTy4CqnaBEcrC69CcrRmS8onxYbh78DxFGggD3iHsoXTwJtO6GGkaky8Mb5W25yakWr2
staH+PiUmVHabJBLTH4wiov92O3qaj1j23RV2ZK6f0s7GX0V5ww+dGLR8GI1cr1gBsxSJSd7
OjHr2eN3o1V0n37tRX+q3+ZgdJ5+2wWWy98dXadfcoHl9qC0tkGu3x/d7bHc20lFkf/SJ71V
914MfFTCK3u6gT8p4byfN/RysqaXkzW9nPxWnhk2dLPZXXG9FWZTlv1UZT8d+0WWHVVlRx3j
RZY9VWVPS8uFfPAyHQ9rEGf6YbKmfUi/0g4Mul8yD22JX9ji2LIxrduX1m1LW3clzcK4abfZ
wJBax5Baw5C6C0OqZKhirO8cweBO9ZjUptTq940pTLulMZW75r9vKlPrIfKRkM6flI5EYdm7
JiQ5h9v+pzrcrrR61yP14EFa/fqOrZIevnfDlRP7bzo6ce6v9K17e4EfK3/r4ziCWN9kcAVO
dJLt7fKVuWDd0jNS7FGz6a32qslAd0vlWjP/zdZCJe/h08z/fYOca/NDPkKc88NjnS37NHAl
yau1kuHVqI+a07uaUcvcLhf1zgldjcTXZHM1436GqVy0BpM3wa2Hdgw5mQG9D6OPrzDjx3Iq
r69uT8JpgA519aUzmpJ5mn8lXslEOwPbJr3gLbxMkyzIbp+Ky+BNWIuiaU3wmN4g87hc/GRZ
uZv2wCWJJtgb1CmgL66T7E3ukQ99HfIp5eUyLqI0rlHgWEVeBJMojopbzyEY5mk4jYI4viUc
GhoKm2oCg7umpJHSs69G4WQE0zXpvD4Fld6wAUcNVjbF+6ZDOVlu61XihnQodYd0qIfId/oA
nfhACU8b9eKOGU/bVGPDGws3yYzaQWbkw8nMp0yh+xg5cp/KjlqTJFe3pXaUmW3m1L91mpz5
DRF8icEsPL6NX8JU3HAKWSI9Ya8VZ5LBSrjIKfNst3QzraF/PHz58oezV/zbIeL5GD3RopNH
b8PkvPJrIzrCX1aYYek/woJ+3aSdgCE4xgfj6NcnqGxLBckVVn4kxRwYOL+akMqxqfyLPsbD
+g2IqgFRNSCeWbwz/VpDS9BJw9POumfz5nbKwgMFc7b6/ka+wUZNj5FJMBQucSy8L20t78t5
3HGq8u95OBTdAu4GDzp2hgptl2m/vWcCIL6IB88BkDJiP1yun/0JCs5RXC5QEYAVgr9kQy+A
PfgPyZ378NS57W+h0+9LcrPZyhNpUNWeKy29eYyFnrJJkR+cvSZ2eUj3rxS39SluGzLc7pYD
houVf/qHVzEmOojKW7v+v72j623jRj67QP/DtgUMabWyzbUTJFXkwnZ6RYDzXZxcH+6KwFAk
xTVkS7JkB7ZT//fjfHK4S304SK59uCJFouVwSA5nyJnhkJMKVdXV7gDU8/gcukQOskEz1VNo
+8ZW4hDavrGVOIO2b2wtfaMIGQXfzp4W/kvM02HhrDusn4vDmvtLaxb3jtYp7gutTamD743l
rrfV4VmrnW3g6V94KvM/CSGreNeUpqBRrXH55sv61qTRcO1mHZda6LPWZ6dKxKy9iAeIQ3sR
KxBb9hZzRPpsZ9HRzoKTnXUPdtbjfQhZ9qs71EqIgdNoh9ql8z/nAMVzZr2RIz7nXHCKEkr+
Qgcp2YpTE/7S3kfToYtHLfpN+9GNulQtd6HcpcrLUF5G5Weui+rqab83v35BBkO+n7GmG8DK
BWBlBAZ2koqR9jevqKcRuEqYdn8puAqfjqYKXjW7EmbS4Zc1k7LKpR+jmAdrEHMUkOJaMwLg
UPXveOMkti7eT27f+h7PH2EXKKZmqHQ48QO8ps+g+BeCt6k9G99cZl3JkdBIGVJFyhgqEkMo
KIGYJ17Cykpg8R+lP5zBg2W42KRLU5t4XwonJdsM2TALmQ6ciU6w4sGYoW3Aj4o3AhZxSZYp
Vc9zrGzELCX7q2qlF4VVtVKrxZJaZ6ALLBHV5ZXLhZVZz38wHgsgGwtPRXDwEt6fKToVwXGB
AUtbSpzoAlNi6RoC5IwE0UWPNSqVphKSM5YoItrjRcp030luG5botaTK9M/8UxHJtvVYMfu/
oH0NQdNMw6/xUc1PQQ6mpDo9dJJbGYH7SW2AFbKWZPrJXyWcn76s32+5G2+VuxCHaLyFRndZ
NVNGf1k1L/5/9TIBHfwUBa+Kvfjb0d+/X9zjj8VLxEy9dfdNcmvFzsE3G92NpJMRkkhLLhVz
fh/Xz7OpqV/1evLKupeN6XosexnIladjmE51CEhn7T9QpsgwmaYH6o5/230XRo7eAW9OOKYy
WDPW1hmrqYOP+4GOOXcv2OwDCxBtSH36oNnJ+BpF+nV9fApQXtWXOm01hqCdVal7Q07bwZBC
4By+WgeIc51YgYKswt32dNpCo2pMN4SpaHJz/RL1dMLUBtAOReU0pIwyh6qnKbqHOJ3MOyGq
fM3/yPN65idpqz+dqvwfvg7LxIk9UVKLUgrLuNBFhbtxYWkL+ekFyQjg8hPXOtnNTzjpzMKn
GhxnIeL8uNA5eaZgY+PEbRt3A4NAFylxgP26G1fc3TbBS1km9ob6mdmgUPcyWwwhppdqtLu+
S/mbuJp83LN15eOzOoJd/7msIoCPT6sI4KOE7loM5f6OJxkMGjxjP7blXxWcFuyJgj2ptmLB
nivY83eyvMntjMhWw2i0uRCiYplxoUsUllIoG2psxfpCEYYOb3hdRyuglxNaK07K5v7x6duT
N/9yp2XzE3WvurP6irK3ymTjX61y60Nu53BFRUcVnam4t1bFkiqWpuKzlRXJkhcKtHm8LicU
okV5SqzCsQ8rCROw1ZKZzB5PKcOsj6OUYejHUSow/WeQapdItftYUimdHowf6ZG0aiyUy+bj
6ddYKL1rIYtp2lgo4yuRpclcEpnLzyezxnSjSRBpUGwbeNA1bYOvqnlvrGOSjNm9uI4hMmaH
4zrmxzhyB7JigITJ0ob2m97dmnZ2tlqbz/5S6rwf2ldX5qv6ur7Ss8qTJgo76+vhdZ9ulIGR
u2MUeVChUop8VtHkq+m8IixTgyVS5wGLXE5OYQlpRa97s+ticD4LA/X09uhAm9fCCkJ4Zncy
Ox+O427OeneGBOiHkP4RTvJNMNG//SZyc2Me15v58MPNhWfED5Ool/15cVVY5e+oGBFNWSXB
nnIQgeomrJFQGcURqGrCCgmVUSiBiNyItVtIVwXXxjzjbVTIOQOrA6rys5d0YA5ZCP+Nm+8V
9WoE2gYeOXn8fVWarqhfUOpMqZPSUkpLUyp7MXeucVVcwbk159EynEtXZY7gSJjylYXO6hDg
8uP5GOgMwQLDDJ7PGs/rtiMjS2CA4NMxvnxUZS1cybHo1H/uUswBHKIcvdjJNjez7xqjF20I
6fvjj2y0D2/gNC2861QYAxrXrCt0bVP7Le0WfgR9v9nwRdhwiXTG2eaEP6Hffk+rdZwiV4kq
FBRfaYHRNM6vKS8jNiBI+z1PuLE3QH/3xcPxoN+bzpsy7O/C4GD4ODE2QhWuAY/wzL03DfSF
35BWjsAAz4gqAncC+Tqkr8BP+KV7RZR+mbJLf4wZGuWZAGbEpzcfLaP68uBhmxGvIoSzEC5A
lApRWgj1nLFlJpw7K7R9zhnsS8qcuVrLYGSH+WF7Lz/Ijzo1OvAQo8kdTIZ01zgkfUlOJgUq
n38wXGGwMV/DIgdhMRcXwwWp0ji5X9yYn36DCzhha8UUbwl8hVsih0CA8NO5ihHkFDGObKWF
DR6Zb4yaihKnBVN0Z40yPwgF5sYAHM63D9ujZn4QdYUKZTo2DGyLYTcU7MVOYjwPNWz7tG8k
YK0QC8Xn6fndIsLSJXtJTxvNsAmzpxD4c5N6B9ePqbJE3QDW3aZF9MkjkUlZxboH2RpuQY14
Z7I1ylCDt5hq58z+R1CuBhXvhARV1qDiPVHZh7w+V8ElFFhlzHEcZr37KWuD185FXDMCVRJ3
AL8cjiAfPWwCyEH1U2w4lOcYjkZtrOZoIsOLqJ5YYc9tcvBK9eB7IUpXR+kEpVuCslyMsqyj
LAVlaVCaiBCDgeMNojbFW6L3X6KbJpFQscTUxGMB/9OTB7EMbBlcj1jFVu9V3M0H2exRXmH3
juRbd3ztj0dyeTOHFX5w3u/xvV5fwniS+yd8H8488sush/ghDxk1MuRWGMxztWSMRphwYfiq
pmcmGM5qd0brTPCR1fSMDppgD6P0yvrarkshAYyM19YvF6EY56TsdqNwRjA0gBiVPQ6TtEEl
bG67OyoVBS/koLktWKyR5yYQ4TuZXSe8h10hYKu2cFaDPISArdqCWY3vEAK2agtlvDB5xXOn
+VPb/ehiNCFkBiF1PpNQLkC5xVBlgCoTUORcCQ+SV0NQ5mBY9TM18Gd/g6UlGNDha4OPjuV4
HEOv4CTZM8Lh5JYMZ8HfiPA1s00b4tJR7dHisKH366B5m0ZTN/3XQeb/pNGZE7518CB4GpM6
F9bB44HtdO0Ef5ZM2MfJ+SCM9uDg0EQOwWmMPO/b671//9vTdxrUYNwPxXKnA2KpuB0qtxDq
jgWoVAP00pPwHgiodOp2BgkYvfRQxHTWAAd6xgZnM2vRYq6ejixXML/m5X69h9xF+q18pxdr
xAdAzdxJMwq6t7SVAPck0czTRc3c10fzzMAuG87zRDtup94QTq05J/HLOtGwo6XOlLZqpWU4
RvF17yqlu6a0VSvdC6csvu59pfSJKW2FUnpKkLl0cDQb+n1VGM+z79tprz989TKbw9/CwLNC
XV3MxIMDcePNIGwXlLuLewzghQ6AzNVXARDBtkNTWUxW5Hooz/qsKPS33t9dDzHAHl2PIFGC
Sa/jbvVZaj3YZmKhVDggRAQDQhqVnuLbUl01PfpbAzzR1A/1cXSZaqHzjc2+MATfz8CReTKe
YZSPgqfIEjZtpHkzozk4GAz4S3HGIqqEyPI+hlDrB790Re7Ul73rXuNM+tRv7/MhaTcjv5r/
4qerKy5PXuLOrMueFje7LL0Nh/86vCJezSJ3oK53vwqvnAGfxH7fM/YWR2Qpvu/Nzm4uIRMs
6Km9rC/a7PdMisB+NDDhQfJDCh9+HskqBAvONqWaBGMuIdYvS4iVx9TKP4NcNdmqk6xCsc+j
RK50UJrQd/X4IlGEFtu50OLYI/IMY1YW+JLluikOwAeJd8Ix5Gg1F+mUy47FTfxnOJuEj1jz
WCcpPz59/SqP/KY5t4zwl+39S+hXNzuW36evGjuF1539p23cGvbgKoK39S7u8os7v5Re3Ody
AEDg8KR3AHelwN/mF7cp+LIoU+gFHJoh0f3BLwsYbT/4xz9f/nz46y/IhWDpIDFp0D+AF+r8
A85Avv3tN/8FUEsDBBQAAAAIADJyLy4FvS/OrAAAAEwBAAAVABUAZEN5bGluZGVyL2RDeWxp
bmRlci5oVVQJAANwXyU+d5A6PlV4BAD0ATYAfdDBCoMwDAbge6HvEPAyZeAD7OhAdhuTnUcx
UQu1SluH29OvFaq4weih4W/yEcpZIhuN1AAWLyV9ZR4dZ4lPpKZ9yJl1Zqod4BzjE2c0OzIa
pHZbd6GEtXe7vIeDc0lDDxkWhoSj2AYHrEZR0+UMNtxHwBsJBSYW6p164TlIBAxCHKzIXYUR
vfVCyD3QrsMC5WRXgXTrunTZ49cp/zjZHso2KSGNsoE8//qdD1BLAwQUAAAACADcTDYuNBLs
jSYCAAAlBQAAFAAVAGRDeWxpbmRlci9yZWFkbWUudHh0VVQJAAOgWC4+F1kuPlV4BAD0AfQB
rVRNb9swDL0HyH8gekqKtCt623ZbOhTBkCVIusN2YyTG1ipLhiTn49+PVOw0BorssBkBYpMi
36Pfo19KAj09WuM0BVAWYwTjlG00RUic3Hpr/d64AhTfmWi8i5+Gg+HgXHQHX/yh99zd9oLr
uqRAvdDSousFVniEkfIuBbNpEmnYHGFhzc5wdm5USXYs0DNAG33HU8NFB3gJ5m5OseQsVEfY
URDK4LeSQVdYppAn4fP3vTnQmsJxN7Sep8WDidzvJ+xLcqACIfO5h9F3n8CaV4Ip1jXpi/p9
yQzf7/JrnKFmLlHYoiLg6O8mpvyGI1YEGKHt+DZNiTGX/YgsQ+NUknffwpS4I/CO4GZ6w6PG
RKhlSO2bjc3RXJp8S50l08/kq9kTy50jZ5iRXtfMiTNR/iegV4QWAmrTxO7JkitSOf7cNo2U
oMaAlXhh542G3L3ruaa0zFlu3qKqNjUZDuDq9Tf0jF9cx3/+Z/zbPoHbSwYrSk1wYrDTIUCn
W4pZ0EyMWOooikikMDsxUUvh5AVNLpmtUSiygmuqDWvRns97yJO9reZUIlIHM9YYHLuwtT/g
2Rxci0m0kR2mkAxCIhd94C0Ol/CwYOdUvGwNW4vYo0kWfPH09cJnes6ILOTJlWe3cKMuw2sv
vV5OdqADqvQeXgbpapbndyOlK6ooz62uL6Gc5d+H/3dxt288ZUIWwcHampq/Lu7VizsWKnkh
9XECjw8Pj8PBH1BLAQIXAxQAAAAIAJVMNi6666IXByQAACCfAAAXAA0AAAAAAAEAAACkgQAA
AABkQ3lsaW5kZXIvZEN5bGluZGVyLmNwcFVUBQADGlguPlV4AABQSwECFwMUAAAACAAyci8u
Bb0vzqwAAABMAQAAFQANAAAAAAABAAAApIFRJAAAZEN5bGluZGVyL2RDeWxpbmRlci5oVVQF
AANwXyU+VXgAAFBLAQIXAxQAAAAIANxMNi40EuyNJgIAACUFAAAUAA0AAAAAAAEAAAC0gUUl
AABkQ3lsaW5kZXIvcmVhZG1lLnR4dFVUBQADoFguPlV4AABQSwUGAAAAAAMAAwDxAAAAsicA
AAAA
--------------070108020802070701030803--