Multiple Passes of Tidy

Geoff McLane <[email protected]> Mon, 16 Jan 2012 18:48:05 +0100
Newsgroups gmane.comp.web.html-tidy.devel
Message-ID <1326736085.1781.31.camel@DELL02>
UmU6IE11bHRpcGxlIFBhc3NlcyBvZiBUaWR5CgpIaSwKCkkgd2VudCBvbiB0byBjb25kdWN0IGFu
b3RoZXIgdGVzdCwgYW5kIHRoYXQgCndhcyB0byBjb250aW51ZSB0byBydW4gdGlkeSBvbiBpdHMg
b3duIHRlc3QgCm91dHB1dCwgYW5kIHNlZSBpZiB0aWR5IGVmZmVjdGVkIGFueSBuZXcgCmNoYW5n
ZXMuLi4KCkkgZG8gdGhpcyBmcmVxdWVudGx5IG9uIG15IHdlYiBwYWdlcy4gSXQgaXMgCmhvdyBJ
IHRlc3QgaWYgYSBwYWdlIG5lZWRzIHRpZHlpbmcuIFRoYXQgaXMgCmlmIHRoZSBvdXRwdXQgb2Yg
dGlkeWluZyBpcyB0aGUgU0FNRSBhcyB0aGUgCndlYiBwYWdlLCBnaXZlbiB0aGUgc2FtZSBjb25m
aWcgb2YgY291cnNlLCAKdGhlbiB0aGF0IHBhZ2UgaXMgZG9uZS4uLgoKQnV0IGluIDIzIG9mIDIz
MSB0ZXN0cyBjYXNlcywgdGhpcyBpcyAKTk9UIHRydWUgOz0oKCBUaGF0IGlzIHJ1bm5pbmcgdGlk
eSBvbiBpdHMgb3duIApvdXRwdXQsIHByb2R1Y2VzIE5FVyBjaGFuZ2VzLi4uIEkgYW0gbm90IHN1
cmUgCmhvdyBzaWduaWZpY2FudCB0aGlzIGlzLi4uCgpUaGlzIHdhcyB1c2luZyB0aGUgbmV3IEhU
TUw1IHBhdGNoZWQgVGlkeSwgCnNvIEkgd2VudCBiYWNrIHRvIDIwMDkgcmVsZWFzZSwgYW5kIGZp
bmQgaXQgCnRvbyAnZmFpbHMnIG9uIHRoZSBzYW1lIDIzIGNhc2VzLCBpbiB0aGUgc2FtZSAKd2F5
Li4uCgpBcyBzdGF0ZWQsIEkgYW0gbm90IHN1cmUgaG93IHNpZ25pZmljYW50IHRoaXMgCnJlYWxs
eSBpcywgYnV0IGF0dGFjaGVkIGJlbG93IGlzIGFuIGV4YW1pbmF0aW9uIApvZiB0aGUgZGlmZmVy
ZW5jZXMgLSBzbyB5b3UgY2FuIGFsc28gZGVjaWRlIGlmIAp0aGlzIGlzIHNpZ25pZmljYW50Li4u
CgpJbiBzb21lIHdheSBJIGZlZWwgaXQgaXMgaW1wb3J0YW50IHRoYXQgVGlkeSAKc2hvdWxkIGhh
dmUgTk9USElORyB0byBjaGFuZ2Ugb24gaXRzIG93biAKSFRNTCBvdXRwdXQsIGJ1dCBtYXliZSBJ
IGFtIGV4cGVjdGluZyB0b28gCm11Y2ghCgpMb29rIGZvcndhcmQgdG8gdGhlIGNvbW1lbnRzIG9m
IG90aGVycy4uLgoKUmVnYXJkcywKR2VvZmYuCgpUaGlzIGlzIGEgc2ltcGxlIGRpZmYgLXUgb2Yg
dGhlIGluaXRpYWwgdGlkeSAKaW4gJ3RtcCcsIGFuZCB0aGVuIHJ1bm5pbmcgdGlkeSBvbiB0aGlz
ICd0bXAnLAphbmQgb3V0cHV0IHRvICd0bXAyJy4uLiBnaXZpbmcgdGhlIHRlc3QgCm51bWJlciBh
bmQgYSBjb21tZW50IG9uIHRoZSBkaWZmZXJlbmNlLi4uCgpUZXN0aW5nIDQyNzY3MQpXaHkgbm8g
RE9DVFlQRSBhZGRlZCBvbiBmaXJzdCBydW4/CgotLS0gLi90bXAvb3V0XzQyNzY3MS5odG1sICAg
MjAxMi0wMS0xNiAxMzo1MTo0MQorKysgLi90bXAyL291dF80Mjc2NzEuaHRtbCAgMjAxMi0wMS0x
NiAxMzo1MTo0MQpAQCAtMSwzICsxLDUgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzND
Ly9EVEQgSFRNTCAzLjIvL0VOIj4KKwogPGh0bWw+CiA8aGVhZD4KICAgPHRpdGxlPlsjNDI3Njcx
XSAmbHQ7TEkmZ3Q7IHcvRlJBTUUvRlJBTUVTRVQvT1BUR1JPVVAvT1BUSU9OCgpUZXN0aW5nIDQy
NzgxMApOb3QgYmlnIGRpZmZlcmVuY2UgLSBqdXN0IGEgc3BhY2UgcmVtb3ZlZC4uLgoKLS0tIC4v
dG1wL291dF80Mjc4MTAuaHRtbCAgIDIwMTItMDEtMTYgMTM6NTE6NDEKKysrIC4vdG1wMi9vdXRf
NDI3ODEwLmh0bWwgIDIwMTItMDEtMTYgMTM6NTE6NDEKQEAgLTgsOCArOCw4IEBACiAgIDwhLS0g
dXNlICItY2xlYW4iIG9yIG5vdCB0byB0ZXN0IGJvdGggY2FzZXMgLS0+CiAKICAgPHA+VGVzdCBp
bmxpbmUgZWxlbWVudDwvcD48Ymxpbms+UHJvcHJpZXRhcnkgaW5saW5lIGVsZW1lbnQKLSAgKGJs
aW5rKTwvYmxpbms+ICBQcm9wcmlldGFyeSBpbmxpbmUgZWxlbWVudCAod2JyKSAtIG5vdGUgc3Rh
cnRzCi0gIG9uIG5ldyBsaW5lLCBkb2Vzbid0IG5lZWQgZW5kIHRhZworICAoYmxpbmspPC9ibGlu
az4gUHJvcHJpZXRhcnkgaW5saW5lIGVsZW1lbnQgKHdicikgLSBub3RlIHN0YXJ0cyBvbgorICBu
ZXcgbGluZSwgZG9lc24ndCBuZWVkIGVuZCB0YWcKICAgUHJvcHJpZXRhcnkmbmJzcDtpbmxpbmUm
bmJzcDtlbGVtZW50Jm5ic3A7KG5vYnIpCiAKICAgPHA+VGVzdCBpbmxpbmUgZWxlbWVudDwvcD4K
ClRlc3RpbmcgNDI3ODExCkhtbW0sIGNoYW5nZSBpbiAnRnJhbWVzZXQnLi4uIG1heSBiZSBjb3Jy
ZWN0Li4uCgotLS0gLi90bXAvb3V0XzQyNzgxMS5odG1sICAgMjAxMi0wMS0xNiAxMzo1MTo0MQor
KysgLi90bXAyL291dF80Mjc4MTEuaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MQpAQCAtMSw0ICsx
LDQgQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIEZyYW1l
c2V0Ly9FTiI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8v
RU4iPgogCiA8aHRtbD4KIDxoZWFkPgoKVGVzdGluZyA0Mjc4MzYKQ2hhbmdlIHRvICdUcmFuc2l0
aW9uYWwnLi4uCgotLS0gLi90bXAvb3V0XzQyNzgzNi5odG1sICAgMjAxMi0wMS0xNiAxMzo1MTo0
MQorKysgLi90bXAyL291dF80Mjc4MzYuaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MQpAQCAtMSw1
ICsxLDUgQEAKIDwhLS0gWyAjNDI3ODM2IF0gT0JKRUNUIHNob3VsZCBiZSB3cmFwcGVkIGluIEJP
RFkgLS0+Ci08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4i
PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlv
bmFsLy9FTiI+CiAKIDxodG1sPgogPGhlYWQ+CgpUZXN0aW5nIDQyNzgzOApTdGFuZ2Ugb25lIHNw
YWNlIGNoYW5nZSBpbiAnaW5kZW50aW5nJy4uLgoKLS0tIC4vdG1wL291dF80Mjc4MzguaHRtbCAg
IDIwMTItMDEtMTYgMTM6NTE6NDEKKysrIC4vdG1wMi9vdXRfNDI3ODM4Lmh0bWwgIDIwMTItMDEt
MTYgMTM6NTE6NDEKQEAgLTE1LDcgKzE1LDcgQEAKICAgICAgaWQ9ImNsaXBib2FyZCI+Q2xpcGJv
YXJkPC9hPjwvaDM+CiAKICAgPHA+bG90cyBtb3JlIHN0dWZmIGRlbGV0ZWQuLi4uIDwhLS0gRGF2
ZSdzIGFkZGl0aW9ucyAtLT4KLSAgPGEgaHJlZj0iYmFyIj5zb21lIHRleHQ8L2E+PGEgaHJlZj0i
YmFyIj5zb21lIHRleHQ8L2E+IDxhIGhyZWY9CisgICA8YSBocmVmPSJiYXIiPnNvbWUgdGV4dDwv
YT48YSBocmVmPSJiYXIiPnNvbWUgdGV4dDwvYT4gPGEgaHJlZj0KICAgImZvbyI+PC9hPjwvcD4K
IDwvYm9keT4KIDwvaHRtbD4KClRlc3RpbmcgNDMxNzIxCkFkZGl0aW9uIG9mIERPQ1RZUEUsIGFu
ZCBzb21lIGFkZGl0aW9uYWwgc3BhY2UgcmVtb3ZhbAoKLS0tIC4vdG1wL291dF80MzE3MjEuaHRt
bCAgIDIwMTItMDEtMTYgMTM6NTE6NDEKKysrIC4vdG1wMi9vdXRfNDMxNzIxLmh0bWwgIDIwMTIt
MDEtMTYgMTM6NTE6NDEKQEAgLTEsMyArMSw1IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMS8vRU4iPgorCiA8aHRtbD4KIDxoZWFkPgogICA8dGl0bGU+Sm9l
LUJvYiBCcmlnZ3MgTExQPC90aXRsZT4KQEAgLTI0LDExICsyNiwxMSBAQAogICAgIGFzc2lzdCBo
aXMgY2xpZW50cyB3aGVyZSB0aGVpciBuZWVkcyBhcmUgbW9zdCBwcmVzc2luZy48L3A+CiAKICAg
ICA8dWw+Ci0gICAgICA8bGk+IEVzdGF0ZSBQbGFubmluZzwvbGk+CisgICAgICA8bGk+RXN0YXRl
IFBsYW5uaW5nPC9saT4KIAotICAgICAgPGxpPiBDbG9zZWx5LUhlbGQgQnVzaW5lc3MgUHJhY3Rp
Y2U8L2xpPgorICAgICAgPGxpPkNsb3NlbHktSGVsZCBCdXNpbmVzcyBQcmFjdGljZTwvbGk+CiAK
LSAgICAgIDxsaT4gRXN0YXRlLCBHaWZ0LCBJbmNvbWUgYW5kIE90aGVyIFRheCBBZHZpY2U8L2xp
PgorICAgICAgPGxpPkVzdGF0ZSwgR2lmdCwgSW5jb21lIGFuZCBPdGhlciBUYXggQWR2aWNlPC9s
aT4KICAgICA8L3VsPgogCiAgICAgPHA+Jm5ic3A7PC9wPgpAQCAtNDMsNyArNDUsNyBAQAogICAg
IHRoZSBFc3RhdGUgUGxhbm5pbmcgU29jaWV0eSBhbmQgdGhlIE1pZC1BbWVyaWNhIFBsYW5uZWQg
R2l2aW5nCiAgICAgQ291bmNpbC4mbmJzcDsgQSBmZWxsb3cgb2YgdGhlIEFtZXJpY2FuIENvbGxl
Z2Ugb2YgVHJ1c3QgYW5kCiAgICAgRXN0YXRlIENvdW5zZWwsIEpCIGxlY3R1cmVzIGZyZXF1ZW50
bHkgb24gRXN0YXRlIFBsYW5uaW5nCi0gICAgdG9waWNzIGZvciBib3RoIGxlZ2FsIGFuZCBsYXkg
b3JnYW5pemF0aW9ucy4mbmJzcDsgPC9wPgorICAgIHRvcGljcyBmb3IgYm90aCBsZWdhbCBhbmQg
bGF5IG9yZ2FuaXphdGlvbnMuJm5ic3A7PC9wPgogCiAgICAgPHA+Jm5ic3A7PC9wPgogICA8L2Rp
dj4KClRlc3RpbmcgNDQzNjc4CkVzY2FwZWQgJy8nIGFkZGVkIGluIHNjcmlwdCwgbm90IGRvbmUg
aW4gZmlyc3QgcnVuLi4uCgotLS0gLi90bXAvb3V0XzQ0MzY3OC5odG1sICAgMjAxMi0wMS0xNiAx
Mzo1MTo0MQorKysgLi90bXAyL291dF80NDM2NzguaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MQpA
QCAtOCw3ICs4LDcgQEAKICAgICAgICAgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIGZ1bmN0aW9u
IGJheigpCiAgIHsKLSAgZG9jdW1lbnQud3JpdGUoICc8Zm9vPjwvZm9vPicgKTsKKyAgZG9jdW1l
bnQud3JpdGUoICc8Zm9vPjxcL2Zvbz4nICk7CiAgIGRvY3VtZW50LndyaXRlKCAiPGJhcj5cIlNv
bWUgVGV4dFwiPFwvYmFyPiIgKTsKICAgfQogICA8L3NjcmlwdD4KClRlc3RpbmcgNDQ1NTU3CkEg
bnVtYmVyIG9mICdzcGFjZScgY2hhbmdlcy4uLgoKLS0tIC4vdG1wL291dF80NDU1NTcuaHRtbCAg
IDIwMTItMDEtMTYgMTM6NTE6NDEKKysrIC4vdG1wMi9vdXRfNDQ1NTU3Lmh0bWwgIDIwMTItMDEt
MTYgMTM6NTE6NDEKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1cz
Qy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KIAogPGh0bWw+Ci08IS0tIHRoZSBv
cmlnaW5hbCBkb2N1bWVudCBoYWQgEyAtIEkgY2hhbmdlZCB0aGF0IHRvICZuZGFzaDsgLSB0aGVu
CiYjMTUwOyAtLT4KKzwhLS0gdGhlIG9yaWdpbmFsIGRvY3VtZW50IGhhZCAgLSBJIGNoYW5nZWQg
dGhhdCB0byAmbmRhc2g7IC0gdGhlbgomIzE1MDsgLS0+CiAKIDxoZWFkPgogICA8dGl0bGU+WyAj
NDQ1NTU3IF0gQ29udmVydCBTeW1ib2wgZm9udCBjaGFycyB0byBVbmljb2RlPC90aXRsZT4KQEAg
LTEyLDIzICsxMiwyMyBAQAogICBwcm92aW5nIGxvZ2ljYWwgc3RhdGVtZW50cy4gSGVyZSBhcmUg
dGhlIG1haW4gc3ltYm9scyB1c2VkIGluCiAgIHByZWRpY2F0ZSBjYWxjdWx1czo8L3A+CiAKLSAg
PHA+UCh4KSAgJm5kYXNoOyBwcm9wb3NpdGlvbiAmbmRhc2g7IGEgbG9naWNhbCBzdGF0ZW1lbnQg
aW4gdGhlCisgIDxwPlAoeCkgJm5kYXNoOyBwcm9wb3NpdGlvbiAmbmRhc2g7IGEgbG9naWNhbCBz
dGF0ZW1lbnQgaW4gdGhlCiAgIGNvbmRpdGlvbiB4LjwvcD4KIAotICA8cD54ICZuZGFzaDsgYW55
IGNvbmRpdGlvbiA8c3Ryb25nPmluIHRoZSBzZXQgb2YgcG9zc2libGUKKyAgPHA+eCAmbmRhc2g7
IGFueSBjb25kaXRpb24gPHN0cm9uZz5pbiB0aGUgc2V0IG9mIHBvc3NpYmxlCiAgIGNvbmRpdGlv
bnM8L3N0cm9uZz4uPC9wPgogCi0gIDxwPmMgJm5kYXNoOyBhIHBhcnRpY3VsYXIgY29uZGl0aW9u
IDxzdHJvbmc+aW4gdGhlIHNldCBvZgorICA8cD5jICZuZGFzaDsgYSBwYXJ0aWN1bGFyIGNvbmRp
dGlvbiA8c3Ryb25nPmluIHRoZSBzZXQgb2YKICAgcG9zc2libGUgY29uZGl0aW9uczwvc3Ryb25n
Pi48L3A+CiAKLSAgPHA+IiAgICAgJm5kYXNoOyAiRm9yIGV2ZXJ5IjwvcD4KKyAgPHA+IiAmbmRh
c2g7ICJGb3IgZXZlcnkiPC9wPgogCi0gIDxwPiQgICAgICZuZGFzaDsgIkV4aXN0cyI8L3A+Cisg
IDxwPiQgJm5kYXNoOyAiRXhpc3RzIjwvcD4KIAotICA8cD7vv70gICAgICZuZGFzaDsgSW1wbGlj
YXRpb248L3A+CisgIDxwPu+/vSAmbmRhc2g7IEltcGxpY2F0aW9uPC9wPgogCi0gIDxwPu+/vSAg
ICAgJm5kYXNoOyBDb25qdW5jdGlvbiAobG9naWNhbCBhbmQpPC9wPgorICA8cD7vv70gJm5kYXNo
OyBDb25qdW5jdGlvbiAobG9naWNhbCBhbmQpPC9wPgogCi0gIDxwPu+/vSAgICAgJm5kYXNoOyBE
aXNqdW5jdGlvbiAobG9naWNhbCBvcik8L3A+CisgIDxwPu+/vSAmbmRhc2g7IERpc2p1bmN0aW9u
IChsb2dpY2FsIG9yKTwvcD4KIDwvYm9keT4KIDwvaHRtbD4KClRlc3RpbmcgNDcwNjYzClNZU1RF
TSBhZGRlZCBvbiAybmQgcnVuLi4uCgotLS0gLi90bXAvb3V0XzQ3MDY2My5odG1sICAgMjAxMi0w
MS0xNiAxMzo1MTo0MQorKysgLi90bXAyL291dF80NzA2NjMuaHRtbCAgMjAxMi0wMS0xNiAxMzo1
MTo0MQpAQCAtMSw1ICsxLDYgQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQg
WEhUTUwgMS4wIFN0cmljdC8vRU4iPgotPGh0bWw+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9U
Ui94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4KIDxoZWFkPgogPHRpdGxlPlRlc3QgSW5wdXQgRm9yIEJ1ZyAj
NDcwNjYzPC90aXRsZT4KIDwvaGVhZD4KClRlc3RpbmcgNTAwMjM2ClNwYWNlIHJlcGxhY2VkIGxp
bmUgYnJlYWsgaW4gMm5kIHJ1bi4uLgoKLS0tIC4vdG1wL291dF81MDAyMzYuaHRtbCAgIDIwMTIt
MDEtMTYgMTM6NTE6NDEKKysrIC4vdG1wMi9vdXRfNTAwMjM2Lmh0bWwgIDIwMTItMDEtMTYgMTM6
NTE6NDEKQEAgLTEsNSArMSw1IEBACiA8IS0tIHVzZSAiPT13b3JkLTIwMDAgeWVzIC14bWwiIG9u
IGNvbW1hbmQgbGluZSAtLT4KIDwhLS0gVGVzdCBjYXNlIGZvciBNUyBBY2Nlc3MgZmlsZXMgZmFp
bGluZyB3aXRoIEVycm9yOiBtaXNzaW5nIHF1b3RlCm1hcmsgZm9yIGF0dHJpYnV0ZSB2YWx1ZSAt
LT4KIDxQQVJBTSBOQU1FPSJYTUxEYXRhIgotVkFMVUU9IiZsdDt4bWwKeG1sbnM6YT0mcXVvdDt1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTphY2Nlc3MmcXVvdDsmZ3Q7CgombHQ7YTpz
b21ldGhpbmcmZ3Q7Jmx0Oy9hOnNvbWV0aGluZyZndDsmbHQ7YTpzb21ldGhpbmcmZ3Q7Jmx0Oy9h
OnNvbWV0aGluZyZndDsmbHQ7L3htbCZndDsnJnF1b3Q7Ij4KK1ZBTFVFPSImbHQ7eG1sCnhtbG5z
OmE9JnF1b3Q7dXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6YWNjZXNzJnF1b3Q7Jmd0
OwombHQ7YTpzb21ldGhpbmcmZ3Q7Jmx0Oy9hOnNvbWV0aGluZyZndDsmbHQ7YTpzb21ldGhpbmcm
Z3Q7Jmx0Oy9hOnNvbWV0aGluZyZndDsmbHQ7L3htbCZndDsnJnF1b3Q7Ij4KIDwvUEFSQU0+CgpU
ZXN0aW5nIDU1MzQ2OApDaGFuZ2VkIGZyb20gJ1RyYW5zaXRpb25hbCcgdG8gJ1N0cmljdCcKCi0t
LSAuL3RtcC9vdXRfNTUzNDY4Lmh0bWwgICAyMDEyLTAxLTE2IDEzOjUxOjQyCisrKyAuL3RtcDIv
b3V0XzU1MzQ2OC5odG1sICAyMDEyLTAxLTE2IDEzOjUxOjQyCkBAIC0xLDUgKzEsNSBAQAotPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9F
TiIKLSAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlv
bmFsLmR0ZCI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBT
dHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1z
dHJpY3QuZHRkIj4KIAogPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
PgoKVGVzdGluZyA1ODgwNjEKQWRkaXRpb24gb2YgYSBzcGFjZSBpbiAybmQgcnVuCgotLS0gLi90
bXAvb3V0XzU4ODA2MS5odG1sICAgMjAxMi0wMS0xNiAxMzo1MTo0MgorKysgLi90bXAyL291dF81
ODgwNjEuaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MgpAQCAtMjQsNyArMjQsNyBAQAogICA8YnI+
CiAgIFRvbGwgRnJlZSA4NzctNjI1LTM1NDYgKFVTIG9ubHkpPC9zdHJvbmc+PC9oMT48YnI+CiAg
IDxzdHJvbmc+PGJyPgotICA8YnI+PC9zdHJvbmc+PHN0cm9uZz48aW1nIHNyYz0iaW1hZ2VzL2dh
cm1pbmxvZ28xLmpwZyIKKyAgPGJyPjwvc3Ryb25nPiA8c3Ryb25nPjxpbWcgc3JjPSJpbWFnZXMv
Z2FybWlubG9nbzEuanBnIgogICAgICAgIGJvcmRlcj0iMCIKICAgICAgICBhbHQ9Ikdhcm1pbiBM
b2dvIj48YnI+CiAgIDxicj4KClRlc3RpbmcgNjA5MDU4CkFnYWluICdUcmFuc2l0aW9uYWwnIHRv
ICdTdHJpY3QnCgotLS0gLi90bXAvb3V0XzYwOTA1OC5odG1sICAgMjAxMi0wMS0xNiAxMzo1MTo0
MgorKysgLi90bXAyL291dF82MDkwNTguaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MgpAQCAtMSw1
ICsxLDUgQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRy
YW5zaXRpb25hbC8vRU4iCi0gICAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0
bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RU
RCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwx
L0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CiAKIDxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sIj4KIDxoZWFkPgoKVGVzdGluZyA2MTY3NDQKQWRkaXRpb24gb2YgYSB0cmFp
bGluZyBzcGFjZSBvbiAybmQgcnVuLi4uCgotLS0gLi90bXAvb3V0XzYxNjc0NC5odG1sICAgMjAx
Mi0wMS0xNiAxMzo1MTo0MgorKysgLi90bXAyL291dF82MTY3NDQuaHRtbCAgMjAxMi0wMS0xNiAx
Mzo1MTo0MgpAQCAtMSw1ICsxLDUgQEAKIDxyZWZlbnRyeT4KLTxwYXJhPlRoaXMgaXMgc29tZSBz
dHVmZiBpbiBhIHBhcmEuIFRoZXJlJ3MgYSAiCis8cGFyYT5UaGlzIGlzIHNvbWUgc3R1ZmYgaW4g
YSBwYXJhLiBUaGVyZSdzIGEgIiAKIDxsaXRlcmFsPmNvbW1hbmQ8L2xpdGVyYWw+IiBpbiBpdC48
L3BhcmE+CiA8YmxvY2txdW90ZT4KIDxwcm9ncmFtbGlzdGluZz4KClRlc3RpbmcgNjU4MjMwClJl
bW92YWwgb2Ygc29tZSAnc3BhY2V5JyBjaGFycy4uLgoKLS0tIC4vdG1wL291dF82NTgyMzAuaHRt
bCAgIDIwMTItMDEtMTYgMTM6NTE6NDIKKysrIC4vdG1wMi9vdXRfNjU4MjMwLmh0bWwgIDIwMTIt
MDEtMTYgMTM6NTE6NDIKQEAgLTUsNyArNSw3IEBACiA8L2hlYWQ+CiA8Ym9keT4KIDxwPkJJRy01
IO+/vXLvv73vv708L3A+Ci08cD5IZXJlIGFyZSBzb21lIGVudGl0aWVzOiAmYW1wOyAiICAUICAy
PC9wPgorPHA+SGVyZSBhcmUgc29tZSBlbnRpdGllczogJmFtcDsgIiAyPC9wPgogPHA+QTAg77+9
77+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/vSDvv73v
v70g77+977+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/
vSDvv71AIO+/vUEg77+9QiDvv71DIO+/vUQK77+9RSDvv71GIO+/vUcg77+9SCDvv71JIO+/vUog
77+9SyDvv71MIO+/vU0KIO+/vU4g77+9TyDvv73vv70g77+9UCDvv71RIO+/vVIg77+9UyDvv71U
IO+/vVUg77+9ViDvv71XIO+/vVgg77+9WSDvv71aIO+/vVsg77+9XCDvv71dIO+/vV4g77+9XyDv
v73vv70g77+9YCDvv71hIO+/vWIg77+9Ywrvv71kIO+/vWUg77+9ZiDvv71nIO+/vWgg77+9aSDv
v71qIO+/vWsg77+9bCDvv71tCiDvv71uIO+/vW8g77+977+9IO+/vXAg77+9cSDvv71yIO+/vXMg
77+9dCDvv711IO+/vXYg77+9dyDvv714IO+/vXkg77+9eiDvv717IO+/vXwg77+9fSDvv71+IO+/
ve+/vSDvv73vv70g77+977+9IO+/ve+/vSDvv73vv70g77+977+9Cu+/ve+/vSDvv73vv70g77+9
77+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/vSDvv73vv70g77+977+9IO+/ve+/vQoKVGVz
dGluZyA2NzgyNjgKSW5kZW50aW5nIGNoYW5nZS4uLgoKLS0tIC4vdG1wL291dF82NzgyNjguaHRt
bCAgIDIwMTItMDEtMTYgMTM6NTE6NDIKKysrIC4vdG1wMi9vdXRfNjc4MjY4Lmh0bWwgIDIwMTIt
MDEtMTYgMTM6NTE6NDIKQEAgLTEwLDEyICsxMCwxMiBAQAogCiAgIDx0aXRsZT5FcnJvcjogRmls
ZSBDb3B5IEVycm9yISBGaWxlPUM6XFdpbk5UXAogICBTeXN0ZW0zMlxQRVJGTElCX1BFUkZEQVRB
XzwjPi5EQVQgKGNvcHlpbmcgdG8gYSAKLSAgJy5maWwnKS4gPC9USVRMRT4gCi0gIDwvSEVBRD4g
Ci0gIDxCT0RZPiAKLSAgRXJyb3I6IEZpbGUgQ29weSBFcnJvciEgRmlsZT1DOlxXaW5OVFwgCi0g
IFN5c3RlbTMyXFBFUkZMSUJfUEVSRkRBVEFfIAotICA8Iz4uREFUIChjb3B5aW5nIHRvIGEgJy5m
aWwnKS48L3RpdGxlPgorICAgICcuZmlsJykuIDwvVElUTEU+IAorICAgIDwvSEVBRD4gCisgICAg
PEJPRFk+IAorICAgIEVycm9yOiBGaWxlIENvcHkgRXJyb3IhIEZpbGU9QzpcV2luTlRcIAorICAg
IFN5c3RlbTMyXFBFUkZMSUJfUEVSRkRBVEFfIAorICAgIDwjPi5EQVQgKGNvcHlpbmcgdG8gYSAn
LmZpbCcpLjwvdGl0bGU+CiA8L2hlYWQ+CiAKIDxib2R5PgoKVGVzdGluZyAxMDU1Mzk4CkFkZGl0
aW9uIG9mICdUcmFuc3Rpb25hbCcgc2VlbiBhbHJlYWR5Li4uCgotLS0gLi90bXAvb3V0XzEwNTUz
OTguaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0MgorKysgLi90bXAyL291dF8xMDU1Mzk4Lmh0bWwg
MjAxMi0wMS0xNiAxMzo1MTo0MgpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KIDxodG1sPgogPGhlYWQ+CiA8
dGl0bGU+dGVzdCB3aGV0aGVyIHJlcGFpcmluZyBkdXBsaWNhdGUgYXR0cmlidXRlcyB3b3Jrczwv
dGl0bGU+CgpUZXN0aW5nIDEwNjI1MTEKQWRkaXRpb24gb2YgRE9DVFlQRSAtIHNlZW4gYWxyZWFk
eS4uLgoKLS0tIC4vdG1wL291dF8xMDYyNTExLmh0bWwgIDIwMTItMDEtMTYgMTM6NTE6NDIKKysr
IC4vdG1wMi9vdXRfMTA2MjUxMS5odG1sIDIwMTItMDEtMTYgMTM6NTE6NDIKQEAgLTEsMyArMSw1
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgMy4yLy9FTiI+CisK
IDxodG1sPgogPGhlYWQ+CiAgIDx0aXRsZT48L3RpdGxlPgoKVGVzdGluZyAxMDY3MTEyCkFkZGl0
aW9uIG9mIFNZU1RFTSBhbmQgc29tZSAnZW1wdHknIHBhcmFncmFwaHMgcmVtb3ZlZCBvbiAybmQK
cnVuLi4uCgotLS0gLi90bXAvb3V0XzEwNjcxMTIuaHRtbCAgMjAxMi0wMS0xNiAxMzo1MTo0Mgor
KysgLi90bXAyL291dF8xMDY3MTEyLmh0bWwgMjAxMi0wMS0xNiAxMzo1MTo0MgpAQCAtMSw0ICsx
LDYgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InVzLWFzY2lpIj8+Cis8IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgor
ICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwu
ZHRkIj4KIAogPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogPGhl
YWQ+CkBAIC05LDIyICsxMSwxNiBAQAogICA8ZGl2IGNsYXNzPSJTZWN0aW9uMSI+CiAgICAgPHA+
V29yZCAyMDAwPC9wPgogCi0gICAgPHA+IDwvcD4KLQogICAgIDxoMT5IZWFkaW5nIDE8L2gxPgog
CiAgICAgPGgyPjxzdHJvbmc+SGVhZGluZyAyPC9zdHJvbmc+PC9oMj4KIAogICAgIDxoMz48c3Ry
b25nPkhlYWRpbmcgMzwvc3Ryb25nPjwvaDM+CiAKLSAgICA8cD4gPC9wPgotCiAgICAgPHA+U29t
ZSBvcmRpbmFyeSB0ZXh0IHRvIHNlZSBob3cgaXQgaGFuZGxlcyBwYXJhZ3JhcGhzPC9wPgogCiAg
ICAgPHA+QSBzZWNvbmQgcGFyYWdyYXBoPC9wPgogCi0gICAgPHA+IDwvcD4KLQogICAgIDx1bCB0
eXBlPSJkaXNjIj4KICAgICAgIDxsaT5PbmUgZG90IHBvaW50PC9saT4KIApAQCAtMzMsMTAgKzI5
LDYgQEAKICAgICAgIDxsaT5UaHJlZSBkb3QgcG9pbnRzPC9saT4KICAgICA8L3VsPgogCi0gICAg
PHA+IDwvcD4KLQotICAgIDxwPiA8L3A+Ci0KICAgICA8b2wgc3RhcnQ9IjEiCiAgICAgICAgIHR5
cGU9IjEiPgogICAgICAgPGxpPk9uZSBudW1iZXJlZCBwb2ludDwvbGk+CkBAIC00Niw4ICszOCw2
IEBACiAgICAgICA8bGk+VGhyZWUgbnVtYmVyZWQgcG9pbnRzPC9saT4KICAgICA8L29sPgogCi0g
ICAgPHA+IDwvcD4KLQogICAgIDx0YWJsZSBib3JkZXI9IjEiCiAgICAgICAgICAgIGNlbGxzcGFj
aW5nPSIwIgogICAgICAgICAgICBjZWxscGFkZGluZz0iMCI+CkBAIC05NCwxNiArODQsMTAgQEAK
ICAgICAgIDwvdHI+CiAgICAgPC90YWJsZT4KIAotICAgIDxwPiA8L3A+Ci0KICAgICA8aDU+U29t
ZSBpdGFsaWMgdGV4dDwvaDU+CiAKLSAgICA8cD4gPC9wPgotCiAgICAgPGg2PlNvbWUgYm9sZCB0
ZXh0PC9oNj4KIAotICAgIDxwPiA8L3A+Ci0KICAgICA8cD5FbmQgb2YgdGV4dDwvcD4KICAgPC9k
aXY+CiA8L2JvZHk+CgpUZXN0aW5nIDEyNDE3MjMKQ2hhbmdlIG9mIERPQ1RZUEUgZnJvbSAzLjIg
dG8gNC4wMS4uLgoKLS0tIC4vdG1wL291dF8xMjQxNzIzLmh0bWwgIDIwMTItMDEtMTYgMTM6NTE6
NDIKKysrIC4vdG1wMi9vdXRfMTI0MTcyMy5odG1sIDIwMTItMDEtMTYgMTM6NTE6NDIKQEAgLTEs
NCArMSw0IEBACi08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgMy4yLy9F
TiI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iPgog
CiA8aHRtbD4KIDxoZWFkPgoKVGVzdGluZyAxNDEwMDYxLTIKQWRkaXRpb24gb2YgJ1RyYW5zaXRp
b25hbCcsIHNlZW4gYWxyZWFkeQoKLS0tIC4vdG1wL291dF8xNDEwMDYxLTIuaHRtbCAgICAyMDEy
LTAxLTE2IDEzOjUxOjQyCisrKyAuL3RtcDIvb3V0XzE0MTAwNjEtMi5odG1sICAgMjAxMi0wMS0x
NiAxMzo1MTo0MgpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzND
Ly9EVEQgSFRNTCAzLjIvL0VOIj4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQg
SFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KIDx0aXRsZT4xNDEw
MDYxIC0gaXNzdWUgMiAtIGlubGluZSBwcm9wYWdhdGlvbjwvdGl0bGU+CgpUZXN0aW5nIDE1OTAy
MjAtMgpDaGFuZ2UgZnJvbSBzdHJpY3QgdG8gdHJhbnNpdGlvbmFsLi4uCgotLS0gLi90bXAvb3V0
XzE1OTAyMjAtMi5odG1sICAgIDIwMTItMDEtMTYgMTM6NTE6NDIKKysrIC4vdG1wMi9vdXRfMTU5
MDIyMC0yLmh0bWwgICAyMDEyLTAxLTE2IDEzOjUxOjQyCkBAIC0xLDUgKzEsNSBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgotImh0dHA6Ly93d3cu
dzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9sb29zZS5kdGQiPgogPGh0bWw+CiA8aGVhZD4KIDx0aXRsZT4xNTkwMjIwIC0gRXhh
bXBsZSAyPC90aXRsZT4KClRlc3RpbmcgMTcwNzgzNgpBZGRpdGlvbiBvZiAnYmxhbmsnIHRpdGxl
LCBhbmQgY2xvc2luZyBoZWFkLi4uCgotLS0gLi90bXAvb3V0XzE3MDc4MzYuaHRtbCAgMjAxMi0w
MS0xNiAxMzo1MTo0MworKysgLi90bXAyL291dF8xNzA3ODM2Lmh0bWwgMjAxMi0wMS0xNiAxMzo1
MTo0MwpAQCAtMiw2ICsyLDggQEAKIAogPGh0bWw+CiA8aGVhZD4KKyAgPHRpdGxlPjwvdGl0bGU+
Cis8L2hlYWQ+CiAKIDxib2R5PgogPC9ib2R5PgoKRW5kIGRpZmZlcmVuY2VzIGZvciAyMyBvZiAy
MzEgdGVzdHMgY2FzZXMuIFdoYXQgaXMgCnNpZ25pZmljYW50PwoKCgotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KUlNBKFIpIENvbmZlcmVuY2UgMjAxMgpNYXIgMjcgLSBGZWIgMgpTYXZlICQ0MDAgYnkg
SmFuLiAyNwpSZWdpc3RlciBub3chCmh0dHA6Ly9wLnNmLm5ldC9zZnUvcnNhLXNmZGV2MmRldjIK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGlkeS1kZXZl
bG9wIG1haWxpbmcgbGlzdApUaWR5LWRldmVsb3BAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBz
Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3RpZHktZGV2ZWxvcAo=