Working with domain events. Referencing leaf / sub-entity of aggregate

"[email protected] [domaindrivendesign]" <[email protected]> 12 May 2016 06:56:53 -0700
Newsgroups gmane.comp.programming.domain-driven-design
Message-ID <[email protected]>
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="UTF-8"

SGVsbG8gZXZlcnlvbmUsDQogDQoNCiBJIGtub3cgbXkgdG9waWMgaXMgbm90IG5ldyBhbmQgd2Fz
IGRpc2N1c3NlZCBtYW55IHRpbWVzIGJlZm9yZS4gSSByZWFkIGEgbG90IGJ1dCBub3Qgc3VyZSB3
aGV0aGVyIEkgYW0gZ29pbmcgdGhlIGJlc3QgcGF0aC4gU28gSSB3aWxsIHBsYWNlIHRoaXMgdG9w
aWMgaGVyZSBhZ2FpbiB3aXRoIGFub3RoZXIgY29uY3JldGUgZXhhbXBsZS4NCiANCg0KIEluIHRo
ZSBzYWxlcyBkZXBhcnRtZW50IHdlIHdvcmsgd2l0aCBvcmRlcnMuIE9idmlvdXNseSB0aGlzIGlz
LCB3aGF0IGEgY3VzdG9tZXIgb3JkZXJzLiANCiANCg0KIEEpIFVuZGVyc3RhbmRpbmcgYW4gb3Jk
ZXIgd2l0aCBpdHMgaXRlbXM6DQogT3VyIHN0YWtlaG9sZGVyIG9mdGVuIGZhbGwgYmFjayBhbmQg
c2F5OiBXZSBuZWVkIGFuIG9yZGVyIGFuZCBvcmRlciBpdGVtcy4gQnV0IHRoaXMgaXMgb25seSBi
ZWNhdXNlIG9mIGdpdmluZyB0aGUg4oCcdGhpbmfigJ0gYW4gb3JkZXIgbnVtYmVyIHRvIHRhbGsg
YWJvdXQuIExpa2UgYnJhY2tldHMgYXJvdW5kIGFsbCBvcmRlciBpdGVtcy4gU28gb3VyIHVuZGVy
c3RhbmRpbmcgaW4gdGhlIGRldi1UZWFtIGlzLCB0aGUgb3JkZXIgaXRlbXMgYXJlIGFnZ3JlZ2F0
ZXMgYW5kIHdlIHdpbGwgZG8gc29tZXRoaW5nIHRvIGdyb3VwIHRoZW4gYnkgYW4gb3JkZXIgbnVt
YmVyLg0KIA0KIFdlIHRoaW5rIG9mIG9yZGVyIGl0ZW1zIGFzIGFnZ3JlZ2F0ZXMsIGJlY2F1c2Ug
YSBjdXN0b21lciB3aWxsIG5ldmVyIHJlcXVlc3QgYW4gb3JkZXIgd2l0aCB0aHJlZSBpdGVtcyBp
biBpdC4gRnVydGhlcm1vcmUgaGUgd2lsbCBvcmRlciB0aHJlZSBhcnRpY2xlcyB3aXRoIGEgc3Bl
Y2lmaWMgbnVtYmVyLiBJdCBpcyBvbmx5IGZvciBjb21tdW5pY2F0aW9uIHJlYXNvbnMgdGhhdCBh
IG51bWJlciBmb3IgdGhlc2UgdGhyZWUgaXRlbXMgbWFrZXMgaXQgZWFzaWVyLiBXaGF0IGRvIHlv
dSB0aGluayBhYm91dCB0aGF0Pw0KIA0KDQogQikgQ29uZmxpY3Qgd2l0aCBzdWItZW50aXR5IHdp
dGhpbiBvcmRlci1pdGVtLWFnZ3JlZ2F0ZQ0KIFRoaW5rIG9mIG9yZGVyIGl0ZW0uIFRoaXMgaXMg
YW4gYXJ0aWNsZSBpbiBhIHNwZWNpZmljIHF1YW50aXR5IGEgY3VzdG9tZXIgd291bGQgbGlrZSB0
byBoYXZlLiBPcmRlciBpdGVtIGlzIGFuIGFnZ3JlZ2F0ZS4gQXNzaWduZWQgdG8gdGhlIG9yZGVy
IGl0ZW0gdGhlcmUgYXJlIG11bHRpcGxlIOKAnGNhbGwgb2Zm4oCdLiBBIGNhbGwgb2ZmIGRlc2Ny
aWJlcyB3aGVuIHRoZSBjdXN0b21lciByZXF1ZXN0cyBhIGNlcnRhaW4gcXVhbnRpdHkgYW5kIHdo
ZXRoZXIgaXQgbXVzdCBiZSBkZWxpdmVyZWQgKEREUCkgb3Igd2hldGhlciBpdCB3aWxsIGJlIGZl
dGNoZWQgKOKAnGV4IHdvcmtz4oCdKS4gQWN0dWFsbHkgY2FsbCBvZmYgaXMgYW4gYWdncmVnYXRl
IG9uIGl0cyBvd24uIEhlcmUgaXMgb3VyIGNvbmZsaWN0Og0KIDEuIFN1bSBvZiBxdWFudGl0aWVz
IGZvciBhbGwgY2FsbCBvZmYgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gb3JkZXIgaXRl
bSBxdWFudGl0eS4gU28gbWFraW5nIGNhbGwgb2ZmIGFuIHN1YiBlbnRpdHkgb2Ygb3JkZXIgaXRl
bSBzZWVtcyB0byBiZSB0aGUgYmVzdCBjaG9pY2UsIHRoYW4gbWFraW5nIGl0IGFuIG93biBhZ2dy
ZWdhdGUuDQogMi4gT24gdGhlIG90aGVyIHNpZGUgY2FsbCBvZmYgd2lsbCBiZSByZWZlcmVuY2Vk
IGluIHRoZSBkaXNwYXRjaCBkZXBhcnRtZW50LiBUaGlzIGlzLCBiZWNhdXNlIGV2ZXJ5IGNhbGwg
b2ZmIGxlYWRzIGF0IGxlYXN0IHRvIGFuIOKAnGdvb2RzIGlzc3VlIHJlcXVlc3TigJ0gaW4gdGhl
IGRpc3BhdGNoIGRlcGFydG1lbnQuIEJ1dCByZWZlcmluZyB0byBib29rIGZyb20gRXJpYyBFdmFu
cyBpdCBpcyBhYnNvbHV0ZWx5IG5vdCBhbGxvd2VkIHRvIHJlZmVyZW5jZSBhIHN1Yi1lbnRpdHkg
LSBleGNlcHQgZm9yIGEgc2luZ2xlIG9wZXJhdGlvbi4gSXQgaXMgb25seSBhbGxvd2VkIHRvIHJl
ZmVyZW5jZSBhZ2dyZWdhdGVzLg0KIFdlIGFyZSBhZnJhaWQgb2YgaGF2aW5nIDkwJSBvdXIgb2Jq
ZWN0cyBiZWluZyBhbiBhZ2dyZWdhdGUgYW5kIHBsYWNpbmcgZG9tYWluIGxvZ2ljIG5vdCB3aXRo
aW4gdGhlIGFnZ3JlZ2F0ZXMgYnV0IHdpdGhpbiBzZXJ2aWNlcyBhcm91bmQgdHdvIG9yIG1vcmUg
YWdncmVnYXRlcy4NCiANCg0KIEZyb20gd2hhdCBJIGhhdmUgYWxyZWFkeSByZWFkIGFuZCBnb3Qg
YXMgcmVzcG9uc2VzIGZyb20gZXhwZXJ0cyBsaWtlIFBhdWwgUmF5bmVyIEkgc2hvdWxkIHN0YXJ0
IHRvIHRoaW5rIGFib3V0ICJjYWxsIG9mZiIgYXMgYW4gImRvbWFpbiBldmVudCIuIE9rYXksIGl0
J3Mgbm8gcHJvYmxlbSB0byBpbWFnaW5lIHRoYXQgb3JkZXIgaXRlbSB3aWxsIGhhdmUgYW4gImN1
c3RvbWVyIHJlcXVlc3RlZCBxdWFudGl0eSItRXZlbnQgb3Igc29tZXRoaW5nIGxpa2UgdGhpcy4N
CiANCg0KIFByb2JsZW0gaXMgd2hlbiBsZWF2aW5nIGJvdW5kZWQgY29udGV4dCBvZiBsZXQncyBz
YXkgImN1c3RvbWVyIGNhcmUiLiBJbiBkaXNwYXRjaCBkZXBhcnRtZW50IGl0IGlzIG5vIHByb2Js
ZW0gdG8gaW1hZ2luZSB0aGF0IHRoaXMgZG9tYWluIGV2ZW50IGNhbiBsZWFkIHRvIGFuIGFjdGlv
biBhbmQgbmV3IGFnZ3JlZ2F0ZSB0aGVyZS4gQXQgdGhpcyBwb2ludCBJIGRvIG5vdCBuZWVkIGEg
cmVmZXJlbmNlIHRvIHRoZSAiY2FsbCBvZmYiL2RvbWFpbiBldmVudC4gQnV0IHdoZW4gZGlzcGF0
Y2ggaGFzIHByb2JsZW1zIG9yIHdvcmsgaXMgZG9uZSwgc2FsZXMgZGVwYXJ0bWVudCBuZWVkcyB0
byBiZSBpbmZvcm1lZCB0aGF0ICJjYWxsIG9mZiIgbmVlZHMgYXR0ZW50aW9uIG9yIGlzIGRvbmUg
YW5kIHBvc3NpYmx5IG9yZGVyIGl0ZW0gY2FuIGJlIGdpdmVuIHRvICJpbnZvY2VtZW50Ii1ib3Vu
ZGVkLWNvbnRleHQ/DQogDQoNCiBJcyBpdCBva2F5LCB3aGVuIGFnZ3JlZ2F0ZSBpbiBkaXNwYXRj
aCBob2xkcyBjb21wb3NlZCBrZXkgb24gb3JkZXIgaXRlbSBhbmQgc3ViLWVudGl0eSAvIGFnZ3Jl
Z2F0ZSBsZWFmPyBXaGF0IG90aGVyIHBvc3NpYmlsaXRpdGVzIGRvIHlvdSBzZWU/IE11c3QgImNh
bGwgb2ZmIiBiZSBhbiBhZ2dyZWdhdGUgYW5kIGEgZG9tYWluLXNlcnZpY2UgbXVzdCBjaGVjayBz
dW0gb2YgY2FsbCBvZmYgcXVhbnRpdGllcyBhZ2FpbnMgb3JkZXIgaXRlbT8gSXMgdGhpcyBzb21l
dGhpbmcgZm9yIHRoZSAiUHJvY2VzcyBNYW5hZ2VyIiBwcmVzZW50ZWQgdG8gbWUgdGhlIGZpcnN0
IHRpbWUgYXQgdGhlIERERCBFdXJvcGUgaW4gQmVsZ2l1bSBieSBNYXRoaWFzIFZlcnJhZXM/DQog
DQoNCiBJIHdpbGwgYmUgdmVyeSBoYXBweSBnZXR0aW5nIGEgbG90IG9mIGlkZWFzIGFuZCByZXNw
b25zZXMuIFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHJlYWRpbmcgbXkgc3RvcnkgOi0pLg0KIA0K
DQogDQoNCiANCg0K


