TCP/IP Checksumming

Richard B. Johnson (root@analogic.com)
Mon, 25 Nov 1996 11:50:06 -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.

---1295196120-145632947-848940606=:136
Content-Type: TEXT/PLAIN; charset=US-ASCII

This should be a good answer to my initial inquiry about the checksumming
code and the flames that I have received.

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.11 on an i586 machine.
Warning : It's hard to remain at the trailing edge of technology.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

---1295196120-145632947-848940606=:136
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xxx.xxx"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.91.961125115006.136C@chaos.analogic.com>
Content-Description:

ICAgVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhIGRlZmluaXRpdmUgc3RhdGVt
ZW50IGFib3V0IHRoZSBUQ1AvSVANDQogICBjaGVja3N1bW1pbmcuDQ0KDQ0K
ICAgU3RhdGVtZW50IG9mIHRoZSBwcm9ibGVtOg0NCg0NCiAgIEl0IGlzIG9i
c2VydmVkIHRoYXQgdGhlIFRDUC9JUCBjaGVja3N1bW1pbmcgaXMgYW4gaW1w
b3J0YW50IGNvbXBvbmVudA0NCiAgIG9mIExpbnV4IE5ldHdvcmtpbmcuDQ0K
DQ0KICAgSXQgaXMgZnVydGhlciBvYnNlcnZlZCB0aGF0IHRoZSBMaW51eCBj
aGVja3N1bW1pbmcgY29kZSByZXF1aXJlcyBzb21lDQ0KICAgdGVjaG5pY2Fs
IHN0dWR5IHRvIHNob3cgd2hldGhlciBvciBub3QgYW55IGltcHJvdmVtZW50
cyBhcmUgd2FycmFudGVkLg0NCg0NCiAgIE15IGF0dGVtcHRzIHRvIGJyaW5n
IHRoaXMgdG8gdGhlIGF0dGVudGlvbiBvZiBzb21lIGRldmVsb3BlcnMgd2Fz
IG1ldA0NCiAgIHdpdGggcmVzcG9uc2VzIHRoYXQgYXJlIG1vcmUgZW1vdGlv
bmFsIHRoYW4gZmFjdHVhbC4NDQoNDQogICBSZXNlYXJjaDoNDQoNDQogICBJ
IGhhdmUgd3JpdHRlbiBhIHByb2dyYW0sIHdoaWNoIGlzIGluY2x1ZGVkIGhl
cmV3aXRoLCB0aGF0IG1lYXN1cmVzDQ0KICAgdGhlIGFjdHVhbCBDUFUgY3lj
bGVzIHVzZWQgdG8gcGVyZm9ybSBjaGVja3N1bW1pbmcgcHJvY2VkdXJlcy4g
VGhpcw0NCiAgIHByb2dyYW0gbXVzdCBvcGVyYXRlIG9uIGEgUGVudGl1bSwg
YmVjYXVzZSB0aGlzIGlzIHRoZSBvbmx5IGtub3duDQ0KICAgSW50ZWwgQXJj
aGl0ZWN0dXJlIE1pY3JvcHJvY2Vzc29yIHRoYXQgbWFrZXMgdGhlIGludGVy
bmFsIGN5Y2xlLWNvdW50DQ0KICAgYXZhaWxhYmxlLg0NCg0NCiAgIE9ic2Vy
dmF0aW9uczoNDQoNDQogICBJbiB0aGUgZm9sbG93aW5nLCB0aGUgc2ltcGxl
c3QgY2hlY2tzdW0gcHJvY2VkdXJlIGlzIGJlaW5nIHVzZWQNDQogICBhcyBh
IGJhc2VsaW5lLiBUaGUgYWN0dWFsIGNvZGUgZm9yIGV2ZXJ5dGhpbmcgZm9s
bG93cyB0aGlzIHN1bW1hcnkuDQ0KDQ0KICAgVGhlIGRpZmZlcmVuY2UgYmV0
d2VlbiB0aGUgc2hvcnRlc3QgZXhlY3V0aW9uIHRpbWUgcHJvY2VkdXJlIHdo
aWNoDQ0KICAgdXNlcyBtdWNoIG1vcmUgYWdncmVzc2l2ZSBsb29wLXVucm9s
bGluZyB0aGFuIHRoZSBMaW51eCBjb2RlIGFuZCB0aGUNDQogICBzaW1wbGVz
dCBwcm9jZWR1cmUgaXM6DQ0KDQ0KICAgTG9uZ2VzdCAgPSAweDI3RDcgIDEw
LDE5OSBkZWNpbWFsDQ0KICAgU2hvcnRlc3QgPSAweDBBMjAgICAyLDU5MiBk
ZWNpbWFsDQ0KDQ0KICAgMTAsMTk5IC8gMiw1OTIgPSAzLjkzICAoMy45Mzox
IGltcHJvdmVtZW50KQ0NCg0NCiAgIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4g
dGhlIGNvZGUgdGhhdCBpcyBzaW1pbGFyIHRvIHRoZSBMaW51eCBjb2RlDQ0K
ICAgYW5kIHRoZSBzaW1wbGVzdCBwcm9jZWR1cmUgaXM6DQ0KDQ0KICAgTG9u
Z2VzdCA9IDB4MjdENyAxMCwxOTkgZGVjaW1hbA0NCiAgIFRlc3RiZWQgPSAw
eDE0QjQgIDUsMzAwIGRlY2ltYWwNDQoNDQogICAxMCwxOTkgLyA1LDMwMCA9
IDEuOTIgKDEuOTI6MSBpbXByb3ZlbWVudCkNDQoNDQogICBUaGUgZGlmZmVy
ZW5jZSBiZXR3ZWVuIHRoZSBjb2RlIHRoYXQgaXMgc2ltaWxhciB0byB0aGUg
TGludXggY29kZQ0NCiAgIGFuZCB0aGUgZmFzdGVzdCBwcm9jZWR1cmUgc2hv
d24gaXM6DQ0KDQ0KICAgVGVzdGJlZCA9IDB4MTRCNCAgNSwzMDAgZGVjaW1h
bA0NCiAgIEZhc3Rlc3QgPSAweDBBMjAgIDIsNTkyIGRlY2ltYWwNDQoNDQog
ICA1LDMwMCAvIDIsNTkyID0gMi4wNCAoMi4wNDoxIGltcHJvdmVtZW50KQ0N
Cg0NCiAgIENvbW1lbnQ6DQ0KICAgVGhlIHByZXZpb3VzbHkgc3RhdGVkIGRp
ZmZlcmVuY2VzIG9mIDEwOjEgb3IgZ3JlYXRlciBjYW4ndCBiZQ0NCiAgIGNh
dXNlZCBieSBjb2RpbmcgZGlmZmVyZW5jZXMuIFRoZXkgbXVzdCwgdGhlcmVm
b3JlLCByZXN1bHQgZnJvbQ0NCiAgIG1lYXN1cmVtZW50IGVycm9ycy4NDQoN
DQogICBJIGRlbGliZXJhdGVseSBkaWQgbm90IHVzZSB0aGUgYWN0dWFsIExp
bnV4IGNoZWNrc3VtbWluZyBjb2RlLg0NCiAgIEhvd2V2ZXIsIHRoZSBwcm9n
cmFtIHRoYXQgaXMgcHJvdmlkZWQgaGVyZXdpdGgsIGNhbiBlYXNpbHkgaGF2
ZQ0NCiAgIHRoYXQgY29kZSBpbmNsdWRlZCBmb3IgdGVzdHMgYW5kIG1lYXN1
cmVtZW50cy4gVGhpcyB3YXMgZG9uZSB0bw0NCiAgIHByZXZlbnQgYW55IHBv
bGl0aWNhbCBpbnZvbHZlbWVudC4NDQoNDQogICAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0NCiAgIEFjdHVhbCBwcm9ncmFtIG91dHB1dDoNDQoNDQogICBUaGlz
IHByb2dyYW0gbWVhc3VyZXMgdGhlIENQVSBjeWNsZXMgbmVjZXNzYXJ5IHRv
IHBlcmZvcm0gdmFyaW91cw0NCiAgIFRDUC9JUCBDaGVja3N1bSByb3V0aW5l
cy4gIEl0IGlzIG1hZGUgc28geW91IGNhbiByZWFkaWx5IGFkZCB5b3VyDQ0K
ICAgb3duIHJvdXRpbmVzIHRvIHNlZSBob3cgdGhleSBjb21wYXJlLiBUaGlz
IHByb2dyYW0gbmVlZHMgYSBQZW50aXVtDQ0KICAgdG8gZXhlY3V0ZS4gIElm
IHlvdXIgbWFjaGluZSBqdXN0IGNyYXNoZWQsICBpdCBpcyBOT1QgYSBQZW50
aXVtLg0NCiAgIFNvcnJ5Lg0NCg0NCiAgIFRoaXMganVzdCBnZXRzIHRoZSBv
dmVyaGVhZCBpbiBtYWtpbmcgdGhlIGZ1bmN0aW9uIGNhbGxzLg0NCiAgIFlv
dSBjYW4gc3VidHJhY3QgdGhlIHJldHVybmVkIGN5Y2xlcyBmcm9tIHRoZSBv
dGhlciBjYWxscyBpZg0NCiAgIHlvdSB3YW50IHRvIGJlIHBlZGFudGljLiBU
aGUgcmV0dXJuZWQgY2hlY2tzdW0gaXMgdW5kZWZpbmVkLg0NCkZ1bmN0aW9u
IDB4MDEsIENoZWNrc3VtIDB4MkM0QywgUHJvY2Vzc29yIGN5Y2xlcyAweDAw
MDAwMDAwMDAwMDAwQjUNDQoNDQogICBUaGlzIHJldHVybnMgYSB3b3JkIGlu
IEVBWCByZXByZXNlbnRpbmcgdGhlIFRDUC9JUCBDaGVja3N1bS4NDQogICBJ
dCB1c2VzIExPRFNXIGFuZCBpcyBkZXNpZ25lZCBvbmx5IHRvIGJlIHNpbXBs
ZS4NDQpGdW5jdGlvbiAweDAyLCBDaGVja3N1bSAweDFBOEEsIFByb2Nlc3Nv
ciBjeWNsZXMgMHgwMDAwMDAwMDAwMDAyN0Q3DQ0KDQ0KICAgVGhpcyBwZXJm
b3JtcyB0aGUgc2FtZSBjaGVja3N1bSwgYnV0IGRvZXMgbm90IHVzZSBidWls
dC1pbiBtYWNyb3MNDQogICBzdWNoIGFzIExPT1AgYW5kIExPRFNXLg0NCkZ1
bmN0aW9uIDB4MDMsIENoZWNrc3VtIDB4MUE4QSwgUHJvY2Vzc29yIGN5Y2xl
cyAweDAwMDAwMDAwMDAwMDIwOTgNDQoNDQogICBUaGlzIHRyaWVzIHRvIGJl
IGN1dGUgYW5kIHVucm9sbCBsb29wcy4gTm90ZSB0aGF0IHRoZSB1bnJvbGxp
bmcNDQogICB3b3JrcyBva2F5LCBob3dldmVyIHRoZXJlIGlzIGEgbG90IG9m
IGxvZ2ljIG5lY2Vzc2FyeSB3aGljaCBjb3VsZA0NCiAgIHVuZHVlIGp1c3Qg
YWJvdXQgZXZlcnl0aGluZyB3ZSBhcmUgYXR0ZW1wdGluZyB0byBhY2NvbXBs
aXNoLg0NCkZ1bmN0aW9uIDB4MDQsIENoZWNrc3VtIDB4MUE4QSwgUHJvY2Vz
c29yIGN5Y2xlcyAweDAwMDAwMDAwMDAwMDE0QjQNDQoNDQogICBUaGlzIHRy
aWVzIHRvIGJlIGN1dGUgYW5kIHVucm9sbCBsb29wcyBidXQgc3VtcyBmcm9t
IG1lbW9yeQ0NCiAgIHdpdGhvdXQgYW4gaW50ZXJtZWRpYXRlIHJlZ2lzdGVy
IG9wZXJhbmQuDQ0KRnVuY3Rpb24gMHgwNSwgQ2hlY2tzdW0gMHgxQThBLCBQ
cm9jZXNzb3IgY3ljbGVzIDB4MDAwMDAwMDAwMDAwMTA2Nw0NCg0NCiAgIFRo
aXMgdHJpZXMgdG8gYmUgY3V0ZSBhbmQgdW5yb2xsIGxvb3BzIGJ1dCBzdW1z
IGZyb20gbWVtb3J5DQ0KICAgd2l0aG91dCBhbiBpbnRlcm1lZGlhdGUgcmVn
aXN0ZXIgb3BlcmFuZC4gSXQgYWxzbyBnb2VzIG92ZXJib2FyZA0NCiAgIG9u
IHRoZSBsb29wLXVucm9sbGluZy4NDQpGdW5jdGlvbiAweDA2LCBDaGVja3N1
bSAweDFBOEEsIFByb2Nlc3NvciBjeWNsZXMgMHgwMDAwMDAwMDAwMDAwRUM3
DQ0KDQ0KICAgVGhpcyB0cmllcyB0byBiZSBjdXRlIHdpdGggdGhlIExPRFNX
IGFuZCB1bnJvbGxzIHNvbWUgbG9vcHMuDQ0KICAgSXQgaXMgYW4gZXhhbXBs
ZSBvZiBleHRyZW1lIGNvbXBsaWNhdGlvbiBkb2luZyB2ZXJ5IGxpdHRsZS4N
DQpGdW5jdGlvbiAweDA3LCBDaGVja3N1bSAweDFBOEEsIFByb2Nlc3NvciBj
eWNsZXMgMHgwMDAwMDAwMDAwMDAwRjFBDQ0KDQ0KICAgVGhpcyBpcyBhIHZl
cnNpb24gb2YgdGhlIHNpbXBsZSBjaGVja3N1bS4gSXQgdXNlcyBMT0RTVy4g
SG93ZXZlcg0NCiAgIGl0IGZvbGRzIGJhY2sgYWxsIHRoZSBjYXJyaWVzIG11
Y2ggbGlrZSB0aGUgc3RhbmRhcmQgQyBjb2RlLg0NCkZ1bmN0aW9uIDB4MDgs
IENoZWNrc3VtIDB4MUE4QSwgUHJvY2Vzc29yIGN5Y2xlcyAweDAwMDAwMDAw
MDAwMDIwODkNDQoNDQogICBUaGlzIGlzIGEgdmVyc2lvbiBvZiB0aGUgc2lt
cGxlIGNoZWNrc3VtLiBJdCB1c2VzIExPRFNXLiBIb3dldmVyDQ0KICAgaXQg
ZG9lcyBub3QgdXNlIGEgbG9vcCBjb3VudGVyLiBJdCB1c2VzIGZvbGQtYmFj
ayBmb3IgY2Fycmllcy4NDQpGdW5jdGlvbiAweDA5LCBDaGVja3N1bSAweDFB
OEEsIFByb2Nlc3NvciBjeWNsZXMgMHgwMDAwMDAwMDAwMDAxNTFCDQ0KDQ0K
ICAgVGhpcyB0cmllcyB0byBiZSBjdXRlIGFuZCB1bnJvbGwgbG9vcHMgYnV0
IHN1bXMgZnJvbSBtZW1vcnkNDQogICB3aXRob3V0IGFuIGludGVybWVkaWF0
ZSByZWdpc3RlciBvcGVyYW5kLiBJdCBhbHNvIGdvZXMgb3ZlcmJvYXJkDQ0K
ICAgb24gdGhlIGxvb3AtdW5yb2xsaW5nLiBJdCBhbHNvIGF0dGVtcHRzIHRv
IGJlIHRoZSBiZXN0IHRlc3RlZC4NDQpGdW5jdGlvbiAweDBBLCBDaGVja3N1
bSAweDFBOEEsIFByb2Nlc3NvciBjeWNsZXMgMHgwMDAwMDAwMDAwMDAwQTIw
DQ0KDQ0KICAgICAgICBBY3R1YWwgc29mdHdhcmUgc291cmNlLiBJdCBpcyBp
biBJbnRlbCBmb3JtYXQgKHNvcnJ5KS4NDQogLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICAgQyBVIFQgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KDQ0K
Q09NTUVOVCAqDQ0KCVdyaXR0ZW4gYnkgUmljaGFyZCBCLiBKb2huc29uLCBy
am9obnNvbkBhbmFsb2dpYy5jb20uDQ0KCUdpdmVuIHRvIHRoZSBMaW51eCBj
b21tdW5pdHkgaW4gaG9wZXMgdGhhdCBzb21lb25lIHdpbGwgZmluZA0NCglh
IHVzZSBmb3IgdGhpcyB0b29sLg0NCg0NCglUbyBjb21waWxlOg0NCglNQVNN
IENIS1NVTTsNDQoJTElOSyAvVCBDSEtTVU07DQ0KDQ0KCVRoaXMgY29kZSB0
ZXN0cyB0aGUgc3BlZWQgb2YgdmFyaW91cyBUQ1AvSVAgY2hlY2tzdW0gbWV0
aG9kcy4NDQoJSXQgcmVjb3JkcyB0aGUgYWN0dWFsIG1hY2hpbmUgY3ljbGVz
IG5lY2Vzc2FyeSB0byBhY2NvbXBsaXNoDQ0KCXRhc2suIFRoZSBwcm9jZXNz
b3IgbWFjaGluZSBjeWNsZXMgY29udGludWUgdG8gYWNjdW11bGF0ZSBldmVu
DQ0KCXdoZW4gdGhlIHByb2Nlc3NvciBpcyBIQUxURUQuIEl0IGlzLCB0aGVy
ZWZvcmUsIGEgdmVyeSBuaWNlIHdheQ0NCglvZiB0ZXN0aW5nIHRoZSBwZXJm
b3JtYW5jZSBvZiBhbiBhY3R1YWwgcm91dGluZSB3aXRob3V0IGluZmx1ZW5j
ZQ0NCglmcm9tIG90aGVyIHRoaW5ncyB0aGF0IHVzdWFsbHkgaGFwcGVuIG9u
IHRoZSB0YXJnZXQgbWFjaGluZS4NDQoNDQoJVGhpcyBjb2RlIHJlcXVpcmVz
IGEgUGVudGl1bSB0byBvcGVyYXRlIGJlY2F1c2UgdGhpcyBjaGlwIGhhcw0N
Cgl0aGUgaW50ZXJuYWwgY291bnRlciB0aGF0IHdlIGFjY2Vzcy4gSG93ZXZl
ciB0aGUgdGVzdGluZyByZXN1bHRzDQ0KCXNob3VsZCBiZSAoYXJlKSBzY2Fs
YWJsZSB0byBvdGhlciBtYWNoaW5lcy4NDQoNDQoJVGhpcyB3aWxsIG9wZXJh
dGUgdW5kZXIgTVMtRE9TIGlmIHlvdSByZW1vdmUgeW91ciBtZW1vcnkgbWFu
YWdlci4NDQoJVGhpcyBjb2RlIGRvZXMgbm90IGVudGVyIHByb3RlY3RlZCBt
b2RlIHNvIHlvdSBjYW4gcmVhZGlseSB1c2UNDQoJTVMtRE9TIGZhY2lsaXRp
ZXMgdG8gcmVjb3JkIHJlc3VsdHMgYW5kIG1vZGlmeSBjb2RlLiBUaGUgMzIt
Yml0DQ0KCWluc3RydWN0aW9ucyB3b3JrIGluIHJlYWwgbW9kZSBqdXN0IGFz
IHRoZXkgZG8gaW4gcHJvdGVjdGVkIG1vZGUNDQoJYXMgbG9uZyBhcyB5b3Ug
ZG9uJ3QgYXR0ZW1wdCB0byB1c2UgbWVtb3J5IG9mZnNldHMgZ3JlYXRlciB0
aGFuIDY0ay4NDQoNDQoJWWVzLCB0aGVyZSBzdGlsbCBJUyBhIHJlYXNvbiBm
b3IgRE9TLiBJdCdzIGEgZ29vZCB0ZXN0IGJlbmNoLg0NCglOb3RlOiBEbyBO
T1QgbG9hZCBhIG1lbW9yeSBtYW5hZ2VyIG9yIHlvdSB3aWxsIGdldCBhbiBp
bGxlZ2FsDQ0KCW9wY29kZSBleGNlcHRpb24gd2hlbiB5b3UgdHJ5IHRvIGFj
Y2VzcyB0aGUgY3ljbGUtdGltZXIuDQ0KDQ0KCVdBUk5JTkchIEFsbCBkZW1v
IGNvZGUgYXNzdW1lcyB0aGF0IGEgVENQL0lQIGNoZWNrc3VtIHdpbGwgYWx3
YXlzDQ0KCWNoZWNrc3VtIGFuIEVWRU4gbnVtYmVyIG9mIGJ5dGVzLiBBZGRp
bmcgbG9naWMgZm9yIGFuIGV4dHJhIGJ5dGUNDQoJaXQgdHJpdmlhbCwgYnV0
IHRha2VzIENQVSB0aW1lIGFzIHdlbGwuIEFsbCBUQ1AvSVAgYnVmZmVycyBB
UkUNDQoJRVZFTiB0byBzdGFydCwgaWYgT0RELCB5b3UgYWRkIHRoZSBleHRy
YSBsb2dpYyBPTkNFIHBlciBjYWxsLg0NCioNDQo7DQ0KTVNfRE9TCQlFUVUJ
MjFIDQ0KRE9TX1FVSVQJRVFVCTRDMDBIDQ0KRE9TX1BSVAkJRVFVCTA5MDBI
DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0NCjsJ
SnVzdCBhIGZldyBNQUNST1Mgc2luY2UgdGhpcyBJUyBhIE1BQ1JPIGFzc2Vt
Ymxlcg0NCjsNDQpGTFVTSAlNQUNSTw0NCglMT0NBTAlYMSwgWDINDQoJSk1Q
IFNIT1JUIFgxDQ0KWDE6CUpNUCBTSE9SVCBYMg0NClgyOg0NCkVORE0NDQo7
DQ0KQVNDSUkJTUFDUk8gVEVYVA0NCklGTkIJPFRFWFQ+DQ0KCURCCScgICAn
DQ0KCURCCScmVEVYVCcsMERILCAwQUgNDQpFTFNFDQ0KCURCCTBESCwgMEFI
DQ0KRU5ESUYNDQpFTkRNDQ0KDQ0KRU9MCU1BQ1JPDQ0KCURCCSckJw0NCkVO
RE0NDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQo7DQ0K
OwlMaWtlIGEgJ0MnIHR5cGVkZWYgc3RydWN0Lg0NCjsNDQpUT0RPCVNUUlVD
DQ0KRElTUAlEVwkJPwkJOyBPZmZzZXQgb2YgY29tbWVudHMgdG8gcHJpbnQN
DQpFWEVDCURXCQk/CQk7IE9mZnNldCBvZiByb3V0aW5lIHRvIGNhbGwNDQpU
T0RPCUVORFMNDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0N
DQpQU0VHCVNFR01FTlQgUEFSQSBQVUJMSUMJJ0VWRVJZVEhJTkcnDQ0KCUFT
U1VNRQlEUzpQU0VHLCBFUzpQU0VHLCBTUzpQU0VHLCBDUzpQU0VHDQ0KT1JH
CTEwMEgNDQpNQUlOCVBST0MJTkVBUg0NCglKTVAJQllQQVNTX0RBVEENDQo7
DQ0KOwlBZGQgbmV3IHByb2NlZHVyZXMgdG8gdGhpcyBzdHJ1Y3R1cmUuIFRl
cm1pbmF0ZSB3aXRoIGEgMC4NDQo7DQ0KVEhJTkdTCVRPRE8JPFBSUDAsIENB
TENfT1ZFUkhFQUQ+DQ0KCVRPRE8JPFBSUDEsIFNJTVBMRV9DSEtTVU0+DQ0K
CVRPRE8JPFBSUDIsIFNJTVBMRV9OT0xPRFNXPg0NCglUT0RPCTxQUlAzLCBV
TlJPTExfTE9PUFM+DQ0KCVRPRE8JPFBSUDQsIFVOUk9MTF9MT09QU00+DQ0K
CVRPRE8JPFBSUDUsIFVOUk9MTF9MT09QU04+DQ0KCVRPRE8JPFBSUDYsIFNJ
TVBMRV9VTlJPTEw+DQ0KCVRPRE8JPFBSUDcsIEZPTERCQUNLX0NIS1NVTT4N
DQoJVE9ETwk8UFJQOCwgTk9DT1VOVF9DSEtTVU0+DQ0KCVRPRE8JPFBSUDks
IFVOUk9MTF9MT09QU08+DQ0KCVRPRE8JPDAsIDA+DQ0KOw0NCkNUSU1fTE9X
X0xXCURECT8JCQk7IEN5Y2xlIHRpbWUgTE9XIGxvbmd3b3JkDQ0KQ1RJTV9I
SUdfTFcJREQJPwkJCTsgQ3ljbGUgdGltZSBISUdIIGxvbmd3b3JkDQ0KQ0hL
U1VNCQlEVwk/CQkJOyBSZXR1cm5lZCBjaGVja3N1bQ0NCkVWRU4JCQkJCQk7
IFN0YXJ0IG9uIGEgV09SRCBib3VuZGFyeQ0NCklQX1BBQ0tFVAlEQgkxMjgg
RFVQKCdJUCBQYWNrZXQuLi4uLi4gJykNDQo7DQ0KOyAgRm9yIHRlc3Rpbmcg
dGhhdCBjaGVja3N1bXMgYXJlIGNvcnJlY3QuLi4NDQo7SVBfUEFDS0VUCURC
CTIwNDcgZHVwKDBGRkgpDQ0KOwkJREIJMQ0NCjsNDQpQQUNLRVRfTEVOCUVR
VQkkIC0gSVBfUEFDS0VUDQ0KU0lHTk9OCUxBQkVMCUJZVEUNDQpBU0NJSQk8
VGhpcyBwcm9ncmFtIG1lYXN1cmVzIHRoZSBDUFUgY3ljbGVzIG5lY2Vzc2Fy
eSB0byBwZXJmb3JtIHZhcmlvdXM+DQ0KQVNDSUkJPFRDUC9JUCBDaGVja3N1
bSByb3V0aW5lcy4gIEl0IGlzIG1hZGUgc28geW91IGNhbiByZWFkaWx5IGFk
ZCB5b3VyPg0NCkFTQ0lJCTxvd24gcm91dGluZXMgdG8gc2VlIGhvdyB0aGV5
IGNvbXBhcmUuIFRoaXMgcHJvZ3JhbSBuZWVkcyBhIFBlbnRpdW0+DQ0KQVND
SUkJPHRvIGV4ZWN1dGUuICBJZiB5b3VyIG1hY2hpbmUganVzdCBjcmFzaGVk
LCAgaXQgaXMgTk9UIGEgUGVudGl1bS4+DQ0KQVNDSUkJPFNvcnJ5Lj4NDQpB
U0NJSQk8Pg0NCkVPTA0NCjsNDQo7CVRleHQgdG8gYmUgcHJpbnRlZCBvbiB0
aGUgc2NyZWVuIGFmdGVyIG1vZGlmaWNhdGlvbi4NDQo7DQ0KUFJQCURCCSdG
dW5jdGlvbiAweCcNDQpGTglEQgknMDAsICcNDQoJREIJJ0NoZWNrc3VtIDB4
Jw0NCkNISwlEQgknMDAwMCwgJw0NCglEQgknUHJvY2Vzc29yIGN5Y2xlcyAw
eCcNDQpIMQlEQgknMDAwMCcNDQpIMAlEQgknMDAwMCcNDQpMMQlEQgknMDAw
MCcNDQpMMAlEQgknMDAwMCcsIDBESCwwQUgsMERILDBBSCwnJCcNDQpGVU4J
REIJMQ0NCi4zODYNDQpCWVBBU1NfREFUQToNDQoJWE9SCUVBWCxFQVgJCQk7
IEhhbmcgZWFybHkgaWYgYSBiYWQgbWFjaGluZS4NDQoJTU9WCUFYLENTDQ0K
CU1PVglEUyxBWAkJCTsgTWFrZSBzdXJlIHNlZ21lbnRzIGFyZSBzZXQuDQ0K
CU1PVglFUyxBWA0NCglNT1YJU1MsQVgNDQoJTU9WCVNQLE9GRlNFVCBNQUlO
CQk7IFN0YWNrIGJlbG93IGNvZGUsIG91dCBvZiB0aGUgd2F5DQ0KOw0NCjsJ
Tm93ICBlbmFibGUgQTIwLiBUaGlzIHNob3VsZCBOT1QgYmUgbmVjZXNzYXJ5
LCBidXQgc29tZSBtYWNoaW5lcw0NCjsJbmVlZCB0aGlzIHRvIGhhbmRsZSBF
QlgsIEVESSwgZXRjLiwgd2l0aG91dCBhbiBpbGxlZ2FsIG9wY29kZQ0NCjsJ
dHJhcC4gTm90ZSwgd2UgYXJlIE5PVCBnb2luZyBpbnRvIHByb3RlY3RlZCBt
b2RlLCBhbmQgd2UgYXJlIG5vdA0NCjsJYWNjZXNzaW5nIG1vcmUgdGhhbiAx
IG1iIG9mIFJBTS4gVW5jb21tZW50IHRoaXMgaWYgeW91ciBtYWNoaW5lDQ0K
OwltYWtlcyBzdHJhbmdlIGdyb2Fucy4NDQo7DQ0KOwlNT1YJQUwsMEQxSAkJ
CTsgQ29tbWFuZCB3cml0ZQ0NCjsJT1VUCTY0SCxBTA0NCjsJTU9WCUFMLDBE
RkgNDQo7CU9VVAk2MEgsQUwJCQk7IFR1cm4gQTIwIG9uDQ0KOw0NCglNT1YJ
RFgsT0ZGU0VUIFNJR05PTgkJOyBQb2ludCB0byBzaWdub24gbWVzc2FnZQ0N
CglNT1YJQVgsRE9TX1BSVAkJCTsgTVMtRE9TIHByaW50IGZ1bmN0aW9uDQ0K
CUlOVAlNU19ET1MJCQkJOyBDYWxsIE1TLURPUw0NCjsNDQoJTU9WCUJYLE9G
RlNFVCBUSElOR1MJCTsgVGFibGUgb2YgdGhpbmdzIHRvIGRvDQ0KUlVOOglQ
VVNICUJYCQkJCTsgU2F2ZSwgZGVzdHJveWVkIGV2ZXJ5d2hlcmUNDQoJTU9W
CURYLFdPUkQgUFRSIFtCWC5UT0RPLkRJU1BdCTsgR2V0IHN0cmluZyB0byBw
cmludA0NCglNT1YJQVgsRE9TX1BSVAkJCTsgTVMtRE9TIHByaW50IGZ1bmN0
aW9uDQ0KCUlOVAlNU19ET1MJCQkJOyBDYWxsIE1TLURPUw0NCglDQUxMCVNU
QVJUX1RJTUVSCQkJOyBTdGFydCBjeWNsZSB0aW1lcg0NCglDQUxMCVtCWC5U
T0RPLkVYRUNdCQkJOyBFeGVjdXRlIHRoZSBmdW5jdGlvbg0NCglNT1YJV09S
RCBQVFIgQ0hLU1VNLEFYCQk7IFNhdmUgcmVzdWx0DQ0KCUNBTEwJU1RPUF9U
SU1FUgkJCTsgU3RvcCB0aGUgY3ljbGUgdGltZXINDQoJTU9WCUFMLEJZVEUg
UFRSIFtGVU5dCQk7IEdldCBmdW5jdGlvbiBudW1iZXINDQoJSU5DCUJZVEUg
UFRSIFtGVU5dCQkJOyBSZWFkeSBuZXh0IGZ1bmN0aW9uDQ0KCUNBTEwJRElT
UExBWQkJCQk7IERpc3BsYXkgdGhlIHJlc3VsdHMNDQoJUE9QCUJYCQkJCTsg
UmVzdG9yZSBwb2ludGVyDQ0KOw0NCglBREQJQlgsIFRZUEUoVE9ETykJCQk7
IFRZUEUgaXMgbGlrZSBzaXplb2YoKQ0NCglDTVAJV09SRCBQVFIgW0JYLlRP
RE8uRElTUF0sMAk7IENoZWNrIGZvciBlbmQgb2YgbGlzdA0NCglKTloJUlVO
CQkJCTsgTm90IGRvbmUgeWV0DQ0KOw0NCglNT1YJQVgsRE9TX1FVSVQJCQk7
IEV4aXQgdG8gTVMtRE9TDQ0KCUlOVAlNU19ET1MJCQkJOyBDYWxsIE1TLURP
Uw0NCk1BSU4JRU5EUA0NCjsNDQo7DQ0KOy09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tDQ0KOw0NClBSUDAJTEFCRUwJQllURQ0NCkFTQ0lJCTxU
aGlzIGp1c3QgZ2V0cyB0aGUgb3ZlcmhlYWQgaW4gbWFraW5nIHRoZSBmdW5j
dGlvbiBjYWxscy4+DQ0KQVNDSUkJPFlvdSBjYW4gc3VidHJhY3QgdGhlIHJl
dHVybmVkIGN5Y2xlcyBmcm9tIHRoZSBvdGhlciBjYWxscyBpZj4NDQpBU0NJ
SQk8eW91IHdhbnQgdG8gYmUgcGVkYW50aWMuIFRoZSByZXR1cm5lZCBjaGVj
a3N1bSBpcyB1bmRlZmluZWQuPg0NCkVPTA0NCjsNDQpDQUxDX09WRVJIRUFE
CVBST0MJTkVBUg0NCglSRVQNDQpDQUxDX09WRVJIRUFECUVORFANDQo7DQ0K
Oy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0NClBSUDEJ
TEFCRUwJQllURQ0NCkFTQ0lJIDxUaGlzIHJldHVybnMgYSB3b3JkIGluIEVB
WCByZXByZXNlbnRpbmcgdGhlIFRDUC9JUCBDaGVja3N1bS4+DQ0KQVNDSUkg
PEl0IHVzZXMgTE9EU1cgYW5kIGlzIGRlc2lnbmVkIG9ubHkgdG8gYmUgc2lt
cGxlLj4NDQpFT0wNDQo7DQ0KU0lNUExFX0NIS1NVTQlQUk9DCU5FQVINDQoJ
TU9WCUVDWCwgKFBBQ0tFVF9MRU4gU0hSIDEpCTsgR2V0IHBhY2tldCBsZW5n
dGgNDQoJTU9WCUVTSSwgT0ZGU0VUIElQX1BBQ0tFVAk7IFBvaW50IHRvIHBh
Y2tldA0NCglYT1IJRURYLCBFRFgJCTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9W
CUVBWCwgRURYCQk7IE1ha2Ugc3VyZSBoaWdoIHdvcmQgaXMgemVybw0NCglD
TEQNDQo7DQ0KQ0hLRU06CUxPRFNXCQkJCTsgRG9pdA0NCglBREMJRFgsQVgJ
CQk7IFN1bSB3b3JkcyBvbmx5IHdpdGggcHJldmlvdXMgQ1kNDQoJTE9PUAlD
SEtFTQkJCTsgRG9pdDJpdA0NCglBREMJRFgsMAkJCTsgUG9zc2libGUgbGFz
dCBDWQ0NCglNT1YJRUFYLEVEWAkJCTsgUmV0dXJuIGluIEVBWCB0byBiZSBm
YWlyDQ0KCVJFVA0NClNJTVBMRV9DSEtTVU0JRU5EUA0NCjstPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LQ0NClBSUDIJTEFCRUwJQllURQ0NCkFT
Q0lJCTxUaGlzIHBlcmZvcm1zIHRoZSBzYW1lIGNoZWNrc3VtLCBidXQgZG9l
cyBub3QgdXNlIGJ1aWx0LWluIG1hY3Jvcz4NDQpBU0NJSQk8c3VjaCBhcyBM
T09QIGFuZCBMT0RTVy4+DQ0KRU9MDQ0KOw0NClNJTVBMRV9OT0xPRFNXCVBS
T0MJTkVBUg0NCglNT1YJRUNYLCAoUEFDS0VUX0xFTiBTSFIgMSkJOyBHZXQg
cGFja2V0IGxlbmd0aA0NCglNT1YJRUJYLCBPRkZTRVQgSVBfUEFDS0VUCTsg
UG9pbnQgdG8gcGFja2V0DQ0KCVhPUglFRFgsIEVEWAkJOyBDbGVhciBDWSwg
emVybw0NCglNT1YJRUFYLCBFRFgJCTsgTWFrZSBzdXJlIGhpZ2ggd29yZCBp
cyB6ZXJvDQ0KOw0NClNVTUlUOglNT1YJQVgsIFdPUkQgUFRSIFtFQlhdCTsg
R2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlv
dXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQoJQURECUVCWCwg
MgkJCTsgUmVhZHkgbmV4dCB3b3JkDQ0KCURFQwlFQ1gJCQk7IEJ1bXAgdGhl
IHBhY2tldCBsZW5ndGgNDQoJSk5aCVNVTUlUCQkJOyBDb250aW51ZQ0NCglN
T1YJRUFYLEVEWAkJCTsgUmV0dXJuIGluIEVBWCB0byBiZSBmYWlyDQ0KCVJF
VA0NClNJTVBMRV9OT0xPRFNXCUVORFANDQo7DQ0KOy09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tDQ0KUFJQMwlMQUJFTAlCWVRFDQ0KQVNDSUkg
PFRoaXMgdHJpZXMgdG8gYmUgY3V0ZSBhbmQgdW5yb2xsIGxvb3BzLiBOb3Rl
IHRoYXQgdGhlIHVucm9sbGluZz4NDQpBU0NJSSA8d29ya3Mgb2theSwgaG93
ZXZlciB0aGVyZSBpcyBhIGxvdCBvZiBsb2dpYyBuZWNlc3Nhcnkgd2hpY2gg
Y291bGQ+DQ0KQVNDSUkgPHVuZHVlIGp1c3QgYWJvdXQgZXZlcnl0aGluZyB3
ZSBhcmUgYXR0ZW1wdGluZyB0byBhY2NvbXBsaXNoLj4NDQpFT0wNDQo7DQ0K
VU5ST0xMX0xPT1BTCVBST0MJTkVBUg0NCglNT1YJRUNYLCAoUEFDS0VUX0xF
TiBTSFIgMSkJOyBHZXQgcGFja2V0IGxlbmd0aA0NCglNT1YJRUJYLCBPRkZT
RVQgSVBfUEFDS0VUCTsgUG9pbnQgdG8gcGFja2V0DQ0KCVhPUglFRFgsIEVE
WAkJOyBDbGVhciBDWSwgemVybw0NCglNT1YJRUFYLCBFRFgJCTsgTWFrZSBz
dXJlIGhpZ2ggd29yZCBpcyB6ZXJvDQ0KOw0NClRSSUFMOglDTVAJRUNYLDgJ
CQk7IEF0IGxlYXN0IDggd29yZHM/DQ0KCUpBRQlETzgJCQk7IFllcywgZG8g
OCB3b3JkcywgdW5yb2xsZWQNDQoJQ01QCUVDWCw0CQkJOyBBdCBsZWFzdCA0
IHdvcmRzPw0NCglKQUUJRE80CQkJOyBZZXMsIGRvIDQgd29yZHMgdW5yb2xs
ZWQNDQoJSk1QCURPSVQJCQk7IE5vbmUgb2YgYWJvdmUNDQoNDQpETzg6CU1P
VglBWCwgV09SRCBQVFIgW0VCWF0JOyBHZXQgdGhlIHdvcmQNDQoJQURECURY
LEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91cw0NCglBREMJRFgsMAkJCTsgUGlj
ayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYKzJdCTsg
R2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlv
dXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCU1PVglB
WCwgV09SRCBQVFIgW0VCWCs0XQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgs
QVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNr
IHVwIGNhcnJ5DQ0KOw0NCglNT1YJQVgsIFdPUkQgUFRSIFtFQlgrNl0JOyBH
ZXQgdGhlIHdvcmQNDQoJQURECURYLEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91
cw0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFY
LCBXT1JEIFBUUiBbRUJYKzhdCTsgR2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxB
WAkJCTsgU3VtIHdpdGggcHJldmlvdXMNDQoJQURDCURYLDAJCQk7IFBpY2sg
dXAgY2FycnkNDQo7DQ0KCU1PVglBWCwgV09SRCBQVFIgW0VCWCsxMF0JOyBH
ZXQgdGhlIHdvcmQNDQoJQURECURYLEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91
cw0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFY
LCBXT1JEIFBUUiBbRUJYKzEyXQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgs
QVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNr
IHVwIGNhcnJ5DQ0KOw0NCglNT1YJQVgsIFdPUkQgUFRSIFtFQlgrMTRdCTsg
R2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlv
dXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlF
QlgsMTYJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsOAkJCTsgQWRq
dXN0IGNvdW50DQ0KCUpaCURPTkUJCQk7IEFsbCBkb25lDQ0KCUpNUAlUUklB
TAkJCTsgRG8gbW9yZQ0NCg0NCkRPNDoJTU9WCUFYLCBXT1JEIFBUUiBbRUJY
XQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgsQVgJCQk7IFN1bSB3aXRoIHBy
ZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglN
T1YJQVgsIFdPUkQgUFRSIFtFQlgrMl0JOyBHZXQgdGhlIHdvcmQNDQoJQURE
CURYLEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91cw0NCglBREMJRFgsMAkJCTsg
UGljayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYKzRd
CTsgR2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJl
dmlvdXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCU1P
VglBWCwgV09SRCBQVFIgW0VCWCs2XQk7IEdldCB0aGUgd29yZA0NCglBREQJ
RFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQ
aWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDgJCQk7IEFkanVzdCBwb2lu
dGVyDQ0KCVNVQglFQ1gsNAkJCTsgQWRqdXN0IGxlbmd0aA0NCglKWglET05F
CQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJVFJJQUwJCQk7IFRyeSBtb3JlDQ0K
DQ0KRE8yOglNT1YJQVgsIFdPUkQgUFRSIFtFQlhdCTsgR2V0IHRoZSB3b3Jk
DQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlvdXMNDQoJQURDCURY
LDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCU1PVglBWCwgV09SRCBQVFIg
W0VCWCsyXQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgsQVgJCQk7IFN1bSB3
aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0K
Ow0NCglBREQJRUJYLDQJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gs
MgkJCTsgQWRqdXN0IGxlbmd0aA0NCglKWglET05FCQkJOyBXZSBhcmUgZG9u
ZQ0NCglKTVAJVFJJQUwJCQk7IFRyeSBtb3JlDQ0KDQ0KRE9JVDoJTU9WCUFY
LCBXT1JEIFBUUiBbRUJYXQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgsQVgJ
CQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVw
IGNhcnJ5DQ0KCUFERAlFQlgsIDIJCQk7IFJlYWR5IG5leHQgd29yZA0NCglE
RUMJRUNYCQkJOyBCdW1wIHRoZSBwYWNrZXQgbGVuZ3RoDQ0KCUpOWglET0lU
CQkJOyBDb250aW51ZQ0NCjsNDQpET05FOglNT1YJRUFYLEVEWAkJCTsgUmV0
dXJuIGluIEVBWCB0byBiZSBmYWlyDQ0KCVJFVA0NClVOUk9MTF9MT09QUwlF
TkRQDQ0KOw0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0N
ClBSUDQJTEFCRUwJQllURQ0NCkFTQ0lJIDxUaGlzIHRyaWVzIHRvIGJlIGN1
dGUgYW5kIHVucm9sbCBsb29wcyBidXQgc3VtcyBmcm9tIG1lbW9yeT4NDQpB
U0NJSSA8d2l0aG91dCBhbiBpbnRlcm1lZGlhdGUgcmVnaXN0ZXIgb3BlcmFu
ZC4+DQ0KRU9MDQ0KOw0NClVOUk9MTF9MT09QU00JUFJPQwlORUFSDQ0KCU1P
VglFQ1gsIChQQUNLRVRfTEVOIFNIUiAxKQk7IEdldCBwYWNrZXQgbGVuZ3Ro
DQ0KCU1PVglFQlgsIE9GRlNFVCBJUF9QQUNLRVQJOyBQb2ludCB0byB0aGUg
cGFja2V0DQ0KCVhPUglFRFgsIEVEWAkJOyBDbGVhciBDWSwgemVybw0NCglN
T1YJRUFYLCBFRFgJCTsgTWFrZSBzdXJlIGhpZ2ggd29yZCBpcyB6ZXJvDQ0K
Ow0NCk1UUklBTDoJQ01QCUVDWCw4CQkJOyBBdCBsZWFzdCA4IHdvcmRzPw0N
CglKQUUJTURPOAkJCTsgWWVzLCBkbyA4IHdvcmRzLCB1bnJvbGxlZA0NCglD
TVAJRUNYLDQJCQk7IEF0IGxlYXN0IDQgd29yZHM/DQ0KCUpBRQlNRE80CQkJ
OyBZZXMsIGRvIDQgd29yZHMsIHVucm9sbGVkDQ0KCUpNUAlNRE9JVAkJCTsg
Tm9uZSBvZiBhYm92ZQ0NCg0NCk1ETzg6CUFERAlEWCwgV09SRCBQVFIgW0VC
WF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2Fy
cnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsyXQk7IFN1bSB0aGUg
d29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURE
CURYLCBXT1JEIFBUUiBbRUJYKzRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlE
WCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRS
IFtFQlgrNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sg
dXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCs4XQk7IFN1
bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsN
DQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzEwXQk7IFN1bSB0aGUgd29yZA0N
CglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBX
T1JEIFBUUiBbRUJYKzEyXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJ
CTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JEIFBUUiBbRUJY
KzE0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBj
YXJyeQ0NCjsNDQoJQURECUVCWCwxNgkJCTsgQWRqdXN0IHBvaW50ZXINDQoJ
U1VCCUVDWCw4CQkJOyBBZGp1c3QgY291bnQNDQoJSloJTURPTkUJCQk7IFdl
IGFyZSBkb25lDQ0KCUpNUAlNVFJJQUwJCQk7IFRyeSBtb3JlDQ0KDQ0KTURP
NDoJQURECURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglB
REMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JE
IFBUUiBbRUJYKzJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQ
aWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrNF0J
OyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCs2XQk7IFN1bSB0aGUgd29y
ZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECUVC
WCw4CQkJOyBBZGp1c3QgcG9pbnRlcg0NCglTVUIJRUNYLDQJCQk7IEFkanVz
dCBjb3VudA0NCglKWglNRE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU1U
UklBTAkJCTsgVHJ5IG1vcmUNDQoNDQpNRE8yOglBREQJRFgsIFdPUkQgUFRS
IFtFQlhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVw
IGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMl0JOyBTdW0g
dGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0K
CUFERAlFQlgsNAkJCTsgQWRqdXN0IHBvaW50ZXINDQoJU1VCCUVDWCwyCQkJ
OyBBZGp1c3QgY291bnQNDQoJSloJTURPTkUJCQk7IFdlIGFyZSBkb25lDQ0K
CUpNUAlNVFJJQUwJCQk7IFRyeSBtb3JlDQ0KDQ0KTURPSVQ6CUFERAlEWCwg
V09SRCBQVFIgW0VCWF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7
IFBpY2sgdXAgY2FycnkNDQoJQURECUVCWCwgMgkJCTsgUmVhZHkgbmV4dCB3
b3JkDQ0KCURFQwlFQ1gJCQk7IEJ1bXAgdGhlIHBhY2tldCBsZW5ndGgNDQoJ
Sk5aCU1ET0lUCQkJOyBDb250aW51ZQ0NCjsNDQpNRE9ORToJTU9WCUVBWCxF
RFgJCQk7IFJldHVybiBpbiBFQVggdG8gYmUgZmFpcg0NCglSRVQNDQpVTlJP
TExfTE9PUFNNCUVORFANDQo7DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tDQ0KUFJQNQlMQUJFTAlCWVRFDQ0KQVNDSUkgPFRoaXMgdHJp
ZXMgdG8gYmUgY3V0ZSBhbmQgdW5yb2xsIGxvb3BzIGJ1dCBzdW1zIGZyb20g
bWVtb3J5Pg0NCkFTQ0lJIDx3aXRob3V0IGFuIGludGVybWVkaWF0ZSByZWdp
c3RlciBvcGVyYW5kLiBJdCBhbHNvIGdvZXMgb3ZlcmJvYXJkPg0NCkFTQ0lJ
IDxvbiB0aGUgbG9vcC11bnJvbGxpbmcuPg0NCkVPTA0NCjsNDQpVTlJPTExf
TE9PUFNOCVBST0MJTkVBUg0NCglNT1YJRUNYLCAoUEFDS0VUX0xFTiBTSFIg
MSkJOyBHZXQgcGFja2V0IGxlbmd0aA0NCglNT1YJRUJYLCBPRkZTRVQgSVBf
UEFDS0VUCTsgUG9pbnQgdG8gdGhlIHBhY2tldA0NCglYT1IJRURYLCBFRFgJ
CTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9WCUVBWCwgRURYCQk7IE1ha2Ugc3Vy
ZSBoaWdoIHdvcmQgaXMgemVybw0NCg0NCk5UUklBTDoJQ01QCUVDWCwxNgkJ
CTsgQXQgbGVhc3QgMTYgd29yZHM/DQ0KCUpBRQlORE8xNgkJCTsgWWVzLCBk
byAxNiB3b3JkcyB1bnJvbGxlZA0NCglDTVAJRUNYLDgJCQk7IEF0IGxlYXN0
IDggd29yZHM/DQ0KCUpBRQlORE84CQkJOyBZZXMsIGRvIDggd29yZHMgdW5y
b2xsZWQNDQoJQ01QCUVDWCw0CQkJOyBBdCBsZWFzdCA0IHdvcmRzPw0NCglK
QUUJTkRPNAkJCTsgWWVzLCBkbyA0IHdvcmRzIHVucm9sbGVkDQ0KCUpNUAlO
RE9JVAkJCTsgTm9uZSBvZiBhYm92ZQ0NCg0NCk5ETzE2OglBREQJRFgsIFdP
UkQgUFRSIFtFQlhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQ
aWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMl0J
OyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCs0XQk7IFN1bSB0aGUgd29y
ZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURY
LCBXT1JEIFBUUiBbRUJYKzZdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtF
QlgrOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAg
Y2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxMF0JOyBTdW0g
dGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0K
CUFERAlEWCwgV09SRCBQVFIgW0VCWCsxMl0JOyBTdW0gdGhlIHdvcmQNDQoJ
QURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09S
RCBQVFIgW0VCWCsxNF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7
IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsx
Nl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2Fy
cnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxOF0JOyBTdW0gdGhl
IHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFE
RAlEWCwgV09SRCBQVFIgW0VCWCsyMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURD
CURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQ
VFIgW0VCWCsyMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBp
Y2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsyNF0J
OyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsyNl0JOyBTdW0gdGhlIHdv
cmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlE
WCwgV09SRCBQVFIgW0VCWCsyOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURY
LDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIg
W0VCWCszMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sg
dXAgY2FycnkNDQo7DQ0KCUFERAlFQlgsMzIJCQk7IEFkanVzdCBwb2ludGVy
DQ0KCVNVQglFQ1gsMTYJCQk7IEFkanVzdCBjb3VudA0NCglKWglORE9ORQkJ
CTsgV2UgYXJlIGRvbmUNDQoJSk1QCU5UUklBTAkJCTsgVHJ5IG1vcmUNDQoN
DQpORE84OglBREQJRFgsIFdPUkQgUFRSIFtFQlhdCTsgU3VtIHRoZSB3b3Jk
DQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgs
IFdPUkQgUFRSIFtFQlgrMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJ
CQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VC
WCs0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBj
YXJyeQ0NCjsNDQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzZdCTsgU3VtIHRo
ZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglB
REQJRFgsIFdPUkQgUFRSIFtFQlgrOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURD
CURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQ
VFIgW0VCWCsxMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBp
Y2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxMl0J
OyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxNF0JOyBTdW0gdGhlIHdv
cmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlF
QlgsMTYJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsOAkJCTsgQWRq
dXN0IGNvdW50DQ0KCUpaCU5ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJ
TlRSSUFMCQkJOyBUcnkgbW9yZQ0NCg0NCk5ETzQ6CUFERAlEWCwgV09SRCBQ
VFIgW0VCWF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sg
dXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsyXQk7IFN1
bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsN
DQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzRdCTsgU3VtIHRoZSB3b3JkDQ0K
CUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdP
UkQgUFRSIFtFQlgrNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7
IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlFQlgsOAkJCTsgQWRqdXN0IHBv
aW50ZXINDQoJU1VCCUVDWCw0CQkJOyBBZGp1c3QgY291bnQNDQoJSloJTkRP
TkUJCQk7IFdlIGFyZSBkb25lDQ0KCUpNUAlOVFJJQUwJCQk7IFRyeSBtb3Jl
DQ0KDQ0KTkRPMjoJQURECURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUg
d29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURE
CURYLCBXT1JEIFBUUiBbRUJYKzJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlE
WCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDQJCQk7IEFk
anVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsMgkJCTsgQWRqdXN0IGNvdW50DQ0K
CUpaCU5ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJTlRSSUFMCQkJOyBU
cnkgbW9yZQ0NCg0NCk5ET0lUOglBREQJRFgsIFdPUkQgUFRSIFtFQlhdCTsg
U3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0K
CUFERAlFQlgsIDIJCQk7IFJlYWR5IG5leHQgd29yZA0NCglERUMJRUNYCQkJ
OyBCdW1wIHRoZSBwYWNrZXQgbGVuZ3RoDQ0KCUpOWglORE9JVAkJCTsgQ29u
dGludWUNDQo7DQ0KTkRPTkU6CU1PVglFQVgsRURYCQkJOyBSZXR1cm4gaW4g
RUFYIHRvIGJlIGZhaXINDQoJUkVUDQ0KVU5ST0xMX0xPT1BTTglFTkRQDQ0K
Ow0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsNDQpQ
UlA2CUxBQkVMCUJZVEUNDQpBU0NJSSA8VGhpcyB0cmllcyB0byBiZSBjdXRl
IHdpdGggdGhlIExPRFNXIGFuZCB1bnJvbGxzIHNvbWUgbG9vcHMuPg0NCkFT
Q0lJIDxJdCBpcyBhbiBleGFtcGxlIG9mIGV4dHJlbWUgY29tcGxpY2F0aW9u
IGRvaW5nIHZlcnkgbGl0dGxlLj4NDQpFT0wNDQo7DQ0KU0lNUExFX1VOUk9M
TAlQUk9DCU5FQVINDQoJTU9WCUVDWCwgKFBBQ0tFVF9MRU4gU0hSIDEpDQ0K
CU1PVglFU0ksIE9GRlNFVCBJUF9QQUNLRVQNDQoJWE9SCUVEWCwgRURYCQk7
IENsZWFyIENZLCB6ZXJvDQ0KCU1PVglFQlgsIEVEWAkJOyBaZXJvIHRoaXMg
dG9vDQ0KCU1PVglFQVgsIEVEWAkJOyBNYWtlIHN1cmUgaGlnaCB3b3JkIGlz
IHplcm8NDQoJQ0xEDQ0KDQ0KVFJZRU06CUNNUAlFQ1gsMTYJCQk7IEF0IGxl
YXN0IDE2IHdvcmRzPw0NCglKQUUJUzE2CQkJOyBZZXMsIGRvIDE2IHdvcmRz
IHVucm9sbGVkDQ0KCUNNUAlFQ1gsOAkJCTsgQXQgbGVhc3QgOCB3b3Jkcz8N
DQoJSkFFCVM4CQkJOyBZZXMsIGRvIDggd29yZHMgdW5yb2xsZWQNDQoJQ01Q
CUVDWCw0CQkJOyBBdCBsZWFzdCA0IHdvcmRzPw0NCglKQUUJUzQJCQk7IFll
cywgZG8gNCB3b3JkcyB1bnJvbGxlZA0NCglKTVAJUFJPUAkJCTsgTm9uZSBv
ZiBhYm92ZQ0NCjsNDQpTMTY6CVNIUglCWCwxCQkJOyBQcm9wYWdhdGUgbGFz
dCBDWQ0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURY
LEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgs
QVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxB
WA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFY
DQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgN
DQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0N
CglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0K
CUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQo7
DQ0KCUFEQwlCWCwwCQkJOyBQcm9wYWdhdGUgbGFzdCBDWQ0NCglTVUIJRUNY
LDE2CQkJOyBBZGp1c3QgY291bnQNDQoJSloJU0RPTkUJCQk7IFdlIGFyZSBk
b25lDQ0KCUpNUAlUUllFTQkJCTsgVHJ5IG1vcmUNDQo7DQ0KUzg6CVNIUglC
WCwxCQkJOyBQcm9wYWdhdGUgbGFzdCBDWQ0NCglMT0RTVw0NCglBREMJRFgs
QVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxB
WA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFY
DQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgN
DQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KOw0NCglBREMJQlgsMAkJCTsgUHJv
cGFnYXRlIHBvc3NpYmxlIGNhcnJ5DQ0KCVNVQglFQ1gsOAkJCTsgQWRqdXN0
IGNvdW50DQ0KCUpaCVNET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJVFJZ
RU0JCQk7IFRyeSBtb3JlDQ0KOw0NClM0OglTSFIJQlgsMQkJCTsgUHJvcGFn
YXRlIGxhc3QgY2FycnkNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNX
DQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cN
DQoJQURDCURYLEFYDQ0KCUFEQwlCWCwwCQkJOyBTYXZlIHBvc3NpYmxlIGNh
cnJ5DQ0KOw0NCglTVUIJRUNYLDQJCQk7IEFkanVzdCBjb3VudA0NCglKWglT
RE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCVRSWUVNCQkJOyBUcnkgbW9y
ZQ0NCjsNDQpQUk9QOglTSFIJQlgsMQkJCTsgUHJvcGFnYXRlIGxhc3QgQ1kN
DQpTSU1QTEU6CUxPRFNXCQkJCTsgRG9pdA0NCglBREMJRFgsQVgJCQk7IFN1
bSB3b3JkcyBvbmx5IHdpdGggcHJldmlvdXMgQ1kNDQoJTE9PUAlTSU1QTEUJ
CQk7IERvaXQyaXQNDQoJQURDCUJYLDAJCQk7IFBvc3NpYmxlIGxhc3QgQ1kN
DQpTRE9ORToJU0hSCUJYLDENDQoJQURDCURYLDAJCQk7IFByb3BhZ2F0ZSBs
YXN0IENZDQ0KCU1PVglFQVgsRURYCQkJOyBSZXR1cm4gaW4gRUFYIHRvIGJl
IGZhaXINDQoJUkVUDQ0KU0lNUExFX1VOUk9MTAlFTkRQDQ0KOw0NCjstPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsNDQpQUlA3CUxBQkVM
CUJZVEUNDQpBU0NJSSA8VGhpcyBpcyBhIHZlcnNpb24gb2YgdGhlIHNpbXBs
ZSBjaGVja3N1bS4gSXQgdXNlcyBMT0RTVy4gSG93ZXZlcj4NDQpBU0NJSSA8
aXQgZm9sZHMgYmFjayBhbGwgdGhlIGNhcnJpZXMgbXVjaCBsaWtlIHRoZSBz
dGFuZGFyZCBDIGNvZGUuPg0NCkVPTA0NCjsNDQpGT0xEQkFDS19DSEtTVU0J
UFJPQwlORUFSDQ0KCU1PVglFQ1gsIChQQUNLRVRfTEVOIFNIUiAxKQk7IEdl
dCBwYWNrZXQgbGVuZ3RoDQ0KCU1PVglFU0ksIE9GRlNFVCBJUF9QQUNLRVQJ
OyBQb2ludCB0byBwYWNrZXQNDQoJWE9SCUVEWCwgRURYCQk7IENsZWFyIENZ
LCB6ZXJvDQ0KCU1PVglFQVgsIEVEWAkJOyBNYWtlIHN1cmUgaGlnaCB3b3Jk
IGlzIHplcm8NDQoJQ0xEDQ0KOw0NCkNIS0VNVzoJTE9EU1cJCQkJOyBEb2l0
DQ0KCUFERAlFRFgsRUFYCQkJOyBTdW0gbG9uZ3dvcmRzIG9ubHkNDQoJTE9P
UAlDSEtFTVcJCQk7IERvaXQyaXQNDQoJTU9WCUVBWCxFRFgNDQoJU0hSCUVB
WCwxNgkJCTsgRXhwb3NlIHRoZSBjYXJyaWVzDQ0KCUFERAlEWCxBWAkJCTsg
U3VtIGFsbCB0aGUgY2FycmllcyBpbnRvIExPVyB3b3JkDQ0KCUFEQwlEWCww
CQkJOyBUaGUgbGFzdCBzdW0gY291bGQgaGF2ZSBjYXJyaWVkDQ0KCUFORAlF
RFgsMEZGRkZICQk7IFNhdmUgb25seSB0aGUgbG93IHdvcmQNDQoJTU9WCUVB
WCxFRFgJCQk7IFJldHVybiBpbiBFQVggdG8gYmUgZmFpcg0NCglSRVQNDQpG
T0xEQkFDS19DSEtTVU0JRU5EUA0NCjsNDQo7LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS0NDQo7DQ0KUFJQOAlMQUJFTAlCWVRFDQ0KQVNDSUkg
PFRoaXMgaXMgYSB2ZXJzaW9uIG9mIHRoZSBzaW1wbGUgY2hlY2tzdW0uIEl0
IHVzZXMgTE9EU1cuIEhvd2V2ZXI+DQ0KQVNDSUkgPGl0IGRvZXMgbm90IHVz
ZSBhIGxvb3AgY291bnRlci4gSXQgdXNlcyBmb2xkLWJhY2sgZm9yIGNhcnJp
ZXMuPg0NCkVPTA0NCjsNDQpOT0NPVU5UX0NIS1NVTQlQUk9DCU5FQVINDQoJ
TU9WCUVDWCwgUEFDS0VUX0xFTgkJOyBHZXQgcGFja2V0IGxlbmd0aCAoYnl0
ZXMpDQ0KCU1PVglFU0ksIE9GRlNFVCBJUF9QQUNLRVQJOyBQb2ludCB0byBw
YWNrZXQNDQoJQURECUVDWCwgRVNJCQk7IEVDWCBwb2ludHMgdG8gbGFzdCBw
YWNrZXQNDQoJWE9SCUVEWCwgRURYCQk7IENsZWFyIENZLCB6ZXJvDQ0KCU1P
VglFQVgsIEVEWAkJOyBNYWtlIHN1cmUgaGlnaCB3b3JkIGlzIHplcm8NDQoJ
Q0xEDQ0KOw0NCkNIS0VNWDoJTE9EU1cJCQkJOyBEb2l0DQ0KCUFERAlFRFgs
RUFYCQkJOyBTdW0gbG9uZ3dvcmRzIG9ubHkNDQoJQ01QCUVTSSxFQ1gJCQk7
IEVuZCBvZiB0aGUgbGlzdD8NDQoJSkIJQ0hLRU1YCQkJOyBEb2l0Mml0DQ0K
CU1PVglFQVgsRURYDQ0KCVNIUglFQVgsMTYJCQk7IEV4cG9zZSB0aGUgY2Fy
cmllcw0NCglBREQJRFgsQVgJCQk7IFN1bSBhbGwgdGhlIGNhcnJpZXMgaW50
byBMT1cgd29yZA0NCglBREMJRFgsMAkJCTsgVGhlIGxhc3Qgc3VtIGNvdWxk
IGhhdmUgY2FycmllZA0NCglBTkQJRURYLDBGRkZGSAkJOyBTYXZlIG9ubHkg
dGhlIGxvdyB3b3JkDQ0KCU1PVglFQVgsRURYCQkJOyBSZXR1cm4gaW4gRUFY
IHRvIGJlIGZhaXINDQoJUkVUDQ0KTk9DT1VOVF9DSEtTVU0JRU5EUA0NCjsN
DQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpQUlA5CUxB
QkVMCUJZVEUNDQpBU0NJSSA8VGhpcyB0cmllcyB0byBiZSBjdXRlIGFuZCB1
bnJvbGwgbG9vcHMgYnV0IHN1bXMgZnJvbSBtZW1vcnk+DQ0KQVNDSUkgPHdp
dGhvdXQgYW4gaW50ZXJtZWRpYXRlIHJlZ2lzdGVyIG9wZXJhbmQuIEl0IGFs
c28gZ29lcyBvdmVyYm9hcmQ+DQ0KQVNDSUkgPG9uIHRoZSBsb29wLXVucm9s
bGluZy4gSXQgYWxzbyBhdHRlbXB0cyB0byBiZSB0aGUgYmVzdCB0ZXN0ZWQu
Pg0NCkVPTA0NCjsNDQpVTlJPTExfTE9PUFNPCVBST0MJTkVBUg0NCglNT1YJ
RUNYLCAoUEFDS0VUX0xFTiBTSFIgMSkJOyBHZXQgcGFja2V0IGxlbmd0aA0N
CglNT1YJRUJYLCBPRkZTRVQgSVBfUEFDS0VUCTsgUG9pbnQgdG8gdGhlIHBh
Y2tldA0NCglYT1IJRURYLCBFRFgJCTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9W
CUVBWCwgRURYCQk7IE1ha2Ugc3VyZSBoaWdoIHdvcmQgaXMgemVybw0NCglN
T1YJRVNJLCBFRFgJCTsgQ2xlYXIgdGhpcyB0b28NDQoNDQpPVFJJQUw6CUNN
UAlFQ1gsMzIJCQk7IEF0IGxlYXN0IDMyIHdvcmRzPw0NCglKQUUJT0RPMzIJ
CQk7IFllcywgZG8gMTYgd29yZHMgdW5yb2xsZWQNDQoJQ01QCUVDWCwxNgkJ
CTsgQXQgbGVhc3QgMTYgd29yZHM/DQ0KCUpBRQlPRE8xNgkJCTsgWWVzLCBk
byAxNiB3b3JkcyB1bnJvbGxlZA0NCglDTVAJRUNYLDgJCQk7IEF0IGxlYXN0
IDggd29yZHM/DQ0KCUpBRQlPRE84CQkJOyBZZXMsIGRvIDggd29yZHMgdW5y
b2xsZWQNDQoJQ01QCUVDWCw0CQkJOyBBdCBsZWFzdCA0IHdvcmRzPw0NCglK
QUUJT0RPNAkJCTsgWWVzLCBkbyA0IHdvcmRzIHVucm9sbGVkDQ0KCUpNUAlP
UFJPUAkJCTsgTm9uZSBvZiBhYm92ZQ0NCg0NCk9ETzMyOglTSFIJU0ksMQkJ
CTsgUHJvcGFnYXRlIENZDQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VCWF0JOyBT
dW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBbRUJYKzJdCTsgU3Vt
IHRoZSB3b3JkOw0NCglBREMJRFgsIFdPUkQgUFRSIFtFQlgrNF0JOyBTdW0g
dGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBbRUJYKzZdCTsgU3VtIHRo
ZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VCWCs4XQk7IFN1bSB0aGUg
d29yZA0NCglBREMJRFgsIFdPUkQgUFRSIFtFQlgrMTBdCTsgU3VtIHRoZSB3
b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VCWCsxMl0JOyBTdW0gdGhlIHdv
cmQNDQoJQURDCURYLCBXT1JEIFBUUiBbRUJYKzE0XQk7IFN1bSB0aGUgd29y
ZA0NCglBREMJRFgsIFdPUkQgUFRSIFtFQlgrMTZdCTsgU3VtIHRoZSB3b3Jk
DQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VCWCsxOF0JOyBTdW0gdGhlIHdvcmQN
DQoJQURDCURYLCBXT1JEIFBUUiBbRUJYKzIwXQk7IFN1bSB0aGUgd29yZA0N
CglBREMJRFgsIFdPUkQgUFRSIFtFQlgrMjJdCTsgU3VtIHRoZSB3b3JkDQ0K
CUFEQwlEWCwgV09SRCBQVFIgW0VCWCsyNF0JOyBTdW0gdGhlIHdvcmQNDQoJ
QURDCURYLCBXT1JEIFBUUiBbRUJYKzI2XQk7IFN1bSB0aGUgd29yZA0NCglB
REMJRFgsIFdPUkQgUFRSIFtFQlgrMjhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFE
QwlEWCwgV09SRCBQVFIgW0VCWCszMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURD
CURYLCBXT1JEIFBUUiBbRUJYKzMyXQk7IFN1bSB0aGUgd29yZA0NCglBREMJ
RFgsIFdPUkQgUFRSIFtFQlgrMzRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlE
WCwgV09SRCBQVFIgW0VCWCszNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURY
LCBXT1JEIFBUUiBbRUJYKzM4XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgs
IFdPUkQgUFRSIFtFQlgrNDBdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwg
V09SRCBQVFIgW0VCWCs0Ml0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBX
T1JEIFBUUiBbRUJYKzQ0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdP
UkQgUFRSIFtFQlgrNDZdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09S
RCBQVFIgW0VCWCs0OF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JE
IFBUUiBbRUJYKzUwXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQg
UFRSIFtFQlgrNTJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQ
VFIgW0VCWCs1NF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBU
UiBbRUJYKzU2XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQgUFRS
IFtFQlgrNThdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIg
W0VCWCs2MF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBb
RUJYKzYyXQk7IFN1bSB0aGUgd29yZA0NCglBREMJU0ksMAkJCTsgUHJvcGFn
YXRlIGxhc3QgY2FycnkNDQo7DQ0KCUFERAlFQlgsNjQJCQk7IEFkanVzdCBw
b2ludGVyDQ0KCVNVQglFQ1gsMzIJCQk7IEFkanVzdCBjb3VudA0NCglKWglP
RE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU9UUklBTAkJCTsgVHJ5IG1v
cmUNDQo7DQ0KT0RPMTY6CVNIUglTSSwxCQkJOyBQcm9wYWdhdGUgQ1kNDQoJ
QURDCURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglBREMJ
RFgsIFdPUkQgUFRSIFtFQlgrMl0JOyBTdW0gdGhlIHdvcmQ7DQ0KCUFEQwlE
WCwgV09SRCBQVFIgW0VCWCs0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgs
IFdPUkQgUFRSIFtFQlgrNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBX
T1JEIFBUUiBbRUJYKzhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09S
RCBQVFIgW0VCWCsxMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JE
IFBUUiBbRUJYKzEyXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQg
UFRSIFtFQlgrMTRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQ
VFIgW0VCWCsxNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBU
UiBbRUJYKzE4XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQgUFRS
IFtFQlgrMjBdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIg
W0VCWCsyMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBb
RUJYKzI0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQgUFRSIFtF
QlgrMjZdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VC
WCsyOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBbRUJY
KzMwXQk7IFN1bSB0aGUgd29yZA0NCglBREMJU0ksMAkJCTsgUHJvcGFnYXRl
IGxhc3QgY2FycnkNDQo7DQ0KCUFERAlFQlgsMzIJCQk7IEFkanVzdCBwb2lu
dGVyDQ0KCVNVQglFQ1gsMTYJCQk7IEFkanVzdCBjb3VudA0NCglKWglPRE9O
RQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU9UUklBTAkJCTsgVHJ5IG1vcmUN
DQoNDQpPRE84OglTSFIJU0ksMQkJCTsgUHJvcGFnYXRlIGxhc3QgY2FycnkN
DQoJQURDCURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglB
REMJRFgsIFdPUkQgUFRSIFtFQlgrMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURD
CURYLCBXT1JEIFBUUiBbRUJYKzRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlE
WCwgV09SRCBQVFIgW0VCWCs2XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgs
IFdPUkQgUFRSIFtFQlgrOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBX
T1JEIFBUUiBbRUJYKzEwXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdP
UkQgUFRSIFtFQlgrMTJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09S
RCBQVFIgW0VCWCsxNF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCVNJLDAJCQk7
IFByb3BhZ2F0ZSBjYXJyeQ0NCjsNDQoJQURECUVCWCwxNgkJCTsgQWRqdXN0
IHBvaW50ZXINDQoJU1VCCUVDWCw4CQkJOyBBZGp1c3QgY291bnQNDQoJSloJ
TkRPTkUJCQk7IFdlIGFyZSBkb25lDQ0KCUpNUAlOVFJJQUwJCQk7IFRyeSBt
b3JlDQ0KDQ0KT0RPNDoJU0hSCVNJLDENDQoJQURDCURYLCBXT1JEIFBUUiBb
RUJYXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQgUFRSIFtFQlgr
Ml0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLCBXT1JEIFBUUiBbRUJYKzRd
CTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwgV09SRCBQVFIgW0VCWCs2XQk7
IFN1bSB0aGUgd29yZA0NCglBREMJU0ksMAkJCTsgUHJvcGFnYXRlIGNhcnJ5
DQ0KOw0NCglBREQJRUJYLDgJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglF
Q1gsNAkJCTsgQWRqdXN0IGNvdW50DQ0KCUpaCU9ET05FCQkJOyBXZSBhcmUg
ZG9uZQ0NCglKTVAJT1RSSUFMCQkJOyBUcnkgbW9yZQ0NCg0NCk9ETzI6CVNI
UglTSSwxCQkJOyBQcm9wYWdhdGUgQ2FycnkNDQoJQURDCURYLCBXT1JEIFBU
UiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsIFdPUkQgUFRSIFtF
QlgrMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCVNJLDAJCQk7IFByb3BhZ2F0
ZSBjYXJyeQ0NCjsNDQoJQURECUVCWCw0CQkJOyBBZGp1c3QgcG9pbnRlcg0N
CglTVUIJRUNYLDIJCQk7IEFkanVzdCBjb3VudA0NCglKWglPRE9ORQkJCTsg
V2UgYXJlIGRvbmUNDQoJSk1QCU9UUklBTAkJCTsgVHJ5IG1vcmUNDQo7DQ0K
T1BST1A6CVNIUglTSSwxDQ0KT0RPSVQ6CUFEQwlEWCwgV09SRCBQVFIgW0VC
WF0JOyBTdW0gdGhlIHdvcmQNDQoJQURECUVCWCwgMgkJCTsgUmVhZHkgbmV4
dCB3b3JkDQ0KCURFQwlFQ1gJCQk7IEJ1bXAgdGhlIHBhY2tldCBsZW5ndGgN
DQoJSk5aCU9ET0lUCQkJOyBDb250aW51ZQ0NCglDTVAJRFgsIFdPUkQgUFRS
IFtFQlggLTJdCTsgRGlkIHRoZSBsYXN0IGNhcnJ5Pw0NCglBREMJU0ksMAkJ
CTsgSWYgaXQgZGlkLg0NCjsNDQpPRE9ORToJU0hSCVNJLDENDQoJQURDCURY
LDANDQoJTU9WCUVBWCxFRFgJCQk7IFJldHVybiBpbiBFQVggdG8gYmUgZmFp
cg0NCglSRVQNDQpVTlJPTExfTE9PUFNPCUVORFANDQo7DQ0KOy09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOwlUaGlzIHR1cm5zIE9GRiB0
aGUgaW50ZXJydXB0cyBhbmQgZ2V0cyB0aGUgY3VycmVudCBpbnRlcm5hbA0N
CjsJY3ljbGUgdGltZXIgdmFsdWUuDQ0KOw0NClNUQVJUX1RJTUVSCVBST0MJ
TkVBUg0NCglDTEkJCQkJOyBEb24ndCBpbnRlcnJ1cHQNDQoJREIJMEZIDQ0K
CURCCTMxSA0NCglNT1YJRFdPUkQgUFRSIENUSU1fTE9XX0xXLCBFQVgNDQoJ
TU9WCURXT1JEIFBUUiBDVElNX0hJR19MVywgRURYDQ0KCVJFVA0NClNUQVJU
X1RJTUVSCUVORFANDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS0NDQo7CVRoaXMgZ2V0cyB0aGUgY3VycmVudCBpbnRlcm5hbCBjeWNsZSB0
aW1lciB2YWx1ZSwgdHVybnMgdGhlDQ0KOwlpbnRlcnJ1cHRzIGJhY2sgT04g
YW5kIGNhbGN1bGF0ZXMgdGhlIGN5Y2xlcyB1c2VkIHNpbmNlIHRoZQ0NCjsJ
cHJldmlvdXMgY2FsbCB0byBTVEFSVF9USU1FUg0NCjsNDQpTVE9QX1RJTUVS
CVBST0MJTkVBUg0NCglEQgkwRkgNDQoJREIJMzFIDQ0KCVNUSQkJCQk7IENh
biBub3cgaW50ZXJydXB0DQ0KCVNVQglFQVgsIERXT1JEIFBUUiBDVElNX0xP
V19MVw0NCglTQkIJRURYLCBEV09SRCBQVFIgQ1RJTV9ISUdfTFcNDQoJTU9W
CURXT1JEIFBUUiBDVElNX0xPV19MVywgRUFYDQ0KCU1PVglEV09SRCBQVFIg
Q1RJTV9ISUdfTFcsIEVEWA0NCglSRVQNDQpTVE9QX1RJTUVSCUVORFANDQo7
DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0NCjsJ
V3JpdGUgYSBoZXgtQVNDSUkgV09SRCBpbiBBWCB0byBtZW1vcnkgYWRkcmVz
c2VkIGJ5IEVTOkRJLg0NCjsNDQpIRVhXCVBST0MJTkVBUg0NCglQVVNICUFY
CQkJOyBTYXZlIGhleCBXT1JEDQ0KCU1PVglBTCxBSAkJCTsgSGlnaCBCWVRF
IGZpcnN0DQ0KCUNBTEwJSEVYQgkJCTsgQ29udmVydCBieXRlDQ0KCVBPUAlB
WAkJCTsgR2V0IG9yaWdpbmFsLCBmYWxsIHRocm91Z2gNDQo7LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQo7DQ0KOwlXcml0ZSBhIGhleC1B
U0NJSSBCWVRFIGluIEFMIHRvIG1lbW9yeSBhZGRyZXNzZWQgYnkgRVM6REku
DQ0KOw0NCkhFWEIJUFJPQwlORUFSDQ0KCU1PVglBSCxBTAkJCTsgU2F2ZSBi
eXRlDQ0KCVNIUglBTCw0CQkJOyBJc29sYXRlIHRvcCBuaWJibGUNDQoJQ0FM
TAlIRVhOCQkJOyBDb252ZXJ0IGhpYmJsZQ0NCglNT1YJQUwsQUgJCQk7IEdl
dCBoZXggYnl0ZQ0NCglBTkQJQUwsMDAwMDExMTFCCQk7IE1hc2sgaGlnaCwg
ZmFsbCB0aHJvdWdoDQ0KSEVYTglQUk9DCU5FQVINDQoJQURECUFMLDkwSAkJ
CTsgQWRkIGJpYXMNDQoJREFBCQkJCTsgT2xkIEludGVsIHRyaWNrDQ0KCUFE
QwlBTCw0MEgJCQk7IFBpY2sgdXAgQ1kgaW50byBoaWdoIG5pYmJsZQ0NCglE
QUEJCQkJOyBSZWFkanVzdA0NCglTVE9TQgkJCQk7IFB1dCBpbnRvIG1lbW9y
eQ0NCglSRVQNDQpIRVhOCUVORFANDQpIRVhCCUVORFANDQpIRVhXCUVORFAN
DQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQo7DQ0KOwlU
aGlzIGRpc3BsYXlzIHRoZSByZXN1bHRzLiBUaGUgZnVuY3Rpb24gbnVtYmVy
IGlzIGluIEFMIHdoZW4NDQo7CXRoaXMgaXMgY2FsbGVkLg0NCjsNDQpESVNQ
TEFZCVBST0MJTkVBUg0NCglNT1YJREksT0ZGU0VUIEZODQ0KCUNBTEwJSEVY
Qg0NCglNT1YJREksT0ZGU0VUIENISw0NCglNT1YJQVgsV09SRCBQVFIgQ0hL
U1VNDQ0KCUNBTEwJSEVYVw0NCglNT1YJQVgsV09SRCBQVFIgQ1RJTV9ISUdf
TFcrMg0NCglNT1YJREksT0ZGU0VUIEgxDQ0KCUNBTEwJSEVYVw0NCglNT1YJ
QVgsV09SRCBQVFIgQ1RJTV9ISUdfTFcNDQoJTU9WCURJLE9GRlNFVCBIMA0N
CglDQUxMCUhFWFcNDQoJTU9WCUFYLFdPUkQgUFRSIENUSU1fTE9XX0xXKzIN
DQoJTU9WCURJLE9GRlNFVCBMMQ0NCglDQUxMCUhFWFcNDQoJTU9WCUFYLFdP
UkQgUFRSIENUSU1fTE9XX0xXDQ0KCU1PVglESSxPRkZTRVQgTDANDQoJQ0FM
TAlIRVhXDQ0KCU1PVglBWCxET1NfUFJUDQ0KCU1PVglEWCxPRkZTRVQgUFJQ
DQ0KCUlOVAlNU19ET1MNDQoJUkVUDQ0KRElTUExBWQlFTkRQDQ0KOw0NClBT
RUcJRU5EUw0NCglFTkQJTUFJTg0NCg0NCho=
---1295196120-145632947-848940606=:136--