[Mono-list] Initial cut of System.Xml.Serialization

John Donagher john@webmeta.com
Mon, 1 Apr 2002 00:02:56 -0500 (EST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---708048194-789833810-1017637376=:30489
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hi all-

I have some of the System.Xml.Serialization classes finished (a lot of them are
just property/attribute/collection classes with no real logic). Don't get too
excited, I am just to the point where I will start work on the serializer
itself :) 

I'd like to get these in CVS just to avoid collision with someone else (which
I've had happen before on another project and it sucks).

Also, having some of the classes there will allow people looking to get their
feet wet to start writing tests, if they feel so inclined. My tests are
concentrated around the actual functionality of the serializer as opposed to
the individual testing of every class, although I think individual unit testing
is the way to go. 

Also, a disclaimer: I don't know for sure that these classes will work in Mono
as far as having their dependencies satisfied
(Reflection/Xml/Xml.Schema/Attribute..), all of my work thus far has been on
top of the ms .net framework.

Thanks,
John

-- 

John Donagher

Public key available off http://www.keyserver.net
Key fingerprint = 4024 DF50 56EE 19A3 258A  D628 22DE AD56 EEBE 8DDD

---708048194-789833810-1017637376=:30489
Content-Type: APPLICATION/zip; name="System.Xml.Serialization.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0204010002560.30489@bigdaddy.webmeta.com>
Content-Description: 
Content-Disposition: attachment; filename="System.Xml.Serialization.zip"

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
14HTmHOsC2tcwPuZ6U3PF1BLAwQUAAAACACXvn8smvTfeO4AAAA6AgAAHgAV
AFVucmVmZXJlbmNlZE9iamVjdEV2ZW50QXJncy5jc1VUCQADneenPKXnpzxV
eAQA9AH0AYWQT4vCMBDFzy30O8zRhaW9W3dhDx487aEIXmMylixNUmYSwRW/
u/0TtWvBhQQyyXu/eZPA2tZQndijKbM0S60wyK2QGC/znWnyCkmLRv8Kr53N
0nOWJkVRwIqDMYJOn7GuxhIUsiTd9mI4OIKtJTwgoZWovvc/KP36iNZ/Uc35
DVVMWG3YN1qCbATzKzMs4X7ubH2spCV9FB7BDVIIM3c5VbGnfv6paqMGxaAa
c7xIsIht3PsNpdVbbx2yJPPu8AGunL1tVHevx8aXp+6Ru/0rH/k1+jMQ+kD2
eQa43GERFKPOp/kHFr/tAex2t65QSwMEFAAAAAgAl75/LL5l/2foAAAAvwEA
ABsAFQBYbWxBbnlBdHRyaWJ1dGVBdHRyaWJ1dGUuY3NVVAkAA53npzyo56c8
VXgEAPQB9AF1kEFrwzAMhc8J5D/o2F6S+zoGvQx2K0s7BmMHxdGCi+MYWS54
3f77bJZlsLVgYz/rew9LwWs7QBu90Lipyqq0OJJ3qGh+rJ9HU7fEGo1+R9GT
rcpzVRZN08CtD+OIHO9m3X5L6Mkr1i7D8DYxpIitjVsR1l0QWi71T07zJygd
Lwt18DjQapF75IHE1zueHLFE+IB/tXtNpk8hxYXaDjm1KMSXjI8kge0TmkDr
1xTgQme0AmXQ+6ttwM1vUPLk6RR5z+ZrttU6Qwv9madfpPZn20mzBDQwdUdS
Avvo6KGHc/rmJqEZT+sLUEsDBBQAAAAIAJe+fyw/bx87NQEAAEwDAAAZABUA
WG1sQW55RWxlbWVudEF0dHJpYnV0ZS5jc1VUCQADneenPKjnpzxVeAQA9AH0
AZ1RTUvDQBA9byD/YY4NSHK3KvSgRylGRRAP23QsC5s0zGwKsfa/O5uk6Ycr
ipAlzLyZ92beNGyqFeQtOyyncRRHlS6Ra13gkExfSpvmSEZb86GdWVdxtI0j
lWUZXHFTlpramyHO+xCWyAWZ2hfD+5pAKGZVe2uxxMrNnCOzaByme5bsjEZ+
r2PVE+sVTsbwUdMKHadzWtdIroVP+IbdGbRLIVEBbK5JFnRIocYHdA1Vz9o2
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
RVN+nIABAAC7BAAAGAAVAFhtbEF0dHJpYnV0ZUF0dHJpYnV0ZS5jc1VUCQAD
neenPK7npzxVeAQA9AH0AaVUUUvDMBB+bqH/4R43kPbdqSDowJcx3BRBfMja
cws0bUnSzTr33710bZdu0QlCSXv5Lt93d/loqXi2hFmlNIrwRaThLF6hYKPA
Ly2EwsDPmEBVsBh76Sg5S/kn0zzPAn8b+F4URXClSiGYrG6aeLYPIUEVS16Y
ZHjPJRDFrdaSL0qN3UfYkkQWy2sHPym2xEEXzplcolbhVOYFSl3BF5xgY45p
QiSeC5wySZ1plC7wEXUps2eWljh8I4aiXKQ8hjhlSrmrh8sDCx0wE/EKydeM
IEX7NFTW4hMSHjkSEqbZvCr6GKntL2ecS2GmJ1xHM1VfltdW6qxxMDQZdWm7
s7muog/nvVt7H64dzZ2XML2CpsXi1SuZbyDDDUxy/SCKFAVmGpP7jxhrAw2G
f2R3NXAB/9S0VBv+/iAOpOSjLcjaR0fDgbp2T5kEdjTGtbFck7E7FbtrHPKD
TmcgW6Ld/IW977F6cQvU9rPJzcb5sifdP8RNS+61STN1SkkvWun5BlBLAwQU
AAAACACXvn8s/SvjIuQAAAAUAgAAGAAVAFhtbEF0dHJpYnV0ZUV2ZW50QXJn
cy5jc1VUCQADneenPK7npzxVeAQA9AH0AaWRTUvEQAyGz1vof8hRL+3dFWHF
PQiyK/TidTqNNTIfZZLZdS37353WKnPwosJ85A15H0ISmVwPzYkFbfVkzbos
YpZKsiycssiD0pjVVQ0GUobelZB3ZTGWxaqua7jmaK0Kp5tFN58SOmQdaJiK
4dkHSIiNSKA2Cm4P6GQTeq6+IHVGGWJrSIM2ivlnG1zBd5wMUyur6S7O3ANT
BGOPMoK8BH8Eh0fYebm3g0GbINht3zTOjV5cruF8zkjkBB7I4S7aFv+PefRM
80D+CvLtK2qB/fzdYlrbHfKyF+x+i03g9KbzAVBLAwQUAAAACACXvn8sZmMY
TfIAAACBAgAAGAAVAFhtbEF0dHJpYnV0ZU92ZXJyaWRlcy5jc1VUCQADneen
PK7npzxVeAQA9AH0Aa2QzWrDMAzHzwnkHXRsYSQP0DHoYYddukN2KIweHFvr
DP7CUtpmpe8+u8u2FMbooWDLlvWXfrJ60m4L7UCMdlGVVemERQpC4vhYr62p
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
yMPzpKtfCSeShk0/huGrY4iIt9Z3TC+qbOqgVMyE8h/i827vBFvK7/IDuSWV
YstdT6wDXOHBezVkTxGSLJlb5PgtJV4y30kD+z3aQKtjJPShtqaBxqLIwtNh
/YeI6XEX88hjOF+N9i2TjO07tnhi/QBQSwMEFAAAAAgAl75/LB51H/HwAAAA
1wEAABYAFQBYbWxJbmNsdWRlQXR0cmlidXRlLmNzVVQJAAOd56c8sOenPFV4
BAD0AfQBbZBPa8MwDMXPDuQ76Nhekvv+wdiph53SwWDsoDpaZrAdY8uFrO13
n+M06UYLtkDvPf2QHYOyHTRDYDL3ZVEWFg0Fh5LOYvVudNWQV6jVD7LqbVkc
ykLUdQ0PIRqDfng6983UQktBeuXGMHz1HhJiY6WOLT0ze7WLTNWMqP8wPhb7
LWBHq6Xdou+IQ/WiMQQ4wpXRsI+S4Zgg4tp9Jf7u2/Vncl3caSVBZtCNveDu
Mp7i40uF82qPydoOjoBTyR8lZtYNymqJrsdgpoisPc4AIU7/KNnN5TKRlj+A
J47eTmNwynoYdZ5we9RxNsaSbjq/UEsDBBQAAAAIAJe+fyzCNzhQ1gAAAOgB
AAANABUAWG1sTWFwcGluZy5jc1VUCQADneenPLDnpzxVeAQA9AH0AXWQMQ/C
IBCF5zbpf7hRl/YHaNwcdamD64mnIQEk3NWkmv53qWKtpiYwcLzvvQcNa3eG
umUhuyjyIndoiT0qSsNyb01ZU9Bo9A1FX1yR34s8q6oKltxYi6FdpXP9OsKR
WAXtezGcLgGixQa9j0nlm6xGqG8ORivAA0tAJaAMMo+gKOkTMx/0FYUgyvrS
ZMiSk20svJi4djw1ldZTIp63r+hP1mzej59x3Zck8etPKAzK7ExyDyRNcF+t
umTza7Id/njSIjb/R+5S/R8QEjm8Djp4O8Qd1wNQSwMEFAAAAAgAl75/LH0b
OQ7TAAAApgEAACQAFQBYbWxOYW1lc3BhY2VEZWNsYXJhdGlvbnNBdHRyaWJ1
dGUuY3NVVAkAA53npzyw56c8VXgEAPQB9AGFkEFrwkAQhc8J5D/MUS/JvRWh
UDyKNCpC8TDGMSzsJmFm9pDa/vdOrLGFCsLuwNs372Nmo7imhrIXpfCcpVna
YCDpsKLrY74LPi+JHXr3geraJkvPWZoURQEziSEg9/OrLn8kHEkqdt3QDKeW
wRDLEftKlUe+gORFld0hKuUjsPhDfL/ZG8GaJje5Rq5JJV9x2xFrD5/wz1s4
8keDJPfMlQ0QSInvmW+kkZst+kjTvRG6ePCuApta5PEm8PRLtPDwUyPhYXYy
HbovkWQoX1bs2vkGUEsDBBQAAAAIAJe+fywVSvE/AwEAACoDAAATABUAWG1s
Tm9kZUV2ZW50QXJncy5jc1VUCQADneenPLDnpzxVeAQA9AH0Aa2STU/DMAyG
z6vU/+AjXNo7Q0ggdpg0FUSHxDVNvRKUL8UJW6n230lLmSrBhQ4pie3IfvTG
TiChGyhb8qiyFyWXaRImVzFME80UkmUcJ3lZiU4wKT6YF0anSZcmizzP4ZqC
Usy1N2NcfoVQI3EnbJ8MO+MgIgpT4+odtb91DWXf9fkEYEMlBQcuGdGPCriC
kx9zewGLfo9FQnvYCI1FUBU66Br0HfhXZ/agcQ+F8WtlJapIwHp14Dhou7hc
wvH4C+bRkBjEzwWRd31bN4YzWcSGngv6L8Yw2Oen9WzWOJdtaxFOzlyYqd6Q
e3gYzB1GkfdI40/D+tz3bvHg/8qIlHjG9QlQSwMEFAAAAAgAl75/LBtfZ/9d
AQAAzwMAABMAFQBYbWxSb290QXR0cmlidXRlLmNzVVQJAAOd56c8sOenPFV4
BAD0AfQBhVM9b8IwEJ0TKf/hRliSvbSVqpaBhYHQqlLVwQkHsmQ7kc9GosB/
rx1CPiBppXjwvbv33j0rlrjaQXogg3IWhVGomEQqWY51Mf6UIk5Rcyb4DzO8
UFF4jMIgSRJ4JCsl04fn+p5errBByjUvfTNsCw2OYlUU5sUYzTNrML7OJx2C
rwZ+J7bDSXNdM71DQ/GrYERwgjsgNdrmBk6OJLgD58rKoaGFMqi3fs/huRUa
q9UHExan366jtJngOeSViduF4KEVcL0+n6DUfM8cRK7uIt4ww9aHEmcDGAqU
qIyPvgdnRSGA09IKwTIxOKqoerXg6u/W2WTqwcqQP+e/Wvtuls5NOxx0PMJT
t2dW83aYa6K3emVoWVy0R9BVtG0icK46AvLgtepE9j58h94ar+nnrYcRhW6u
F5qLRn+XMZkq/UWT/ohG53m6Em35/0WWzS83LOHeuBeRogFOd9z3C1BLAwQU
AAAACACXvn8sjLK/bx0BAAB9AwAAEAAVAFhtbFNlcmlhbGl6ZXIuY3NVVAkA
A53npzyw56c8VXgEAPQB9AGtUsFKxDAQPbfQf5ijC6X5AEUQvaqw9SCIh7Sd
lUDShEmybF38dxOzEbsqbEUIybzOe28m03grxhdoJ+tQNY9KNi2S4FK8cif0
eF6V/ohw9CnAqhy5Qmt4j78aVeW+KgvGGFxYrxSn6fKA2wRhQNuTMJEMG00Q
LLIDUpPF7Iva+E6KHnrJrZ3TQzKWKwxph73DYZ4+W8XkB+Mttl9kqznrYTII
Lmyn0QOKiltuTBzPTsmoVQkurFiDdRRdBtxwL91dHvBSnyKGT8+AO0c8xnax
Q0hcudBN5x3eb5FIhF8FOkd/8Vtr7T49gQL6765q+HbxGn6sfPqoGTs0tRXk
PJfQaS3hmo83aHOP8RWskQ9I8QGkaJXE+3Qks7CH9Q5QSwMEFAAAAAgAl75/
LJCF4X45AQAAXQMAABoAFQBYbWxTZXJpYWxpemVyTmFtZXNwYWNlcy5jc1VU
CQADneenPLDnpzxVeAQA9AH0AZ2SXWvCMBSGr1vofziXFUb7A7oNxF1uk6EX
gniRtUcJpEnJSZxO/O9Laqu1fiCDpnDS933OVy1xuYLJlgyWWRTaTpjMStG/
GikhMDdcSXKfolCyEqliOXY8yQQ1Z4L/Mq+Lwl0UBmmawjPZsmR6+9rEk0MI
BVKueeXFsFQaHKIloP5sE1DSYtIOp7LfgueQC0Z0y+hkvoSg0nzNDMJQa7Z9
52RgU4ov6+RLjkWtr3sKWiqXBkbKunftD1ZodqDRWC0vrUmtzGDvpfszzo26
4oHXHNAXOHgBiT+nWuNB1gGn6fxDSTUdv40XDySa9ejzBRwXR6cq/g2/dn8v
Q0NcK17AsChiMtr/Y5XGJd88QRNKujegxBv9iPrNxS3G+c+GduqjP4ypqufc
XUiz5iujG1yWcvS36fxxzx9QSwMEFAAAAAgAl75/LN1RQ7sbAQAAmwIAABMA
FQBYbWxUZXh0QXR0cmlidXRlLmNzVVQJAAOd56c8sOenPFV4BAD0AfQBfZBB
a8MwDIXPDuQ/6Nhekvu6DQZj57J2YzB2UFOtGJLUyEpZ1vW/T3bSJrSlYGL0
nvRFfo239QYWrReqZmmSJjVW5B0W1IvZR1VmC2KLpf1Fsds6TfZpYvI8h3vf
VBVy+9jXi66ENfmCrQvN8L1lUMSSfuRJhO2qEcqO8/kI8Hmy3zxuaHIql8gb
Ep/NeeuIpYU/uPBeLJVrhZhr5hxZHyXE18xXkobrdywbmn4pwTWr0hZQlOj9
xeJwNwC0N+RgHNsdquVV1yjXKLhsHc3GXhBAOjXq3U/O8ZNpMCP1cLsxAl0g
DiMmig+dPOshxoww/YrP/YowjGoUe+AYxfACiPPGB+8oKn8XsurNw4ge7Rtc
OWfKVZ5e+tXzD1BLAwQUAAAACACXvn8sFqFxLDkBAAAyAwAAEwAVAFhtbFR5
cGVBdHRyaWJ1dGUuY3NVVAkAA53npzyw56c8VXgEAPQB9AF9Uj1vgzAQnUHi
P9yYLLA3baWq6sCShVSqVHVwnEtqyTbIZ0dKk/z3HpQAgTQSHuz3dfdEIGV3
UBzIo1kkcRJbYZAqIbF9TD+MTgt0Smj1I7wqbRIfkzjKsgweKRgj3OG5vRd/
V9ggSaeqmgzb0gFbrA4Vvnjv1Dp4TC/6bGDw2cHvJHY4664r4XboKX3VgghO
MAEK74L0cGKTaAK+2WBuiXLr0W15z/kX66qw1kqCbCLG48JDL2duvX1UObUX
DK3LUoOyUocN5raQ32jEYkggFnLDlm69eo6pC2+ajy5TjPNn8xpsYs/3iQPb
Jdv2uuiSBE8dupgaNtvk19tAb8LFHcGhD85OdoZzQ6GaMsI4cy90wJZzHdmO
vOx+u9tx3B+coY+wNHUde67aRf+x7Mq/Mh4UNbbnw98vUEsDBBQAAAAIAJe+
fyxwYDGN8wAAAHoCAAARABUAWG1sVHlwZU1hcHBpbmcuY3NVVAkAA53npzyw
56c8VXgEAPQB9AF1kT9PwzAQxedGyne4OUO8U8RGt3ZJB1YTjsqS7Vr+gxQq
vjt3xlAnJFJk5fze/e6dnIKyFximENH0L0bv2yZVV1S2jZUGg5MjVr5+QK+k
Vp8yqqttm1vb7IQQ8BiSMdJPT6Uefkp4wzB65dgM71cPhDhPDo/SOZrW/3aL
qt2lV61GGLUMYeGHB74oBVl5OgGcVx8yIoTo2YQaDdp4ovj7VQMvNvBiWV6I
kcYdktbb7ewoKunZ0pXQxfF8TwCs55y7C8YbeIzJ21lG+GI5H3PM6e8B1iH3
PSpEJ/6DztVOG6zZ2hVOdOs49m2TlpQciv7o+wZQSwECFwMUAAAACACXvn8s
zJkVPTIBAACTAwAAGQANAAAAAAABAAAAtoEAAAAAU29hcEF0dHJpYnV0ZUF0
dHJpYnV0ZS5jc1VUBQADneenPFV4AABQSwECFwMUAAAACACXvn8smiRgxvQA
AACzAgAAGQANAAAAAAABAAAAtoF+AQAAU29hcEF0dHJpYnV0ZU92ZXJyaWRl
cy5jc1VUBQADneenPFV4AABQSwECFwMUAAAACACXvn8svLpeIB0BAACrAgAA
EQANAAAAAAABAAAAtoG+AgAAU29hcEF0dHJpYnV0ZXMuY3NVVAUAA53npzxV
eAAAUEsBAhcDFAAAAAgAl75/LLmIardCAQAAWgMAABcADQAAAAAAAQAAALaB
HwQAAFNvYXBFbGVtZW50QXR0cmlidXRlLmNzVVQFAAOd56c8VXgAAFBLAQIX
AxQAAAAIAJe+fywUCxcl5QAAAMYBAAAUAA0AAAAAAAEAAAC2gasFAABTb2Fw
RW51bUF0dHJpYnV0ZS5jc1VUBQADneenPFV4AABQSwECFwMUAAAACACXvn8s
Q8pIyssAAAB3AQAAFgANAAAAAAABAAAAtoHXBgAAU29hcElnbm9yZUF0dHJp
YnV0ZS5jc1VUBQADneenPFV4AABQSwECFwMUAAAACACXvn8suif7J/gAAAAG
AgAAFwANAAAAAAABAAAAtoHrBwAAU29hcEluY2x1ZGVBdHRyaWJ1dGUuY3NV
VAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LAuihxIoAQAAEQMAABQADQAA
AAAAAQAAALaBLQkAAFNvYXBUeXBlQXR0cmlidXRlLmNzVVQFAAOd56c8VXgA
AFBLAQIXAxQAAAAIAJe+fyya9N947gAAADoCAAAeAA0AAAAAAAEAAAC2gZwK
AABVbnJlZmVyZW5jZWRPYmplY3RFdmVudEFyZ3MuY3NVVAUAA53npzxVeAAA
UEsBAhcDFAAAAAgAl75/LL5l/2foAAAAvwEAABsADQAAAAAAAQAAALaB2wsA
AFhtbEFueUF0dHJpYnV0ZUF0dHJpYnV0ZS5jc1VUBQADneenPFV4AABQSwEC
FwMUAAAACACXvn8sP28fOzUBAABMAwAAGQANAAAAAAABAAAAtoERDQAAWG1s
QW55RWxlbWVudEF0dHJpYnV0ZS5jc1VUBQADneenPFV4AABQSwECFwMUAAAA
CACXvn8spLwlAj0BAADgAwAAGgANAAAAAAABAAAAtoGSDgAAWG1sQW55RWxl
bWVudEF0dHJpYnV0ZXMuY3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/
LDVtj39iAQAAQQQAABQADQAAAAAAAQAAALaBHBAAAFhtbEFycmF5QXR0cmli
dXRlLmNzVVQFAAOd56c8VXgAAFBLAQIXAxQAAAAIAJe+fyzkNtsvugEAAAEG
AAAYAA0AAAAAAAEAAAC2gcURAABYbWxBcnJheUl0ZW1BdHRyaWJ1dGUuY3NV
VAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LApbxO30AAAAIAIAABkADQAA
AAAAAQAAALaByhMAAFhtbEFycmF5SXRlbUF0dHJpYnV0ZXMuY3NVVAUAA53n
pzxVeAAAUEsBAhcDFAAAAAgAl75/LEVTfpyAAQAAuwQAABgADQAAAAAAAQAA
ALaBChUAAFhtbEF0dHJpYnV0ZUF0dHJpYnV0ZS5jc1VUBQADneenPFV4AABQ
SwECFwMUAAAACACXvn8s/SvjIuQAAAAUAgAAGAANAAAAAAABAAAAtoHVFgAA
WG1sQXR0cmlidXRlRXZlbnRBcmdzLmNzVVQFAAOd56c8VXgAAFBLAQIXAxQA
AAAIAJe+fyxmYxhN8gAAAIECAAAYAA0AAAAAAAEAAAC2gQQYAABYbWxBdHRy
aWJ1dGVPdmVycmlkZXMuY3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/
LDH2ZF8kAgAAwAkAABAADQAAAAAAAQAAALaBQRkAAFhtbEF0dHJpYnV0ZXMu
Y3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LCjREjoWAQAAcAIAAB8A
DQAAAAAAAQAAALaBqBsAAFhtbENob2ljZUlkZW50aWZpZXJBdHRyaWJ1dGUu
Y3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LGz2UJeeAQAAcQUAABYA
DQAAAAAAAQAAALaBEB0AAFhtbEVsZW1lbnRBdHRyaWJ1dGUuY3NVVAUAA53n
pzxVeAAAUEsBAhcDFAAAAAgAl75/LDafKQztAAAA8QEAABcADQAAAAAAAQAA
ALaB9x4AAFhtbEVsZW1lbnRBdHRyaWJ1dGVzLmNzVVQFAAOd56c8VXgAAFBL
AQIXAxQAAAAIAJe+fywNrjAN4QAAAA8CAAAWAA0AAAAAAAEAAAC2gS4gAABY
bWxFbGVtZW50RXZlbnRBcmdzLmNzVVQFAAOd56c8VXgAAFBLAQIXAxQAAAAI
AJe+fyxc539H5gAAAMkBAAATAA0AAAAAAAEAAAC2gVghAABYbWxFbnVtQXR0
cmlidXRlLmNzVVQFAAOd56c8VXgAAFBLAQIXAxQAAAAIAJe+fywW2etdzQAA
AHkBAAAVAA0AAAAAAAEAAAC2gYQiAABYbWxJZ25vcmVBdHRyaWJ1dGUuY3NV
VAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LB51H/HwAAAA1wEAABYADQAA
AAAAAQAAALaBmSMAAFhtbEluY2x1ZGVBdHRyaWJ1dGUuY3NVVAUAA53npzxV
eAAAUEsBAhcDFAAAAAgAl75/LMI3OFDWAAAA6AEAAA0ADQAAAAAAAQAAALaB
0iQAAFhtbE1hcHBpbmcuY3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/
LH0bOQ7TAAAApgEAACQADQAAAAAAAQAAALaB6CUAAFhtbE5hbWVzcGFjZURl
Y2xhcmF0aW9uc0F0dHJpYnV0ZS5jc1VUBQADneenPFV4AABQSwECFwMUAAAA
CACXvn8sFUrxPwMBAAAqAwAAEwANAAAAAAABAAAAtoESJwAAWG1sTm9kZUV2
ZW50QXJncy5jc1VUBQADneenPFV4AABQSwECFwMUAAAACACXvn8sG19n/10B
AADPAwAAEwANAAAAAAABAAAAtoFbKAAAWG1sUm9vdEF0dHJpYnV0ZS5jc1VU
BQADneenPFV4AABQSwECFwMUAAAACACXvn8sjLK/bx0BAAB9AwAAEAANAAAA
AAABAAAAtoH+KQAAWG1sU2VyaWFsaXplci5jc1VUBQADneenPFV4AABQSwEC
FwMUAAAACACXvn8skIXhfjkBAABdAwAAGgANAAAAAAABAAAAtoFeKwAAWG1s
U2VyaWFsaXplck5hbWVzcGFjZXMuY3NVVAUAA53npzxVeAAAUEsBAhcDFAAA
AAgAl75/LN1RQ7sbAQAAmwIAABMADQAAAAAAAQAAALaB5CwAAFhtbFRleHRB
dHRyaWJ1dGUuY3NVVAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LBahcSw5
AQAAMgMAABMADQAAAAAAAQAAALaBRS4AAFhtbFR5cGVBdHRyaWJ1dGUuY3NV
VAUAA53npzxVeAAAUEsBAhcDFAAAAAgAl75/LHBgMY3zAAAAegIAABEADQAA
AAAAAQAAALaBxC8AAFhtbFR5cGVNYXBwaW5nLmNzVVQFAAOd56c8VXgAAFBL
BQYAAAAAIwAjACELAAD7MAAAAAA=
---708048194-789833810-1017637376=:30489--