--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64

CgoKCjxoZWFkPgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KPCEtLQoKLyogc3RhcnQgb2Yg
YXR0YWNobWVudCBzdHlsZSAqLwogICAgICAgLnlncnAtcGhvdG8tdGl0bGV7CiAgICAgICAg
IGNsZWFyOiBib3RoOwogICAgICAgICBmb250LXNpemU6IHNtYWxsZXI7CiAgICAgICAgIGhl
aWdodDogMTVweDsKICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgdGV4dC1h
bGlnbjogY2VudGVyOwogICAgICAgICB3aWR0aDogNzVweDsKICAgICAgIH0KICAgICAgIGRp
di55Z3JwLXBob3RvewogICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAg
ICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHdoaXRlOwogICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAg
ICAgICAgaGVpZ2h0OiA2MnB4OwogICAgICAgICB3aWR0aDogNjJweDsKICAgICAgIH0KCiAg
ICAgICBkaXYucGhvdG8tdGl0bGUgCiAgICAgICAgIGEsCiAgICAgICAgIGRpdi5waG90by10
aXRsZSBhOmFjdGl2ZSwKICAgICAgICAgZGl2LnBob3RvLXRpdGxlIGE6aG92ZXIsCiAgICAg
ICAgIGRpdi5waG90by10aXRsZSBhOnZpc2l0ZWQgewogICAgICAgICAgIHRleHQtZGVjb3Jh
dGlvbjogbm9uZTsgCiAgICAgICB9CgogICAgICAgZGl2LmF0dGFjaC10YWJsZSBkaXYuYXR0
YWNoLXJvdyB7CiAgICAgICAgIGNsZWFyOiBib3RoOwogICAgICAgfQoKICAgICAgIGRpdi5h
dHRhY2gtdGFibGUgZGl2LmF0dGFjaC1yb3cgZGl2IHsKICAgICAgICAgZmxvYXQ6IGxlZnQ7
CiAgICAgICAgIC8qIG1hcmdpbjogMnB4OyovCiAgICAgICB9CgogICAgICAgcCB7CiAgICAg
ICAgIGNsZWFyOiBib3RoOwogICAgICAgICBwYWRkaW5nOiAxNXB4IDAgM3B4IDA7Cgkgb3Zl
cmZsb3c6IGhpZGRlbjsKICAgICAgIH0KCiAgICAgICBkaXYueWdycC1maWxlIHsKICAgICAg
ICAgd2lkdGg6IDMwcHg7CiAgICAgICAgIHZhbGlnbjogbWlkZGxlOwogICAgICAgfQogICAg
ICAgZGl2LmF0dGFjaC10YWJsZSBkaXYuYXR0YWNoLXJvdyBkaXYgZGl2IGEgewogICAgICAg
ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICB9CgogICAgICAgZGl2LmF0dGFjaC10
YWJsZSBkaXYuYXR0YWNoLXJvdyBkaXYgZGl2IHNwYW4gewogICAgICAgICBmb250LXdlaWdo
dDogbm9ybWFsOwogICAgICAgfQoKICAgICAgIGRpdi55Z3JwLWZpbGUtdGl0bGUgewogICAg
ICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgIH0KIC8qIGVuZCBvZiBhdHRhY2htZW50
IHN0eWxlICovCiAgICAgICAgLS0+CiAgICAgICAgPC9zdHlsZT4KICAgICAgICA8L2hlYWQ+
CjxodG1sPgo8aGVhZD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KPCEtLQojeWdycC1ta3Ag
ewogIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7CiAgZm9udC1mYW1pbHk6IEFyaWFsOwog
IG1hcmdpbjogMTBweCAwOwogIHBhZGRpbmc6IDAgMTBweDsKfQoKI3lncnAtbWtwIGhyIHsK
ICBib3JkZXI6IDFweCBzb2xpZCAjZDhkOGQ4Owp9CgojeWdycC1ta3AgI2hkIHsKICBjb2xv
cjogIzYyOGMyYTsKICBmb250LXNpemU6IDg1JTsKICBmb250LXdlaWdodDogNzAwOwogIGxp
bmUtaGVpZ2h0OiAxMjIlOwogIG1hcmdpbjogMTBweCAwOwp9CgojeWdycC1ta3AgI2FkcyB7
CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQoKI3lncnAtbWtwIC5hZCB7CiAgcGFkZGluZzog
MCAwOwp9CgojeWdycC1ta3AgLmFkIHAgewogIG1hcmdpbjogMDsKfQoKI3lncnAtbWtwIC5h
ZCBhIHsKICBjb2xvcjogIzAwMDBmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLS0+
Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CgoKCjwhLS0gfCoqfGJlZ2luIGVncCBodG1sIGJh
bm5lcnwqKnwgLS0+Cgo8YnI+PGJyPgoKPCEtLSB8Kip8ZW5kIGVncCBodG1sIGJhbm5lcnwq
KnwgLS0+CgoKPHA+PHNwYW4+SGVsbG8gZXZlcnlvbmUsPC9zcGFuPjwvcD48cD48c3Bhbj48
YnI+PC9zcGFuPjwvcD48cD48c3Bhbj5JIGtub3cgbXkgdG9waWMgaXMgbm90IG5ldyBhbmQg
d2FzIGRpc2N1c3NlZCBtYW55IHRpbWVzIGJlZm9yZS4gSSByZWFkIGEgbG90IGJ1dCBub3Qg
c3VyZSB3aGV0aGVyIEkgYW0gZ29pbmcgdGhlIGJlc3QgcGF0aC4gU28gSSB3aWxsIHBsYWNl
IHRoaXMgdG9waWMgaGVyZSBhZ2FpbiB3aXRoIGFub3RoZXIgY29uY3JldGUgZXhhbXBsZS48
L3NwYW4+PC9wPjxwPjxzcGFuPjxicj48L3NwYW4+PC9wPjxwPkluIHRoZSBzYWxlcyBkZXBh
cnRtZW50IHdlIHdvcmsgd2l0aCBvcmRlcnMuIE9idmlvdXNseSB0aGlzIGlzLCB3aGF0IGEg
Y3VzdG9tZXIgb3JkZXJzLiZuYnNwOzwvcD48cD48YnI+PC9wPjxwPkEpIFVuZGVyc3RhbmRp
bmcgYW4gb3JkZXIgd2l0aCBpdHMgaXRlbXM6PC9wPjxwPk91ciBzdGFrZWhvbGRlciBvZnRl
biBmYWxsIGJhY2sgYW5kIHNheTogV2UgbmVlZCBhbiBvcmRlciBhbmQgb3JkZXIgaXRlbXMu
IEJ1dCB0aGlzIGlzIG9ubHkgYmVjYXVzZSBvZiBnaXZpbmcgdGhlIOKAnHRoaW5n4oCdIGFu
IG9yZGVyIG51bWJlciB0byB0YWxrIGFib3V0LiBMaWtlIGJyYWNrZXRzIGFyb3VuZCBhbGwg
b3JkZXIgaXRlbXMuIFNvIG91ciB1bmRlcnN0YW5kaW5nIGluIHRoZSBkZXYtVGVhbSBpcywg
dGhlIG9yZGVyIGl0ZW1zIGFyZSBhZ2dyZWdhdGVzIGFuZCB3ZSB3aWxsIGRvIHNvbWV0aGlu
ZyB0byBncm91cCB0aGVuIGJ5IGFuIG9yZGVyIG51bWJlci48L3A+PHA+PHNwYW4+PC9zcGFu
PjwvcD48cD5XZSB0aGluayBvZiBvcmRlciBpdGVtcyBhcyBhZ2dyZWdhdGVzLCBiZWNhdXNl
IGEgY3VzdG9tZXIgd2lsbCBuZXZlciByZXF1ZXN0IGFuIG9yZGVyIHdpdGggdGhyZWUgaXRl
bXMgaW4gaXQuIEZ1cnRoZXJtb3JlIGhlIHdpbGwgb3JkZXIgdGhyZWUgYXJ0aWNsZXMgd2l0
aCBhIHNwZWNpZmljIG51bWJlci4gSXQgaXMgb25seSBmb3IgY29tbXVuaWNhdGlvbiByZWFz
b25zIHRoYXQgYSBudW1iZXIgZm9yIHRoZXNlIHRocmVlIGl0ZW1zIG1ha2VzIGl0IGVhc2ll
ci4gV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgdGhhdD88L3A+PHA+PGJyPjwvcD48cD5CKSBD
b25mbGljdCB3aXRoIHN1Yi1lbnRpdHkgd2l0aGluIG9yZGVyLWl0ZW0tYWdncmVnYXRlPC9w
PjxwPlRoaW5rIG9mIG9yZGVyIGl0ZW0uIFRoaXMgaXMgYW4gYXJ0aWNsZSBpbiBhIHNwZWNp
ZmljIHF1YW50aXR5IGEgY3VzdG9tZXIgd291bGQgbGlrZSB0byBoYXZlLiBPcmRlciBpdGVt
IGlzIGFuIGFnZ3JlZ2F0ZS4gQXNzaWduZWQgdG8gdGhlIG9yZGVyIGl0ZW0gdGhlcmUgYXJl
IDxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI+bXVsdGlwbGUgPC9z
cGFuPuKAnGNhbGwgb2Zm4oCdLiBBIGNhbGwgb2ZmIGRlc2NyaWJlcyB3aGVuIHRoZSBjdXN0
b21lciByZXF1ZXN0cyBhIGNlcnRhaW4gcXVhbnRpdHkgYW5kIHdoZXRoZXIgaXQgbXVzdCBi
ZSBkZWxpdmVyZWQgKEREUCkgb3Igd2hldGhlciBpdCB3aWxsIGJlIGZldGNoZWQgKOKAnGV4
IHdvcmtz4oCdKS4gQWN0dWFsbHkgY2FsbCBvZmYgaXMgYW4gYWdncmVnYXRlIG9uIGl0cyBv
d24uIEhlcmUgaXMgb3VyIGNvbmZsaWN0OjwvcD48cD4xLjxzcGFuIGNsYXNzPSJBcHBsZS10
YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZTsiPgk8L3NwYW4+U3VtIG9mIHF1YW50
aXRpZXMgZm9yIDxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI+YWxs
IDwvc3Bhbj5jYWxsIG9mZiBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBvcmRlciBp
dGVtIHF1YW50aXR5LiBTbyBtYWtpbmcgY2FsbCBvZmYgYW4gc3ViIGVudGl0eSBvZiBvcmRl
ciBpdGVtIHNlZW1zIHRvIGJlIHRoZSBiZXN0IGNob2ljZSwgdGhhbiBtYWtpbmcgaXQgYW4g
b3duIGFnZ3JlZ2F0ZS48L3A+PHA+Mi48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmU7Ij4JPC9zcGFuPk9uIHRoZSBvdGhlciBzaWRlIGNhbGwg
b2ZmIHdpbGwgYmUgcmVmZXJlbmNlZCBpbiB0aGUgZGlzcGF0Y2ggZGVwYXJ0bWVudC4gVGhp
cyBpcywgYmVjYXVzZSBldmVyeSBjYWxsIG9mZiBsZWFkcyBhdCBsZWFzdCB0byBhbiDigJxn
b29kcyBpc3N1ZSByZXF1ZXN04oCdIGluIHRoZSBkaXNwYXRjaCBkZXBhcnRtZW50LiBCdXQg
cmVmZXJpbmcgdG8gYm9vayBmcm9tIEVyaWMgRXZhbnMgaXQgaXMgYWJzb2x1dGVseSBub3Qg
YWxsb3dlZCB0byByZWZlcmVuY2UgYSBzdWItZW50aXR5IC0gZXhjZXB0IGZvciBhIHNpbmds
ZSBvcGVyYXRpb24uIEl0IGlzIG9ubHkgYWxsb3dlZCB0byByZWZlcmVuY2UgYWdncmVnYXRl
cy48L3A+PHA+V2UgYXJlIGFmcmFpZCBvZiBoYXZpbmcgOTAlIG91ciBvYmplY3RzIGJlaW5n
IGFuIGFnZ3JlZ2F0ZSBhbmQgcGxhY2luZyBkb21haW4gbG9naWMgbm90IHdpdGhpbiB0aGUg
YWdncmVnYXRlcyBidXQgd2l0aGluIHNlcnZpY2VzIGFyb3VuZCB0d28gb3IgbW9yZSBhZ2dy
ZWdhdGVzLjwvcD48cD48YnI+PC9wPjxwPkZyb20gd2hhdCBJIGhhdmUgYWxyZWFkeSByZWFk
IGFuZCBnb3QgYXMgcmVzcG9uc2VzIGZyb20gZXhwZXJ0cyBsaWtlIFBhdWwgUmF5bmVyIEkg
c2hvdWxkIHN0YXJ0IHRvIHRoaW5rIGFib3V0ICZxdW90O2NhbGwgb2ZmJnF1b3Q7IGFzIGFu
ICZxdW90O2RvbWFpbiBldmVudCZxdW90Oy4gT2theSwgaXQmIzM5O3Mgbm8gcHJvYmxlbSB0
byBpbWFnaW5lIHRoYXQgb3JkZXIgaXRlbSB3aWxsIGhhdmUgYW4gJnF1b3Q7Y3VzdG9tZXIg
cmVxdWVzdGVkIHF1YW50aXR5JnF1b3Q7LUV2ZW50IG9yIHNvbWV0aGluZyBsaWtlIHRoaXMu
PC9wPjxwPjxicj48L3A+PHA+UHJvYmxlbSBpcyB3aGVuIGxlYXZpbmcgYm91bmRlZCBjb250
ZXh0IG9mIGxldCYjMzk7cyBzYXkgJnF1b3Q7Y3VzdG9tZXIgY2FyZSZxdW90Oy4gSW4gZGlz
cGF0Y2ggZGVwYXJ0bWVudCBpdCBpcyBubyBwcm9ibGVtIHRvIGltYWdpbmUgdGhhdCB0aGlz
IGRvbWFpbiBldmVudCBjYW4gbGVhZCB0byBhbiBhY3Rpb24gYW5kIG5ldyBhZ2dyZWdhdGUg
dGhlcmUuIEF0IHRoaXMgcG9pbnQgSSBkbyBub3QgbmVlZCBhIHJlZmVyZW5jZSB0byB0aGUg
JnF1b3Q7Y2FsbCBvZmYmcXVvdDsvZG9tYWluIGV2ZW50LiBCdXQgd2hlbiBkaXNwYXRjaCBo
YXMgcHJvYmxlbXMgb3Igd29yayBpcyBkb25lLCBzYWxlcyBkZXBhcnRtZW50IG5lZWRzIHRv
IGJlIGluZm9ybWVkIHRoYXQgJnF1b3Q7Y2FsbCBvZmYmcXVvdDsgbmVlZHMgYXR0ZW50aW9u
IG9yIGlzIGRvbmUgYW5kIHBvc3NpYmx5IG9yZGVyIGl0ZW0gY2FuIGJlIGdpdmVuIHRvICZx
dW90O2ludm9jZW1lbnQmcXVvdDstYm91bmRlZC1jb250ZXh0PzwvcD48cD48YnI+PC9wPjxw
PklzIGl0IG9rYXksIHdoZW4gYWdncmVnYXRlIGluIGRpc3BhdGNoIGhvbGRzIGNvbXBvc2Vk
IGtleSBvbiBvcmRlciBpdGVtIGFuZCBzdWItZW50aXR5IC8gYWdncmVnYXRlIGxlYWY/IFdo
YXQgb3RoZXIgcG9zc2liaWxpdGl0ZXMgZG8geW91IHNlZT8gTXVzdCAmcXVvdDtjYWxsIG9m
ZiZxdW90OyBiZSBhbiBhZ2dyZWdhdGUgYW5kIGEgZG9tYWluLXNlcnZpY2UgbXVzdCBjaGVj
ayBzdW0gb2YgY2FsbCBvZmYgcXVhbnRpdGllcyBhZ2FpbnMgb3JkZXIgaXRlbT8gSXMgdGhp
cyBzb21ldGhpbmcgZm9yIHRoZSAmcXVvdDtQcm9jZXNzIE1hbmFnZXImcXVvdDsgcHJlc2Vu
dGVkIHRvIG1lIHRoZSBmaXJzdCB0aW1lIGF0IHRoZSBEREQgRXVyb3BlIGluIEJlbGdpdW0g
YnkgTWF0aGlhcyBWZXJyYWVzPzwvcD48cD48YnI+PC9wPjxwPkkgd2lsbCBiZSB2ZXJ5IGhh
cHB5IGdldHRpbmcgYSBsb3Qgb2YgaWRlYXMgYW5kIHJlc3BvbnNlcy4gVGhhbmsgeW91IHZl
cnkgbXVjaCBmb3IgcmVhZGluZyBteSBzdG9yeSA6LSkuPC9wPjxwPjxicj48L3A+PGRpdj48
YnI+PC9kaXY+PHA+PHNwYW4+PGJyPjwvc3Bhbj48L3A+CgoKCjwhLS0gfCoqfGJlZ2luIGVn
cCBodG1sIGJhbm5lcnwqKnwgLS0+Cgo8YnI+CgoKPGJyPgoKPCEtLSB8Kip8ZW5kIGVncCBo
dG1sIGJhbm5lcnwqKnwgLS0+CgoKPGRpdiB3aWR0aD0iMSIgc3R5bGU9ImNvbG9yOiB3aGl0
ZTsgY2xlYXI6IGJvdGg7Ii8+X18uXyxfLl9fXzwvZGl2PgoKICAgICAgCiAgCgogICAgCiAg
ICA8ZGl2IGlkPSJmcm9tRE1BUkMiIHN0eWxlPSJjbGVhcjpib3RoOyBtYXJnaW4tdG9wOiAx
MHB4OyI+CiAgICAgICAgIDxociBzdHlsZT0iaGVpZ2h0OjJweCA7IGJvcmRlci13aWR0aDow
OyBjb2xvcjojRTNFM0UzOyBiYWNrZ3JvdW5kLWNvbG9yOiNFM0UzRTM7Ij4KICAgICAgICAg
UG9zdGVkIGJ5OiB0aGllbF9mbG9yaWFuQHdlYi5kZSAgICAgICAgIDxociBzdHlsZT0iaGVp
Z2h0OjJweCA7IGJvcmRlci13aWR0aDowOyBjb2xvcjojRTNFM0UzOyBiYWNrZ3JvdW5kLWNv
bG9yOiNFM0UzRTM7Ij4KICAgIDwvZGl2Pgo8IS0tIFN0YXJ0IFJlY29tbWVuZGF0aW9ucyAt
LT4KPCEtLSBFbmQgUmVjb21tZW5kYXRpb25zIC0tPgoKCgo8IS0tIHwqKnxiZWdpbiBlZ3Ag
aHRtbCBiYW5uZXJ8Kip8IC0tPgoKICA8aW1nIHNyYz0iaHR0cDovL2dlby55YWhvby5jb20v
c2Vydj9zPTk3NDc2NTkwL2dycElkPTgxMTY5MjMvZ3Jwc3BJZD0xNzA1MDA3MTgxL21zZ0lk
PTI0NzQ5L3N0aW1lPTE0NjMwNzI0NTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPiA8YnI+Cgo8
IS0tIHwqKnxlbmQgZWdwIGh0bWwgYmFubmVyfCoqfCAtLT4KCiAgCjwhLS0gfCoqfGJlZ2lu
IGVncCBodG1sIGJhbm5lcnwqKnwgLS0+Cgo8YnI+CgoKCiAgIAogICAgIAogCiAgICAgICAg
PCEtLSB8Kip8YmVnaW4gZWdwIGh0bWwgYmFubmVyfCoqfCAtLT4KICAgICAgICA8ZGl2IGlk
PSJ5Z3JwLXZpdGFsIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgZm9udC1m
YW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsg
cGFkZGluZzogMTBweDsiPgoKICAgICAgICA8c3BhbiBpZD0idml0aGQiIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsgY29sb3I6ICMzMzM7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7
ICI+PGEgaHJlZj0iaHR0cHM6Ly9ncm91cHMueWFob28uY29tL25lby9ncm91cHMvZG9tYWlu
ZHJpdmVuZGVzaWduL2luZm87X3lsYz1YM29ETVRKbFoybzBZM0F3QkY5VEF6azNNelU1TnpF
MEJHZHljRWxrQXpneE1UWTVNak1FWjNKd2MzQkpaQU14TnpBMU1EQTNNVGd4QkhObFl3TjJk
R3dFYzJ4ckEzWm5hSEFFYzNScGJXVURNVFEyTXpBM01qUTFOUS0tIiBzdHlsZT0idGV4dC1k
ZWNvcmF0aW9uOiBub25lOyI+VmlzaXQgWW91ciBHcm91cDwvYT48L3NwYW4+CgogICAgIDx1
bCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7
IGRpc3BsYXk6IGlubGluZTsiPgogICAgICAgICAgICA8bGkgc3R5bGU9ImJvcmRlci1yaWdo
dDogMXB4IHNvbGlkICMwMDA7IGZvbnQtd2VpZ2h0OiA3MDA7IGRpc3BsYXk6IGlubGluZTsg
cGFkZGluZzogMCA1cHg7IG1hcmdpbi1sZWZ0OiAwOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJj
YXQiPjxhIGhyZWY9Imh0dHBzOi8vZ3JvdXBzLnlhaG9vLmNvbS9uZW8vZ3JvdXBzL2RvbWFp
bmRyaXZlbmRlc2lnbi9tZW1iZXJzL2FsbDtfeWxjPVgzb0RNVEptTURoME1qUm1CRjlUQXpr
M016VTVOekUwQkdkeWNFbGtBemd4TVRZNU1qTUVaM0p3YzNCSlpBTXhOekExTURBM01UZ3hC
SE5sWXdOMmRHd0VjMnhyQTNadFluSnpCSE4wYVcxbEF6RTBOak13TnpJME5UVS0iIHN0eWxl
PSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij5OZXcgTWVtYmVyczwvYT48L3NwYW4+CiAgICAg
IDxzcGFuIGNsYXNzPSJjdCIgc3R5bGU9ImNvbG9yOiAjZmY3OTAwOyI+MTwvc3Bhbj4KICAg
IDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
L3VsPgogIDwvZGl2PgoKCjxkaXYgaWQ9ImZ0IiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs
OyBmb250LXNpemU6IDExcHg7IG1hcmdpbi10b3A6IDVweDsgcGFkZGluZzogMCAycHggMCAw
OyBjbGVhcjogYm90aDsiPgogIDxhIGhyZWY9Imh0dHBzOi8vZ3JvdXBzLnlhaG9vLmNvbS9u
ZW87X3lsYz1YM29ETVRKa2JtcHJjV2QyQkY5VEF6azNORGMyTlRrd0JHZHljRWxrQXpneE1U
WTVNak1FWjNKd2MzQkpaQU14TnpBMU1EQTNNVGd4QkhObFl3Tm1kSElFYzJ4ckEyZG1jQVJ6
ZEdsdFpRTXhORFl6TURjeU5EVTIiIHN0eWxlPSJmbG9hdDogbGVmdDsiPjxpbWcgc3JjPSJo
dHRwOi8vbC55aW1nLmNvbS9ydS9zdGF0aWMvaW1hZ2VzL3lnL2ltZy9lbWFpbC9uZXdfbG9n
by9sb2dvLWdyb3Vwcy0xMzd4MTUucG5nIiBoZWlnaHQ9IjE1IiB3aWR0aD0iMTM3IiBhbHQ9
IllhaG9vISBHcm91cHMiIHN0eWxlPSJib3JkZXI6IDA7Ii8+PC9hPgogIDxkaXYgc3R5bGU9
ImNvbG9yOiAjNzQ3NTc1OyBmbG9hdDogcmlnaHQ7Ij4gJmJ1bGw7IDxhIGhyZWY9Imh0dHBz
Oi8vaW5mby55YWhvby5jb20vcHJpdmFjeS91cy95YWhvby9ncm91cHMvZGV0YWlscy5odG1s
IiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+UHJpdmFjeTwvYT4gJmJ1bGw7IDxh
IGhyZWY9Im1haWx0bzpkb21haW5kcml2ZW5kZXNpZ24tdW5zdWJzY3JpYmVAeWFob29ncm91
cHMuY29tP3N1YmplY3Q9VW5zdWJzY3JpYmUiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5v
bmU7Ij5VbnN1YnNjcmliZTwvYT4gJmJ1bGw7IDxhIGhyZWY9Imh0dHBzOi8vaW5mby55YWhv
by5jb20vbGVnYWwvdXMveWFob28vdXRvcy90ZXJtcy8iIHN0eWxlPSJ0ZXh0LWRlY29yYXRp
b246IG5vbmU7Ij5UZXJtcyBvZiBVc2U8L2E+IDwvZGl2Pgo8L2Rpdj4KCjwhLS0gfCoqfGVu
ZCBlZ3AgaHRtbCBiYW5uZXJ8Kip8IC0tPgoKICA8L2Rpdj4gPCEtLSB5Z3JwLW1zZyAtLT4K
CiAgIAoKCiAgPGJyPgoKPCEtLSB8Kip8ZW5kIGVncCBodG1sIGJhbm5lcnwqKnwgLS0+CgoK
PGRpdiBzdHlsZT0iY29sb3I6IHdoaXRlOyBjbGVhcjogYm90aDsiLz5fXyxfLl8sX19fPC9k
aXY+CjwvYm9keT4KCjwvaHRtbD4K

--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV--