[cpia] [patch] USB crash on disconnect + cleanups

Johannes Erdfelt jerdfelt@valinux.com
Sat, 26 Feb 2000 20:22:59 -0800


--X1bOJ3K7DJ5YkBrT
Content-Type: text/plain; charset=us-ascii

This patch fixes the crash when you disconnect USB devices which they're
streaming. You'll get a couple of USB error messages (timeout's, etc) but
those are to be expected.

Also, to get a bit familiar with the code, I went through and made much of
the formatting consistent (and similar to the kernel formatting guidelines)
That is much of the patch.

I also made the write_proc parsing a bit simpler by putting much of the
smarts into the macro's.

Have any of you thought about removing the YUV to RGB conversion in the
driver? I was going to do that with the old USB CPiA driver since it
doesn't really belong in the kernel. It should be done in user space.

The patch is gzipped and is relative to the released 0.7.1

JE


--X1bOJ3K7DJ5YkBrT
Content-Type: application/x-gunzip
Content-Disposition: attachment; filename="cpia-0.7.1-je.patch.gz"
Content-Transfer-Encoding: base64

H4sICNmkuDgAA2NwaWEtMC43LjEtamUucGF0Y2gA7F17W+M2s/87fAotfV42IQnEzoWwLJxN
IbC03JrAtj1tHz8mUcBdX7K2A8vb8n72MyP5bjlxIGE5p4d2c7GkmdH8RjMjWbGG2mhEqhOb
DMaaWq1tbG1Im4Y1nOh0E69sDCIF1T9pvGylWq1mNiycWiY5pNeEbJFa7V2z/k5uE7lWq62U
y+VpVAt91WUN5RaRtt9J0rtGnTf88IFU65VtUsaXDx9WCFnHf6Q/GY8t23XI/oXWIdeqQ4fk
kzakFtlXDWqrb50NVrcKdYv7JaC6vU0uqEttcmHTG53aFVYW/PUHluuSHzbI99R2NTNR+oN1
q5omdUjXHo6o7q6UoXTfGj/Y2s2tG3Lw/mKMyHv2VfG+fqCGqukbA8vYY1Sy/xIikffONfvw
wdDMoTO2NfMmJJMWpsI0mJadvP+T8k8f7lRdMydfORVftZe3mkPGtnVjqwaBjyObUuJYI/de
tekOebAmZKCaxKZDzXFt7XriUqK5RDWHm5ZNAFdt9MAIwcWJOQQFuLeUgAYMh1gj9uXo7Ioc
URNw0snF5FrXBuREG1DToUQF3njFuQVErx+YATRblS1SZq9oAt9RE3isEPikjYZ0RE7PD65O
uitV/q50ri4/nveKq3n1R9byArZa2lkpL50L1MyJGcrj9V456Pb3e8cXl8fnZ8XVT42T6tDW
7oDNCED5pDkaDM3IWBmwUeJECfSvLi7Oe5fdAyD16Xi/W1y9wwHFqngqRzCk7XpFapAye28y
QApjlyouWYe3cYXA6w6CUxjfDMkugVfFGo0c6hYHE9umplvdM4wKUYc2UK4WtBEpYh3TMmlx
HT6VSmBb7sQ2SQ20LSqHq4WwCjAyGCMjYAS1EgyMgIAhZBAvTzGAjiEH6KbPweAcNtfXiv+5
ODo47imnnf6PpfXNktcA6jOFcBGK2HZsUwf6j5+BRzXggR8JudNsV3EtZXz74BSLd5Y2JOsl
3k69oazR30VguVa86BwBXMf/3a1KJfgLOpFiEXbjGcRJVBWPgCxagSxLlRYpy7Ic+GVyjiMd
HDn4DJUMwB/hcFeJcwu2plPHCa5tbGyQ4qXFXMHYuqe28w4bwVebMkqmRW7QPYBf+Extk+rV
0cQcuGjDrkWG2BLqOxAAkJzjTkaj/yoxB4au8FfqVND53KtOmv3ItgzG+Np177wxskGOj3v7
FdLRwa856oPDyDBxyL2m6+SaEjCOCgFfR9TxWEUrpvoDyOmSB+qSKvGHJ7ZEQRbyt4nDaHOd
HIGQJgErC6VXh0Mb++SM1QF9Cz4TUCSueq2DlB5cWI1rj0fRmlyRahBIay0cv2zcOtq/KSnv
khB06IrEMGdFa7vkP+kyMFewlN3ixHS0GxOciW6ZNyViUAMtEYrA9IWFpHB/q+mUFBnxPVIr
kb/gYoEJv0s+B0aqFvngLX+Hdn1yfHb1i/Kp2+uDb1P2zw+65D35sds76574V4typV6pcYsH
VoqhjpWJiWPBvqPF086FctYrou0jeWRTRJ587HxHdYeiGJkNFeVOjTXg8afA+grqCzSEXWRD
0etgUFDCAq7Taqw+Q6a9VZHqgMx2E98ZMolUYNV7N9Sv8AoxT51AUACLNgwwxd9N5qQLFpgn
iMOCjjsqwtcKWb1mWQHEEhhk0b9/tYeJFyBTSbOGSFHdA5NXDQdijm5N7Av+JSRcIbUKkWrw
0qx5LrcYbQZDDOPPxkizDUwiPvHvZHeXSGRtDRok+CQb9Oid5reQ0Wi4w5uHR3k+HogXjDyp
WpOJX4PomqG56EdMF2Kni76oXSM4TAsF18AI0a5h9x8JmhQT07ctXrzdYsUr5SywfNLvEiCk
wVoVGokDAYdlWe05wfQZMyhB2ApptEvcPBt1uSKD42g0avjOzFNsafqEKjeqZiakf7qlfa+C
Rx7QDaR8BISZdLIkV8i27Hmi/9umhtpEM5M9K/MVDghB7g06D8wBBiCoppRhfql2UkWuNCrt
Vd4grUf6dWw5E5tuoASn1pCirMxflwUayaiNnIWWAm5MZCgE5gufTevehC5JbQdNXGDjnv0Q
vy/QaSLu9Vy8uSaBbchBwF96/356zyFriokWjHfnXnMHt+LG8AHb8nA4gASdSO/8T/V3fBS2
mhVZhlG4Vcd3YZCA3BSkXrVM7zU7KAiVHxuqvpq8r569QLrmOBpkGeIRDNrJVA4zUOkfEB5G
mkm7X8c4bCV5KxYe5GZzanxoStKMAIHEFdDr7AAx28cG8HgSr8uh9/9nxHHVdrDjHzUEqzYX
VK1ms96cGc2RQRquVCD3UYp4NyFQgcQnVjnSTG621qfX/6iF0ErtphfZm1tbuLTWbDe9SRxD
Q4e5xntQzsR0vfx8nUJGAfoP0ltWhcWDcGoY0xX/iNWx6i6nFmpr3XFVmLvt8mlLGRKWUWSe
CU3YTJOJ2N6uSDDRbG5v+bMWFAm862TgopKUoeqqBLsP5PDzTryYq4SY9N77yOzadFHyO1Wv
IDfQNqQbpjICKYdsNh0ph8ExVFg5UsYSlsZH+jS4VW2Y62NxbNZDoD27WJdZpq4CoZGu3jjQ
mC0rTNpMLgO8o4Pf+YgbQgBUgA+17cnYRWdbXAvRVXRr8LkUjp1ctREIT7nVbq/bv+z0Lvu/
9jkgwJfAGEFfsU76n7UxsXDdSKfqUINOwJTNpWyayQBpSRJMIwGRlgSISF4kgqnTYPxQXAvV
XCERMeAbKs0aFVPI8BWGQA2oV2zGvhza9AvXy3cw5QEnRU47l/sfi19LzAR3gRi8wVeGIlok
wwTcBCTCtjkwxsXryWhEIRJ/ZVVKXl5STtH7HdRZ/Iu9MYwVbrcRDgooEF6jlsKrYwHOeJUc
MiihEF5rxBApAKL8QoFXR2+Ctb1qBU61Gr+IjUP7DEkUomIya/MLvAl4IGNx3WMHMr2F//7+
m0Sv/O6yS15jz90U38TIA5Vok3dvS6WIJEzGRDkJCpOCSoGghWqVD7DgQrnMqQRXHv0PyOIN
7xIIG5OuFDTn4xl4VLvHZ586JwGZUIFRTXnEH0OMeckjDCbfeg6Pe6c/d3rdYBXia+UBTDMc
BNOiGVodqO73FUEaFvubQi4a64oPpYho0MGrLhCvFhzNGOtUAWN0rYkeGOMaD/KsCi5PIgle
xsGrijUWenleJzDLcTVEpxoYMVz3WoVj+PD47EAJ5QvNHQ0brwQ0PUvHKwGguzV+iRny/HZc
TSZEzHJyGHMVzSxlyALrrcZMtxq32yozKKbxiMHG7HW68hNq7J4d+PT8BnyaxokklKQ5zI/7
vShFe/sGtWS+LXktE31IdMLrBcsPvTzBqxfRkUcxyWTnbVg7o5eFhJGlpEmK4w1T34HzgKyM
vbEcD8rMuwfD2ffeWaNECYaJ76tjI4X7igzXEnQh7r/HpEriniwYLFxk4uv3MeV6yjxL4txY
0pWA+A0vxfyA48MjXGQVcLXkFRbCgehDF7YmnAUfpo/pcg4DXMJ6EPSkWq3ErxUi/ipjvXCX
JUasNtNRSn/Q2WSgirAuJ3y2tOODk9FZP1T6NLjfj/Rwh61qxCt57di1aCfLOTsJtFk3y343
s+IQWxp+ZK/xLPHvXbJ/fnraAZT63cv985Pzq95Fp9c57e+E+IEH4AOSaTIE3F/QWx7cXEEB
YyLmvEjd89lIgc3ogkVYzYEhHVn4hFTTIjb6Uj6dC7gVGakyqZfIJmmXINlt74T0cqz0Ar2q
l9IUU6FfqsjMnyKPPajsGwp2IUdlLocnKa4il71LWYYWiOaZWbUQuk3ReApKX9YMHRVmHSre
uftmficUIY/fERh0sg8v6E5C1t/YnTjUdCxbGY0XFT/Emk5weaqmiTeoMUygJBOKd4v53WnO
4/Cij57D0EwY6f+mwwpvA04B7/HuMWUTf8B75rZH6rUUjuyiN1bTWERHZUBFbgZUAgVES1ID
3xN57GwMNUj4LdtfQMish5s8wG4oj45CKaRQiggQ0bLFylHLkkOeIoecWw7pufrYyhZja/FS
ZGmjlS1FK7cU8nN1Uc+Wor54KXwTCtYPcZ1pS5Yr7W1S3qo3Km1vlQn/Rro2+Ext5c+JMXZ+
C9aN/vCKf5vKbHotT/Q/doJRH6nm8d3HsGvp/ld21yZ0CDnrcyGmeefDk+P9H7u9/ctebofe
7571z3vg1/J4c9emqqGwVVhFh9nkUp26mNmzfDtO4vAOFZJDU2u3xaBZtqG6G2wfWx/c/O7u
p+OD7jluvVB+2j8+LHksUuAl2uGUL9mSgxgRQmo0dpLpiV9cSgX/sCQ9SJjC+qivE04a2mzK
MzOXXHnBTNugg7HiQlA0b3IYBSaxXjsTdaaHbRILO/xabGlHbC5J/gkTEHHkKoxoEGhcMhKh
pw37mSbk6Nb9vIKHoTuT3lSxpJhYfwUkeSNxJvHozQqmuYHu/sXl8enx2VGuOaIO2dY132Sh
GOCb5oMchJgsAvIsObKhDzindJzYOMLf0e3uSrMNQZ241iINwaM3h5DyksyCp/vfd046Z/vd
HKZh0yG7/b+cWZsMiZ3YFOJ8FzXTYvwy5tM+CsAZtxjF5tPP9LWLBuXGptRcNiwZk2lfTUwG
VNQTJ9PJPiwU4ozJdEr25Uym8wMZ7JR76eGVYPyS48vfw/eaB5i/6WmZ6XCcx3NXOGbvGvRt
Y8YipBxJUWdXja6r+vM8b4NbVEB/KxtO6Npys9JokHK7XqvUwwndY04ou79cnPevenlQ9Le/
PCGjeUoCIEhh0wJkpzJZOUJycyDX9KwM5gkpmWDelOa96xvIlGwnyls0q8qgmvIbgp7Xd1L6
yZ5gR5YUcs+xU0lXuIPpWdl4fqsdUOgIVe4p3kCaz2qji+tPzsHT7LNtljHMtlhO62dGKjXV
EfdgNFpk3s3J5RZwWUn3HOgvO+osKOJM8fHZw/iGR/0a33TY3q5X6k2IA+1Wpd4KF/aubap+
3okGhTl0m+W/GOs9XiW+lUa0cXu61/JoBTuhZhHLuieQcx3G3+m7jBQRd4xmmkqc8WJSRJ/h
9Nut8Z3Tc9xuhdpz3G9ltWM3XOGKYLE6uT/az1zzBKzgRkA+G06RzBXd5gtvi7g7nGNJyd/y
vBS7xV3X2ZabZL4g2w2YTrVer5Ssh/vKWQ7ebJI5LBmqz2HJrHbMktm29WwDjWwgJ7vRlmuk
9hU3YaOH3q5L4KEhVd+GlL3e2gp99D/MmHExCqRahinvAVRyzUfyPQMu067jcizEqrP4Z5sO
CLFvGQknOEeEfgnA2AKPtEzMpEZOzFKiLAw2kQhTki8mx/8O5OTXg5z8SpCTXz1ybElxibjV
83rJhCALQ00kQDZqKMWrx0wdDyybrUJKy5x0ptg8a+45TYedi/3zXuruO6Y0peg8jQnEJmlS
7mXoyDI3o5e+ySCgurC78aEK5ZdBSn5tSMlLQUpeIlKNl0Gq8dqQaiwFqcYSkWq/DFLt14ZU
eylItReO1J3uPW9robFqlp7u9HPGdK5AkcZfKPyi7rhmgCEW/Ul4zFrc/nRyfngI7zs5kFtU
7JoLubyBYxZyz4yIT0HuedFpkcgtKpbNhVzeQDILuWdGyKcg97xotUjkFhXb5kIub2CZhdwz
I+ZTkHte9Hoecv6m9gFfIX35u79CAWbc//Uzk7wLvf4tkZl7HOa897fo+8oR7eS+szxrhXsp
t5dTi+Iz9jZppqOMbPplQs3Bw3w21qw938aEAmTbmM8yULX/fJBa2o4S6ud3OX6YsFWYf+7v
RmYNjtbcoE4fG60sxAQj//8RW9gupNnzXV237vHRsAo+2Mf3uctMD7JmxFMEWWioF63QJmDy
b34GMp2DSF1PpPyLt9/qLruBD3rGR788YZMjPuh6ET/aEMmQ7c89roLfQgR0NgwWMD21718c
dxRQ9UWv22dP/j07P8sR8l/uNxx55e5cXZ4vZefmDMmn/Ugmr+xg51cdkWdazI9SAkY5Epgh
HWgG+y28Qk0csXOmyfOngmmjz5BhSqYszhejAIQ0l5grzqfq6Nh2VfuGzrkh9QvYneY+LNbJ
RAXJVnjIeprSLxmtjZHNP/Cf5GWNgctO76h7qfwEA+H48tfZI3lks8MV3Lmd7LTBHCW66J4d
9jqn3V7nsrt84+Mcc5ggR1sR6PLp6YrYxsScnpSP5ACGczvsRVOMJekuNQqfkejl6NNPkQWU
TC3HZHqajss5dRzKsxQlPyjuLbC9tfThUrY61kW/xXuY3F36XDcego9P/C1eqguLScKZ6KnF
tgzR5111mwXlr1efLj8Clh9zQDi5++YYRj4/EcR0J14Mxcjnbwnj7YPjwnTS0Zb0bDu+eswu
Jvb9R1yP98CmUJYnwpnszJKXwKf1YNGYRrxs7udOBaatGOrXbw8vF+dU/fpEdAXdeXGAgz68
BnwdQ9V1BZ/e9+3BZbL0QZSnPicu0ZcXRzbowGtAVsck7JUgy2R5BrLJvrw4skEHXgOykUWQ
1xR6w2r4Fwr5MRXQ5sZ/So9f3BSmdexbWsXIVobaaMRGiZeRvjabGNkHICEOI563PtkeMvv6
4taQ1aVvaQlfXr0hfFmQHWT19MXNIKNDryRKcNXgXaLXZgihkFxxp9ZwEUEi2eFvGCRS/Xop
myCRhWSkdfD9UXH1zCIg1uCWsMMO/HMrM4R45EoR6CT5cPg8Bxv46vSPEuDfgoME+O32AITg
+KMAgtnHGmQqNFC5Ty8hREIKTwz2ijjAv+/wIO0RvxdQCL4mfx0cFPBxFVYLhlrsEh+5WvLo
CIRRw4MdotivZT07musojRFXYm4SaASb66Qz/HPiuPwIoDv2+2mbjnQ6cPE0W9Df4FY1b6jj
ndRV8OrFnrovWIMXPp9/nZ3gtSnVvOdSSPI2nmVchvftStv7zXP8LCLANHZeEy8eGEPly4RO
KA6QWJdZncAc8AQkHCOR2yvh9g42OqhtW/Y78i9+ApinTtZkhR3SNBmnz3Zi5yMx+dnBvnXo
QF2Sg5O52VEYpmrQ37b+iJyMNbatAcQuW8EHoTyQdYq26B9ANRhrqsJq2JblolmcXZ2c4Ekl
7JQt/jWCe6I+O9FENSKHTvEusEMQvfPRUKIK4QeM/2voH3d2N6R3G4ZmWjbvFimAXKC5gU1V
drY1sGACe+37yvFhr3v0N7z3ro7O8f3nq34PqMUkCk4Bf0NxTPsylcNraLDBZc62uscOFmPH
Ue34l0COIaOL15FHcCGocm9rnqh+nfCKZ2h1uYHn2Uv1uuwZ2l8CpFYix+8FHQ+1n+hFol6s
R0yTc2nepoZ1J1B4Sq+8P80a2ht0qLntG57jQvQZEHbQOGvAmnIg2fHjJa/XCVsTYL2KdVY5
2gfHvejZhPHGbyKW6eklITCynPtIaRznMTLVvZGm6wpoi23vXAv7BwHf8+skOFU62da6N9lZ
L5cfj/vK6fnB1UmXVWdnSmd4h5Nz8A5XbMMB+kTN1FxN1TWot4mUN5EHD6bMV+Ah7RkIDCl4
AOvBg4DDt92sNGSAr1FrVBpSYJDgju3wJPFraMhjd4Xcs5PR3+Klt+y0d/hfv8dz09kZclid
LVjgwRnegfB4Uvq1dnND2RnxJpDg19luUMifhxv8KRmA6r02dG/3dutNGWPsLXtI096u3G6H
Lie7Suh0Ig9shnoKPiIaz1LfPz7knB7j3PjDEAJSjdhZt9mVxPzkmgKFjF9fzA/EiZGSWgJ+
gkpCflBPgcKdNJdmK0pA2pZFXNKVxFyaLQUKBVzkRoxAqy3ikq4k5iI3FChMcwHWMQKNhoCL
oJKQC9RTvOd1J7hstXJwSVcSc9lqMS5oBz9lGJ7UitmUJIsMT1BJzLBVU6CQM8ywPEmOGdW2
yPDSdcTs5LayLTC7uNluiYwuVUXIAOx6S2BwrZgpNUTmlqoipN9qKA2BqTXaM+mnqgjpN9oB
fbISnG9alYLjTaXmVq0iYzLQ3GpXZO8U1iBwY7Oq58jxkfe4WXWA4ZFtVlFg0lAUnYTK5H1C
s5Uy+n1soe2ww9VZbhA0gqBl3xmMWJFtGVLOrk7X2aai084vfBeRgv0OE644Ae7AcxCFICIm
WxaSjei+2j07//7qsO+DOrLsItHw0EDtfUAevpTLxJvqhLR+0/7YCJO+qIxloon66ee1ZWRD
ihrbv0c0SCXirFg2lpOPuOs7/slv3mG7KcsY2XReq8jTJG4R/9Pet3a1kSSJfsa/It1z2o2Q
BKUSD2HA3RhkNzs2cHl0j8fHR0dIBdRYSBpJBWanvb/9ZjzyVZVVKmHP7sy96+mxISsfkZkR
kRGRkREgR07uod2yC3hNzMcHt8UeOjrO2R0PrkBmLF7tvZy1FjlrDbKh0URSa0nEuN1CDXAz
aHFCZFuIioeY6MEs21SvGUhWWCRoUA3SJxZzeQXL4KMGG8aO9qjS5fHlefswjW95K1BN9yJn
7/aT4jE4+831Js1+o6nSQUvVVmoj/ObmmZV6EBd4NJ7WX80m3eH0Opoc3PUJKQajh0F0Hw0Q
i6TKcNevYV5mJbTbVgIgZst1DpXgH7+IurjuxoOor3TgPdaIWbl2VWMjLxtjE4ep5PpsX8BA
lcoFEu0Qb6MZ/M5JWV8ak4J6H5iXvRUn9DH4xArQVqNZ25QrtxU2a1tafjZJpGG9kxYsxcfW
J1oN+QPRNBQGsMQM7KtXmJUOihtW8QsKz0YfQvjQVYM3G7htW+uh2jYcAPdt8N+yb6ieWPtm
b1YlQ3J6TTTmba23ag3QQLZAgWziJPx/kI6GneTx/rGGv8gxxp3Pg6R/E1mkJj8mNXEvEaUm
bmriqiYeG7TcjBmjZNa5vuP85ogYeGh3TvfftS8u2p2zt683NjZe5n/cLPgYrud/a4Yv2b7G
07DMZVYJYGIi92vlMbmXrKEupKhFltJHWbpsijchj+HWZrPBr+LuM41ohbebaHJoBRs1Fc9v
ZXJzBZ29O3p/dLE8qT42KhQGUMo7f6jiGyx+9UpsVJQ1C/Zwfadw9jRDe3OENU97z3iuAIsE
eU/QqFfVRzYMpz7c5H2Y4Aeca6sR0FzDUM/1qwX7Zj7sZnf+p2Bf3yRKaG20FCXonXpsZLag
H113k8EMoBYC2Wf7bjx71DZEhedoWC78bjpGTPqaFTGmn+MxWjeW4Tf8iWiQCalati4JFUyJ
RVT49qz9oYAGgUBp1VrNWggGqNb2JvyAqzaaxDdTzN3ElldZRLNVfPB+vDruDqLZLCJpV277
cizFDODHz/fE+/23RwcdqY79IakByxtWeaNiWOGirRTLvI26/WiCthH3PiTP0OtoEKhUWFA3
NnGgVJ4qTI7t/w6f05N4cidqTg8TSLKM5kVc98XnxJZPGm4Lhzu/fH2+//70ndSowtCAXFhF
ARQPBtGNPPymydXscRwx5qum3wJbCwf+cPnbydlh+6zz4fLDb3gZ5fsov31IA/6U9ulZSVY/
mgAS2dNqLTAtJKBtyTLDdUlA21KCkT8gAZGpNCBL4Jujv7xvvxRnJ0fiLp7SHd6o10smU7AG
DgVRM7w26XXHM3hCCZs/1UY9mnK4jrOyZazJKIYbGsx2BkSDnIxXKNzIq94GqS5VedNbeTJ6
8Pe9lVcd+k6TRRnAq3irXBZyp3YJ0J36c2FXaGLv1+KUyEZphfU8OGHm8cmFfkrUPrQ4BH+3
vmUW80k9pDHfuvS2kT9cBPmJplVPEdyRGxD2HBB2XOIPt3kOncP2wdH7/Yujk+MUfedVUROx
3v3BCTBNxuPRZBYtdgoQ+W406AJme3Nd3/wNQN5XB5N1Fu3uihZ2E6PFgSJuPFOJ5PHEfMX3
wM90Gna7GPQr+LUuF2swqIYo4cPCYOmuCCxxyS4CyQcnfjScJtfXcS+G2z1UzuOhoAtwxyPA
7BK9iSYIBxjCXXmBgF+ItX9w6Fq/Qt745RWc6AvZpqIMeWpapi/tfLFYZ3jXPOKFlLy4NxpK
pXGGiy2lK/qbpA6VYdin1LBCQ7fNloTJL9DVTq2r/d5soYS73WrUTHTutRWQuoQFsRS4ogko
fteT0Z2QpffxKJmSjUIlR1fSmhKVtOBGM5WSfyMlJpoJq3YmjAJOWa6pZBwd/NFxoUh91Au4
AFqkEQNQg9Zka7PWwjUxt/dLkgjqdcuh5Stj6gCdHWwkotlKcm2fvLPw16qoMCRdU+gJyAIj
y4mb+B6Ow2QsutczPKDXfuz/YJDgB3H1OIumJIazrFqHv8yvas4Zem9t0E3/9rbWErAmgFat
ovkfcQHCLACc6C+hpqqIuWmx3ADZXfvkyBb17DI9/ae1FjRpZoye6k1dptZUaC6zzstgZQj5
aqbD8Dh7ZJcxHsxhhhaVhan1Q6vfIBrezG6V3wnhXBgELUhlVQ2DsFFrktiEln7Z/mgYz84x
ketBdyweJt3xGO4+pVAcoT9LbzSZwL+YFpfGAFlJ61BYQuaOeNbhHLpStiph2l2sKWljjGL9
UYftNmAUqrnmMmdKwM6yrCyoOVJJKpNtDb7D7b1epWTcB/PkfXeCnKmHT3AFhCSYCgmEXKwZ
PGGe2muDxth+PB2DUKPAnXonJ+yFWaAdL0p/9DD0HcEoBgjX+WdvTy0ThKkQRhYoqsb4Oeeg
V3LKYft15/WHi3aqS6ya8+3Vq1YOvPnuWLmwF3hwAbCFuHMezQ4sPyw8DC28sZEmx1+rdBOM
Ydadzko3mHblKqMgpnxLvpZaMu3/KByXk3JtSi6ZlnGLZ+OG86gpfptXyYiemiTLTfrNyZkU
ZEvPl6ozls+b7BtMum3zlfQU0mm5S9SVWv959248kHWJZa9LBRdZ9karFrKBLa8PWwmr5alb
xhHwOp5MOY6ACnq1ICLR4/OnoBO1XBSp6L18SdTKRpZYrKGKfPCUVv9nESTVb4dLL6RuUWoB
oTZ6VRfNJOe5e+km1s8L0qjOAF56+rpFqelDbcxiXjQXneqcgH8iY7UPpMXowXsudaIvM6l8
RPMJw39KqanAf+lPOViceVSt+NAmqCmSDUlRXqkr5btLv/pZEJq/f1Nrz9uC8rjJkTvLoyY3
WGwnVRy3zMy8qJpO3rdYKw5dqva1tV5bl7p52AgC+CG7s8Ug6Gw9C4Kuc8Us1k5lK1mAOK2M
ygsQptVqAWGRc0fPl+R0kmn617eL+Y0483v5BjqP+AKAcfbr0gt93j4+Pzl7c1qe++kWpRb4
nIJhnp4XzSETMbNcZRWEc0HGj2kMSk8Xa5ea6j5kKCiC3ErgUq5aWK7aerlqrfLit4k2WV4G
N21KrdYbjpM5mwyKwM+PerpAKxP2dYFG3oidi+CZisVdeglVg1LrJytjUPGiGblpGkrXLEQ7
Nwx96Zolke90//K8JL/HqvOXSupOxphkSVbl4JFi3uX7tvKZSxu68KFSxbjLFcJLXaHXXLof
MAWR35DfRFNPvQBzjDs7yn/RDGoeUFIFjxte2Ghu1RrBNogQG81ao7GtzLvwPA5QH0zKs5GY
PYzEVbcvpCwGL+LioegKqZLCpyt4syo/yYV/hi8y4pvhSJ5y8oNUiyNZLvCpGT3AoFsnuqkF
90QJ0uQRXAvxh93mjqhW8UfzNhB/BRs43/WgOyIVogss/bgr3LZsU6ff0USBHik0nnn0Nnmk
GyWJAwp7Ye6DkZwRqth0gcFPTkQytG48YBK6kUYgWzF/8cKqkaaMTFxUuIb0haElxBOpP4vZ
czLNbbC8o85p49w0GmLSVeSCuksK6K5srskYFzi9gPNm9HbSvSKmX0+LnVj17dn+a1n/+OLo
+PLk8txQeUWAnS4eJtHOAiPCcG8m+BYt8KwGQzDfBG2PLtSDV+0b+dCVbEDitGIFQEw2Bj9X
VenJr+kK7xYXwFX1TtaDpNWlp2MngbUQMlb5WioH79RnP4qpafvxiSdZHpOq5pp0Dg75ln/u
WC4OWYOVQJu8AUvgjlhi1BiNJR7M4gFxbuTUj0R38zYN/JVxdSVcs2RaC+h/SOTqVfyyOwuo
ZyYzQ5w5vzhr77+X597+4QfiY3x720smE3zEOoyivoR82ruNwHsa/01k35Wdr1xbVyUv9Yv9
8z93jo4v2mdnl6cXR6/hTWOdb6XFdBBFYwFnRCMQd9OauB2No+tkMHgUOxXGkKdO3I4GsPDE
9cW0f+L8ON+aPUdpSM0eHnN65s91yyyAsMfpzOK7aJTMlhvByq9/hQfqeofpvvNm2B10xuCb
M7xRoFfMRppH13w/Tv8utMBmafKGM8EO+NV0dfFB0g4RrhAorEgI6u6eYrnKJb2RRMwEhM4N
zHUo03pZVK7O3X137+XQo0H/bzE8RJF/X8fRlHxfAI4OXDrvGUZAuHcmqdvnX589LrN/sNmk
+9DB/pVojC5IesDdPe1uo8scP/85YNAuLvkHU37ppufdPePLg8Kb6Z59/7VrsWnFF+zWiavD
Rk+IfKwRVsSvfxVrklBCuvaHADtmueu0/ubORT1j6HBPUH1vLxA/Cyx4if+sQemO4sCmSjIc
xJ8jSYVXyUxIPXIawwNr9JUgLGOsivuyeChl6+lIXyALlOj76pkDezouZe+XlS5S9X0kBUMN
d0m34aNkIj4PYZ/A+Xx0jQ+qGRRiOHXljzmMevIE704ef2Y2MpcAHbuaS3ElmlvqtquwacLs
R0pMwQt8dohiUgXd5FGWjR/BNSaeIe3Csq0IoXEPapleJEWiTIS1FqVuiU3zusVaa09hBYh/
DtWNwZrRGcc9cIClBXSogJ8WpBsCUdlvDHzfLX3JGYWpThFdqikrUlY8dx3OnZ1p6jrEjH7l
Q5qb89DHFNEmM/bNbqUCORpKAnoYTT5P8YTrjxIgIvLbgl3Wm2Y9dvxIenEywd/0IzX1Sg0P
6MyKlG6pGNRddNcbPxY0JhYoUhJgFknKV6SwQczv5gHNMB+qtCb2PlmJf/LGyusF2Al5bjvr
ntKBv0G9yO7Md1RdeO8y/eq8XymTSkGaCzxmOBBH3lIUTOU7g1Jc26S0U1Cz6zWIPY6RSFjP
bNjXnuDyejLVBJei00QHnEvFyv1dJf1EUb3xrKcolZ7dcgQgCM0mqf8hklQuBt3/fFQvy8GH
2dC5jifle3gOJ17FcjHyPhFfKhqFt2v+KMQzU68ODcNbeiYcXhY5Gvs0iu6mbEzjZe7D4WXO
YjLXhetb+HQiDLea+gG/xH4MfDICzRFaDKMv+BtY3G6iId6O9MVDPLvF0165uVHT5UifsnCJ
NBFX6rheXV2FSalHFT6MrRbhssOHICCcWnrLiWU+w0Imiy2uI5BmCPtIlLFMKQU9Pbe5VkW9
8q23j052yrJ8tws8oe3Aayfaub9oygvP2Dfhb57v06brdvLM+7xWuOziZjQbdW7jm9vOePQQ
TXJcH9HKO9cQJ7v6NT6FbhxZUAWmQmflEt2kVMLirnwaPjhWsIYv2dSvR53Tk9/bZ53zi/2L
tqGHp83FBNFCGMp0VTQfb3dPmZNgSZB1AtBM4qGs9/ZXgRtLWoJ2mnffdRLX2lqHR+NhM9io
NRp8w5DGFKkqfh9EeTf6l0OUdydPRBTvXP41ECU7Jz+ivDv5vSyeNIOwFgaAKE2JKNuWu6Qr
3eW4U8yp6fhRzKlrO1DkiUTo4Q0ppGm+HZzeHOQtGNH4kgD7baRO19JtFvZ2ESmX1EaRn2vx
2s9tkN2CuU2sndAOruVWBAOM6gvZ56UamXgu87unp2ziKX5ihO1NuHAFbN/UbJF1PkmYTcvz
T5V5/qtoMdqGOuNkphYjuxSZqpkl8HQmQg/ry6bXnjsm18wf0snUnT9iD2I3Rr9jfKwSw9rV
88d2OyUPay3ieS7ZU176f/Aub+EjyWq4DgFTN+04P6QPGQ6SzztQdcDrIds6J5krXNATc0U9
V4nqqQOVtKB/OGppPm+XnOT3/bP3ndcnJxfE3C0FKqdnW4xepGdHaYJoWoft31hrUiY+2/oj
/8OIvf14MpPK0SSWAjjY/ci/gGyS9op2aEWV4XNpKS2T6g+FPPMwnva6k76+xnNskbnrrWbF
k+Il8lVV+oRd3VYaIaBm1Af7Wz+a9ibxFb62lL/cR4PROJr8JNW8RGrcYtyshy1YB0K97QDF
rvWwqbx+ISTlbdT7rBRQDDQkOPKQWurp7SgZ9EEl7mHd0+PTo0M2+do7nB+wCA91SMDHVTrx
kF5IyJ8zmsyc3vIPw8IWlohh4ZVZ0wtYAElkA0YenCpYEHn2V2AQkCo0Pqd8piONMunh5k3B
N2bZswuiWW+2Knof1gOpqwOjX5diTRi6r0DkH74ohBfqqPop+zgBaukLLn2n0LhiU2jmm2c1
RBofLKN/YmIpfJNg+Y2SqQ310Um+uI0b2YZ9zPiMFVVUAiuWdjgetvPnxz8F61/A1q0c3Ir7
3NFd3o879DnVYbku78e0HK6JI29Y8UL817Jc0M6bd/tv/8DlhZ/mMOZy7fkW641FKZLz9PT9
p8O+aYus5AzzhvWOalmkRRnY54GuuFyjHoTirvsIhj48TeACAfodDKKBAL80nhffFUuKp/Dw
g6g7IYaJkeWLKX6uW4WUZ+LrRwfpmU2E+KY8XN/Qb8oNu8qj0i4IZcIx0RVhfAlsqpSlnjKo
VckiCM+KpgzmTHi/sN7CwKQ4aR3/0fvGdg+OPQg+Ht8r0Rdh0LHKMeyKbe+1Kf0IYhQMFSrX
TN/6Jf3ztIJab7++PP+g4AaCtdZaYsGwQ4khXin3RMtDJ/1RgUG7L7oDcseBisXDWkOaK0Yr
Nj7ta6rCng51qqNkHr3ff8tRMiu6vWsc1815j9ODisJetZyT7iwt6L1vv7fM42Z6OfdhqckW
VfVMOxUctPRg/0ipjzn17ZXK7dKzbqlgs+UGwnW0wqJaXhT+DakvpTdxj4KTVjMfdNxS32YJ
tVlEultooqmGG0FL22okowJcxhClxAxddzX46HEMUezanlbevWhOqN55OKFnPGeT9PQXXeK8
Fc5f4Iw8ZrF7VGJsdm8iWwEm2UojKRvGO5oiHxXXUiovbkpvMJpGvl3JrMP/N3sSu8fURgPj
WYYb65scAYc0odzDCFfWyRDhfKEtUAKh3O4zGhaTNUxvIRTItZVrYQ1vU/+C+Wkg8wRJGXTu
6sQV9VdSElGqF4PdZHPqxuaGfn2Ojkaw4xaRlkUGy0deomK9nj7lVEofxTTzayg4ou4QlCi+
8qyTH8fUcqzznUh6KZ0P34EvqojPRRjytcT5oQM/aUgX4OeLE9k8+rHnVILKnBm6V+XZ61Id
EX0pFeBbafk20ljIo4lkz02jkvJ45/Uhd4JkOIluYnja3JFkF/cikMTZ/eWzWsAKz4EoYHOT
NO9NuFlgzRslsJuRFvSI4951P0ekFoAT9WDw2BHTuzFal+6SwSyGJGv9uD7tXhszm4CQLR2M
ezVJxjPw5+N3O1fJ9JGe7Vi2sxK1Uyrv8cWZieePK2MCWeE0wF8Cli8bxc30uZPqkxOeKaHL
S7nPdUYyfamD9YKyAwXWEM52ugKV2WMcBBBisenw2Um7vY2heMPNcEsFKsvD+ZwLd6xuhUTb
Cwqu4XPdsjx36OkoN+Va2UvDLxy0A96a7YOX5xvm2hjyBi1Yal5XjJMtF7a5qcMEl1tZHQGe
iAx8MSnYmjzLkincCUImPVd/zZuMVKKsPHlFS5mp7iIxBo0Fz+Ga+HGQLLKKxt9uLmK+2b98
d+HQ2fixM5NMTM56GSP1FXJ7NcMFW2WjZBXOrOIujhnLhFafhxybEIwM7jc2N1oqKlkZzT3P
Gwz4gkrqZpiGZhnup3lGXj9T/59i4nCjsbZGaw05HOJRbzaQeEgoiL8NJ+ygTRFuxbIqxQCZ
OKe/J9HkESSm7lU8iGcqPaGKWn10cvD2YP8UAlnj1joOebrVo7hiR3AEx7RTeb2gHbizXq1y
CreD03hfnHYnaCcj+8UPpLV6a5oacoyrVYyFjIGcOxcfTtsdOdKF8j+8WoU8i8NoMFW3bLKo
m/Tj0ZQwow4Fd90vmAxHFjU3wh2N33JFnPDQ7LOXabDkqyi44q265IO8XTxePFTN11s5w2HC
HTOg02LJX1NwTT0iZOzBjciQe3dyUxMvrmoY23h0vXxl+RgqzzPmMnhXpgMW6se9W5CaERg3
pjzYUDfM2faWi7aw797o/kdWjvuAMwQ/u4VjKHP9/sJEN7eM4P1oPLu1q2CBMsGIZfEcu4ZE
dtGy6cGqanvMzq2spWlvjtnM/PLi7dHUrVBwgpwAakLFehPgry+GI16foI7JPXl52A9cUM/3
Y7mH8Bdv4v24IhTr3Aq3Mfx+uLW5ZcLv4zHJ48T40hoSPk9BJWzV4E3IBAN+2kpgQVg6zlC6
7PGZSNesgs/9mgAztmj5Lh5y7/sk2Rov76IWZ1JsV01CfxM/bK9EK0hrfyWh8viHzwXL61Ne
BBffNeAVg75WHcR38WxqdlPKPK3ASSZbvHOydooeyeWA7xZQhqI3PM59TM91UEj7iZs4iu7J
7tAA4efWBt4ftxrrtUagskM4eRSVjzIwrJ9//hkrrBURF2HV/cMqssrn9IJN/QqHu/yZeKP5
Rr9b26/rq7Dk3g7sr6YLWHsQPehA5Kc0GLG8g0VQogeomd5Y1QbgTctdozUxZJlvYimXI+VH
4tTcivaB0qmErWbTmJ/wpWc0o2t1E3LhUeFCP8H3MPRiTodPWwEGMp2NxmvqddgahYR1LS5z
AyzadFgmGiOdByawcu7bNK26t+DsAuNVayM02CeZq5z08ov7O7wjVkz1rkJt7+9WeUc9xpIV
k7iK61JeLa2s4BfIiTU3axY0HmFUk+nH+FPOcLEyfyxl5H9MiCpWKnjEq19wUtaMKLPW/FRv
ZYCBqBz2A/InAJMjOViSB+3bJqXnDbeDQPk7lTqTdawPqEeGav5sInnobPaqoSEEKwkI88Fi
Cr/TFH7nULgiAdN6N3Py+Km87BRt1qNZlCmy+VxRRefBkDNX8wuBANcA9w9YYMis+Jgg4lVb
urWN/Gc7DGp2jDmH9dbSvHbHelYEe9Tt9UYTeNUN59b9+qA+HUc9cDK6g0t24kKaWwnM+UtM
KWOUaRgjvp03SSkPVvox+71SD27iJVpXfEi7vUEzbG66SZxYXSP96PzD8YGWZumhy46K5yGW
sWA3+OMP/OHVnqZUa0O5DhxT9ELklcV7yuMRwrzNlxLbG+smLL8XXjF9HPaiFNhF1Le3x3qr
G0cn80l5WIDbmKiLL92H2b1UpyNKwCyVOnjJjOr3MO5FlruIUfrNdLbWa82GqDaDxkYtbD3F
jvBPsCEYZR0wTS7mgJZRPTSn8TgAfHFWSgVBqco+k23dvJv9f9hI8i/xKPA7vQhkEsmzFWbe
UKkLdhD3x2j9WE6GEBJDSnaD0fCmkr54gTb+nCljurb6fB9PZnDSj7vLskeW7JsB+CKvA7Gt
S9Fec495gNbb+2/3j44Ny0CuXd07VbdqeILKcdJFFt7rDxUkonqqJnp9YWyLgI1LcC5U94RV
rYpjZAu9o9Bres7t4NbHp7r6855ORVeC7v1LlZPptdlobkPGzmajpQ7QOX/sTK8kz3fgamQF
/nJzvFaJhg8pM5+IpGr7OLvlU5aVTRaa8QA0QnOKt6IEzeDiiSLB3d507lHuJd9dBbZLIT/4
7ozkCPPkcU6qXSuEW75Ya7ko6NSyyrZGp4b7TVvTfB/9NxI00811cLlrhpIeNovvNdwhFrz9
KHf36ntplD7/ACP0LWjPfTbgwZYavVJaUXf5FZ731ibucNjQOyw1hNH1LBrijSec4cOfZmIG
RwOgFLIftD5BKJwrxC+p9n+OJsNoIAD9qQvjPH3y51XCPvZbYbVUsiT2gspBw5p4++a08+f2
2XH7neWjZlxbvr0jsHoMAeYOwb/sXN2oe/CvvFRSNAQjXTNsmlc6EBIIVA42NVne7XZ8oJfo
DLWGfjhr5HPB0V7SflLacUS2SrlKYUnWW6q6WAtrflTDFQFy3Y3SPkTyn7SvUWEVIkYDo3Yv
8QC54wFSb0MYtIhS17fsXUh7siwy2LOq7KB9+7N4E0UD1Dm64/Hjz1KQ/Vs06V9HA7SKyErp
fgsWemcxGKpEIfK0n0h+/nkZsLVzdPzmRPwA0ejifaGyRUsxfvXHIOyLZfihX2EHcnPJh/0X
m0RrvJTNgIh/K9TmJOQSyEAsJ4sUeyl40ejzAXJu+dVn50ZbjxSrHJ7aQJTn8PFCH0TkkKRi
mNDE1uncCluaq/E1hJzCCIMApZ2q7Et0PN6k8sl+/Nyqgy5Wircq/Zk026VvXQJwWqEslrDS
evauM8vXZycQ9CYmdlEPVrdWG/W/RWt3IwgQ9BJLV0fPMHRVPZlYtbgKzrczHq/2vD2Yz8/q
9XpR86X38EgouhJiSwTBy43mS6mohUEQPKtWq3P6XjrvzrBtuCmbvGysvwxDaot7h7Y+lQle
rMD/xTnlKJwSJUCY737KX/83tPnQXeNP01VsWZctlw8qorG9vS1ed6fi1wRSUg7F7tUt/PRL
b7qazB4iqZ2sDgevsL7+c94bzWbiP1bF62gykyu+O73CH36ReNGfApXeQHSZVzW32WkEOddO
JbYO5L+7+GuHf/0luuvGA2zlNvqPEV57TkWbuM2zqvx6MBo/4s3TQnOo2v0+ZTY5HZSdl9qx
C9AiJcFIIeEO7gkAj6XQcD0DLrQjHkeJRHVQePqSqifxVSKFpXgGIsfaCJ8wxteP2JEsTIaQ
aBbOJDno3VRFJnt7fCneYkyTgThNrgZxT7yTnGEo2YBcpzGUTG/REl6CbAAz51NOMr0qJB38
XkQ7WOGpxEONXeoJwpfNpqGeRg3S89VCFGHhwILt5PkR8VyevxZ9KblHE/iG3xenLtXSg6Ma
pXuQnve8d9udTAbd3q3YpaJVU/TLtHf70L2KIC/Uq5z+aji3LImIXXU0/wKXwcPkC+Gfguy7
4F/1e+Ffld8MvgEozhkK8Qaub1FW3BFRLL9PtBwZqkG4R8jNiL0sy91/hNA9ozE0rEiIpUje
nZm2q7lrYKaKj0ahewgISiGD5Dwf4sEABPZkCkFCiRVAhMLfjy5+Pbm8EPvHH+DV7tn+8cWH
HQwiNEpQ0aS+4rvxIIboQnJ7u8PZo5wCdvG+fXbwq2yz//ro3dHFBzkT8ebo4rh9fi7enJyJ
famLn10cHVy+2z8Tp5dnpyfn7VXJsSIALMIeClb6GncL38POJBOycPOD3GJWQm679xDvthdJ
tO+LLjmfzd1F7KUL6g4FTJpZy7kD79GGo1lNPEziGcb4y+wvtjd7XBNHw95qTWxubYj33elU
7N+DQ3L37moS98E3+f2+CEIwEEga3cd5rIFS/6d42Bsk/UjsIpqv9UbD6/hm9fZV9hMxC+8n
0m/gE7IJcIusrgda6vtTP7qG7I2orZ53TttnncP2+cHSUiNIfUSjiamwvRngi3RcaFAUJf5I
+u73Rn0Oi65ao3FT6vXnry/fLIXPqt5y+UEPx49hZTGOubS0rI02cmHXK1bNg7P9i4NfTdXl
VFtZP6woX5hWrSn1hw2dOTM1QWjzrn0sfI9zqo0AIiJGw+SO7OdXyTW/7qS47FS1/f704kPN
/A5epUfHb1MlH8C1z2mgftX17QK7+tnZCaQz+4p2Z5bKFTyyBEEBsxBlD8VA516Y6R/8nrTQ
HfOjvQaf8Eu6/xUIKrYD6S3dchRzrUGrS4VjVpdyhqwu5YzI89XGEHkeojhOS4+2L1AN+HPC
10bCrk7Kg1iR/8JAOW00BNkmALYyxMJBJvlAtwcRuZcwADfeoHVuo26/I/np3zkYN4Itl9jX
UJYXtqQ1hYT3ciV28JblgIKFMkfDu31cJQtwPPKxFP76aNPYJ+rk0BMvUyi8KTlc3bVPLjxe
fQ1kTYkGK1S8YwoBCirsMD55v911v9ifVY/OQk97E7jy/ZjmEp9SXXI92d8OTw5L1UWknxb4
ncrHZg6tyJWEKjWxAqFK4Ue1pVbHVACKofoZbINyzb3EYA/p+ewbkSjHieDIAmUHTRhkGgSD
LpsjgFFuSVVMnlXV7VD+u51ilfuvQSL4wUiTeBL/Rs5TlhxJ+uz0B2JUOHyOkdKCCO47mIs5
cNacEmUROJCC6lW399n9qgI0H9z13Q9WhH3/h9HYVw6hpt1yNOhgUaBz/ZabG3DK1MSsguy8
rI/OtKxyZ1aecphUppjmZBXzlKpLQQplfJafjpRvZ3Yly3QEfY0g/amJgyXRUqzIv8hgRMQV
I9Egla70oGP8PcWzyaaHf++J5cyHCvRcfwXOcnQu6QuRJadjh6lT0wT+YeaMRlRQvV4psqEo
+8nURPnFY7pCr5h0Gpa8Ru7Zv5NXnRN8020JVMBXUuBWAf+mb0dwqvJUldp7Z3TdGUv0iGZT
fVWCHcD0IfQK1o2nI76MhIAxcAnSlcdcd9CxRAPF6PLbaDmBX73jRPjGApvocOjEnEQ1rydy
T3J7wtu6WUWtkG0BPZRywVuB92/0WoRDc3z8sf8JBI09eLpB0O39+Bc0hVLPIq6JIXyiuG1q
GEfC283ZjOrQyrKTA81LdVzASYT52q8Ho4fnshBWlp6UDJWLiH8YWUGYPDkmeQLiAFsMgWjg
Ct9GcStMHwsk5WlD90sgSZmGuqdfjdONVchHkV0ELCsDBfSblKMg8iXJrZymHF9dm2yqcFFO
JJO9T5xDMVXyAS1PL9ygDLWgk923kYn205vSti99G3HYVKG7TtFE3lJXxVDlLvkeNJE3jqzC
6VU0ci1Z8TYUIdsk6mPdDPQr9LBCnrAcfGlsAybijnwMPokXL0TwZbNlyhqfKhA05B9YX0Vx
T3UMFat5oPfofS5l28zl9dU9MeRkczQBjhR++PqtWP7hCBx4gQYJVflxKrEFdclRYuJinbzq
pXTy5Rq9Znwz+ehvXm98+pbW4Te1bn5T6/VPZgtLMJgP9k6x6CzSI/p2M1MJcjd8mfk3PjUw
csFCFFFPtTWqK7fyLIvVGx5UENdVYqmS+M59q8cqme6RsVTzqdVCeewnl30g0mNWHaHdbTgU
jxfjq25iAv/54mK7mrrCG+9kPuZ0wjj/bX2E36GP5nfoQ1KB2tgyx+wHd/MMHSRpQvB1ma2n
aKEUAEwNhdij/HkE8XLABbCakNFEntBSA11+wW2V7YQDXcIiPnQ/R51knHFETDUgkqTcT0v+
MZLMIFR7KWeITH2mAXWqfbWE/q+eRAtFajorUouoSqotmfwmUp9EnWxHKWTXX2ogReRrS3P7
leKo1W1VOeXWrBe+NTMMn+nqILNCdxmZ2Pi92sKrE6xau0fLDWRRFsxQwSflVsUeQizsGAM3
WOizVm3HYWiHfXKeZzumCGMZ71wXiMY/C4iGDYTCdHQYUFKBA6vSubLOxITySdHCPQlkV9dw
F86zedUUEJmF+15AqIUjDpl1sq9SdFgSpzusYID7GiEq2k+iGVE6GHGXtTJV4/Mcbbs1eEXJ
r0LqaVWyfXYmfsj0RENaEl/hdvorNNwKqSByyGbqyo4FTqtkTAw+5Uopvqopq4VboVG+r8a8
vsLyfYV5faXFOjMRq1JGrjMgklGqCpgCR11m+xNr/5MUAigEhLbqjaCrQCEmOHz+ZXYMDri5
TCCw1xfsLZ0nFg7TNrsoLKmHkZgvSn6P3HxZeHl5NB0JMOlN2fq9trYkm/OMMUO11FN7yzRN
sFP27qFgHI8jKmxUaukLRCKImnjhYrBsB5puRR1DPAhSeUf+nqZ0SvXG9AfGkHyawpXU0L50
gYcVY/2TuGHwTyA0FdGQT3W3S54sH7mo/YMRRiEdXjKpD2y24Y+mHFacV8zeAwsLGxVTW9sc
KGbpHniAdI7OTzr75/unnmqMEXsiuxY2aGTc5WqOwdfUyphdFA2bnc0FoKNJ2cPjFedP9YO2
n+svZPyR/+5maslSy1LqM75cf1HWl9yhr7/sFLcvAt0gRkm8/3dH+sa/K9I3/hfpvzPSa/lu
vtThreoaR5L0OV26r7TUkamQL3V4q3r7yijRtthRzdehbbmjSj4K849r1LpKcBNzrVAoiaRY
ie5RRX1zRQ6m/SKZI8MPyEKQOWUUj8iU+uo3VH0UDYysMk2u7iT8sAKZfgxHlfUrC7DTSTIk
+SeoZBgqdLVTBobGd4KhkQdDRo2zWC/iiOK8icV6+YPhvHwvyuU5nDdJsV6uPYfzpmtpxuvR
Ei3IihgvVyrFd/3DL8x2+ZqpHNeF66un89yC1sUcF2/F/pUZg0ff/7fE1sb/Yuv3wVb7pNA3
0RjLoa4lzSDN41LHSZb9+Zmit0FDN5D/eXl5tiNNO8jLyxKO6VIENisH27Di5HMBaHwfABo5
AFjr5u6GLseXi1RE5hG1Q8+qmtZfyi+sRvhscDuqapBT0WgkuCueZKPPxNqaCnPNQe424aEm
vR8S4nfw0D5FKlPPU77fnzXt1gaGbmso20quXEjx3bVkXNMZOj0S5Ve081iJHhIyMma6YJcq
iQVU4iRJ8Fp9LScTDYfXoK7bEh8bziajQeduekOvyBGXhv3ebDIgfQyflldqZqvSzRJtQLLb
USk0hCgDfBMosURU1ZTgBnN3V7RUFeDUGEHyt/bx4cmZ+ANLztoHR6eSp/x2dNB2+wrtvpqq
Lx0fsRaub2Pcl1qzualxBzzk/ntQx4yUizlmw2vKaZbe8HdmFI7AwaTiDnkX5vaYh1hw1Uxh
j/YsC/d8LHPbPRnl5NH+JJSz2z0N5Q6PzjpHx4xt3wP/7Drrdp0NXUdvS038+tcKc726/6LQ
chBN3RfSFnOYNfrFvkaEXiQr3gv0ZSB8vXqcRVPbtTmFlXAfmL4QXKnoK0pj3KHXsRm+5Obi
YVdi9mPq0bMlEwY8H8d4AA6HuNAg3Kb8QHpZcO7LcqUq3MnHrU+V3d1WReKCKtn8xP6HBjzA
Kgnh4f7FvsQkY5dpsXb/sfVJuWVeL2cy3pDnT9GMsEl2Ot4J8ZSU5mrxDD6rGFkIsprERgMa
NLGvt/QAeLNrd86+JYSEqiu9jNSllSosu0wnlxd6GPuEtIF0urE3/lJKeuOoB6/eMDO9gFHh
+Rc3fCl+/EJvv/XAapa0KhkMsGVRJhtl/EnRzWLX6PYteg7PTitDWnGDh/AkvhfhBnbh4Ibv
IpaVMw7/T6s7v28vJRV0vzAd6Wx+eXQE2odDRSaPhHXhWziJLPHYGTmtG2Kaw1KGbpSE5iEc
hkXRjd0z+VxAyVxaqS7NJRXoxyYTBybSLbRf1TeQiJ5+ZmtToY+8B1X6mUPmtMLfl1d6VxUV
i7J3RfFcgAadEjmk+zsxgHSss2om+lk+eNaDihy/m+/R+2j8T+sccNIrAVxT8lp0ex5dYcCq
b/UkyjxCuntU7mJPdiPK79Px6fC4qqfz2KecjLRpXtv4nzu+cPZDCuPK1ZkOomjcGQ29bmPq
4NHHjlj+AZME68x+4EomNWjt3Gi5M84B5xm5nHtB8bqXKfdKJO0iKHBZaFm1ZZ2BgX70lyT9
Se0A1ShYb6qQMzPYOlWBrUO7Yt2W2uQqno/uIgpjBkEuKGPHc4+U1nC0jSeOqxatYFB3qtps
RWyb43rWdPdEde5gBHkKwsw1E58D5fpTe5XXHeyIwIeOOD3ABcxpXIOYoHiwSM1CFkYT4PRr
P36piTej0Yx+pf8h+8dHomsqQIgLBkcUlUeD+qkhf3IaULHbrL6u66c+ND+lB/RWC/PaN+QZ
pV+18p65VSy2mvmAB5n3YRumt5KcZpRMetE0y8YScnkB/jqbPEri+MezlBOaMqf5X/K49rZA
3wKeS+2ZlWjUoFVYP+ochjLvWSb68cjiTkuBEVVcr6WsZXFRPyX3TYeSFuTcLofT3m0E0Qsg
hqaKzRBPR2LW/2lqZukxf7LcJyFJhoN4+LnITLqk96+wku9SQqUMNKKxxxY8F5agDCxBDixB
FpZ8IYDCjX1nj2HbBdUgsc2HA1Z3C/B1YTfK4JvdKP2qPMM5H/fAW8Pd05w73fxa5vbZf8lh
rdthhLdHEog7BMgAoLGlYHhfHfvq29ZdnyqbZW4AmEnlsUjmiI1KWnhzRTYKdkbe3ekrBUJ0
B8PhRgMRXKE1nhMpMZlXz541RjnMVMoMVl+D4ABr4nQywiiXqNrKIePuIP5PWYAVIHBgXgU+
e+wzRMViki0in1WWuLGKXoDvmK+HyV3FPYlWijtJcnvJUL+mGLymm8TjmWTeK7o0bfczzML+
4jwKJ1/ZuvEyhZgwHP8bsyfWKX6NCgxgMQSM5W3gWL06Tu4OsHIywQg6KMc1XH6j46WyuI7k
vydeYGfd3oxGk6xEffyIa/FptTuYSZ4BwjD5ATPMR1MMA4UhDH4uAC7u/xYN+3K1IL7ll2Bj
o+mFK6+xxJk+rB21DoIwd1Yq4ztGRsQhIXIhNjYhVqPhKLm5rWG0pgeI5oSxnSLNPAAIvQL1
V1dH6ueDAUQiQijevCmYgbfxeXJltYfIOPlz+D2ipOq8tAxXNtglBJTAChx+FBsxJ1fA8FOR
dNhXRMyCYK85fjYqcJF6nYGdE2pnTxC9KHx8qIDKyN9MRGUCxeX2ZLxT5nDrgJOl3uU9RhcB
tsbHs455jARRYrxqqOnZOJvJ7u+98XGVZl2peB3zn9YuLN3OqOM2rPp2SdmUs2DNqRJ+Sr0i
0ubp+XtPkau5J5/tXO+/tm0L4Vv0lLta6i1B1hvRWzv01Q7zagefUkf6XOaeHxGj6s23oOzb
qFxYSn5WksMTqACpv6NMl6ZIjjC9h2dkOoDtCy08YERsotK9PYdDvDuBcKyUXFWKrL5+iqEQ
Yv/wsHNx0nl3dH6xrAKlYGjZCssf++5ZaDG8ny1dp/SBWE2FrK7SRpnTMFn0OGS1LHMa5kDm
Ow0zQOU19ZyFvgn5D5GqJ2BywRlih8tIHx9J9vzYcaTVXM+4uUdIdi1IjeTjI8mcH4k6QCxZ
m29/lBPcAicIYIPnAPEZD59lHJx9J8hKpk4l89TO+jZv3e497NfyKETnQaBI9jcMzAJmfKbn
w9oogLXxRFgbubA2cmH1nZRpWMMCWMMnwhrmwhrmwmodaD4vdZ9/vb966Kse5lZXrCjXiJVr
vir75g61qMUf3EHYf3v1WIXU9qzX0TUEJU2dGzWIkTqazLrDGTvtO0owudLxwWrC38OA5GlR
5kzT6rMOOc7zL32upTHDYEXhuWY0aIL5WVV1AJ5990a3d1DYiw7GxGVjZ243DW83DX83jdxu
Am83gb8bcFc0M+ZMEV+9wdD68VQeu8Oo53XEQgxmM92Mcz67QdewNl1SU3/08x4JLIjGP5jI
dIjQ5lczOJb9A0GtkQQNFljVnI033Jp/sxtXl1JtOUCcRHZS8pMpBOEFuW8m7rqPoJZCzedi
eRpFWsTs9AZRd5iMK8Lyf3viWqH1xWpCGTfSI8FtPiQhkzWi6bQ7eZSH7LAXcceKAjjBA8VA
7o9gEuA0nUwhlvMDaNIQ01kqu2jpIT8KEzM0lShiwWkl6Xk5dho35YtlnDMfKkI2yzHWkIuW
x55HaO7kocgT/IsGXdCKiCkQUoMyxztrvz/5rd15c3bynlmM4mTZL5rlYGRRQD8KQy13V3Iu
k8TEiLWgqTxEP0GkaL0ZFKF4rt0ycAUjw60ds2cmWwZnbdCk6KmhJphzEaxv8SDerwoiq7mB
BFRi+DSyzsMXFoOoYXpSvjl7wWmH8rQA5n2LxDwpH/BE2QMxOjbsihR7R5NHtgHZKS6qSwtM
D+Ou0OwK9BuaWWaNjaxhvcCztCdzv5ORt4qOsqKzLHt1lBE7i463ovMtv+ugsOvA33Xg7zoT
/s812BsTvWbBGRO9khp0/3XH11cRiLPTFRaA3IbW6VvUkoBC3po+GBzAcm3ZmFRveZkFMIYC
0xpZJqY0k6eDsqd8Q9yjJjM5SNOQZ3CRXzitXz4IEGWwAIAqxpFn0sqFghbqT/F1P7oW708O
L9+1aTNRdaTI8s6K2b7Weq8rO+62OF+sveAt8PWb2SbNF9KlDDL6skn28pygBrbyfwFq8Yl7
a3IBAA==

--X1bOJ3K7DJ5YkBrT--

_______________________________________________
cpia mailing list  -  cpia@risc.uni-linz.ac.at
http://mailman.risc.uni-linz.ac.at/mailman/cgi-bin/listinfo/cpia