[OpenAFS-devel] Re: [PATCH 1/2] afs, bash: Fix open(O_CREAT) on an extant AFS file in
a sticky dir
Jeffrey E Altman
jaltman@auristor.com
Thu, 29 May 2025 20:11:59 -0400
This is a cryptographically signed message in MIME format.
--------------ms030208020606050101070306
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
DQpPbiA1LzE5LzIwMjUgMTI6MTEgUE0sIERhdmlkIEhvd2VsbHMgd3JvdGU6DQo+IFNpbmNl
IHZlcnNpb24gMS4xMSAoSmFudWFyeSAxOTkyKSBCYXNoIGhhcyBhIHdvcmsgYXJvdW5kIGlu
IHJlZGlyX29wZW4oKQ0KPiB0aGF0IGNhdXNlcyBvcGVuKE9fQ1JFQVQpIG9mIGEgZmlsZSB0
byBiZSByZXRyaWVkIHdpdGhvdXQgT19DUkVBVCBpZiBvcGVuKCkNCj4gZmFpbHMgd2l0aCBh
biBFQUNDRVMgZXJyb3IgaWYgYmFzaCB3YXMgYnVpbHQgd2l0aCBBRlMgd29ya2Fyb3VuZHMN
Cj4gY29uZmlndXJlZDoNCj4NCj4gICAgICAgICAgI2lmIGRlZmluZWQgKEFGUykNCj4gICAg
ICAgICAgICAgICAgaWYgKChmZCA8IDApICYmIChlcnJubyA9PSBFQUNDRVMpKQ0KPiAgICAg
ICAgICAgICAgew0KPiAgICAgICAgICAgICAgICBmZCA9IG9wZW4gKGZpbGVuYW1lLCBmbGFn
cyAmIH5PX0NSRUFULCBtb2RlKTsNCj4gICAgICAgICAgICAgICAgZXJybm8gPSBFQUNDRVM7
ICAgIC8qIHJlc3RvcmUgZXJybm8gKi8NCj4gICAgICAgICAgICAgIH0NCj4NCj4gICAgICAg
ICAgI2VuZGlmIC8qIEFGUyAqLw0KPg0KPiBUaGUgfk9fQ1JFQVQgZmFsbGJhY2sgbG9naWMg
d2FzIGludHJvZHVjZWQgdG8gd29ya2Fyb3VuZCBhIGJ1Z1sxXSBpbiB0aGUNCj4gSUJNIEFG
UyAzLjEgY2FjaGUgbWFuYWdlciBhbmQgc2VydmVyIHdoaWNoIGNhbiByZXR1cm4gRUFDQ0VT
IGluIHByZWZlcmVuY2UNCj4gdG8gRUVYSVNUIGlmIHRoZSByZXF1ZXN0ZWQgZmlsZSBleGlz
dHMgYnV0IHRoZSBjYWxsZXIgaXMgbmVpdGhlciBncmFudGVkDQo+IGV4cGxpY2l0IFBSU0ZT
X1JFQUQgcGVybWlzc2lvbiBub3IgaXMgdGhlIGZpbGUgb3duZXIgYW5kIGlzIGdyYW50ZWQN
Cj4gUFJTRlNfSU5TRVJUIHBlcm1pc3Npb24gb24gdGhlIGRpcmVjdG9yeS4gIElCTSBBRlMg
My4yIGFsdGVyZWQgdGhlIGNhY2hlDQo+IG1hbmFnZXIgcGVybWlzc2lvbiBjaGVja3MgYnV0
IGZhaWxlZCB0byBjb3JyZWN0IHRoZSBwZXJtaXNzaW9uIGNoZWNrcyBpbg0KPiB0aGUgQUZT
IHNlcnZlci4gIEFzIG9mIHRoaXMgd3JpdGluZywgYWxsIElCTSBBRlMgZGVyaXZlZCBzZXJ2
ZXJzIGNvbnRpbnVlDQo+IHRvIHJldHVybiBFQUNDRVMgaW4gcHJlZmVyZW5jZSB0byBFRVhJ
U1Qgd2hlbiB0aGVzZSBjb25kaXRpb25zIGFyZSBtZXQuDQo+IEJ1ZyByZXBvcnRzIGhhdmUg
YmVlbiBmaWxlZCB3aXRoIGFsbCBpbXBsZW1lbnRhdGlvbnMuDQo+DQo+IEFzIGFuIHVuaW50
ZW5kZWQgc2lkZSBlZmZlY3QsIHRoZSBCYXNoIGZhbGxiYWNrIGxvZ2ljIGFsc28gdW5kZXJt
aW5lcyB0aGUNCj4gTGludXgga2VybmVsIHByb3RlY3Rpb25zIGFnYWluc3QgT19DUkVBVCBv
cGVuaW5nIEZJRk9zIGFuZCByZWd1bGFyIGZpbGVzDQo+IG5vdCBvd25lZCBieSB0aGUgdXNl
ciBpbiB3b3JsZCB3cml0ZWFibGUgc3RpY2t5IGRpcmVjdG9yaWVzIC0gdW5sZXNzIHRoZQ0K
PiBvd25lciBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBkaXJlY3RvcnkgLSBhcyB3YXMg
YWRkZWQgaW4gY29tbWl0DQo+IDMwYWJhNjY1NmY2MWUgKCJuYW1laTogYWxsb3cgcmVzdHJp
Y3RlZCBPX0NSRUFUIG9mIEZJRk9zIGFuZCByZWd1bGFyDQo+IGZpbGVzIikuDQo+DQo+IEFz
IGEgcmVzdWx0IHRoZSBCYXNoIGZhbGxiYWNrIGxvZ2ljIG1hc2tzIGFuIGluY29tcGF0aWJp
bGl0eSBiZXR3ZWVuIHRoZQ0KPiBvd25lcnNoaXAgY2hlY2tzIHBlcmZvcm1lZCBieSBtYXlf
Y3JlYXRlX2luX3N0aWNreSgpIGFuZCBuZXR3b3JrDQo+IGZpbGVzeXN0ZW1zIHN1Y2ggYXMg
QUZTIHdoZXJlIHRoZSB1aWQgbmFtZXNwYWNlIGlzIGRpc2pvaW50IGZyb20gdGhlIHVpZA0K
PiBuYW1lc3BhY2Ugb2YgdGhlIGxvY2FsIHN5c3RlbS4NCj4NCj4gSG93ZXZlciwgdGhlIGJh
c2ggd29yayBhcm91bmQgaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZFsyXS4NCj4NCj4gRml4IHRo
aXMgaW4gdGhlIGtlcm5lbCBieToNCj4NCj4gICAoMSkgUHJvdmlkZSBhbiAtPmlzX293bmVk
X2J5X21lKCkgaW5vZGUgb3AsIHNpbWlsYXIgdG8gLT5wZXJtaXNzaW9uKCksDQo+ICAgICAg
IGFuZCwgaWYgcHJvdmlkZWQsIGNhbGwgdGhhdCB0byBkZXRlcm1pbmUgaWYgdGhlIGNhbGxl
ciBvd25zIHRoZSBmaWxlDQo+ICAgICAgIGluc3RlYWQgb2YgY2hlY2tpbmcgdGhlIGlfdWlk
IHRvIGN1cnJlbnRfZnN1aWQoKS4NCj4NCj4gICAoMikgUHJvdmlkZSBhIC0+aGF2ZV9zYW1l
X293bmVyKCkgaW5vZGUgb3AsIHRoYXQsIGlmIHByb3ZpZGVkLCBjYW4gYmUNCj4gICAgICAg
Y2FsbGVkIHRvIHNlZSBpZiBhbiBpbm9kZSBoYXMgdGhlIHNhbWUgb3duZXIgYXMgdGhlIHBh
cmVudCBvbiB0aGUgcGF0aA0KPiAgICAgICB3YWxrZWQuDQo+DQo+IEZvciBrYWZzLCB1c2Ug
dGhlIGZpcnN0IGhvb2sgdG8gY2hlY2sgdG8gc2VlIGlmIHRoZSBzZXJ2ZXIgaW5kaWNhdGVk
IHRoZQ0KPiBBRE1JTklTVEVSIGJpdCBpbiB0aGUgYWNjZXNzIHJpZ2h0cyByZXR1cm5lZCBi
eSB0aGUgRlMuRmV0Y2hTdGF0dXMgYW5kDQo+IHN1Y2hsaWtlIGFuZCB0aGUgc2Vjb25kIGhv
b2sgdG8gY29tcGFyZSB0aGUgQUZTIHVzZXIgSURzIHJldHJpZXZlZCBieQ0KPiBGUy5GZXRj
aFN0YXR1cyAod2hpY2ggbWF5IG5vdCBmaXQgaW4gYSBrdWlkIGlmIEF1cmlTdG9yJ3MgWUZT
IHZhcmlhbnQpLg0KPg0KPiBUaGVzZSBob29rcyBzaG91bGQgcHJvYmFibHkgYmUgdXNlZCBp
biBvdGhlciBwbGFjZXMgdG9vLCBhbmQgYSBmb2xsb3ctdXANCj4gcGF0Y2ggd2lsbCBiZSBz
dWJtaXR0ZWQgZm9yIHRoYXQuDQo+DQo+IFRoaXMgY2FuIGJlIHRlc3RlZCBieSBjcmVhdGlu
ZyBhIHN0aWNreSBkaXJlY3RvcnkgKHRoZSB1c2VyIG11c3QgaGF2ZSBhDQo+IHRva2VuIHRv
IGRvIHRoaXMpIGFuZCBjcmVhdGluZyBhIGZpbGUgaW4gaXQuICBUaGVuIHN0cmFjZSBiYXNo
IGRvaW5nICJlY2hvDQo+IGZvbyA+PmZpbGUiIGFuZCBsb29rIGF0IHdoZXRoZXIgYmFzaCBk
b2VzIGEgc2luZ2xlLCBzdWNjZXNzZnVsIE9fQ1JFQVQgb3Blbg0KPiBvbiB0aGUgZmlsZSBv
ciB3aGV0aGVyIHRoYXQgb25lIGZhaWxzIGFuZCB0aGVuIGJhc2ggZG9lcyBvbmUgd2l0aG91
dA0KPiBPX0NSRUFUIHRoYXQgc3VjY2VlZHMuDQo+DQo+IEZpeGVzOiAzMGFiYTY2NTZmNjEg
KCJuYW1laTogYWxsb3cgcmVzdHJpY3RlZCBPX0NSRUFUIG9mIEZJRk9zIGFuZCByZWd1bGFy
IGZpbGVzIikNCj4gUmVwb3J0ZWQtYnk6IEV0aWVubmUgQ2hhbXBldGllciA8Y2hhbXBldGll
ci5ldGllbm5lQGdtYWlsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8
ZGhvd2VsbHNAcmVkaGF0LmNvbT4NCj4gY2M6IE1hcmMgRGlvbm5lIDxtYXJjLmRpb25uZUBh
dXJpc3Rvci5jb20+DQo+IGNjOiBKZWZmcmV5IEFsdG1hbiA8amFsdG1hbkBhdXJpc3Rvci5j
b20+DQo+IGNjOiBDaGV0IFJhbWV5IDxjaGV0LnJhbWV5QGNhc2UuZWR1Pg0KPiBjYzogQ2hl
eWVubmUgV2lsbHMgPGN3aWxsc0BzaW5lbm9taW5lLm5ldD4NCj4gY2M6IEFsZXhhbmRlciBW
aXJvIDx2aXJvQHplbml2LmxpbnV4Lm9yZy51az4NCj4gY2M6IENocmlzdGlhbiBCcmF1bmVy
IDxicmF1bmVyQGtlcm5lbC5vcmc+DQo+IGNjOiBTdGV2ZSBGcmVuY2ggPHNmcmVuY2hAc2Ft
YmEub3JnPg0KPiBjYzogbGludXgtYWZzQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gY2M6IG9w
ZW5hZnMtZGV2ZWxAb3BlbmFmcy5vcmcNCj4gY2M6IGxpbnV4LWNpZnNAdmdlci5rZXJuZWwu
b3JnDQo+IGNjOiBsaW51eC1mc2RldmVsQHZnZXIua2VybmVsLm9yZw0KPiBMaW5rOiBodHRw
czovL2dyb3Vwcy5nb29nbGUuY29tL2cvZ251LmJhc2guYnVnL2MvNlBQVGZPZ0ZkTDQvbS8y
QVFVLVMxTjc2VUogWzFdDQo+IExpbms6IGh0dHBzOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcv
Y2dpdC9iYXNoLmdpdC90cmVlL3JlZGlyLmM/aD1iYXNoLTUuMy1yYzEjbjczMyBbMl0NCj4g
LS0tDQo+ICAgZnMvYWZzL2Rpci5jICAgICAgIHwgIDIgKysNCj4gICBmcy9hZnMvZmlsZS5j
ICAgICAgfCAgMiArKw0KPiAgIGZzL2Fmcy9pbnRlcm5hbC5oICB8ICAzICsrKw0KPiAgIGZz
L2Fmcy9zZWN1cml0eS5jICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysNCj4gICBmcy9pbnRlcm5hbC5oICAgICAgfCAgMSArDQo+ICAgZnMv
bmFtZWkuYyAgICAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KystLS0tLS0tLS0NCj4gICBpbmNsdWRlL2xpbnV4L2ZzLmggfCAgMyArKysNCj4gICA3IGZp
bGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4NCj4g
ZGlmZiAtLWdpdCBhL2ZzL2Fmcy9kaXIuYyBiL2ZzL2Fmcy9kaXIuYw0KPiBpbmRleCA5ZTdi
MWZlODJjMjcuLjYzNjBkYjE2NzNiMCAxMDA2NDQNCj4gLS0tIGEvZnMvYWZzL2Rpci5jDQo+
ICsrKyBiL2ZzL2Fmcy9kaXIuYw0KPiBAQCAtNjUsNiArNjUsOCBAQCBjb25zdCBzdHJ1Y3Qg
aW5vZGVfb3BlcmF0aW9ucyBhZnNfZGlyX2lub2RlX29wZXJhdGlvbnMgPSB7DQo+ICAgCS5w
ZXJtaXNzaW9uCT0gYWZzX3Blcm1pc3Npb24sDQo+ICAgCS5nZXRhdHRyCT0gYWZzX2dldGF0
dHIsDQo+ICAgCS5zZXRhdHRyCT0gYWZzX3NldGF0dHIsDQo+ICsJLmlzX293bmVkX2J5X21l
CT0gYWZzX2lzX293bmVkX2J5X21lLA0KPiArCS5oYXZlX3NhbWVfb3duZXIgPSBhZnNfaGF2
ZV9zYW1lX293bmVyLA0KPiAgIH07DQo+ICAgDQo+ICAgY29uc3Qgc3RydWN0IGFkZHJlc3Nf
c3BhY2Vfb3BlcmF0aW9ucyBhZnNfZGlyX2FvcHMgPSB7DQo+IGRpZmYgLS1naXQgYS9mcy9h
ZnMvZmlsZS5jIGIvZnMvYWZzL2ZpbGUuYw0KPiBpbmRleCBmYzE1NDk3NjA4YzYuLjAzMTdm
MGEzNmNmMiAxMDA2NDQNCj4gLS0tIGEvZnMvYWZzL2ZpbGUuYw0KPiArKysgYi9mcy9hZnMv
ZmlsZS5jDQo+IEBAIC00Nyw2ICs0Nyw4IEBAIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRp
b25zIGFmc19maWxlX2lub2RlX29wZXJhdGlvbnMgPSB7DQo+ICAgCS5nZXRhdHRyCT0gYWZz
X2dldGF0dHIsDQo+ICAgCS5zZXRhdHRyCT0gYWZzX3NldGF0dHIsDQo+ICAgCS5wZXJtaXNz
aW9uCT0gYWZzX3Blcm1pc3Npb24sDQo+ICsJLmlzX293bmVkX2J5X21lCT0gYWZzX2lzX293
bmVkX2J5X21lLA0KPiArCS5oYXZlX3NhbWVfb3duZXIgPSBhZnNfaGF2ZV9zYW1lX293bmVy
LA0KPiAgIH07DQo+ICAgDQo+ICAgY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0
aW9ucyBhZnNfZmlsZV9hb3BzID0gew0KPiBkaWZmIC0tZ2l0IGEvZnMvYWZzL2ludGVybmFs
LmggYi9mcy9hZnMvaW50ZXJuYWwuaA0KPiBpbmRleCA0NDBiMGU3MzEwOTMuLmZiZmJmNjE1
YWJlMyAxMDA2NDQNCj4gLS0tIGEvZnMvYWZzL2ludGVybmFsLmgNCj4gKysrIGIvZnMvYWZz
L2ludGVybmFsLmgNCj4gQEAgLTE0OTUsNiArMTQ5NSw5IEBAIGV4dGVybiBzdHJ1Y3Qga2V5
ICphZnNfcmVxdWVzdF9rZXkoc3RydWN0IGFmc19jZWxsICopOw0KPiAgIGV4dGVybiBzdHJ1
Y3Qga2V5ICphZnNfcmVxdWVzdF9rZXlfcmN1KHN0cnVjdCBhZnNfY2VsbCAqKTsNCj4gICBl
eHRlcm4gaW50IGFmc19jaGVja19wZXJtaXQoc3RydWN0IGFmc192bm9kZSAqLCBzdHJ1Y3Qg
a2V5ICosIGFmc19hY2Nlc3NfdCAqKTsNCj4gICBleHRlcm4gaW50IGFmc19wZXJtaXNzaW9u
KHN0cnVjdCBtbnRfaWRtYXAgKiwgc3RydWN0IGlub2RlICosIGludCk7DQo+ICtpbnQgYWZz
X2lzX293bmVkX2J5X21lKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUg
Kmlub2RlKTsNCj4gK2ludCBhZnNfaGF2ZV9zYW1lX293bmVyKHN0cnVjdCBtbnRfaWRtYXAg
KmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KPiArCQkJc3RydWN0IGRlbnRyeSAqZGVu
dHJ5KTsNCj4gICBleHRlcm4gdm9pZCBfX2V4aXQgYWZzX2NsZWFuX3VwX3Blcm1pdF9jYWNo
ZSh2b2lkKTsNCj4gICANCj4gICAvKg0KPiBkaWZmIC0tZ2l0IGEvZnMvYWZzL3NlY3VyaXR5
LmMgYi9mcy9hZnMvc2VjdXJpdHkuYw0KPiBpbmRleCA2YTc3NDRjOWUyYTIuLmE0OTA3MGM4
MzQyZCAxMDA2NDQNCj4gLS0tIGEvZnMvYWZzL3NlY3VyaXR5LmMNCj4gKysrIGIvZnMvYWZz
L3NlY3VyaXR5LmMNCj4gQEAgLTQ3Nyw2ICs0NzcsNTggQEAgaW50IGFmc19wZXJtaXNzaW9u
KHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KPiAgIAly
ZXR1cm4gcmV0Ow0KPiAgIH0NCj4gICANCj4gKy8qDQo+ICsgKiBEZXRlcm1pbmUgaWYgYW4g
aW5vZGUgaXMgb3duZWQgYnkgJ21lJyAtIHdoYXRldmVyIHRoYXQgbWVhbnMgZm9yIHRoZQ0K
PiArICogZmlsZXN5c3RlbS4gIEluIHRoZSBjYXNlIG9mIEFGUywgdGhpcyBtZWFucyB0aGF0
IHRoZSBmaWxlIGlzIG93bmVkIGJ5IHRoZQ0KPiArICogQUZTIHVzZXIgcmVwcmVzZW50ZWQg
YnkgdGhlIHRva2VuIChlLmcuIGZyb20gYSBrZXJiZXJvcyBzZXJ2ZXIpIGhlbGQgaW4gYQ0K
PiArICoga2V5LiAgUmV0dXJucyAwIGlmIG93bmVkIGJ5IG1lLCAxIGlmIG5vdDsgY2FuIGFs
c28gcmV0dXJuIGFuIGVycm9yLg0KPiArICovDQoNClRlY2huaWNhbGx5IEFGUyB0b2tlbnMg
YXJlIG5vdCBpc3N1ZWQgYnkgS2VyYmVyb3MgS0RDcy7CoCBDb3VsZCB3ZSBzYXkgDQoiLi4u
IHRoZSBmaWxlIGlzIG93bmVkDQpieSB0aGUgQUZTIHVzZXIgcmVwcmVzZW50ZWQgYnkgdGhl
IFJ4IFNlY3VyaXR5IENsYXNzIHRva2VuIGhlbGQgaW4gYSBrZXkuIj8NCg0KPiAraW50IGFm
c19pc19vd25lZF9ieV9tZShzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwgc3RydWN0IGlub2Rl
ICppbm9kZSkNCj4gK3sNCj4gKwlzdHJ1Y3QgYWZzX3Zub2RlICp2bm9kZSA9IEFGU19GU19J
KGlub2RlKTsNCj4gKwlhZnNfYWNjZXNzX3QgYWNjZXNzOw0KPiArCXN0cnVjdCBrZXkgKmtl
eTsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJa2V5ID0gYWZzX3JlcXVlc3Rfa2V5KHZub2Rl
LT52b2x1bWUtPmNlbGwpOw0KPiArCWlmIChJU19FUlIoa2V5KSkNCj4gKwkJcmV0dXJuIFBU
Ul9FUlIoa2V5KTsNCj4gKw0KPiArCS8qIEdldCB0aGUgYWNjZXNzIHJpZ2h0cyBmb3IgdGhl
IGtleSBvbiB0aGlzIGZpbGUuICovDQo+ICsJcmV0ID0gYWZzX2NoZWNrX3Blcm1pdCh2bm9k
ZSwga2V5LCAmYWNjZXNzKTsNCj4gKwlpZiAocmV0IDwgMCkNCj4gKwkJZ290byBlcnJvcjsN
Cj4gKw0KPiArCS8qIFdlIGdldCB0aGUgQURNSU5JU1RFUiBiaXQgaWYgd2Ugb3duIHRoZSBm
aWxlLiAqLw0KPiArCXJldCA9IChhY2Nlc3MgJiBBRlNfQUNFX0FETUlOSVNURVIpID8gMCA6
IDE7DQoNCkFGU19BQ0VfQURNSU5JU1RFUiBvbmx5IG1lYW5zIG93bmVyc2hpcCBpZiB0aGUg
aW5vZGUgaXMgYSANCm5vbi1kaXJlY3RvcnkuwqAgU2hvdWxkDQp3ZSBhZGQgYW4gZXhwbGlj
aXQgY2hlY2sgZm9yIGlub2RlIHR5cGU/DQoNCj4gK2Vycm9yOg0KPiArCWtleV9wdXQoa2V5
KTsNCj4gKwlyZXR1cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICsvKg0KPiArICogRGV0ZXJtaW5l
IGlmIGEgZmlsZSBoYXMgdGhlIHNhbWUgb3duZXIgYXMgaXRzIHBhcmVudCAtIHdoYXRldmVy
IHRoYXQgbWVhbnMNCj4gKyAqIGZvciB0aGUgZmlsZXN5c3RlbS4gIEluIHRoZSBjYXNlIG9m
IEFGUywgdGhpcyBtZWFucyBjb21wYXJpbmcgdGhlaXIgQUZTDQo+ICsgKiBVSURzLiAgUmV0
dXJucyAwIGlmIHNhbWUsIDEgaWYgbm90IHNhbWU7IGNhbiBhbHNvIHJldHVybiBhbiBlcnJv
ci4NCj4gKyAqLw0KPiAraW50IGFmc19oYXZlX3NhbWVfb3duZXIoc3RydWN0IG1udF9pZG1h
cCAqaWRtYXAsIHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+ICsJCQlzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnkpDQo+ICt7DQo+ICsJc3RydWN0IGFmc192bm9kZSAqdm5vZGUgPSBBRlNfRlNfSShp
bm9kZSksICpkdm5vZGU7DQo+ICsJc3RydWN0IGRlbnRyeSAqcGFyZW50Ow0KPiArCXM2NCBv
d25lcjsNCj4gKw0KPiArCS8qIEdldCB0aGUgb3duZXIncyBJRCBmb3IgdGhlIGRpcmVjdG9y
eS4gIElkZWFsbHksIHdlJ2QgdXNlIFJDVSB0bw0KPiArCSAqIGFjY2VzcyB0aGUgcGFyZW50
IHJhdGhlciB0aGFuIGdldHRpbmcgYSByZWYuDQo+ICsJICovDQo+ICsJcGFyZW50ID0gZGdl
dF9wYXJlbnQoZGVudHJ5KTsNCj4gKwlkdm5vZGUgPSBBRlNfRlNfSShkX2JhY2tpbmdfaW5v
ZGUocGFyZW50KSk7DQo+ICsJb3duZXIgPSBkdm5vZGUtPnN0YXR1cy5vd25lcjsNCj4gKwlk
cHV0KHBhcmVudCk7DQo+ICsNCj4gKwlyZXR1cm4gdm5vZGUtPnN0YXR1cy5vd25lciAhPSBv
d25lcjsNCj4gK30NCj4gKw0KPiAgIHZvaWQgX19leGl0IGFmc19jbGVhbl91cF9wZXJtaXRf
Y2FjaGUodm9pZCkNCj4gICB7DQo+ICAgCWludCBpOw0KPiBkaWZmIC0tZ2l0IGEvZnMvaW50
ZXJuYWwuaCBiL2ZzL2ludGVybmFsLmgNCj4gaW5kZXggYjliM2UyOWE3M2ZkLi45ZTg0YmZj
NWFlZTYgMTAwNjQ0DQo+IC0tLSBhL2ZzL2ludGVybmFsLmgNCj4gKysrIGIvZnMvaW50ZXJu
YWwuaA0KPiBAQCAtNTIsNiArNTIsNyBAQCBleHRlcm4gaW50IGZpbmlzaF9jbGVhbl9jb250
ZXh0KHN0cnVjdCBmc19jb250ZXh0ICpmYyk7DQo+ICAgLyoNCj4gICAgKiBuYW1laS5jDQo+
ICAgICovDQo+ICtpbnQgdmZzX2lub2RlX2lzX293bmVkX2J5X21lKHN0cnVjdCBtbnRfaWRt
YXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsNCj4gICBleHRlcm4gaW50IGZpbGVu
YW1lX2xvb2t1cChpbnQgZGZkLCBzdHJ1Y3QgZmlsZW5hbWUgKm5hbWUsIHVuc2lnbmVkIGZs
YWdzLA0KPiAgIAkJCSAgIHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgcGF0aCAqcm9vdCk7
DQo+ICAgaW50IGRvX3JtZGlyKGludCBkZmQsIHN0cnVjdCBmaWxlbmFtZSAqbmFtZSk7DQo+
IGRpZmYgLS1naXQgYS9mcy9uYW1laS5jIGIvZnMvbmFtZWkuYw0KPiBpbmRleCA4NGEwZTBi
MDExMWMuLjlmNDJkYzQ2MzIyZiAxMDA2NDQNCj4gLS0tIGEvZnMvbmFtZWkuYw0KPiArKysg
Yi9mcy9uYW1laS5jDQo+IEBAIC01Myw4ICs1Myw4IEBADQo+ICAgICogVGhlIG5ldyBjb2Rl
IHJlcGxhY2VzIHRoZSBvbGQgcmVjdXJzaXZlIHN5bWxpbmsgcmVzb2x1dGlvbiB3aXRoDQo+
ICAgICogYW4gaXRlcmF0aXZlIG9uZSAoaW4gY2FzZSBvZiBub24tbmVzdGVkIHN5bWxpbmsg
Y2hhaW5zKS4gIEl0IGRvZXMNCj4gICAgKiB0aGlzIHdpdGggY2FsbHMgdG8gPGZzPl9mb2xs
b3dfbGluaygpLg0KPiAtICogQXMgYSBzaWRlIGVmZmVjdCwgZGlyX25hbWVpKCksIF9uYW1l
aSgpIGFuZCBmb2xsb3dfbGluaygpIGFyZSBub3cNCj4gLSAqIHJlcGxhY2VkIHdpdGggYSBz
aW5nbGUgZnVuY3Rpb24gbG9va3VwX2RlbnRyeSgpIHRoYXQgY2FuIGhhbmRsZSBhbGwNCj4g
KyAqIEFzIGEgc2lkZSBlZmZlY3QsIGRpcl9uYW1laSgpLCBfbmFtZWkoKSBhbmQgZm9sbG93
X2xpbmsoKSBhcmUgbm93DQo+ICsgKiByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGZ1bmN0aW9u
IGxvb2t1cF9kZW50cnkoKSB0aGF0IGNhbiBoYW5kbGUgYWxsDQo+ICAgICogdGhlIHNwZWNp
YWwgY2FzZXMgb2YgdGhlIGZvcm1lciBjb2RlLg0KPiAgICAqDQo+ICAgICogV2l0aCB0aGUg
bmV3IGRjYWNoZSwgdGhlIHBhdGhuYW1lIGlzIHN0b3JlZCBhdCBlYWNoIGlub2RlLCBhdCBs
ZWFzdCBhcw0KPiBAQCAtMTE0OSw2ICsxMTQ5LDM2IEBAIGZzX2luaXRjYWxsKGluaXRfZnNf
bmFtZWlfc3lzY3Rscyk7DQo+ICAgDQo+ICAgI2VuZGlmIC8qIENPTkZJR19TWVNDVEwgKi8N
Cj4gICANCj4gKy8qDQo+ICsgKiBEZXRlcm1pbmUgaWYgYW4gaW5vZGUgaXMgb3duZWQgYnkg
dGhlIHByb2Nlc3MgKGFsbG93aW5nIGZvciBmc3VpZCBvdmVycmlkZSksDQo+ICsgKiByZXR1
cm5pbmcgMCBpZiBzbywgMSBpZiBub3QgYW5kIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBpZiB0
aGVyZSB3YXMgYSBwcm9ibGVtDQo+ICsgKiBtYWtpbmcgdGhlIGRldGVybWluYXRpb24uDQo+
ICsgKi8NCj4gK2ludCB2ZnNfaW5vZGVfaXNfb3duZWRfYnlfbWUoc3RydWN0IG1udF9pZG1h
cCAqaWRtYXAsIHN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+ICt7DQo+ICsJaWYgKHVubGlrZWx5
KGlub2RlLT5pX29wLT5pc19vd25lZF9ieV9tZSkpDQo+ICsJCXJldHVybiBpbm9kZS0+aV9v
cC0+aXNfb3duZWRfYnlfbWUoaWRtYXAsIGlub2RlKTsNCj4gKw0KPiArCXJldHVybiB2ZnN1
aWRfZXFfa3VpZChpX3VpZF9pbnRvX3Zmc3VpZChpZG1hcCwgaW5vZGUpLA0KPiArCQkJICAg
ICAgY3VycmVudF9mc3VpZCgpKSA/IDEgOiAwOw0KPiArfQ0KPiArDQo+ICsvKg0KPiArICog
RGV0ZXJtaW5lIGlmIHR3byBpbm9kZXMgaGF2ZSB0aGUgc2FtZSBvd25lciwgcmV0dXJuaW5n
IDAgaWYgc28sIDEgaWYgbm90IGFuZA0KPiArICogYSBuZWdhdGl2ZSBlcnJvciBjb2RlIGlm
IHRoZXJlIHdhcyBhIHByb2JsZW0gbWFraW5nIHRoZSBkZXRlcm1pbmF0aW9uLg0KPiArICov
DQo+ICtzdGF0aWMgaW50IHZmc19pbm9kZXNfaGF2ZV9zYW1lX293bmVyKHN0cnVjdCBtbnRf
aWRtYXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KPiArCQkJCSAgICAgIGNvbnN0
IHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0KPiArew0KPiArCWlmICh1bmxpa2VseShpbm9kZS0+
aV9vcC0+aGF2ZV9zYW1lX293bmVyKSkNCj4gKwkJcmV0dXJuIGlub2RlLT5pX29wLT5oYXZl
X3NhbWVfb3duZXIoaWRtYXAsIGlub2RlLCBuZC0+cGF0aC5kZW50cnkpOw0KPiArDQo+ICsJ
aWYgKHZmc3VpZF92YWxpZChuZC0+ZGlyX3Zmc3VpZCkgJiYNCj4gKwkgICAgdmZzdWlkX2Vx
KGlfdWlkX2ludG9fdmZzdWlkKGlkbWFwLCBpbm9kZSksIG5kLT5kaXJfdmZzdWlkKSkNCj4g
KwkJcmV0dXJuIDA7DQo+ICsJcmV0dXJuIDE7IC8qIE5vdCBzYW1lLiAqLw0KPiArfQ0KPiAr
DQo+ICAgLyoqDQo+ICAgICogbWF5X2ZvbGxvd19saW5rIC0gQ2hlY2sgc3ltbGluayBmb2xs
b3dpbmcgZm9yIHVuc2FmZSBzaXR1YXRpb25zDQo+ICAgICogQG5kOiBuYW1laWRhdGEgcGF0
aHdhbGsgZGF0YQ0KPiBAQCAtMTMwMiwxMCArMTMzMiwxMCBAQCBpbnQgbWF5X2xpbmthdChz
dHJ1Y3QgbW50X2lkbWFwICppZG1hcCwgY29uc3Qgc3RydWN0IHBhdGggKmxpbmspDQo+ICAg
ICogUmV0dXJucyAwIGlmIHRoZSBvcGVuIGlzIGFsbG93ZWQsIC12ZSBvbiBlcnJvci4NCj4g
ICAgKi8NCj4gICBzdGF0aWMgaW50IG1heV9jcmVhdGVfaW5fc3RpY2t5KHN0cnVjdCBtbnRf
aWRtYXAgKmlkbWFwLCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCwNCj4gLQkJCQlzdHJ1Y3QgaW5v
ZGUgKmNvbnN0IGlub2RlKQ0KPiArCQkJCXN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+ICAgew0K
PiAgIAl1bW9kZV90IGRpcl9tb2RlID0gbmQtPmRpcl9tb2RlOw0KPiAtCXZmc3VpZF90IGRp
cl92ZnN1aWQgPSBuZC0+ZGlyX3Zmc3VpZCwgaV92ZnN1aWQ7DQo+ICsJaW50IHJldDsNCj4g
ICANCj4gICAJaWYgKGxpa2VseSghKGRpcl9tb2RlICYgU19JU1ZUWCkpKQ0KPiAgIAkJcmV0
dXJuIDA7DQo+IEBAIC0xMzE2LDEzICsxMzQ2LDEzIEBAIHN0YXRpYyBpbnQgbWF5X2NyZWF0
ZV9pbl9zdGlja3koc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsIHN0cnVjdCBuYW1laWRhdGEg
Km5kLA0KPiAgIAlpZiAoU19JU0ZJRk8oaW5vZGUtPmlfbW9kZSkgJiYgIXN5c2N0bF9wcm90
ZWN0ZWRfZmlmb3MpDQo+ICAgCQlyZXR1cm4gMDsNCj4gICANCj4gLQlpX3Zmc3VpZCA9IGlf
dWlkX2ludG9fdmZzdWlkKGlkbWFwLCBpbm9kZSk7DQo+IC0NCj4gLQlpZiAodmZzdWlkX2Vx
KGlfdmZzdWlkLCBkaXJfdmZzdWlkKSkNCj4gLQkJcmV0dXJuIDA7DQo+ICsJcmV0ID0gdmZz
X2lub2Rlc19oYXZlX3NhbWVfb3duZXIoaWRtYXAsIGlub2RlLCBuZCk7DQo+ICsJaWYgKHJl
dCA8PSAwKQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiAgIA0KPiAtCWlmICh2ZnN1aWRfZXFfa3Vp
ZChpX3Zmc3VpZCwgY3VycmVudF9mc3VpZCgpKSkNCj4gLQkJcmV0dXJuIDA7DQo+ICsJcmV0
ID0gdmZzX2lub2RlX2lzX293bmVkX2J5X21lKGlkbWFwLCBpbm9kZSk7DQo+ICsJaWYgKHJl
dCA8PSAwKQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiAgIA0KPiAgIAlpZiAobGlrZWx5KGRpcl9t
b2RlICYgMDAwMikpIHsNCj4gICAJCWF1ZGl0X2xvZ19wYXRoX2RlbmllZChBVURJVF9BTk9N
X0NSRUFULCAic3RpY2t5X2NyZWF0ZSIpOw0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51
eC9mcy5oIGIvaW5jbHVkZS9saW51eC9mcy5oDQo+IGluZGV4IDAxNmIwZmUxNTM2ZS4uZWMy
NzhkMmQzNjJhIDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ZzLmgNCj4gKysrIGIv
aW5jbHVkZS9saW51eC9mcy5oDQo+IEBAIC0yMjM2LDYgKzIyMzYsOSBAQCBzdHJ1Y3QgaW5v
ZGVfb3BlcmF0aW9ucyB7DQo+ICAgCQkJICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3Ry
dWN0IGZpbGVhdHRyICpmYSk7DQo+ICAgCWludCAoKmZpbGVhdHRyX2dldCkoc3RydWN0IGRl
bnRyeSAqZGVudHJ5LCBzdHJ1Y3QgZmlsZWF0dHIgKmZhKTsNCj4gICAJc3RydWN0IG9mZnNl
dF9jdHggKigqZ2V0X29mZnNldF9jdHgpKHN0cnVjdCBpbm9kZSAqaW5vZGUpOw0KPiArCWlu
dCAoKmlzX293bmVkX2J5X21lKShzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwgc3RydWN0IGlu
b2RlICppbm9kZSk7DQo+ICsJaW50ICgqaGF2ZV9zYW1lX293bmVyKShzdHJ1Y3QgbW50X2lk
bWFwICppZG1hcCwgc3RydWN0IGlub2RlICppbm9kZSwNCj4gKwkJCSAgICAgICBzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnkpOw0KPiAgIH0gX19fX2NhY2hlbGluZV9hbGlnbmVkOw0KPiAgIA0K
PiAgIHN0YXRpYyBpbmxpbmUgaW50IGNhbGxfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3Ry
dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQpJdCB3b3VsZCBiZSBuaWNlIGlmIHRoaXMgcGF0
Y2ggYWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyANCmlub2RlX29wZXJhdGlvbnMg
dG8NCg0KRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy92ZnMucnN0Lg0KDQpUaGUgbWF5X2Ny
ZWF0ZV9pbl9zdGlja3koKSBsb2dpYyBsb29rcyBnb29kIHRvIG1lLg0KDQpUaGFua3MgZm9y
IHRoZSBwYXRjaC4NCg0KSmVmZnJleSBBbHRtYW4NCg0K
--------------ms030208020606050101070306
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
DHEwggXSMIIEuqADAgECAhBAAYJpmi/rPn/F0fJyDlzMMA0GCSqGSIb3DQEBCwUAMDoxCzAJ
BgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEz
MB4XDTIyMDgwNDE2MDQ0OFoXDTI1MTAzMTE2MDM0OFowcDEvMC0GCgmSJomT8ixkAQETH0Ew
MTQxMEQwMDAwMDE4MjY5OUEyRkQyMDAwMjMzQ0QxGTAXBgNVBAMTEEplZmZyZXkgRSBBbHRt
YW4xFTATBgNVBAoTDEF1cmlTdG9yIEluYzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCkC7PKBBZnQqDKPtZPMLAy77zo2DPvwtGnd1hNjPvbXrpGxUb3
xHZRtv179LHKAOcsY2jIctzieMxf82OMyhpBziMPsFAG/ukihBMFj3/xEeZVso3K27pSAyyN
fO/wJ0rX7G+ges22Dd7goZul8rPaTJBIxbZDuaykJMGpNq4PQ8VPcnYZx+6b+nJwJJoJ46kI
EEfNh3UKvB/vM0qtxS690iAdgmQIhTl+qfXq4IxWB6b+3NeQxgR6KLU4P7v88/tvJTpxIKkg
9xj89ruzeThyRFd2DSe3vfdnq9+g4qJSHRXyTft6W3Lkp7UWTM4kMqOcc4VSRdufVKBQNXjG
IcnhAgMBAAGjggKcMIICmDAOBgNVHQ8BAf8EBAMCBPAwgYQGCCsGAQUFBwEBBHgwdjAwBggr
BgEFBQcwAYYkaHR0cDovL2NvbW1lcmNpYWwub2NzcC5pZGVudHJ1c3QuY29tMEIGCCsGAQUF
BzAChjZodHRwOi8vdmFsaWRhdGlvbi5pZGVudHJ1c3QuY29tL2NlcnRzL3RydXN0aWRjYWEx
My5wN2MwHwYDVR0jBBgwFoAULbfeG1l+KpguzeHUG+PFEBJe6RQwCQYDVR0TBAIwADCCASsG
A1UdIASCASIwggEeMIIBGgYLYIZIAYb5LwAGAgEwggEJMEoGCCsGAQUFBwIBFj5odHRwczov
L3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRpZmljYXRlcy9wb2xpY3kvdHMvaW5kZXguaHRt
bDCBugYIKwYBBQUHAgIwga0MgapUaGlzIFRydXN0SUQgQ2VydGlmaWNhdGUgaGFzIGJlZW4g
aXNzdWVkIGluIGFjY29yZGFuY2Ugd2l0aCBJZGVuVHJ1c3QncyBUcnVzdElEIENlcnRpZmlj
YXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRp
ZmljYXRlcy9wb2xpY3kvdHMvaW5kZXguaHRtbDBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8v
dmFsaWRhdGlvbi5pZGVudHJ1c3QuY29tL2NybC90cnVzdGlkY2FhMTMuY3JsMB8GA1UdEQQY
MBaBFGphbHRtYW5AYXVyaXN0b3IuY29tMB0GA1UdDgQWBBQB+nzqgljLocLTsiUn2yWqEc2s
gjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDQYJKoZIhvcNAQELBQADggEBAJwV
eycprp8Ox1npiTyfwc5QaVaqtoe8Dcg2JXZc0h4DmYGW2rRLHp8YL43snEV93rPJVk6B2v4c
WLeQfaMrnyNeEuvHx/2CT44cdLtaEk5zyqo3GYJYlLcRVz6EcSGHv1qPXgDT0xB/25etwGYq
utYF4Chkxu4KzIpq90eDMw5ajkexw+8ARQz4N5+d6NRbmMCovd7wTGi8th/BZvz8hgKUiUJo
Qle4wDxrdXdnIhCP7g87InXKefWgZBF4VX21t2+hkc04qrhIJlHrocPG9mRSnnk2WpsY0MXt
a8ivbVKtfpY7uSNDZSKTDi1izEFH5oeQdYRkgIGb319a7FjslV8wggaXMIIEf6ADAgECAhBA
AXA7OrqBjMk8rp4OuNQSMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNVBAYTAlVTMRIwEAYDVQQK
EwlJZGVuVHJ1c3QxJzAlBgNVBAMTHklkZW5UcnVzdCBDb21tZXJjaWFsIFJvb3QgQ0EgMTAe
Fw0yMDAyMTIyMTA3NDlaFw0zMDAyMTIyMTA3NDlaMDoxCzAJBgNVBAYTAlVTMRIwEAYDVQQK
EwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEzMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAu6sUO01SDD99PM+QdZkNxKxJNt0NgQE+Zt6ixaNP0JKSjTd+SG5L
wqxBWjnOgI/3dlwgtSNeN77AgSs+rA4bK4GJ75cUZZANUXRKw/et8pf9Qn6iqgB63OdHxBN/
15KbM3HR+PyiHXQoUVIevCKW8nnlWnnZabT1FejOhRRKVUg5HACGOTfnCOONrlxlg+m1Vjgn
o1uNqNuLM/jkD1z6phNZ/G9IfZGI0ppHX5AA/bViWceX248VmefNhSR14ADZJtlAAWOi2un0
3bqrBPHA9nDyXxI8rgWLfUP5rDy8jx2hEItg95+ORF5wfkGUq787HBjspE86CcaduLka/Bk2
VwIDAQABo4IChzCCAoMwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwgYkG
CCsGAQUFBwEBBH0wezAwBggrBgEFBQcwAYYkaHR0cDovL2NvbW1lcmNpYWwub2NzcC5pZGVu
dHJ1c3QuY29tMEcGCCsGAQUFBzAChjtodHRwOi8vdmFsaWRhdGlvbi5pZGVudHJ1c3QuY29t
L3Jvb3RzL2NvbW1lcmNpYWxyb290Y2ExLnA3YzAfBgNVHSMEGDAWgBTtRBnA0/AGi+6ke75C
5yZUyI42djCCASQGA1UdIASCARswggEXMIIBEwYEVR0gADCCAQkwSgYIKwYBBQUHAgEWPmh0
dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20vY2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRl
eC5odG1sMIG6BggrBgEFBQcCAjCBrQyBqlRoaXMgVHJ1c3RJRCBDZXJ0aWZpY2F0ZSBoYXMg
YmVlbiBpc3N1ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIElkZW5UcnVzdCdzIFRydXN0SUQgQ2Vy
dGlmaWNhdGUgUG9saWN5IGZvdW5kIGF0IGh0dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20v
Y2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRleC5odG1sMEoGA1UdHwRDMEEwP6A9oDuGOWh0
dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY3JsL2NvbW1lcmNpYWxyb290Y2ExLmNy
bDAdBgNVHQ4EFgQULbfeG1l+KpguzeHUG+PFEBJe6RQwHQYDVR0lBBYwFAYIKwYBBQUHAwIG
CCsGAQUFBwMEMA0GCSqGSIb3DQEBCwUAA4ICAQB/7BKcygLX6Nl4a03cDHt7TLdPxCzFvDF2
bkVYCFTRX47UfeomF1gBPFDee3H/IPlLRmuTPoNt0qjdpfQzmDWN95jUXLdLPRToNxyaoB5s
0hOhcV6H08u3FHACBif55i0DTDzVSaBv0AZ9h1XeuGx4Fih1Vm3Xxz24GBqqVudvPRLyMJ7u
6hvBqTIKJ53uCs3dyQLZT9DXnp+kJv8y7ZSAY+QVrI/dysT8avtn8d7k7azNBkfnbRq+0e88
QoBnel6u+fpwbd5NLRHywXeH+phbzULCa+bLPRMqJaW2lbhvSWrMHRDy3/d8HvgnLCBFK2s4
Spns4YCN4xVcbqlGWzgolHCKUH39vpcsDo1ymZFrJ8QR6ihIn8FmJ5oKwAnnd/G6ADXFC9bu
db9+532phSAXOZrrecIQn+vtP366PC+aClAPsIIDJDsotS5z4X2JUFsNIuEgXGqhiKE7SuZb
rFG9sdcLprSlJN7TsRDc0W2b9nqwD+rj/5MN0C+eKwha+8ydv0+qzTyxPP90KRgaegGowC4d
UsZyTk2n4Z3MuAHX5nAZL/Vh/SyDj/ajorV44yqZBzQ3ChKhXbfUSwe2xMmygA2Z5DRwMRJn
p/BscizYdNk2WXJMTnH+wVLN8sLEwEtQR4eTLoFmQvrK2AMBS9kW5sBkMzINt/ZbbcZ3F+eA
MDGCBAEwggP9AgEBME4wOjELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEXMBUG
A1UEAxMOVHJ1c3RJRCBDQSBBMTMCEEABgmmaL+s+f8XR8nIOXMwwDQYJYIZIAWUDBAIBBQCg
ggKEMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDUzMDAw
MTE1OVowLwYJKoZIhvcNAQkEMSIEIB1pr8VPnesKmHgD1wtmthsysg3Q5SJj0DwabTqfHVIO
MF0GCSsGAQQBgjcQBDFQME4wOjELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEX
MBUGA1UEAxMOVHJ1c3RJRCBDQSBBMTMCEEABgmmaL+s+f8XR8nIOXMwwXwYLKoZIhvcNAQkQ
AgsxUKBOMDoxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRy
dXN0SUQgQ0EgQTEzAhBAAYJpmi/rPn/F0fJyDlzMMIIBVwYJKoZIhvcNAQkPMYIBSDCCAUQw
CwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzANBggqhkiG9w0DAgIBBTAN
BggqhkiG9w0DAgIBBTAHBgUrDgMCBzANBggqhkiG9w0DAgIBBTAHBgUrDgMCGjALBglghkgB
ZQMEAgEwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCAzALBglghkgBZQMEAgQwCwYJYIZIAWUD
BAIHMAsGCWCGSAFlAwQCCDALBglghkgBZQMEAgkwCwYJYIZIAWUDBAIKMAsGCSqGSIb3DQEB
ATALBgkrgQUQhkg/AAIwCAYGK4EEAQsAMAgGBiuBBAELATAIBgYrgQQBCwIwCAYGK4EEAQsD
MAsGCSuBBRCGSD8AAzAIBgYrgQQBDgAwCAYGK4EEAQ4BMAgGBiuBBAEOAjAIBgYrgQQBDgMw
DQYJKoZIhvcNAQEBBQAEggEAH1de5y0rsjUR6QfKIPa3Lz8+AZstncY3qcCrmq7UWuHoWadM
oIIvGlim/L/LMjsknEzQvkKCP6z0DhZrrYMlHQBcRnc/TKFq5F508PrB1y07Ld0d/WHlitlE
B16hj/CLAkYIQadxkw3v9/oC7WJhd86B/MiwPY9Wxmw3AIm/HArc8YPbcAq52hHW6ZxjgR8u
kasnPv0c75ltfCLsWkl9SYByZbbn6n/5AHnpQsNXZLt0oJk5kTLP+rXfgyjOrRbDXR774stf
13670SZsIj77YCUq798B/pu1374xnzsz9Qwpype/wIePYbEg/USShPbhSRG3omGLwCRzpWcA
51S5OAAAAAAAAA==
--------------ms030208020606050101070306--