[ltp] [PATCH][2.6.18] ibm-acpi: extended thermal readings and fan control

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Tue, 10 Oct 2006 20:04:01 -0300


--sXc4Kmr5FA7axrvy
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hrnf, apparently I hit the "flag for moderation" limit of this mailing
list with my first try of sending this.

Attached is a single patch implementing fan control and extended thermal
sensor readings for ibm-acpi.  It applies against 2.6.18.

Please test, it should work well for *all* ThinkPads, old and new.  If there
are no problems with these patches, I will submit them upstream.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

--sXc4Kmr5FA7axrvy
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="ibm-acpi.combined.patch.gz"
Content-Transfer-Encoding: base64

H4sICD4DLEUCA2libS1hY3BpLmNvbWJpbmVkLnBhdGNoAMw8+XfaSNI/y39Fx/PGC0HYHLYh
dpwdxyaJd3w948zMfjN5PBk1Ri8gsZLwsUn+96+ObqklJIzn2Dc5AElV1dVV1XX0oRPflQ97
orW5u9nsbrmhdyfDaMsZzrwt72Y6wB+bw7WDP/5nrV6vq2Y2g9C7LW2rVqs9xc4PP4h655W9
K2rw2RE//LAmvvP84WTuSvF64vnzh634cSajzfGbxSezMBgORvlnTjTdmjvDoYzoSS2P5U49
wsjgIFv4MVCM5mnyc9+ZymiGz5DvVqMNLNdajW3iXJy8PRt8ODw/Pu1VJtK1hRzaYr1/2jte
t62tl2Kn0xAvt9ZMsBspZwruba93uV7dR0BnMhHyYShnsbhqN2z4aOYR5TDUDfSOro4VYkEL
cngfJoA/X2UB6wbgyPEjBfju8LyvAH9pN23xyzZB11aGxg9mOcPLLWAppPeAlZWKJYRY/+23
d/1LFBc+2W005NaDLTqdhqTPBwQkwTd30WJazY7dbL3KiT5KW+kvtPKdK0eeLxn+x96/Bx9O
jq11uGo0drvr2eeXRyf8+PL8snHYaMPjtZr051MRj2U4dSYDNrLBNAAT+bJWswDr8OjyZHD9
oXd1dng6OL8474kD0SAWzgONJ6L5bBaEMQl1AYkvzi4bHUL7GEmBtwTeqneW4Hy8PL4uRLn3
4rHAp8XI15e9o0GXZZ6g9o5EKG9Bx10RST8KwmgJMqijGLm5m8H+tr9WW6ttvVyriZcCdAPQ
R71+X5xdHPf6eJMe6CYAYHB1zH1De9mjpxa1gNdiKuNx4O5BW/E89CMBihcTeScnCSkrkjJD
7+crpoeWwRDAa+OhNRJ+EAvnzvEmzs1ECm/ETcgHL4qjQtZMUiZrfZO1SMYGX7ZoiEoUB7Oq
iAPREZWp81BNmdWsTL3bcSxupMHPy1EQQj8d1/NvX9riZh4LHyiGAu4z8n3oxfBws4xXVJRi
83rs+Z8vHVfpCXoIhKjlygcYf9U94ngY+HEYTMQkCGYCTZyR+2y70hWBD55qGkQxOSxNNBWW
9Q6oRDMJoMOx49/KSAQj4fiPIkLjr7BzBZ5hXARgOkNnHgHszSOOE6bgemA+t84t3EYOqsIJ
pZhHc2jwUbgBDNRoEtzDb0YSIy+c3iOME6VEQMjeFEatM50Gcz9GJrB/7jx+FMPHIUiX2RMz
EEMkod8ufMkpkAiYAqhi4k096HQqXuuKtSG8aKntbDL0z6yeQuh+Dpox3npseJboWM48DqZO
7A1JDELJZJ8AhWVVwGs58wl0DboAYKAZgoOeolS0aqpM2ErsEbnxbv0gBPl6PsDCNSJucru7
qfyZXiV2PoMWZ6EcSlf6Q2gBbfDGi0WnStxYVrZ3ZCMTpOx/noFxbApx7EX4iPtmxc5wHMBo
kRClHBQ82ksk5jPSEYySZqPxPemqTrqyGe1+7A3HGhiaB/h3h1fCuQGGqM9RDNSc0BVXl2eM
Qj1GBs4csB1nir1CyDFAoc1wp3fqbWvukyGCRCJgjbpOiL2HOHSwtxEOu6y7sSwAD9DBRzw8
o9iDjgMh6GqE9ohyuHMmcxAgsclYHTF1ZthPYhrSCzViAIFV1GHNyChhhBBb9Yahx0pjc7Oj
B0aVKVuNh0YDog/6G6V4vNWBWzAiwA/JWNyPJRCXUzKbeQisDdFOh85E20ofJZCMbcB8BIGB
jKmr3Dp0GIaLgi/ykJghiAokB1uQG8D/ZuLzrHcnV2c/H171xNuP7/fQWgyJ2yLrENGyYCR6
PnDoTLz/SpdIOHA3COJNcTibgRr9eMK+AJDdQPJw83yFArYC3AZi7pNakD0ictyH6EjgUWAL
1LBqhlWGA2UqHR9GMOIlo7TMlXa3ReW0/7Zq4+8dUTmD3+R8rTMH1EmmnRi+9uvoEdFcy6Tj
TO6dx4iguQnwdhF0h1RxDyMVeB4GIQzOmLAV2UiJD7QLLmKzhDhZgpY3Duhd7DPYiM1uIekc
OzCi4PkgHM91TL9ovcORod3wzRyzgFCOADEOWALjOJ7tbW2RS7j3PntQQtxu4Y+t3vRGuq50
B0cceiYyHLxTpL7TPwYnUTSXy0MyGtxeVj+Z1BTG8nnWCdMQE7/sNoyOoNVSRIfo4E7knmDv
F49DSCqc8HY+BWOLuB2IQjxwbbAT14Noo67GIHv+DY0SNTI1M75Y5AFohDNt5dbAKfD4Qmcw
AnEE96q1/vXFpTi9+Jn+n/WO6f+Hk/cfch8EXGG3Dm2gQmNy9jDQoHvgNOCzi+TXG3YT/rbg
b5v/rhuJyfU4YQq1mhJhyUQMVQFih3vw8QrsHi+O8OKtuujhxXF1M0MVI3Wou62DGDtAzJwg
JGCC7aGKgEnVmspi3vWbpzZ8nOHHh33xrt/C6xZet+i6jddtvG5/SJs1lACJ8RDkLlQ0AYeI
AdFHrw3czKRPwzLwGfHOCb1gjuncEARghuqCVAspORPwNKmRUXgbB/OJi24MQwxjg56HwXSK
jymHcXwwFRS54TETg2Hv202DD/OxhYk11SbwYADBL55HpeUJspmWJqo2QYKMJ2AE6+Qvk/Pn
E/Js0k85TxE8iqO4uiBvQz5yu06OMi0Skr4oTpZ2BmSeL7XMDHaBKTN1z3aiX9gJpdPCTrDH
LG0CvUi2CfIrqOw8fknHlW1EC70+Ojse9C97MPQt6DgE+0aTWlIptzKpBc4Q7bT3U+80QWsR
GmcSGq0Yr3d++Pa0p/G2CU/6aN1bLqd1Yjh18735YuEfAH1nKAW+MUeLVV1pmG0wGuFQPGDr
QLyFOiVBCWdTE767zTrKR+M9AdFYBWOIxaLCYZb4giFI0XQ6jyi/oPh6IyHDkyIxypwsoOY9
Pun3zt8fvtfi325oVtFE94z4rtrBhox6ZkG+QPPw4/WFRdS6EKhMalgAoFUYtEzrZmGj/KBE
gGRH4AybTroHcjgYQeWD9cIajPFwPmQA9fPLmrCgAgrFS5ze2tdXkEw501/brU/7NOfSbHVa
NtTztWb71a6928VZF6NBmjuDhrAMlRViwRbzrrirAj0u0EUTaH9bE2t1A09PpcTT2SDSpeV+
Ich85sYmjO5v6ZSMvocapTv7OCFVQBlzvcpd4EGFBNKoox4zSTGmkJFZ9+50QD/vtx/sZIIO
P1o0p2YVdgnMk0UEKdOoAoLiYGaL84+np7ZYvz677KzD93/u1rGSskB0mHo5Tfxo4R2Sqf5B
tKCBzvPoCu5c8cxaynlW0k81gTNLJutQ0VYK7U9sbECZC2L1MHOCGoNcmoXzQWTRxx7mrmj0
rEVl+3oGyYmTQR0pjMZDpwuRo/MOx/ZRA34edSB4XmkwNTVE7oqnSgjND/y6N51NJPKBWVoy
MaeaStC6DcqMEzwjaeR77BugjG2CmEBT6IZQCBZWiBWPLoUnXosufNVqqssko4n3WU4eK3rk
oJVWsEOihmNnI65WNTSR/wr0ibL1TUDYl+Yz3ahl3QCZzwrsiZaOGoUttX5nS/SBrREYwGma
YHDXmIJi+jmWkj2LH3gOF8r3UiV2WMc7/iMUOewcmVpi6QmLsxBGwOcKTtH2rq6UR1xPMn0d
m7UNedGNhKQJMjmwUQ09gkIZc7sbZ/gZsyo9Xfpgmt5vPhs0dj3vSkAQ5RO3RcL7M7jmGMsz
ZlmDZbRnMow5k6lAk98CfCZcQQt5Qer9p+KrZE5Y7C173t3XRqPaLVJ2cm8V32PYW7GDqz1H
kUh5f0EsQLuvZ5byNmPTvEpuvvx3mY4hFeUhf388qj3PFjA+JwG7QQGbo3/3ld3ehui/vbtj
73Ry0b8okBY8JsfDqcaMQq2gYDaRvvYrKnGA0OfjZQRRcDr7tbn7Ca8IE669Xz8BPIY2b50S
Hwsp1A4g88VBNqrMwLHBLdtaN8W291tMwwPpUuVXWRAMm9DQiaQoMeq9Jb498VkvSj0tdMar
dT9VVfKp5FzvnVzsK0WjZ4J6OJjfjll95dx0fxczaYBBZkpZQZVUCiznoEwy4A9Ec0fsCbZh
FR4w4yAuCrOiKjwtU57IKy9j9ezq6pYaJHUrMR28W2Iq8EBZVBcMqk5Yo7SX2bSHeDMl+IQL
Qg9Upq7Eo+xpr/YsmovaWZ5dUMfb2PN/NP6B2t7PW0O+3Q1MNgEL2nSxTVFkEhZbDBmGqItW
BzxMTexUxZZoNhLHRZaTs4FlYiG3t4ctlndKFHdK/NFOaQ0vs4Aneo0gaIQ52DgnsZi4LZNP
+SggsoL/5AfE964o+gdDI4OGPDQ+2exJ1XdLfbc/LYBuq0c76ntXfXc+UW5RqEiMHmjaagqP
rLx0WBeM41qiFwBBSX0jo8kbhC9S31ZKHmSwzhx7zPESSBSVAZpGPmYDuaDot9Nq2V2sfTut
pt1u58PfXTCZT6WqfTm+3cxH1XwgzVa+ZTMe+wtQC5Mcudq3ZMqv+HYBbtEUW8n9JdjJPFXR
zfz8hAmjePzsB/d+Sn/ezQCp5RgFXETOyD1qX7IzSmbHDkR+GnRfAReJ4UAUzDPmEZKeqySm
rHPwvMn5B/oc3A2jXFVSCHMiV5q9rtQlc4Z2fzGRxGVIXrxLVvX2MKHE6RKosOUdjJZg4oIN
PuoaVxirXJEeupGerE4mopIZN2a2rPBcsHtbqDpho1zhaYW6qgwwK2FhU7dP1NJi0mnIMKVH
clCLheBrkqUBwoKOp2uNSW+5bZqhp2UVyCOxso2DQNyEgePaGteJsLSdUIEJuPLBGcYipI0G
wUgtcQpnNJLDWE8HWuVzJypLW2JajcVqpajmfFbJuW6sCuCssFb13E+mQdKaM/V1uoRJbD0q
tXW07vq/Tg0DX2kYJtP3+3m0ZDB+zSIl097K2L6K4snt/JCh/GJxrGIH8C5trgpwvR8vcI0Y
y7PF5Yfc2FPqTyahxPVlsvpq4iVGgRvuchwU7rhbsJKnxYgLEvuLiMsEScsOei66QJSmoJeL
Oj9NsjLranw/h2uTK/EkW1krNoz7W24WmUL0E5VtnS4jTG0gsE0CXBi2hQ5mukhaMDOcOrs4
vsB8CjzKoesWenpaUfqntheubUWl2FEWVLiL++zEU7Govph3G7xD5h0lpYyrShiEn/sqICxB
JI4z2Jy4Z/J2sbRupJUsyI8xQ6YML6JS0TS0Ulxun5FxPk35wTxJNRemXKOaDhPrvBbmrkMV
rCbr4EIBK9iqmfnXSnTBm/WEldsNvLJGykPtho6nlPavIoa5j7RSV1836p2VxchVhi4zlJgq
WtmdKkulyEZW6EpBiSzKBZJm00BiElTF168IjHwtA4augavdGHtPig6XX/+A5BJ0o5LTgquM
oQyCwriK4EEqtBelecHGBmVXiJwa65I8K8mxliewOiYVgukA9cxBZo4yPWhWHGJqVHGuwQgb
onTBtpqEz+Ps/lKxsL9RR9TSrqQrumkilExnl7GC67zVJwjjim+W5BMI2texHheTwdXGOimw
UCXps6rO8FQidx6kFQJuxYtwSjq3ddeGfDiCIjm3Lo45NoJPcNO9N8rkTUp68Fw1bRQWq2gZ
bF+bfqml6szM2I2H/IxGxJDS/kpDPSscQ+5POLUid1RLR/zqXqlkHncV01nwOTpzK/I3Su/L
ItizpoMy5pcrK3giqL5QQ6BTLKggliUFOjGEhniny2v6erOemWETFXUbzaBR71S1514oAxQL
q0Xn2oK/TPLUjeI0tfpEnlLaHbXCkUkDCxJqRX9BdblTDcuspkRWNStjHBkjWJ1YWoKiI7QN
d1LQTL7cXFHQnO5TermKnDnyECtmTM9XZ8owMiennscXVVcrs8XbvV7TF1izyFoz32ah7u7s
tHeU+ETRXGd+4nFhQrNWBDAgxVW43oFfahMNow2nrq5+1BEY4ohXX+7H3kSCM8c9YwfClw/x
AH5WNrAtmvBRSZwx9NGpq2wtioaOP0JknfOL7yHbBi9KXOBSVdMAZ4g3kEdgUqQGzYHoqHaK
ZyRWGkVPDyKaC1vSftFCRmTWRVwOqaLoDnvJnSxZ1DCW1E2nhQ1HcQgKH05nSnBs1evVZMtG
3Xpe2ZFNs9lkCrJ13EujUuc/wq4afP8Lfhur8GuMfGVrVt40eYCyadLvjGkSOEFo01AD+kDw
eE27mHEpmotc7XP+0+HpkxVmbp98IYA6L6bSLTbXFweFmWyaaJXCFaZlmuxrVOTXr8kQwXqw
Wtyv3PLpEv3p8VG0eprI7YlCJyNFM45lJ1a199F7Z9FBzHBSF9ev5n66U4ND2rqxxYjNosy7
mAtjhm6/5eejaiWOmcd2ReCqiFDLIn/Mo61sMU8rqMiS/kR1Pe2UcUMyKChyRjJ+tPUmNJYZ
nYlQB7DWjbrjGQ66U9KbFU1K8fG3synlgP+mRqW89v/Qip5pFUsYXNEwko32fzfLoLhFaSBH
uT/TNDgNfCJMFmVRRnxeUIeLc7OUP1nqtJb5VZhbiSTsioLwVOdVA2PbyzJFZs9p/PVqXNiN
UKxGSFpURk9HNESSx9sE+DIcKs0mOX26pp3P1tiDYgWnEzYuavFuYS6BnBrTZ0XU0kpwBZpp
3pGl/ETpAAlMs2rIscFdhL6Lg4XCh3H2zWWi5tKBghJWofkpERdIIUnYX+i+L2dStfRcBrWf
/x0cpjn6iizqtp7LI3ucFcxU1Zy1hSU19TYD7Uwmwf0b8ZpPcMIPPLz5Jl1ZW7Ccgsx+Rcth
zhln9U5nSvEvekcs19jcUWpGtamqa/ECboK/LK+ydZL/vPkpTuM5nC54DhTPBqigqmdgLSTs
+XOZTo8+p001VZM0WikeTbpZPYlqldh0wt6fxR9P2ZTIRJlpRiaL7XFOgPrLBt/UNsKhMg69
+rx4lgt+RrTlFaMh/hebeKgL98Dyi40g4tGOtk5zm1+hs6teXrQayZQcdJGip9ikA3MHyTI4
36TemyaPk8piE1eb1F38ybDmmSBMwujuN/j8po6eversELPbrV27tW1wSzkoRXtkWD6ku89B
ZtPgTg7oFVFAOXykwHt8cmUzQhgEMRhEWC0IhgNiDlyKHH4euFNvADEZ0k5zd5kSDj505Z2H
S0XwDdxjdqE9DfuYZG3kutXGXUa+vMe3XRy2m8bV1U5DppeM+Eu7ZUDgBMf/iQgkJaN9Ifrp
ixL46CIdDKYTgoA6n9XjoI5H88Xbk4s+konH8lHc40sp1IsUXBnT3qNNQlH+UEpRfkD/1Iti
SLUHx2cng5PjiFC2Uk9TYQmQwDzfVYKpIPRx76fB9b8ve4OL3tmgf311cv5eJ2IAlXFDIFn4
h7Tqb9DYwM+C5ow9aOotASJ9S0Bul3SzJG0ViypObCd7BJB3b4RYUXjaBl/xgNnebduvcvs/
lxEzcrHzCxBDursVItEZ649e0ERqTl+dEEoKTGpzmucLEKNaSig8W3ewaK5qSysub9HbBdT5
eTpyjzYQyv/MvZA3n9EhdvUKrcHJ+cl15c5zaQWm4H4LHpwUvm1Os48vWRtgqPyL3zhX1F7B
W+eKwPhYSxuVil+t3bxfUVolFBhbypwjNNA56pUsFF9OB7J/6UKjG3gecbSfPFOukgjEkPzf
VtypDaDVFIRpDmCgOqnvgGwWB5rjQpAmKLyE2JE6G17f/ZZNFQqZDuRUNR5lOqB81xgcNu7Y
dKdGtuTZUJXgm5KgX5V5V7ysAuO40kitFns+dnnJhu0mbdg+YDrm2YTURYA/C4aVyPuvDEaV
l+QF0v0MeJndxPhj7+o82cWIixvLurgncEsebrOEKBA+bpYsGSmGEi2WeKr9BK5Yo141hShS
qKClnBVUip6BzLLbJF/TaGZcTV7BrhyC/zDUiUe3sZJuNvZw1F/4NwEeVDvmBsSJD/qZ8vuh
aMhbC7YNdkDGmYiJ6TWZXu9M9FnQakpsqZkRLaMcZlrtLtE6uQR3xowt48ubJQLSvH3LuR71
jsYt4+WOf4nLKWrHcDVFj+ldhR16R2THphPztGs+VfqADA/jTcb0eniu4rx3becfXF/82Dun
4Jl/0r/4eH6Mm4Uyd0nKkFA2QQ/FD+z8k9Ts8XmLkjCRvDbA8Blfcno4Dob0RhzSI77is06v
+Iwf4r9EHUuaM7SyBAqVs91u2K0dUcPvHQoA1+kRm+QgJ7RMrxpNXl4KuRHK5AzffZe+G0u/
LDTyHjDfmgZEAg874+b6Aro383gN97484qn4IOI95keXHzPA+ixg5qVmtHWb3zEYba7VaSv6
SCrq4+D+/1u7tuW2bS36jq9A82I7EhXL93rmtOM6OY1nYsdjq03PIyVRMmuKZEkqqf7+rLU3
AFKylXHSZjJxTEG47PveBBZqG8CfZlWxIDxaU9hEcKCm6WyWECfLz2MgsaSJWryoeOVjRAF4
6ttkMB/IY3Zus7iaI4JI5qDq58SBmg1YTDdR8nfMPc19bgESSCXuTY4t5JyoYjTLJSwzuxon
yMH/2cw5SJFNuZWos6+f1bSU8XC9hjYQUDelwCbdglNNkuRtx/Clbc8akIWOBVegOzXfVM5N
+JiqAw/g477hwdmAAd9NwPmpLUIQkpeZUZPkiv9GSiCOHtAvvfvj9t3d1fW7m9HFh3MBAxqe
RH5ATy85f1A9IoDrNke/gqSoAIhhh7ma16lALEDitGKY1AH+rsVWEAJ6GfhSVI82RqhPUkq2
YH+7f2c/XY3e28uL30ZXH29+sKPC6oAtM/t2VSxBQkyOhAbpM4fr2OXJf4YKMyIbrwSCLCti
Bwkp2c0S9LD2k4CTddZoelIHxXBuO2A/gKg5GEho5pndzkxJhExPEJo49VharMvL+hn7LjCA
sIjvjr5N2tcOcZ8jhjk6kL/H9mhoD09EUuzhofzkbozRQ7GAEP9aLceCn1Y8WlL47nhoY5Ct
EUY1VTwhXiDyOhqeeCI66Vee5ibid7K4bIpSDjqCxBMVBsRHvh2n+DmuVqJRnRMKRK1bl8WP
utLR0eGb8mua/WStZ/yLVR4fIAZwax3qT3yAp0fu6TP/kN5UgkVclgLJNXuCgAApKx9WtczF
r7DmmpAub4B51SvI+SLS4EjWaXcVfYubkUGBkGvKh3vC7u1Z8cgdHr33NIcG2XI5zhCysQFE
fK6nq0AVmQ7VveLBoClfO2ly1s6Z9sljjQXIR9MTb7Mrcvzzns/8CQvG7hQeTjWwjGFTqvyc
LmoI0sOjmOgA/7lG5GhvL6+YdkKxTHSIh+/fvjU9frqrRBJt0XWb3uHzz+0Rnv/Kbo/xn19k
vJWJTvDLzZsLE512n565pz22FfjDsX50DnYSY1PIZnon8qXVlk9Pn3xZkVops77N2WYPT5v8
GA0xjeeWqgpN0aZ+7dbFspokNL0dHaQ2eEJGIKQS6ConuSF2Qsq2H6hIX/Wk7e7+YZFOi/jv
N6OuHO19TbyuiFR6jn4iJ/LeDwz+LOc6n3sRaCsCzZ0PM3jIlHiteRJX4Pj15dUFkXKbvb6r
KyjC6Pu3F7f3YpV0JZ2WIBUXevkenaD9w7hKp/NEcIvf3l1c21+W8AnIM+wVm2B5oUnfLnPG
h55I8HWclT5siuXkoYyn+C5E87b4IvCX82UWN0XlGsnUaZvWVjVOKOD/PbCPyYrG8cXeFFqw
bsFCAWkSCkiYQzqXs4vT5aJ8JuBLJvzA4JN/549En8enw/4BkoOT/YP+saQHL3XP5h84YPvN
Dlh9USdQo34tykYMmUSEbDxZVhKbzTzq88AG3EibalxnorBCCaG6+LudFTrc4uQpowZy7NJE
6E/f2WMGEqJAkyFDWMQddE4c4x+uVtpx+mPnoGTOsYEHmC9rh/C64fgGG7Hpy5bcD5vXJT4h
p3raqyBOsygg0eJThG8H+bhGrSAOpve91ArIS0It+J/vJ5cVapneNnI5DxV8J9+862Cw2vqS
tX6FGX2Q1637gktcryNewgyCMO5IrtsuKotun3ZIHWc8eYnUKJ7+iRjIv43GFIsZzcAmsHJH
MImqXLdd12Fz6hfBJJU4lc3BBQEIFWVwMOJgCewO3EcyDd3pmmSr8it3CFQLt6bnoc/95N0r
8cmkqFTPCj2YnHovEmdzJLjNw6LvAZ1NbxzXCvSznhyxz404qJ1M5z25Tgncd7DIDoFbv9+e
fKAYSMW0nS2RZ2MivAvK9oSvF+ZF3wGmqhRz0yUmFwRTkNJrRVn2NkkXzTI3CAIqIc4Z+JiO
w3hId1iiUsC/4UIlNnLw7rJagXsvnUGLcxG/PmJ4TfcEl1goMSvCmW6yP35kOPwZsWjmAgJR
YrK2sR5V0bsScRd+VhrL+hRD5uQOHGnFXogkgRcZGbZkS70vAVX9XjL704Y34ZCuid/N82wT
07vN4gk7j2VChReffS++IthgTosMljZEKs/db7Eur8wIpEsyuTPvaRBE2V1fdJ6crkXLawDy
mnZlZJ39dHF3wyLRxs9z8E0SxyyJP7en5gPhHPA2fROExUSLIk/h+r3HeVomaUWejHbfk4cr
qQwIieEQGr6vzRO6TQZ8FBGplxKh/gFGXO9G6Awnh7Fn3zUqcU0VN/plo5reRR7EiOQIxPYm
g1aWCVqN9CYXNs4CiHkyQUDk7jMI1hX8nxTwM0muJpCqWyR1vtM4ny+QA8Srj9NqBhFtfYHp
qaJopcSNIi8GOXpgGbTQTUKSkTpYGk8a06sIOk7kgwWiOlnnx04eLJofcItVqLxEscrF0REy
r2XF6OS+xIJnzOOyVT/MhvK+rHK1ghKodNAbNmpmUGcYobEMe3yCkedVktTuHejmkLZtexTa
ene0MfJs5hDzn6nTTStxZ+jlxzCio6/pbY7ZNh6uD+kwwOFxM41rBWvdxRmZmKPg3qcuMEuc
baD9XMLzgGtpsxNKI/Y1pvG6ZSQini6tQlVJbbqPX9JGQxDBL1chG9it3EVc9zL22m3cNdGL
2Wu/wl0TvYy9o6di1WGuib6Bu3Ybc03U5e4W5tqtvA3O0W0u1xynbdH6IOd5zuWFlniVnbUz
YTv2p6cFbNFlfuOThDyd01din5pkzqiVfndfLqsRJ0EX7GwmIjssQu0XIq5qPeDY9bAYbPrX
smiSes+j7ncviwlFWVETZw1J2LXePNA5HKsXwcOhRq1H+1q7+Xjz4X8qfUW4KWOvvx4yOhqa
LhFpse0kqRrWFpRZlPNJ0rU8UKtcYFE0BmIfzN9O9o/6wwPkbycnREbGo3jMNR+e7gvN9LfT
w+P9gf1db/7AA6a3Rq7BSQT8xduldprE4Gk0IKqTpsnkVopForGpWOi4MQol00qyE6exwPOX
pcYrdRNLru9ERZyGyIqYDkdLOS7TFeDW920WtTtvI6iyITlqoeuDAWHkz0JYlnIFbYk9W7Vz
luVKMheqEt4z1l72dqGY3euSFIdmUxlMtD0iO5ezZt+oF6NO2LNTd25u4CtX9ZaYc1XMEbKG
tUP+eHUIA1dFDfaCxagz1eoeaYpwG8pw1Wg/jBWqVNLFlXTjul1wDbzkiIG7kj28wKLiblzN
ovt/eOWGy2I0KE4XZeGuUJCyI7cKqS/IUsxpxWxJHri7gzBma3SWeZNmriOeNo4lrkMPBTQE
S9BSF0MKyExd5P0NmCRhlnYVEknEFTxc4U5Mv3KU8ivTSypUanedD3CXOz0iP0JHPGEuxmhM
k8n5smQhBS0kA65msafudOU5JbVE5qFhWE4w8Qv0gzvlDnyTZH1jSV9iZihy6wmnEK9JfbiA
SYyVsdfLrElL0P7SZQd9V3y1t77sUpv/A+50CV25cQAA

--sXc4Kmr5FA7axrvy--