[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:14:46 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0tcHJvamVjdApQ dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2FyaWNo YXJkc29uL3Nwci9yaXNjdi1jaGFuZ2UtcmlzY3ZhYmljb21wdXRldGFyZ2V0YWJpLXRvLXJldHVy bi1leHBlY3RlZGFiaScuCkNoYW5nZWQgZnJvbSA1MjFhYzBkNDJiNTc3Y2I5OWE5ZjUwMjIwOWZl MGViYjg4NDZiNjMxIHRvIDA1ODAxZWFkYzdlMjgxY2Q1NWFkMWU5MDQzZTkxMWI5ZjkxM2EwYzAK QWNrbm93bGVkZ2VtZW50IHdhcyByZWNlaXZlZCB0aGF0IHRoaXMgY2hhbmdlIGludHJvZHVjZXMg b25seSBleGlzdGluZyBjb2RlIHRoYXQgaGFzIGJlZW4gcHVzaGVkIHRvIGFub3RoZXIgcHVibGlj IG9wZW4gc291cmNlIHJlcG9zaXRvcnkuCgpUaGlzIGNoYW5nZSBjb250YWlucyB0aGUgZm9sbG93 aW5nIG5ldyBjb21taXRzOgoKR2l0IGNvbW1pdCA3NjA5Y2I4M2JmNWZjNWMyNWUyODc3NzBkYjI3 N2RiYjM0ZTY3NGI4IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEZpbm4gUGx1bW1lcikgb24gMDQv MDgvMjAyNiBhdCAxNzozMy4uCltEaXJlY3RYXSBQcmV2ZW50IGBkeGlsLXJlc291cmNlLWFjY2Vz c2AgZnJvbSBpbnNlcnRpbmcgYSByZXNvdXJjZSBhY2Nlc3MgaW4tYmV0d2VlbiBwaGkgbm9kZXMg KCMyMTEzNDMpCgpUaGUgcGFzcyBjYW4gaW5jb3JyZWN0bHkgcGxhY2UgYSBsb2FkL3N0b3JlIHdp dGhpbiB0aGUgcGhpIG5vZGVzIGF0IHRvcApvZiB0aGUgYmFzaWMgYmxvY2s6IGh0dHBzOi8vZ29k Ym9sdC5vcmcvei94NUVjNEdXR1QKClRoaXMgaXMgcmVzb2x2ZWQgYnkgdXBkYXRpbmcgYHJlcGxh Y2VIYW5kbGVXaXRoSW5kaWNlc2AgdG8gYWRqdXN0IHRoZQppbnNlcnRpb24gcG9pbnQgd2hlbiB0 aGUgcHRyIGNvbWVzIGZyb20gYSBwaGkgbm9kZS4KClJlc29sdmVzLCBpbiBwYXJ0LCBodHRwczov L2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzIxMTEyMQoKQXNzaXN0ZWQgYnk6 IENsYXVkZSBPcHVzIDQuOApodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC83NjA5Y2I4M2JmNWZjNWMyNWUyODc3NzBkYjI3N2RiYjM0ZTY3NGI4CgpH aXQgY29tbWl0IDUzODJmN2Q2NGZmNTlkMTk4MDkxZmZkMjYzZDdhZGVjZjVkN2RkNWEgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgQmVuamFtaW4gTWF4d2VsbCkgb24gMDQvMDgvMjAyNiBhdCAxNzo0 OC4uCltDb3N0TW9kZWxdW0FBcmNoNjRdIEFkZCBpbml0aWFsIGNvc3RzIGZvciBgbWFza2VkLmNv bXByZXNzc3RvcmVgICgjMjEzNzEyKQoKVGhpcyBhZGRzIGFuIGluaXRpYWwgY29zdCBtb2RlbCBm b3IgYG1hc2tlZC5jb21wcmVzc3N0b3JlYC4gVGhlIHRlc3RzCmFyZSBiYXNlZCBvbiBgbWFza2Vk X2V4cGFuZF9sb2FkLmxsYCwgd2hpY2ggY292ZXJzIGFsbCBjb25maWd1cmF0aW9ucwpmb3IgdGhl IGBleHBhbmRgL2Bjb21wYWN0YCBpbnN0cnVjdGlvbnMuCgpOb3RlOiBSaWdodCBub3csIHdlIG9u bHkgcmVwb3J0IHZhbGlkIGNvc3RzIGZvciBgbWFza2VkLmNvbXByZXNzc3RvcmVgCm9wZXJhdGlv bnMgdGhhdCBjYW4gYmUgbG93ZXJlZCB3aXRoIFNWRTEgKGFzIHRoYXQncyBhbGwgd2UgaGFuZGxl IElTRUwKZm9yIGF0IHRoZSBtb21lbnQpLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC81MzgyZjdkNjRmZjU5ZDE5ODA5MWZmZDI2M2Q3YWRlY2Y1 ZDdkZDVhCgpHaXQgY29tbWl0IGFmMTQ0NTZhMmJhYzU1MDI2YjJkNTdjYmYxNGIzOTA1YzQ1MmI4 YTQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgYXJzbnlkZXIxNikgb24gMDQvMDgvMjAyNiBhdCAx Nzo1Mi4uCltPcGVuTVBdIFNpbXBsaWZ5IGdlbmVyaWMgbWljcm90YXNrIGRpc3BhdGNoICgjMjE0 MDA0KQoKUmVwbGFjZSB0aGUgZ2VuZXJpYyBtaWNyb3Rhc2sgZGlzcGF0Y2hlcidzIGhhbmR3cml0 dGVuIGZ1bmN0aW9uLXBvaW50ZXIKdHlwZXMgYW5kIGNhbGxzIHdpdGggYSB2YXJpYWRpYy10ZW1w bGF0ZSBoZWxwZXIgYW5kIGEgbWFjcm8gZm9yIGVhY2gKc3VwcG9ydGVkIGFyZ3VtZW50IGNvdW50 LgoKVGhlIGRpc3BhdGNoZXIgc3RpbGwgY2FzdHMgZWFjaCBtaWNyb3Rhc2sgdG8gdGhlIGV4YWN0 IGZpeGVkLWFyaXR5CnNpZ25hdHVyZSByZXF1aXJlZCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBXZWJB c3NlbWJseS4gVGhpcyBpcyBpbnRlbmRlZCBhcwphIHJlZmFjdG9yIG9ubHk6IHRoZSBleGlzdGlu ZyBsaW1pdCBvZiAxNSBtaWNyb3Rhc2sgYXJndW1lbnRzIGFuZCB0aGUKZGlhZ25vc3RpYyBmb3Ig bGFyZ2VyIGFyZ3VtZW50IGNvdW50cyByZW1haW4gdW5jaGFuZ2VkLgoKVGhpcyByZWR1Y2VzIHRo ZSByZXBldGl0aXZlIGNvZGUgYW5kIG1ha2VzIGZ1dHVyZSBjaGFuZ2VzIHRvIHRoZQpzdXBwb3J0 ZWQgYXJndW1lbnQgcmFuZ2UgZWFzaWVyIHRvIHJldmlldy4KClNwbGl0IG91dCBmcm9tICMyMTEw NzEKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQv YWYxNDQ1NmEyYmFjNTUwMjZiMmQ1N2NiZjE0YjM5MDVjNDUyYjhhNAoKR2l0IGNvbW1pdCAyYTJh ZGRlMzU5Mzc2NjdkZDkzZGM1NTk0YWM1ZDUyODQyZTExNmQyIGJ5IEdpdEh1YiAob24gYmVoYWxm IG9mIENoaW5tYXkgRGVzaHBhbmRlKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU2Li4KW0FNREdQVV1b R0lTZWxdIEFkZCBSZWdCYW5rTGVnYWxpemUgcnVsZXMgZm9yIGxsdm0uYW1kZ2NuLmZkb3QyLmJm MTYuYmYxNiAoIzIxNDAxMykKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvMmEyYWRkZTM1OTM3NjY3ZGQ5M2RjNTU5NGFjNWQ1Mjg0MmUxMTZkMgoK R2l0IGNvbW1pdCA1MDA5NjIyOThkNjI0YTc0YWRlNThjMmFlYjY1MzEzZmIzMmRkYTVhIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NTcu LgpbSW5zdENvbWJpbmVdRm9sZCBmY21wK3NlbGVjdCB0byBtaW4vbWF4IGlmIGl0cyB6ZXJvIHNp Z24gaXMgbWlzc2luZwoKTG9vayB0aHJvdWdoIHBoaXMsIGNoYWluZWQgc2VsZWN0cyBhbmQgdGhl IGxvb3AgYmFjayBlZGdlIHRvIHRoZQpzZWxlY3QgaXRzZWxmIGFuZCBmb2xkIGlmIG5vIHVzZSBj YW4gb2JzZXJ2ZSB0aGUgc2lnbiBvZiB6ZXJvIG9mIHRoZQpyZXN1bHQuIFRoaXMgcmVzdG9yZXMg dGhlIGZvbGQgZm9yIGxvb3AtY2FycmllZCBhbmQgdW5yb2xsZWQgcnVubmluZwptaW4vbWF4IHZh bHVlcyAoZmNzZWwgLT4gZm1pbm5tIG9uIEFBcmNoNjQpIGxvc3QgdG8gdGhlIHNpZ25lZCB6ZXJv CmhhbmRsaW5nIGZpeCBpbiBtYXRjaFNlbGVjdFBhdHRlcm4gKCMyMTAwNzcpLgoKUmV2aWV3ZXJz OiBuaWtpYywgZHRjeHp5dwoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9s bHZtLXByb2plY3QvcHVsbC8yMTMxMzMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvNTAwOTYyMjk4ZDYyNGE3NGFkZTU4YzJhZWI2NTMxM2ZiMzJk ZGE1YQoKR2l0IGNvbW1pdCA3MGVjYzViYjYyMTg3Y2E3MGU2ZmU0ZTU2M2RiZDYwZjg4YzJlN2Ew IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFRpbXVyIEdvbHVib3ZpY2gpIG9uIDA0LzA4LzIwMjYg YXQgMTc6NTguLgpSZXZlcnQgIltHbG9iYWxJU2VsXSBDb21iaW5lIG1lcmdlLXVubWVyZ2Ugd2l0 aCBtaXhlZCBzY2FsYXIgYW5kIHZlY3RvciB0eXBlcyIgKCMyMTQwMTApCgpSZXZlcnRzIGxsdm0v bGx2bS1wcm9qZWN0IzIxMzA4NgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0t cHJvamVjdC8tL2NvbW1pdC83MGVjYzViYjYyMTg3Y2E3MGU2ZmU0ZTU2M2RiZDYwZjg4YzJlN2Ew CgpHaXQgY29tbWl0IDYzMjZmMTRjZGMxMmJhYmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMgYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgQWRhbSBTbWl0aCkgb24gMDQvMDgvMjAyNiBhdCAxODowMy4u CltDSVJdIExvd2VyIHZhcmlhZGljIGNhbGxzIGluIENhbGxDb252TG93ZXJpbmcgZm9yIHg4Nl82 NCAoIzIxMzMxNSkKCkNhbGxDb252TG93ZXJpbmcgY2xhc3NpZmllZCBlYWNoIGZ1bmN0aW9uIG9u Y2UgZnJvbSBpdHMgZGVjbGFyZWQKc2lnbmF0dXJlIGFuZCByZXVzZWQgdGhhdCBjbGFzc2lmaWNh dGlvbiBhdCBldmVyeSBjYWxsIHNpdGUuIEFuIGFyZ3VtZW50CnBhc3NlZCB0aHJvdWdoIGFuIGVs bGlwc2lzIGhhcyBubyBlbnRyeSBpbiB0aGUgY2FsbGVlJ3MgcGFyYW1ldGVyIGxpc3QsCnNvIG9u IHg4Nl82NCBhbiBlbGxpcHNpcyBhcmd1bWVudCB0aGF0IG5lZWRlZCBhbiBleHRlbnNpb24gYXR0 cmlidXRlLCBhCnJlZ2lzdGVyIGNvZXJjaW9uLCBvciBhIGJ5dmFsIHNsb3Qgd2FzIGVtaXR0ZWQg dW5jaGFuZ2VkIHdoZW5ldmVyIHRoZQpjYWxsZWUncyBkZWNsYXJlZCBwYXJhbWV0ZXJzIGhhcHBl bmVkIHRvIG5lZWQgbm8gcmV3cml0ZSwgYW5kIHJlcG9ydGVkCk5ZSSB3aGVuIHRoZXkgZGlkLgoK QW4gZWxsaXBzaXMgYXJndW1lbnQgY29tcGV0ZXMgZm9yIHRoZSBzYW1lIHJlZ2lzdGVycyBhcyBh IGRlY2xhcmVkIG9uZSwKc28gdGhlIHNhbWUgdHdvLWVpZ2h0Ynl0ZSByZWNvcmQgZ29lcyBpbiBh IHJlZ2lzdGVyIHBhaXIgZWFybHkgaW4gdGhlCmxpc3QgYW5kIGJ5dmFsIG9uY2UgdGhlIGludGVn ZXIgcmVnaXN0ZXJzIGFyZSBnb25lLiBWYXJpYWRpYyBjYWxsIHNpdGVzCnVuZGVyIHRoZSB4ODZf NjQgZHJpdmVyIGFyZSBub3cgY2xhc3NpZmllZCBmcm9tIHRoZSBjYWxsJ3Mgb3duIG9wZXJhbmQK dHlwZXMsIGFuZCB0aGUgZGVjbGFyZWQgcGFyYW1ldGVyIGNvdW50IHJlYWNoZXMKYGxsdm06OmFi aTo6RnVuY3Rpb25JbmZvOjpjcmVhdGVgIGFzIGl0cyBgTnVtUmVxdWlyZWRgIGFyZ3VtZW50LCB3 aGljaAppcyB3aGF0IGxldHMgdGhlIGNsYXNzaWZpZXIgdGVsbCBhIG5hbWVkIGFyZ3VtZW50IGZy b20gb25lIHBhc3NlZAp0aHJvdWdoIHRoZSBlbGxpcHNpcy4gVG9kYXkgdGhhdCBmbGFnIG9ubHkg ZGVjaWRlcyB3aGV0aGVyIGEgbGFyZ2UKdmVjdG9yIGdvZXMgaW4gYSByZWdpc3RlciwgYW5kIHRo ZSBDSVIgdHlwZSBicmlkZ2UgYWRtaXRzIG5vIHZlY3Rvcgp0eXBlcywgc28gdGhlIGJvdW5kYXJ5 IGNoYW5nZXMgbm8gb3V0cHV0IHlldC4KCmBwcmVwZW5kSW5kaXJlY3RDYWxsZWVgIGFsc28gcmVi dWlsdCB0aGUgY2FsbGVlIHBvaW50ZXIncyBwb2ludGVlCndpdGhvdXQgYGlzVmFyQXJnYCwgZHJv cHBpbmcgdGhlIGVsbGlwc2lzIGZyb20gYSBsb3dlcmVkIGluZGlyZWN0IGNhbGwKYW5kIHdpdGgg aXQgdGhlIHZlY3Rvci1yZWdpc3RlciBjb3VudCB0aGUgeDg2XzY0IFN5c1YgQUJJIHBhc3NlcyBp biBBTC4KQSB2b2lkIHJldHVybiBhbmQgYSByZXR1cm4gdGhlIEFCSSBkcm9wcywgc3VjaCBhcyBh biBlbXB0eSByZWNvcmQsIGJvdGgKY2xhc3NpZnkgYXMgYElnbm9yZWAgd2hpbGUgbmVlZGluZyBv cHBvc2l0ZSB0cmVhdG1lbnQsIHNvCmBGdW5jdGlvbkNsYXNzaWZpY2F0aW9uYCBub3cgcmVjb3Jk cyB3aGljaCBvbmUgaXQgd2FzIHdoZXJlIHRoZQpjbGFzc2lmaWNhdGlvbiBpcyBwcm9kdWNlZC4g YG5lZWRzUmV3cml0ZWAgbW92ZXMgZnJvbSB0aGUgQ0lSIHJld3JpdGVyCnRvIGBtbGlyL2luY2x1 ZGUvbWxpci9BQkkvQUJJUmV3cml0ZUNvbnRleHQuaGAsIG92ZXIgYSBuZXcgcGVyLWFyZ3VtZW50 CmBpc1Bhc3NUaHJvdWdoYCwgc28gdGhlIHBhc3MgYW5kIHRoZSByZXdyaXRlciBzaGFyZSBvbmUg ZGVmaW5pdGlvbi4KClR3byB0aGluZ3MgYXJlIG5ld2x5IGRpYWdub3NlZCByYXRoZXIgdGhhbiBu ZXdseSBicm9rZW4uIFRoZQpvcGVyYW5kLWNvdW50IGNoZWNrIG1vdmVzIGFoZWFkIG9mIHRoZSBw YXNzLXRocm91Z2ggZWFybHkgcmV0dXJuLCBzbyBhCmNhbGwgd2hvc2Ugb3BlcmFuZCBjb3VudCBk aXNhZ3JlZXMgd2l0aCBhIGBub19wcm90b2AgY2FsbGVlJ3MKZGVjbGFyYXRpb24gaXMgcmVwb3J0 ZWQgaW5zdGVhZCBvZiBsb3dlcmVkIHdpdGggb3BlcmFuZHMgdGhlCmNsYXNzaWZpY2F0aW9uIG5l dmVyIGNvdmVyZWQuIEFuZCB0aGUgaW5kaXJlY3QtY2FsbCB3YWxrIHZpc2l0cwpgY2lyOjpDSVJD YWxsT3BJbnRlcmZhY2VgIHJhdGhlciB0aGFuIG9ubHkgYGNpci5jYWxsYCwgc28gYSB2YXJpYWRp YwppbmRpcmVjdCBgY2lyLnRyeV9jYWxsYCBpcyBhY2NvdW50ZWQgZm9yLCBhbmQgb25lIHRoYXQg bmVlZHMgYSByZXdyaXRlCmlzIHJlcG9ydGVkIGluc3RlYWQgb2YgbGVmdCBhcyB3cml0dGVuIHdo aWxlIHRoZSBzaWduYXR1cmUgYXJvdW5kIGl0IGlzCmNvZXJjZWQuIEEgbm9uLXZhcmlhZGljIGlu ZGlyZWN0IGBjaXIudHJ5X2NhbGxgIGlzIGZpbHRlcmVkIG91dCB3aGVyZQp0aGUgd2FsayBjb2xs ZWN0cywgc2luY2UgcmV3cml0aW5nIG9uZSBpcyB1bmltcGxlbWVudGVkIGVpdGhlciB3YXkgYW5k CnRoYXQgZ2FwIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIGVsbGlwc2lzLiBSZXBvcnRlZCBO WUk6IHZhcmlhZGljCmluZGlyZWN0IGNhbGxzIHRoYXQgbmVlZCBhIHJld3JpdGUsIHZhcmlhZGlj IGNhbGxzIHVuZGVyIHRoZSBvdGhlcgpkcml2ZXJzLCBhbmQgYW4gZWxsaXBzaXMgYXJndW1lbnQg d2hvc2UgQUJJIGNvZXJjaW9uIHRoZSB0eXBlIGJyaWRnZQpjYW5ub3QgcmVwcmVzZW50LgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC82MzI2ZjE0 Y2RjMTJiYWJmZGM0MzU5ZjVkZGQ0ZGZjZDY2YjUzZjMzCgpHaXQgY29tbWl0IGM5ZjJiYTIyODQ5 ZTUwZGYxMjc3ZGI4MjI1YTY0MTBiYTlkZGNiNWUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU2Ft IEVsbGlvdHQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MDkuLgpbUklTQ1ZdIEZpeCBYcWNpIEZ1c2lv bnMgd2l0aCBGcmFtZSBJbmRleGVzICgjMjEzODE1KQoKUHJlLVJBLCB0aGUgQURESSBjYW4gY29u dGFpbiBhIGZyYW1lIGluZGV4IHJhdGhlciB0aGFuIGEgcmVnaXN0ZXIsIHdoaWNoCmNhdXNlcyBg Z2V0UmVnKClgIHRvIGFzc2VydC4gVGhlc2Ugd2VyZSBtaXNzaW5nIHRoZSBgQ2hlY2tJc1JlZ09w ZXJhbmRgCnRoYXQgbW9zdCBvdGhlciBmdXNpb25zIGhhdmUuCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2M5ZjJiYTIyODQ5ZTUwZGYxMjc3ZGI4 MjI1YTY0MTBiYTlkZGNiNWUKCkdpdCBjb21taXQgY2FmZDM2YmZjZTY3NjgyMTkzYzNkNWRhNTkx YjA1MWE0NjBlNTBmNiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBFcmljaCBLZWFuZSkgb24gMDQv MDgvMjAyNiBhdCAxODoxMS4uCltORkNdW0NJUl0gUHJvcGFnYXRlIFN5bWJvbFRhYmxlcyBiZXR0 ZXIgKCMyMTM5NzIpCgpUaGlzIGNhbWUgdXAgZHVyaW5nIHNlbGYtYnVpbGQsIHdlIGFyZSBzcGVu ZGluZyBhIGxvdCBvZiB0aW1lIGluIHNvbWUKY2FzZXMgbG9va2luZyB1cCB1c2luZyB0aGUgZ2xv YmFsIHN5bWJvbCB0YWJsZSwgd2hpY2ggZG9lcyBubyBjYWNoaW5nLgpQcmV2aW91c2x5IHdlJ2Qg cHJvcGFnYXRlZCB0aGlzIGluIGEgZmV3IHBsYWNlcywgYnV0IHRoaXMgcGF0Y2ggcmVtb3Zlcwph bGwgdXNlcyBvZiBTeW1ib2xUYWJsZTo6bG9va3VwIGFuZCBhZGRzIHRoZSBjYWNoZSBldmVyeXdo ZXJlLgoKVGhpcyBpbnZvbHZlZCBjaGFuZ2luZyB0aGUgdGFibGVnZW4gdG8gaW5jbHVkZSBpdCBp biBlYWNoIG9mIG91cgpyZXdyaXRlcnMsIHBsdXMgdGhlIENpckF0dHIgbG93ZXJpbmcgZXZlcnl3 aGVyZS4KClRoZSBvbmx5IHRoaW5nIHdlIGhhdmUgdG8gdGFrZSBjYXJlIG9mIGlzIHRvIG1ha2Ug c3VyZSB3ZSBpbnZhbGlkYXRlIHRoZQpjYWNoZS91cGRhdGUgdGhlIGNhY2hlIHdoZW5ldmVyIHdl IGFkZCBzb21ldGhpbmcgd2l0aCBhIG5hbWUgKHNlZQpjcmVhdGVMTFZNRnVuY09wSWZOb3RFeGlz dCkuCgpUaGlzIGlzIE5GQywgYXMgaXQgaXNuJ3Qgb2JzZXJ2YWJsZSwgb3RoZXIgdGhhbiBiZWlu ZyBhIGJ1aWxkIHRpbWUKaW1wcm92ZW1lbnQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2NhZmQzNmJmY2U2NzY4MjE5M2MzZDVkYTU5MWIwNTFh NDYwZTUwZjYKCkdpdCBjb21taXQgMWY2OWExNjI4OTQ3OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDll YjJjMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBQaWxncmltKSBvbiAwNC8wOC8yMDI2 IGF0IDE4OjE1Li4KW0Nvc3RNb2RlbF1bWDg2XSBnZXRBcml0aG1ldGljUmVkdWN0aW9uQ29zdCAt IGVuc3VyZSB3ZSB0ZXN0IHRoZSB2WGkxIHJlZHVjdGlvbnMgdHlwZXMgYmVmb3JlIGxlZ2FsaXNh dGlvbiAoIzIxMTA0MykKClByZS1BVlg1MTIgdGhlc2Ugd2lsbCBiZSBsZWdhbGl6ZWQgdG8gd2lk ZXIgdmVjdG9yIHR5cGVzIGFuZCBtaWdodCBtYXRjaAphZ2FpbnN0IG90aGVyIHJlZHVjdGlvbnMg dGFibGVzLgoKTm90aWNlZCB3aGlsZSB3b3JraW5nIG9uIGltcHJvdmluZyBsb2dpYyByZWR1Y3Rp b25zLCBidXQgaGl0IGEgY2FzZQp3aXRoL3dpdGhvdXQgcG9wY250IGZvciBib29sIHN1bSByZWR1 Y3Rpb24gcGF0dGVybnMgLSBJJ3ZlIGFkZGVkIGEgQVZYMgp0ZXN0IHBhc3MgdG8gY2hlY2sgdGhl IChjb3JyZWN0ZWQpIGNvc3RzIGFyZSBzdGlsbCB3b3JraW5nCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzFmNjlhMTYyODk0NzhjOWE3YjJjZGE1 ZGY0Y2QxNmQ2NjA5ZWIyYzIKCkdpdCBjb21taXQgMDhhODczOWFjODlhMjdjN2RiZDAzNDkyNjY2 MTFjYTk0ODY2YWUyZiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBOZXJpeHl6KSBvbiAwNC8wOC8y MDI2IGF0IDE4OjE2Li4KW2xsZGJdW1B5dGhvbl0gSW5saW5lIGBsbGRiX2l0ZXJgIGZvciBiZXR0 ZXIgdHlwZSBpbmZlcmVuY2UgKCMyMTQwMDApCgpDdXJyZW50bHksIHRoZSBgbGxkYl9pdGVyYCBo ZWxwZXIgaXMgdXNlZCBmb3IgcHJvdmlkaW5nIGBfX2l0ZXJfX2AgaW4KdGhlIFB5dGhvbiBiaW5k aW5nczoKYGBgcHl0aG9uCmRlZiBsbGRiX2l0ZXIob2JqLCBnZXRzaXplLCBnZXRlbGVtKToKICAg ICIiIkEgZ2VuZXJhdG9yIGFkYXB0b3IgdG8gc3VwcG9ydCBpdGVyYXRpb24gZm9yIGxsZGIgY29u dGFpbmVyIG9iamVjdHMuIiIiCiAgICBzaXplID0gZ2V0YXR0cihvYmosIGdldHNpemUpCiAgICBl bGVtID0gZ2V0YXR0cihvYmosIGdldGVsZW0pCiAgICBmb3IgaSBpbiByYW5nZShzaXplKCkpOgog ICAgICAgIHlpZWxkIGVsZW0oaSkKYGBgCgpBIHR5cGUgY2hlY2tlciBvciBMU1AgY2FuJ3Qgc2Vl IHRocm91Z2ggdGhpcyBmdW5jdGlvbi4gQ3VycmVudGx5LCB0aGF0J3MKbm8gcHJvYmxlbSwgYmVj YXVzZSBpdCBkb2Vzbid0IGtub3cgdGhlIHJldHVybiB0eXBlIG9mIGFueSBTd2lnIHdyYXBwZXIs CmJ1dCB3aGVuIHdlIGFkZCB0eXBlIGFubm90YXRpb25zIChob3BlZnVsbHkgd2l0aCBTd2lnIDQu NSBpbiAjMjEzNDYzKSwKYF9faXRlcl9fYCByZW1haW5zIHVudHlwZWQuIFNvIGl0ZXJhdGluZyB0 aHJvdWdoIHRoZSB3cmFwcGVycyB3b24ndCBzaG93CnRoZSBjb3JyZWN0IHR5cGUuCgpBcyB0aGUg ZnVuY3Rpb25hbGl0eSBpcyBmYWlybHkgc2ltcGxlLCBpdCdzIGVhc2llciB0byBpbmxpbmUgaXQu IFRoYXQncwp3aGF0IHRoaXMgUFIgZG9lcy4gVGhlbiBhIHR5cGUgY2hlY2tlciBjYW4gaW5mZXIg dGhlIHJldHVybiB0eXBlLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC8wOGE4NzM5YWM4OWEyN2M3ZGJkMDM0OTI2NjYxMWNhOTQ4NjZhZTJmCgpH aXQgY29tbWl0IGFiNGYyMTBhMzEyN2UzYmExNzczODE4OTExOTQxNDRmOTI3OThiYTYgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgTWF0dCBBcnNlbmF1bHQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTcu LgpjbGFuZzogUmVwbGFjZSBJcypPZmZsb2FkQXJjaCBmcmVlIGZ1bmN0aW9ucyB3aXRoIE9mZmxv YWRBcmNoIG1ldGhvZHMgKCMyMTMzNjMpCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0L2FiNGYyMTBhMzEyN2UzYmExNzczODE4OTExOTQxNDRmOTI3 OThiYTYKCkdpdCBjb21taXQgYTlhNmVkYjU5MzVjOWY0MmM1OTI4MzY2MTIzNTZiZWE1NmUzYzA4 YiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0 IDE4OjE4Li4KW1NMUF1WZWN0b3JpemUgc2luZ2xlLXVzZXIgaW5zdHJ1Y3Rpb25zIGFzIHRoZSBs YXN0LWF0dGVtcHQgc2VlZHMKCkluc3RydWN0aW9ucyB3aXRoIHRoZSBzaW5nbGUgdXNlciBjb3N0 IG9uZSBleHRyYWN0IHBlciBsYW5lLCBzbyB0aGV5IGFyZQp2ZWN0b3JpemVkIGFmdGVyIGFsbCBv dGhlciByb290cyBpbiB0aGUgZnVuY3Rpb24gYXJlIGV4aGF1c3RlZCwgZ3JvdXBlZCBieQp0aGUg a2V5L3N1YmtleSBwYWlycy4gTG9hZHMsIGFkZHJlc3NlcywgY29tcGFyZXMgYW5kIHRoZSBvcGVy YXRpb25zLCBmb2xkZWQKYXdheSBvciBjb250cmFjdGVkIGludG8gdGhlIHNjYWxhciBGTUEsIGFy ZSBleGNsdWRlZC4gVGhlIHJlamVjdGVkIGJ1bmRsZXMKYW5kIHRoZSBtZW1iZXJzIG9mIHRoZSBw cmljZWQgbWluaW1hbCBub2RlcyBhcmUgbm90IHJldHJpZWQsIHVubGVzcyB0aGUKdHJlZSB3YXMg ZHJvcHBlZCBieSB0aGUgcmVwYWNraW5nIG92ZXJoZWFkIHJhdGhlciB0aGFuIGJ5IHRoZSBtZW1i ZXJzLgoKUmV2aWV3ZXJzOiBoaXJhZGl0eWEsIFJLU2ltb24sIGJhYmFidWNrCgpQdWxsIFJlcXVl c3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMjU3OQpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9hOWE2ZWRi NTkzNWM5ZjQyYzU5MjgzNjYxMjM1NmJlYTU2ZTNjMDhiCgpHaXQgY29tbWl0IDQwMmM5ZjlhNzc2 ZGMyMGQwM2UzM2M0NDdkODY2MzRjNDg2YTU0MzQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgSGVu cnkgSmlhbmcpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MjMuLgpbTkZDXVtDdWRhXVt0ZXN0XSBGaXgg Q0hFQ0stTk9UIHBhdHRlcm5zIG1hdGNoaW5nIHRoZSBidWlsZCBkaXJlY3RvcnkgKCMyMTM3OTkp CgpgY3VkYS1vbXAtdW5zdXBwb3J0ZWQtZGVidWctb3B0aW9ucy5jdWAncyBDT01NT04tTk9UOiAu Li58bGxkYnwuLi4gY2FuCm1hdGNoIGFnYWluc3QgdGhlIGJ1aWxkIGRpcmVjdG9yeSBwYXRoIHRo YXQgbWF5IGNvbnRhaW4gYGxsZGJgIGluIHRoZQpwYXRobmFtZS4gQ2hhbmdlIHRoZSB0ZXN0IHRv IGNoZWNrIHRoZSBleGFjdCBjYzEgYXJndW1lbnRzLgoKcmRhcjovLzE4MzUwMTU1OApodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80MDJjOWY5YTc3 NmRjMjBkMDNlMzNjNDQ3ZDg2NjM0YzQ4NmE1NDM0CgpHaXQgY29tbWl0IGY1OWQ2ZjVmODY2Yjk3 NDEzNTEwZmExMTkxNDQ2NTFmYmJiYzcxMjMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVXNhbWEg SGFtZWVkKSBvbiAwNC8wOC8yMDI2IGF0IDE4OjQ5Li4KW2NsYW5nXVt0ZXN0XSBBZGQgdGVzdCBm b3Igc3RhY2tfcHJvdGVjdG9yX2lnbm9yZSBpbiBzeXN0ZW0gbWFjcm9zICgjMjEzNzcwKQoKZDMx ODRiYzZjNmE4ICgiW2NsYW5nXSBEb24ndCB3YXJuIG9uIHN0YWNrX3Byb3RlY3Rvcl9pZ25vcmUg aW4gc3lzdGVtCm1hY3JvcyIpIGFkZGVkIFN1cHByZXNzSW5TeXN0ZW1NYWNybyB0bwp3YXJuX3N0 YWNrX3Byb3RlY3Rpb25faWdub3JlX2F0dHJpYnV0ZSBidXQgb25seSBhZGRlZCBhbiBMTFZNIENv ZGVHZW4KdGVzdCBmb3IgdGhlIHN0YWNrLXByb3RlY3RvciBtZXRhZGF0YSwgc28gdGhlIGRpYWdu b3N0aWMgY2hhbmdlIGl0c2VsZgp3YXMgdW50ZXN0ZWQuCgpBZGQgYSB0ZXN0IHVzaW5nIHRoZSBz ZWxmLWluY2x1ZGUgc3lzdGVtX2hlYWRlciBpZGlvbTogdGhlIGF0dHJpYnV0ZQpmcm9tIGEgc3lz dGVtIGhlYWRlciBtYWNybyBkb2VzIG5vdCB3YXJuIHVuZGVyIC1mc3RhY2stcHJvdGVjdG9yLWFs bCwKd2hpbGUgb25lIHdyaXR0ZW4gaW4gdXNlciBjb2RlIHN0aWxsIGRvZXMuCgpyZGFyOi8vMTgz OTYyOTg1Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2Y1OWQ2ZjVmODY2Yjk3NDEzNTEwZmExMTkxNDQ2NTFmYmJiYzcxMjMKCkdpdCBjb21taXQg NDM3NmI4ZDY2OTYxZGIzNjA5NDVkYjQ0YWJlNTEwZDlmMTNhYmY2MSBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjU3Li4KW1NMUF1GbGF0 dGVuIGFkZC9zdWIgYW5kIGZhZGQvZnN1YiBjaGFpbnMgaW50byBvbmUgcmVhc3NvY2lhdGVkIG5v ZGUKCkEgcGVlbGVkIHN1YnRyYWN0IGtlZXBzIHRoZSBjb2x1bW4gc2lnbiBmb3IgaXRzIGZpcnN0 IG9wZXJhbmQgYW5kIGZsaXBzCml0IGZvciB0aGUgc2Vjb25kLCBzbyBtaXhlZCBhZGQvc3ViIChm YWRkL2ZzdWIgd2l0aCByZWFzc29jKSBjaGFpbnMKbGluZWFyaXplIGludG8gcG9zaXRpdmUgYW5k IG5lZ2F0aXZlIG9wZXJhbmQgY29sdW1ucyBjb21iaW5pbmcgYXMKc3VtKHBvc2l0aXZlKSAtIHN1 bShuZWdhdGl2ZSksIHdpdGggc3VidHJhaGVuZCBjb2x1bW5zIHJlb3JkZXJlZCBieQp2YWx1ZSBm YW1pbHkuIG51dyBpcyBub3cgYWxzbyBkcm9wcGVkIG9uIG5vbi1leGFjdCBjb21iaW5lcyB3aGVu IGEKbmVnYXRlZCBsZWFmIGV4aXN0cywgc2luY2UgYSByZWdyb3VwZWQgc3VidHJhaGVuZCBzdW0g Y2FuIGV4Y2VlZCB0aGUKb3JpZ2luYWwgcnVubmluZyB0b3RhbC4KClJldmlld2VyczogUktTaW1v biwgYmFiYWJ1Y2ssIGhpcmFkaXR5YQoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20v bGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMTM1NDQKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNDM3NmI4ZDY2OTYxZGIzNjA5NDVkYjQ0YWJlNTEw ZDlmMTNhYmY2MQoKR2l0IGNvbW1pdCBiMDdmYzhhNDRhYTZhYzAzZWM4ZTBjNzliMDQxMzRiZGE4 N2I1Mjc5IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEZvbGtlcnQgZGUgVnJpZXMpIG9uIDA0LzA4 LzIwMjYgYXQgMTk6MDAuLgpbU1BBUkNdIERvIG5vdCB1c2UgdGhlIHVuaW1wIHN0cnVjdC1yZXR1 cm4gY29udmVudGlvbiBmb3IgemVyby1zaXplZCB0eXBlcyAoIzIxMzczMykKCkdDQyBoYXMgc3Bl Y2lhbCBoYW5kbGluZyBmb3IgYW4gYHNyZXRgIG9mIGEgemVyby1zaXplZCB0eXBlLCBtYXRjaCB0 aGF0CmhhbmRsaW5nLgoKaHR0cHM6Ly9nb2Rib2x0Lm9yZy96L1RjcmFhbzdyVAoKSXQgc2VlbXMg dW5saWtlbHkgc29tZW9uZSBpcyBhY3R1YWxseSByZWx5aW5nIG9uIHRoaXMsIHNvIEkgaGF2ZW4n dAphZGRlZCB0aGUgYWJpIGNvbXBhdGliaWxpdHkgbG9naWMuIFJ1c3QgaG93ZXZlciB1c2VzIHpl cm8tc2l6ZWQgdHlwZXMKcXVpdGUgaGVhdmlseSwgc28gaGF2aW5nIHRoaXMgd29yayBjb3JyZWN0 bHkgaXMgdXNlZnVsIHRoZXJlLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0t cHJvamVjdC8tL2NvbW1pdC9iMDdmYzhhNDRhYTZhYzAzZWM4ZTBjNzliMDQxMzRiZGE4N2I1Mjc5 CgpHaXQgY29tbWl0IDhjZjMyNjhiM2E2NWUxODZmMTA0MTM5YTNmNTNkMDdkZThkNTAzMmEgYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgQW5keSBLYXlsb3IpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MTAu LgpbQ0lSXVtBQXJjaDY0XSBVc2UgQ0lSJ3MgZm1hIGFuZCBzcXJ0IGZvciBOZW9uIGJ1aWx0aW5z ICgjMjEzODAwKQoKVGhpcyBjaGFuZ2UgcmVwbGFjZXMgc29tZSBsb2NhdGlvbnMgd2hlcmUgdGhl IE5lb24gYnVpbHRpbiBoYW5kbGluZyB3YXMKY2FsbGluZyBMTFZNIGludHJpbnNpY3MgZGlyZWN0 bHkgZm9yIEZNQSBhbmQgc3FydCBvcGVyYXRpb25zIHJhdGhlciB0aGFuCnVzaW5nIHRoZSBDSVIg b3BlcmF0aW9ucy4gVXNpbmcgdGhlIENJUiBvcGVyYXRpb25zIHdpbGwgYmUgbmVjZXNzYXJ5IHRv CmdldCB0aGUgYmVzdCBjb25zdHJhaW5lZCBGUCBoYW5kbGluZy4KClRoaXMgd2lsbCBzdGlsbCBy ZXF1aXJlIHNldHRpbmcgdGhlIGZlbnYgYXR0cmlidXRlIG9uIHRoZXNlIG9wZXJhdGlvbnMKd2hl biBuZWVkZWQuIFRoaXMgY2hhbmdlIGlzIGp1c3QgdGhlIGZpcnN0IG9mIGEgZmV3IHByZWxpbWlu YXJ5IGNoYW5nZXMKbmVlZGVkIHRvIGdldCB1cyBpbiBhIGdvb2Qgc3RhdGUgdG8gYWRkIHRoZSBj b25zdHJhaW5lZCBGUCBoYW5kbGluZy4KCkFzc2lzdGVkLWJ5OiBDdXJzb3IgLyBHcm9rIDQuNQpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84Y2Yz MjY4YjNhNjVlMTg2ZjEwNDEzOWEzZjUzZDA3ZGU4ZDUwMzJhCgpHaXQgY29tbWl0IGQ0NjI4NTI2 YmRkMmM4YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg QW5keSBLYXlsb3IpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MTUuLgpbQ0lSXSBBcHBseSBGUCBjb25z dHJhaW50cyB0byBnbG9iYWwgaW5pdGlhbGl6ZXJzICgjMjEzNzc2KQoKQmVjYXVzZSBDSVIgaGFu ZGxlcyBnbG9iYWwgaW5pdGlhbGl6ZXJzIHVzaW5nIGEgcmVnaW9uIG9mIHRoZSBjaXIuZ2xvYmFs Cm9wZXJhdGlvbiBkdXJpbmcgaW5pdGlhbCBjb2RlIGdlbmVyYXRpb24sIHRoZXNlIGluaXRpYWxp emVycyBkb24ndAphdXRvbWF0aWNhbGx5IGdldCB0aGUgc3RyaWN0ZnAgc2V0dXAgaW4gQ0lSR2Vu RnVuY3Rpb246OnN0YXJ0RnVuY3Rpb24uCgpUaGlzIGNoYW5nZSBhZGRzIGFuIGF0dHJpYnV0ZSB0 byB0aGUgY2lyLmdsb2JhbCBvcGVyYXRpb24gdG8gdHJhY2sKZmxvYXRpbmctcG9pbnQgY29uc3Ry YWludHMgc28gdGhhdCB0aGUgYHN0cmljdGZwYCBhdHRyaWJ1dGUgY2FuIGJlIHNldApvbiB0aGUg aW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2hlbiBpdCBpcyBjcmVhdGVkIGR1cmluZyBFSEFCSSBs b3dlcmluZy4KCkFzc2lzdGVkLWJ5OiBDdXJzb3IgLyB2YXJpb3VzIG1vZGVscwpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kNDYyODUyNmJkZDJj OGJkMDNhY2RjYmYwZjlkODcxMGVmMjQzNDg2CgpHaXQgY29tbWl0IDMyYjY0NWQ5ZDY5YjhjMmU2 Mjg5MGZlZDE5MjAzMzM3YmVkZGY3OTcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRXJpYyBDaHJp c3RvcGhlcikgb24gMDQvMDgvMjAyNiBhdCAxOToyMS4uCltEZWJ1Z0luZm9dIFRyZWF0IHRhZyBv ZmZzZXRzIGFzIG5vbi1lbWl0dGluZyAoIzIxMTk2OSkKCkRXX09QX0xMVk1fdGFnX29mZnNldCBk b2Vzbid0IGVtaXQgYW55dGhpbmcgaW50byB0aGUgRFdBUkYgZXhwcmVzc2lvbiwKc28gbG9vayBw YXN0IGl0IHdoZW4gZGVjaWRpbmcgd2hldGhlciBhIHJlZ2lzdGVyIGV4cHJlc3Npb24gaXMgY29t cGxleApvciB3aGV0aGVyIGFwcGVuZFRvU3RhY2sgbmVlZHMgdG8gYWRkIGEgZGVyZWZlcmVuY2Uu CgpUZXN0ZWQgd2l0aCBtYWtlIGNoZWNrLgoKQXNzaXN0ZWQgd2l0aCBBSS4KaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMzJiNjQ1ZDlkNjliOGMy ZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NwoKR2l0IGNvbW1pdCA3MDI1M2FmODcwOTYxN2I4NjA4 NjVjZThkNzQyMDQ3MThlOGExOTc1IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFZpdGFseSBCdWth KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjI3Li4KW05GQ11bbGliRnV6emVyXSBSZW1vdmUgdW51c2Vk IEdldE1vZHVsZU5hbWUgaGVscGVyIGluIFRyYWNlUEMgKCMyMTQwMzIpCgpGaXhpbmcgYnVpbGQg Ym90cyBhZnRlcgpodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMDMw ODQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0 LzcwMjUzYWY4NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUKCkdpdCBjb21taXQgN2Y0 OThkOWQzNmQxMDJhNjUzMDg5ZTg2Y2MwN2QwYTdmOTBiZmFlYyBieSBHaXRIdWIgKG9uIGJlaGFs ZiBvZiBRaW9uZ3NpIFd1KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjM4Li4KW2NsYW5nXVtEZXBlbmRl bmN5U2Nhbm5pbmddIFVzZSBDb21waWxlckluc3RhbmNlV2l0aENvbnRleHQgZm9yIFRVIFNjYW5u aW5nICgjMjExNDA4KQoKQWZ0ZXIgYENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4dGAncyByZWxv Y2F0aW9uIHRvCmBEZXBlbmRlbmN5U2Nhbm5pbmdXb3JrZXIuY3BwYCwgd2UgY2FuIHVzZSBpdCBm cmVlbHkgYXMgYW4KaW1wbGVtZW50YXRpb24gZW5naW5lIGZvciBUVSBzY2FubmluZy4gVGhpcyBQ UiBkb2VzIHRoYXQsIGFuZCB1bmlmaWVzCnRoZSBieS1uYW1lIHNjYW5uaW5nIGFuZCBUVSBzY2Fu bmluZyBzbyB0aGV5IGFsbCBnbyB0aHJvdWdoCmBDb21waWxlckluc3RhbmNlV2l0aENvbnRleHRg LgoKcmRhcjovLzE2NzAzNDMwOQoKCgotLS0KCjxzdWI+U3RhY2sgY3JlYXRlZCB3aXRoIDxhCmhy ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2gtc3RhY2siPkdpdEh1YiBTdGFja3MgQ0xJ PC9hPiDigKIgPGEKaHJlZj0iaHR0cHM6Ly9naC5pby9zdGFja3MtZmVlZGJhY2siPkdpdmUgRmVl ZGJhY2sg8J+SrDwvYT48L3N1Yj4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvN2Y0OThkOWQzNmQxMDJhNjUzMDg5ZTg2Y2MwN2QwYTdmOTBiZmFl YwoKR2l0IGNvbW1pdCAwNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIFFpb25nc2kgV3UpIG9uIDA0LzA4LzIwMjYgYXQgMTk6Mzgu LgpbY2xhbmddW0RlcGVuZGVuY3lTY2FubmluZ10gRGlzc29sdmUgRGVwZW5kZW5jeVNjYW5uZXJJ bXBsLmgvY3BwICgjMjExNDA5KQoKYERlcGVuZGVuY3lTY2FubmVySW1wbC5oL2NwcGAgd2VyZSBj cmVhdGVkIHRvIHNoYXJlIGNvZGUgYmV0d2VlbiBUVQpzY2FubmluZyBhbmQgYnktbmFtZSBzY2Fu bmluZyB3aGVuIHRoZXkgd2VyZSBvbiBkaWZmZXJlbnQgY29kZSBwYXRocy4KQWZ0ZXIgdW5pZnlp bmcgdGhlIGltcGxlbWVudGF0aW9uIHRocm91Z2ggYENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4 dGAsCndlIG5vIGxvbmdlciBuZWVkIGEgc2VwYXJhdGUgaGVhZGVyL2NwcCBwYWlyIGFuZCBhbGwg dGhlIGNvZGUgYXJlIG1vdmVkCmludG8gYERlcGVuZGVuY3lTY2FubmluZ1dvcmtlci5jcHBgLiBU aGlzIFBSIGlzIG1lY2huaWNhbCBhbmQgZG9lcyBub3QKaW50ZW5kIHRvIGludHJvZHVjZSBiZWhh dml2b3IgY2hhbmdlcy4KCi0tLQoKPHN1Yj5TdGFjayBjcmVhdGVkIHdpdGggPGEKaHJlZj0iaHR0 cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9naC1zdGFjayI+R2l0SHViIFN0YWNrcyBDTEk8L2E+IOKA oiA8YQpocmVmPSJodHRwczovL2doLmlvL3N0YWNrcy1mZWVkYmFjayI+R2l2ZSBGZWVkYmFjayDw n5KsPC9hPjwvc3ViPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVj dC8tL2NvbW1pdC8wNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpHaXQg Y29tbWl0IGIzY2UwN2I5OTk5MDAwZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYgYnkgR2l0SHVi IChvbiBiZWhhbGYgb2YgQWJoaW5hIFNyZWUpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDEuLgpbU3lz dGVtWl1bei9PU10gdXNlIExMVk1fVEhSRUFEX0xPQ0FMIGluc3RlYWQgb2YgdGhyZWFkX2xvY2Fs ICgjMjE0MDM5KQoKVGhpcyBwYXRjaCBpcyB0byBmaXggdGhlIGZvbGxvd2luZyBlcnJvciBvbiB6 L09TCgpgYGAKbGx2bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9QZXJUaHJlYWRCdW1wUHRyQWxsb2Nh dG9yLmg6NzU6MTI6IGVycm9yOiB0aHJlYWQtbG9jYWwgc3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVk IGZvciB0aGUgY3VycmVudCB0YXJnZXQKICAgNzUgfCAgICAgc3RhdGljIHRocmVhZF9sb2NhbCBz dGQ6OnZlY3RvcjxBbGxvY2F0b3JUeSAqPiBDYWNoZTsKICAgICAgfCAgICAgICAgICAgIF4KYGBg Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2Iz Y2UwN2I5OTk5MDAwZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYKCkdpdCBjb21taXQgY2RkYzEw Nzg5OWJkZjA5ZWUzZmZkNjBiMDBiMzI0NTVlNjk5YjEzMCBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBBcnNlbml5IE9ib2xlbnNraXkpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDguLgpbQU1ER1BVXSBE byBub3Qgd2lkZW4gY29uc3RhbnQgbG9hZHMgdGhhdCBtYXkgbm90IGJlIGRlcmVmZXJlbmNlYWJs ZSAoIzE4NDc5MCkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvY2RkYzEwNzg5OWJkZjA5ZWUzZmZkNjBiMDBiMzI0NTVlNjk5YjEzMAoKR2l0IGNv bW1pdCBkZWU3MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQyODdlNWRjIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIEFsZXhhbmRlciBSaWNoYXJkc29uKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU1 Li4KW1RhYmxlR2VuXSBHZW5lcmF0ZSBgZ2V0UmVnQ2xhc3NGcm9tTWF0Y2hLaW5kKClgIGZvciBB c21NYXRjaGVycwoKVGhpcyBoZWxwZXIgY2FuIGJlIHVzZWZ1bCBpbiB2YWxpZGF0ZVRhcmdldE9w ZXJhbmRDbGFzcyB0byBnZXQgdGhlCk1DUmVnaXN0ZXJDbGFzcyBmb3IgdGhlIE1DS18qIGVudW0u Ck1pZ3JhdGUgdGhlIFJWWSBsb2dpYyB0byB1c2UgdGhpcyBuZXcgZ2VuZXJhdGVkIGZ1bmN0aW9u LiBDaGVja2luZyBhbGwKcmVnaXN0ZXIgY2xhc3NlcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIFJWWSBv bmVzIHdpbGwgbWFyZ2luYWxseSBzbG93IGRvd24KdmFsaWRhdGVUYXJnZXRPcGVyYW5kQ2xhc3Ms IGJ1dCBzaW5jZSB0aGlzIGlzIGFscmVhZHkgYSBzbG93IHBhdGggaXQKc2hvdWxkIG5vdCBtYXR0 ZXIuCgpJZiBtdWx0aXBsZSBSZWdpc3Rlck9wZXJhbmRzIHNoYXJlIGEgUGFyc2VyTWF0Y2hDbGFz cyBidXQgbWFwIHRvIGRpZmZlcmVudApSZWdpc3RlckNsYXNzZXMsIG9taXQgdGhlbSBmcm9tIHRo ZSBnZW5lcmF0ZWQgZ2V0UmVnQ2xhc3NGcm9tTWF0Y2hLaW5kCm1hcHBpbmcgZnVuY3Rpb24uIEkg b3JpZ2luYWxseSB0cmllZCB0byBlbWl0IGFuIGVycm9yIGhlcmUsIGJ1dCBpdCB0dXJucwpvdXQg dGhlcmUgYXJlIG1hbnkgdGFyZ2V0cyB0aGF0IHJlbHkgb24gc2hhcmluZyB0aGUgUGFyc2VyTWF0 Y2hDbGFzcyB3aXRoCmRpZmZlcmVudCAoYnV0IHNpbWlsYXIpIFJlZ2lzdGVyQ2xhc3NlcyBzbyBp Z25vcmluZyB0aGVtIGlzIHNhZmVyLgoKUmV2aWV3ZWQgQnk6IGxlbmFyeQoKUHVsbCBSZXF1ZXN0 OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMDA0NTMKaHR0cHM6 Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZGVlNzBhMGZj OTQ4Y2U5MDYwZjQyMjVlZTViNzA3YWY0Mjg3ZTVkYwoKR2l0IGNvbW1pdCAwZDFiNTQ2MDRkYWM3 M2FkYzE2YWYxNWY0MzNhZTBjOTIwNjlmY2MyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhh bmRlciBSaWNoYXJkc29uKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU3Li4KW1RhYmxlR2VuXVtBc21N YXRjaGVyXSBSZXNvbHZlIFJlZ0NsYXNzQnlId01vZGUga2luZHMgZm9yIGFsbCBvcGVyYW5kcwoK dmFsaWRhdGVPcGVyYW5kQ2xhc3MoKSBvbmx5IHJlbWFwcGVkIGEgUmVnQ2xhc3NCeUh3TW9kZSBv cGVyYW5kIGtpbmQKd2hlbiB0aGUgYWN0dWFsIHBhcnNlZCBvcGVyYW5kIHdhcyBhIHJlZ2lzdGVy LiBXaGVuIHRoZSBvcGVyYW5kIHdhcwpzb21ldGhpbmcgZWxzZSBlbnRpcmVseSAoZS5nLiBhIGJh cmUgaW1tZWRpYXRlIHdoZXJlIGEgcmVnaXN0ZXIgd2FzCmV4cGVjdGVkKSwgdGhpcyBmZWxsIHRo cm91Z2ggdG8gdGhlIGdlbmVyaWMgIktpbmQgPD0gTUNLX0xBU1RfUkVHSVNURVIiCmRpYWdub3N0 aWMgY2hlY2ssIHNvIHdlIGVuZCB1cCB3aXRoIGEgZ2VuZXJpYyBNYXRjaF9JbnZhbGlkT3BlcmFu ZC4KCk5vIHRlc3QgY2hhbmdlcyBoZXJlLCBidXQgdGhpcyBpcyBuZWVkZWQgdG8gYXZvaWQgZGlh Z25vc3RpYyByZWdyZXNzaW9ucwp3aXRoIHRoZSBSVlkgbG9hZC9zdG9yZSBzdXBwb3J0IChQUiAj MTc3MDczKS4KClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9q ZWN0L3B1bGwvMjEzNDc5Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9q ZWN0Ly0vY29tbWl0LzBkMWI1NDYwNGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZjYzIKCkdp dCBjb21taXQgYzc0MGM1NDUxN2ZhZmRmYjZhM2RkMzUyMjcwMDA3NmQ1MTg0Yzg0MiBieSBHaXRI dWIgKG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgvMjAyNiBhdCAxOTo1Ny4uCltT eXN0ZW1aXVt6L09TXSBBZGQgZ3VhcmQgZm9yIFNJX1VTRVIgICgjMjEzMTAxKQoKU0lfVVNFUiBp cyBub3QgZGVmaW5lZCBvbiB6L09TIGFuZCBpcyBjYXVzaW5nIHRoZSBmb2xsb3dpbmcgYnVpbGQK ZmFpbHVyZS4gYGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdTSV9VU0VSJ2Ag ClRoaXMgcGF0Y2ggYWRkcyBhIGd1YXJkIHRvIGNoZWNrIHdoZXRoZXIgU0lfVVNFUiBpcyBkZWZp bmVkCmJlZm9yZSB1c2luZyBpdC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvYzc0MGM1NDUxN2ZhZmRmYjZhM2RkMzUyMjcwMDA3NmQ1MTg0Yzg0 MgoKR2l0IGNvbW1pdCA4MzQzYzUzOGYwZTdlZGVlOGJmYzJjODAwZjZkMWJmYWVmNjY0YzEyIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIGZvcmtpbmctZ29vZ2xlLWJhemVsLWJvdFtib3RdKSBvbiAw NC8wOC8yMDI2IGF0IDIwOjA5Li4KW0JhemVsXSBGaXhlcyAwNDcyMmE0ICgjMjE0MDQ5KQoKVGhp cyBmaXhlcyAwNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlICgjMjExNDA5 KS4KCkJ1aWxka2l0ZSBlcnJvciBsaW5rOgpodHRwczovL2J1aWxka2l0ZS5jb20vbGx2bS1wcm9q ZWN0L3Vwc3RyZWFtLWJhemVsL2J1aWxkcz9jb21taXQ9MDQ3MjJhNGEzMmU2ZmVjMTg5N2NjM2Ni NWE1NDgwOWZjZDhjOWNhZQoKQ28tYXV0aG9yZWQtYnk6IEdvb2dsZSBCYXplbCBCb3QgPGdvb2ds ZS1iYXplbC1ib3RAZ29vZ2xlLmNvbT4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvODM0M2M1MzhmMGU3ZWRlZThiZmMyYzgwMGY2ZDFiZmFlZjY2 NGMxMgoKR2l0IGNvbW1pdCA0NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNmMmNiZGI0ZmJiYTg5MGQw IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNwZW5jZXIgQnJ5bmdlbHNvbikgb24gMDQvMDgvMjAy NiBhdCAyMDoxNS4uCltmbGFuZ11bT3Blbk1QXSBEaWFnbm9zZSBmYWlsZWQgY29uc3RydWN0IGRl Y29tcG9zaXRpb24gaW5zdGVhZCBvZiBmYWxsaW5nIHRocm91Z2ggKCMyMTQwMTIpCgpgYnVpbGRD b25zdHJ1Y3RRdWV1ZWAgYXNzZXJ0cyB0aGF0IGRlY29tcG9zaXRpb24gcHJvZHVjZWQgb3V0cHV0 OgoKYGBgY3BwCkNvbnN0cnVjdERlY29tcG9zaXRpb24gZGVjb21wb3NlKG1vZE9wLCBzZW1hQ3R4 LCBldmFsLCBjb21wb3VuZCwgY2xhdXNlcyk7CmFzc2VydCghZGVjb21wb3NlLm91dHB1dC5lbXB0 eSgpICYmICJDb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQiKTsKYGBgCgpSZWxlYXNlIGJ1 aWxkcyBoYXZlIG5vIGNoZWNrLCBzbyB0aGUgZW1wdHkgcXVldWUgZmFsbHMgdGhyb3VnaCB0byB0 aGUKbG9vcCBiZWxvdyBhbmQgb3V0IHRvIHRoZQpjYWxsZXIuIFRoYXQgaXMgdW5kZWZpbmVkIGJl aGF2aW91ciwgYW5kIGl0IGlzIHJlYWNoYWJsZSDigJQgc2VtYW50aWNzCmRvZXMgbm90IGNhdGNo IGV2ZXJ5CmRpcmVjdGl2ZS9jbGF1c2UgY29tYmluYXRpb24gdGhhdCBjYW5ub3QgYmUgZGVjb21w b3NlZC4gVGhlIHJlc3VsdCBpcyBhbgppbnRlcm1pdHRlbnQgc2VnZmF1bHQKcmF0aGVyIHRoYW4g YSBkaWFnbm9zdGljLgoKIzIxMTQzMCBpcyBvbmUgd2F5IGluOiBgYWxsb2NhdGVgIGlzIGFuIE9w ZW5NUCA1LjAgY2xhdXNlLCBidXQgbW9zdApkaXJlY3RpdmVzIGRlY2xhcmUgaXQgaW4KYE9NUC50 ZGAgd2l0aG91dCBhIG1pbmltdW0gdmVyc2lvbiwgc28gc2VtYW50aWNzIGFjY2VwdHMgaXQgYmVs b3cgNS4wCmFuZCBkZWNvbXBvc2l0aW9uIHRoZW4KY29ycmVjdGx5IHJlZnVzZXMgaXQuIGZsYW5n IGRlZmF1bHRzIHRvIE9wZW5NUCAzLjEsIHNvIG5vIHVudXN1YWwgZmxhZ3MKYXJlIG5lZWRlZC4g VGhlCmludGVybWl0dGVuY3kgaXMgd2hhdCBtYWRlIHRoYXQgcmVwb3J0IGhhcmQgdG8gcGluIGRv d24g4oCUIDQwIHRyaWFscyBhdApgLWZvcGVubXAtdmVyc2lvbj0zMWA6Cgp8IHwgc2VnZmF1bHRz IHwKfC0tLXwtLS18CnwgQVNMUiBvbiB8IDI1LzQwIHwKfCBBU0xSIG9mZiAoYHNldGFyY2ggLVJg KSB8IDAvNDAgfAoKd2hpY2ggaXMgYW4gdW5pbml0aWFsaXplZCByZWFkLgoKQWZ0ZXIgdGhpcyBw YXRjaCB0aGUgc2FtZSBpbnB1dCBmYWlscyBkZXRlcm1pbmlzdGljYWxseSB3aXRoIGEgbG9jYXRl ZApkaWFnbm9zdGljLCA0MC80MDoKCmBgYAplcnJvcjogbG9jKCJyZXByby5mOTAiOjY6MTEpOiBP cGVuTVAgY29uc3RydWN0IGRlY29tcG9zaXRpb24gZmFpbGVkOiBhIGNsYXVzZSBvbgogICAgICAg J3RhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvJyBjYW5ub3QgYmUgYXBwbGllZCB0 byBhbnkgb2YgaXRzIGxlYWYgY29uc3RydWN0cwpgYGAKCmBnZW5DcmFzaERpYWc9ZmFsc2VgIHNv IGl0IGV4aXRzIG5vbi16ZXJvIHdpdGhvdXQgYSBiYWNrdHJhY2UsIHJhdGhlcgp0aGFuIHByZXNl bnRpbmcgYXMgYSBjb21waWxlcgpjcmFzaC4KClRoaXMgaXMgYSBoYXJkZW5pbmcgZml4IGZvciB0 aGUgbG93ZXJpbmcgcGF0aCBhbmQgaXMgaW5kZXBlbmRlbnQgb2YgYW55CnBhcnRpY3VsYXIgY2xh dXNlOiBpdCBjb3ZlcnMKZXZlcnkgY29tYmluYXRpb24gdGhhdCBkZWNvbXBvc2VzIGVtcHR5LiBJ dCBkb2VzIG5vdCBtYWtlIHRoZSBgYWxsb2NhdGVgCmNhc2UgYSAqZ29vZCogZGlhZ25vc3RpYyDi gJQKdGhhdCBiZWxvbmdzIGluIHNlbWFudGljcywgYW5kICMyMTM5ODAgaXMgdGhlIHNlcGFyYXRl IGNoYW5nZSBmb3IgaXQuCgpgY2hlY2stZmxhbmdgIGlzIGNsZWFuICg0ODA4IHRlc3RzKS4gTm8g dGVzdCBpcyBhZGRlZDogdGhlIG9ubHkgaW4tdHJlZQp3YXkgdG8gcmVhY2ggdGhpcyBwYXRoIGlz CnRocm91Z2ggdGhlIGBPTVAudGRgIGdhcCB0aGF0ICMyMTM5ODAgZml4ZXMsIHNvIGEgdGVzdCBo ZXJlIHdvdWxkIGVuY29kZQp0aGF0IGdhcCBhcyBleHBlY3RlZApiZWhhdmlvdXIgYW5kIGhhdmUg dG8gYmUgcmVtb3ZlZCB3aGVuIGl0IGxhbmRzLiBIYXBweSB0byBhZGQgb25lIGlmCnlvdSdkIHBy ZWZlci4KCgotLS0KClBhcnRzIG9mIHRoaXMgY2hhbmdlIHdlcmUgd3JpdHRlbiBvciBhdWRpdGVk IHdpdGggQ2xhdWRlIENvZGUuIEkgaGF2ZQpyZXZpZXdlZCBhbGwgb2YgaXQgYW5kIHRha2UKZnVs bCByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNvbnRyaWJ1dGlvbi4gU2VlCmBsbHZtL2RvY3MvQUlU b29sUG9saWN5Lm1kYC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvNDRjNmFlZDliZDliOWNkYTk5M2Y0ZTkzZjJjYmRiNGZiYmE4OTBkMAoKR2l0 IGNvbW1pdCA4M2ZiNzJhOTA0ZTgyMzFiZjY4NzkwNzZiOWMxMGJkYmYyNWU0NzQ0IGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIEFydGh1ciBFdWJhbmtzKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjIwLi4K W0RXUF0gRWFnZXJseSBjbGVhciBidWZmZXJzIGFmdGVyIHdyaXRpbmcgKCMyMTMzNDUpCgpMb3dl cnMgcGVhayBtZW1vcnkgdXNhZ2Ugb24gYSBsbHZtLWR3cCBpbnZvY2F0aW9uIGZyb20gMTIuMzdH QiAtPgoxMS4xOUdCLgoKVGhpcyBhY3R1YWxseSBub3cgYmVhdHMgb3V0IEdOVSBkd3AgKDExLjM1 R0IpIGF0IGxlYXN0IHdoZW4gdGhlIG91dHB1dApmaWxlIGlzIGluIHRtcGZzLgpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84M2ZiNzJhOTA0ZTgy MzFiZjY4NzkwNzZiOWMxMGJkYmYyNWU0NzQ0CgpHaXQgY29tbWl0IGQ1MmU5ODgxNGM0MTQ4N2U1 NjM1YTE4NmQ5N2JmNTgwM2UyMDI0NTcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgSGVucnkgSmlh bmcpIG9uIDA0LzA4LzIwMjYgYXQgMjA6MjUuLgpbTkZDXVtBTURHUFVdIEZpeCBleGl0IGNvZGUg bWlzbWF0Y2ggd2l0aCBFWFBFTlNJVkVfQ0hFQ0sgaW4gc2NoZWR1bGXigKYgKCMyMTQwMjcpCgri gKYtYW1kZ3B1LXRyYWNrZXItcGh5c3JlZy1jcmFzaC5sbAoKT2JzZXJ2ZWQgaW4KaHR0cHM6Ly9j aS5zd2lmdC5vcmcvam9iL2xsdm0ub3JnL2pvYi9jbGFuZy1zdGFnZTEtUkEtZXhwZW5zaXZlL2pv Yi9tYWluLzExNTUKd2l0aCBMTFZNX0VOQUJMRV9FWFBFTlNJVkVfQ0hFQ0tTIGVuYWJsZWQsCmBD b2RlR2VuL0FNREdQVS9zY2hlZHVsZS1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNyYXNoLmxsYCBm YWlscyBkdWUgdG8KTWFjaGluZVZlcmlmaWVyIHJ1bm5pbmcsIGNhdXNpbmcgYW4gZXhpdCAxLgoK TW9kaWZpZWQgdG8gYWx3YXlzIHJ1biB0aGUgYC12ZXJpZnktbWFjaGluZWluc3Ryc2AuCgpyZGFy Oi8vMTg0MDEwNzY2Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0 Ly0vY29tbWl0L2Q1MmU5ODgxNGM0MTQ4N2U1NjM1YTE4NmQ5N2JmNTgwM2UyMDI0NTcKCkdpdCBj b21taXQgZjIwYjY0ZmZlNWM4MWUwZWYzNWJjZjk5OTBmNjBhMWZmOTE1N2Y3YiBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBEbWl0cnkgVmFzaWx5ZXYpIG9uIDA0LzA4LzIwMjYgYXQgMjA6MjYuLgpb bGxkYl0gRGlzYWJsZSBUZXN0UHJvY2Vzc1NhdmVDb3JlTWluaWR1bXBTaXplTWlzbWF0Y2ggb24g V2luZG93cyBob3N0cyAoIzIxNDA0NCkKClRoZSBidWlsZGJvdApbbGxkYi1yZW1vdGUtbGludXgt d2luXShodHRwczovL2xhYi5sbHZtLm9yZy9idWlsZGJvdC8jL2J1aWxkZXJzLzE5NykgaXMKcmVk IGFmdGVyICMyMTI4NjEuICMyMTI4NjEgY2Fubm90IGJlIHJldmVydGVkIGF1dG9tYXRpY2FsbHkg bm93IGJlY2F1c2Ugb2YKIzIxMjY0MS4gU28gZGlzYWJsZSBUZXN0UHJvY2Vzc1NhdmVDb3JlTWlu aWR1bXBTaXplTWlzbWF0Y2ggb24gV2luZG93cwpob3N0cyB0byBtYWtlIHRoZSBidWlsZGJvdCBn cmVlbiBhZ2Fpbi4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvZjIwYjY0ZmZlNWM4MWUwZWYzNWJjZjk5OTBmNjBhMWZmOTE1N2Y3YgoKR2l0IGNv bW1pdCAwM2Y4NmM2ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIERhdmlkIFlvdW5nKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjMyLi4KW1N1cHBv cnRdW0RyaXZlcl1bTExEQl0gR3VhcmQgV0lOMzJfTEVBTl9BTkRfTUVBTiBkZWZpbml0aW9ucyB3 aXRoICNpZm5kZWYgKCMyMTMwNDUpCgpTZXZlcmFsIFdpbmRvd3MgaGVhZGVycy9UVXMgdW5jb25k aXRpb25hbGx5IGAjZGVmaW5lCldJTjMyX0xFQU5fQU5EX01FQU5gLiBXaGVuIGEgYnVpbGQgcHJl ZGVmaW5lcyB0aGUgbWFjcm8gb24gdGhlIGNvbXBpbGVyCmNvbW1hbmQgbGluZSAoZS5nLiBhIHRv b2xjaGFpbiB0aGF0IHBhc3NlcyAtRFdJTjMyX0xFQU5fQU5EX01FQU4sIHdoaWNoCmNsYW5nIHRy ZWF0cyBhcyBgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOIDFgKSwgdGhlIGRpZmZlcmluZyB0 b2tlbgpsaXN0cyB0cmlnZ2VyIC1XbWFjcm8tcmVkZWZpbmVkLCB3aGljaCBiZWNvbWVzIGEgaGFy ZCBlcnJvciB1bmRlcgotV2Vycm9yLgoKR3VhcmQgdGhlIGRlZmluaXRpb25zIHdpdGggI2lmbmRl ZiwgbWF0Y2hpbmcgdGhlIGFkamFjZW50IE5PTUlOTUFYCmhhbmRsaW5nIGFuZCB0aGUgZXhpc3Rp bmcgcGF0dGVybiBpbgpsbHZtL2xpYi9TdXBwb3J0L3JwbWFsbG9jL3JwbWFsbG9jLmMuIFRoZSBt YWNybyBpcyBvbmx5IGEgcHJlc2VuY2UgZmxhZywKc28ga2VlcGluZyBhbiBleHRlcm5hbGx5LXBy b3ZpZGVkIGRlZmluaXRpb24gaXMgY29ycmVjdC4KClNpdGVzIGd1YXJkZWQ6CiAgbGx2bS9pbmNs dWRlL2xsdm0vU3VwcG9ydC9XaW5kb3dzL1dpbmRvd3NTdXBwb3J0LmgKICBsbHZtL2xpYi9XaW5k b3dzRHJpdmVyL01TVkNQYXRocy5jcHAKICBjbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvTVNW Qy5jcHAKICBsbGRiL2luY2x1ZGUvbGxkYi9Ib3N0L3dpbmRvd3Mvd2luZG93cy5oCgpNZXRhIHJh biBpbnRvIHRoaXMgaW50ZXJuYWxseSBidWlsZGluZyBsbGRiIG9uIHdpbmRvdyBhZnRlciBhIHN5 bmMgd2l0aAp1cHN0cmVhbSBmcm9tIEp1bHkgY29tbWl0LCBzbyBhZGRpbmcgZ3VhcmRzIHdvdWxk IGFsbG93IHVzIHRvIGRyb3AgYQp3b3JrYXJvdW5kIG9mIGlnbm9yaW5nIHRoZSBkdXBsaWNhdGUg ZGVmaW5lcy4KCkVycm9yOgpsbHZtXGluY2x1ZGVcbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93 c1N1cHBvcnQuaCgyOSw5KTogZXJyb3I6CidXSU4zMl9MRUFOX0FORF9NRUFOJyBtYWNybyByZWRl ZmluZWQgWy1XZXJyb3IsLVdtYWNyby1yZWRlZmluZWRdCiAgIDI5IHwgI2RlZmluZSBXSU4zMl9M RUFOX0FORF9NRUFOCiAgICAgIHwgICAgICAgICBeCjxjb21tYW5kIGxpbmU+KDEwLDkpOiBub3Rl OiBwcmV2aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKICAgMTAgfCAjZGVmaW5lIFdJTjMyX0xFQU5f QU5EX01FQU4gMQogICAgICB8ICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMDNmODZjNmQ0ZDU1 ODA5Zjk1MzFiNWUzN2ViODI0OWU1Njk3NDZhYQoKR2l0IGNvbW1pdCA0NmI4ZWI4NjEzNTJkMGQz NDYyM2EzMTM5ZWQxMWRlNzYzMzE3MzIzIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIE5pa2l0YSBU ZXJlbnRldikgb24gMDQvMDgvMjAyNiBhdCAyMDozOS4uCltORkNdW0NsYW5nXVtEb2NzXSBGaXgg bWlub3IgdHlwb3MgaW4gQ29uc3RhbnQgSW50ZXJwcmV0ZXIgZG9jLiAoIzIxMTYwOCkKCkZpcnN0 OiBUeXBvIGlzIG9idmlvdXMuIApTZWNvbmQ6IEluIHRoZSBleGFtcGxlLCB0aGUgYS55IGZpZWxk IGlzIG1pc3NpbmcgYW5kIGZpZWxkIGEuYi55IGlzCnJlcXVpcmVkLgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80NmI4ZWI4NjEzNTJkMGQzNDYy M2EzMTM5ZWQxMWRlNzYzMzE3MzIzCgpHaXQgY29tbWl0IDIxNzhkYjZkM2RlNGFkOWZiOTc5NGY1 NWU2ZDZkMzhjZGYyYjAzNDcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJvdmlj aCkgb24gMDQvMDgvMjAyNiBhdCAyMDo0Mi4uCltYODZdIEhhbmRsZSBtdWx0aS11c2Ugc2V0Y2Mg aW4gY29tbXV0ZVNlbGVjdCAoIzIxMzY0NSkKCldoZW4gYSBzZXRjYyBjb25kaXRpb24gaXMgc2hh cmVkIGJldHdlZW4gbXVsdGlwbGUgdnNlbGVjdHMsCmNvbW11dGVTZWxlY3QgcHJldmlvdXNseSBi YWlsZWQgb3V0IGR1ZSB0byB0aGUgbV9PbmVVc2UgY29uc3RyYWludC4KRXh0ZW5kIGl0IHRvIGNo ZWNrIGFsbCB1c2VycyBvZiB0aGUgc2V0Y2MgYW5kLCBpZiB0aGV5IGFsbCBiZW5lZml0IGZyb20K Y29tbXV0aW5nLCBpbnZlcnQgdGhlIGNvbmRpdGlvbiBvbmNlIHdpdGggUmVwbGFjZUFsbFVzZXNP ZlZhbHVlV2l0aCBhbmQKc3dhcCBhbGwgdnNlbGVjdCBvcGVyYW5kcy4KClRoaXMgZml4ZXMgYSB3 cml0ZS1tYXNrIGZ1c2lvbiByZWdyZXNzaW9uIHdoZXJlIG1hc2tlZCBtaW4vbWF4CnJlZHVjdGlv bnMgcHJvZHVjZWQgdW5mdXNlZCB2bWlucHMgKyB2bW92YXBzIHsla30gaW5zdGVhZCBvZiBhIHNp bmdsZQp3cml0ZS1tYXNrZWQgdm1pbnBzIHsla30uCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzIxNzhkYjZkM2RlNGFkOWZiOTc5NGY1NWU2ZDZk MzhjZGYyYjAzNDcKCkdpdCBjb21taXQgYWE3Njk2M2VjMDM5ZjQ4NWQwNWMxMjM1YmFjNWE1ZWRm MzYwNTM3OCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBQaWxncmltKSBvbiAwNC8wOC8y MDI2IGF0IDIwOjQzLi4KW1g4Nl0gTG93ZXJQQVJJVFkgLSB1c2UgY291bnRNYXhBY3RpdmVCaXRz IHRvIGRldGVybWluZSBpZiByZXByZXNlbnRhYmxlIGFzIHVpbnQ4X3QuIE5GQy4gKCMyMTQwNTYp CgpNdWNoIGNsZWFuZXIgdGhhbiB1c2luZyB0aGUgTWFza2VkVmFsdWVJc1plcm8gY2hlY2suCgpG aXggaTY0IC0+IHhvcihpMzIsaTMyKSBwYXJpdHkgc3RhZ2UgY29tbWVudCBhcyB3ZWxsLgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9hYTc2OTYz ZWMwMzlmNDg1ZDA1YzEyMzViYWM1YTVlZGYzNjA1Mzc4CgpHaXQgY29tbWl0IGNkNDU5ZjI0NjZl NDA4ZWJmOWRjZDQ1NWM1OGE0Mzk1MmQ2YTU5MDMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRmFy em9uIExvdGZpKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjQ3Li4KW1NQSVJWXSBTcGxpdCB3aWRlIHNo YWRlciBQSElzIGJlZm9yZSBhcHBseWluZyBleHBsaWNpdCBzdXBwb3J0ZWQgdHlwZXMgKCMyMTM4 MDYpCgpmaXhlcyAjMjEzODAyCgpBcHBseSB0aGUgbWF4aW11bS12ZWN0b3Itc2l6ZSBydWxlIGJl Zm9yZSB0aGUgZXhwbGljaXQgUEhJIGxlZ2FsaXR5CnJ1bGVzIGZvciB0eXBlLiBUaGlzIHdheSBp ZiB3ZSBzZWUgYSBzaXplIDE2IHZlY3RvciB3ZSBzcGxpdCBpdApiZWZvcmVoYW5kLgoKSW4gbW9y ZSBwcmVjaXNlIHdvcmRzIHRoaXMgcHJlc2VydmVzIGV4aXN0aW5nIGxlZ2FsaXR5IHJ1bGVzIHdo aWxlCmVuc3VyaW5nIHNoYWRlciBQSElzIHdpZGVyIHRoYW4gZm91ciBsYW5lcyBhcmUgc3BsaXQg Zmlyc3QuCgpBc3Npc3RlZCBieSBDb3BpbG90IChHUFQgNS42IFNvbCkKaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvY2Q0NTlmMjQ2NmU0MDhlYmY5 ZGNkNDU1YzU4YTQzOTUyZDZhNTkwMwoKR2l0IGNvbW1pdCA4MGU2MGFhNGJmNjViYWJlMzFkNDAz MGUxZWYxOTJkYTcwYjc2NTUwIGJ5IEFsZXhhbmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYg YXQgMjE6MDYuLgpmaXggcmV2aWV3IGNvbW1lbnRzCgpDcmVhdGVkIHVzaW5nIHNwciAxLjMuOC1i ZXRhLjEtYXJpY2hhcmRzb24KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvODBlNjBhYTRiZjY1YmFiZTMxZDQwMzBlMWVmMTkyZGE3MGI3NjU1MAoK R2l0IGNvbW1pdCAzZTE5MjFjYjY2NmNiYmExMDgzNTMwNDc4OTMzMDUzMmY1NTA4Nzg5IGJ5IEFs ZXhhbmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYgYXQgMjE6MDkuLgpkcm9wIHdhcm5pbmcg bWVzc2FnZSB0aGF0IGlzIG5vdyBwcmludGVkIGJ5IHN1YnRhcmdldAoKQ3JlYXRlZCB1c2luZyBz cHIgMS4zLjgtYmV0YS4xLWFyaWNoYXJkc29uCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzNlMTkyMWNiNjY2Y2JiYTEwODM1MzA0Nzg5MzMwNTMy ZjU1MDg3ODkKCkdpdCBjb21taXQgNmYwNTZjNWUzZjFjNmM1YzczMmM4MGY0N2RjMDFjMGQ1YzAw YTQwNSBieSBBbGV4YW5kZXIgUmljaGFyZHNvbiBvbiAwNC8wOC8yMDI2IGF0IDIxOjUyLi4KW/Cd mIDwnZe98J2Xv10gY2hhbmdlcyBpbnRyb2R1Y2VkIHRocm91Z2ggcmViYXNlCgpDcmVhdGVkIHVz aW5nIHNwciAxLjMuOC1iZXRhLjEtYXJpY2hhcmRzb24KCltza2lwIGNpXQpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC82ZjA1NmM1ZTNmMWM2YzVj NzMyYzgwZjQ3ZGMwMWMwZDVjMDBhNDA1CgpHaXQgY29tbWl0IDUwMTIyYjVlMWIxM2VmNTE3ZTMx ZjhlNTI2NGZiOTcxMjg2OTM4MDMgYnkgQWxleGFuZGVyIFJpY2hhcmRzb24gb24gMDQvMDgvMjAy NiBhdCAyMTo1Mi4uCnJlYmFzZSBvbiB0b3Agb2YgYmFzZWxpbmUgY2hhbmdlLiBzaW1wbGlmeSBS SVNDVlRhcmdldEVMRlN0cmVhbWVyIHRvIGF2b2lkIGR1cGxpY2F0ZSBtZXNzYWdlCgpDcmVhdGVk IHVzaW5nIHNwciAxLjMuOC1iZXRhLjEtYXJpY2hhcmRzb24KaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNTAxMjJiNWUxYjEzZWY1MTdlMzFmOGU1 MjY0ZmI5NzEyODY5MzgwMwoKR2l0IGNvbW1pdCAwNTgwMWVhZGM3ZTI4MWNkNTVhZDFlOTA0M2U5 MTFiOWY5MTNhMGMwIGJ5IEFsZXhhbmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYgYXQgMjE6 NTguLgppbXByb3ZlIHRlc3RzCgpDcmVhdGVkIHVzaW5nIHNwciAxLjMuOC1iZXRhLjEtYXJpY2hh cmRzb24KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvMDU4MDFlYWRjN2UyODFjZDU1YWQxZTkwNDNlOTExYjlmOTEzYTBjMAo=