From alsa-devel-owner@alsa.jcu.cz  Sat Nov 21 04:16:16 1998
Received: from donkeykong.rs.itd.umich.edu (smtp@donkeykong.rs.itd.umich.edu [141.211.63.19])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id EAA04542
	for <alsa-devel@jcu.cz>; Sat, 21 Nov 1998 04:15:47 +0100
Received: from frogger.rs.itd.umich.edu (smtp@frogger.rs.itd.umich.edu [141.211.63.85])
        by donkeykong.rs.itd.umich.edu (8.8.8/4.3-mailhub) with ESMTP id WAA02445
        for <alsa-devel@jcu.cz>; Fri, 20 Nov 1998 22:15:45 -0500 (EST)
Received: from localhost (cdavid@localhost)
	by frogger.rs.itd.umich.edu (8.8.8/5.1-client) with SMTP id WAA10611
	for <alsa-devel@jcu.cz>; Fri, 20 Nov 1998 22:15:44 -0500 (EST)
Date: Fri, 20 Nov 1998 22:15:44 -0500 (EST)
From: Chris David <cdavid@umich.edu>
To: alsa-devel@jcu.cz
Subject: coding.lyx, first rev done
Message-ID: <Pine.SOL.3.95.981120221015.9662A-200000@frogger.rs.itd.umich.edu>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-851401618-911618144=:9662"
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

  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.

---559023410-851401618-911618144=:9662
Content-Type: TEXT/PLAIN; charset=US-ASCII


I have just finished converting coding.sgml into the lyx format.  It was
the first time I used lyx, it reminded me of frame maker.

This version is basically identical to coding.sgml, it has no new content.
I plan on adding content to it next week sometime.

If you can, please take a look at it, and let me know if I should be doing
anything different.

Cheers,

-Chris


---559023410-851401618-911618144=:9662
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="coding.lyx"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.95.981120221544.9662B@frogger.rs.itd.umich.edu>
Content-Description: 

