Re: Can root name in DOCTYPE be a XSD-validity thing?

Leif Halvard Silli <[email protected]> Fri, 15 Feb 2013 12:00:26 +0100
Newsgroups gmane.text.xml.schema.devel
Organization MÃ¥lform.no
Message-ID <[email protected]>
Qy4gTS4gU3BlcmJlcmctTWNRdWVlbiwgVGh1LCAxNCBGZWIgMjAxMyAxMjoxMjoxNCAtMDcw
MDoNCj4gT24gRmViIDEzLCAyMDEzLCBhdCAxMToxMyBQTSwgTGVpZiBIYWx2YXJkIFNpbGxp
IHdyb3RlOg0KDQo+PiBDYW4gYSBYU0QtYmFzZWQgcHJvY2Vzc29yIHZhbGlkYXRlIHRoYXQg
YSBYSFRNTDUgZG9jdW1lbnQgY29udGFpbnMgdGhlIA0KPj4gSFRNTDUgRE9DVFlQRSB0eXBl
IGRlY2xhcmF0aW9uPyANCiAgIOKApiANCj4+IE5vdGU6IFRoZSBIVE1MNSBET0NUWVBFICpk
ZWNsYXJhdGlvbiogZG9lc24ndCByZWZlcmVuY2UgYSBET0NUWVBFIA0KPj4gKmRlZmluaXRp
b24qLCBzbyBJIGRvIG5vdCBhc2sgaWYgWFNEIGNhbiB2YWxpZGF0ZSB0aGUgJ0V4dGVybmFs
SUQnIG9yIA0KPj4gJ2ludFN1YnNldCcgcGFydCBvZiB0aGUgRE9DVFlFUCBkZWNsYXJhdGlv
bi4gSSBvbmx5IHdvbmRlciBpZiBYU0QgDQo+PiBhbGxvd3MgY2hlY2tpbmcgdGhhdCB0aGUg
J25hbWUnIHBhcnQgb2YgdGhlIERPQ1RZUEUgbWF0Y2hlcyB0aGUgJ3Jvb3QgDQo+PiBlbGVt
ZW50IHR5cGUnLiBTaW5jZSBpdCBpcyB3ZWxsLWZvcm1lZCB0byBpbmNsdWRlIERPQ1RZUEUg
ZGVjbGFyYXRpb24gDQo+PiB3aXRob3V0IGEgRFRELCBhbmQgc2luY2UgWFNEIG1vdmVzIHRo
ZSB2YWxpZGF0aW9uIGZyb20gRFREIHRvLCB3ZWxsIA0KPj4gWFNELCBpdCBvdWdodCwgaXQg
c2VlbXMsIGJlIHBvc3NpYmxlIHRvIHVzZSBYU0QgdG8gdmVyaWZ5IHRoYXQgdGhlIA0KPj4g
RE9DVFlQRSBkZWNsYXJhdGlvbiBjb250YWlucyB0aGUgbmFtZSBvZiB0aGUgcm9vdCBlbGVt
ZW50ICh0aGUgc2FtZSB3YXkgDQo+PiB0aGF0IFhTRCBhbGxvd3MgY2hlY2tpbmcgbWFueSB0
aGluZ3MgdGhhdCwgcGVyIFhNTCAxLjAsIGRvZXMgbm90IGZhbGwgDQo+PiB1bmRlciBYTUwg
MS4w4oCZcyB2YWxpZGl0eSBjb25jZXB0KS4NCj4gDQo+IFlvdSBhcmUgcXVpdGUgcmlnaHQg
dGhhdCB0aGVyZSB3b3VsZCBiZSBubyBsb2dpY2FsIGNvbnRyYWRpY3Rpb24gaW4gDQo+IGEg
c2NoZW1hIGxhbmd1YWdlIHNwZWMgdGhhdCBhbGxvd2VkIHRoZSBraW5kIG9mIGNoZWNrIHlv
dSBoYXZlIGluDQo+IG1pbmQuICBCdXQgbm8sIGl0J3Mgbm90IHNvbWV0aGluZyBYU0QgaXMg
ZGVzaWduZWQgdG8gY29uc3RyYWluLCBvciB0byANCj4gYWxsb3cgc2NoZW1hIGF1dGhvcnMg
dG8gY29uc3RyYWluLg0KDQpUaGFua3MhIFBlcmhhcHMsIGZvciB0aGUgbmV4dCB1cGRhdGUg
b2YgdGhlIFhTRCBsYW5ndWFnZSwgeW91IHNob3VsZCANCmNvbnNpZGVyIGFkZGluZyBzdXBw
b3J0IGZvciBET0NUWVBFIGRlY2xhcmF0aW9uIHZhbGlkYXRpb24/IE9uZSB1c2UgDQpjYXNl
OiBBbGxvd2luZyBYU0QgdG8gcHJvZHVjZS92YWxpZGF0ZSBkb2N1bWVudHMgdGhhdCBjYW4g
YmUgdmFsaWRhdGVkIA0KYm90aCB2aWEgRFREIG9yIHZpYSBYU0QuIEFub3RoZXIgdXNlIGNh
c2U6IGNvcnJlY3QgRE9DVFlQRSBkZWNsYXJhdGlvbiANCmNhbiBpbmNyZWFzZSB0aGUgY2Vy
dGFpbnR5IHRoYXQgYSBwYXJ0aWN1bGFyIHNjaGVtYSBzaG91bGQgaW5kZWVkIGJlIA0KYXBw
bGllZCB0byB0aGUgcGFydGljdWxhciBkb2N1bWVudC4NCg0KUmVnYXJkbGVzcywgSSBqdXN0
IG5vdyBmaWxlZCBhIGJ1ZyBhZ2FpbnN0IHRoZSBIVE1MNSBzcGVjIHN1Z2dlc3RpbmcgDQp0
aGF0ICppZiogdGhlIERPQ1RZUEUgaXMgaW5jbHVkZWQsIHRoZW4gYXV0aG9ycyBzaG91bGQg
bWFrZSBpdCBtYXRjaCANCnRoZSByb290IGVsZW1lbnQuWypdDQoNClsqXSBodHRwczovL3d3
dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIwOTkzDQoNCk5vdGUgdGhh
dCB0aGUgWE1MIDEuMOKAmXMgKERURCkgdmFsaWRpdHkgY29uY2VwdCwgcGVyIHRoZSB3b3Jk
aW5nIG9mIHRoZSANCnNwZWMsIGFwcGxpZXMgZXZlbiB3aGVuIHRoZSBkZWNsYXJhdGlvbiBk
b2VzbuKAmXQgcmVmZXJlbmNlIGFuIGV4dGVybmFsIA0Kb3IgaW50ZXJuYWwgRFREOiBbKl0g
4oCcW0RlZmluaXRpb246IEFuIFhNTCBkb2N1bWVudCBpcyB2YWxpZCBpZiBpdCBoYXMgDQph
biBhc3NvY2lhdGVkIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gYW5kIGlmIHRoZSBkb2N1
bWVudCBjb21wbGllcyANCndpdGggdGhlIGNvbnN0cmFpbnRzIGV4cHJlc3NlZCBpbiBpdC5d
4oCdDQoNClsqXSBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLyNkdC12YWxpZA0KDQpC
dXQgb25lIGNvdWxkLCBJIGd1ZXNzLCBkaXNjdXNzIHdoaWNoIGNvbnN0cmFpbnRzIGEgZGVj
bGFyYXRpb24gc3VjaCBhcyANCjwhRE9DVFlQRSBodG1sPiBleHByZXNzZXMuIEJhc2VkIG9u
IGEgY29tbWVudCBmcm9tIERhdmlkIENhcmxpc2xlIGluIA0KcHVibGljLWh0bWxALCB0aGVu
IFhNTCBkb2VzIG5vdCBkZWZpbmUgKGFsbCkgdGhlIHdheXMgYSBEVEQgY2FuIGJlIA0KYXNz
b2NpYXRlZCB3aXRoIGEgZG9jdW1lbnQuIEFuZCBzbywgaWYgdGhlIERURCBpcyBhc3NvY2lh
dGVkIHZpYSBvbmUgb2YgDQp0aG9zZSB1bmRlZmluZWQgbWVhbnMsIHRoZW4gPCFET0NUWVBF
IGh0bWw+IHByb2JhYmx5IHJlcHJlc2VudHMgdGhlIA0KY29uc3RyYWludHMgb2YgdGhhdCBh
c3NvY2lhdGVkIERURC4gQnV0IGlmIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgRFRELCANCnRo
ZW4gPCFET0NUWVBFIGh0bWw+IHJlcHJlc2VudHMgYSBkb2N1bWVudCB0aGF0IGNhbm5vdCAo
RFREKSB2YWxpZGF0ZSANCihzaW5jZSB0aGUgdmFsaWRpdHkgY29uc3RyYWludCAobmFtZWx5
OiB0aGF0IHRoZSByb290L2RvY3VtZW50IG5hbWUgb2YgDQp0aGUgRE9DVFlQRSBkZWNsYXJh
dGlvbiBtYXRjaGVzIHRoZSByb290IGVsZW1lbnQgdHlwZSBkZWZpbmVkIGluIHRoZSANCkRU
RCkgY2Fubm90IGJlIGZ1bGZpbGxlZCkuDQoNClRoYXQgdGhlIERURCB2YWxpZGl0eSBydWxl
cyAoYW5kIHRodXMsIGFzIHdlbGwsIHRoZSB3ZWxsLWZvcm1lZCBydWxlKSANCmFwcGxpZXMg
KmV2ZW4qIHRvIDwhRE9DVFlQRSBodG1sPiBjYW4gcGVyaGFwcyBiZSBzZWVuIGFzIGEgdGhp
bmcgd2hpY2ggDQphbGxvd3MgdG8gZGVmaW5lIGVudGlyZWx5IG5ldyAoWFNELWJhc2VkKSB2
YWxpZGl0eSBydWxlcyB3aGljaCANCmF0dHJpYnV0ZSAqYW5vdGhlciogbWVhbmluZyB0aGF0
IHJvb3QvbmFtZSBwYXJ0IG9mIHRoZSBET0NUWVBFPw0KDQo+PiBCYWNrZ3JvdW5kIGZvciBt
eSBxdWVzdGlvbiBpcyB0aGF0IFhNTCBlZGl0b3JzL3Byb2Nlc3NvcnMgbm93YWRheXMgdGVu
ZCANCj4+IHRvIGJlIHNjaGVtYSBiYXNlZCwgZXZlbiB3aGVuIGEgRFREIGlzIHJlZmVyZW5j
ZXMuIEFuZCBoZW5jZSwgaWYgWFNEIA0KPj4gZG9lc27igJl0IHZhbGlkYXRlIHRoZSBET0NU
WVBFICpkZWNsYXJhdGlvbiosIFhTRCBjb3VsZCBpbiBmYWN0IGxhYmVsIA0KPj4gY29uc3Ry
dWN0cyBsaWtlIHRoaXMgYXMgJ3ZhbGlkYXRpbmcnOg0KPj4gDQo+PiAgPCFET0NUWVBFIE5v
dFRoZUh0bWxSb290RWxlbWVudD4NCj4+ICA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCI+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+DQo+PiAgPC9oZWFkPjxib2R5
PjxwLz48L2JvZHk+PC9odG1sPg0KPj4gDQo+PiBBbmQgaW4gZmFjdCwgaXQgc2VlbXMgbW9z
dCBYU0QgcHJvY2Vzc29yIGRvIHNheSB0aGF0IHRoZSBhYm92ZSBpcyANCj4+IHZhbGlkYXRp
bmcuIEZvciBleGFtcGxlIExpYnhtbDIgaW4gWFNEIG1vZGUgZG9lcy4gSnVzdCBhc2sgeG1s
bGludCB0byANCj4+IGFwcGx5IHRoZSBYSFRNTCAxLjEgWFNEWzFdIHRvICBhIFhIVE1MIDEu
MSBkb2Mgd2l0aCAnPERPQ1RZUEUgSFRNTCcgDQo+PiBpbnN0ZWFkIG9mICc8RE9DVFlQRSBo
dG1sJ1syXToNCj4+IA0KPj4gIHhtbGxpbnQgLS1zY2hlbWEgaHR0cDovL3Rpbnl1cmwuY29t
L2E5bHJ2ZnEgaHR0cDovL3Rpbnl1cmwuY29tL2JraGs4NnANCj4+IA0KPj4gRXZlbiB0aGUg
d2VsbCBrbm93biBPeHlnZW4gZWRpdG9yLCB3aGljaCAoYnkgZGVmYXVsdCkgdXNlcyBYZXJj
ZXMsIGRvZXMgDQo+PiBpbiB0aGUgYWJ2b2UgY2FzZSBiZWhhdmUgbGlrZSBMaWJ4bWwyLiAN
Cj4gDQo+IFRoZSBhZ3JlZW1lbnQgb3IgZGlzYWdyZWVtZW50IG9mIHRoZSBET0NUWVBFIGRl
Y2xhcmF0aW9uIHdpdGgNCj4gdGhlIG5hbWUgb24gdGhlIG91dGVybW9zdCBlbGVtZW50IGlz
IG5vdCBhIHByb3BlcnR5IHRoYXQgYWZmZWN0cyB0aGUNCj4gc2NoZW1hLXZhbGlkaXR5IG9m
IGFueSBkb2N1bWVudCB3aXRoIHJlc3BlY3QgdG8gYW55IFhTRCBzY2hlbWEuIA0KPiBTbyBJ
J20gaGFwcHkgdG8gYmVsaWV2ZSB0aGF0IHRoZXNlIHByb2dyYW1zIGJlaGF2ZSBhcyB5b3Ug
c2F5LCBhbmQNCj4gdG8gc2F5IHRoYXQgdGhlaXIgZmFpbHVyZSB0byBvYmplY3QgdG8gdGhl
IGRpc2NyZXBhbmN5IGJldHdlZW4gZG9jdHlwZQ0KPiBkZWNsYXJhdGlvbiBhbmQgaW5zdGFu
Y2UgaGFzIG5vIHJlbGF0aW9uIHRvIHRoZWlyIGNvbmZvcm1hbmNlIG9yDQo+IG5vbi1jb25m
b3JtYW5jZSBhcyBYU0QgdmFsaWRhdG9ycy4NCg0KQSBkb2N0eXBlIHN1Y2ggYXMgDQogICA8
IURPQ1RZUEUgVGhlRG9jdW1lbnRFbGVtZW50IFNZU1RFTSAiSUQiIFs8IS0tYmxhLCBibGEt
LT5dID4NCmFsbG93cyB0byB2ZXJpZnkNCg0KICBhKSB0aGF0IHRoZSBET0NUWVBFIGRlY2xh
cmF0aW9uIGlzIGludGVybmFsbHkgdmFsaWQsIA0KICAgICBuYW1lbHksIHRoYXQgaXRzIHJv
b3QvZG9jdW1lbnQgbmFtZSBhbmQgdGhlIERUROKAmXMgZGVmaW5pdGlvbg0KICAgICBvZiB0
aGUgcm9vdCBlbGVtZW50IHR5cGUsIGFyZSBtYXRjaGluZyBlYWNoIG90aGVycywNCiAgYikg
dGhhdCB0aGUgcm9vdC9uYW1lIHBhcnQgb2YgdGhlIERPQ1RZUEUgZGVjbGFyYXRpb24NCiAg
ICAgbWF0Y2hlcyB0aGUgYWN0dWFsIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgKGV4
Y2VwdCB0aGF0DQoNClRoZSBiKSBwYXJ0IGRvZXMgbm90IHNlZW0gdGVjaG5pY2FsbHkgbmVj
ZXNzYXJ5IHNpbmNlIHRoaXMgY2hlY2sgY291bGQgDQpldmVuIGJlIHBlcmZvcm1lZCBieSBj
aGVja2luZyB0aGUgZG9jdW1lbnQvcm9vdCBlbGVtZW50IGFnYWluc3QgdGhlIA0KZG9jdW1l
bnQvcm9vdCBlbGVtZW50IGRlZmluaXRpb24gZm91bmQgaW4gdGhlIERURC4gQnV0LCBhdCBs
ZWFzdCwgdGhlcmUgDQppcyBhIGh1bWFuIGVsZW1lbnQgaGVyZS4gRm9yIGluc3RhbmNlLCB0
aGUgRFREIGZvcm1hdCBtYXkgc2VlbSBoYXJkIHRvIA0KcmVhZCBhbmQgb2Z0ZW4gaXMgc3Rv
cmVkIGV4dGVybmFsbHkuIEFuZCBzbywgdGhlIHJvb3QvbmFtZSBwYXJ0IG9mIHRoZSANCkRP
Q1RZUEUgZGVjbGFyYXRpb24gY2FuIGFueWhvdyBwbGF5IGEgdGVjaG5pY2FsIHJvbGUsIG5h
bWVseSB0aGUgcm9sZSANCm9mIGluY3JlYXNpbmcgdGhlIGNlcnRhaW50eSBhYm91dCB0aGUg
aHVtYW4gaW50ZW50aW9uIC0gdGhhdCB0aGUgYXV0aG9yIA0KaGFzIGluZGVlZCBpbnRlbmRl
ZCB0byBhdXRob3IgdGhpcyBkb2N1bWVudCBhY2NvcmRpbmcgdG8gY2VydGFpbiANCmdyYW1t
YXIuDQoNCk9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgdGhpbmdzIHRoYXQgYSBEVEQgZG9l
cyBpcyB0aGF0IGl0IGRlZmluZXMgDQplbnRpdGllcywgZS5nLiBjaGFyYWN0ZXIgZW50aXRp
ZXMuIEFuZCBpdCBzZWVtcyB0aGF0IFhNTCBwYXJzZXIgdGhhdCANCmFyZSBub3QgdmFsaWRh
dGluZywgd2lsbCAic2VlIiB0aG9zZSBlbnRpdGllcyByZWdhcmRsZXNzIG9mIHRoZSByb290
IA0KZWxlbWVudCBuYW1lIG9mIHRoZSBET0NUWVBFIGRlY2xhcmF0aW9uLiBBbmQsIGluIGZh
Y3QsIG9uZSBjb3VsZCBjbGFpbSANCnRoYXQgdGhhdCBpcyBob3cgdGhlIEhUTUw1IHNwZWNp
ZmljYXRpb24gc2F5cyB0aGF0IFhIVE1sNSBwYXJzZXJzIA0Kc2hvdWxkIGJlaGF2ZSwgc2lu
Y2UgaXQsIGZvciBhIHNldCBvZiA5IChleHBlY3RlZCB0byBiZWNvbWUgMTApWypdIHdlbGwg
DQprbm93biBQVUJMSUMgaWRlbnRpZmllcnMsIHJlY29tbWVuZHMgdG8gYWx3YXlzIGltcGxl
bWVudCB0aGUgDQpIVE1MNS1kZWZpbmVkIHNldCBvZiBjaGFyYWN0ZXIgZW50aXRpZXMuIA0K
DQpbKl0gaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLWh0bWwt
YWRtaW4vMjAxM0ZlYi8wMjExDQoNCkJ1dCBpdCBpcyBzdHJpa2luZyB0aGF0IHRoZXNlIGVu
dGl0aWVzIGFyZSBpbXBsZW1lbnRlZCBldmVuIHdoZW4gdGhlIA0KZG9jdW1lbnQvcm9vdCBu
YW1lIHBhcnQgb2YgRE9DVFlQRSBkZWNsYXJhdGlvbiBkb2VzIG5vdCBtYXRjaCB0aGUgcm9v
dCANCmVsZW1lbnQuDQoNCj4+IC4uLg0KPj4gQnkgdGhlIHdheTogSWYgd2UgcmVtb3ZlIHRo
ZSBYU0Qgc3BlY2lmaWMgYXR0cmlidXRlcyBmcm9tIHRoZSBtYXJrdXAgb2YgDQo+PiB0aGUg
YWJvdmUgdGVzdCBkb2N1bWVudCwgdGhlbiBPeHlnZW4gKFhlcmNlcykgZG9lcyBpbiBmYWN0
IGNvbXBsYWluIA0KPj4gdGhhdCB0aGUgcm9vdCBlbGVtZW50IGRvZXNuJ3QgbWF0Y2ggdGhl
IGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24uIEFuZCANCj4+IGl0IGRvZXMgc28gKndpdGhv
dXQqIGNvbXBsYWluaW5nIHRoYXQgdGhlIHJlc3Qgb2YgdGhlIG1hcmt1cCBpcyANCj4+IGlu
dmFsaWQuIElzIHRoaXMgYmVjYXVzZSBvWHlnZW4gdXNlcyBhIFhTRCBzY2hlbWEgdGhhdCBp
bmNsdWRlcyBET0NUWVBFIA0KPj4gdmFsaWRhdGlvbj8gT3IgaXMgaXQgYmVjYXVzZSBpdCB1
c2VzICJEVEQgbW9kZSIgZm9yIHRoZSBET0NUWVBFLCBhbmQgDQo+PiB0aGVuIFhTRCBtb2Rl
IGZvciB0aGUgcmVzdCBvZiB0aGUgZG9jdW1lbnQ/DQo+IA0KPiBJIHRoaW5rIHRoZSBhbnN3
ZXIgaXMgdGhhdCBPeHlnZW4ncyBhbGdvcml0aG0gZm9yIGRlY2lkaW5nIGhvdyB0byB2YWxp
ZGF0ZSANCj4gYSBkb2N1bWVudCwgd2hlbiB2YWxpZGF0aW9uIGlzIHJlcXVlc3RlZCwgd2ls
bCBpZ25vcmUgYSBET0NUWVBFDQo+IGRlY2xhcmF0aW9uIGlmIGFuIHhzaTpzY2hlbWFMb2Nh
dGlvbiBoaW50IGlzIHByZXNlbnQuICAoQnV0IEkgaGF2ZW4ndA0KPiB0ZXN0ZWQgdGhpcyBo
eXBvdGhlc2lzOyBJIGp1c3Qga25vdyB0aGF0IE94eWdlbiBtYWtlcyBpdHMgYmVzdCBlZmZv
cnQgdG8NCj4gZG8gc29tZXRoaW5nIHVzZWZ1bC4pDQoNCkl0IHdvdWxkIGJlIGludGVyZXN0
aW5nIHRvIGhlYXIgZnJvbSBzb21lb25lIHdobyB0ZXN0cyBvciBmcm9tIHRoZSANCk94eWdl
biBkZXZlbG9wZXJzLg0KDQo+PiBTT01FICJQSElMT1NPUEhJQyIgUVVFU1RJT05TOiBBY2Nv
cmRpbmcgdG8gWE1MIDEuMCwgInZhbGlkaXR5IA0KPj4gY29uc3RyYWludHMiIGFwcGx5IHRv
IGFsbCB2YWxpZCBkb2N1bWVudHMuIERvZXMgWE1MIGJ5IHRoaXMgbWVhbiAiYWxsIA0KPj4g
RFRELXZhbGlkIGRvY3VtZW50cyIsIG5vbHk/IFRoaXMgaXMgcmVsZXZhbnQgc2luY2UgWE1M
IHNheXMgdGhhdCBpdCBpcyANCj4+IGEgdmFsaWRpdHkgY29uc3RyYWludCB0aGF0IHRoZSBE
T0NUWVBFIGRlY2xhcmF0aW9uIG1hdGNoZXMgdGhlIHJvb3QuIA0KPj4gVGh1cywgaXQgc2Vl
bXMgdG8gbWUgdGhhdCBpZiB0aGlzIHZhbGlkaXR5IGNvbnN0cmFpbiBkb2VzICpub3QqIGFw
cGx5IA0KPj4gdG8gWFNELCB0aGVuIFhTRCBwcm9jZXNzb3IgYXJlLCBpbiBmYWN0LCBub3Qg
dmFsaWRhdGluZyBwcm9jZXNzb3JzLiANCj4+IChJLmUuICJ2YWxpZGF0aW5nIHByb2Nlc3Nv
ciIgcGVyIFhNTCAxLjAsIHRoZW4gbWVhbnMgIkRURC12YWxpZGF0aW5nIA0KPj4gcHJvY2Vz
c29yIi4pIElmIHNvLCB0aGVuIGluIG9uZSB3YXksIGl0IGlzIHVubHVja3kgdGhhdCAndmFs
aWRpdHknIGlzIA0KPj4gdXNlZCBieSBhbnl0aGluZyBvdGhlciB0aGFuIERURC12YWxpZGl0
eS4NCj4gDQo+IFRoZSBvbmx5IGZvcm0gb2YgdmFsaWRpdHkgZGVmaW5lZCBpbiB0aGUgWE1M
IHNwZWNpZmljYXRpb24gaXMgRFRELWJhc2VkDQo+IHZhbGlkaXR5LiAgU28geWVzLCB0aGUg
dmFsaWRpdHkgY29uc3RyYWludHMgb2YgdGhhdCBzcGVjIHJlbGF0ZSB0byANCj4gdmFsaWRh
dGlvbg0KPiBhZ2FpbnN0IGEgRFRELCBhbmQgbm8sIFhTRCB2YWxpZGF0b3JzIGFyZSBub3Qg
J3ZhbGlkYXRpbmcgcHJvY2Vzc29ycycNCj4gd2l0aGluIHRoZSBtZWFuaW5nIG9mIFhNTCBz
cGVjLg0KPiANCj4gVGhlIHByb3NlIG9mIHRoZSBYU0Qgc3BlYyBnZW5lcmFsbHkgdHJpZXMg
dG8gdXNlIHRoZSB0ZXJtICdzY2hlbWEtdmFsaWRpdHknIA0KPiBmb3IgdGhlIHByb3BlcnR5
IHRoYXQgYW4gWFNEIHZhbGlkYXRvciBjaGVja3M7IHRoZXJlIHdhcyBzb21lIGZlYXIgZHVy
aW5nIA0KPiB0aGUgZHJhZnRpbmcgb2YgWFNEIDEuMCB0aGF0IHVzaW5nIHRoZSB1bnF1YWxp
ZmllZCB0ZXJtICJ2YWxpZGl0eSIgd291bGQgDQo+IGNvbmZ1c2UgcGVvcGxlLiAgVGhlIGlu
dGVydmVuaW5nIHllYXJzIGhhdmUgc2hvd24gdGhhdCBwZW9wbGUgYXJlIHF1aXRlDQo+IGhh
cHB5IHRvIHVzZSB0aGUgdGVybSAidmFsaWRpdHkiIGluIGEgYnJvYWRlciBzZW5zZSBhbmQg
dG8gZGlzdGluZ3Vpc2gNCj4gRFRELXZhbGlkaXR5LCBSTkctdmFsaWRpdHksIFhTRC12YWxp
ZGl0eSwgZXRjLiBhcyBuZWVkZWQuICBTbyBzb21lIHJlYWRlcnMNCj4gaGF2ZSBmZWx0IHRo
YXQgdGhlIFhTRCBzcGVjJ3MgY29uc2lzdGVudCB1c2Ugb2YgInNjaGVtYS12YWxpZGl0eSIg
aW5zdGVhZA0KPiBvZiBqdXN0ICJ2YWxpZGl0eSIgd2FzIGFuIHVubmVjZXNzYXJ5IGFmZmVj
dGF0aW9uLiAgSW4gZnV0dXJlIEkgc2hhbGwgcmVmZXIgDQo+IHN1Y2ggY29tbWVudHMgdG8g
eW91ciBtZXNzYWdlOyB5b3UgYXJlIHRoZSBmaXJzdCByZWFkZXIgSSBoYXZlIGVuY291bnRl
cmVkDQo+IHRvIHN1cHBvcnQgdGhlIFhTRCBzcGVjJ3MgY2hvaWNlIG9mIHRlcm1pbm9sb2d5
Lg0KDQpUaGFua3MgZm9yIGNvbmZpcm1pbmcgdGhhdCBYU0QgdmFsaWRhdGVkIGRvY3VtZW50
cyBhcmUgbm90IFhNTCAxLjAgDQp2YWxpZC4NCg0KQnR3LCBJIHRoaW5rIGl0IGlzIGdvb2Qv
T0sgd2hlbiBhIHRleHQgY29tcGxldGVseSByZWRlZmluZSBhIGNvbmNlcHQuIA0KTWF5IGJl
IGl0IHdvdWxkIGhhdmUgYmVlbiBqdXN0IGFzIGdvb2Qgb3IgYmV0dGVyIGlmIHRoZSBYU0Qg
c2ltcGx5IHVzZWQgDQoidmFsaWQiIGluIHRoZSBzYW1lIHdheSBYTUwgMS4wIGRvZXMsIGJ1
dCBtYWRlIGl0IHZlcnkgY2xlYXIgdGhhdCBhKSANClhNTCBzcGVha3MgYWJvdXQgRFRELXZh
bGlkLCB3aGVyZWFzIFhTRCBzcGVha3MgYWJvdXQgWFNELXZhbGlkLg0KDQo+PiBQUzogSSBu
b3RlIHdpdGggaW50ZXJlc3QgdGhhdCB0aGUgWFNEIHNjaGVtYSBmaWxlcyBmb3IgdGhlIFhT
RCBsYW5ndWFnZSANCj4+IGl0c2VsZiwgdGhlbXNlbHZlcyAoc29tZSBvZiB0aGVtKSBpbmNs
dWRlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb25zLiANCj4+IEFuZCBzbyBJIHdvbmRlcjog
V2hhdCB3b3VsZCBoYXBwZW4gaWYgb25lIGFsdGVyZWQgdGhlIHJvb3QgbmFtZXMgIA0KPj4g
ZGVjbGFyZWQgYnkgdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gaW4gdGhvc2UgWFNE
IGRvY3VtZW50cz8gV291bGQgDQo+PiBYU0QtYmFzZWQgcHJvY2Vzc29yIHN0b3Agd29ya2lu
ZyDigKYgPw0KPiANCj4gTW9zdCBYU0QgcHJvY2Vzc29ycyBoYXZlIGhhcmQtY29kZWQga25v
d2xlZGdlIG9mIHRoZSBzY2hlbWENCj4gZm9yIHNjaGVtYSBkb2N1bWVudHMgYXMgc3BlY2lm
aWVkIGluIHRoZSBYU0Qgc3BlYzsgaXQgd291bGQgYmUgYW4NCj4gdW51c3VhbCBwcm9jZXNz
b3IgdGhhdCBhY3R1YWxseSByZWFkIHRoZSBzY2hlbWEgZG9jdW1lbnQgZm9yDQo+IHNjaGVt
YSBkb2N1bWVudHMgb24gZWFjaCBzdGFydHVwLiAgKE5vdCBhbiBpbXBvc3NpYmxlIG9uZSwg
anVzdA0KPiB1bnVzdWFsLikgIFByb2Nlc3NvcnMgd2l0aCBoYXJkLWNvZGVkIGtub3dsZWRn
ZSBvZiB0aGUgc2NoZW1hIGZvcg0KPiBzY2hlbWEgZG9jdW1lbnRzIHdvdWxkLCBJIGd1ZXNz
LCBiZSB1bmFmZmVjdGVkIGJ5IGEgdGV4dHVhbCBjaGFuZ2UNCj4gdG8gdGhlIHNjaGVtYSBk
b2N1bWVudHMgaW4gdGhlIHNwZWMuICBBIHByb2Nlc3NvciB0aGF0IGRpZCByZWFkIHRoZQ0K
PiBzY2hlbWEgZG9jdW1lbnQgZm9yIHNjaGVtYSBkb2N1bWVudHMgYXQgc3RhcnR1cCBtaWdo
dCBjZWFzZSB0byB3b3JrDQo+IGlmIGl0IGNoZWNrZWQgdGhlIHNjaGVtYSBkb2N1bWVudHMg
Zm9yIERURC12YWxpZGl0eSBhbmQgZm91bmQgdGhhdA0KPiB0aGUgcm9vdCBlbGVtZW50IGhh
ZCB0aGUgd3JvbmcgbmFtZSwgYnV0IGl0IGlzIG5vdCAodW5sZXNzIEkgYW0gZm9yZ2V0dGlu
Zw0KPiBzb21ldGhpbmcpIGEgcmVxdWlyZW1lbnQgb2YgdGhlIFhTRCBzcGVjIHRoYXQgWFNE
IHNjaGVtYSBkb2N1bWVudHMNCj4gYmUgRFRELXZhbGlkLg0KPiANCj4gVGhhbmsgeW91IGZv
ciB5b3VyIHRob3VnaHRmdWwgYW5kIHRob3VnaC1wcm92b2tpbmcgbWVzc2FnZS4gDQo+IA0K
PiBJIGhvcGUgdGhpcyBoZWxwcy4NCg0KVGhhbmtzLiBJdCB3YXMgYSBncmVhdCBoZWxwIGZv
ciBtZSENCi0tIA0KTGVpZiBIYWx2YXJkIFNpbGxp