Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Sep 2019 21:28:51 +0200
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Randall Stewart <rrs@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r352657 - in head/sys: conf kern modules/tcp modules/tcp/bbr netinet netinet/tcp_stacks sys
Message-ID:  <20190924212918.01e52920@thor.intern.walstatt.dynvpn.de>
In-Reply-To: <201909241818.x8OIIBNr039667@repo.freebsd.org>
References:  <201909241818.x8OIIBNr039667@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMjU2DQoNCkFtIFR1
ZSwgMjQgU2VwIDIwMTkgMTg6MTg6MTEgKzAwMDAgKFVUQykNClJhbmRhbGwgU3Rld2FydCA8cnJz
QEZyZWVCU0Qub3JnPiBzY2hyaWViOg0KDQo+IEF1dGhvcjogcnJzDQo+IERhdGU6IFR1ZSBTZXAg
MjQgMTg6MTg6MTEgMjAxOQ0KPiBOZXcgUmV2aXNpb246IDM1MjY1Nw0KPiBVUkw6IGh0dHBzOi8v
c3Zud2ViLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzM1MjY1Nw0KPiANCj4gTG9nOg0KPiAg
IFRoaXMgY29tbWl0IGFkZHMgQkJSIChCb3R0bGVuZWNrIEJhbmR3aWR0aCBhbmQgUlRUKSBjb25n
ZXN0aW9uIGNvbnRyb2wuIFRoaXMNCj4gICBpcyBhIGNvbXBsZXRlbHkgc2VwYXJhdGUgVENQIHN0
YWNrICh0Y3BfYmJyLmtvKSB0aGF0IHdpbGwgYmUgYnVpbHQgb25seSBpZg0KPiAgIHlvdSBhZGQg
dGhlIG1ha2Ugb3B0aW9ucyBXSVRIX0VYVFJBX1RDUF9TVEFDS1M9MSBhbmQgYWxzbyBpbmNsdWRl
IHRoZSBvcHRpb24NCj4gICBUQ1BIUFRTLiBZb3UgY2FuIGFsc28gaW5jbHVkZSB0aGUgUkFURUxJ
TUlUIG9wdGlvbiBpZiB5b3UgaGF2ZSBhIE5JQyBpbnRlcmZhY2UgdGhhdA0KPiAgIHN1cHBvcnRz
IGhhcmR3YXJlIHBhY2luZywgQkJSIHVuZGVyc3RhbmRzIGhvdyB0byB1c2Ugc3VjaCBhIGZlYXR1
cmUuDQo+ICAgDQo+ICAgTm90ZSB0aGF0IHRoaXMgY29tbWl0IGFsc28gYWRkcyBpbiBhIGdlbmVy
YWwgcHVycG9zZSB0aW1lLWZpbHRlciB3aGljaA0KPiAgIGFsbG93cyB5b3UgdG8gaGF2ZSBhIG1p
bi1maWx0ZXIgb3IgbWF4LWZpbHRlci4gQSBmaWx0ZXIgYWxsb3dzIHlvdSB0bw0KPiAgIGhhdmUg
YSBsb3cgKG9yIGhpZ2gpIHZhbHVlIGZvciBzb21lIHBlcmlvZCBvZiB0aW1lIGFuZCBkZWdyYWRl
IHNsb3dseQ0KPiAgIHRvIGFub3RoZXIgdmFsdWUgaGFzIHRpbWUgcGFzc2VzLiBZb3UgY2FuIGZp
bmQgb3V0IHRoZSBkZXRhaWxzIG9mDQo+ICAgQkJSIGJ5IGxvb2tpbmcgYXQgdGhlIG9yaWdpbmFs
IHBhcGVyIGF0Og0KPiAgIA0KPiAgIGh0dHBzOi8vcXVldWUuYWNtLm9yZy9kZXRhaWwuY2ZtP2lk
PTMwMjIxODQNCj4gICANCj4gICBvciBjb25zdWx0IG1hbnkgb3RoZXIgd2ViIHJlc291cmNlcyB5
b3UgY2FuIGZpbmQgb24gdGhlIHdlYg0KPiAgIHJlZmVyZW5jZWQgYnkgIkJCUiBjb25nZXN0aW9u
IGNvbnRyb2wiLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdA0KPiAgIEJCUnYxICh3aGljaCB0aGlz
IGlzKSBkb2VzIHRlbmQgdG8gdW5mYWlybmVzcyBpbiBjYXNlcyBvZiBzbWFsbA0KPiAgIGJ1ZmZl
cmVkIHBhdGhzLCBhbmQgaXQgd2lsbCB1c3VhbGx5IGdldCBsZXNzIGJhbmR3aWR0aCBpbiB0aGUg
Y2FzZQ0KPiAgIG9mIGxhcmdlIEJEUCBwYXRocyh3aGVuIGNvbXBldGluZyB3aXRoIG5ldy1yZW5v
IG9yIGN1YmljIGZsb3dzKS4gQkJSDQo+ICAgaXMgc3RpbGwgYW4gYWN0aXZlIHJlc2VhcmNoIGFy
ZWEgYW5kIHdlIGRvIHBsYW4gb24gIGltcGxlbWVudGluZyBWMg0KPiAgIG9mIEJCUiB0byBzZWUg
aWYgaXQgaXMgYW4gaW1wcm92ZW1lbnQgb3ZlciBWMS4NCj4gICANCj4gICBTcG9uc29yZWQgYnk6
CU5ldGZsaXggSW5jLg0KPiAgIERpZmZlcmVudGlhbCBSZXZpc2lvbjoJaHR0cHM6Ly9yZXZpZXdz
LmZyZWVic2Qub3JnL0QyMTU4Mg0KPiANCj4gQWRkZWQ6DQo+ICAgaGVhZC9zeXMva2Vybi9zdWJy
X2ZpbHRlci5jICAgKGNvbnRlbnRzLCBwcm9wcyBjaGFuZ2VkKQ0KPiAgIGhlYWQvc3lzL21vZHVs
ZXMvdGNwL2Jici8NCj4gICBoZWFkL3N5cy9tb2R1bGVzL3RjcC9iYnIvTWFrZWZpbGUgICAoY29u
dGVudHMsIHByb3BzIGNoYW5nZWQpDQo+ICAgaGVhZC9zeXMvbmV0aW5ldC90Y3Bfc3RhY2tzL2Ji
ci5jICAgKGNvbnRlbnRzLCBwcm9wcyBjaGFuZ2VkKQ0KPiAgIGhlYWQvc3lzL25ldGluZXQvdGNw
X3N0YWNrcy90Y3BfYmJyLmggICAoY29udGVudHMsIHByb3BzIGNoYW5nZWQpDQo+ICAgaGVhZC9z
eXMvc3lzL3RpbV9maWx0ZXIuaCAgIChjb250ZW50cywgcHJvcHMgY2hhbmdlZCkNCj4gTW9kaWZp
ZWQ6DQo+ICAgaGVhZC9zeXMvY29uZi9maWxlcw0KPiAgIGhlYWQvc3lzL21vZHVsZXMvdGNwL01h
a2VmaWxlDQo+ICAgaGVhZC9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYw0KPiAgIGhlYWQvc3lzL25l
dGluZXQvaXBfdmFyLmgNCj4gICBoZWFkL3N5cy9uZXRpbmV0L3RjcC5oDQo+ICAgaGVhZC9zeXMv
bmV0aW5ldC90Y3Bfc3RhY2tzL3JhY2suYw0KPiAgIGhlYWQvc3lzL25ldGluZXQvdGNwX3N0YWNr
cy9yYWNrX2Jicl9jb21tb24uYw0KPiAgIGhlYWQvc3lzL25ldGluZXQvdGNwX3N0YWNrcy9yYWNr
X2Jicl9jb21tb24uaA0KPiAgIGhlYWQvc3lzL25ldGluZXQvdGNwX3N0YWNrcy9zYWNrX2ZpbHRl
ci5jDQo+ICAgaGVhZC9zeXMvbmV0aW5ldC90Y3Bfc3RhY2tzL3NhY2tfZmlsdGVyLmgNCj4gICBo
ZWFkL3N5cy9uZXRpbmV0L3RjcF9zdGFja3MvdGNwX3JhY2suaA0KPiAgIGhlYWQvc3lzL3N5cy9t
YnVmLmgNCj4gDQo+IE1vZGlmaWVkOiBoZWFkL3N5cy9jb25mL2ZpbGVzDQo+ID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KPiAtLS0gaGVhZC9zeXMvY29uZi9maWxlcwlUdWUgU2VwIDI0IDE3OjA2OjMy
IDIwMTkJKHIzNTI2NTYpDQo+ICsrKyBoZWFkL3N5cy9jb25mL2ZpbGVzCVR1ZSBTZXAgMjQgMTg6
MTg6MTEgMjAxOQkocjM1MjY1NykNCj4gQEAgLTM4MDgsNiArMzgwOCw3IEBAIGtlcm4vc3Vicl9l
cG9jaC5jCQlzdGFuZGFyZA0KPiAga2Vybi9zdWJyX2V2ZW50aGFuZGxlci5jCXN0YW5kYXJkDQo+
ICBrZXJuL3N1YnJfZmF0dGltZS5jCQlzdGFuZGFyZA0KPiAga2Vybi9zdWJyX2Zpcm13YXJlLmMJ
CW9wdGlvbmFsIGZpcm13YXJlDQo+ICtrZXJuL3N1YnJfZmlsdGVyLmMgICAgICAgICAgICAgIHN0
YW5kYXJkDQo+ICBrZXJuL3N1YnJfZ3Rhc2txdWV1ZS5jCQlzdGFuZGFyZA0KPiAga2Vybi9zdWJy
X2hhc2guYwkJc3RhbmRhcmQNCj4gIGtlcm4vc3Vicl9oaW50cy5jCQlzdGFuZGFyZA0KPiANCj4g
QWRkZWQ6IGhlYWQvc3lzL2tlcm4vc3Vicl9maWx0ZXIuYw0KPiA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCj4gLS0tIC9kZXYvbnVsbAkwMDowMDowMCAxOTcwCShlbXB0eSwgYmVjYXVzZSBmaWxlIGlz
IG5ld2x5IGFkZGVkKQ0KPiArKysgaGVhZC9zeXMva2Vybi9zdWJyX2ZpbHRlci5jCVR1ZSBTZXAg
MjQgMTg6MTg6MTEgMjAxOQkocjM1MjY1NykNCj4gQEAgLTAsMCArMSw0ODIgQEANCj4gKy8qLQ0K
PiArICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMTkgTmV0ZmxpeCwgSW5jLg0KPiArICogQWxsIHJp
Z2h0cyByZXNlcnZlZC4NCj4gKyAqDQo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCj4gKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0K
PiArICogYXJlIG1ldDoNCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ICsgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodA0KPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KPiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCj4gKyAq
DQo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EDQo+ICsgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCj4gKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFDQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQo+ICsgKiBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTA0K
PiArICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMNCj4gKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KPiArICogSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QNCj4gKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkNCj4gKyAqIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCj4g
KyAqIFNVQ0ggREFNQUdFLg0KPiArICovDQo+ICsNCj4gKy8qDQo+ICsgKiBBdXRob3I6IFJhbmRh
bGwgU3Rld2FydCA8cnJzQG5ldGZsaXguY29tPg0KPiArICovDQo+ICsjaW5jbHVkZSA8c3lzL2Nk
ZWZzLmg+DQo+ICtfX0ZCU0RJRCgiJEZyZWVCU0QkIik7DQo+ICsjaW5jbHVkZSA8c3lzL3R5cGVz
Lmg+DQo+ICsjaW5jbHVkZSA8c3lzL3RpbWUuaD4NCj4gKyNpbmNsdWRlIDxzeXMvZXJybm8uaD4N
Cj4gKyNpbmNsdWRlIDxzeXMvdGltX2ZpbHRlci5oPg0KPiArDQo+ICt2b2lkDQo+ICtyZXNldF90
aW1lKHN0cnVjdCB0aW1lX2ZpbHRlciAqdGYsIHVpbnQzMl90IHRpbWVfbGVuKQ0KPiArew0KPiAr
CXRmLT5jdXJfdGltZV9saW1pdCA9IHRpbWVfbGVuOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICty
ZXNldF90aW1lX3NtYWxsKHN0cnVjdCB0aW1lX2ZpbHRlcl9zbWFsbCAqdGYsIHVpbnQzMl90IHRp
bWVfbGVuKQ0KPiArew0KPiArCXRmLT5jdXJfdGltZV9saW1pdCA9IHRpbWVfbGVuOw0KPiArfQ0K
PiArDQo+ICsvKg0KPiArICogQSB0aW1lIGZpbHRlciBjYW4gYmUgYSBmaWx0ZXIgZm9yIE1JTiBv
ciBNQVguIA0KPiArICogWW91IGNhbGwgc2V0dXBfdGltZV9maWx0ZXIoKSB3aXRoIHRoZSBwb2lu
dGVyIHRvDQo+ICsgKiB0aGUgZmlsdGVyIHN0cnVjdHVyZSwgdGhlIHR5cGUgKEZJTFRFUl9UWVBF
X01JTi9NQVgpIGFuZA0KPiArICogdGhlIHRpbWUgbGVuZ3RoLiBZb3UgY2FuIG9wdGlvbmFsbHkg
cmVzZXQgdGhlIHRpbWUgbGVuZ3RoDQo+ICsgKiBsYXRlciB3aXRoIHJlc2V0X3RpbWUoKS4NCj4g
KyAqDQo+ICsgKiBZb3UgZ2VuZXJhbGx5IGNhbGwgYXBwbHlfZmlsdGVyX3h4eCgpIHRvIGFwcGx5
IHRoZSBuZXcgdmFsdWUNCj4gKyAqIHRvIHRoZSBmaWx0ZXIuIFlvdSBhbHNvIHByb3ZpZGUgYSB0
aW1lIChub3cpLiBUaGUgZmlsdGVyIHdpbGwNCj4gKyAqIGFnZSBvdXQgZW50cmllcyBiYXNlZCBv
biB0aGUgdGltZSBub3cgYW5kIHlvdXIgdGltZSBsaW1pdA0KPiArICogc28gdGhhdCB5b3UgYXJl
IGFsd2F5cyBtYWludGFpbmluZyB0aGUgbWluIG9yIG1heCBpbiB0aGF0DQo+ICsgKiB3aW5kb3cg
b2YgdGltZS4gVGltZSBpcyBhIHJlbGF0aXZlIHRoaW5nLCBpdCBtaWdodCBiZSB0aWNrcw0KPiAr
ICogaW4gbWlsbGlzZWNvbmRzLCBpdCBtaWdodCBiZSByb3VuZCB0cmlwIHRpbWVzLCBpdHMgcmVh
bGx5DQo+ICsgKiB1cCB0byB5b3UgdG8gZGVjaWRlIHdoYXQgaXQgaXMuDQo+ICsgKg0KPiArICog
VG8gYWNjZXNzIHRoZSBjdXJyZW50IGZsaXRlcmVkIHZhbHVlIHlvdSBjYW4gdXNlIHRoZSBtYWNy
bw0KPiArICogZ2V0X2ZpbHRlcl92YWx1ZSgpIHdoaWNoIHJldHVybnMgdGhlIGNvcnJlY3QgZW50
cnkgdGhhdA0KPiArICogaGFzIHRoZSAiY3VycmVudCIgdmFsdWUgaW4gdGhlIGZpbHRlci4NCj4g
KyAqDQo+ICsgKiBPbmUgdGhpbmcgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaXMgYSBzaW5nbGUgYXBw
bHlfZmlsdGVyKCkuIEJ1dA0KPiArICogdGhpcyBtZWFudCB0aGF0IHdlIHRoZW4gaGFkIHRvIHN0
b3JlIHRoZSB0eXBlIG9mIGZpbHRlciBpbg0KPiArICogdGhlIHRpbWVfZmlsdGVyIHN0cnVjdHVy
ZS4gSW4gb3JkZXIgdG8ga2VlcCBpdCBhdCBhIGNhY2hlDQo+ICsgKiBsaW5lIHNpemUgSSBzcGxp
dCBpdCB0byB0d28gZnVuY3Rpb25zLiANCj4gKyAqDQo+ICsgKi8NCj4gK2ludA0KPiArc2V0dXBf
dGltZV9maWx0ZXIoc3RydWN0IHRpbWVfZmlsdGVyICp0ZiwgaW50IGZpbF90eXBlLCB1aW50MzJf
dCB0aW1lX2xlbikNCj4gK3sNCj4gKwl1aW50NjRfdCBzZXRfdmFsOw0KPiArCWludCBpOw0KPiAr
CQ0KPiArCS8qIA0KPiArCSAqIFlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIGEgTUlOIG9yIE1BWCBm
aWx0ZXIsDQo+ICsJICogdGhvdWdoIGl0cyB1cCB0byB0aGUgdXNlciB0byB1c2UgdGhlIGNvcnJl
Y3QNCj4gKwkgKiBhcHBseS4NCj4gKwkgKi8NCj4gKwlpZiAoKGZpbF90eXBlICE9IEZJTFRFUl9U
WVBFX01JTikgJiYNCj4gKwkgICAgKGZpbF90eXBlICE9IEZJTFRFUl9UWVBFX01BWCkpDQo+ICsJ
CXJldHVybihFSU5WQUwpOw0KPiArDQo+ICsJaWYgKHRpbWVfbGVuIDwgTlVNX0ZJTFRFUl9FTlRS
SUVTKQ0KPiArCQlyZXR1cm4oRUlOVkFMKTsNCj4gKwkJICAgICAgIA0KPiArCWlmIChmaWxfdHlw
ZSA9PSBGSUxURVJfVFlQRV9NSU4pDQo+ICsJCXNldF92YWwgPSAweGZmZmZmZmZmZmZmZmZmZmY7
DQo+ICsJZWxzZQ0KPiArCQlzZXRfdmFsID0gMDsNCj4gKw0KPiArCWZvcihpPTA7IGk8TlVNX0ZJ
TFRFUl9FTlRSSUVTOyBpKyspIHsNCj4gKwkJdGYtPmVudHJpZXNbaV0udmFsdWUgPSBzZXRfdmFs
Ow0KPiArCQl0Zi0+ZW50cmllc1tpXS50aW1lX3VwID0gMDsNCj4gKwl9DQo+ICsJdGYtPmN1cl90
aW1lX2xpbWl0ID0gdGltZV9sZW47DQo+ICsJcmV0dXJuKDApOw0KPiArfQ0KPiArDQo+ICtpbnQN
Cj4gK3NldHVwX3RpbWVfZmlsdGVyX3NtYWxsKHN0cnVjdCB0aW1lX2ZpbHRlcl9zbWFsbCAqdGYs
IGludCBmaWxfdHlwZSwgdWludDMyX3QgdGltZV9sZW4pDQo+ICt7DQo+ICsJdWludDMyX3Qgc2V0
X3ZhbDsNCj4gKwlpbnQgaTsNCj4gKwkNCj4gKwkvKiANCj4gKwkgKiBZb3UgbXVzdCBzcGVjaWZ5
IGVpdGhlciBhIE1JTiBvciBNQVggZmlsdGVyLA0KPiArCSAqIHRob3VnaCBpdHMgdXAgdG8gdGhl
IHVzZXIgdG8gdXNlIHRoZSBjb3JyZWN0DQo+ICsJICogYXBwbHkuDQo+ICsJICovDQo+ICsJaWYg
KChmaWxfdHlwZSAhPSBGSUxURVJfVFlQRV9NSU4pICYmDQo+ICsJICAgIChmaWxfdHlwZSAhPSBG
SUxURVJfVFlQRV9NQVgpKQ0KPiArCQlyZXR1cm4oRUlOVkFMKTsNCj4gKw0KPiArCWlmICh0aW1l
X2xlbiA8IE5VTV9GSUxURVJfRU5UUklFUykNCj4gKwkJcmV0dXJuKEVJTlZBTCk7DQo+ICsJCSAg
ICAgICANCj4gKwlpZiAoZmlsX3R5cGUgPT0gRklMVEVSX1RZUEVfTUlOKQ0KPiArCQlzZXRfdmFs
ID0gMHhmZmZmZmZmZjsNCj4gKwllbHNlDQo+ICsJCXNldF92YWwgPSAwOw0KPiArDQo+ICsJZm9y
KGk9MDsgaTxOVU1fRklMVEVSX0VOVFJJRVM7IGkrKykgew0KPiArCQl0Zi0+ZW50cmllc1tpXS52
YWx1ZSA9IHNldF92YWw7DQo+ICsJCXRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPSAwOw0KPiArCX0N
Cj4gKwl0Zi0+Y3VyX3RpbWVfbGltaXQgPSB0aW1lX2xlbjsNCj4gKwlyZXR1cm4oMCk7DQo+ICt9
DQo+ICsNCj4gKw0KPiArc3RhdGljIHZvaWQNCj4gK2NoZWNrX3VwZGF0ZV90aW1lcyhzdHJ1Y3Qg
dGltZV9maWx0ZXIgKnRmLCB1aW50NjRfdCB2YWx1ZSwgdWludDMyX3Qgbm93KQ0KPiArew0KPiAr
CWludCBpLCBqLCBmbmQ7DQo+ICsJdWludDMyX3QgdGltOw0KPiArCXVpbnQzMl90IHRpbWVfbGlt
aXQ7DQo+ICsJZm9yKGk9MDsgaTwoTlVNX0ZJTFRFUl9FTlRSSUVTLTEpOyBpKyspIHsNCj4gKwkJ
dGltID0gbm93IC0gdGYtPmVudHJpZXNbaV0udGltZV91cDsNCj4gKwkJdGltZV9saW1pdCA9ICh0
Zi0+Y3VyX3RpbWVfbGltaXQgKg0KPiAoTlVNX0ZJTFRFUl9FTlRSSUVTLWkpKS9OVU1fRklMVEVS
X0VOVFJJRVM7DQo+ICsJCWlmICh0aW0gPj0gdGltZV9saW1pdCkgew0KPiArCQkJZm5kID0gMDsN
Cj4gKwkJCWZvcihqPShpKzEpOyBqPE5VTV9GSUxURVJfRU5UUklFUzsgaisrKSB7DQo+ICsJCQkJ
aWYgKHRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPCB0Zi0+ZW50cmllc1tqXS50aW1lX3VwKSB7DQo+
ICsJCQkJCXRmLT5lbnRyaWVzW2ldLnZhbHVlID0gdGYtPmVudHJpZXNbal0udmFsdWU7DQo+ICsJ
CQkJCXRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPSB0Zi0+ZW50cmllc1tqXS50aW1lX3VwOw0KPiAr
CQkJCQlmbmQgPSAxOw0KPiArCQkJCQlicmVhazsNCj4gKwkJCQl9DQo+ICsJCQl9DQo+ICsJCQlp
ZiAoZm5kID09IDApIHsNCj4gKwkJCQkvKiBOb3RoaW5nIGJ1dCB0aGUgc2FtZSBvbGQgZW50cnkg
Ki8NCj4gKwkJCQl0Zi0+ZW50cmllc1tpXS52YWx1ZSA9IHZhbHVlOw0KPiArCQkJCXRmLT5lbnRy
aWVzW2ldLnRpbWVfdXAgPSBub3c7DQo+ICsJCQl9DQo+ICsJCX0NCj4gKwl9DQo+ICsJaSA9IE5V
TV9GSUxURVJfRU5UUklFUy0xOw0KPiArCXRpbSA9IG5vdyAtIHRmLT5lbnRyaWVzW2ldLnRpbWVf
dXA7DQo+ICsJdGltZV9saW1pdCA9ICh0Zi0+Y3VyX3RpbWVfbGltaXQgKiAoTlVNX0ZJTFRFUl9F
TlRSSUVTLWkpKS9OVU1fRklMVEVSX0VOVFJJRVM7DQo+ICsJaWYgKHRpbSA+PSB0aW1lX2xpbWl0
KSB7DQo+ICsJCXRmLT5lbnRyaWVzW2ldLnZhbHVlID0gdmFsdWU7DQo+ICsJCXRmLT5lbnRyaWVz
W2ldLnRpbWVfdXAgPSBub3c7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZA0KPiAr
Y2hlY2tfdXBkYXRlX3RpbWVzX3NtYWxsKHN0cnVjdCB0aW1lX2ZpbHRlcl9zbWFsbCAqdGYsIHVp
bnQzMl90IHZhbHVlLCB1aW50MzJfdCBub3cpDQo+ICt7DQo+ICsJaW50IGksIGosIGZuZDsNCj4g
Kwl1aW50MzJfdCB0aW07DQo+ICsJdWludDMyX3QgdGltZV9saW1pdDsNCj4gKwlmb3IoaT0wOyBp
PChOVU1fRklMVEVSX0VOVFJJRVMtMSk7IGkrKykgew0KPiArCQl0aW0gPSBub3cgLSB0Zi0+ZW50
cmllc1tpXS50aW1lX3VwOw0KPiArCQl0aW1lX2xpbWl0ID0gKHRmLT5jdXJfdGltZV9saW1pdCAq
DQo+IChOVU1fRklMVEVSX0VOVFJJRVMtaSkpL05VTV9GSUxURVJfRU5UUklFUzsNCj4gKwkJaWYg
KHRpbSA+PSB0aW1lX2xpbWl0KSB7DQo+ICsJCQlmbmQgPSAwOw0KPiArCQkJZm9yKGo9KGkrMSk7
IGo8TlVNX0ZJTFRFUl9FTlRSSUVTOyBqKyspIHsNCj4gKwkJCQlpZiAodGYtPmVudHJpZXNbaV0u
dGltZV91cCA8IHRmLT5lbnRyaWVzW2pdLnRpbWVfdXApIHsNCj4gKwkJCQkJdGYtPmVudHJpZXNb
aV0udmFsdWUgPSB0Zi0+ZW50cmllc1tqXS52YWx1ZTsNCj4gKwkJCQkJdGYtPmVudHJpZXNbaV0u
dGltZV91cCA9IHRmLT5lbnRyaWVzW2pdLnRpbWVfdXA7DQo+ICsJCQkJCWZuZCA9IDE7DQo+ICsJ
CQkJCWJyZWFrOw0KPiArCQkJCX0NCj4gKwkJCX0NCj4gKwkJCWlmIChmbmQgPT0gMCkgew0KPiAr
CQkJCS8qIE5vdGhpbmcgYnV0IHRoZSBzYW1lIG9sZCBlbnRyeSAqLw0KPiArCQkJCXRmLT5lbnRy
aWVzW2ldLnZhbHVlID0gdmFsdWU7DQo+ICsJCQkJdGYtPmVudHJpZXNbaV0udGltZV91cCA9IG5v
dzsNCj4gKwkJCX0NCj4gKwkJfQ0KPiArCX0NCj4gKwlpID0gTlVNX0ZJTFRFUl9FTlRSSUVTLTE7
DQo+ICsJdGltID0gbm93IC0gdGYtPmVudHJpZXNbaV0udGltZV91cDsNCj4gKwl0aW1lX2xpbWl0
ID0gKHRmLT5jdXJfdGltZV9saW1pdCAqIChOVU1fRklMVEVSX0VOVFJJRVMtaSkpL05VTV9GSUxU
RVJfRU5UUklFUzsNCj4gKwlpZiAodGltID49IHRpbWVfbGltaXQpIHsNCj4gKwkJdGYtPmVudHJp
ZXNbaV0udmFsdWUgPSB2YWx1ZTsNCj4gKwkJdGYtPmVudHJpZXNbaV0udGltZV91cCA9IG5vdzsN
Cj4gKwl9DQo+ICt9DQo+ICsNCj4gKw0KPiArDQo+ICt2b2lkDQo+ICtmaWx0ZXJfcmVkdWNlX2J5
KHN0cnVjdCB0aW1lX2ZpbHRlciAqdGYsIHVpbnQ2NF90IHJlZHVjZV9ieSwgdWludDMyX3Qgbm93
KQ0KPiArew0KPiArCWludCBpOw0KPiArCS8qIA0KPiArCSAqIFJlZHVjZSBvdXIgZmlsdGVyIG1h
aW4gYnkgcmVkdWNlX2J5IGFuZA0KPiArCSAqIHVwZGF0ZSBpdHMgdGltZS4gVGhlbiB3YWxrIG90
aGVyJ3MgYW5kDQo+ICsJICogbWFrZSB0aGVtIHRoZSBuZXcgdmFsdWUgdG9vLg0KPiArCSAqLw0K
PiArCWlmIChyZWR1Y2VfYnkgPCB0Zi0+ZW50cmllc1swXS52YWx1ZSkNCj4gKwkJdGYtPmVudHJp
ZXNbMF0udmFsdWUgLT0gcmVkdWNlX2J5Ow0KPiArCWVsc2UNCj4gKwkJdGYtPmVudHJpZXNbMF0u
dmFsdWUgPSAwOw0KPiArCXRmLT5lbnRyaWVzWzBdLnRpbWVfdXAgPSBub3c7DQo+ICsJZm9yKGk9
MTsgaTxOVU1fRklMVEVSX0VOVFJJRVM7IGkrKykgew0KPiArCQl0Zi0+ZW50cmllc1tpXS52YWx1
ZSA9IHRmLT5lbnRyaWVzWzBdLnZhbHVlOw0KPiArCQl0Zi0+ZW50cmllc1tpXS50aW1lX3VwID0g
bm93Ow0KPiArCX0NCj4gK30NCj4gKw0KPiArdm9pZA0KPiArZmlsdGVyX3JlZHVjZV9ieV9zbWFs
bChzdHJ1Y3QgdGltZV9maWx0ZXJfc21hbGwgKnRmLCB1aW50MzJfdCByZWR1Y2VfYnksIHVpbnQz
Ml90IG5vdykNCj4gK3sNCj4gKwlpbnQgaTsNCj4gKwkvKiANCj4gKwkgKiBSZWR1Y2Ugb3VyIGZp
bHRlciBtYWluIGJ5IHJlZHVjZV9ieSBhbmQNCj4gKwkgKiB1cGRhdGUgaXRzIHRpbWUuIFRoZW4g
d2FsayBvdGhlcidzIGFuZA0KPiArCSAqIG1ha2UgdGhlbSB0aGUgbmV3IHZhbHVlIHRvby4NCj4g
KwkgKi8NCj4gKwlpZiAocmVkdWNlX2J5IDwgdGYtPmVudHJpZXNbMF0udmFsdWUpDQo+ICsJCXRm
LT5lbnRyaWVzWzBdLnZhbHVlIC09IHJlZHVjZV9ieTsNCj4gKwllbHNlDQo+ICsJCXRmLT5lbnRy
aWVzWzBdLnZhbHVlID0gMDsNCj4gKwl0Zi0+ZW50cmllc1swXS50aW1lX3VwID0gbm93Ow0KPiAr
CWZvcihpPTE7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBpKyspIHsNCj4gKwkJdGYtPmVudHJpZXNb
aV0udmFsdWUgPSB0Zi0+ZW50cmllc1swXS52YWx1ZTsNCj4gKwkJdGYtPmVudHJpZXNbaV0udGlt
ZV91cCA9IG5vdzsNCj4gKwl9DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK2ZpbHRlcl9pbmNyZWFz
ZV9ieShzdHJ1Y3QgdGltZV9maWx0ZXIgKnRmLCB1aW50NjRfdCBpbmNyX2J5LCB1aW50MzJfdCBu
b3cpDQo+ICt7DQo+ICsJaW50IGk7DQo+ICsJLyogDQo+ICsJICogSW5jcmVhc2Ugb3VyIGZpbHRl
ciBtYWluIGJ5IGluY3JfYnkgYW5kDQo+ICsJICogdXBkYXRlIGl0cyB0aW1lLiBUaGVuIHdhbGsg
b3RoZXIncyBhbmQNCj4gKwkgKiBtYWtlIHRoZW0gdGhlIG5ldyB2YWx1ZSB0b28uDQo+ICsJICov
DQo+ICsJdGYtPmVudHJpZXNbMF0udmFsdWUgKz0gaW5jcl9ieTsNCj4gKwl0Zi0+ZW50cmllc1sw
XS50aW1lX3VwID0gbm93Ow0KPiArCWZvcihpPTE7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBpKysp
IHsNCj4gKwkJdGYtPmVudHJpZXNbaV0udmFsdWUgPSB0Zi0+ZW50cmllc1swXS52YWx1ZTsNCj4g
KwkJdGYtPmVudHJpZXNbaV0udGltZV91cCA9IG5vdzsNCj4gKwl9DQo+ICt9DQo+ICsNCj4gK3Zv
aWQNCj4gK2ZpbHRlcl9pbmNyZWFzZV9ieV9zbWFsbChzdHJ1Y3QgdGltZV9maWx0ZXJfc21hbGwg
KnRmLCB1aW50MzJfdCBpbmNyX2J5LCB1aW50MzJfdCBub3cpDQo+ICt7DQo+ICsJaW50IGk7DQo+
ICsJLyogDQo+ICsJICogSW5jcmVhc2Ugb3VyIGZpbHRlciBtYWluIGJ5IGluY3JfYnkgYW5kDQo+
ICsJICogdXBkYXRlIGl0cyB0aW1lLiBUaGVuIHdhbGsgb3RoZXIncyBhbmQNCj4gKwkgKiBtYWtl
IHRoZW0gdGhlIG5ldyB2YWx1ZSB0b28uDQo+ICsJICovDQo+ICsJdGYtPmVudHJpZXNbMF0udmFs
dWUgKz0gaW5jcl9ieTsNCj4gKwl0Zi0+ZW50cmllc1swXS50aW1lX3VwID0gbm93Ow0KPiArCWZv
cihpPTE7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBpKyspIHsNCj4gKwkJdGYtPmVudHJpZXNbaV0u
dmFsdWUgPSB0Zi0+ZW50cmllc1swXS52YWx1ZTsNCj4gKwkJdGYtPmVudHJpZXNbaV0udGltZV91
cCA9IG5vdzsNCj4gKwl9DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK2ZvcndhcmRfZmlsdGVyX2Ns
b2NrKHN0cnVjdCB0aW1lX2ZpbHRlciAqdGYsIHVpbnQzMl90IHRpY2tzX2ZvcndhcmQpDQo+ICt7
DQo+ICsJLyoNCj4gKwkgKiBCcmluZyBmb3J3YXJkIGFsbCB0aW1lIHZhbHVlcyBieSBOIHRpY2tz
LiBUaGlzDQo+ICsJICogcG9zdHBvbmVzIGV4cGlyaW5nIHNsb3RzIGJ5IHRoYXQgYW1vdW50Lg0K
PiArCSAqLw0KPiArCWludCBpOw0KPiArDQo+ICsJZm9yKGk9MDsgaTxOVU1fRklMVEVSX0VOVFJJ
RVM7IGkrKykgew0KPiArCQl0Zi0+ZW50cmllc1tpXS50aW1lX3VwICs9IHRpY2tzX2ZvcndhcmQ7
DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICsNCj4gK3ZvaWQNCj4gK2ZvcndhcmRfZmlsdGVyX2Nsb2Nr
X3NtYWxsKHN0cnVjdCB0aW1lX2ZpbHRlcl9zbWFsbCAqdGYsIHVpbnQzMl90IHRpY2tzX2Zvcndh
cmQpDQo+ICt7DQo+ICsJLyoNCj4gKwkgKiBCcmluZyBmb3J3YXJkIGFsbCB0aW1lIHZhbHVlcyBi
eSBOIHRpY2tzLiBUaGlzDQo+ICsJICogcG9zdHBvbmVzIGV4cGlyaW5nIHNsb3RzIGJ5IHRoYXQg
YW1vdW50Lg0KPiArCSAqLw0KPiArCWludCBpOw0KPiArDQo+ICsJZm9yKGk9MDsgaTxOVU1fRklM
VEVSX0VOVFJJRVM7IGkrKykgew0KPiArCQl0Zi0+ZW50cmllc1tpXS50aW1lX3VwICs9IHRpY2tz
X2ZvcndhcmQ7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICsNCj4gK3ZvaWQNCj4gK3RpY2tfZmlsdGVy
X2Nsb2NrKHN0cnVjdCB0aW1lX2ZpbHRlciAqdGYsIHVpbnQzMl90IG5vdykNCj4gK3sNCj4gKwlp
bnQgaTsNCj4gKwl1aW50MzJfdCB0aW0sIHRpbWVfbGltaXQ7DQo+ICsNCj4gKwkvKg0KPiArCSAq
IFdlIHN0YXJ0IGF0IHR3byBwb3NpdGlvbnMgYmFjay4gVGhpcw0KPiArCSAqIGlzIGJlY2F1c2Ug
dGhlIG9sZGVzdCB3b3JzdCB2YWx1ZSBpcw0KPiArCSAqIHByZXNlcnZlZCBhbHdheXMsIGkuZS4g
aXQgY2FuJ3QgZXhwaXJlDQo+ICsJICogZHVlIHRvIGNsb2NrIHRpY2tpbmcgd2l0aCBubyB1cGRh
dGVkIHZhbHVlLg0KPiArCSAqDQo+ICsJICogVGhlIG90aGVyIGNob2ljZSB3b3VsZCBiZSB0byBm
aWxsIGl0IGluIHdpdGgNCj4gKwkgKiB6ZXJvLCBidXQgSSBkb24ndCBsaWtlIHRoYXQgb3B0aW9u
IHNpbmNlDQo+ICsJICogc29tZSBtZWFzdXJlbWVudCBpcyBiZXR0ZXIgdGhhbiBub25lIChldmVu
DQo+ICsJICogaWYgaXRzIHlvdXIgb2xkZXN0IG1lYXN1cm1lbnQpLg0KPiArCSAqLw0KPiArCWZv
cihpPShOVU1fRklMVEVSX0VOVFJJRVMtMik7IGk+PTAgOyBpLS0pIHsNCj4gKwkJdGltID0gbm93
IC0gdGYtPmVudHJpZXNbaV0udGltZV91cDsNCj4gKwkJdGltZV9saW1pdCA9ICh0Zi0+Y3VyX3Rp
bWVfbGltaXQgKg0KPiAoTlVNX0ZJTFRFUl9FTlRSSUVTLWkpKS9OVU1fRklMVEVSX0VOVFJJRVM7
DQo+ICsJCWlmICh0aW0gPj0gdGltZV9saW1pdCkgew0KPiArCQkJLyogDQo+ICsJCQkgKiBUaGlz
IGVudHJ5IGlzIGV4cGlyZWQsIHB1bGwgZG93bg0KPiArCQkJICogdGhlIG5leHQgb25lIHVwLg0K
PiArCQkJICovDQo+ICsJCQl0Zi0+ZW50cmllc1tpXS52YWx1ZSA9IHRmLT5lbnRyaWVzWyhpKzEp
XS52YWx1ZTsNCj4gKwkJCXRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPSB0Zi0+ZW50cmllc1soaSsx
KV0udGltZV91cDsNCj4gKwkJfQ0KPiArDQo+ICsJfQ0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0
aWNrX2ZpbHRlcl9jbG9ja19zbWFsbChzdHJ1Y3QgdGltZV9maWx0ZXJfc21hbGwgKnRmLCB1aW50
MzJfdCBub3cpDQo+ICt7DQo+ICsJaW50IGk7DQo+ICsJdWludDMyX3QgdGltLCB0aW1lX2xpbWl0
Ow0KPiArDQo+ICsJLyoNCj4gKwkgKiBXZSBzdGFydCBhdCB0d28gcG9zaXRpb25zIGJhY2suIFRo
aXMNCj4gKwkgKiBpcyBiZWNhdXNlIHRoZSBvbGRlc3Qgd29yc3QgdmFsdWUgaXMNCj4gKwkgKiBw
cmVzZXJ2ZWQgYWx3YXlzLCBpLmUuIGl0IGNhbid0IGV4cGlyZQ0KPiArCSAqIGR1ZSB0byBjbG9j
ayB0aWNraW5nIHdpdGggbm8gdXBkYXRlZCB2YWx1ZS4NCj4gKwkgKg0KPiArCSAqIFRoZSBvdGhl
ciBjaG9pY2Ugd291bGQgYmUgdG8gZmlsbCBpdCBpbiB3aXRoDQo+ICsJICogemVybywgYnV0IEkg
ZG9uJ3QgbGlrZSB0aGF0IG9wdGlvbiBzaW5jZQ0KPiArCSAqIHNvbWUgbWVhc3VyZW1lbnQgaXMg
YmV0dGVyIHRoYW4gbm9uZSAoZXZlbg0KPiArCSAqIGlmIGl0cyB5b3VyIG9sZGVzdCBtZWFzdXJt
ZW50KS4NCj4gKwkgKi8NCj4gKwlmb3IoaT0oTlVNX0ZJTFRFUl9FTlRSSUVTLTIpOyBpPj0wIDsg
aS0tKSB7DQo+ICsJCXRpbSA9IG5vdyAtIHRmLT5lbnRyaWVzW2ldLnRpbWVfdXA7DQo+ICsJCXRp
bWVfbGltaXQgPSAodGYtPmN1cl90aW1lX2xpbWl0ICoNCj4gKE5VTV9GSUxURVJfRU5UUklFUy1p
KSkvTlVNX0ZJTFRFUl9FTlRSSUVTOw0KPiArCQlpZiAodGltID49IHRpbWVfbGltaXQpIHsNCj4g
KwkJCS8qIA0KPiArCQkJICogVGhpcyBlbnRyeSBpcyBleHBpcmVkLCBwdWxsIGRvd24NCj4gKwkJ
CSAqIHRoZSBuZXh0IG9uZSB1cC4NCj4gKwkJCSAqLw0KPiArCQkJdGYtPmVudHJpZXNbaV0udmFs
dWUgPSB0Zi0+ZW50cmllc1soaSsxKV0udmFsdWU7DQo+ICsJCQl0Zi0+ZW50cmllc1tpXS50aW1l
X3VwID0gdGYtPmVudHJpZXNbKGkrMSldLnRpbWVfdXA7DQo+ICsJCX0NCj4gKw0KPiArCX0NCj4g
K30NCj4gKw0KPiArdWludDMyX3QNCj4gK2FwcGx5X2ZpbHRlcl9taW4oc3RydWN0IHRpbWVfZmls
dGVyICp0ZiwgdWludDY0X3QgdmFsdWUsIHVpbnQzMl90IG5vdykNCj4gK3sNCj4gKwlpbnQgaSwg
ajsNCj4gKwkNCj4gKwlpZiAodmFsdWUgPD0gdGYtPmVudHJpZXNbMF0udmFsdWUpIHsNCj4gKwkJ
LyogWmFwIHRoZW0gYWxsICovDQo+ICsJCWZvcihpPTA7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBp
KyspIHsNCj4gKwkJCXRmLT5lbnRyaWVzW2ldLnZhbHVlID0gdmFsdWU7DQo+ICsJCQl0Zi0+ZW50
cmllc1tpXS50aW1lX3VwID0gbm93Ow0KPiArCQl9DQo+ICsJCXJldHVybiAodGYtPmVudHJpZXNb
MF0udmFsdWUpOw0KPiArCX0NCj4gKwlmb3IgKGo9MTsgajxOVU1fRklMVEVSX0VOVFJJRVM7IGor
Kykgew0KPiArCQlpZiAodmFsdWUgPD0gdGYtPmVudHJpZXNbal0udmFsdWUpIHsNCj4gKwkJCWZv
cihpPWo7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBpKyspIHsNCj4gKwkJCQl0Zi0+ZW50cmllc1tp
XS52YWx1ZSA9IHZhbHVlOw0KPiArCQkJCXRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPSBub3c7DQo+
ICsJCQl9DQo+ICsJCQlicmVhazsNCj4gKwkJfQ0KPiArCX0NCj4gKwljaGVja191cGRhdGVfdGlt
ZXModGYsIHZhbHVlLCBub3cpOw0KPiArCXJldHVybiAodGYtPmVudHJpZXNbMF0udmFsdWUpOw0K
PiArfQ0KPiArDQo+ICt1aW50MzJfdA0KPiArYXBwbHlfZmlsdGVyX21pbl9zbWFsbChzdHJ1Y3Qg
dGltZV9maWx0ZXJfc21hbGwgKnRmLA0KPiArCQkgICAgICAgdWludDMyX3QgdmFsdWUsIHVpbnQz
Ml90IG5vdykNCj4gK3sNCj4gKwlpbnQgaSwgajsNCj4gKwkNCj4gKwlpZiAodmFsdWUgPD0gdGYt
PmVudHJpZXNbMF0udmFsdWUpIHsNCj4gKwkJLyogWmFwIHRoZW0gYWxsICovDQo+ICsJCWZvcihp
PTA7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBpKyspIHsNCj4gKwkJCXRmLT5lbnRyaWVzW2ldLnZh
bHVlID0gdmFsdWU7DQo+ICsJCQl0Zi0+ZW50cmllc1tpXS50aW1lX3VwID0gbm93Ow0KPiArCQl9
DQo+ICsJCXJldHVybiAodGYtPmVudHJpZXNbMF0udmFsdWUpOw0KPiArCX0NCj4gKwlmb3IgKGo9
MTsgajxOVU1fRklMVEVSX0VOVFJJRVM7IGorKykgew0KPiArCQlpZiAodmFsdWUgPD0gdGYtPmVu
dHJpZXNbal0udmFsdWUpIHsNCj4gKwkJCWZvcihpPWo7IGk8TlVNX0ZJTFRFUl9FTlRSSUVTOyBp
KyspIHsNCj4gKwkJCQl0Zi0+ZW50cmllc1tpXS52YWx1ZSA9IHZhbHVlOw0KPiArCQkJCXRmLT5l
bnRyaWVzW2ldLnRpbWVfdXAgPSBub3c7DQo+ICsJCQl9DQo+ICsJCQlicmVhazsNCj4gKwkJfQ0K
PiArCX0NCj4gKwljaGVja191cGRhdGVfdGltZXNfc21hbGwodGYsIHZhbHVlLCBub3cpOw0KPiAr
CXJldHVybiAodGYtPmVudHJpZXNbMF0udmFsdWUpOw0KPiArfQ0KPiArDQo+ICt1aW50MzJfdA0K
PiArYXBwbHlfZmlsdGVyX21heChzdHJ1Y3QgdGltZV9maWx0ZXIgKnRmLCB1aW50NjRfdCB2YWx1
ZSwgdWludDMyX3Qgbm93KQ0KPiArew0KPiArCWludCBpLCBqOw0KPiArCQ0KPiArCWlmICh2YWx1
ZSA+PSB0Zi0+ZW50cmllc1swXS52YWx1ZSkgew0KPiArCQkvKiBaYXAgdGhlbSBhbGwgKi8NCj4g
KwkJZm9yKGk9MDsgaTxOVU1fRklMVEVSX0VOVFJJRVM7IGkrKykgew0KPiArCQkJdGYtPmVudHJp
ZXNbaV0udmFsdWUgPSB2YWx1ZTsNCj4gKwkJCXRmLT5lbnRyaWVzW2ldLnRpbWVfdXAgPSBub3c7
DQo+ICsJCX0NCj4gKwkJcmV0dXJuICh0Zi0+ZW50cmllc1swXS52YWx1ZSk7DQo+ICsJfQ0KPiAr
CWZvciAoaj0xOyBqPE5VTV9GSUxURVJfRU5UUklFUzsgaisrKSB7DQo+ICsJCWlmICh2YWx1ZSA+
PSB0Zi0+ZW50cmllc1tqXS52YWx1ZSkgew0KPiArCQkJZm9yKGk9ajsgaTxOVU1fRklMVEVSX0VO
VFJJRVM7IGkrKykgew0KPiArCQkJCXRmLT5lbnRyaWVzW2ldLnZhbHVlID0gdmFsdWU7DQo+ICsJ
CQkJdGYtPmVudHJpZXNbaV0udGltZV91cCA9IG5vdzsNCj4gKwkJCX0NCj4gKwkJCWJyZWFrOw0K
PiArCQl9DQo+ICsJfQ0KPiArCWNoZWNrX3VwZGF0ZV90aW1lcyh0ZiwgdmFsdWUsIG5vdyk7DQo+
ICsJcmV0dXJuICh0Zi0+ZW50cmllc1swXS52YWx1ZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWlu
dDMyX3QNCj4gK2FwcGx5X2ZpbHRlcl9tYXhfc21hbGwoc3RydWN0IHRpbWVfZmlsdGVyX3NtYWxs
ICp0ZiwNCj4gKwkJICAgICAgIHVpbnQzMl90IHZhbHVlLCB1aW50MzJfdCBub3cpDQo+ICt7DQo+
ICsJaW50IGksIGo7DQo+ICsJDQo+ICsJaWYgKHZhbHVlID49IHRmLT5lbnRyaWVzWzBdLnZhbHVl
KSB7DQo+ICsJCS8qIFphcCB0aGVtIGFsbCAqLw0KPiArCQlmb3IoaT0wOyBpPE5VTV9GSUxURVJf
RU5UUklFUzsgaSsrKSB7DQo+ICsJCQl0Zi0+ZW50cmllc1tpXS52YWx1ZSA9IHZhbHVlOw0KPiAr
CQkJdGYtPmVudHJpZXNbaV0udGltZV91cCA9IG5vdzsNCj4gKwkJfQ0KPiArCQlyZXR1cm4gKHRm
LT5lbnRyaWVzWzBdLnZhbHVlKTsNCj4gKwl9DQo+ICsJZm9yIChqPTE7IGo8TlVNX0ZJTFRFUl9F
TlRSSUVTOyBqKyspIHsNCj4gKwkJaWYgKHZhbHVlID49IHRmLT5lbnRyaWVzW2pdLnZhbHVlKSB7
DQo+ICsJCQlmb3IoaT1qOyBpPE5VTV9GSUxURVJfRU5UUklFUzsgaSsrKSB7DQo+ICsJCQkJdGYt
PmVudHJpZXNbaV0udmFsdWUgPSB2YWx1ZTsNCj4gKwkJCQl0Zi0+ZW50cmllc1tpXS50aW1lX3Vw
ID0gbm93Ow0KPiArCQkJfQ0KPiArCQkJYnJlYWs7DQo+ICsJCX0NCj4gKwl9DQo+ICsJY2hlY2tf
dXBkYXRlX3RpbWVzX3NtYWxsKHRmLCB2YWx1ZSwgbm93KTsNCj4gKwlyZXR1cm4gKHRmLT5lbnRy
aWVzWzBdLnZhbHVlKTsNCj4gK30NCj4gDQo+IE1vZGlmaWVkOiBoZWFkL3N5cy9tb2R1bGVzL3Rj
cC9NYWtlZmlsZQ0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gLS0tIGhlYWQvc3lzL21vZHVs
ZXMvdGNwL01ha2VmaWxlCVR1ZSBTZXAgMjQgMTc6MDY6MzIgMjAxOQkocjM1MjY1NikNCj4gKysr
IGhlYWQvc3lzL21vZHVsZXMvdGNwL01ha2VmaWxlCVR1ZSBTZXAgMjQgMTg6MTg6MTEgMjAxOQko
cjM1MjY1NykNCj4gQEAgLTYsMTAgKzYsMTIgQEAgU1lTRElSPz0ke1NSQ1RPUH0vc3lzDQo+ICAu
aW5jbHVkZSAiJHtTWVNESVJ9L2NvbmYva2Vybi5vcHRzLm1rIg0KPiAgDQo+ICBTVUJESVI9CVwN
Cj4gKyAgICAgICAgJHtfdGNwX2Jicn0gXA0KPiAgICAgICAgICAke190Y3BfcmFja30gXA0KPiAg
CSR7X3RjcG1kNX0gXA0KPiAgDQo+ICAuaWYgJHtNS19FWFRSQV9UQ1BfU1RBQ0tTfSAhPSAibm8i
IHx8IGRlZmluZWQoQUxMX01PRFVMRVMpDQo+ICtfdGNwX2Jicj0gCWJicg0KPiAgX3RjcF9yYWNr
PSAJcmFjaw0KPiAgLmVuZGlmDQo+ICANCj4gDQo+IEFkZGVkOiBoZWFkL3N5cy9tb2R1bGVzL3Rj
cC9iYnIvTWFrZWZpbGUNCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+IC0tLSAvZGV2L251bGwJ
MDA6MDA6MDAgMTk3MAkoZW1wdHksIGJlY2F1c2UgZmlsZSBpcyBuZXdseSBhZGRlZCkNCj4gKysr
IGhlYWQvc3lzL21vZHVsZXMvdGNwL2Jici9NYWtlZmlsZQlUdWUgU2VwIDI0IDE4OjE4OjExIDIw
MTkJKHIzNTI2NTcpDQo+IEBAIC0wLDAgKzEsMjMgQEANCj4gKyMNCj4gKyMgJEZyZWVCU0QkDQo+
ICsjDQo+ICsNCj4gKy5QQVRIOiAkey5DVVJESVJ9Ly4uLy4uLy4uL25ldGluZXQvdGNwX3N0YWNr
cw0KPiArDQo+ICtTVEFDS05BTUU9CWJicg0KPiArS01PRD0JdGNwXyR7U1RBQ0tOQU1FfQ0KPiAr
U1JDUz0JYmJyLmMgc2Fja19maWx0ZXIuYyByYWNrX2Jicl9jb21tb24uYw0KPiArDQo+ICtTUkNT
Kz0Jb3B0X2luZXQuaCBvcHRfaW5ldDYuaCBvcHRfaXBzZWMuaA0KPiArU1JDUys9CW9wdF90Y3Bk
ZWJ1Zy5oDQo+ICtTUkNTKz0Jb3B0X2tlcm5fdGxzLmgNCj4gKw0KPiArIw0KPiArIyBFbmFibGUg
ZnVsbCBkZWJ1Z2dpbmcNCj4gKyMNCj4gKyNDRkxBR1MgKz0gLWcNCj4gKw0KPiArQ0ZMQUdTKz0J
LURNT0ROQU1FPSR7S01PRH0NCj4gK0NGTEFHUys9CS1EU1RBQ0tOQU1FPSR7U1RBQ0tOQU1FfQ0K
PiArDQo+ICsuaW5jbHVkZSA8YnNkLmttb2QubWs+DQo+IA0KPiBNb2RpZmllZDogaGVhZC9zeXMv
bmV0aW5ldC9pcF9vdXRwdXQuYw0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gLS0tIGhlYWQv
c3lzL25ldGluZXQvaXBfb3V0cHV0LmMJVHVlIFNlcCAyNCAxNzowNjozMiAyMDE5CShyMzUyNjU2
KQ0KPiArKysgaGVhZC9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYwlUdWUgU2VwIDI0IDE4OjE4OjEx
IDIwMTkJKHIzNTI2NTcpDQo+IEBAIC0yMTIsNyArMjEyLDcgQEAgaXBfb3V0cHV0X3BmaWwoc3Ry
dWN0IG1idWYgKiptcCwgc3RydWN0IGlmbmV0ICppZnAsIGluDQo+ICANCj4gIHN0YXRpYyBpbnQN
Cj4gIGlwX291dHB1dF9zZW5kKHN0cnVjdCBpbnBjYiAqaW5wLCBzdHJ1Y3QgaWZuZXQgKmlmcCwg
c3RydWN0IG1idWYgKm0sDQo+IC0gICAgY29uc3Qgc3RydWN0IHNvY2thZGRyX2luICpndywgc3Ry
dWN0IHJvdXRlICpybykNCj4gKyAgICBjb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmd3LCBzdHJ1
Y3Qgcm91dGUgKnJvLCBib29sIHN0YW1wX3RhZykNCj4gIHsNCj4gICNpZmRlZiBLRVJOX1RMUw0K
PiAgCXN0cnVjdCBrdGxzX3Nlc3Npb24gKnRscyA9IE5VTEw7DQo+IEBAIC0yNTYsNyArMjU2LDcg
QEAgaXBfb3V0cHV0X3NlbmQoc3RydWN0IGlucGNiICppbnAsIHN0cnVjdCBpZm5ldCAqaWZwLCBz
DQo+ICAJCQltc3QgPSBpbnAtPmlucF9zbmRfdGFnOw0KPiAgCX0NCj4gICNlbmRpZg0KPiAtCWlm
IChtc3QgIT0gTlVMTCkgew0KPiArCWlmIChzdGFtcF90YWcgJiYgbXN0ICE9IE5VTEwpIHsNCj4g
IAkJS0FTU0VSVChtLT5tX3BrdGhkci5yY3ZpZiA9PSBOVUxMLA0KPiAgCQkgICAgKCJ0cnlpbmcg
dG8gYWRkIGEgc2VuZCB0YWcgdG8gYSBmb3J3YXJkZWQgcGFja2V0IikpOw0KPiAgCQlpZiAobXN0
LT5pZnAgIT0gaWZwKSB7DQo+IEBAIC03OTEsNyArNzkxLDggQEAgc2VuZGl0Og0KPiAgCQkgKi8N
Cj4gIAkJbV9jbHJwcm90b2ZsYWdzKG0pOw0KPiAgCQlJUF9QUk9CRShzZW5kLCBOVUxMLCBOVUxM
LCBpcCwgaWZwLCBpcCwgTlVMTCk7DQo+IC0JCWVycm9yID0gaXBfb3V0cHV0X3NlbmQoaW5wLCBp
ZnAsIG0sIGd3LCBybyk7DQo+ICsJCWVycm9yID0gaXBfb3V0cHV0X3NlbmQoaW5wLCBpZnAsIG0s
IGd3LCBybywNCj4gKwkJICAgIChmbGFncyAmIElQX05PX1NORF9UQUdfUkwpID8gZmFsc2UgOiB0
cnVlKTsNCj4gIAkJZ290byBkb25lOw0KPiAgCX0NCj4gIA0KPiBAQCAtODI3LDcgKzgyOCw3IEBA
IHNlbmRpdDoNCj4gIA0KPiAgCQkJSVBfUFJPQkUoc2VuZCwgTlVMTCwgTlVMTCwgbXRvZChtLCBz
dHJ1Y3QgaXAgKiksIGlmcCwNCj4gIAkJCSAgICBtdG9kKG0sIHN0cnVjdCBpcCAqKSwgTlVMTCk7
DQo+IC0JCQllcnJvciA9IGlwX291dHB1dF9zZW5kKGlucCwgaWZwLCBtLCBndywgcm8pOw0KPiAr
CQkJZXJyb3IgPSBpcF9vdXRwdXRfc2VuZChpbnAsIGlmcCwgbSwgZ3csIHJvLCB0cnVlKTsNCj4g
IAkJfSBlbHNlDQo+ICAJCQltX2ZyZWVtKG0pOw0KPiAgCX0NCj4gDQo+IE1vZGlmaWVkOiBoZWFk
L3N5cy9uZXRpbmV0L2lwX3Zhci5oDQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAtLS0gaGVh
ZC9zeXMvbmV0aW5ldC9pcF92YXIuaAlUdWUgU2VwIDI0IDE3OjA2OjMyIDIwMTkJKHIzNTI2NTYp
DQo+ICsrKyBoZWFkL3N5cy9uZXRpbmV0L2lwX3Zhci5oCVR1ZSBTZXAgMjQgMTg6MTg6MTEgMjAx
OQkocjM1MjY1NykNCj4gQEAgLTE2Niw2ICsxNjYsNyBAQCB2b2lkCWttb2RfaXBzdGF0X2RlYyhp
bnQgc3RhdG51bSk7DQo+ICAjZGVmaW5lIElQX1JPVVRFVE9JRgkJU09fRE9OVFJPVVRFCS8qIDB4
MTAgYnlwYXNzIHJvdXRpbmcgdGFibGVzICovDQo+ICAjZGVmaW5lIElQX0FMTE9XQlJPQURDQVNU
CVNPX0JST0FEQ0FTVAkvKiAweDIwIGNhbiBzZW5kIGJyb2FkY2FzdCBwYWNrZXRzICovDQo+ICAj
ZGVmaW5lCUlQX05PREVGQVVMVEZMT1dJRAkweDQwCQkvKiBEb24ndCBzZXQgdGhlIGZsb3dpZCBm
cm9tDQo+IGlucCAqLyArI2RlZmluZSBJUF9OT19TTkRfVEFHX1JMCTB4ODAJCS8qIERvbid0IHNl
bmQgZG93biB0aGUgcmF0ZWxpbWl0DQo+IHRhZyAqLyANCj4gICNpZmRlZiBfX05PX1NUUklDVF9B
TElHTk1FTlQNCj4gICNkZWZpbmUgSVBfSERSX0FMSUdORURfUChpcCkJMQ0KPiANCj4gTW9kaWZp
ZWQ6IGhlYWQvc3lzL25ldGluZXQvdGNwLmgNCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+IC0t
LSBoZWFkL3N5cy9uZXRpbmV0L3RjcC5oCVR1ZSBTZXAgMjQgMTc6MDY6MzIgMjAxOQkocjM1MjY1
NikNCj4gKysrIGhlYWQvc3lzL25ldGluZXQvdGNwLmgJVHVlIFNlcCAyNCAxODoxODoxMSAyMDE5
CShyMzUyNjU3KQ0KPiBAQCAtMjM5LDYgKzIzOSw3IEBAIHN0cnVjdCB0Y3BoZHIgew0KPiAgI2Rl
ZmluZSBUQ1BfQkJSX0FDS19DT01QX0FMRyAgIDEwOTYgCS8qIE5vdCB1c2VkICovDQo+ICAjZGVm
aW5lIFRDUF9CQlJfVE1SX1BBQ0VfT0ggICAgMTA5NgkvKiBSZWN5Y2xlZCBpbiA0LjIgKi8NCj4g
ICNkZWZpbmUgVENQX0JCUl9FWFRSQV9HQUlOICAgICAxMDk3DQo+ICsjZGVmaW5lIFRDUF9SQUNL
X0RPX0RFVEVDVElPTiAgMTA5NwkvKiBSZWN5Y2xlIG9mIGV4dHJhIGdhaW4gZm9yIHJhY2ssIGF0
dGFjaw0KPiBkZXRlY3Rpb24gKi8gI2RlZmluZSBUQ1BfQkJSX1JBQ0tfUlRUX1VTRSAgIDEwOTgJ
Lyogd2hhdCBSVFQgc2hvdWxkIHdlIHVzZSAwLCAxLCBvcg0KPiAyPyAqLyAjZGVmaW5lIFRDUF9C
QlJfUkVUUkFOX1dUU08gICAgMTA5OQ0KPiAgI2RlZmluZSBUQ1BfREFUQV9BRlRFUl9DTE9TRSAg
IDExMDANCj4gDQo+IEFkZGVkOiBoZWFkL3N5cy9uZXRpbmV0L3RjcF9zdGFja3MvYmJyLmMNCj4g
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQo+IC0tLSAvZGV2L251bGwJMDA6MDA6MDAgMTk3MAkoZW1w
dHksIGJlY2F1c2UgZmlsZSBpcyBuZXdseSBhZGRlZCkNCj4gKysrIGhlYWQvc3lzL25ldGluZXQv
dGNwX3N0YWNrcy9iYnIuYwlUdWUgU2VwIDI0IDE4OjE4OjExIDIwMTkJKHIzNTI2NTcpDQo+IEBA
IC0wLDAgKzEsMTUxODkgQEANCj4gKy8qLQ0KPiArICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMTkN
Cj4gKyAqCU5ldGZsaXggSW5jLg0KPiArICogICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiAr
ICoNCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dA0KPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+ICsgKiBhcmUgbWV0Og0KPiAr
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQNCj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlDQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KPiArICoNCj4gKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EDQo+ICsgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQo+ICsgKiBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUNCj4gKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQo+ICsgKiBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUw0KPiArICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pDQo+ICsgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVA0KPiArICog
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQ0KPiArICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KPiArICogU1VDSCBEQU1BR0Uu
DQo+ICsgKg0KPiArICovDQo+ICsvKioNCj4gKyAqIEF1dGhvcjogUmFuZGFsbCBTdGV3YXJ0IDxy
cnNAbmV0ZmxpeC5jb20+DQo+ICsgKiBUaGlzIHdvcmsgaXMgYmFzZWQgb24gdGhlIEFDTSBRdWV1
ZSBwYXBlcg0KPiArICogQkJSIC0gQ29uZ2VzdGlvbiBCYXNlZCBDb25nZXN0aW9uIENvbnRyb2wN
Cj4gKyAqIGFuZCBhbHNvIG51bWVyb3VzIGRpc2N1c3Npb25zIHdpdGggTmVhbCwgWXVjaHVuZyBh
bmQgVmFuLg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4NCj4gK19fRkJT
RElEKCIkRnJlZUJTRCQiKTsNCj4gKw0KPiArI2luY2x1ZGUgIm9wdF9pbmV0LmgiDQo+ICsjaW5j
bHVkZSAib3B0X2luZXQ2LmgiDQo+ICsjaW5jbHVkZSAib3B0X2lwc2VjLmgiDQo+ICsjaW5jbHVk
ZSAib3B0X3RjcGRlYnVnLmgiDQo+ICsjaW5jbHVkZSAib3B0X3JhdGVsaW1pdC5oIg0KPiArI2lu
Y2x1ZGUgIm9wdF9rZXJuX3Rscy5oIg0KPiArI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KPiArI2lu
Y2x1ZGUgPHN5cy9tb2R1bGUuaD4NCj4gKyNpbmNsdWRlIDxzeXMva2VybmVsLmg+DQo+ICsjaWZk
ZWYgVENQX0hIT09LDQo+ICsjaW5jbHVkZSA8c3lzL2hob29rLmg+DQo+ICsjZW5kaWYNCj4gKyNp
bmNsdWRlIDxzeXMvbWFsbG9jLmg+DQo+ICsjaW5jbHVkZSA8c3lzL21idWYuaD4NCj4gKyNpbmNs
dWRlIDxzeXMvcHJvYy5oPg0KPiArI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCj4gKyNpbmNsdWRl
IDxzeXMvc29ja2V0dmFyLmg+DQo+ICsjaWZkZWYgS0VSTl9UTFMNCj4gKyNpbmNsdWRlIDxzeXMv
a3Rscy5oPg0KPiArI2VuZGlmDQo+ICsjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPg0KPiArI2luY2x1
ZGUgPHN5cy9zeXN0bS5oPg0KPiArI2luY2x1ZGUgPHN5cy9xbWF0aC5oPg0KPiArI2luY2x1ZGUg
PHN5cy90cmVlLmg+DQo+ICsjaWZkZWYgTkVURkxJWF9TVEFUUw0KPiArI2luY2x1ZGUgPHN5cy9z
dGF0cy5oPiAvKiBNdXN0IGNvbWUgYWZ0ZXIgcW1hdGguaCBhbmQgdHJlZS5oICovDQo+ICsjZW5k
aWYNCj4gKyNpbmNsdWRlIDxzeXMvcmVmY291bnQuaD4NCj4gKyNpbmNsdWRlIDxzeXMvcXVldWUu
aD4NCj4gKyNpbmNsdWRlIDxzeXMvZXZlbnRoYW5kbGVyLmg+DQo+ICsjaW5jbHVkZSA8c3lzL3Nt
cC5oPg0KPiArI2luY2x1ZGUgPHN5cy9rdGhyZWFkLmg+DQo+ICsjaW5jbHVkZSA8c3lzL2xvY2su
aD4NCj4gKyNpbmNsdWRlIDxzeXMvbXV0ZXguaD4NCj4gKyNpbmNsdWRlIDxzeXMvdGltX2ZpbHRl
ci5oPg0KPiArI2luY2x1ZGUgPHN5cy90aW1lLmg+DQo+ICsjaW5jbHVkZSA8dm0vdW1hLmg+DQo+
ICsjaW5jbHVkZSA8c3lzL2tlcm5fcHJlZmV0Y2guaD4NCj4gKw0KPiArI2luY2x1ZGUgPG5ldC9y
b3V0ZS5oPg0KPiArI2luY2x1ZGUgPG5ldC92bmV0Lmg+DQo+ICsNCj4gKyNkZWZpbmUgVENQU1RB
VEVTCQkvKiBmb3IgbG9nZ2luZyAqLw0KPiArDQo+ICsjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0K
PiArI2luY2x1ZGUgPG5ldGluZXQvaW5fa2R0cmFjZS5oPg0KPiArI2luY2x1ZGUgPG5ldGluZXQv
aW5fcGNiLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPg0KPiArI2luY2x1ZGUgPG5ldGlu
ZXQvaXBfaWNtcC5oPgkvKiByZXF1aXJlZCBmb3IgaWNtcF92YXIuaCAqLw0KPiArI2luY2x1ZGUg
PG5ldGluZXQvaWNtcF92YXIuaD4JLyogZm9yIElDTVBfQkFORExJTSAqLw0KPiArI2luY2x1ZGUg
PG5ldGluZXQvaXBfdmFyLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldC9pcDYuaD4NCj4gKyNpbmNs
dWRlIDxuZXRpbmV0Ni9pbjZfcGNiLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldDYvaXA2X3Zhci5o
Pg0KPiArI2RlZmluZQlUQ1BPVVRGTEFHUw0KPiArI2luY2x1ZGUgPG5ldGluZXQvdGNwLmg+DQo+
ICsjaW5jbHVkZSA8bmV0aW5ldC90Y3BfZnNtLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldC90Y3Bf
c2VxLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldC90Y3BfdGltZXIuaD4NCj4gKyNpbmNsdWRlIDxu
ZXRpbmV0L3RjcF92YXIuaD4NCj4gKyNpbmNsdWRlIDxuZXRpbmV0L3RjcGlwLmg+DQo+ICsjaW5j
bHVkZSA8bmV0aW5ldC90Y3BfaHB0cy5oPg0KPiArI2luY2x1ZGUgPG5ldGluZXQvY2MvY2MuaD4N
Cj4gKyNpbmNsdWRlIDxuZXRpbmV0L3RjcF9sb2dfYnVmLmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5l
dC90Y3BfcmF0ZWxpbWl0Lmg+DQo+ICsjaW5jbHVkZSA8bmV0aW5ldC90Y3BfbHJvLmg+DQo+ICsj
aWZkZWYgVENQREVCVUcNCj4gKyNpbmNsdWRlIDxuZXRpbmV0L3RjcF9kZWJ1Zy5oPg0KPiArI2Vu
ZGlmCQkJCS8qIFRDUERFQlVHICovDQo+ICsjaWZkZWYgVENQX09GRkxPQUQNCj4gKyNpbmNsdWRl
IDxuZXRpbmV0L3RjcF9vZmZsb2FkLmg+DQo+ICsjZW5kaWYNCj4gKyNpZmRlZiBJTkVUNg0KPiAr
I2luY2x1ZGUgPG5ldGluZXQ2L3RjcDZfdmFyLmg+DQo+ICsjZW5kaWYNCj4gKyNpbmNsdWRlIDxu
ZXRpbmV0L3RjcF9mYXN0b3Blbi5oPg0KPiArDQo+ICsjaW5jbHVkZSA8bmV0aXBzZWMvaXBzZWNf
c3VwcG9ydC5oPg0KPiArI2luY2x1ZGUgPG5ldC9pZi5oPg0KPiArI2luY2x1ZGUgPG5ldC9pZl92
YXIuaD4NCj4gKyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4NCj4gKw0KPiArI2lmIGRlZmluZWQo
SVBTRUMpIHx8IGRlZmluZWQoSVBTRUNfU1VQUE9SVCkNCj4gKyNpbmNsdWRlIDxuZXRpcHNlYy9p
cHNlYy5oPg0KPiArI2luY2x1ZGUgPG5ldGlwc2VjL2lwc2VjNi5oPg0KPiArI2VuZGlmCQkJCS8q
IElQU0VDICovDQo+ICsNCj4gKyNpbmNsdWRlIDxuZXRpbmV0L3VkcC5oPg0KPiArI2luY2x1ZGUg
PG5ldGluZXQvdWRwX3Zhci5oPg0KPiArI2luY2x1ZGUgPG1hY2hpbmUvaW5fY2tzdW0uaD4NCj4g
Kw0KPiArI2lmZGVmIE1BQw0KPiArI2luY2x1ZGUgPHNlY3VyaXR5L21hYy9tYWNfZnJhbWV3b3Jr
Lmg+DQo+ICsjZW5kaWYNCj4gKw0KPiArI2luY2x1ZGUgInNhY2tfZmlsdGVyLmgiDQo+ICsjaW5j
bHVkZSAidGNwX2Jici5oIg0KPiArI2luY2x1ZGUgInJhY2tfYmJyX2NvbW1vbi5oIg0KPiArdW1h
X3pvbmVfdCBiYnJfem9uZTsNCj4gK3VtYV96b25lX3QgYmJyX3BjYl96b25lOw0KPiArDQo+ICtz
dHJ1Y3Qgc3lzY3RsX2N0eF9saXN0IGJicl9zeXNjdGxfY3R4Ow0KPiArc3RydWN0IHN5c2N0bF9v
aWQgKmJicl9zeXNjdGxfcm9vdDsNCj4gKw0KPiArI2RlZmluZQlUQ1BUX1JBTkdFU0VUX05PU0xP
UCh0diwgdmFsdWUsIHR2bWluLCB0dm1heCkgZG8geyBcDQo+ICsJKHR2KSA9ICh2YWx1ZSk7IFwN
Cj4gKwlpZiAoKHVfbG9uZykodHYpIDwgKHVfbG9uZykodHZtaW4pKSBcDQo+ICsJCSh0dikgPSAo
dHZtaW4pOyBcDQo+ICsJaWYgKCh1X2xvbmcpKHR2KSA+ICh1X2xvbmcpKHR2bWF4KSkgXA0KPiAr
CQkodHYpID0gKHR2bWF4KTsgXA0KPiArfSB3aGlsZSgwKQ0KPiArDQo+ICsvKiNkZWZpbmUgQkJS
X0lOVkFSSUFOVCAxKi8NCj4gKw0KPiArLyoNCj4gKyAqIGluaXRpYWwgd2luZG93DQo+ICsgKi8N
Cj4gK3N0YXRpYyB1aW50MzJfdCBiYnJfZGVmX2luaXRfd2luID0gMTA7DQo+ICtzdGF0aWMgaW50
MzJfdCBiYnJfcGVyc2lzdF9taW4gPSAyNTAwMDA7CS8qIDI1MG1zICovDQo+ICtzdGF0aWMgaW50
MzJfdCBiYnJfcGVyc2lzdF9tYXggPSAxMDAwMDAwOwkvKiAxIFNlY29uZCAqLw0KPiArc3RhdGlj
IGludDMyX3QgYmJyX2N3bmRfbWF5X3NocmluayA9IDA7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJf
Y3duZHRhcmdldF9ydHRfdG91c2UgPSBCQlJfUlRUX1BST1A7DQo+ICtzdGF0aWMgaW50MzJfdCBi
YnJfbnVtX3BrdGVwb19mb3JfZGVsX2xpbWl0ID0gQkJSX05VTV9SVFRTX0ZPUl9ERUxfTElNSVQ7
DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfaGFyZHdhcmVfcGFjaW5nX2xpbWl0ID0gODAwMDsNCj4g
K3N0YXRpYyBpbnQzMl90IGJicl9xdWFudGEgPSAzOwkvKiBIb3cgbXVjaCBleHRyYSBxdWFudGEg
ZG8gd2UgZ2V0PyAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX25vX3JldHJhbiA9IDA7DQo+ICtz
dGF0aWMgaW50MzJfdCBiYnJfdGNwX21hcF9lbnRyaWVzX2xpbWl0ID0gMTUwMDsNCj4gK3N0YXRp
YyBpbnQzMl90IGJicl90Y3BfbWFwX3NwbGl0X2xpbWl0ID0gMjU2Ow0KPiArDQo+ICtzdGF0aWMg
aW50MzJfdCBiYnJfZXJyb3JfYmFzZV9wYWNlb3V0ID0gMTAwMDA7IC8qIHVzZWMgdG8gcGFjZSAq
Lw0KPiArc3RhdGljIGludDMyX3QgYmJyX21heF9uZXRfZXJyb3JfY250ID0gMTA7DQo+ICsvKiBT
aG91bGQgdGhlIGZvbGxvd2luZyBiZSBkeW5hbWljIHRvbyAtLSBsb3NzIHdpc2UgKi8NCj4gK3N0
YXRpYyBpbnQzMl90IGJicl9ydHRfZ2Fpbl90aHJlc2ggPSAwOw0KPiArLyogTWVhc3VyZW1lbnQg
Y29udHJvbHMgKi8NCj4gK3N0YXRpYyBpbnQzMl90IGJicl91c2VfZ29vZ2xlX2FsZ28gPSAxOw0K
PiArc3RhdGljIGludDMyX3QgYmJyX3RzX2xpbWl0aW5nID0gMTsNCj4gK3N0YXRpYyBpbnQzMl90
IGJicl90c19jYW5fcmFpc2UgPSAwOw0KPiArc3RhdGljIGludDMyX3QgYmJyX2RvX3JlZCA9IDYw
MDsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9yZWRfc2NhbGUgPSAyMDAwMDsNCj4gK3N0YXRpYyBp
bnQzMl90IGJicl9yZWRfbXVsID0gMTsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9yZWRfZGl2ID0g
MjsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9yZWRfZ3Jvd3RoX3Jlc3RyaWN0ID0gMTsNCj4gK3N0
YXRpYyBpbnQzMl90ICBiYnJfdGFyZ2V0X2lzX2JidW5pdCA9IDA7DQo+ICtzdGF0aWMgaW50MzJf
dCBiYnJfZHJvcF9saW1pdCA9IDA7DQo+ICsvKg0KPiArICogSG93IG11Y2ggZ2FpbiBkbyB3ZSBu
ZWVkIHRvIHNlZSB0bw0KPiArICogc3RheSBpbiBzdGFydHVwPw0KPiArICovDQo+ICtzdGF0aWMg
aW50MzJfdCBiYnJfbWFya3Nfcnh0X3NhY2tfcGFzc2VkID0gMDsNCj4gK3N0YXRpYyBpbnQzMl90
IGJicl9zdGFydF9leGl0ID0gMjU7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfbG93X3N0YXJ0X2V4
aXQgPSAyNTsJLyogV2hlbiB3ZSBhcmUgaW4gcmVkdWNlZCBnYWluICovDQo+ICtzdGF0aWMgaW50
MzJfdCBiYnJfc3RhcnR1cF9sb3NzX3RocmVzaCA9IDIwMDA7CS8qIDIwLjAwJSBsb3NzICovDQo+
ICtzdGF0aWMgaW50MzJfdCBiYnJfaHB0c2lfbWF4X211bCA9IDE7CS8qIFRoZXNlIHR3byBtdWwv
ZGl2IGFzc3VyZSBhIG1pbiBwYWNpbmcgKi8NCj4gK3N0YXRpYyBpbnQzMl90IGJicl9ocHRzaV9t
YXhfZGl2ID0gMjsJLyogdGltZSwgMCBtZWFucyB0dXJuZWQgb2ZmLiBXZSBuZWVkIHRoaXMNCj4g
KwkJCQkJICogaWYgd2UgZ28gYmFjayBldmVyIHRvIHdoZXJlIHRoZSBwYWNlcg0KPiArCQkJCQkg
KiBoYXMgcHJpb3JpdHkgb3ZlciB0aW1lcnMuDQo+ICsJCQkJCSAqLw0KPiArc3RhdGljIGludDMy
X3QgYmJyX3BvbGljZXJfY2FsbF9mcm9tX3JhY2tfdG8gPSAwOw0KPiArc3RhdGljIGludDMyX3Qg
YmJyX3BvbGljZXJfZGV0ZWN0aW9uX2VuYWJsZWQgPSAxOw0KPiArc3RhdGljIGludDMyX3QgYmJy
X21pbl9tZWFzdXJlbWVudHNfcmVxID0gMTsJLyogV2UgbmVlZCBhdCBsZWFzdCAyDQo+ICsJCQkJ
CQkgKiBtZWFzdXJtZW50cyBiZWZvcmUgd2UgYXJlDQo+ICsJCQkJCQkgKiAiZ29vZCIgbm90ZSB0
aGF0IDIgPT0gMS4NCj4gKwkJCQkJCSAqIFRoaXMgaXMgYmVjYXVzZSB3ZSB1c2UgYSA+DQo+ICsJ
CQkJCQkgKiBjb21wYXJpc29uLiBUaGlzIG1lYW5zIGlmDQo+ICsJCQkJCQkgKiBtaW5fbWVhc3Vy
ZSB3YXMgMCwgaXQgdGFrZXMNCj4gKwkJCQkJCSAqIG51bS1tZWFzdXJlcyA+IG1pbigwKSBhbmQN
Cj4gKwkJCQkJCSAqIHlvdSBnZXQgMSBtZWFzdXJlbWVudCBhbmQNCj4gKwkJCQkJCSAqIHlvdSBh
cmUgZ29vZC4gU2V0IHRvIDEsIHlvdQ0KPiArCQkJCQkJICogaGF2ZSB0byBoYXZlIHR3bw0KPiAr
CQkJCQkJICogbWVhc3VyZW1lbnRzICh0aGlzIGlzIGRvbmUNCj4gKwkJCQkJCSAqIHRvIHByZXZl
bnQgaXQgZnJvbSBiZWluZyBvaw0KPiArCQkJCQkJICogdG8gaGF2ZSBubyBtZWFzdXJlbWVudHMp
LiAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX25vX3BhY2luZ191bnRpbCA9IDQ7DQo+ICsJCQkJ
CQkgDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfbWluX3VzZWNfZGVsdGEgPSAyMDAwMDsJLyogMjAs
MDAwIHVzZWNzICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfbWluX3BlZXJfZGVsdGEgPSAyMDsJ
CS8qIDIwIHVuaXRzICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfZGVsdGFfcGVyY2VudCA9IDE1
MDsJCS8qIDE1LjAgJSAqLw0KPiArDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfdGFyZ2V0X2N3bmRf
bXVsdF9saW1pdCA9IDg7DQo+ICsvKg0KPiArICogYmJyX2N3bmRfbWluX3ZhbCBpcyB0aGUgbnVt
YmVyIG9mDQo+ICsgKiBzZWdtZW50cyB3ZSBob2xkIHRvIGluIHRoZSBSVFQgcHJvYmUNCj4gKyAq
IHN0YXRlIHR5cGljYWxseSA0Lg0KPiArICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfY3duZF9t
aW5fdmFsID0gQkJSX1BST0JFUlRUX05VTV9NU1M7DQo+ICsNCj4gKw0KPiArc3RhdGljIGludDMy
X3QgYmJyX2N3bmRfbWluX3ZhbF9ocyA9IEJCUl9ISUdIU1BFRURfTlVNX01TUzsNCj4gKw0KPiAr
c3RhdGljIGludDMyX3QgYmJyX2dhaW5fdG9fdGFyZ2V0ID0gMTsNCj4gK3N0YXRpYyBpbnQzMl90
IGJicl9nYWluX2dldHNfZXh0cmFfdG9vID0gMTsNCj4gKy8qDQo+ICsgKiBiYnJfaGlnaF9nYWlu
IGlzIHRoZSAyL2xuKDIpIHZhbHVlIHdlIG5lZWQNCj4gKyAqIHRvIGRvdWJsZSB0aGUgc2VuZGlu
ZyByYXRlIGluIHN0YXJ0dXAuIFRoaXMNCj4gKyAqIGlzIHVzZWQgZm9yIGJvdGggY3duZCBhbmQg
aHB0c2kgZ2FpbidzLg0KPiArICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfaGlnaF9nYWluID0g
QkJSX1VOSVQgKiAyODg1IC8gMTAwMCArIDE7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfc3RhcnR1
cF9sb3dlciA9IEJCUl9VTklUICogMTUwMCAvIDEwMDAgKyAxOw0KPiArc3RhdGljIGludDMyX3Qg
YmJyX3VzZV9sb3dlcl9nYWluX2luX3N0YXJ0dXAgPSAxOw0KPiArDQo+ICsvKiB0aHJlc2hvbGRz
IGZvciByZWR1Y3Rpb24gb24gZHJhaW4gaW4gc3ViLXN0YXRlcy9kcmFpbiAqLw0KPiArc3RhdGlj
IGludDMyX3QgYmJyX2RyYWluX3J0dCA9IEJCUl9TUlRUOw0KPiArc3RhdGljIGludDMyX3QgYmJy
X2RyYWluX2Zsb29yID0gODg7DQo+ICtzdGF0aWMgaW50MzJfdCBnb29nbGVfYWxsb3dfZWFybHlf
b3V0ID0gMTsNCj4gK3N0YXRpYyBpbnQzMl90IGdvb2dsZV9jb25zaWRlcl9sb3N0ID0gMTsNCj4g
K3N0YXRpYyBpbnQzMl90IGJicl9kcmFpbl9kcm9wX211bCA9IDQ7DQo+ICtzdGF0aWMgaW50MzJf
dCBiYnJfZHJhaW5fZHJvcF9kaXYgPSA1Ow0KPiArc3RhdGljIGludDMyX3QgYmJyX3JhbmRfb3Qg
PSA1MDsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9jYW5fZm9yY2VfcHJvYmVydHQgPSAwOw0KPiAr
c3RhdGljIGludDMyX3QgYmJyX2Nhbl9hZGp1c3RfcHJvYmVydHQgPSAxOw0KPiArc3RhdGljIGlu
dDMyX3QgYmJyX3Byb2JlcnR0X3NldHNfcnR0ID0gMDsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9j
YW5fdXNlX3RzX2Zvcl9ydHQgPSAxOw0KPiArc3RhdGljIGludDMyX3QgYmJyX2lzX3JhdGlvID0g
MDsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9zdWJfZHJhaW5fYXBwX2xpbWl0ID0gMTsNCj4gK3N0
YXRpYyBpbnQzMl90IGJicl9wcnR0X3NsYW1fY3duZCA9IDE7DQo+ICtzdGF0aWMgaW50MzJfdCBi
YnJfc3ViX2RyYWluX3NsYW1fY3duZCA9IDE7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfc2xhbV9j
d25kX2luX21haW5fZHJhaW4gPSAxOw0KPiArc3RhdGljIGludDMyX3QgYmJyX2ZpbHRlcl9sZW5f
c2VjID0gNjsJLyogSG93IGxvbmcgZG9lcyB0aGUgcnR0UHJvcCBmaWx0ZXINCj4gKwkJCQkJICog
aG9sZCAqLw0KPiArc3RhdGljIHVpbnQzMl90IGJicl9ydHRfcHJvYmVfbGltaXQgPSAoVVNFQ1Nf
SU5fU0VDT05EICogNCk7DQo+ICsvKg0KPiArICogYmJyX2RyYWluX2dhaW4gaXMgdGhlIHJldmVy
c2Ugb2YgdGhlIGhpZ2hfZ2Fpbg0KPiArICogZGVzaWduZWQgdG8gZHJhaW4gYmFjayBvdXQgdGhl
IHN0YW5kaW5nIHF1ZXVlDQo+ICsgKiB0aGF0IGlzIGZvcm1lZCBpbiBzdGFydHVwIGJ5IGNhdXNp
bmcgYSBsYXJnZXINCj4gKyAqIGhwdHNpIGdhaW4gYW5kIHRodXMgZHJhaW5naW5nIHRoZSBwYWNr
ZXRzDQo+ICsgKiBpbiBmbGlnaHQuDQo+ICsgKi8NCj4gK3N0YXRpYyBpbnQzMl90IGJicl9kcmFp
bl9nYWluID0gQkJSX1VOSVQgKiAxMDAwIC8gMjg4NTsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9y
dHRwcm9iZV9nYWluID0gMTkyOw0KPiArDQo+ICsvKg0KPiArICogVGhlIGN3bmRfZ2FpbiBpcyB0
aGUgZGVmYXVsdCBjd25kIGdhaW4gYXBwbGllZCB3aGVuDQo+ICsgKiBjYWxjdWxhdGluZyBhIHRh
cmdldCBjd25kLiBOb3RlIHRoYXQgdGhlIGN3bmQgaXMNCj4gKyAqIGEgc2Vjb25kYXJ5IGZhY3Rv
ciBpbiB0aGUgd2F5IEJCUiB3b3JrcyAoc2VlIHRoZQ0KPiArICogcGFwZXIgYW5kIHRoaW5rIGFi
b3V0IGl0LCBpdCB3aWxsIHRha2Ugc29tZSB0aW1lKS4NCj4gKyAqIEJhc2ljYWxseSB0aGUgaHB0
c2lfZ2FpbiBzcHJlYWRzIHRoZSBwYWNrZXRzIG91dA0KPiArICogc28geW91IG5ldmVyIGdldCBt
b3JlIHRoYW4gQkRQIHRvIHRoZSBwZWVyIGV2ZW4NCj4gKyAqIGlmIHRoZSBjd25kIGlzIGhpZ2gu
IEluIG91ciBpbXBsZW1lbmF0aW9uIHRoYXQNCj4gKyAqIG1lYW5zIGluIG5vbi1yZWNvdmVyeS9y
ZXRyYW5zbWlzc2lvbiBzY2VuYXJpb3MNCj4gKyAqIGN3bmQgd2lsbCBuZXZlciBiZSByZWFjaGVk
IGJ5IHRoZSBmbGlnaHQtc2l6ZS4NCj4gKyAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX2N3bmRf
Z2FpbiA9IEJCUl9VTklUICogMjsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl90bHBfdHlwZV90b191
c2UgPSBCQlJfU1JUVDsNCj4gK3N0YXRpYyBpbnQzMl90IGJicl9kZWxhY2tfdGltZSA9IDEwMDAw
MDsJLyogMTAwbXMgaW4gdXNlY29uZHMgKi8NCj4gK3N0YXRpYyBpbnQzMl90IGJicl9zYWNrX25v
dF9yZXF1aXJlZCA9IDA7CS8qIHNldCB0byBvbmUgdG8gYWxsb3cgbm9uLXNhY2sgdG8gdXNlIGJi
cg0KPiAqLyArc3RhdGljIGludDMyX3QgYmJyX2luaXRpYWxfYndfYnBzID0gNjI1MDA7CS8qIDUw
MGticHMgaW4gYnl0ZXMgcHMgKi8NCj4gK3N0YXRpYyBpbnQzMl90IGJicl9pZ25vcmVfZGF0YV9h
ZnRlcl9jbG9zZSA9IDE7DQo+ICtzdGF0aWMgaW50MTZfdCBiYnJfaHB0c2lfZ2FpbltdID0gew0K
PiArCShCQlJfVU5JVCAqNSAvIDQpLA0KPiArCShCQlJfVU5JVCAqIDMgLyA0KSwNCj4gKwlCQlJf
VU5JVCwNCj4gKwlCQlJfVU5JVCwNCj4gKwlCQlJfVU5JVCwNCj4gKwlCQlJfVU5JVCwNCj4gKwlC
QlJfVU5JVCwNCj4gKwlCQlJfVU5JVA0KPiArfTsNCj4gK2ludDMyX3QgYmJyX3VzZV9yYWNrX3Jl
c2VuZF9jaGVhdCA9IDE7DQo+ICtpbnQzMl90IGJicl9zZW5kc19mdWxsX2l3bmQgPSAxOw0KPiAr
DQo+ICsjZGVmaW5lIEJCUl9IUFRTSV9HQUlOX01BWCA4DQo+ICsvKg0KPiArICogVGhlIEJCUiBt
b2R1bGUgaW5jb3Jwb3JhdGVzIGEgbnVtYmVyIG9mDQo+ICsgKiBUQ1AgaWRlYXMgdGhhdCBoYXZl
IGJlZW4gcHV0IG91dCBpbnRvIHRoZSBJRVRGDQo+ICsgKiBvdmVyIHRoZSBsYXN0IGZldyB5ZWFy
czoNCj4gKyAqIC0gWXVjaHVuZyBDaGVuZydzIFJBQ0sgVENQIChmb3Igd2hpY2ggaXRzIG5hbWVk
KSB0aGF0DQo+ICsgKiAgICB3aWxsIHN0b3AgdXMgdXNpbmcgdGhlIG51bWJlciBvZiBkdXAgYWNr
cyBhbmQgaW5zdGVhZA0KPiArICogICAgdXNlIHRpbWUgYXMgdGhlIGdhZ2Ugb2Ygd2hlbiB3ZSBy
ZXRyYW5zbWl0Lg0KPiArICogLSBSZW9yZGVyIERldGVjdGlvbiBvZiBSRkM0NzM3IGFuZCB0aGUg
VGFpbC1Mb3NzIHByb2JlIGRyYWZ0DQo+ICsgKiAgICBvZiBEdWtraXBhdGkgZXQuYWwuDQo+ICsg
KiAtIFZhbiBKYWNvYnNvbidzIGV0LmFsIEJCUi4NCj4gKyAqDQo+ICsgKiBSQUNLIGRlcGVuZHMg
b24gU0FDSywgc28gaWYgYW4gZW5kcG9pbnQgYXJyaXZlcyB0aGF0DQo+ICsgKiBjYW5ub3QgZG8g
U0FDSyB0aGUgc3RhdGUgbWFjaGluZSBiZWxvdyB3aWxsIHNodXR0bGUgdGhlDQo+ICsgKiBjb25u
ZWN0aW9uIGJhY2sgdG8gdXNpbmcgdGhlICJkZWZhdWx0IiBUQ1Agc3RhY2sgdGhhdCBpcw0KPiAr
ICogaW4gRnJlZUJTRC4NCj4gKyAqDQo+ICsgKiBUbyBpbXBsZW1lbnQgQkJSIGFuZCBSQUNLIHRo
ZSBvcmlnaW5hbCBUQ1Agc3RhY2sgd2FzIGZpcnN0IGRlY29tcG9zZWQNCj4gKyAqIGludG8gYSBm
dW5jdGlvbmFsIHN0YXRlIG1hY2hpbmUgd2l0aCBpbmRpdmlkdWFsIHN0YXRlcw0KPiArICogZm9y
IGVhY2ggb2YgdGhlIHBvc3NpYmxlIFRDUCBjb25uZWN0aW9uIHN0YXRlcy4gVGhlIGRvX3NlZ2Vt
ZW50DQo+ICsgKiBmdW5jdGlvbnMgcm9sZSBpbiBsaWZlIGlzIHRvIG1hbmRhdGUgdGhlIGNvbm5l
Y3Rpb24gc3VwcG9ydHMgU0FDSw0KPiArICogaW5pdGlhbGx5IGFuZCB0aGVuIGFzc3VyZSB0aGF0
IHRoZSBSQUNLIHN0YXRlIG1hdGNoZXMgdGhlIGNvbmVuY3Rpb24NCj4gKyAqIHN0YXRlIGJlZm9y
ZSBjYWxsaW5nIHRoZSBzdGF0ZXMgZG9fc2VnbWVudCBmdW5jdGlvbi4gRGF0YSBwcm9jZXNzaW5n
DQo+ICsgKiBvZiBpbmJvdW5kIHNlZ21lbnRzIGFsc28gbm93IGhhcHBlbnMgaW4gdGhlIGhwdHNf
ZG9fc2VnbWVudCBpbiBnZW5lcmFsDQo+ICsgKiB3aXRoIG9ubHkgb25lIGV4Y2VwdGlvbi4gVGhp
cyBpcyBzbyB3ZSBjYW4ga2VlcCB0aGUgY29ubmVjdGlvbiBvbg0KPiArICogYSBzaW5nbGUgQ1BV
Lg0KPiArICoNCj4gKyAqIEVhY2ggc3RhdGUgaXMgc2ltcGxpZmllZCBkdWUgdG8gdGhlIGZhY3Qg
dGhhdCB0aGUgb3JpZ2luYWwgZG9fc2VnbWVudA0KPiArICogaGFzIGJlZW4gZGVjb21wb3NlZCBh
bmQgd2UgKmtub3cqIHdoYXQgc3RhdGUgd2UgYXJlIGluIChubw0KPiArICogc3dpdGNoZXMgb24g
dGhlIHN0YXRlKSBhbmQgYWxsIHRlc3RzIGZvciBTQUNLIGFyZSBnb25lLiBUaGlzDQo+ICsgKiBn
cmVhdGx5IHNpbXBsaWZpZXMgd2hhdCBlYWNoIHN0YXRlIGRvZXMuDQo+ICsgKg0KPiArICogVENQ
IG91dHB1dCBpcyBhbHNvIG92ZXItd3JpdHRlbiB3aXRoIGEgbmV3IHZlcnNpb24gc2luY2UgaXQN
Cj4gKyAqIG11c3QgbWFpbnRhaW4gdGhlIG5ldyByYWNrIHNjb3JlYm9hcmQgYW5kIGhhcyBoYWQg
aHB0c2kNCj4gKyAqIGludGVncmF0ZWQgYXMgYSByZXF1aXJtZW50LiBTdGlsbCB0b2RvIGlzIHRv
IGVsaW1pbmF0ZSB0aGUNCj4gKyAqIHVzZSBvZiB0aGUgY2FsbG91dF8oKSBzeXN0ZW0gYW5kIHVz
ZSB0aGUgaHB0cyBmb3IgYWxsDQo+ICsgKiB0aW1lcnMgYXMgd2VsbC4NCj4gKyAqLw0KPiArc3Rh
dGljIHVpbnQzMl90IGJicl9ydHRfcHJvYmVfdGltZSA9IDIwMDAwMDsJLyogMjAwbXMgaW4gbWlj
cm8gc2Vjb25kcyAqLw0KPiArc3RhdGljIHVpbnQzMl90IGJicl9ydHRfcHJvYmVfY3duZHRhcmcg
PSA0OwkvKiBIb3cgbWFueSBtc3MncyBvdXRzdGFuZGluZyAqLw0KPiArc3RhdGljIGNvbnN0IGlu
dDMyX3QgYmJyX21pbl9yZXFfZnJlZSA9IDI7CS8qIFRoZSBtaW4gd2UgbXVzdCBoYXZlIG9uIHRo
ZQ0KPiArCQkJCQkJICogZnJlZSBsaXN0ICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfdGxwX3Ro
cmVzaCA9IDE7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfcmVvcmRlcl90aHJlc2ggPSAyOw0KPiAr
c3RhdGljIGludDMyX3QgYmJyX3Jlb3JkZXJfZmFkZSA9IDYwMDAwMDAwOwkvKiAwIC0gbmV2ZXIg
ZmFkZSwgZGVmDQo+ICsJCQkJCQkgKiA2MCwwMDAsMDAwIC0gNjAgc2Vjb25kcyAqLw0KPiArc3Rh
dGljIGludDMyX3QgYmJyX3BrdF9kZWxheSA9IDEwMDA7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJf
bWluX3RvID0gMTAwMDsJLyogTnVtYmVyIG9mIHVzZWMncyBtaW5pbXVtIHRpbWVvdXQgKi8NCj4g
K3N0YXRpYyBpbnQzMl90IGJicl9pbmNyX3RpbWVycyA9IDE7DQo+ICsNCj4gK3N0YXRpYyBpbnQz
Ml90IGJicl90bHBfbWluID0gMTAwMDA7CS8qIDEwbXMgaW4gdXNlY3MgKi8NCj4gK3N0YXRpYyBp
bnQzMl90IGJicl9kZWxheWVkX2Fja190aW1lID0gMjAwMDAwOwkvKiAyMDBtcyBpbiB1c2VjcyAq
Lw0KPiArc3RhdGljIGludDMyX3QgYmJyX2V4aXRfc3RhcnR1cF9hdF9sb3NzID0gMTsNCj4gKw0K
PiArLyoNCj4gKyAqIGJicl9sdF9id19yYXRpbyBpcyAxLzh0aA0KPiArICogYmJyX2x0X2J3X2Rp
ZmYgaXMgIDwgNCBLYml0L3NlYw0KPiArICovDQo+ICtzdGF0aWMgdWludDY0X3QgYmJyX2x0X2J3
X2RpZmYgPSA0MDAwIC8gODsJLyogSW4gYnl0ZXMgcGVyIHNlY29uZCAqLw0KPiArc3RhdGljIHVp
bnQ2NF90IGJicl9sdF9id19yYXRpbyA9IDg7CS8qIEZvciAxLzh0aCAqLw0KPiArc3RhdGljIHVp
bnQzMl90IGJicl9sdF9id19tYXhfcnR0cyA9IDQ4OwkvKiBIb3cgbWFueSBydHQncyBkbyB3ZSB1
c2UNCj4gKwkJCQkJCSAqIHRoZSBsdF9idyBmb3IgKi8NCj4gK3N0YXRpYyB1aW50MzJfdCBiYnJf
bHRfaW50dmxfbWluX3J0dHMgPSA0OwkvKiBNaW4gbnVtIG9mIFJUVCdzIHRvIG1lYXN1cmUNCj4g
KwkJCQkJCSAqIGx0X2J3ICovDQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfbHRfaW50dmxfZnAgPSAw
OwkJLyogRmFsc2UgcG9zaXRpdmUgZXBvY2ggZGlmZiAqLw0KPiArc3RhdGljIGludDMyX3QgYmJy
X2x0X2xvc3NfdGhyZXNoID0gMTk2OwkvKiBMb3N0IHZzIGRlbGl2ZXJlZCAlICovDQo+ICtzdGF0
aWMgaW50MzJfdCBiYnJfbHRfZmRfdGhyZXNoID0gMTAwOwkJLyogZmFsc2UgZGV0ZWN0aW9uICUg
Ki8NCj4gKw0KPiArc3RhdGljIGludDMyX3QgYmJyX3ZlcmJvc2VfbG9nZ2luZyA9IDA7DQo+ICsv
Kg0KPiArICogQ3VycmVudGx5IHJlZ3VsYXIgdGNwIGhhcyBhIHJ0b19taW4gb2YgMzBtcw0KPiAr
ICogdGhlIGJhY2tvZmYgZ29lcyAxMiB0aW1lcyBzbyB0aGF0IGVuZHMgdXANCj4gKyAqIGJlaW5n
IGEgdG90YWwgb2YgMTIyLjg1MCBzZWNvbmRzIGJlZm9yZSBhDQo+ICsgKiBjb25uZWN0aW9uIGlz
IGtpbGxlZC4NCj4gKyAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX3J0b19taW5fbXMgPSAzMDsJ
LyogMzBtcyBzYW1lIGFzIG1haW4gZnJlZWJzZCAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX3J0
b19tYXhfc2VjID0gNDsJLyogNCBzZWNvbmRzICovDQo+ICsNCj4gKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KPiArLyogREVGQVVMVCBUU08g
U0laSU5HICAoY3B1IHBlcmZvcm1hbmNlIGltcGFjdGluZykgICovDQo+ICsvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCj4gKy8qIFdoYXQgYW1v
dW50IGlzIG91ciBmb3JtdWxhIHVzaW5nIHRvIGdldCBUU08gc2l6ZSAqLw0KPiArc3RhdGljIGlu
dDMyX3QgYmJyX2hwdHNpX3Blcl9zZWNvbmQgPSAxMDAwOw0KPiArDQo+ICsvKg0KPiArICogRm9y
IGhwdHNpIHVuZGVyIGJicl9jcm9zc19vdmVyIGNvbm5lY3Rpb25zIHdoYXQgaXMgZGVsYXkgDQo+
ICsgKiB0YXJnZXQgN21zIChpbiB1c2VjKSBjb21iaW5lZCB3aXRoIGEgc2VnX21heCBvZiAyDQo+
ICsgKiBnZXRzIHVzIGNsb3NlIHRvIGlkZW50aWNhbCBnb29nbGUgYmVoYXZpb3IgaW4gDQo+ICsg
KiBUU08gc2l6ZSBzZWxlY3Rpb24gKHBvc3NpYmx5IG1vcmUgMU1TUyBzZW5kcykuDQo+ICsgKi8N
Cj4gK3N0YXRpYyBpbnQzMl90IGJicl9ocHRzaV9zZWdtZW50c19kZWxheV90YXIgPSA3MDAwOw0K
PiArDQo+ICsvKiBEb2VzIHBhY2luZyBkZWxheSBpbmNsdWRlIG92ZXJoZWFkJ3MgaW4gaXRzIHRp
bWUgY2FsY3VsYXRpb25zPyAqLw0KPiArc3RhdGljIGludDMyX3QgYmJyX2luY2x1ZGVfZW5ldF9v
aCA9IDA7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfaW5jbHVkZV9pcF9vaCA9IDE7DQo+ICtzdGF0
aWMgaW50MzJfdCBiYnJfaW5jbHVkZV90Y3Bfb2ggPSAxOw0KPiArc3RhdGljIGludDMyX3QgYmJy
X2dvb2dsZV9kaXNjb3VudCA9IDEwOw0KPiArDQo+ICsvKiBEbyB3ZSB1c2UgKG5mIG1vZGUpIHBr
dC1lcG9jaCB0byBkcml2ZSB1cyBvciBydHRQcm9wPyAqLw0KPiArc3RhdGljIGludDMyX3QgYmJy
X3N0YXRlX2lzX3BrdF9lcG9jaCA9IDA7DQo+ICtzdGF0aWMgaW50MzJfdCBiYnJfc3RhdGVfZHJh
aW5fMl90YXIgPSAxOw0KPiArLyogV2hhdCBpcyB0aGUgbWF4IHRoZSAwIC0gYmJyX2Nyb3NzX292
ZXIgTUJQUyBUU08gdGFyZ2V0DQo+ICsgKiBjYW4gcmVhY2ggdXNpbmcgb3VyIGRlbGF5IHRhcmdl
dC4gTm90ZSB0aGF0IHRoaXMNCj4gKyAqIHZhbHVlIGJlY29tZXMgdGhlIGZsb29yIGZvciB0aGUg
Y3Jvc3Mgb3Zlcg0KPiArICogYWxnb3JpdGhtLg0KPiANCj4gKioqIERJRkYgT1VUUFVUIFRSVU5D
QVRFRCBBVCAxMDAwIExJTkVTICoqKg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXw0KPiBzdm4tc3JjLWhlYWRAZnJlZWJzZC5vcmcgbWFpbGluZyBsaXN0
DQo+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5mby9zdm4tc3JjLWhl
YWQNCg0KPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFpbCB0byAic3ZuLXNyYy1oZWFkLXVu
c3Vic2NyaWJlQGZyZWVic2Qub3JnIg0KDQpUaGlzIGJyZWFrIGtlcm5lbCBidWlsZHM6DQoNClsu
Li5dDQovdXNyL3NyYy9zeXMvbW9kdWxlcy90Y3AvYmJyLy4uLy4uLy4uL25ldGluZXQvdGNwX3N0
YWNrcy9iYnIuYzo1NjEzOjk6IGVycm9yOiBpbXBsaWNpdA0KZGVjbGFyYXRpb24gb2YgZnVuY3Rp
b24gJ3RjcF9jaGdfcGFjaW5nX3JhdGUnIGlzIGludmFsaWQgaW4gQzk5DQpbLVdlcnJvciwtV2lt
cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXSBucnRlID0gdGNwX2NoZ19wYWNpbmdfcmF0ZShi
YnItPnJfY3RsLmNydGUsIF4NCi91c3Ivc3JjL3N5cy9tb2R1bGVzL3RjcC9iYnIvLi4vLi4vLi4v
bmV0aW5ldC90Y3Bfc3RhY2tzL2Jici5jOjU2MTM6OTogZXJyb3I6IHRoaXMgZnVuY3Rpb24NCmRl
Y2xhcmF0aW9uIGlzIG5vdCBhIHByb3RvdHlwZSBbLVdlcnJvciwtV3N0cmljdC1wcm90b3R5cGVz
XQ0KL3Vzci9zcmMvc3lzL21vZHVsZXMvdGNwL2Jici8uLi8uLi8uLi9uZXRpbmV0L3RjcF9zdGFj
a3MvYmJyLmM6NTYxMzo3OiBlcnJvcjogaW5jb21wYXRpYmxlDQppbnRlZ2VyIHRvIHBvaW50ZXIg
Y29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ2NvbnN0IHN0cnVjdCB0Y3BfaHdyYXRlX2xpbWl0X3Rh
YmxlIConIGZyb20gJ2ludCcNClstV2Vycm9yLC1XaW50LWNvbnZlcnNpb25dIG5ydGUgPSB0Y3Bf
Y2hnX3BhY2luZ19yYXRlKGJici0+cl9jdGwuY3J0ZSwgXg0Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+IC0tLSBhbGxfc3ViZGlyX3RvZWNvcmUgLS0tIEJ1aWxkaW5nDQovdXNy
L29iai91c3Ivc3JjL2FtZDY0LmFtZDY0L3N5cy9USE9SL21vZHVsZXMvdXNyL3NyYy9zeXMvbW9k
dWxlcy90b2Vjb3JlL3RvZWNvcmUua28gLS0tDQphbGxfc3ViZGlyX3RjcCAtLS0gL3Vzci9zcmMv
c3lzL21vZHVsZXMvdGNwL2Jici8uLi8uLi8uLi9uZXRpbmV0L3RjcF9zdGFja3MvYmJyLmM6MTA0
NDM6NDoNCmVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAndGNwX3JlbF9w
YWNpbmdfcmF0ZScgaXMgaW52YWxpZCBpbiBDOTkNClstV2Vycm9yLC1XaW1wbGljaXQtZnVuY3Rp
b24tZGVjbGFyYXRpb25dIHRjcF9yZWxfcGFjaW5nX3JhdGUoYmJyLT5yX2N0bC5jcnRlLCBiYnIt
PnJjX3RwKTsgXg0KLSAtLS0gYWxsX3N1YmRpcl90cG0gLS0tDQo9PT0+IHRwbSAoYWxsKQ0KLSAt
LS0gYWxsX3N1YmRpcl90Y3AgLS0tDQovdXNyL3NyYy9zeXMvbW9kdWxlcy90Y3AvYmJyLy4uLy4u
Ly4uL25ldGluZXQvdGNwX3N0YWNrcy9iYnIuYzoxMDQ0Mzo0OiBlcnJvcjogdGhpcyBmdW5jdGlv
bg0KZGVjbGFyYXRpb24gaXMgbm90IGEgcHJvdG90eXBlIFstV2Vycm9yLC1Xc3RyaWN0LXByb3Rv
dHlwZXNdIC0tLSBhbGxfc3ViZGlyX3RybSAtLS0NCj09PT4gdHJtIChhbGwpDQotIC0tLSBhbGxf
c3ViZGlyX3RjcCAtLS0NCi91c3Ivc3JjL3N5cy9tb2R1bGVzL3RjcC9iYnIvLi4vLi4vLi4vbmV0
aW5ldC90Y3Bfc3RhY2tzL2Jici5jOjE0MzA3OjIxOiBlcnJvcjogaW1wbGljaXQNCmRlY2xhcmF0
aW9uIG9mIGZ1bmN0aW9uICd0Y3Bfc2V0X3BhY2luZ19yYXRlJyBpcyBpbnZhbGlkIGluIEM5OQ0K
Wy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0gYmJyLT5yX2N0bC5jcnRl
ID0gdGNwX3NldF9wYWNpbmdfcmF0ZShiYnItPnJjX3RwLCANCg0KLSAtLSANCk8uIEhhcnRtYW5u
DQoNCkljaCB3aWRlcnNwcmVjaGUgZGVyIE51dHp1bmcgb2RlciDDnGJlcm1pdHRsdW5nIG1laW5l
ciBEYXRlbiBmw7xyDQpXZXJiZXp3ZWNrZSBvZGVyIGbDvHIgZGllIE1hcmt0LSBvZGVyIE1laW51
bmdzZm9yc2NodW5nICjCpyAyOCBBYnMuIDQgQkRTRykuDQotLS0tLUJFR0lOIFBHUCBTSUdOQVRV
UkUtLS0tLQ0KDQppSFVFQVJZSUFCMFdJUVN5OElCeEFQRGtxVkJhVEo0NE4xWlpQYmE1UndVQ1hZ
cHVqZ0FLQ1JBNE4xWlpQYmE1DQpSN2J3QVFEOWNnSmdKeWI1UHFYOEE4eDlSK0g5VHVuOWIrWVNn
NFROSzN2UC9WZmZId0VBOE1OMkIvUVR2aEpjDQpXSVN5c2lMSGVPclFLR2hDSmJ0alcyUlVicHJM
ZkFZPQ0KPTBoSXUNCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ0K



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190924212918.01e52920>