I1RoaXMgZmlsZSB3YXMgY3JlYXRlZCBieSA8Y2RhdmlkPiBGcmkgTm92IDIw
IDIzOjE0OjQxIDE5OTgNCiNMeVggMC4xMiAoQykgMTk5NS0xOTk4IE1hdHRo
aWFzIEV0dHJpY2ggYW5kIHRoZSBMeVggVGVhbQ0KXGx5eGZvcm1hdCAyLjE1
DQpcdGV4dGNsYXNzIGxpbnV4ZG9jDQpcbGFuZ3VhZ2UgZGVmYXVsdA0KXGlu
cHV0ZW5jb2RpbmcgZGVmYXVsdA0KXGZvbnRzY2hlbWUgZGVmYXVsdA0KXGdy
YXBoaWNzIGRlZmF1bHQNClxwYXBlcmZvbnRzaXplIDEwDQpcc3BhY2luZyBz
aW5nbGUgDQpccGFwZXJzaXplIERlZmF1bHQNClxwYXBlcnBhY2thZ2UgYTQN
Clx1c2VfZ2VvbWV0cnkgMA0KXHVzZV9hbXNtYXRoIDANClxwYXBlcm9yaWVu
dGF0aW9uIHBvcnRyYWl0DQpcc2VjbnVtZGVwdGggMw0KXHRvY2RlcHRoIDMN
ClxwYXJhZ3JhcGhfc2VwYXJhdGlvbiBpbmRlbnQNClxkZWZza2lwIG1lZHNr
aXANClxxdW90ZXNfbGFuZ3VhZ2UgZW5nbGlzaA0KXHF1b3Rlc190aW1lcyAy
DQpccGFwZXJjb2x1bW5zIDENClxwYXBlcnNpZGVzIDENClxwYXBlcnBhZ2Vz
dHlsZSBkZWZhdWx0DQoNClxsYXlvdXQgVGl0bGUNClxhZGRlZF9zcGFjZV90
b3AgdmZpbGwgXGFkZGVkX3NwYWNlX2JvdHRvbSB2ZmlsbCANCkFkdmFuY2Vk
IExpbnV4IFNvdW5kIEFyY2hpdGVjdXJlIERyaXZlcg0KXGxheW91dCBBdXRo
b3INCg0KSmFyb3NsYXYgS3lzZWxhIA0KXGxheW91dCBEYXRlDQoNCk5vdmVt
YmVyIDE0LCAxOTk4DQpcbGF5b3V0IEFic3RyYWN0DQoNClRoaXMgZG9jdW1l
bnQgZGVzY3JpYmVzLCBpbiBmdWxsIGRldGFpbCwgdGhlIEFkdmFuY2VkIExp
bnV4IFNvdW5kIEFyY2hpdGVjdHVyZQ0KIGRyaXZlci4NClxsYXlvdXQgU3Rh
bmRhcmQNCg0KDQpcYmVnaW5faW5zZXQgTGF0ZXhDb21tYW5kIFx0YWJsZW9m
Y29udGVudHMNCg0KXGVuZF9pbnNldCANCg0KDQpcbGF5b3V0IFNlY3Rpb24N
Cg0KSW50cm9kdWN0aW9uDQpcbGF5b3V0IFN0YW5kYXJkDQoNClRoaXMgZG9j
dW1lbnQgZGVzY3JpYmVzIHRoZSBBTFNBIGRyaXZlciBhbmQga2VybmVsIEFQ
SS4NCiBBcHBsaWNhdGlvbiBwcm9ncmFtbWVycyBzaG91bGQgdXNlIHRoZSBs
aWJyYXJ5IEFQSSByYXRoZXIgdGhhbiB0aGUga2VybmVsDQogQVBJLg0KIFRo
ZSBBTFNBIExpYnJhcnkgb2ZmZXJzIDEwMCUgb2YgdGhlIGZ1bmN0aW9uYWxs
eSBvZiB0aGUga2VybmVsIEFQSSwgYnV0DQogYWRkcyBtYWpvciBpbXByb3Zl
bWVudHMgaW4gdXNhYmlsaXR5LCBtYWtpbmcgdGhlIGFwcGxpY2F0aW9uIGNv
ZGUgc2ltcGxlcg0KIGFuZCBiZXR0ZXIgbG9va2luZy4NCiBJbiBhZGRpdGlv
biwgc29tZSBvZiB0aGUgZml4ZXMgYW5kIGNvbXBhdGliaWxpdHkgY29kZSBt
YXkgYmUgcGxhY2VkIGluDQogdGhlIGxpYnJhcnkgY29kZSBpbnN0ZWFkIG9m
IHRoZSBrZXJuZWwgZHJpdmVyLg0KXGxheW91dCBTdWJzZWN0aW9uDQoNClNv
dXJjZSBGaWxlcw0KXGxheW91dCBTdGFuZGFyZA0KDQpTb3VyY2UgZmlsZXMg
YXJlIHNlcGFyYXRlZCBpbnRvIHNldmVyYWwgZGlyZWN0b3JpZXMNClxsYXlv
dXQgSXRlbWl6ZQ0KDQovaW5jbHVkZSAtIGFsbCBoZWFkZXIgZmlsZXMgd2hp
Y2ggYXJlIGluY2x1ZGVkIGZyb20gb25lIG9yIG1vcmUgc291cmNlcy4NCiAN
ClxsYXlvdXQgSXRlbWl6ZQ0KDQova2VybmVsIC0ga2VybmVsIGNvZGUgYW5k
IGFic3RyYWN0IGxheWVycyANClxsYXlvdXQgSXRlbWl6ZQ0KDQovbG93bGV2
ZWwgLSBsb3dsZXZlbCBjb2RlIGZvciBjaGlwKHNldClzDQpcbGF5b3V0IEl0
ZW1pemUNCg0KL2NhcmRzIC0gVXBwZXIgbGV2ZWwgZm9yIHNvdW5kY2FyZHMg
YW5kIGNhcmQgc3BlY2lmaWMgbG93bGV2ZWwgY29kZS4NClxsYXlvdXQgSXRl
bWl6ZQ0KDQovZGV0ZWN0IC0gRGV0ZWN0aW9uIGxheWVyICgvcHJvYy9hc291
bmQvZGV0ZWN0IC0gdG8gbWFrZSBpbnN0YWxsYXRpb24gZWFzeSkuDQpcbGF5
b3V0IFN1YnNlY3Rpb24NCg0KRGV2aWNlcw0KXGxheW91dCBTdGFuZGFyZA0K
DQpEZXZpY2VzIHNob3VsZCB1c2UgYWJzdHJhY3QgY29kZSBmcm9tIHNvdW5k
IGtlcm5lbCwgYnV0IGl0IHNob3VsZCB1c2Ugb3duDQogY29kZSBhbmQgcmVn
aXN0ZXIgbWlub3JzIHNlcGFyZXRlbHkgKHdpdGggc25kX21pbm9yX3JlZ2lz
dGVyIGFuZCBzbmRfbWlub3JfdW5yZQ0KZ2lzdGVyIGZ1bmN0aW9ucykuDQog
VGhpcyBtZXRob2QgdG90YWxseSBieXBhc3NlcyBhbGwgYWJzdHJhY3QgY29k
ZSwgc28gY29kZSBmb3IgdGhlc2Ugc291bmRjYXJkcw0KIG11c3QgaGFuZGxl
IGFsbCB0aGluZ3MuDQpcbGF5b3V0IFN1YnNlY3Rpb24NCg0KTWVtb3J5IGFs
bG9jYXRpb24NClxsYXlvdXQgQ29kZQ0KDQp2b2lkICpzbmRfbWFsbG9jKCB1
bnNpZ25lZCBsb25nIHNpemUgKQ0KXG5ld2xpbmUgDQp2b2lkIHNuZF9mcmVl
KCB2b2lkICpwdHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSApDQpcbmV3bGluZSAN
CmNoYXIgKnNuZF9tYWxsb2Nfc3RyZHVwKCBjaGFyICpzdHJpbmcgKQ0KXG5l
d2xpbmUgDQp2b2lkIHNuZF9mcmVlX3N0ciggY2hhciAqc3RyaW5nICkNClxs
YXlvdXQgU3RhbmRhcmQNCg0KVGhlc2Ugcm91dGluZXMgdXNlIHRoZWlyIG93
biBtZW1vcnkgYWxsb2NhdGlvbiBhbGdvcml0aG0uDQogSXQgc2hvdWxkIGJl
IHJlbW92ZWQgaW4gdGhlIGZ1dHVyZSBhbmQgcmVwbGFjZWQgd2l0aCBrbWFs
bG9jIGFuZCBrZnJlZQ0KIGNhbGxzLCBidXQgZm9yIG5vdyBJIG5lZWQgdG8g
dHJhY2UgYWxsIGFsbG9jYXRpb24gcHJvYmxlbXMgdG8gbWFrZSBjb2RlDQog
Y2xlYW4uDQpcbGF5b3V0IFN0YW5kYXJkDQoNCk5vdGU6IEFMU0EgZHJpdmVy
IGhlYXZpbHkgdXNlcyBkeW5hbWljIGFsbG9jYXRpb24gaW4gbWFueSBwbGFj
ZXMuDQpcbGF5b3V0IFN0YW5kYXJkDQoNCkZvciBkZWJ1Z2dpbmcgeW91IHNo
b3VsZCB1c2UgY29tbWFuZCAnLi9jb25maWd1cmUgLS13aXRoLWRlYnVnPWZ1
bGwnIGZvcg0KIGNvbmZpZ3VyYXRpb24uDQogVGhpcyBlbmFibGVzIHRyYWNp
bmcgb2YgYWxsb2NhdGVkIG1lbW9yeSB3aXRoIGFib3ZlIGZ1bmN0aW9ucy4N
CiBUaGlzIG1ha2VzIGRlYnVnZ2luZyBhIGxpdHRsZSBiaXQgZWFzaWVyLg0K
XGxheW91dCBTdWJzZWN0aW9uDQoNCkJhc2ljIGNvZGluZw0KXGxheW91dCBT
dGFuZGFyZA0KDQpBbGwgdGhpbmdzIGFyZSBtYWRlIGFzIG9iamVjdHMgKHdo
aWNoIGVuY2Fwc3VsYXRlIGRhdGEgYW5kIGZ1bmN0aW9ucykgYW5kDQogYXJl
IHJlZmVyZW5jZWQgaW4gdGhpcyB3YXkuDQogSSBkb24ndCBwcmVmZXIgdG8g
cGFzcyBpbmRleCB0byBzb21lIGFycmF5IG9mIHN0cnVjdHVyZSBvciBzb21l
dGhpbmcgbGlrZQ0KIHRoaXMuDQogT2JqZWN0cyBjb250YWluIGJvdGggZGF0
YSBhbmQgZnVuY3Rpb25zLg0KIFBvaW50ZXJzIHRvIHRoZXNlIG9iamVjdHMg
YXJlIHBhc3NlZCBhcm91bmQgKGxpa2UgQysrKS4NClxsYXlvdXQgU3RhbmRh
cmQNCg0KQWxsIG1haW4gc3RydWN0dXJlcyBzaG91bGQgaGF2ZSBzbmRfeHh4
eF9uZXcsIHNuZF94eHh4X2ZyZWUsIHNuZF94eHh4X3JlZ2lzdGVyLA0KIHNu
ZF94eHh4X3VucmVnaXN0ZXIgZnVuY3Rpb25zLg0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0Kc25kX2NhcmRfdA0KXHNlcmllcyBkZWZh
dWx0IA0KIGlzIGEgYmFzaWMgc3RydWN0dXJlIHdoaWNoIGNvbnRhaW5zIGlu
Zm8gYWJvdXQgYSBzb3VuZGNhcmQsIGluZGV4IGFuZCByZXNvdXJjZQ0KIHRy
YWNraW5nIHZhcmlhYmxlcy4NCiBMb29rIGF0IA0KXHNoYXBlIGl0YWxpYyAN
CmluY2x1ZGUvZHJpdmVyLmgNClxzaGFwZSBkZWZhdWx0IA0KIGZvciBhbGwg
dGhpbmdzIHJlbGF0ZWQgdG8gdGhpcyBzdHJ1Y3R1cmUuDQpcbGF5b3V0IEl0
ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpzbmRfcGNtX2NoYW5uZWxfdCAN
ClxzZXJpZXMgZGVmYXVsdCANCmlzIGEgYmFzaWMgc3RydWN0dXJlIGZvciBh
IFBDTSBjaGFubmVsIChkaXJlY3Rpb24pLg0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0Kc3RydWN0IHNuZF9zdHJ1X3BjbV9oYXJkd2Fy
ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIGlzIGEgc3RydWN0dXJlIHdoaWNoIG11
c3QgYmUgZmlsbGVkIGJ5IGxvd2xldmVsIGNvZGUuDQogTG9vayBhdCANClxz
aGFwZSBpdGFsaWMgDQppbmNsdWRlL3BjbS5oDQpcc2hhcGUgZGVmYXVsdCAN
CiBmb3IgYWxsIHRoaW5ncyByZWxhdGVkIHRvIHRoaXMgc3RydWN0dXJlLg0K
XGxheW91dCBTdWJzZWN0aW9uDQoNClVwcGVyIGxldmVsICgvY2FyZHMpDQpc
bGF5b3V0IFN0YW5kYXJkDQoNCkNvZGUgZm9yIHNvdW5kY2FyZHMgc2hvdWxk
IGNvbnRhaW4gdGhlc2UgdGhpbmdzOg0KXGxheW91dCBFbnVtZXJhdGUNCg0K
U3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBvZiB0aGUgc2FtZSBzb3VuZGNh
cmQgKHVwIHRvIFNORF9DQVJEUykuLi4NClxiZWdpbl9kZWVwZXIgDQpcbGF5
b3V0IEVudW1lcmF0ZQ0KDQppdCBpc24ndCByZWFsbHkgcG9zc2libGUgZHVl
IHRvIEhXIGxpbWl0YXRpb25zDQpcZW5kX2RlZXBlciANClxsYXlvdXQgRW51
bWVyYXRlDQoNCkF1dG9kZXRlY3Rpb24vYXV0b2NvbmZpZ3VyYXRpb24gZmVh
dHVyZSAoaWYgaXQncyBwb3NzaWJsZSkuLi4NClxiZWdpbl9kZWVwZXIgDQpc
bGF5b3V0IEVudW1lcmF0ZQ0KDQppZiBsb3dsZXZlbCBjb2RlIGlzIHNwZWNp
ZmljIGZvciBzb3VuZGNhcmQgdHlwZSAtIGl0IHNob3VsZCBiZSBoZXJlLCB0
b28uLg0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpJbml0
aWFsaXphdGlvbiBjb2RlIGZvciBzb3VuZGNhcmQNClxiZWdpbl9kZWVwZXIg
DQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpzbmRfY2FyZF9uZXcNClxsYXlvdXQg
RW51bWVyYXRlDQoNCnNuZF9jYXJkX2ZyZWUgKGZyZWVzIGFsbCBoYXJkd2Fy
ZSByZXNvdXJjZXMpDQpcZW5kX2RlZXBlciANClxsYXlvdXQgRW51bWVyYXRl
DQoNCkFsbG9jYXRlL2ZyZWUgaGFyZHdhcmUgcmVzb3VyY2VzIGZvciBzb3Vu
ZGNhcmQNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpz
bmRfcmVnaXN0ZXJfaW9wb3J0DQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpzbmRf
dW5yZWdpc3Rlcl9pb3BvcnRzIChmcmVlcyBhbGwgaW9wb3J0cykNClxsYXlv
dXQgRW51bWVyYXRlDQoNCnNuZF9yZWdpc3Rlcl9pbnRlcnJ1cHQNClxsYXlv
dXQgRW51bWVyYXRlDQoNCnNuZF91bnJlZ2lzdGVyX2ludGVycnVwdHMgKGZy
ZWVzIGFsbCBpbnRlcnJ1cHRzKQ0KXGxheW91dCBFbnVtZXJhdGUNCg0Kc25k
X3JlZ2lzdGVyX2RtYV9jaGFubmVsDQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpz
bmRfdW5yZWdpc3Rlcl9kbWFfY2hhbm5lbHMgKGZyZWVzIGFsbCBETUEgY2hh
bm5lbHMpDQpcZW5kX2RlZXBlciANClxsYXlvdXQgRW51bWVyYXRlDQoNCklu
aXRpYWxpemUgb3RoZXIgbGF5ZXJzIChQQ01zLCBNaXhlcnMgZXRjLikNClxi
ZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpzbmRfcGNtX25l
dw0KXGxheW91dCBFbnVtZXJhdGUNCg0Kc25kX3BjbV9mcmVlDQpcbGF5b3V0
IEVudW1lcmF0ZQ0KDQpzbmRfcGNtX3JlZ2lzdGVyDQpcbGF5b3V0IEVudW1l
cmF0ZQ0KDQpzbmRfcGNtX3VucmVnaXN0ZXIgKGNhbGxzIHNuZF9wY21fZnJl
ZSkgDQpcbGF5b3V0IEVudW1lcmF0ZQ0KDQpzbmRfbWl4ZXJfbmV3DQpcbGF5
b3V0IEVudW1lcmF0ZQ0KDQpzbmRfbWl4ZXJfZnJlZQ0KXGxheW91dCBFbnVt
ZXJhdGUNCg0Kc25kX21peGVyX3JlZ2lzdGVyDQpcbGF5b3V0IEVudW1lcmF0
ZQ0KDQpzbmRfbWl4ZXJfdW5yZWdpc3RlciAoY2FsbHMgc25kX21peGVyX2Zy
ZWUpDQpcZW5kX2RlZXBlciANClxsYXlvdXQgRW51bWVyYXRlDQoNClJlZ2lz
dGVyIHNvdW5kY2FyZA0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgRW51bWVy
YXRlDQoNCnNuZF9jYXJkX3JlZ2lzdGVyDQpcbGF5b3V0IEVudW1lcmF0ZQ0K
DQpzbmRfY2FyZF91bnJlZ2lzdGVyIChkb2Vzbid0IGNhbGwgc25kX2NhcmRf
ZnJlZSkNClxlbmRfZGVlcGVyIA0KXGxheW91dCBTdGFuZGFyZA0KDQoNClxz
ZXJpZXMgYm9sZCANCk5vdGU6DQpcc2VyaWVzIGRlZmF1bHQgDQogRHVlIHRv
IG1vZHVsZSBkZXBlbmRlbmN5IHlvdSBzaG91bGQgc2VwYXJhdGUgY29kZSBm
b3Igc291bmRjYXJkcyBmcm9tIHRoZQ0KIHNhbWUgbWFudWZhY3R1cmUgd2hp
Y2ggaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgaGFyZHdhcmUuDQogRXhhbXBs
ZTogVGhlIEdVUyBFeHRyZW1lIGhhcyBhbiBFU1MgRVMtMTY4OCBjaGlwLg0K
IFRoaXMgY2hpcCBpc24ndCBpbiB0aGUgR1VTIENsYXNzaWMuDQogRm9yIEdV
UyBDbGFzc2ljLCB0aGUgZ2VuZXJpYyBjb2RlIGluIHRoZSBzbmQtZXMxNjg4
Lm8gbW9kdWxlIGlzbid0IG5lZWRlZC4NCiBTbyB0aGVyZSBhcmUgdHdvIHVw
cGVyIGxldmVsIG1vZHVsZXMgKHNuZC1ndXNleHRyZW1lLm8gYW5kIHNuZC1n
dXNjbGFzc2ljLm8pLg0KXGxheW91dCBTdWJzZWN0aW9uDQoNClByaXZhdGUg
ZGF0YS92YWx1ZXMNClxsYXlvdXQgU3RhbmRhcmQNCg0KU29tZSBzdHJ1Y3R1
cmVzIGhhdmUgcG9pbnRlcnMgdG8gcHJpdmF0ZSBkYXRhIGFuZCB2YWx1ZXMu
DQogVGhlc2UgdmFyaWFibGVzIGFyZW4ndCB1c2VkIHdpdGggdGhlIGFic3Ry
YWN0IGxheWVycyBhbmQgYXJlIGludGVuZGVkIGZvcg0KIGxvdy1sZXZlbCBj
b2RlIHVzZSBvbmx5Lg0KIA0KXGxheW91dCBDb2RlDQoNCnNuZF9jYXJkX3Qg
LT4gcHJpdmF0ZV9kYXRhIHNuZF9jYXJkX3QgLT4gcHJpdmF0ZV9mcmVlIC8q
Y2FsbGVkIGZyb20gc25kX2NhcmRfZnJlDQplIGlmIG5vdCBOVUxMKi8gDQpc
bmV3bGluZSANCnN0cnVjdCBzbmRfc3RydV9wY21faGFyZHdhcmUgLT4gcHJp
dmF0ZV9kYXRhIHN0cnVjdCBzbmRfc3RydV9wY21faGFyZHdhcmUNCiAtPiBw
cml2YXRlX2ZyZWUgDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCi8qY2FsbGVk
IGZyb20gc25kX3BjbV9mcmVlIGlmIG5vdCBOVUxMKi8gDQpcbmV3bGluZSAN
CnNuZF9wY21fdCAtPiBwcml2YXRlX2RhdGEgc25kX3BjbV90IC0+IHByaXZh
dGVfZnJlZSAvKmNhbGxlZCBmcm9tIHNuZF9wY21fZnJlZQ0KIGlmIG5vdCBO
VUxMKi8NClxuZXdsaW5lIA0Kc3RydWN0IHNuZF9zdHJ1X21peGVyX2NoYW5u
ZWxfaHcgLT4gcHJpdmF0ZV92YWx1ZSANClxuZXdsaW5lIA0Kc25kX2ttaXhl
cl9jaGFubmVsX3QgLT4gcHJpdmF0ZV9kYXRhIA0KXG5ld2xpbmUgDQpzbmRf
a21peGVyX2NoYW5uZWxfdCAtPiBwcml2YXRlX2ZyZWUgLypjYWxsZWQgZnJv
bSBzbmRfbWl4ZXJfZnJlZSBpZiBub3QNCiBOVUxMKi8gDQpcbmV3bGluZSAN
CnNuZF9rbWl4ZXJfdCAtPiBwcml2YXRlX3ZhbHVlIA0KXG5ld2xpbmUgDQpz
bmRfa21peGVyX3QgLT4gcHJpdmF0ZV9kYXRhIHNuZF9rbWl4ZXJfdCAtPiBw
cml2YXRlX2ZyZWUgLypjYWxsZWQgZnJvbQ0KIHNuZF9taXhlcl9mcmVlIGlm
IG5vdCBOVUxMKi8NClxsYXlvdXQgU3Vic2VjdGlvbg0KDQpDTEkvU1RJICYg
c3BpbiBsb2NraW5nDQpcbGF5b3V0IFN0YW5kYXJkDQoNCkdvb2QgY29kZSBz
aG91bGQgbm90IGNvbnRhaW4gDQpcc2hhcGUgaXRhbGljIA0Kc25kX2NsaSgp
DQpcc2hhcGUgZGVmYXVsdCANCiBub3IgDQpcc2hhcGUgaXRhbGljIA0Kc25k
X3N0aSgpDQpcc2hhcGUgZGVmYXVsdCANCiBjYWxscy4NCiBJbnN0ZWFkIHVz
ZSBzcGluIGxvY2tzIA0KXHNoYXBlIGl0YWxpYyANCnNuZF9zcGluX2xvY2so
KQ0KXHNoYXBlIGRlZmF1bHQgDQogDQpcc2hhcGUgaXRhbGljIA0Kc25kX3Nw
aW5fdW5sb2NrKCkNClxzaGFwZSBkZWZhdWx0IA0KIGZvciBsb2NraW5nIGNv
ZGUuDQogVGhpcyBtZXRob2QgaXMgbXVjaCBiZXR0ZXIgZm9yIFNNUCBtYWNo
aW5lcy4NClxsYXlvdXQgU3RhbmRhcmQNCg0KDQpcc2VyaWVzIGJvbGQgDQpO
b3RlOg0KXHNlcmllcyBkZWZhdWx0IA0KIERlYnVnZ2luZyBjb2RlIGlzIGF2
YWlsYWJsZSBmb3IgbG9ja2luZy4NCiBMb29rIGluIA0KXHNoYXBlIGl0YWxp
YyANCnNuZHNwaW5sb2NrLmgNClxzaGFwZSBkZWZhdWx0IA0KIHRvIGVuYWJs
ZSBpdC4NClxsYXlvdXQgU3Vic2VjdGlvbg0KDQpFeGFtcGxlcw0KXGxheW91
dCBTdGFuZGFyZA0KDQpZb3Ugc2hvdWxkIGxvb2sgYXQgdGhlIGNvZGUgZm9y
IEdVUyBzb3VuZGNhcmRzIHRvIHNlZSBob3cgY2FuIGJlIHRoaW5ncw0KIGRv
bmUuLi4NClxsYXlvdXQgU3RhbmRhcmQNCg0KDQpcc2VyaWVzIGJvbGQgDQpO
b3RlOg0KXHNlcmllcyBkZWZhdWx0IA0KIENvZGUgc2hvdWxkIGJlIGNvbXBp
bGVkIGNsZWFubHkgdW5kZXIgMi4wLlgga2VybmVscyBhbmQgdW5kZXIgbGF0
ZXN0IDIuMS5YDQoga2VybmVscy4uLg0KXGxheW91dCBTZWN0aW9uDQoNClNv
dW5kY2FyZA0KXGxheW91dCBTdGFuZGFyZA0KDQpTb3VuZGNhcmQgcmVsYXRl
ZCBzdHJ1Y3R1cmVzIGFuZCBmdW5jdGlvbnMgYXJlIGluIA0KXHNoYXBlIGl0
YWxpYyANCmluY2x1ZGUvZHJpdmVyLmgNClxzaGFwZSBkZWZhdWx0IA0KIGhl
YWRlciBmaWxlLg0KIFN0cnVjdHVyZSANClxzaGFwZSBpdGFsaWMgDQpzbmRf
Y2FyZF90DQpcc2hhcGUgZGVmYXVsdCANCiBtdXN0IGJlIGFsbG9jYXRlZCBi
eSANClxzaGFwZSBpdGFsaWMgDQpzbmRfY2FyZF9uZXcNClxzaGFwZSBkZWZh
dWx0IA0KIGZ1bmN0aW9uIGFuZCBmcmVlZCBieSANClxzaGFwZSBpdGFsaWMg
DQpzbmRfY2FyZF9mcmVlDQpcc2hhcGUgZGVmYXVsdCANCiBmdW5jdGlvbiAo
d2hpY2ggaXNuJ3QgY2FsbGVkIGZyb20gDQpcc2hhcGUgaXRhbGljIA0Kc25k
X2NhcmRfdW5yZWdpc3Rlcg0KXHNoYXBlIGRlZmF1bHQgDQopLg0KXGxheW91
dCBTdWJzZWN0aW9uDQoNClZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zDQpcbGF5
b3V0IFN0YW5kYXJkDQoNCkZ1bmN0aW9ucyBsaXN0Og0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0Kc25kX2NhcmRfdCAqc25kX2NhcmRf
bmV3KCBpbnQgaWR4LCBjaGFyICppZCwgdm9pZCAoKnVzZV9pbmMpKCBzbmRf
Y2FyZF90DQogKiApLCB2b2lkICgqdXNlX2RlIGMpKCBzbmRfY2FyZF90ICop
ICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQppZHgNClxzZXJpZXMgZGVmYXVsdCANCiAtIHNvdW5kY2Fy
ZCBpbmRleCAob3JkZXIpLCAxLTggb3IgLTEgPSBmaXJzdCBmcmVlIA0KXGxh
eW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaWQNClxzZXJpZXMg
ZGVmYXVsdCANCiAtIHNvdW5kY2FyZCBpZCwgaWYgTlVMTCBvciAnDQpcYmFj
a3NsYXNoIA0KMCcgLT4gZGVmYXVsdCAoY2FyZCMpIA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0KaW5jX3VzZQ0KXHNlcmllcyBkZWZh
dWx0IA0KIC0gaW5jcmVtZW50IHVzZSBvZiBsYXN0IHNvdW5kY2FyZCBtb2R1
bGUgKHRvIGF2b2lkIHJlbW92ZSkgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpc
c2VyaWVzIGJvbGQgDQpkZWNfdXNlDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBk
ZWNyZW1lbnQgdXNlIG9mIGxhc3Qgc291bmRjYXJkIG1vZHVsZSAodG8gYWxs
b3cgcmVtb3ZlKSANClxsYXlvdXQgSXRlbWl6ZQ0KDQpyZXR1cm5zIE5VTEwg
aWYgbm90IGVub3VnaCBtZW1vcnkgaXMgYXZhaWxhYmxlIA0KXGVuZF9kZWVw
ZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQg
c25kX2NhcmRfZnJlZSggc25kX2NhcmRfdCAqY2FyZCApDQpcYmVnaW5fZGVl
cGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KY2Fy
ZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBzb3VuZGNhcmQg
c3RydWN0dXJlIHRvIGZyZWUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KZnJlZXMg
YWxsIHJlZ2lzdGVyZWQgcmVzb3VyY2VzIChwb3J0cywgSVJRcyBhbmQgRE1B
cyksIHRvbyANClxsYXlvdXQgSXRlbWl6ZQ0KDQpyZXR1cm5zIG5lZ2F0aXZl
IHZhbHVlIHdoZW4gZXJyb3IgDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRl
bWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmludCBzbmRfY2FyZF9yZWdpc3Rl
ciggc25kX2NhcmRfdCAqY2FyZCApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KY2FyZA0KXHNlcmllcyBk
ZWZhdWx0IA0KIC0gcG9pbnRlciB0byBzb3VuZGNhcmQgc3RydWN0dXJlIHRv
IHJlZ2lzdGVyOyBhcHBsaWNhdGlvbnMgc2hvdWxkIGZyb20NCiB0aGlzIHBv
aW50IHVzZSBzb3VuZGNhcmQgDQpcbGF5b3V0IEl0ZW1pemUNCg0KcmV0dXJu
cyBuZWdhdGl2ZSB2YWx1ZSB3aGVuIGVycm9yIG9jY3Vycw0KXGVuZF9kZWVw
ZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQg
c25kX2NhcmRfdW5yZWdpc3Rlciggc25kX2NhcmRfdCAqY2FyZCApDQpcYmVn
aW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KY2FyZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBzb3Vu
ZGNhcmQgc3RydWN0dXJlIHRvIHVucmVnaXN0ZXI7IEFmdGVyIHRoaXMgaXMg
Y2FsbGVkLCBhcHBsaWNhdGkNCm9ucyBubyBsb25nZXIgY2FuIHVzZSB0aGlz
IHNvdW5kY2FyZC4NCiANClxsYXlvdXQgSXRlbWl6ZQ0KDQpkb2Vzbid0IGNh
bGwgDQpcc2hhcGUgaXRhbGljIA0Kc25kX2NhcmRfZnJlZQ0KXHNoYXBlIGRl
ZmF1bHQgDQogDQpcbGF5b3V0IEl0ZW1pemUNCg0KcmV0dXJucyBuZWdhdGl2
ZSB2YWx1ZSB3aGVuIGVycm9yIG9jY3Vycw0KXGVuZF9kZWVwZXIgDQpcbGF5
b3V0IFN0YW5kYXJkDQoNClZhcmlhYmxlcyBmcm9tIA0KXHNoYXBlIGl0YWxp
YyANCnNuZF9jYXJkX3QNClxzaGFwZSBkZWZhdWx0IA0KIHN0cnVjdHVyZSB3
aGljaCBtdXN0IGJlIGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCnR5cGUNClxzZXJpZXMgZGVmYXVsdCANCiAtIGlzIGEg
dHlwZSBpZGVudGlmaWNhdGlvbiBmcm9tIA0KXHNoYXBlIGl0YWxpYyANCmlu
Y2x1ZGUvYXNvdW5kaWQuaA0KXHNoYXBlIGRlZmF1bHQgDQouDQogDQpcbGF5
b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQphYmJyZXZpYXRpb24N
ClxzZXJpZXMgZGVmYXVsdCANCiAtIGlzIGFuIGFiYnJldmlhdGlvbiBmb3Ig
c291bmRjYXJkIChmb3IgZXhhbXBsZSAnR1VTJykuDQogDQpcbGF5b3V0IEl0
ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpzaG9ydG5hbWUNClxzZXJpZXMg
ZGVmYXVsdCANCiAtIGlzIGEgc2hvcnRuYW1lIGZvciBzb3VuZGNhcmQgKGZv
ciBleGFtcGxlICdHcmF2aXMgVWx0cmFTb3VuZCBNQVgnKS4NCiANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmxvbmduYW1lDQpcc2Vy
aWVzIGRlZmF1bHQgDQogLSBpcyBhIGZ1bGwgaWRlbnRpZmljYXRpb24gZm9y
IHNvdW5kY2FyZCAoZm9yIGV4YW1wbGUgJ0dyYXZpcyBVbHRyYVNvdW5kDQog
TUFYIGF0IDB4MjIwLCBpcnEgNSwgZG1hIDEmNScpLg0KXGxheW91dCBTdGFu
ZGFyZA0KDQpWYXJpYWJsZXMgZnJvbSANClxzaGFwZSBpdGFsaWMgDQpzbmRf
Y2FyZF90DQpcc2hhcGUgZGVmYXVsdCANCiBzdHJ1Y3R1cmUgd2hpY2ggc2hv
dWxkIGJlIGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMg
Ym9sZCANCnByaXZhdGVfZGF0YQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc2hv
dWxkIGJlIHVzZWQgYnkgc291bmRjYXJkIGRyaXZlciBmb3IgcHJpdmF0ZSBk
YXRhLg0KIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0K
cHJpdmF0ZV9mcmVlDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBpcyBjYWxsZWQg
d2hlbiANClxzaGFwZSBpdGFsaWMgDQpwcml2YXRlX2RhdGENClxzaGFwZSBk
ZWZhdWx0IA0KIHNob3VsZCBiZSBmcmVlZC4NClxsYXlvdXQgU3Vic3Vic2Vj
dGlvbg0KDQpFeGFtcGxlcw0KXGxheW91dCBDb2RlDQoNCnN0YXRpYyB2b2lk
IHNuZF9zb3VuZGNhcmRfdXNlX2luYyggc25kX2NhcmRfdCAqY2FyZCApIHsg
TU9EX0lOQ19VU0VfQ09VTlQ7DQogfQ0KXG5ld2xpbmUgDQpzdGF0aWMgdm9p
ZCBzbmRfc291bmRjYXJkX3VzZV9kZWMoIHNuZF9jYXJkX3QgKmNhcmQgKSB7
IE1PRF9ERUNfVVNFX0NPVU5UOw0KIH0NClxuZXdsaW5lIA0KDQpcbmV3bGlu
ZSANCiBpbnQgc25kX3NvdW5kY2FyZF9pbml0KCB2b2lkICkgDQpcbmV3bGlu
ZSANCiB7IA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogc25k
X2NhcmRfdCAqY2FyZDsNClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KY2FyZCA9IHNuZF9jYXJkX25ldyggLTEsIE5VTEwsIHNuZF9zb3VuZGNh
cmRfdXNlX2luYywgc25kX3NvdW5kY2FyZF9kZWNfaW5jDQogKTsNClxuZXds
aW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogaWYgKCAhY2FyZCApIA0KXG5l
d2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogcmV0dXJuIC1FTk9NRU07IA0KXG5ld2xpbmUg
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogY2FyZCAtPiB0eXBlID0gU05EX0NB
UkRfVFlQRV9TT1VORENBUkQ7IC8qY2FuIGJlIGNoYW5nZWQgbGF0ZXIgKi8N
ClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQouLi4NCiByZXNvdXJjZSBpbml0aWFsaXphdGlvbiwg
ZGV0ZWN0aW9uLCBkZXZpY2UgY3JlYXRpb24gYW5kIHJlZ2lzdHJhdGlvbiAu
Li4NClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc3RyY3B5KCBj
YXJkIC0+IGFiYnJldmlhdGlvbiwgIlNvdW5kQ2FyZCIgKTsgDQpcbmV3bGlu
ZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnN0cmNweSggY2FyZCAtPiBzaG9y
dG5hbWUsICIzLUQgU291bmRDYXJkIiApOyANClxuZXdsaW5lIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0Kc3RyY3B5KCBjYXJkIC0+IGxvbmduYW1lLCAiMy1E
IFNvdW5kQ2FyZCBhdCAweDUwMCwgaXJxIDUsIGRtYSA1JjYiICk7DQpcbmV3
bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCmlmICggIXNuZF9jYXJkX3Jl
Z2lzdGVyKCBjYXJkICkgKSByZXR1cm4gMDsgc25kX2NhcmRfZnJlZSggY2Fy
ZCApOw0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogcmV0dXJuIC1FTlhJTzsgDQpc
bmV3bGluZSANCn0NClxsYXlvdXQgU3Vic2VjdGlvbg0KDQpSZXNvdXJjZXMN
ClxsYXlvdXQgU3RhbmRhcmQNCg0KRnVuY3Rpb25zIGxpc3Q6DQpcbGF5b3V0
IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX3JlZ2lzdGVy
X2lvcG9ydCggc25kX2NhcmRfdCAqY2FyZCwgaW50IHBvcnQsIGludCBzaXpl
LCBjaGFyICpuYW1lDQogKQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRl
bWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmNhcmQNClxzZXJpZXMgZGVmYXVs
dCANCiAtIHBvaW50ZXIgdG8gc291bmRjYXJkIHN0cnVjdHVyZSANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnBvcnQNClxzZXJpZXMg
ZGVmYXVsdCANCiAtIG1lYW5zIGZpcnN0IHBvcnQgZnJvbSBpb3BvcnQgcmVn
aW9uIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0Kc2l6
ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gbWVhbnMgc2l6ZSBvZiBpb3BvcnQg
cmVnaW9uIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0K
bmFtZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaW9wb3J0IHJlZ2lvbiBuYW1l
IA0KXGxheW91dCBJdGVtaXplDQoNCnJlZ2lzdGVycyBpb3BvcnQgcmVnaW9u
IGFuZCBhc3NpZ25zIGl0IHRvIHNvdW5kY2FyZCANClxlbmRfZGVlcGVyIA0K
XGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaW50IHNuZF91
bnJlZ2lzdGVyX2lvcG9ydHMoIHNuZF9jYXJkX3QgKmNhcmQgKQ0KXGJlZ2lu
X2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCAN
CmNhcmQNClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIgdG8gc291bmRj
YXJkIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQp1bnJlZ2lzdGVy
cyBhbGwgaW9wb3J0IHJlZ2lvbnMgd2hpY2ggYXJlIGFzc2lnbmVkIHRvIHNv
dW5kY2FyZCANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KaW50IHNuZF9yZWdpc3Rlcl9kbWFfY2hhbm5lbCgg
c25kX2NhcmRfdCAqY2FyZCwgY2hhciAqbmFtZSwgaW50IG51bWJlciwNCiBp
bnQgdHlwZSwgaW50IHJzaSB6ZSwgaW50ICpwb3NzaWJsZV9udW1iZXJzICkN
ClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVz
IGJvbGQgDQpjYXJkDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRv
IHNvdW5kY2FyZCBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpc
c2VyaWVzIGJvbGQgDQpuYW1lDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBuYW1l
IG9mIGRtYSBjaGFubmVsIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KbnVtYmVyDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBudW1iZXIg
b2YgZG1hIGNoYW5uZWwgb3IgDQpcc2VyaWVzIGJvbGQgDQpTTkRfQVVUT19E
TUENClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnR5cGUN
ClxzZXJpZXMgZGVmYXVsdCANCiAtIHR5cGUgb2YgZG1hIGJ1ZmZlciANClxi
ZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJv
bGQgDQpTTkRfRE1BX1RZUEVfSVNBDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBs
aW1pdGVkIGRtYSBidWZmZXIgdG8gbG93IDE2TUIgb2YgUkFNIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KU05EX0RNQV9UWVBFX1BD
SQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gdW5saW1pdGVkIGRtYSBidWZmZXIg
KHNob3VsZCBiZSBhbnl3aGVyZSBpbiBSQU0pIA0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0KU05EX0RNQV9UWVBFX0hBUkRXQVJFDQpc
c2VyaWVzIGRlZmF1bHQgDQogLSBoYXJkd2FyZSBkbWEgYnVmZmVyIChpcyBh
dmFpbGFibGUgb24gc291bmRjYXJkIGFuZCBkaXJlY3RseSBtbWFwZWQgdG8N
CiBPUyBtZW1vcnkpIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQpyc2l6ZQ0KXHNlcmllcyBkZWZhdWx0IA0K
IC0gcmVxdWVzdGVkIGRtYSBidWZmZXIgc2l6ZSAoaW4ga0IpIG9yIA0KXHNl
cmllcyBib2xkIA0KU05EX0FVVE9fRE1BX1NJWkUNClxzZXJpZXMgZGVmYXVs
dCANCiANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnBv
c3NpYmxlX251bWJlcnMNClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIg
dG8gaW50IGFycmF5IHdoaWNoIGNvbnRhaW5zIGFsbCBwb3NzaWJsZSBkbWEg
bnVtYmVycyBmb3IgdGhpcw0KIGNoYW5uZWwgdGVybWluYXRlZCBieSAtMTsg
ZnVuY3Rpb24gdXNlcyB0aGVzZSB2YWx1ZXMgZm9yIHZlcmlmaWNhdGlvbiBv
Zg0KIHZhbGlkIGlucHV0IGZyb20gdXNlciBvciBpZiANClxzZXJpZXMgYm9s
ZCANClNORF9BVVRPX0RNQQ0KXHNlcmllcyBkZWZhdWx0IA0KIGlzIHNwZWNp
ZmllZCB0byBkZXRlY3QgZmlyc3QgdXNlYWJsZSBkbWEgY2hhbm5lbCANClxl
bmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KaW50IHNuZF91bnJlZ2lzdGVyX2RtYV9jaGFubmVscyggc25kX2NhcmRf
dCAqY2FyZCApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0KY2FyZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0g
cG9pbnRlciB0byBzb3VuZGNhcmQgc3RydWN0dXJlIA0KXGxheW91dCBJdGVt
aXplDQoNCnVucmVnaXN0ZXJzIGFsbCBkbWEgY2hhbm5lbHMgYXNzaWduZWQg
dG8gc291bmRjYXJkIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX3JlZ2lzdGVyX2ludGVycnVw
dCggc25kX2NhcmRfdCAqY2FyZCwgY2hhciAqbmFtZSwgaW50IG51bWJlciwg
aW50DQogdHlwZSwgc25kX2lycV9oIGFuZGxlcl90ICpoYW5kbGVyLCB2b2lk
ICpkZXZfaWQsIGludCAqcG9zc2libGVfbnVtYmVycw0KICkNClxiZWdpbl9k
ZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpj
YXJkDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIHNvdW5kY2Fy
ZCBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJv
bGQgDQpuYW1lDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBuYW1lIG9mIGludGVy
cnVwdCBsaW5lIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KbnVtYmVyDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBudW1iZXIgb2YgaW50
ZXJydXB0IGxpbmUgb3IgDQpcc2VyaWVzIGJvbGQgDQpTTkRfQVVUT19JUlEN
ClxzZXJpZXMgZGVmYXVsdCANCiANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCnR5cGUNClxzZXJpZXMgZGVmYXVsdCANCiAtIHR5cGUg
b2YgaW50ZXJydXB0IGxpbmUgDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJ
dGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KU05EX0lSUV9UWVBFX0lTQQ0K
XHNlcmllcyBkZWZhdWx0IA0KIC0gSVNBIGludGVycnVwdCBsaW5lIChub3Qg
c2hhcmVhYmxlKSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9s
ZCANClNORF9JUlFfVFlQRV9QQ0kNClxzZXJpZXMgZGVmYXVsdCANCiAtIFBD
SSBpbnRlcnJ1cHQgbGluZSAoc2hhcmVhYmxlKSANClxlbmRfZGVlcGVyIA0K
XGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaGFuZGxlcg0K
XHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBpbnRlcnJ1cHQgaGFu
ZGxlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmRl
dl9pZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBzb21lIHBy
aXZhdGUgc3RydWN0dXJlIGZvciBpbnRlcnJ1cHQgaGFuZGxlciANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnBvc3NpYmxlX251bWJl
cnMNClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIgdG8gaW50IGFycmF5
cyB3aGljaCBjb250YWluIGFsbCBwb3NzaWJsZSBkbWEgbnVtYmVycyBmb3Ig
dGhpcw0KIGNoYW5uZWwgdGVybWluYXRlZCBieSAtMTsgZnVuY3Rpb24gdXNl
cyB0aGVzZSB2YWx1ZXMgZm9yIHZlcmlmaWNhdGlvbiBvZg0KIHZhbGlkIGlu
cHV0IGZyb20gdXNlciBvciBpZiANClxzZXJpZXMgYm9sZCANClNORF9BVVRP
X0lSUQ0KXHNlcmllcyBkZWZhdWx0IA0KIGlzIHNwZWNpZmllZCB0byBkZXRl
Y3QgZmlyc3QgdXNlYWJsZSBpbnRlcnJ1cHQgbGluZSANClxsYXlvdXQgSXRl
bWl6ZQ0KDQpyZXR1cm5zIGluZGV4IHRvIGNhcmQgLT4gaXJxcyBhcnJheSAN
ClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KaW50IHNuZF91bnJlZ2lzdGVyX2ludGVycnVwdHMoIHNuZF9jYXJk
X3QgKmNhcmQgKQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0K
DQoNClxzZXJpZXMgYm9sZCANCmNhcmQNClxzZXJpZXMgZGVmYXVsdCANCiAt
IHBvaW50ZXIgdG8gc291bmRjYXJkIHN0cnVjdHVyZSANClxsYXlvdXQgSXRl
bWl6ZQ0KDQpkaXNhYmxlcyBhbmQgZnJlZXMgYWxsIGludGVycnVwdCBsaW5l
cyBhc3NpZ25lZCB0byBzb3VuZGNhcmQgDQpcZW5kX2RlZXBlciANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmludCBzbmRfZW5hYmxl
X2lycSggc25kX2NhcmRfdCAqY2FyZCwgaW50IGlycW51bSApDQpcYmVnaW5f
ZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0K
Y2FyZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBzb3VuZGNh
cmQgc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KaXJxbnVtDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBpbmRleCBvZiBp
bnRlcnJ1cHQgbGluZSB0byBiZSBlbmFibGVkIA0KXGVuZF9kZWVwZXIgDQpc
bGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX2Rp
c2FibGVfaXJxKCBzbmRfY2FyZF90ICpjYXJkLCBpbnQgaXJxbnVtICkNClxi
ZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJv
bGQgDQpjYXJkDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIHNv
dW5kY2FyZCBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQppcnFudW0NClxzZXJpZXMgZGVmYXVsdCANCiAtIGluZGV4
IG9mIGludGVycnVwdCBsaW5lIHRvIGJlIGRpc2FibGVkDQpcZW5kX2RlZXBl
ciANClxsYXlvdXQgU3RhbmRhcmQNCg0KDQpcc2VyaWVzIGJvbGQgDQpOb3Rl
IDE6DQpcc2VyaWVzIGRlZmF1bHQgDQpETUEgYnVmZmVyIG11c3QgYmUgYXNz
aWduZWQgZm9yIGFsbCAoUENJIGFuZCBvdGhlciB0aGFuIElTQSkgc291bmRj
YXJkcywNCiB0b28uDQogQUxTQSBrZXJuZWwgYW5kIE9TUyBQQ00gbWlkbGV2
ZWwgY29kZSBjb250YWlucyBtZWNoYW5pc21zIGZvciBjb3JyZWN0IGZyZWUN
CiB3aGVuIG1tYXBlZCBhY2Nlc3MgaXMgdXNlZC4NCiBCdWZmZXIgaXNuJ3Qg
YWxsb2NhdGVkIGF0IHJlZ2lzdGVyIHRpbWUuDQogQnVmZmVyIGlzIG1hbmFn
ZWQgd2l0aCBmdW5jdGlvbnMgDQpcZW1waCBvbiANCnNuZF9kbWFfbWFsbG9j
DQpcZW1waCBkZWZhdWx0IA0KIGFuZCANClxlbXBoIG9uIA0Kc25kX2RtYV9m
cmVlDQpcZW1waCBkZWZhdWx0IA0KIHdoZW4gc29tZSBkZXZpY2UgaXMgb3Bl
bmVkL2Nsb3NlZC4NClxsYXlvdXQgU3RhbmRhcmQNCg0KDQpcc2VyaWVzIGJv
bGQgDQpOb3RlIDI6DQpcc2VyaWVzIGRlZmF1bHQgDQogcm91dGluZXMgZm9y
IGludGVycnVwdCBsaW5lIGFuZCBkbWEgY2hhbm5lbCByZWdpc3RlcmluZyBy
ZXR1cm5zIGluZGV4IHRvDQogDQpcZW1waCBvbiANCnNuZF9jYXJkX3QgLT4g
aXJxcw0KXGVtcGggZGVmYXVsdCANCiBhbmQgDQpcZW1waCBvbiANCnNuZF9j
YXJkX3QgLT4gZG1hcw0KXGVtcGggZGVmYXVsdCANCiBhcnJheXMuDQogVGhp
cyB2YWx1ZSBpc24ndCBlcXVhbCB0byBpbnRlcnJ1cHQgbnVtYmVyIG9yIGRt
YSBjaGFubmVsIG51bWJlciwgYnV0IGluDQogZHJpdmVyIA0KXGVtcGggb24g
DQppcnFudW0NClxlbXBoIGRlZmF1bHQgDQogb3IgDQpcZW1waCBvbiANCmRt
YW51bQ0KXGVtcGggZGVmYXVsdCANCiBtZWFucyBpcnEgb3IgZG1hIGluZGV4
IChpbnRlcm5hbCBkcml2ZXIgcmVzb3VyY2UgaWRlbnRpZmljYXRpb24pIGFu
ZCANClxlbXBoIG9uIA0KaXJxDQpcZW1waCBkZWZhdWx0IA0KIG9yIA0KXGVt
cGggb24gDQpkbWENClxlbXBoIGRlZmF1bHQgDQogbWVhbnMgcmVhbCBpcnEg
b3IgZG1hIG51bWJlci4NClxsYXlvdXQgU3Vic3Vic2VjdGlvbg0KDQpFeGFt
cGxlcw0KXGxheW91dCBDb2RlDQoNCmludCBzbmRfaXJxID0gU05EX0RFRkFV
TFRfSVJRMTsgDQpcbmV3bGluZSANCmludCBzbmRfZG1hMSA9IFNORF9ERUZB
VUxUX0RNQTE7IA0KXG5ld2xpbmUgDQppbnQgDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCiBzbmRfZG1hMV9zaXplID0gU05EX0RFRkFVTFRfRE1BX1NJWkUx
Ow0KXG5ld2xpbmUgDQpzdGF0aWMgc25kX2NhcmRfdCAqc25kX2NhcmQgPSBO
VUxMOyBzdGF0aWMgaW50IHNuZF9pcnFudW0gPSBTTkRfSVJRX0RJU0FCTEU7
DQpcbmV3bGluZSANCnN0YXRpYyB2b2lkIHNuZF9zb3VuZGNhcmRfaW50ZXJy
dXB0MSggaW50IGlycSwgdm9pZCAqZGV2X2lkLCBzdHJ1Y3QgcHRfcmVncw0K
ICpyZWdzICkgDQpcbmV3bGluZSANCnsgDQpcbmV3bGluZSANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KLi4uDQogaW50ZXJydXB0IGhh
bmRsZXIgLi4uDQogDQpcbmV3bGluZSANCn0NClxuZXdsaW5lIA0Kdm9pZCBz
bmRfc291bmRjYXJkX2luaXRfcmVzb3VyY2VzKCB2b2lkICkgDQpcbmV3bGlu
ZSANCnsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoj
aWZkZWYgRVhBTVBMRV9GT1JfSVNBX0JVUyANClxuZXdsaW5lIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpzdGF0aWMgaW50IHBvc3NpYmxl
X2lycXNbXSA9IHsgOSwgMTAsIDExLCA3LCAtMX07IA0KXG5ld2xpbmUgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnN0YXRpYyBpbnQgcG9z
c2libGVfZG1hc1tdID0geyAxLCAzLCAwLCAtMSB9Ow0KXG5ld2xpbmUgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCmlmICggKHNuZF9p
cnFudW0gPSBzbmRfcmVnaXN0ZXJfaW50ZXJydXB0KCBzbmRfY2FyZCwgIlNv
dW5kQ2FyZCIsIHNuZF9pcnEsDQogU05EX0lSUV9UWVBFX0lTQSwgc25kX3Nv
IHVuZGNhcmRfaW50ZXJydXB0LCBOVUxMLCBwb3NzaWJsZV9pcnFzICkpIDwg
MA0KICkgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpy
ZXR1cm4gc25kX2lycW51bTsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KaWYgKCAoc25kX2RtYTFudW0gPSBzbmRf
cmVnaXN0ZXJfZG1hX2NoYW5uZWwoIHNuZF9jYXJkLCAiU291bmRDYXJkIiwg
c25kX2RtYTEsDQogU05EX0RNQV9UWVBFX0lTQSwgc24gZF9kbWExX3NpemUs
IHBvc3NpYmxlX2RtYXMgKSkgPCAwICkgDQpcbmV3bGluZSANCiByZXR1cm4g
c25kX2RtYTFudW07IA0KXG5ld2xpbmUgDQojZWxzZSANClxuZXdsaW5lIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogLyogRVhBTVBM
RV9GT1JfUENJX0JVUyAqLyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQppZiAoIChzbmRfaXJxbnVtID0gc25kX3Jl
Z2lzdGVyX2ludGVycnVwdCggc25kX2NhcmQsICJTb3VuZENhcmQiLCBzbmRf
aXJxLA0KIFNORF9JUlFfVFlQRV9QQ0ksIHNuZF9zbyB1bmRjYXJkX2ludGVy
cnVwdCwgTlVMTCwgTlVMTCApKSA8IDAgKSANClxuZXdsaW5lIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCnJldHVybiBzbmRfaXJxbnVtOyANClxuZXds
aW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQppZiAo
IChzbmRfZG1hMW51bSA9IHNuZF9yZWdpc3Rlcl9kbWFfY2hhbm5lbCggc25k
X2NhcmQsICJTb3VuZENhcmQiLCBzbmRfZG1hMSwNCiBTTkRfRE1BX1RZUEVf
UENJLCBzbiBkX2RtYTFfc2l6ZSwgTlVMTCApKSA8IDAgKSANClxuZXdsaW5l
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnJldHVybiBzbmRfZG1hMW51
bTsgDQpcbmV3bGluZSANCiNlbmRpZiANClxuZXdsaW5lIA0KfQ0KXG5ld2xp
bmUgDQoNClxuZXdsaW5lIA0KDQpcbmV3bGluZSANCmludCBzbmRfc291bmRj
YXJkX3Byb2JlKCB1bnNpZ25lZCBzaG9ydCBwb3J0ICkgDQpcbmV3bGluZSAN
CnsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KaWYgKCBzbmRfcmVnaXN0ZXJfaW9wb3J0KCBzbmRfY2FyZCwgcG9y
dCwgOCwgIlNvdW5kQ2FyZCAtIENvZGVjIiApIDwgMCApDQogDQpcbmV3bGlu
ZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpyZXR1cm4gLUVCVVNZOyAN
ClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiBpZiAoIHNuZF9yZWdpc3Rlcl9pb3BvcnQo
IHNuZF9jYXJkLCBwb3J0ICsgMHgxMDAsIDE2LCAiU291bmRDYXJkIC0gU3lu
dGhlc2l6ZXIiDQogKSA8IDAgKSANClxuZXdsaW5lIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnsgDQpc
bmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQpzbmRfdW5yZWdpc3Rlcl9pb3BvcnRzKCBzbmRfY2FyZCApOyANClxu
ZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCnJldHVybiAtRUJVU1k7IA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KfQ0KXG5l
d2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIC4uLg0KIGhhcmR3YXJlIHByb2JlIGhlcmUgLSBpZiBmYWlscyAtIHNu
ZF91bnJlZ2lzdGVyX2lvcG9ydHMhISEgLi4uDQpcbmV3bGluZSANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiByZXR1cm4gMDsg
DQpcbmV3bGluZSANCn0NClxsYXlvdXQgU3RhbmRhcmQNCg0KRnVuY3Rpb25z
IGxpc3Q6DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQp2
b2lkIHNuZF9kbWFfcHJvZ3JhbSggaW50IGRtYSwgY29uc3Qgdm9pZCAqYnVm
LCB1bnNpZ25lZCBpbnQgc2l6ZSwgdW5zaWduZWQNCiBjaGFyIG1vZGUgKQ0K
XGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMg
Ym9sZCANCmRtYQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gZG1hIG51bWJlciAo
bm90IGluZGV4KSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9s
ZCANCmJ1Zg0KXHNlcmllcyBkZWZhdWx0IA0KIC0gZG1hIGJ1ZmZlciANClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnNpemUNClxzZXJp
ZXMgZGVmYXVsdCANCiAtIGRtYSBidWZmZXIgc2l6ZSAodHJhbnNmZXIgbGVu
Z3RoKSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCm1v
ZGUNClxzZXJpZXMgZGVmYXVsdCANCiAtIGRtYSB0cmFuc2ZlciBtb2RlIA0K
XGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMg
Ym9sZCANCkRNQV9NT0RFX1JFQUQNClxzZXJpZXMgZGVmYXVsdCANCiANClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCkRNQV9NT0RFX1dS
SVRFDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpETUFf
TU9ERV9BVVRPSU5JVA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gZmxhZyANClxs
YXlvdXQgSXRlbWl6ZQ0KDQpwcm9ncmFtcyBkbWEgdHJhbnNmZXIgDQpcZW5k
X2RlZXBlciANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KdW5zaWduZWQgaW50IHNuZF9kbWFfcmVzaWR1ZSgg
aW50IGRtYSApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0KZG1hDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBk
bWEgbnVtYmVyIChub3QgaW5kZXgpIA0KXGxheW91dCBJdGVtaXplDQoNCnJl
dHVybnMgcmVzaWR1ZSB2YWx1ZSBmb3Igc3BlY2lmaWVkIGRtYSBjaGFubmVs
IA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IFN1YnNlY3Rpb24NCg0KUENJIEJ1
cw0KXGxheW91dCBTdGFuZGFyZA0KDQpQQ0kgYnVzIHJlbGF0ZWQgc3RydWN0
dXJlcyBhbmQgZnVuY3Rpb25zIGFyZSBpbiANClxlbXBoIG9uIA0KaW5jbHVk
ZS9zbmRwY2kuaA0KXGVtcGggZGVmYXVsdCANCiBoZWFkZXIgZmlsZS4NCiBG
dW5jdGlvbnMgYXJlIGRlc2lnbmF0ZWQgZm9yIHVzZSB3aXRoIGJvdGggdHlw
ZSBvZiBrZXJuZWxzICgyLjAgYW5kIDIuMSkuDQpcbGF5b3V0IFN0YW5kYXJk
DQoNClJlYWQtb25seSB2YXJpYWJsZXMgZnJvbSBzdHJ1Y3QgDQpcZW1waCBv
biANCnNuZF9wY2lfZGV2DQpcZW1waCBkZWZhdWx0IA0KIHN0cnVjdHVyZSB3
aGljaCBzaG91bGQgYmUgdXNlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCmRldmZuDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBlbmNv
ZGVkIGRldmljZSAmIGZ1bmN0aW9uIGluZGV4IA0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0KdmVuZG9yDQpcc2VyaWVzIGRlZmF1bHQg
DQogLSBzZWUgDQpcc2VyaWVzIGJvbGQgDQpQQ0lfVkVORE9SX0lEXyoNClxz
ZXJpZXMgZGVmYXVsdCANCiANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCmRldmljZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc2VlIA0K
XHNlcmllcyBib2xkIA0KUENJX0RFVklDRV9JRF8qDQpcc2VyaWVzIGRlZmF1
bHQgDQogDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpj
bGFzcw0KXHNlcmllcyBkZWZhdWx0IA0KIC0gMyBieXRlcyAoYmFzZSwgc3Vi
LCBwcm9nLWlmKSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9s
ZCANCm1hc3Rlcg0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc2V0IGlmIGRldmlj
ZSBpcyBtYXN0ZXIgY2FwYWJsZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCmlycQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaXJxIGdl
bmVyYXRlZCBieSB0aGlzIGRldmljZSAocmVtYXBlZCBpZiBuZWVkZWQpIA0K
XGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KYmFzZV9hZGRy
ZXNzDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBiYXNlIHJlZ2lzdGVycyBmb3Ig
dGhpcyBkZXZpY2UgKHJlbWFwZWQgaWYgbmVlZGVkKQ0KXGxheW91dCBTdGFu
ZGFyZA0KDQpGdW5jdGlvbnMgbGlzdDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCmludCBzbmRfcGNpX2ZpbmRfZGV2aWNlKCB1bnNp
Z25lZCBpbnQgdmVuZG9yLCB1bnNpZ25lZCBpbnQgZGV2aWNlLCB1bnNpZ25l
ZA0KIGludCBpbmRleCwgc3QgcnVjdCBzbmRfcGNpX2RldiAqZGV2ICk7DQpc
YmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KdmVuZG9yDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBpZGVudGlmaWNh
dGlvbiAoc2VlIA0KXHNlcmllcyBib2xkIA0KUENJX1ZFTkRPUl9JRF8qDQpc
c2VyaWVzIGRlZmF1bHQgDQopIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNl
cmllcyBib2xkIA0KZGV2aWNlDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBpZGVu
dGlmaWNhdGlvbiAoc2VlIA0KXHNlcmllcyBib2xkIA0KUENJX0RFVklDRV9J
RF8NClxzZXJpZXMgZGVmYXVsdCANCiopIA0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0KaW5kZXgNClxzZXJpZXMgZGVmYXVsdCANCiAt
IGRldmljZSBpbmRleCAoMC1YKSBmb3Igd2hpY2ggaXMgaW5mb3JtYXRpb24g
cmVxdWVzdGVkIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KZGV2DQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIFBDSSBk
ZXZpY2Ugc3RydWN0dXJlIChub3Qgc2FtZSBhcyBpbiBrZXJuZWwpIA0KXGVu
ZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQppbnQgc25kX3BjaV9yZWFkX2NvbmZpZ19ieXRlKCBzdHJ1Y3Qgc25kX3Bj
aV9kZXYgKmRldiwgdW5zaWduZWQgY2hhciB3aGVyZSwNCiB1bnNpZ25lZCBj
aGFyICp2YWwgKQ0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KaW50IHNuZF9wY2lfcmVhZF9jb25maWdfd29yZCggc3RydWN0IHNuZF9w
Y2lfZGV2ICpkZXYsIHVuc2lnbmVkIGNoYXIgd2hlcmUsDQogdW5zaWduZWQg
c2hvciB0ICp2YWwgKQ0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KaW50IHNuZF9wY2lfcmVhZF9jb25maWdfZHdvcmQoIHN0cnVjdCBz
bmRfcGNpX2RldiAqZGV2LCB1bnNpZ25lZCBjaGFyIHdoZXJlLA0KIHVuc2ln
bmVkIGludCAqdmFsICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1p
emUNCg0KcmVhZCBieXRlL3dvcmQvZHdvcmQgZnJvbSBQQ0kgY29uZmlndXJh
dGlvbiByZWdpc3RlcnMgDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRlbWl6
ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmludCBzbmRfcGNpX3dyaXRlX2NvbmZp
Z19ieXRlKCBzdHJ1Y3Qgc25kX3BjaV9kZXYgKmRldiwgdW5zaWduZWQgY2hh
ciB3aGVyZSwNCiB1bnNpZ25lZCBjaGFyIHZhbCApDQpcbGF5b3V0IEl0ZW1p
emUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX3BjaV93cml0ZV9jb25m
aWdfd29yZCggc3RydWN0IHNuZF9wY2lfZGV2ICpkZXYsIHVuc2lnbmVkIGNo
YXIgd2hlcmUsDQogdW5zaWduZWQgc2hvcnQgdmFsICkNClxsYXlvdXQgSXRl
bWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmludCBzbmRfcGNpX3dyaXRlX2Nv
bmZpZ19kd29yZCggc3RydWN0IHNuZF9wY2lfZGV2ICpkZXYsIHVuc2lnbmVk
IGNoYXIgd2hlcmUsDQogdW5zaWduZWQgaW50IHZhbCApDQpcYmVnaW5fZGVl
cGVyIA0KXGxheW91dCBJdGVtaXplDQoNCndyaXRlIGJ5dGUvd29yZC9kd29y
ZCB0byBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgDQpcbGF5b3V0IFN1
YnN1YnNlY3Rpb24NCg0KRXhhbXBsZXMNClxlbmRfZGVlcGVyIA0KXGxheW91
dCBDb2RlDQoNCnN0cnVjdCBzbmRfcGNpX2RldiBwY2lfZGV2OyAvKiB1c2Ug
aGVhcCBmb3IgdGhpcyB2YXJpYWJsZSAqLyANClxuZXdsaW5lIA0KdW5zaWdu
ZWQgc2hvcnQgY21kOw0KXG5ld2xpbmUgDQoNClxuZXdsaW5lIA0KaWYgKCBz
bmRfcGNpX2ZpbmRfZGV2aWNlKCBQQ0lfVkVORE9SX0lEX0VOU09OSVEsIA0K
XG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KUENJX0RFVklDRV9JRF9FTlNP
TklRX0FVRElPUENJLCANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCjAs
IA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiAmcGNpX2RldiApIDwgMCApIA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIHJldHVybiAtRU5PREVW
OyANClxuZXdsaW5lIA0Kc25kX3ByaW50ayggIkZpcnN0IEVuc29uaXEgUENJ
IHNvdW5kY2FyZCBmb3VuZCBhdCAweCV4IGFuZCBpcnEgJWkNClxiYWNrc2xh
c2ggDQpuIiwgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIHBjaV9kZXYgLT4gYmFzZV9hZGRy
ZXNzWyAwIF0gJiB+MywgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCnBjaV9kZXYgLT4gaXJxICk7IA0KXG5ld2xpbmUgDQpzbmRf
cHJpbnRrKCAiZW5hYmxpbmcgTWFzdGVyLi4NClxiYWNrc2xhc2ggDQpuIiAp
OyANClxuZXdsaW5lIA0Kc25kX3BjaV9yZWFkX2NvbmZpZ193b3JkKCAmcGNp
X2RldiwgUENJX0NPTU1BTkQsICZjbWQgKTsgDQpcbmV3bGluZSANCmNtZCB8
PSBQQ0lfQ09NTUFORF9JTyB8IFBDSV9DT01NQU5EX01BU1RFUjsgDQpcbmV3
bGluZSANCnNuZF9wY2lfd3JpdGVfY29uZmlnX3dvcmQoICZhbXA7cGNpX2Rl
diwgUENJX0NPTU1BTkQsIGNtZCApOw0KXGxheW91dCBTZWN0aW9uDQoNCkZp
bGUgT3BlcmF0aW9ucw0KXGxheW91dCBTdGFuZGFyZA0KDQpGaWxlIG9wZXJh
dGlvbnMgcmVsYXRlZCBzdHJ1Y3R1cmVzIGFuZCBmdW5jdGlvbnMgYXJlIGlu
IA0KXGVtcGggb24gDQppbmNsdWRlL2RyaXZlci5oDQpcZW1waCBkZWZhdWx0
IA0KIGhlYWRlciBmaWxlLg0KIEJhc2ljIHN0cnVjdHVyZSBmb3IgcmVnaXN0
ZXJpbmcgZmlsZSBvcGVyYXRpb25zIGZvciBtaW5vciBudW1iZXIgaXMgDQpc
ZW1waCBvbiANCnNuZF9taW5vcl90DQpcZW1waCBkZWZhdWx0IA0KLg0KIE1p
bm9yIGNvbnN0YW50cyBhcmUgaW4gDQpcZW1waCBvbiANCmluY2x1ZGUvbWlu
b3JzLmgNClxlbXBoIGRlZmF1bHQgDQogaGVhZGVyIGZpbGUuDQpcbGF5b3V0
IFN1YnNlY3Rpb24NCg0KVmFyaWFibGVzIGFuZCBmdW5jdGlvbnMNClxsYXlv
dXQgU3RhbmRhcmQNCg0KRnVuY3Rpb25zIGxpc3Q6DQpcbGF5b3V0IEl0ZW1p
emUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX3JlZ2lzdGVyX21pbm9y
KCB1bnNpZ25lZCBzaG9ydCBtaW5vciwgc25kX21pbm9yX3QgKnJlZyApDQpc
YmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KbWlub3INClxzZXJpZXMgZGVmYXVsdCANCiAtIG1pbm9yIG51bWJl
ciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnJlZw0K
XHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byByZWdpc3RyYXRpb24g
c3RydWN0dXJlIHdpdGggZmlsZSBvcGVyYXRpb25zIA0KXGxheW91dCBJdGVt
aXplDQoNCnJldHVybnMgbmVnYXRpdmUgdmFsdWUgd2hlbiBlcnJvciBvY2N1
cmVkIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQppbnQgc25kX3VucmVnaXN0ZXJfbWlub3IoIHVuc2lnbmVk
IHNob3J0IG1pbm9yICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1p
emUNCg0KDQpcc2VyaWVzIGJvbGQgDQptaW5vcg0KXHNlcmllcyBkZWZhdWx0
IA0KIC0gbWlub3IgbnVtYmVyIA0KXGxheW91dCBJdGVtaXplDQoNCnJldHVy
bnMgbmVnYXRpdmUgdmFsdWUgd2hlbiBlcnJvciBvY2N1cmVkIA0KXGVuZF9k
ZWVwZXIgDQpcbGF5b3V0IFN0YW5kYXJkDQoNCk5vdGU6IERldmljZXMgKG1p
bm9yIG51bWJlcnMpIGFyZSByZWdpc3RlcmVkIG9ubHkgaWYgZGV2aWNlIGlz
IHByZXNlbnQgaW4NCiB0aGUgc3lzdGVtLg0KIEl0IGlzbid0IHByZWZmZXJl
ZCBkbyBzb21lIHByZS1yZWdpc3RyYXRpb24gZnJvbSBzb21lIG1pZGRsZS1s
ZXZlbCBjb2RlDQogZm9yIGVhY2ggcG9zc2libGUgZGV2aWNlcyBwZXIgaW50
ZXJmYWNlLg0KXGxheW91dCBTdWJzZWN0aW9uDQoNCkV4YW1wbGVzDQpcbGF5
b3V0IENvZGUNCg0Kc3RhdGljIHNuZF9taW5vcl90IHNuZF9wY21fcmVnID0g
eyANClxuZXdsaW5lIA0KImRpZ2l0YWwgYXVkaW8iLA0KXG5ld2xpbmUgDQpO
VUxMLCANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCi8qIHVucmVnaXN0
ZXIgKi8NClxuZXdsaW5lIA0KTlVMTCwgDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQovKiBsc2VlayAqLyANClxuZXdsaW5lIA0Kc25kX3BjbV9yZWFk
LCANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCi8qIHJlYWQgKi8gDQpcbmV3bGluZSAN
CnNuZF9wY21fd3JpdGUsIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCi8qIHdyaXRlICovIA0KXG5ld2xpbmUgDQpzbmRfcGNtX29w
ZW4sIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCi8q
IG9wZW4gKi8gDQpcbmV3bGluZSANCnNuZF9wY21fcmVsZWFzZSwgDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
LyogcmVsZWFzZSAqLyANClxuZXdsaW5lIA0KI2lmZGVmIFNORF9QT0xMIA0K
XG5ld2xpbmUgDQpzbmRfcGNtX3BvbGwsIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
LyogcG9sbCAqLyANClxuZXdsaW5lIA0KI2Vsc2UgDQpcbmV3bGluZSANCnNu
ZF9wY21fc2VsZWN0LCANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Ci8qIHNlbGVjdCAqLyANClxuZXdsaW5lIA0KI2VuZGlmIA0KXG5ld2xpbmUg
DQpzbmRfcGNtX2lvY3RsLCANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQovKiBpb2N0bCAqLyANClxuZXdsaW5lIA0KTlVMTCwgDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCi8qIG1tYXAgKi8gDQpcbmV3bGluZSANCn07
DQpcbmV3bGluZSANCg0KXG5ld2xpbmUgDQouLi4NCiANClxuZXdsaW5lIA0K
aWYgKCAoZXJyID0gc25kX3JlZ2lzdGVyX21pbm9yKCBTTkRfTUlOT1JfUENN
ICsgZGV2aWNlLCAmYW1wO3NuZF9wY21fcmVnDQogKSkgPCAwICkgDQpcbmV3
bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KcmV0
dXJuIGVycjsgDQpcbmV3bGluZSANCi4uLg0KIA0KXG5ld2xpbmUgDQpzbmRf
dW5yZWdpc3Rlcl9taW5vciggU05EX01JTk9SX1BDTSArIGRldmljZSApOw0K
XGxheW91dCBTZWN0aW9uDQoNCk1peGVyDQpcbGF5b3V0IFN0YW5kYXJkDQoN
Ck1peGVyIHJlbGF0ZWQgc3RydWN0dXJlcyBhbmQgZnVuY3Rpb24gaXMgaW4g
DQpcZW1waCBvbiANCmluY2x1ZGUvbWl4ZXIuaA0KXGVtcGggZGVmYXVsdCAN
CiBoZWFkZXIgZmlsZS4NClxsYXlvdXQgU3Vic2VjdGlvbg0KDQpWYXJpYWJs
ZXMgYW5kIEZ1bmN0aW9ucw0KXGxheW91dCBTdGFuZGFyZA0KDQpWYXJpYWJs
ZXMgZnJvbSANClxlbXBoIG9uIA0Kc25kX2ttaXhlcl90DQpcZW1waCBkZWZh
dWx0IA0KIHN0cnVjdHVyZSB3aGljaCBtdXN0IGJlIGZpbGxlZDoNClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCm5hbWUNClxzZXJpZXMg
ZGVmYXVsdCANCiAtIGlzIG5hbWUgb2YgbWl4ZXIgKGZvciBleGFtcGxlICdB
RDE4NDgnKS4NCiANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9s
ZCANCmh3DQpcc2VyaWVzIGRlZmF1bHQgDQogLSByZWFkLW9ubHkgdmFyaWFi
bGVzIGRlcGVuZGVuZCBvbiBoYXJkd2FyZS4NCiANClxsYXlvdXQgU3RhbmRh
cmQNCg0KVmFyaWFibGVzIGZyb20gDQpcZW1waCBvbiANCnNuZF9rbWl4ZXJf
dA0KXGVtcGggZGVmYXVsdCANCiBzdHJ1Y3R1cmUgd2hpY2ggc2hvdWxkIGJl
IGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCAN
CnByaXZhdGVfZGF0YQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0
byBwcml2YXRlIGRhdGEgZm9yIG1peGVyLg0KIA0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0KcHJpdmF0ZV9mcmVlDQpcc2VyaWVzIGRl
ZmF1bHQgDQogLSBzaG91bGQgZnJlZSBwcml2YXRlX2RhdGEgd2hlbiBjYWxs
ZWQuDQpcbGF5b3V0IFN0YW5kYXJkDQoNClZhcmlhYmxlcyBmcm9tIA0KXGVt
cGggb24gDQpzdHJ1Y3Qgc25kX3N0cnVfbWl4ZXJfaHcNClxlbXBoIGRlZmF1
bHQgDQogc3RydWN0dXJlIHdoaWNoIG11c3QgYmUgZmlsbGVkOg0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KY2Fwcw0KXHNlcmllcyBk
ZWZhdWx0IA0KIC0gbWl4ZXIgY2FwYWJpbGl0aWVzIChzZWUgdG8gDQpcc2Vy
aWVzIGJvbGQgDQpTTkRfU05EX01JWEVSX0lORk9fQ0FQXyoNClxzZXJpZXMg
ZGVmYXVsdCANCikuDQogDQpcbGF5b3V0IFN0YW5kYXJkDQoNClZhcmlhYmxl
cyBmcm9tIA0KXGVtcGggb24gDQpzdHJ1Y3Qgc25kX3N0cnVfbWl4ZXJfaHcN
ClxlbXBoIGRlZmF1bHQgDQogc3RydWN0dXJlIHdoaWNoIHNob3VsZCBiZSBm
aWxsZWQ6DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpn
ZXRfc3BlY2lhbA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0Kc2V0X3NwZWNpYWwNClxsYXlvdXQgU3RhbmRhcmQNCg0KVmFyaWFibGVz
IGZyb20gDQpcZW1waCBvbiANCnNuZF9rbWl4ZXJfY2hhbm5lbF90DQpcZW1w
aCBkZWZhdWx0IA0KIHN0cnVjdHVyZSB3aGljaCBtdXN0IGJlIGZpbGxlZDoN
ClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmh3DQpcc2Vy
aWVzIGRlZmF1bHQgDQogLSByZWFkLW9ubHkgdmFyaWFibGVzIGRlcGVuZGVu
ZCBvbiBoYXJkd2FyZS4NCiANClxsYXlvdXQgU3RhbmRhcmQNCg0KVmFyaWFi
bGVzIGZyb20gDQpcZW1waCBvbiANCnNuZF9rbWl4ZXJfY2hhbm5lbF90DQpc
ZW1waCBkZWZhdWx0IA0KIHN0cnVjdHVyZSB3aGljaCBzaG91bGQgYmUgZmls
bGVkOg0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KcHJp
dmF0ZV92YWx1ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaXMgDQpcZW1waCBv
biANCnVuc2lnbmVkIGludA0KXGVtcGggZGVmYXVsdCANCiB2YXJpYWJsZSB3
aGljaCBpc24ndCB1c2VkIGJ5IG1pZGRsZS1sZXZlbCBjb2RlLg0KIA0KXGxh
eW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KcHJpdmF0ZV9kYXRh
DQpcc2VyaWVzIGRlZmF1bHQgDQogLSBpcyBwb2ludGVyIHRvIHNvbWUgcHJp
dmF0ZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhcHByb3ByaWF0ZSBjaGFubmVs
Lg0KIFRoaXMgZGF0YSBpc24ndCBmcmVlZCBieSBtaWRkbGUtbGV2ZWwgY29k
ZS4NCiBOT1RFIC0gV2hlcmUgc2hvdWxkIGl0IGJlIGZyZWVkIGZyb20gdGhl
bj8gDQpcbGF5b3V0IFN0YW5kYXJkDQoNClZhcmlhYmxlcyBmcm9tIHN0cnVj
dCANClxlbXBoIG9uIA0Kc25kX3N0cnVfbWl4ZXJfY2hhbm5lbF9odw0KXGVt
cGggZGVmYXVsdCANCiBzdHJ1Y3R1cmUgd2hpY2ggbXVzdCBiZSBmaWxsZWQ6
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpwcmlvcml0
eQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcHJpb3JpdHkgKGlkZW50aWZpY2F0
b3IpIC0gc2VlIA0KXHNlcmllcyBib2xkIA0KU05EX01JWEVSX1BSSV8qDQpc
c2VyaWVzIGRlZmF1bHQgDQogDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQpwYXJlbnRfcHJpb3JpdHkNClxzZXJpZXMgZGVmYXVsdCAN
CiAtIHBhcmVudCBtaXhlciBjaGFubmVsIHByaW9yaXR5IG9yIA0KXHNlcmll
cyBib2xkIA0KU05EX01JWEVSX1BSIElfUEFSRU5UDQpcc2VyaWVzIGRlZmF1
bHQgDQogDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpu
YW1lDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBuYW1lIG9mIHRoaXMgbWl4ZXIg
Y2hhbm5lbCAtIHNlZSANClxzZXJpZXMgYm9sZCANClNORF9NSVhFUl9JRF8q
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpvc3NkZXYN
ClxzZXJpZXMgZGVmYXVsdCANCiAtIE9TUyAoT3BlbiBTb3VuZCBTeXN0ZW0p
IGRldmljZSAtIHNlZSANClxzZXJpZXMgYm9sZCANClNORF9NSVhFUl9PU1Nf
Kg0KXHNlcmllcyBkZWZhdWx0IA0KIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KbXV0ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaWYg
aGFyZHdhcmUgbXV0ZSBpcyBzdXBwb3J0ZWQgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQpzdGVyZW8NClxzZXJpZXMgZGVmYXVsdCAN
CiAtIGlmIHN0ZXJlbyBpcyBzdXBwb3J0ZWQgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQpyZWNvcmQNClxzZXJpZXMgZGVmYXVsdCAN
CiAtIGlzIHJlY29yZGluZyBpcyBwb3NzaWJsZSBmcm9tIHRoaXMgY2hhbm5l
bCANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmRpZ2l0
YWwNClxzZXJpZXMgZGVmYXVsdCANCiAtIGlzIHRoaXMgY2hhbm5lbCBpcyBk
aWdpdGFseSAobm90IGFuYWxvZykgbWl4ZWQgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQppbnB1dA0KXHNlcmllcyBkZWZhdWx0IA0K
IC0gaXMgY2hhbm5lbCBpcyBpbnB1dCBjaGFubmVsIA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0KbWluLCBtYXgNClxzZXJpZXMgZGVm
YXVsdCANCiAtIHNwZWNpZmllcyBleGFjdCBsaW5lYXIgcmFuZ2UgZnJvbSAN
ClxzZXJpZXMgYm9sZCANCm1pbg0KXHNlcmllcyBkZWZhdWx0IA0KIHRvIA0K
XHNlcmllcyBib2xkIA0KbWEgeA0KXHNlcmllcyBkZWZhdWx0IA0KIA0KXGxh
eW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KbWluX2RCLCBtYXhf
ZEIsIHN0ZXBfZEINClxzZXJpZXMgZGVmYXVsdCANCiAtIHJhbmdlIGFuZCBz
dGVwIHNpemUgZm9yIGRlY2liZWwgKiAxMDAgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQp2b2lkICgqc2V0X3JlY29yZF9zb3VyY2Up
KCBzbmRfa21peGVyX3QgKm1peGVyLCBzbmRfa21peGVyX2NoYW5uZWxfdCAq
IGNoYW5uZWwsDQogaW50IGVuYWJsZSApDQpcc2VyaWVzIGRlZmF1bHQgDQog
DQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KbWl4ZXINClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIg
dG8gbWl4ZXIgc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNl
cmllcyBib2xkIA0KY2hhbm5lbA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9p
bnRlciB0byBjaGFubmVsIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0K
DQoNClxzZXJpZXMgYm9sZCANCmVuYWJsZQ0KXHNlcmllcyBkZWZhdWx0IA0K
IC0gaWYgbm9uLXplcm8gLSByZWNvcmQgc291cmNlIG11c3QgYmUgZW5hYmxl
ZCANClxsYXlvdXQgSXRlbWl6ZQ0KDQptdXN0IGJlIHNldCwgaWYgY2hhbm5l
bCBzdXBwb3J0cyByZWNvcmRpbmcgDQpcZW5kX2RlZXBlciANClxsYXlvdXQg
SXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnZvaWQgKCpzZXRfbXV0ZSko
IHNuZF9rbWl4ZXJfdCAqbWl4ZXIsIHNuZF9rbWl4ZXJfY2hhbm5lbF90ICpj
aGFubmVsLCB1bnNpZ25lZA0KIGludCBtdXRlICkNClxiZWdpbl9kZWVwZXIg
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQptaXhlcg0K
XHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBtaXhlciBzdHJ1Y3R1
cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpjaGFu
bmVsDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIGNoYW5uZWwg
c3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KbXV0ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc2hvdWxkIGJlIHplcm8g
KG5vIG11dGUpIG9yIA0KXHNlcmllcyBib2xkIA0KU05EX01JWF9NVVRFKg0K
XGxheW91dCBJdGVtaXplDQoNCm11c3QgYmUgc2V0LCBpZiBjaGFubmVsIHN1
cHBvcnRzIGhhcmR3YXJlIG11dGluZyANClxlbmRfZGVlcGVyIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0Kdm9pZCAoKnNldF92b2x1
bWVfbGV2ZWwpKCBzbmRfa21peGVyX3QgKm1peGVyLCBzbmRfa21peGVyX2No
YW5uZWxfdCAqYyBoYW5uZWwsDQogaW50IGxlZnQsIGludCByaWdodCApDQpc
YmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KbWl4ZXINClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIgdG8g
bWl4ZXIgc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KY2hhbm5lbA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRl
ciB0byBjaGFubmVsIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCmxlZnQNClxzZXJpZXMgZGVmYXVsdCANCiAtIHZv
bHVtZSBsZXZlbCBpbiBleGFjdCByYW5nZSANClxsYXlvdXQgSXRlbWl6ZQ0K
DQoNClxzZXJpZXMgYm9sZCANCnJpZ2h0DQpcc2VyaWVzIGRlZmF1bHQgDQog
LSB2b2x1bWUgbGV2ZWwgaW4gZXhhY3QgcmFuZ2UgDQpcbGF5b3V0IEl0ZW1p
emUNCg0KaGFuZGxlciB3aGljaCBzZXRzIHZvbHVtZSBsZXZlbCBmb3IgdGhp
cyBjaGFubmVsIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IFN0YW5kYXJkDQoN
ClZhcmlhYmxlcyBmcm9tIA0KXGVtcGggb24gDQpzdHJ1Y3Qgc25kX3N0cnVf
bWl4ZXJfY2hhbm5lbF9odw0KXGVtcGggZGVmYXVsdCANCiBzdHJ1Y3R1cmUg
d2hpY2ggc2hvdWxkIGJlIGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCmludCAoKmNvbXB1dGVfbGluZWFyKSggc25kX2tt
aXhlcl90ICptaXhlciwgc25kX2ttaXhlcl9jaGFubmVsX3QgKmNoYW4gbmVs
LA0KIGludCBkQiApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXpl
DQoNCmlucHV0ID0gZEIgZnJvbSBhcHBsaWNhdGlvbiwgb3V0cHV0ID0gbWlu
Li4ubWF4IChsaW5lYXIgdm9sdW1lKSANClxlbmRfZGVlcGVyIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaW50ICgqY29tcHV0ZV9k
QikoIHNuZF9rbWl4ZXJfdCAqbWl4ZXIsIHNuZF9rbWl4ZXJfY2hhbm5lbF90
ICpjaGFubmVsLCBpbnQNCiB2b2x1bWUgKQ0KXGJlZ2luX2RlZXBlciANClxs
YXlvdXQgSXRlbWl6ZQ0KDQppbnB1dCA9IG1pbi4uLm1heCAobGluZWFyIHZv
bHVtZSksIG91dHB1dCA9IGRCIHRvIGFwcGxpY2F0aW9uIA0KXGVuZF9kZWVw
ZXIgDQpcbGF5b3V0IFN0YW5kYXJkDQoNCkZ1bmN0aW9ucyBsaXN0Og0KXGxh
eW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0Kdm9pZCBzbmRfbWl4
ZXJfc2V0X2tlcm5lbF9tdXRlKCBzbmRfa21peGVyX3QgKm1peGVyLCB1bnNp
Z25lZCBpbnQgcHIgaW9yaXR5LA0KIHVuc2lnbmVkIHNob3J0IG11dGUgKQ0K
XGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMg
Ym9sZCANCm1peGVyDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRv
IG1peGVyIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCnByaW9yaXR5DQpcc2VyaWVzIGRlZmF1bHQgDQogLSBzcGVj
aWZpZXMgbWl4ZXIgY2hhbm5lbCANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCm11dGUNClxzZXJpZXMgZGVmYXVsdCANCiAtIHplcm8g
b3IgDQpcc2VyaWVzIGJvbGQgDQpTTkRfTUlYX01VVEUNClxzZXJpZXMgZGVm
YXVsdCANCioNClxsYXlvdXQgSXRlbWl6ZQ0KDQpzaG91bGQgYmUgdXNlIGFz
IG11dGUgY29udHJvbCBmcm9tIGtlcm5lbCANClxsYXlvdXQgSXRlbWl6ZQ0K
DQp0aGVzZSBzZXR0aW5ncyBhcmUgbmV2ZXIgb3ZlcnJpZGVuIGJ5IGFwcGxp
Y2F0aW9uIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpc
c2VyaWVzIGJvbGQgDQpzbmRfa21peGVyX3QgKnNuZF9taXhlcl9uZXcoIHNu
ZF9jYXJkX3QgKmNhcmQsIGNoYXIgKmlkICkNClxzZXJpZXMgZGVmYXVsdCAN
CiANClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQpjYXJkDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVy
IHRvIHNvdW5kY2FyZCBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0K
DQpcc2VyaWVzIGJvbGQgDQppZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaXMg
aWRlbnRpZmljYXRpb24gb2YgY29kZSAoZm9yIGV4YW1wbGUgJ0FEMTg0OCcp
Lg0KIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQppbnQgc25kX21peGVyX2ZyZWUoIHNuZF9rbWl4ZXJfdCAq
bWl4ZXIgKQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCm1peGVyDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBw
b2ludGVyIHRvIG1peGVyIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0K
DQpmcmVlcyBtaXhlciBzdHJ1Y3R1cmUgYW5kIHByaXZhdGUgZGF0YSANClxl
bmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0Kc25kX2ttaXhlcl9jaGFubmVsX3QgKnNuZF9taXhlcl9uZXdfY2hhbm5l
bCggc25kX2ttaXhlcl90ICptaXhlciwgc3RydWN0DQogc25kX3N0cnVfbWl4
ZXJfY2hhbm5lbF9odyAqaHcgKQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQg
SXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCm1peGVyDQpcc2VyaWVzIGRl
ZmF1bHQgDQogLSBwb2ludGVyIHRvIG1peGVyIHN0cnVjdHVyZSANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmh3DQpcc2VyaWVzIGRl
ZmF1bHQgDQogLSBwb2ludGVyIHRvIG1peGVyIGNoYW5uZWwgdmFyaWFibGVz
IGFuZCBvcGVyYXRpb25zIA0KXGxheW91dCBJdGVtaXplDQoNCmNyZWF0ZXMg
bmV3IG1peGVyIGNoYW5uZWwgDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRl
bWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnZvaWQgc25kX21peGVyX3Jlb3Jk
ZXJfY2hhbm5lbCggc25kX2ttaXhlcl90ICptaXhlciwgc25kX2ttaXhlcl9j
aGFubmVsX3QNCiAqY2hhbm5lbCApDQpcc2VyaWVzIGRlZmF1bHQgDQogDQpc
YmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KbWl4ZXINClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIgdG8g
bWl4ZXIgc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KY2hhbm5lbA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRl
ciB0byBtaXhlciBjaGFubmVsIA0KXGxheW91dCBJdGVtaXplDQoNCnJlb3Jk
ZXJzIG1peGVyIGNoYW5uZWxzIGlmIGNoYW5uZWwgLT4gcHJpb3JpdHkgd2Fz
IGNoYW5nZWQgDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCmludCBzbmRfbWl4ZXJfcmVnaXN0ZXIoIHNuZF9r
bWl4ZXJfdCAqbWl4ZXIsIGludCBkZXZpY2UgKQ0KXGJlZ2luX2RlZXBlciAN
ClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCm1peGVyDQpc
c2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIG1peGVyIHN0cnVjdHVy
ZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmRldmlj
ZQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gZGV2aWNlIG51bWJlciAoMC0xKSAN
ClxsYXlvdXQgSXRlbWl6ZQ0KDQpyZWdpc3RlcnMgc3BlY2lmaWVkIG1peGVy
IA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVz
IGJvbGQgDQppbnQgc25kX21peGVyX3VucmVnaXN0ZXIoIHNuZF9taXhlcl90
ICptaXhlciApDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQpzbmRfa21peGVyX2NoYW5uZWxfdCAqc25kX21peGVyX25ld19jaGFubmVs
KCBzbmRfa21peGVyX3QgKm1peGVyLCBzdHJ1Y3QNCiBzbmRfc3RydV9taXhl
cl9jaGFubmVsX2h3ICpodyApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJ
dGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KbWl4ZXINClxzZXJpZXMgZGVm
YXVsdCANCiAtIHBvaW50ZXIgdG8gbWl4ZXIgc3RydWN0dXJlIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaHcNClxzZXJpZXMgZGVm
YXVsdCANCiAtIHBvaW50ZXIgdG8gbWl4ZXIgY2hhbm5lbCB2YXJpYWJsZXMg
YW5kIG9wZXJhdGlvbnMgDQpcbGF5b3V0IEl0ZW1pemUNCg0KY3JlYXRlcyBu
ZXcgbWl4ZXIgY2hhbm5lbCANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0Kdm9pZCBzbmRfbWl4ZXJfcmVvcmRl
cl9jaGFubmVsKCBzbmRfa21peGVyX3QgKm1peGVyLCBzbmRfa21peGVyX2No
YW5uZWxfdA0KICpjaGFubmVsICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0
IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQptaXhlcg0KXHNlcmllcyBk
ZWZhdWx0IA0KIC0gcG9pbnRlciB0byBtaXhlciBzdHJ1Y3R1cmUgDQpcbGF5
b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpjaGFubmVsDQpcc2Vy
aWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIG1peGVyIGNoYW5uZWwgDQpc
bGF5b3V0IEl0ZW1pemUNCg0KcmVvcmRlcnMgbWl4ZXIgY2hhbm5lbHMgaWYg
Y2hhbm5lbCAtPiBwcmlvcml0eSB3YXMgY2hhbmdlZCANClxlbmRfZGVlcGVy
IA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaW50IHNu
ZF9taXhlcl9yZWdpc3Rlciggc25kX2ttaXhlcl90ICptaXhlciwgaW50IGRl
dmljZSApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KbWl4ZXINClxzZXJpZXMgZGVmYXVsdCANCiAtIHBv
aW50ZXIgdG8gbWl4ZXIgc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0KZGV2aWNlDQpcc2VyaWVzIGRlZmF1bHQgDQog
LSBkZXZpY2UgbnVtYmVyICgwLTEpIA0KXGxheW91dCBJdGVtaXplDQoNCnJl
Z2lzdGVycyBzcGVjaWZpZWQgbWl4ZXIgDQpcZW5kX2RlZXBlciANClxsYXlv
dXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCmludCBzbmRfbWl4ZXJf
dW5yZWdpc3Rlciggc25kX21peGVyX3QgKm1peGVyICkNClxzZXJpZXMgZGVm
YXVsdCANCiANClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0K
DQpcc2VyaWVzIGJvbGQgDQptaXhlcg0KXHNlcmllcyBkZWZhdWx0IA0KIC0g
cG9pbnRlciB0byBtaXhlciBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KdW5yZWdpc3RlcnMgYW5kIGZyZWVzIHNwZWNpZmllZCBtaXhlciANClxs
YXlvdXQgU3Vic2VjdGlvbg0KDQpFeGFtcGxlcw0KXGVuZF9kZWVwZXIgDQpc
bGF5b3V0IENvZGUNCg0KI2RlZmluZSBDUzQyMzFfTUlYUyAoc2l6ZW9mKHNu
ZF9jczQyMzFfbWl4cykvc2l6ZW9mKHN0cnVjdCBzbmRfc3RydV9taXhlcl9j
aGFubmUNCiBsX2h3KSkgDQpcbmV3bGluZSANCiNkZWZpbmUgQ1M0MjMxX1BS
SVZBVEUoIGxlZnQsIHJpZ2h0LCBzaGlmdCwgbXV0ZSApICgobGVmdCA8PCAy
NCl8KHJpZ2h0DQogPDwgMTYpfCggc2hpZnQ8PDgpfG11dGUpDQpcbmV3bGlu
ZSANCnN0YXRpYyBzdHJ1Y3Qgc25kX3N0cnVfbWl4ZXJfY2hhbm5lbF9odyBz
bmRfY3M0MjMxX21peHNbXSA9IHsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiB7IA0KXG5ld2xpbmUgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCiBTTkRfTUlYRVJfUFJJX0dBSU4sIC8qIHByaW9yaXR5ICovIA0K
XG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiBTTkRfTUlYRVJfUFJJX1BBUkVO
VCwgLyogcGFyZW50IHByaW9yaXR5ICovIA0KXG5ld2xpbmUgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCiBTTkRfTUlYRVJfSURfR0FJTiwgLyogZGV2aWNlIG5hbWUgKi8g
DQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIFNORF9NSVhFUl9PU1NfSU1J
WCwgLyogT1NTIGRldmljZSAjICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQowLCAxLCAwLCAwLCAxLCAv
KiBtdXRlL3N0ZXJlby9yZWNvcmQvZGlnaXRhbC9pbnB1dCAqLyANClxuZXds
aW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogMCwgMTUsIC8qIG1pbiwgbWF4IHZhbHVl
ICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAwLCAyMjUwLCAxNTAs
IC8qIG1pbiwgbWF4LCBzdGVwIC0gZEIgKi8gDQpcbmV3bGluZSANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KQ1M0MjMxX1BSSVZBVEUoIENTNDIzMV9MRUZUX0lOUFVULCBD
UzQyMzFfUklHSFRfSU5QVVQsIDAsIDB4MDAgKSB8IDB4MjAwMCwNCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCk5VTEwsIC8qIGNvbXB1dGUgZEIgLT4gbGluZWFy
ICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiAN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiBOVUxMLCAvKiBjb21w
dXRlIGxpbmVhciAtPiBkQiAqLyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQpOVUxMLCAvKiByZWNvcmQgc291cmNlICovIA0KXG5ld2xpbmUg
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiBOVUxMLCAvKiBzZXQgbXV0ZSAqLyANClxuZXds
aW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogc25kX2NzNDIzMV92b2x1bWVfbGV2ZWws
IC8qIHNldCB2b2x1bWUgbGV2ZWwgKi8gDQpcbmV3bGluZSANCiB9LA0KXG5l
d2xpbmUgDQp9Ow0KXG5ld2xpbmUgDQpzbmRfa21peGVyX3QgKnNuZF9jczQy
MzFfbmV3X21peGVyKCBzbmRfcGNtX3QgKnBjbSApIA0KXG5ld2xpbmUgDQp7
IA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCmludCBpZHg7IA0KXG5ld2xp
bmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIGNzNDIzMV90ICpjb2RlYzsNClxuZXdsaW5l
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQpzbmRfa21peGVyX3QgKm1peGVyOyANClxuZXds
aW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQpzbmRfa21peGVyX2NoYW5uZWxfdCAqY2hh
bm5lbDsNClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQppZiAoICFwY20gfHwg
IXBjbSAtPiBjYXJkICkgcmV0dXJuIE5VTEw7IA0KXG5ld2xpbmUgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogY29kZWMgPSAoY3M0MjMx
X3QgKilwY20gLT4gcHJpdmF0ZV9kYXRhOyANClxuZXdsaW5lIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCmlmICggIWNvZGVjICkgcmV0dXJuIE5VTEw7IA0KXG5ld2xpbmUg
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQptaXhlciA9IHNuZF9taXhlcl9uZXcoIHBjbSAtPiBj
YXJkLCBwY20gLT4gaWQgKTsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpp
ZiAoICFtaXhlciApIHJldHVybiBOVUxMOyANClxuZXdsaW5lIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc3RyY3B5KCBtaXhlciAtPiBu
YW1lLCBwY20gLT4gbmFtZSApOyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KZm9yICggaWR4ID0gMDsgaWR4IDwgQ1M0
MjMxX01JWFM7IGlkeCsrICkgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCnsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCmNoYW5uZWwgPSBzbmRfbWl4ZXJfbmV3X2NoYW5uZWwoIG1p
eGVyLCAmYW1wO3NuZF9jczQyMzFfbWl4c1sgaWR4IF0gKTsgDQpcbmV3bGlu
ZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCmlmICggIWNoYW5uZWwgKSANClxu
ZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogeyANClxuZXdsaW5lIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiBzbmRfbWl4ZXJf
ZnJlZSggbWl4ZXIgKTsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KcmV0dXJuIE5VTEw7IA0KXG5ld2xpbmUgDQog
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQp9IA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogfSANClxuZXdsaW5lIA0KIA0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KbWl4ZXIgLT4gaHcuY2FwcyA9
IFNORF9NSVhFUl9JTkZPX0NBUF9FWENMX1JFQ09SRDsgDQpcbmV3bGluZSAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCm1peGVyIC0+IHBy
aXZhdGVfZGF0YSA9IGNvZGVjOyBjb2RlYyAtPiBtaXhlciA9IG1peGVyOw0K
XG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpy
ZXR1cm4gbWl4ZXI7IA0KXG5ld2xpbmUgDQp9DQpcbGF5b3V0IFN0YW5kYXJk
DQoNCkRvIHlvdSBuZWVkIG1vZGlmeSBzb21lIGRlZmF1bHQgbWl4ZXIgY2hh
bm5lbCBhc3NpZ25tZW50Pw0KXGxheW91dCBDb2RlDQoNCnNuZF9rbWl4ZXJf
Y2hhbm5lbF90ICpjaGFubmVsOw0KXG5ld2xpbmUgDQoNClxuZXdsaW5lIA0K
Lyogb2suDQogSW50ZXJXYXZlIGhhdmUgTUlDIGRpZmZlcmVudCAoc3RlcmVv
KSAqLyANClxuZXdsaW5lIA0KY2hhbm5lbCA9IHNuZF9taXhlcl9maW5kX2No
YW5uZWwoIG1peGVyLCBTTkRfTUlYRVJfUFJJX01JQyApOyANClxuZXdsaW5l
IA0KY2hhbm5lbCAtPiBody5zdGVyZW8gPSAxOyANClxuZXdsaW5lIA0KY2hh
bm5lbCAtPiBody5tYXggPSAzMTsgDQpcbmV3bGluZSANCmNoYW5uZWwgLT4g
aHcucHJpdmF0ZV92YWx1ZSA9IENTNDIzMV9QUklWQVRFKCBDUzQyMzFfTEVG
VF9NSUNfSU5QVVQsIENTNDIzMV9SSQ0KIEdIVF9NSUNfSU5QVVQsIDAsIDB4
ODAgKTsNClxuZXdsaW5lIA0KDQpcbmV3bGluZSANCi8qIHJlYXNzaWduIEFV
WEEgdG8gU1lOVEhFU0laRVIgKi8gDQpcbmV3bGluZSANCmNoYW5uZWwgPSBz
bmRfbWl4ZXJfZmluZF9jaGFubmVsKCBtaXhlciwgU05EX01JWEVSX1BSSV9B
VVhBICk7IA0KXG5ld2xpbmUgDQpjaGFubmVsIC0+IGh3LnByaW9yaXR5ID0g
U05EX01JWEVSX1BSSV9TWU5USEVTSVpFUjsgDQpcbmV3bGluZSANCmNoYW5u
ZWwgLT4gaHcub3NzZGV2ID0gU05EX01JWEVSX09TU19TWU5USDsgDQpcbmV3
bGluZSANCnN0cmNweSggY2hhbm5lbCAtPiBody5uYW1lLCBTTkRfTUlYRVJf
SURfU1lOVEhFU0laRVIgKTsgDQpcbmV3bGluZSANCnNuZF9taXhlcl9yZW9y
ZGVyX2NoYW5uZWwoIG1peGVyLCBjaGFubmVsICk7DQpcbGF5b3V0IFN0YW5k
YXJkDQoNCkRvIHlvdSBuZWVkIGFkZCBzb21lIG1peGVyIGNoYW5uZWwgdG8g
Z2VuZXJpYyBtaXhlcj8NClxsYXlvdXQgQ29kZQ0KDQpzdGF0aWMgc3RydWN0
IHNuZF9zdHJ1X21peGVyX2NoYW5uZWxfaHcgbWFzdGVyID0gDQpcbmV3bGlu
ZSANCnsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANClNORF9NSVhFUl9QUklfTUFTVEVSLCAvKiBwcmlvcml0eSAqLyAN
ClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
U05EX01JWEVSX1BSSV9QQVJFTlQsIC8qIHBhcmVudCBwcmlvcml0eSAqLyAN
ClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
U05EX01JWEVSX0lEX01BU1RFUiwgLyogZGV2aWNlIG5hbWUgKi8gDQpcbmV3
bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANClNORF9N
SVhFUl9PU1NfVk9MVU1FLCAvKiBPU1MgZGV2aWNlICMgKi8gDQpcbmV3bGlu
ZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCjEsIDEsIDEs
IDAsIDAsIC8qIG11dGUvc3RlcmVvL3JlY29yZC9kaWdpdGFsICovIA0KXG5l
d2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQowLCAz
MSwgLyogbWF4Lg0KIHZhbHVlICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQotMzQ1MCwgMTIwMCwgMTUwLCAvKiBt
aW4sIG1heCwgc3RlcCAtIGRCICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KQ1M0
MjMxX1BSSVZBVEUoIENTNDIzMV9MSU5FX0xFRlRfT1VUUFVULCBDUzQyMzFf
TElORV9SSUdIVF9PVVRQVVQsIDAsIDB4ODANCiBOVUxMLCAvKiBjb21wdXRl
IGRCIC0+IGxpbmVhciAqLyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KTlVMTCwgLyogY29tcHV0ZSBsaW5lYXIgLT4g
ZEIgKi8gDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
IA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCk5VTEwsIC8qIHJlY29yZCBzb3VyY2UgKi8gDQpcbmV3bGluZSAN
CiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCk5VTEwsIC8qIHNl
dCBtdXRlICovIA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQpOVUxMLCAvKiBzZXQgdm9sdW1lIGxldmVsICovIA0KXG5l
d2xpbmUgDQp9OyANClxuZXdsaW5lIA0KaW50IGlkeDsNClxuZXdsaW5lIA0K
LyogbWFrZSBtYXN0ZXIgYXMgcGFyZW50ICovIA0KXG5ld2xpbmUgDQpmb3Ig
KCBpZHggPSAwOyBpZHggPCBtaXhlciAtPiBjaGFubmVsc19jb3VudDsgaWR4
KysgKSANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQog
eyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpjaGFubmVsID0gbWl4ZXIg
LT4gY2hhbm5lbHNbIGlkeCBdOyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQppZiAoICFjaGFubmVsIC0+IGh3LmlucHV0ICkgY2hhbm5lbCAtPiBody5w
YXJlbnRfcHJpb3JpdHkgPSBTTkRfTUlYRVJfUFJJX01BU1RFUjsNCiANClxu
ZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogfSANClxuZXds
aW5lIA0KLyogYWRkIG1hc3RlciB2b2x1bWUgY29udHJvbCAqLyANClxuZXds
aW5lIA0KbWFzdGVyLnNldF9yZWNvcmRfc291cmNlID0gY2hhbm5lbCAtPiBo
dy5zZXRfcmVjb3JkX3NvdXJjZTsgDQpcbmV3bGluZSANCm1hc3Rlci5zZXRf
bXV0ZSA9IGNoYW5uZWwgLT4gaHcuc2V0X211dGU7IA0KXG5ld2xpbmUgDQpt
YXN0ZXIuc2V0X3ZvbHVtZV9sZXZlbCA9IGNoYW5uZWwgLT4gaHcuc2V0X3Zv
bHVtZV9sZXZlbDsgDQpcbmV3bGluZSANCmNoYW5uZWwgPSBzbmRfbWl4ZXJf
bmV3X2NoYW5uZWwoIG1peGVyLCAmbWFzdGVyICk7IA0KXG5ld2xpbmUgDQpp
ZiAoICFjaGFubmVsICkgcmV0dXJuIC1FTk9NRU07DQpcbGF5b3V0IFN0YW5k
YXJkDQoNCk1peGVyIGRldmljZSByZWdpc3RlcmluZzoNClxsYXlvdXQgQ29k
ZQ0KDQpzbmRfY2FyZF90ICpjYXJkOyANClxuZXdsaW5lIA0Kc25kX3BjbV90
ICpwY207IA0KXG5ld2xpbmUgDQpzbmRfa21peGVyX3QgKm1peGVyOw0KXG5l
d2xpbmUgDQoNClxuZXdsaW5lIA0KLi4uDQogDQpcbmV3bGluZSANCm1peGVy
ID0gc25kX2VzMTY4OF9uZXdfbWl4ZXIoIHBjbSApOyANClxuZXdsaW5lIA0K
aWYgKCAhbWl4ZXIgKSANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogeyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIHNuZF9wY21fZnJlZSggcGNtICk7IA0KXG5ld2xpbmUg
DQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogc25kX2NhcmRf
ZnJlZSggY2FyZCApOyANClxuZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCiByZXR1cm4gLU5Y
SU87IA0KXG5ld2xpbmUgDQogfSANClxuZXdsaW5lIA0KLi4uDQogDQpcbmV3
bGluZSANCmlmICggc25kX21peGVyX3JlZ2lzdGVyKCBtaXhlciwgMCApICkg
DQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KeyANClxu
ZXdsaW5lIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiAuLi4NCiB1bnJlZ2lzdGVyIGFscmVhZHkgcmVn
aXN0ZXJlZCBkZXZpY2VzIC4uLg0KIA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc25k
X21peGVyX2ZyZWUoIG1peGVyICk7IA0KXG5ld2xpbmUgDQogDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc25k
X3BjbV9mcmVlKCBwY20gKTsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpzbmRfY2Fy
ZF9mcmVlKCBjYXJkICk7IA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KcmV0dXJuIC1F
TlhJTzsgDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
fSANClxuZXdsaW5lIA0KLi4uDQogDQpcbmV3bGluZSANCnNuZF9taXhlcl91
bnJlZ2lzdGVyKCBtaXhlciApOw0KXGxheW91dCBTZWN0aW9uDQoNClBDTSAt
IERpZ2l0YWwgQXVkaW8NClxsYXlvdXQgU3RhbmRhcmQNCg0KRGlnaXRhbCBB
dWRpbyByZWxhdGVkIHN0cnVjdHVyZXMgYW5kIGZ1bmN0aW9ucyBhcmUgaW4g
DQpcZW1waCBvbiANCmluY2x1ZGUvcGNtLmgNClxlbXBoIGRlZmF1bHQgDQog
aGVhZGVyIGZpbGUuDQpcbGF5b3V0IFN1YnNlY3Rpb24NCg0KVmFyaWFibGVz
IGFuZCBmdW5jdGlvbnMNClxsYXlvdXQgU3RhbmRhcmQNCg0KVmFyaWFibGVz
IGZyb20gDQpcZW1waCBvbiANCnNuZF9wY21fdA0KXGVtcGggZGVmYXVsdCAN
CiBzdHJ1Y3R1cmUgd2hpY2ggbXVzdCBiZSBmaWxsZWQ6DQpcbGF5b3V0IEl0
ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbmZvX2ZsYWdzDQpcc2VyaWVz
IGRlZmF1bHQgDQogLSBsb29rIGF0IA0KXHNlcmllcyBib2xkIA0KU05EX1BD
TV9JTkZPXyogDQpcc2VyaWVzIGRlZmF1bHQgDQppbiB0aGlzIGRvY3VtZW50
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpuYW1lDQpc
c2VyaWVzIGRlZmF1bHQgDQogLSBvZiBwY20gZGV2aWNlIChmb3IgZXhhbXBs
ZSAnQ1M0MjMxJykgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJv
bGQgDQpwbGF5YmFjaw0KXHNlcmllcyBkZWZhdWx0IA0KIC0gdmFyaWFibGVz
IGZvciBwbGF5YmFjayBkaXJlY3Rpb24gDQpcbGF5b3V0IEl0ZW1pemUNCg0K
DQpcc2VyaWVzIGJvbGQgDQpyZWNvcmQNClxzZXJpZXMgZGVmYXVsdCANCiAt
IHZhcmlhYmxlcyBmb3IgcmVjb3JkIGRpcmVjdGlvbiANClxsYXlvdXQgU3Rh
bmRhcmQNCg0KVmFyaWFibGVzIGZyb20gDQpcZW1waCBvbiANCnNuZF9wY21f
dA0KXGVtcGggZGVmYXVsdCANCiBzdHJ1Y3R1cmUgd2hpY2ggc2hvdWxkIGJl
IGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCAN
CnByaXZhdGVfZGF0YQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc2hvdWxkIGNv
bnRhaW4gcG9pbnRlciB0byBwcml2YXRlIGRhdGEgDQpcbGF5b3V0IEl0ZW1p
emUNCg0KDQpcc2VyaWVzIGJvbGQgDQpwcml2YXRlX2ZyZWUNClxzZXJpZXMg
ZGVmYXVsdCANCiAtIHNob3VsZCBmcmVlIHByaXZhdGUgZGF0YSB3aGVuIGNh
bGxlZCANClxsYXlvdXQgU3RhbmRhcmQNCg0KVmFyaWFibGVzIGZyb20gPGl0
PnN0cnVjdCBzbmRfc3RydV9wY21faGFyZHdhcmU8L2l0PiB3aGljaCBtdXN0
IGJlIGZpbGxlZDoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9s
ZCANCmZsYWdzDQpcc2VyaWVzIGRlZmF1bHQgDQogDQpcYmVnaW5fZGVlcGVy
IA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KU05EX1BD
TV9IV19CQVRDSA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaGFyZHdhcmUgZG9l
cyBkb3VibGUgYnVmZmVyaW5nIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNl
cmllcyBib2xkIA0KU05EX1BDTV9IV184QklUT05MWQ0KXHNlcmllcyBkZWZh
dWx0IA0KIC0gaGFyZHdhcmUgc3VwcG9ydHMgb25seSA4LWJpdCBkYXRhIChi
ZSBjYXIgZWZ1bCAtIGxvb2sgYXQgc2IxNi5jKSANClxsYXlvdXQgSXRlbWl6
ZQ0KDQoNClxzZXJpZXMgYm9sZCANClNORF9QQ01fSFdfMTZCSVRPTkxZDQpc
c2VyaWVzIGRlZmF1bHQgDQogLSBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IDE2
LWJpdCBkYXRhIChiZSBjIGFyZWZ1bCAtIGxvb2sgYXQgc2IxNi5jKSANClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANClNORF9QQ01fSFdf
QVVUT0RNQQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaGFyZHdhcmUgc3VwcG9y
dHMgYXV0byBpbml0IGRtYSB0cmFuc2ZlciAoIHVudGVybWluYXRlZCBsb29w
KSANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KZm9ybWF0cw0KXHNlcmllcyBkZWZhdWx0IA0KIC0gbGlzdCBv
ZiBzdXBwb3J0ZWQgZm9ybWF0cyANClxzZXJpZXMgYm9sZCANClNORF9QQ01f
Rk1UXyoNClxzZXJpZXMgZGVmYXVsdCANCiANClxiZWdpbl9kZWVwZXIgDQpc
bGF5b3V0IEl0ZW1pemUNCg0KaWYgaGFyZHdhcmUgZG9lc24ndCBzdXBwb3J0
IE11LUxhdyAtIGl0IF9tdXN0XyBiZSBlbXVsYXRlZCAoY29udmVydGVkKSAs
DQogYnV0IGl0IGNhbid0IGJlIGxpc3RlZCBoZXJlIA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0KYWxpZ24NClxzZXJpZXMgZGVmYXVs
dCANCiAtIGlmIHRyYW5zZmVyIGJsb2NrIG11c3QgYmUgYWxpZ25lZCB0byBz
b21lIHZhbHVlIC0gc2V0IHRoaXMgbWFzayANClxsYXlvdXQgSXRlbWl6ZQ0K
DQoNClxzZXJpZXMgYm9sZCANCm1pbl9mcmFnbWVudA0KXHNlcmllcyBkZWZh
dWx0IA0KIC0gbWluaW1hbCBmcmFnbWVudCBpbiAyXnggDQpcbGF5b3V0IEl0
ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQptaW5fcmF0ZQ0KXHNlcmllcyBk
ZWZhdWx0IA0KIC0gbWluaW1hbCByYXRlIGluIEh6IA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0KbWF4X3JhdGUNClxzZXJpZXMgZGVm
YXVsdCANCiAtIG1heGltYWwgcmF0ZSBpbiBIeg0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0KbWF4X3ZvaWNlcw0KXHNlcmllcyBkZWZh
dWx0IA0KIC0gbWF4aW1hbCBudW1iZXIgb2Ygdm9pY2VzIA0KXGxheW91dCBJ
dGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KaW50ICgqb3BlbikoIHNuZF9w
Y21fdCAqcGNtICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUN
Cg0KDQpcc2VyaWVzIGJvbGQgDQpwY20NClxzZXJpZXMgZGVmYXVsdCANCiAt
IHBvaW50ZXIgdG8gcGNtIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0K
DQpvcGVucyBwY20gZGlyZWN0aW9uIGFuZCBhbGxvY2F0ZXMgZG1hIGJ1ZmZl
ciB3aXRoIA0KXGVtcGggb24gDQpzbmRfcGNtX2RtYV9hbGxvYw0KXGVtcGgg
ZGVmYXVsdCANCiANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0KaW50ICgqY2xvc2UpKCBzbmRfcGNtX3QgKnBj
bSApDQpcc2VyaWVzIGRlZmF1bHQgDQogDQpcYmVnaW5fZGVlcGVyIA0KXGxh
eW91dCBJdGVtaXplDQoNCmNsb3NlcyBwY20gZGlyZWN0aW9uIGFuZCBmcmVl
cyBkbWEgYnVmZmVyIHdpdGggDQpcZW1waCBvbiANCnNuZF9wY21fZG1hX2Zy
ZWUNClxlbXBoIGRlZmF1bHQgDQogDQpcZW5kX2RlZXBlciANClxsYXlvdXQg
SXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnZvaWQgKCpjb21wdXRlX3Jh
dGUpKCBzbmRfcGNtX3QgKnBjbSApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91
dCBJdGVtaXplDQoNCmNvbXB1dGVzIA0KXGVtcGggb24gDQpzbmRfcGNtX2No
YW5uZWxfdCAtPiByZWFsX3JhdGUNClxlbXBoIGRlZmF1bHQgDQogZnJvbSAN
ClxlbXBoIG9uIA0Kc25kX3BjbV9jaGFubmUgbF90IC0+IHJhdGUNClxlbXBo
IGRlZmF1bHQgDQogDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0K
DQoNClxzZXJpZXMgYm9sZCANCnZvaWQgKCpwcmVwYXJlKSggc25kX3BjbV90
ICpwY20sIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IHMg
aXplLA0KIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBjb3Vu
dCApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNl
cmllcyBib2xkIA0KcGNtDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVy
IHRvIHBjbSBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQpidWZmZXINClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50
ZXIgdG8gZG1hIGJ1ZmZlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCnNpemUNClxzZXJpZXMgZGVmYXVsdCANCiAtIHVzZWQgc2l6
ZSBvZiBkbWEgYnVmZmVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0Kb2Zmc2V0DQpcc2VyaWVzIGRlZmF1bHQgDQogLSBvZmZzZXQg
aW4gYnl0ZXMgdG8gZG1hIGJ1ZmZlciANClxiZWdpbl9kZWVwZXIgDQpcbGF5
b3V0IEl0ZW1pemUNCg0KdGhpcyB2YWx1ZSBpcyBhbHdheXMgemVybyBpZiBo
YXJkd2FyZSBzdXBwb3J0cyBhdXRvIGluaXQgZG1hIHRyYW5zZmVyIG1vZGUN
CiANClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KY291bnQNClxzZXJpZXMgZGVmYXVsdCANCiAtIG9mIGJ5dGVz
IHRvIHRyYW5zZmVyIChibG9jayBzaXplKSANClxsYXlvdXQgSXRlbWl6ZQ0K
DQpwcmVwYXJlcyBwY20gZGlyZWN0aW9uIHRvIG91dHB1dC9pbnB1dA0KXGVu
ZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQp2b2lkICgqdHJpZ2dlcikoIHNuZF9wY21fdCAqcGNtLCBpbnQgdXAgKQ0K
XGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMg
Ym9sZCANCnBjbQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBw
Y20gc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KdXANClxzZXJpZXMgZGVmYXVsdCANCiAtIGlmIHplcm8sIHRyaWdn
ZXIgZG93biAodHVybiBvZmYpOyBpZiBub256ZXJvIC0gdHJpZ2dlciB1cCAo
IHR1cm4gb24pDQogDQpcbGF5b3V0IEl0ZW1pemUNCg0Kc3RhcnRzIG9yIHN0
b3BzIHBjbSBkaXJlY3Rpb24gDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRl
bWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnVuc2lnbmVkIGludCAoKnBvaW50
ZXIpKCBzbmRfcGNtX3QgKnBjbSwgdW5zaWduZWQgaW50IHVzZWRfc2l6ZSAp
DQpcc2VyaWVzIGRlZmF1bHQgDQogDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91
dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KcGNtDQpcc2VyaWVzIGRl
ZmF1bHQgDQogLSBwb2ludGVyIHRvIHBjbSBzdHJ1Y3R1cmUgDQpcbGF5b3V0
IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQp1c2VkX3NpemUNClxzZXJp
ZXMgZGVmYXVsdCANCiAtIHVzZWQgc2l6ZSBvZiBkbWEgYnVmZmVyIA0KXGxh
eW91dCBJdGVtaXplDQoNCnJldHVybnMgYWN0dWFsIGJ5dGUgcG9pbnRlciBm
cm9tIHBjbSBkaXJlY3Rpb24NClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVt
aXplDQoNCg0KXHNlcmllcyBib2xkIA0Kdm9pZCAoKmRtYSkoIHNuZF9wY21f
dCAqcGNtLCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGludCBv
ZmZzZSB0LA0KIHVuc2lnbmVkIGNoYXIgKnVzZXIsIHVuc2lnbmVkIGludCBj
b3VudCApDQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KcGNtDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2lu
dGVyIHRvIHBjbSBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpc
c2VyaWVzIGJvbGQgDQpidWZmZXIgLQ0KXHNlcmllcyBkZWZhdWx0IA0KIHBv
aW50ZXIgdG8gZG1hIGJ1ZmZlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCm9mZnNldA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gZGVz
dG9uYXRpb24vc291cmNlIG9mZnNldCBpbiBieXRlcyB0by9mcm9tIGRtYSBi
dWZmZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQp1
c2VyDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIGJ1ZmZlciBp
biB1c2VyIHNwYWNlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KY291bnQNClxzZXJpZXMgZGVmYXVsdCANCiAtIHRyYW5zZmVyIGNv
dW50IGluIGJ5dGVzIA0KXGxheW91dCBJdGVtaXplDQoNCmNvcGllcyBkYXRh
IGZyb20gb3IgdG8gdXNlciBzcGFjZSB0byBvciBmcm9tIGtlcm5lbCBkbWEg
YnVmZmVyDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxz
ZXJpZXMgYm9sZCANCnZvaWQgKCpkbWFfbW92ZSkoIHNuZF9wY21fdCAqcGNt
LCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGludCBkZXN0X29m
ZnNlDQp0LCB1bnNpZ25lZCBpbnQgc3JjX29mZnNldCwgdW5zaWduZWQgaW50
IGNvdW50ICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0K
DQpcc2VyaWVzIGJvbGQgDQpwY20NClxzZXJpZXMgZGVmYXVsdCANCiAtIHBv
aW50ZXIgdG8gcGNtIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoN
ClxzZXJpZXMgYm9sZCANCmJ1ZmZlcg0KXHNlcmllcyBkZWZhdWx0IA0KIC0g
cG9pbnRlciB0byBkbWEgYnVmZmVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0K
XHNlcmllcyBib2xkIA0KZGVzdF9vZmZzZXQNClxzZXJpZXMgZGVmYXVsdCAN
CiAtIGRlc3RvbmF0aW9uIG9mZnNldCBpbiBieXRlcyB0byBkbWEgYnVmZmVy
IA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0Kc3JjX29m
ZnNldA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gc291cmNlIG9mZnNldCBpbiBi
eXRlcyBmcm9tIGRtYSBidWZmZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpc
c2VyaWVzIGJvbGQgDQpjb3VudA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gdHJh
bnNmZXIgY291bnQgDQpcbGF5b3V0IEl0ZW1pemUNCg0KdHJhbnNmZXIgYXJl
YXMgY2FuIG5ldmVyIGJlIG92ZXJsYXBwZWQgDQpcZW5kX2RlZXBlciANClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnZvaWQgKCpkbWFf
bmV1dHJhbCkoIHNuZF9wY21fdCAqcGNtLCB1bnNpZ25lZCBjaGFyICpidWZm
ZXIsIHVuc2lnbmVkIG8gZmZzZXQsDQogdW5zaWduZWQgaW50IGNvdW50LCB1
bnNpZ25lZCBjaGFyIG5ldXRyYWxfYnl0ZSApDQpcYmVnaW5fZGVlcGVyIA0K
XGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KcGNtDQpcc2Vy
aWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIHBjbSBzdHJ1Y3R1cmUgDQpc
bGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpidWZmZXINClxz
ZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIgdG8gZG1hIGJ1ZmZlciANClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCm9mZnNldA0KXHNl
cmllcyBkZWZhdWx0IA0KIGRlc3RvbmF0aW9uIG9mZnNldCBpbiBieXRlcyB0
byBkbWEgYnVmZmVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBi
b2xkIA0KY291bnQNClxzZXJpZXMgZGVmYXVsdCANCiAtIGNvdW50IGluIGJ5
dGVzIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KbmV1
dHJhbF9ieXRlDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBuZXV0cmFsIGJ5dGUg
DQpcbGF5b3V0IEl0ZW1pemUNCg0KZmlsbHMgc3BlY2lmaWVkIGFyZWEgb2Yg
ZG1hIGJ1ZmZlciB3aXRoIG5ldXRyYWwgYnl0ZQ0KXGVuZF9kZWVwZXIgDQpc
ZW5kX2RlZXBlciANClxsYXlvdXQgU3RhbmRhcmQNCg0KVmFyaWFibGVzIGZy
b20gDQpcZW1waCBvbiANCnN0cnVjdCBzbmRfc3RydV9wY21faGFyZHdhcmUN
ClxlbXBoIGRlZmF1bHQgDQogd2hpY2ggc2hvdWxkIGJlIGZpbGxlZDoNClxs
YXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnByaXZhdGVfZGF0
YQ0KXHNlcmllcyBkZWZhdWx0IA0KIHNob3VsZCBjb250YWlucyBwb2ludGVy
IHRvIHByaXZhdGUgZGF0YSBmb3Igc3BlY2lmaWVkIGRpcmVjdGlvbiANClxi
ZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJv
bGQgDQpwcml2YXRlX2ZyZWUNClxzZXJpZXMgZGVmYXVsdCANCiAtIHNob3Vs
ZCBmcmVlIHByaXZhdGUgZGF0YQ0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IFN0
YW5kYXJkDQoNCkZ1bmN0aW9ucyBsaXN0Og0KXGxheW91dCBJdGVtaXplDQoN
Cg0KXHNlcmllcyBib2xkIA0Kdm9pZCBzbmRfcGNtX3BsYXliYWNrX2RtYSgg
c25kX3BjbV90ICpwY20sIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgdW5zaWdu
ZWQNCiBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBjaGFyICp1c2VyLCB1bnNpZ25l
ZCBpbnQgY291bnQgKQ0KXHNlcmllcyBkZWZhdWx0IA0KIA0KXGJlZ2luX2Rl
ZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQpzdGFuZGFyZCBmdW5jdGlvbiBm
b3IgcGxheWJhY2sgc25kX3BjbV9jaGFubmVsX3QgLT4gaHcuZG1hIA0KXGVu
ZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQp2b2lkIHNuZF9wY21fcGxheWJhY2tfZG1hX3VsYXcoIHNuZF9wY21fdCAq
cGNtLCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHVuc2lnbmVkDQogaW50IG9m
IGZzZXQsIHVuc2lnbmVkIGNoYXIgKnVzZXIsIHVuc2lnbmVkIGludCBjb3Vu
IHQgKQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQpzdGFu
ZGFyZCBmdW5jdGlvbiBmb3IgcGxheWJhY2sgc25kX3BjbV9jaGFubmVsX3Qg
LT4gaHcuZG1hIGlmIGhhcmR3YXJlIGRvZXNuJ3QNCiBzdXBwb3J0cyBNdS1M
YXcgY29tcHJlc3Npb24NClxlbmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXpl
DQoNCg0KXHNlcmllcyBib2xkIA0Kdm9pZCBzbmRfcGNtX3BsYXliYWNrX2Rt
YV9uZXV0cmFsKCBzbmRfcGNtX3QgKnBjbSwgdW5zaWduZWQgY2hhciAqYnVm
ZmVyLA0KIHVuc2lnbmVkIGludCBvZiB1bnNpZ25lZCBpbnQgY291bnQsIHVu
c2lnbmVkIGNoYXIgbmV1dHJhbF9ieXRlICkNClxiZWdpbl9kZWVwZXIgDQpc
bGF5b3V0IEl0ZW1pemUNCg0Kc3RhbmRhcmQgZnVuY3Rpb24gZm9yIHBsYXli
YWNrIHNuZF9wY21fY2hhbm5lbF90IC0+IGh3LmRtYV9uZXV0cmFsIA0KXGVu
ZF9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQp2b2lkIHNuZF9wY21fcmVjb3JkX2RtYSggc25kX3BjbV90ICpwY20sIHVu
c2lnbmVkIGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQNCiBpbnQgb2Zmc2V0LCB1
bnNpZ25lZCBjaGFyICp1c2VyLCB1bnNpZ25lZCBpbnQgY291bnQgKQ0KXHNl
cmllcyBkZWZhdWx0IA0KIA0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRl
bWl6ZQ0KDQpzdGFuZGFyZCBmdW5jdGlvbiBmb3IgcmVjb3JkIHNuZF9wY21f
Y2hhbm5lbF90IC0+IGh3LmRtYQ0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0IEl0
ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQp2b2lkIHNuZF9wY21fcmVjb3Jk
X2RtYV91bGF3KCBzbmRfcGNtX3QgKnBjbSwgdW5zaWduZWQgY2hhciAqYnVm
ZmVyLCB1bnNpZ25lZA0KIGludCBvZmZzZXQsIHVuc2lnbmVkIGNoYXIgKnVz
ZXIsIHVuc2lnbmVkIGludCBjb3VudCApDQpcYmVnaW5fZGVlcGVyIA0KXGxh
eW91dCBJdGVtaXplDQoNCnN0YW5kYXJkIGZ1bmN0aW9uIGZvciByZWNvcmQg
c25kX3BjbV9jaGFubmVsX3QgLT4gaHcuZG1hIGlmIGhhcmR3YXJlIGRvZXNu
J3QNCiBzdXBwb3J0cyBNdS1MYXcgY29tcHJlc3Npb24gDQpcZW5kX2RlZXBl
ciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCANCnZvaWQg
c25kX3BjbV9kbWFfbW92ZSggc25kX3BjbV90ICpwY20sIHVuc2lnbmVkIGNo
YXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50DQogZGVzdF9vZmZzZXQsIHVuc2ln
bmVkIGludCBzcmNfb2ZmcyBldCwgdW5zaWduZWQgaW50IGNvdW50ICkNClxi
ZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0Kc3RhbmRhcmQgZnVu
Y3Rpb24gZm9yIHNuZF9wY21fY2hhbm5lbF90IC0+IGh3LmRtYV9tb3ZlDQpc
ZW5kX2RlZXBlciANClxsYXlvdXQgU3RhbmRhcmQNCg0KRnVuY3Rpb25zIGZv
ciBkbWEgYWxsb2NhdGlvbjoNClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCmludCBzbmRfcGNtX2RtYV9hbGxvYyggc25kX3BjbV90ICpw
Y20sIGludCBkaXJlY3Rpb24sIGludCBkbWFudW0sIGNoYXIgKmlkZW50DQog
KQ0KXGJlZ2luX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCnBjbQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0
byBwY20gc3RydWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KZGlyZWN0aW9uDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwY20g
ZGlyZWN0aW9uIC0gDQpcc2VyaWVzIGJvbGQgDQpTTkRfUENNX1BMQVlCQUNL
DQpcc2VyaWVzIGRlZmF1bHQgDQogb3IgDQpcc2VyaWVzIGJvbGQgDQpTTkRf
UENNX1JFQ09SRA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KZG1hbnVtDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBkbWEgaW5kZXggDQpc
bGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppZGVudA0KXHNl
cmllcyBkZWZhdWx0IA0KIC0gaWRlbnRpZmljYXRpb24gZm9yIGRtYSBvd25l
ciANClxsYXlvdXQgSXRlbWl6ZQ0KDQphbGxvY2F0ZXMgcGNtIGRtYSBidWZm
ZXIgDQpcZW5kX2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCmludCBzbmRfcGNtX2RtYV9mcmVlKCBzbmRfcGNtX3QgKnBj
bSwgaW50IGRpcmVjdGlvbiwgaW50IGRtYW51bSApDQpcYmVnaW5fZGVlcGVy
IA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xkIA0KcGNtDQpc
c2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIHBjbSBzdHJ1Y3R1cmUg
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpkaXJlY3Rp
b24NClxzZXJpZXMgZGVmYXVsdCANCiAtIHBjbSBkaXJlY3Rpb24gDQpcbGF5
b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQpkbWFudW0NClxzZXJp
ZXMgZGVmYXVsdCANCiAtIGRtYSBpbmRleCANClxsYXlvdXQgSXRlbWl6ZQ0K
DQpmcmVlcyBwY20gZG1hIGJ1ZmZlciANClxlbmRfZGVlcGVyIA0KXGxheW91
dCBTdGFuZGFyZA0KDQpGdW5jdGlvbnMgZm9yIGFsbG9jYXRpb24gYW5kIHJl
Z2lzdGVyaW5nOg0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0Kc25kX3BjbV90ICpzbmRfcGNtX25ld19kZXZpY2UoIHNuZF9jYXJkX3Qg
KmNhcmQsIGNoYXIgKmlkICkNClxzZXJpZXMgZGVmYXVsdCANCiANClxiZWdp
bl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQg
DQpjYXJkDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRvIHNvdW5k
Y2FyZCBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVz
IGJvbGQgDQppZA0KXHNlcmllcyBkZWZhdWx0IA0KIC0gaWRlbnRpZmljYXRp
b24gZm9yIHBjbSBkZXZpY2UgKGZvciBleGFtcGxlICdBRDE4NDgnKSANClxl
bmRfZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmllcyBib2xk
IA0KaW50IHNuZF9wY21fZnJlZSggc25kX3BjbV90ICpwY20gKQ0KXGJlZ2lu
X2RlZXBlciANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJpZXMgYm9sZCAN
CnBjbQ0KXHNlcmllcyBkZWZhdWx0IA0KIC0gcG9pbnRlciB0byBwY20gc3Ry
dWN0dXJlIA0KXGxheW91dCBJdGVtaXplDQoNCmZyZWVzIHBjbSBzdHJ1Y3R1
cmUgYW5kIGFzc29jaWF0ZWQgcHJpdmF0ZSBkYXRhIA0KXGVuZF9kZWVwZXIg
DQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25k
X3BjbV9yZWdpc3Rlciggc25kX3BjbV90ICpwY20sIGludCBwY21fZGV2aWNl
ICkNClxiZWdpbl9kZWVwZXIgDQpcbGF5b3V0IEl0ZW1pemUNCg0KDQpcc2Vy
aWVzIGJvbGQgDQpwY20NClxzZXJpZXMgZGVmYXVsdCANCiAtIHBvaW50ZXIg
dG8gcGNtIHN0cnVjdHVyZSANClxsYXlvdXQgSXRlbWl6ZQ0KDQoNClxzZXJp
ZXMgYm9sZCANCnBjbV9kZXZpY2UNClxzZXJpZXMgZGVmYXVsdCANCiAtIG51
bWJlciBvZiBwY20gZGV2aWNlICgwLTMpIA0KXGxheW91dCBJdGVtaXplDQoN
CnJlZ2lzdGVycyBwY20gZGV2aWNlIA0KXGVuZF9kZWVwZXIgDQpcbGF5b3V0
IEl0ZW1pemUNCg0KDQpcc2VyaWVzIGJvbGQgDQppbnQgc25kX3BjbV91bnJl
Z2lzdGVyKCBzbmRfcGNtX3QgKnBjbSApDQpcc2VyaWVzIGRlZmF1bHQgDQog
DQpcYmVnaW5fZGVlcGVyIA0KXGxheW91dCBJdGVtaXplDQoNCg0KXHNlcmll
cyBib2xkIA0KcGNtDQpcc2VyaWVzIGRlZmF1bHQgDQogLSBwb2ludGVyIHRv
IHBjbSBzdHJ1Y3R1cmUgDQpcbGF5b3V0IEl0ZW1pemUNCg0KdW5yZWdpc3Rl
cnMgYW5kIGZyZWVzIHBjbSBzdHJ1Y3R1cmUNClxlbmRfZGVlcGVyIA0KXGxh
eW91dCBTdWJzZWN0aW9uDQoNCkV4YW1wbGVzDQpcbGF5b3V0IENvZGUNCg0K
c3RhdGljIHN0cnVjdCBzbmRfc3RydV9wY21faGFyZHdhcmUgc25kX2VzMTY4
OF9wbGF5YmFjayA9IA0KXG5ld2xpbmUgDQp7IA0KXG5ld2xpbmUgDQogDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpOVUxMLCAvKiBwcml2YXRl
IGRhdGEgKi8gDQpcbmV3bGluZSANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KIA0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCk5VTEwsIC8qIHByaXZhdGVfZnJlZSAqLyANClxuZXdsaW5l
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KU05EX1BDTV9IV19BVVRPRE1BLCAvKiBmbGFn
cyAqLyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KU05EX1BDTV9GTVRf
VTggfCBTTkRfUENNX0ZNVF9TMTZfTEUsIC8qIGZvcm1hdHMgKi8gDQpcbmV3
bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCjAsIC8qIGFsaWduIHZhbHVlICovIA0K
XG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQo2LCAvKiBtaW5pbWFsIGZyYWdt
ZW50ICovIA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCjQwMDAsIC8qIG1pbi4NCiByYXRlICovIA0KXG5ld2xpbmUg
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCjQ4MDAwLCAv
KiBtYXguDQogcmF0ZSAqLyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoyLCAvKiBtYXguDQogdm9pY2VzICovIA0K
XG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CnNuZF9lczE2ODhfcGxheWJhY2tfb3BlbiwgDQpcbmV3bGluZSANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc25kX2VzMTY4OF9wbGF5
YmFja19jbG9zZSwgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0Kc25kX2VzMTY4OF9wbGF5YmFja19jb21wdXRlX3Jh
dGUsIA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCnNuZF9lczE2ODhfcGxheWJhY2tfcHJlcGFyZSwgDQpcbmV3bGlu
ZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc25kX2Vz
MTY4OF9wbGF5YmFja190cmlnZ2VyLCANClxuZXdsaW5lIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpzbmRfZXMxNjg4X3BsYXliYWNr
X3BvaW50ZXIsIA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCnNuZF9wY21fcGxheWJhY2tfZG1hX3VsYXcsIA0KXG5l
d2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnNu
ZF9wY21fZG1hX21vdmUsIA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIHNuZF9w
Y21fcGxheWJhY2tfZG1hX25ldXRyYWwgDQpcbmV3bGluZSANCn07DQpcbmV3
bGluZSANCg0KXG5ld2xpbmUgDQogc3RhdGljIHZvaWQgc25kX2VzMTY4OF9m
cmVlKCB2b2lkICpwcml2YXRlX2RhdGEgKSANClxuZXdsaW5lIA0KeyANClxu
ZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpz
bmRfZnJlZSggcHJpdmF0ZV9kYXRhLCBzaXplb2YoIGVzMTY4OF90ICkgKTsg
DQpcbmV3bGluZSANCn0NClxuZXdsaW5lIA0KDQpcbmV3bGluZSANCnNuZF9w
Y21fdCAqc25kX2VzMTY4OF9uZXdfZGV2aWNlKCBzbmRfY2FyZF90ICpjYXJk
LCANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnVuc2ln
bmVkIHNob3J0IHBvcnQsIA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KdW5zaWduZWQgc2hvcnQgbXB1X3BvcnQsIA0KXG5ld2xpbmUg
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KdW5zaWduZWQgc2hvcnQgaXJx
bnVtLCANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnVu
c2lnbmVkIHNob3J0IG1wdV9pcnFudW0sIA0KXG5ld2xpbmUgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KdW5zaWduZWQgc2hvcnQgZG1hOG51bSwgDQpc
bmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQp1bnNpZ25lZCBz
aG9ydCBoYXJkd2FyZSApIA0KXG5ld2xpbmUgDQp7IA0KXG5ld2xpbmUgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnNuZF9wY21fdCAq
cGNtOyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQplczE2ODhfdCAqY29kZWM7DQpcbmV3bGluZSANCiANClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KcGNtID0gc25kX3BjbV9uZXdfZGV2aWNlKCBjYXJkLCAiRVN4Njg4IiAp
OyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQppZiAoICFwY20gKSByZXR1cm4gDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCk5VTEw7DQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpjb2RlYyA9IChlczE2
ODhfdCAqKXNuZF9tYWxsb2MoIHNpemVvZiggZXMxNjg4X3QgKSApOyANClxu
ZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpp
ZiAoICFjb2RlYyApIHJldHVybiBOVUxMOyANClxuZXdsaW5lIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQptZW1zZXQoIGNvZGVjLCAw
LCBzaXplb2YoIGVzMTY4OF90ICkgKTsgDQpcbmV3bGluZSANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc25kX3NwaW5fcHJlcGFyZSgg
Y29kZWMsIHJlZyApOyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQpzbmRfc3Bpbl9wcmVwYXJlKCBjb2RlYywgbWl4
ZXIgKTsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KY29kZWMgLT4gcGNtID0gcGNtOyANClxuZXdsaW5lIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpjb2RlYyAtPiBjYXJk
ID0gcGNtIC0+IGNhcmQ7IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2Vw
YXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCmNvZGVjIC0+IHBvcnQgPSBwb3J0OyANClxu
ZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3Rl
ZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpj
b2RlYyAtPiBtcHVfcG9ydCA9IG1wdV9wb3J0OyANClxuZXdsaW5lIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpjb2RlYyAtPiBpcnFu
dW0gPSBpcnFudW07DQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KY29kZWMgLT4gaXJxID0gcGNtIC0+IGNhcmQgLT4g
aXJxc1sgaXJxbnVtIF0gLT4gaXJxOyANClxuZXdsaW5lIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQpjb2RlYyAtPiBtcHVfaXJxbnVt
ID0gbXB1X2lycW51bTsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KaWYgKCBtcHVfaXJxbnVtICE9IFNORF9JUlFf
RElTQUJMRSApIA0KXG5ld2xpbmUgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCiANClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KIA0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQogDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCmNv
ZGVjIC0+IG1wdV9pcnEgPSBwY20gLT4gY2FyZCAtPiBpcnFzWyBtcHVfaXJx
bnVtIF0gLT4gaXJxOyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRf
c2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQpjb2RlYyAtPiBkbWE4bnVtID0gZG1hOG51bTsg
DQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KY29kZWMgLT4gZG1hOCA9IHBjbSAtPiBjYXJkIC0+IGRtYXNbIGRtYThu
dW0gXSAtPiBkbWE7IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCmNvZGVjIC0+IGhhcmR3YXJlID0gaGFyZHdhcmU7
IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJv
dGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoN
Clxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRv
ciANCm1lbWNweSggJnBjbSAtPiBwbGF5YmFjay5odywgJnNuZF9lczE2ODhf
cGxheWJhY2ssIHNpemVvZiggc25kX2VzMTY4OF8gcGxheWJhY2sNCiApKTsg
DQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQogbWVtY3B5KCAmcGNtIC0+IHJlY29y
ZC5odywgJnNuZF9lczE2ODhfcmVjb3JkLCBzaXplb2YoIHNuZF9lczE2ODhf
cmVjbyByZA0KICkgKTsgDQpcbmV3bGluZSANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KcGNtIC0+IHByaXZhdGVfZGF0YSA9IGNvZGVj
OyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQpwY20gLT4gcHJpdmF0ZV9mcmVlID0gc25kX2VzMTY4OF9mcmVlOyAN
ClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCnBjbSAtPiBp
bmZvX2ZsYWdzID0gU05EX1BDTV9JTkZPX0NPREVDIHwgU05EX1BDTV9JTkZP
X01NQVAgfCBTTkRfUENNX0lORk9fUExBWUJBDQpDSyB8IFNORF9QQ01fSU5G
T19SRUNPUkQ7IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0Kc3ByaW50ZiggcGNt
IC0+IG5hbWUsICJFUyVzNjg4IHJldiAlaSIsIGNvZGVjIC0+IGhhcmR3YXJl
ID09IEVTMTY4OF9IV182ODgNCiA/IiIgOiAiMSIsIGNvZGVjIC0+IHZlcnNp
b24gJiAweDBmICk7IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCmlmICggc25kX2VzMTY4OF9wcm9iZSggcGNtICkg
PCAwICkgeyANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVj
dGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
CnNuZF9wY21fZnJlZSggcGNtICk7IA0KXG5ld2xpbmUgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHBy
b3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KcmV0dXJuIE5VTEw7IA0KXG5ld2xpbmUgDQoNClxw
cm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCn0gDQpcbmV3bGluZSAN
Cg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJh
dG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9z
ZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KcmV0dXJuIHBj
bTsgDQpcbmV3bGluZSANCn0NClxsYXlvdXQgU3RhbmRhcmQNCg0KUENNIGRl
dmljZSByZWdpc3RlcmluZzoNClxsYXlvdXQgQ29kZQ0KDQpzbmRfY2FyZF90
ICpjYXJkOyBzbmRfcGNtX3QgKnBjbTsNClxuZXdsaW5lIA0KcGNtID0gc25k
X2VzMTY4OF9uZXdfZGV2aWNlKCBjYXJkLCBwb3J0LCBtcHVfcG9ydCwgaXJx
bnVtLCBtcHVfaXJxbnVtLCBkbWE4bnVtDQogLCBFUzE2ODhfSFdfQVVUTyAp
OyANClxuZXdsaW5lIA0KIGlmICggIXBjbSApIHJldHVybiBOVUxMOyANClxu
ZXdsaW5lIA0KLi4uDQogDQpcbmV3bGluZSANCmlmICggc25kX3BjbV9yZWdp
c3RlciggcGNtLCAwICkgKSANClxuZXdsaW5lIA0KeyANClxuZXdsaW5lIA0K
DQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0
b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3Nl
cGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0
ZWRfc2VwYXJhdG9yIA0KLi4uDQogdW5yZWdpc3RlciBhbHJlYWR5IHJlZ2lz
dGVyZWQgZGV2aWNlcyAuLi4NCiANClxuZXdsaW5lIA0KDQpccHJvdGVjdGVk
X3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90
ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0Kc25kX3BjbV9mcmVlKCBwY20gKTsgDQpcbmV3bGluZSANCg0KXHByb3Rl
Y3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpc
cHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBhcmF0b3Ig
DQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KDQpccHJvdGVjdGVkX3NlcGFy
YXRvciANCnNuZF9jYXJkX2ZyZWUoIGNhcmQgKTsgDQpcbmV3bGluZSANCg0K
XHByb3RlY3RlZF9zZXBhcmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9y
IA0KDQpccHJvdGVjdGVkX3NlcGFyYXRvciANCg0KXHByb3RlY3RlZF9zZXBh
cmF0b3IgDQoNClxwcm90ZWN0ZWRfc2VwYXJhdG9yIA0KcmV0dXJuIC1FTlhJ
TzsgDQpcbmV3bGluZSANCn0gDQpcbmV3bGluZSANCi4uLg0KIA0KXG5ld2xp
bmUgDQpzbmRfcGNtX3VucmVnaXN0ZXIoIHBjbSApOw0KXHRoZV9lbmQNCg==
---559023410-851401618-911618144=:9662--

