[qt/clang/llvm]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:12:21 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0KUHVzaGVkIGJ5 IG1pcnJvci1zZXJ2aWNlIGludG8gYnJhbmNoICd1cHN0cmVhbS91c2Vycy9hcmljaGFyZHNvbi9z cHIvcmlzY3YtY2hhbmdlLXJpc2N2YWJpY29tcHV0ZXRhcmdldGFiaS10by1yZXR1cm4tZXhwZWN0 ZWRhYmknLgpDaGFuZ2VkIGZyb20gNTIxYWMwZDQyYjU3N2NiOTlhOWY1MDIyMDlmZTBlYmI4ODQ2 YjYzMSB0byAwNTgwMWVhZGM3ZTI4MWNkNTVhZDFlOTA0M2U5MTFiOWY5MTNhMGMwCkFja25vd2xl ZGdlbWVudCB3YXMgcmVjZWl2ZWQgdGhhdCB0aGlzIGNoYW5nZSBpbnRyb2R1Y2VzIG9ubHkgZXhp c3RpbmcgY29kZSB0aGF0IGhhcyBiZWVuIHB1c2hlZCB0byBhbm90aGVyIHB1YmxpYyBvcGVuIHNv dXJjZSByZXBvc2l0b3J5LgoKVGhpcyBjaGFuZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBuZXcg Y29tbWl0czoKCkdpdCBjb21taXQgNzYwOWNiODNiZjVmYzVjMjVlMjg3NzcwZGIyNzdkYmIzNGU2 NzRiOCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBGaW5uIFBsdW1tZXIpIG9uIDA0LzA4LzIwMjYg YXQgMTc6MzMuLgpbRGlyZWN0WF0gUHJldmVudCBgZHhpbC1yZXNvdXJjZS1hY2Nlc3NgIGZyb20g aW5zZXJ0aW5nIGEgcmVzb3VyY2UgYWNjZXNzIGluLWJldHdlZW4gcGhpIG5vZGVzICgjMjExMzQz KQoKVGhlIHBhc3MgY2FuIGluY29ycmVjdGx5IHBsYWNlIGEgbG9hZC9zdG9yZSB3aXRoaW4gdGhl IHBoaSBub2RlcyBhdCB0b3AKb2YgdGhlIGJhc2ljIGJsb2NrOiBodHRwczovL2dvZGJvbHQub3Jn L3oveDVFYzRHV0dUCgpUaGlzIGlzIHJlc29sdmVkIGJ5IHVwZGF0aW5nIGByZXBsYWNlSGFuZGxl V2l0aEluZGljZXNgIHRvIGFkanVzdCB0aGUKaW5zZXJ0aW9uIHBvaW50IHdoZW4gdGhlIHB0ciBj b21lcyBmcm9tIGEgcGhpIG5vZGUuCgpSZXNvbHZlcywgaW4gcGFydCwgaHR0cHM6Ly9naXRodWIu Y29tL2xsdm0vbGx2bS1wcm9qZWN0L2lzc3Vlcy8yMTExMjEKCkFzc2lzdGVkIGJ5OiBDbGF1ZGUg T3B1cyA0LjgKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0Lzc2 MDljYjgzYmY1ZmM1YzI1ZTI4Nzc3MGRiMjc3ZGJiMzRlNjc0YjgKCkdpdCBjb21taXQgNTM4MmY3 ZDY0ZmY1OWQxOTgwOTFmZmQyNjNkN2FkZWNmNWQ3ZGQ1YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBCZW5qYW1pbiBNYXh3ZWxsKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjQ4Li4KW0Nvc3RNb2RlbF1b QUFyY2g2NF0gQWRkIGluaXRpYWwgY29zdHMgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAgKCMy MTM3MTIpCgpUaGlzIGFkZHMgYW4gaW5pdGlhbCBjb3N0IG1vZGVsIGZvciBgbWFza2VkLmNvbXBy ZXNzc3RvcmVgLiBUaGUgdGVzdHMKYXJlIGJhc2VkIG9uIGBtYXNrZWRfZXhwYW5kX2xvYWQubGxg LCB3aGljaCBjb3ZlcnMgYWxsIGNvbmZpZ3VyYXRpb25zCmZvciB0aGUgYGV4cGFuZGAvYGNvbXBh Y3RgIGluc3RydWN0aW9ucy4KCk5vdGU6IFJpZ2h0IG5vdywgd2Ugb25seSByZXBvcnQgdmFsaWQg Y29zdHMgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAKb3BlcmF0aW9ucyB0aGF0IGNhbiBiZSBs b3dlcmVkIHdpdGggU1ZFMSAoYXMgdGhhdCdzIGFsbCB3ZSBoYW5kbGUgSVNFTApmb3IgYXQgdGhl IG1vbWVudCkuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC81 MzgyZjdkNjRmZjU5ZDE5ODA5MWZmZDI2M2Q3YWRlY2Y1ZDdkZDVhCgpHaXQgY29tbWl0IGFmMTQ0 NTZhMmJhYzU1MDI2YjJkNTdjYmYxNGIzOTA1YzQ1MmI4YTQgYnkgR2l0SHViIChvbiBiZWhhbGYg b2YgYXJzbnlkZXIxNikgb24gMDQvMDgvMjAyNiBhdCAxNzo1Mi4uCltPcGVuTVBdIFNpbXBsaWZ5 IGdlbmVyaWMgbWljcm90YXNrIGRpc3BhdGNoICgjMjE0MDA0KQoKUmVwbGFjZSB0aGUgZ2VuZXJp YyBtaWNyb3Rhc2sgZGlzcGF0Y2hlcidzIGhhbmR3cml0dGVuIGZ1bmN0aW9uLXBvaW50ZXIKdHlw ZXMgYW5kIGNhbGxzIHdpdGggYSB2YXJpYWRpYy10ZW1wbGF0ZSBoZWxwZXIgYW5kIGEgbWFjcm8g Zm9yIGVhY2gKc3VwcG9ydGVkIGFyZ3VtZW50IGNvdW50LgoKVGhlIGRpc3BhdGNoZXIgc3RpbGwg Y2FzdHMgZWFjaCBtaWNyb3Rhc2sgdG8gdGhlIGV4YWN0IGZpeGVkLWFyaXR5CnNpZ25hdHVyZSBy ZXF1aXJlZCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBXZWJBc3NlbWJseS4gVGhpcyBpcyBpbnRlbmRl ZCBhcwphIHJlZmFjdG9yIG9ubHk6IHRoZSBleGlzdGluZyBsaW1pdCBvZiAxNSBtaWNyb3Rhc2sg YXJndW1lbnRzIGFuZCB0aGUKZGlhZ25vc3RpYyBmb3IgbGFyZ2VyIGFyZ3VtZW50IGNvdW50cyBy ZW1haW4gdW5jaGFuZ2VkLgoKVGhpcyByZWR1Y2VzIHRoZSByZXBldGl0aXZlIGNvZGUgYW5kIG1h a2VzIGZ1dHVyZSBjaGFuZ2VzIHRvIHRoZQpzdXBwb3J0ZWQgYXJndW1lbnQgcmFuZ2UgZWFzaWVy IHRvIHJldmlldy4KClNwbGl0IG91dCBmcm9tICMyMTEwNzEKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2FmMTQ0NTZhMmJhYzU1MDI2YjJkNTdjYmYxNGIzOTA1 YzQ1MmI4YTQKCkdpdCBjb21taXQgMmEyYWRkZTM1OTM3NjY3ZGQ5M2RjNTU5NGFjNWQ1Mjg0MmUx MTZkMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBDaGlubWF5IERlc2hwYW5kZSkgb24gMDQvMDgv MjAyNiBhdCAxNzo1Ni4uCltBTURHUFVdW0dJU2VsXSBBZGQgUmVnQmFua0xlZ2FsaXplIHJ1bGVz IGZvciBsbHZtLmFtZGdjbi5mZG90Mi5iZjE2LmJmMTYgKCMyMTQwMTMpCmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8yYTJhZGRlMzU5Mzc2NjdkZDkzZGM1NTk0 YWM1ZDUyODQyZTExNmQyCgpHaXQgY29tbWl0IDUwMDk2MjI5OGQ2MjRhNzRhZGU1OGMyYWViNjUz MTNmYjMyZGRhNWEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQv MDgvMjAyNiBhdCAxNzo1Ny4uCltJbnN0Q29tYmluZV1Gb2xkIGZjbXArc2VsZWN0IHRvIG1pbi9t YXggaWYgaXRzIHplcm8gc2lnbiBpcyBtaXNzaW5nCgpMb29rIHRocm91Z2ggcGhpcywgY2hhaW5l ZCBzZWxlY3RzIGFuZCB0aGUgbG9vcCBiYWNrIGVkZ2UgdG8gdGhlCnNlbGVjdCBpdHNlbGYgYW5k IGZvbGQgaWYgbm8gdXNlIGNhbiBvYnNlcnZlIHRoZSBzaWduIG9mIHplcm8gb2YgdGhlCnJlc3Vs dC4gVGhpcyByZXN0b3JlcyB0aGUgZm9sZCBmb3IgbG9vcC1jYXJyaWVkIGFuZCB1bnJvbGxlZCBy dW5uaW5nCm1pbi9tYXggdmFsdWVzIChmY3NlbCAtPiBmbWlubm0gb24gQUFyY2g2NCkgbG9zdCB0 byB0aGUgc2lnbmVkIHplcm8KaGFuZGxpbmcgZml4IGluIG1hdGNoU2VsZWN0UGF0dGVybiAoIzIx MDA3NykuCgpSZXZpZXdlcnM6IG5pa2ljLCBkdGN4enl3CgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzEzMwpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvNTAwOTYyMjk4ZDYyNGE3NGFkZTU4YzJhZWI2 NTMxM2ZiMzJkZGE1YQoKR2l0IGNvbW1pdCA3MGVjYzViYjYyMTg3Y2E3MGU2ZmU0ZTU2M2RiZDYw Zjg4YzJlN2EwIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFRpbXVyIEdvbHVib3ZpY2gpIG9uIDA0 LzA4LzIwMjYgYXQgMTc6NTguLgpSZXZlcnQgIltHbG9iYWxJU2VsXSBDb21iaW5lIG1lcmdlLXVu bWVyZ2Ugd2l0aCBtaXhlZCBzY2FsYXIgYW5kIHZlY3RvciB0eXBlcyIgKCMyMTQwMTApCgpSZXZl cnRzIGxsdm0vbGx2bS1wcm9qZWN0IzIxMzA4NgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0vLS9jb21taXQvNzBlY2M1YmI2MjE4N2NhNzBlNmZlNGU1NjNkYmQ2MGY4OGMyZTdh MAoKR2l0IGNvbW1pdCA2MzI2ZjE0Y2RjMTJiYWJmZGM0MzU5ZjVkZGQ0ZGZjZDY2YjUzZjMzIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEFkYW0gU21pdGgpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MDMu LgpbQ0lSXSBMb3dlciB2YXJpYWRpYyBjYWxscyBpbiBDYWxsQ29udkxvd2VyaW5nIGZvciB4ODZf NjQgKCMyMTMzMTUpCgpDYWxsQ29udkxvd2VyaW5nIGNsYXNzaWZpZWQgZWFjaCBmdW5jdGlvbiBv bmNlIGZyb20gaXRzIGRlY2xhcmVkCnNpZ25hdHVyZSBhbmQgcmV1c2VkIHRoYXQgY2xhc3NpZmlj YXRpb24gYXQgZXZlcnkgY2FsbCBzaXRlLiBBbiBhcmd1bWVudApwYXNzZWQgdGhyb3VnaCBhbiBl bGxpcHNpcyBoYXMgbm8gZW50cnkgaW4gdGhlIGNhbGxlZSdzIHBhcmFtZXRlciBsaXN0LApzbyBv biB4ODZfNjQgYW4gZWxsaXBzaXMgYXJndW1lbnQgdGhhdCBuZWVkZWQgYW4gZXh0ZW5zaW9uIGF0 dHJpYnV0ZSwgYQpyZWdpc3RlciBjb2VyY2lvbiwgb3IgYSBieXZhbCBzbG90IHdhcyBlbWl0dGVk IHVuY2hhbmdlZCB3aGVuZXZlciB0aGUKY2FsbGVlJ3MgZGVjbGFyZWQgcGFyYW1ldGVycyBoYXBw ZW5lZCB0byBuZWVkIG5vIHJld3JpdGUsIGFuZCByZXBvcnRlZApOWUkgd2hlbiB0aGV5IGRpZC4K CkFuIGVsbGlwc2lzIGFyZ3VtZW50IGNvbXBldGVzIGZvciB0aGUgc2FtZSByZWdpc3RlcnMgYXMg YSBkZWNsYXJlZCBvbmUsCnNvIHRoZSBzYW1lIHR3by1laWdodGJ5dGUgcmVjb3JkIGdvZXMgaW4g YSByZWdpc3RlciBwYWlyIGVhcmx5IGluIHRoZQpsaXN0IGFuZCBieXZhbCBvbmNlIHRoZSBpbnRl Z2VyIHJlZ2lzdGVycyBhcmUgZ29uZS4gVmFyaWFkaWMgY2FsbCBzaXRlcwp1bmRlciB0aGUgeDg2 XzY0IGRyaXZlciBhcmUgbm93IGNsYXNzaWZpZWQgZnJvbSB0aGUgY2FsbCdzIG93biBvcGVyYW5k CnR5cGVzLCBhbmQgdGhlIGRlY2xhcmVkIHBhcmFtZXRlciBjb3VudCByZWFjaGVzCmBsbHZtOjph Ymk6OkZ1bmN0aW9uSW5mbzo6Y3JlYXRlYCBhcyBpdHMgYE51bVJlcXVpcmVkYCBhcmd1bWVudCwg d2hpY2gKaXMgd2hhdCBsZXRzIHRoZSBjbGFzc2lmaWVyIHRlbGwgYSBuYW1lZCBhcmd1bWVudCBm cm9tIG9uZSBwYXNzZWQKdGhyb3VnaCB0aGUgZWxsaXBzaXMuIFRvZGF5IHRoYXQgZmxhZyBvbmx5 IGRlY2lkZXMgd2hldGhlciBhIGxhcmdlCnZlY3RvciBnb2VzIGluIGEgcmVnaXN0ZXIsIGFuZCB0 aGUgQ0lSIHR5cGUgYnJpZGdlIGFkbWl0cyBubyB2ZWN0b3IKdHlwZXMsIHNvIHRoZSBib3VuZGFy eSBjaGFuZ2VzIG5vIG91dHB1dCB5ZXQuCgpgcHJlcGVuZEluZGlyZWN0Q2FsbGVlYCBhbHNvIHJl YnVpbHQgdGhlIGNhbGxlZSBwb2ludGVyJ3MgcG9pbnRlZQp3aXRob3V0IGBpc1ZhckFyZ2AsIGRy b3BwaW5nIHRoZSBlbGxpcHNpcyBmcm9tIGEgbG93ZXJlZCBpbmRpcmVjdCBjYWxsCmFuZCB3aXRo IGl0IHRoZSB2ZWN0b3ItcmVnaXN0ZXIgY291bnQgdGhlIHg4Nl82NCBTeXNWIEFCSSBwYXNzZXMg aW4gQUwuCkEgdm9pZCByZXR1cm4gYW5kIGEgcmV0dXJuIHRoZSBBQkkgZHJvcHMsIHN1Y2ggYXMg YW4gZW1wdHkgcmVjb3JkLCBib3RoCmNsYXNzaWZ5IGFzIGBJZ25vcmVgIHdoaWxlIG5lZWRpbmcg b3Bwb3NpdGUgdHJlYXRtZW50LCBzbwpgRnVuY3Rpb25DbGFzc2lmaWNhdGlvbmAgbm93IHJlY29y ZHMgd2hpY2ggb25lIGl0IHdhcyB3aGVyZSB0aGUKY2xhc3NpZmljYXRpb24gaXMgcHJvZHVjZWQu IGBuZWVkc1Jld3JpdGVgIG1vdmVzIGZyb20gdGhlIENJUiByZXdyaXRlcgp0byBgbWxpci9pbmNs dWRlL21saXIvQUJJL0FCSVJld3JpdGVDb250ZXh0LmhgLCBvdmVyIGEgbmV3IHBlci1hcmd1bWVu dApgaXNQYXNzVGhyb3VnaGAsIHNvIHRoZSBwYXNzIGFuZCB0aGUgcmV3cml0ZXIgc2hhcmUgb25l IGRlZmluaXRpb24uCgpUd28gdGhpbmdzIGFyZSBuZXdseSBkaWFnbm9zZWQgcmF0aGVyIHRoYW4g bmV3bHkgYnJva2VuLiBUaGUKb3BlcmFuZC1jb3VudCBjaGVjayBtb3ZlcyBhaGVhZCBvZiB0aGUg cGFzcy10aHJvdWdoIGVhcmx5IHJldHVybiwgc28gYQpjYWxsIHdob3NlIG9wZXJhbmQgY291bnQg ZGlzYWdyZWVzIHdpdGggYSBgbm9fcHJvdG9gIGNhbGxlZSdzCmRlY2xhcmF0aW9uIGlzIHJlcG9y dGVkIGluc3RlYWQgb2YgbG93ZXJlZCB3aXRoIG9wZXJhbmRzIHRoZQpjbGFzc2lmaWNhdGlvbiBu ZXZlciBjb3ZlcmVkLiBBbmQgdGhlIGluZGlyZWN0LWNhbGwgd2FsayB2aXNpdHMKYGNpcjo6Q0lS Q2FsbE9wSW50ZXJmYWNlYCByYXRoZXIgdGhhbiBvbmx5IGBjaXIuY2FsbGAsIHNvIGEgdmFyaWFk aWMKaW5kaXJlY3QgYGNpci50cnlfY2FsbGAgaXMgYWNjb3VudGVkIGZvciwgYW5kIG9uZSB0aGF0 IG5lZWRzIGEgcmV3cml0ZQppcyByZXBvcnRlZCBpbnN0ZWFkIG9mIGxlZnQgYXMgd3JpdHRlbiB3 aGlsZSB0aGUgc2lnbmF0dXJlIGFyb3VuZCBpdCBpcwpjb2VyY2VkLiBBIG5vbi12YXJpYWRpYyBp bmRpcmVjdCBgY2lyLnRyeV9jYWxsYCBpcyBmaWx0ZXJlZCBvdXQgd2hlcmUKdGhlIHdhbGsgY29s bGVjdHMsIHNpbmNlIHJld3JpdGluZyBvbmUgaXMgdW5pbXBsZW1lbnRlZCBlaXRoZXIgd2F5IGFu ZAp0aGF0IGdhcCBoYXMgbm90aGluZyB0byBkbyB3aXRoIHRoZSBlbGxpcHNpcy4gUmVwb3J0ZWQg TllJOiB2YXJpYWRpYwppbmRpcmVjdCBjYWxscyB0aGF0IG5lZWQgYSByZXdyaXRlLCB2YXJpYWRp YyBjYWxscyB1bmRlciB0aGUgb3RoZXIKZHJpdmVycywgYW5kIGFuIGVsbGlwc2lzIGFyZ3VtZW50 IHdob3NlIEFCSSBjb2VyY2lvbiB0aGUgdHlwZSBicmlkZ2UKY2Fubm90IHJlcHJlc2VudC4KaHR0 cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzYzMjZmMTRjZGMxMmJh YmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMKCkdpdCBjb21taXQgYzlmMmJhMjI4NDllNTBkZjEy NzdkYjgyMjVhNjQxMGJhOWRkY2I1ZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTYW0gRWxsaW90 dCkgb24gMDQvMDgvMjAyNiBhdCAxODowOS4uCltSSVNDVl0gRml4IFhxY2kgRnVzaW9ucyB3aXRo IEZyYW1lIEluZGV4ZXMgKCMyMTM4MTUpCgpQcmUtUkEsIHRoZSBBRERJIGNhbiBjb250YWluIGEg ZnJhbWUgaW5kZXggcmF0aGVyIHRoYW4gYSByZWdpc3Rlciwgd2hpY2gKY2F1c2VzIGBnZXRSZWco KWAgdG8gYXNzZXJ0LiBUaGVzZSB3ZXJlIG1pc3NpbmcgdGhlIGBDaGVja0lzUmVnT3BlcmFuZGAK dGhhdCBtb3N0IG90aGVyIGZ1c2lvbnMgaGF2ZS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLy0vY29tbWl0L2M5ZjJiYTIyODQ5ZTUwZGYxMjc3ZGI4MjI1YTY0MTBiYTlkZGNi NWUKCkdpdCBjb21taXQgY2FmZDM2YmZjZTY3NjgyMTkzYzNkNWRhNTkxYjA1MWE0NjBlNTBmNiBi eSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBFcmljaCBLZWFuZSkgb24gMDQvMDgvMjAyNiBhdCAxODox MS4uCltORkNdW0NJUl0gUHJvcGFnYXRlIFN5bWJvbFRhYmxlcyBiZXR0ZXIgKCMyMTM5NzIpCgpU aGlzIGNhbWUgdXAgZHVyaW5nIHNlbGYtYnVpbGQsIHdlIGFyZSBzcGVuZGluZyBhIGxvdCBvZiB0 aW1lIGluIHNvbWUKY2FzZXMgbG9va2luZyB1cCB1c2luZyB0aGUgZ2xvYmFsIHN5bWJvbCB0YWJs ZSwgd2hpY2ggZG9lcyBubyBjYWNoaW5nLgpQcmV2aW91c2x5IHdlJ2QgcHJvcGFnYXRlZCB0aGlz IGluIGEgZmV3IHBsYWNlcywgYnV0IHRoaXMgcGF0Y2ggcmVtb3ZlcwphbGwgdXNlcyBvZiBTeW1i b2xUYWJsZTo6bG9va3VwIGFuZCBhZGRzIHRoZSBjYWNoZSBldmVyeXdoZXJlLgoKVGhpcyBpbnZv bHZlZCBjaGFuZ2luZyB0aGUgdGFibGVnZW4gdG8gaW5jbHVkZSBpdCBpbiBlYWNoIG9mIG91cgpy ZXdyaXRlcnMsIHBsdXMgdGhlIENpckF0dHIgbG93ZXJpbmcgZXZlcnl3aGVyZS4KClRoZSBvbmx5 IHRoaW5nIHdlIGhhdmUgdG8gdGFrZSBjYXJlIG9mIGlzIHRvIG1ha2Ugc3VyZSB3ZSBpbnZhbGlk YXRlIHRoZQpjYWNoZS91cGRhdGUgdGhlIGNhY2hlIHdoZW5ldmVyIHdlIGFkZCBzb21ldGhpbmcg d2l0aCBhIG5hbWUgKHNlZQpjcmVhdGVMTFZNRnVuY09wSWZOb3RFeGlzdCkuCgpUaGlzIGlzIE5G QywgYXMgaXQgaXNuJ3Qgb2JzZXJ2YWJsZSwgb3RoZXIgdGhhbiBiZWluZyBhIGJ1aWxkIHRpbWUK aW1wcm92ZW1lbnQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1p dC9jYWZkMzZiZmNlNjc2ODIxOTNjM2Q1ZGE1OTFiMDUxYTQ2MGU1MGY2CgpHaXQgY29tbWl0IDFm NjlhMTYyODk0NzhjOWE3YjJjZGE1ZGY0Y2QxNmQ2NjA5ZWIyYzIgYnkgR2l0SHViIChvbiBiZWhh bGYgb2YgU2ltb24gUGlsZ3JpbSkgb24gMDQvMDgvMjAyNiBhdCAxODoxNS4uCltDb3N0TW9kZWxd W1g4Nl0gZ2V0QXJpdGhtZXRpY1JlZHVjdGlvbkNvc3QgLSBlbnN1cmUgd2UgdGVzdCB0aGUgdlhp MSByZWR1Y3Rpb25zIHR5cGVzIGJlZm9yZSBsZWdhbGlzYXRpb24gKCMyMTEwNDMpCgpQcmUtQVZY NTEyIHRoZXNlIHdpbGwgYmUgbGVnYWxpemVkIHRvIHdpZGVyIHZlY3RvciB0eXBlcyBhbmQgbWln aHQgbWF0Y2gKYWdhaW5zdCBvdGhlciByZWR1Y3Rpb25zIHRhYmxlcy4KCk5vdGljZWQgd2hpbGUg d29ya2luZyBvbiBpbXByb3ZpbmcgbG9naWMgcmVkdWN0aW9ucywgYnV0IGhpdCBhIGNhc2UKd2l0 aC93aXRob3V0IHBvcGNudCBmb3IgYm9vbCBzdW0gcmVkdWN0aW9uIHBhdHRlcm5zIC0gSSd2ZSBh ZGRlZCBhIEFWWDIKdGVzdCBwYXNzIHRvIGNoZWNrIHRoZSAoY29ycmVjdGVkKSBjb3N0cyBhcmUg c3RpbGwgd29ya2luZwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21t aXQvMWY2OWExNjI4OTQ3OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDllYjJjMgoKR2l0IGNvbW1pdCAw OGE4NzM5YWM4OWEyN2M3ZGJkMDM0OTI2NjYxMWNhOTQ4NjZhZTJmIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIE5lcml4eXopIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTYuLgpbbGxkYl1bUHl0aG9uXSBJ bmxpbmUgYGxsZGJfaXRlcmAgZm9yIGJldHRlciB0eXBlIGluZmVyZW5jZSAoIzIxNDAwMCkKCkN1 cnJlbnRseSwgdGhlIGBsbGRiX2l0ZXJgIGhlbHBlciBpcyB1c2VkIGZvciBwcm92aWRpbmcgYF9f aXRlcl9fYCBpbgp0aGUgUHl0aG9uIGJpbmRpbmdzOgpgYGBweXRob24KZGVmIGxsZGJfaXRlcihv YmosIGdldHNpemUsIGdldGVsZW0pOgogICAgIiIiQSBnZW5lcmF0b3IgYWRhcHRvciB0byBzdXBw b3J0IGl0ZXJhdGlvbiBmb3IgbGxkYiBjb250YWluZXIgb2JqZWN0cy4iIiIKICAgIHNpemUgPSBn ZXRhdHRyKG9iaiwgZ2V0c2l6ZSkKICAgIGVsZW0gPSBnZXRhdHRyKG9iaiwgZ2V0ZWxlbSkKICAg IGZvciBpIGluIHJhbmdlKHNpemUoKSk6CiAgICAgICAgeWllbGQgZWxlbShpKQpgYGAKCkEgdHlw ZSBjaGVja2VyIG9yIExTUCBjYW4ndCBzZWUgdGhyb3VnaCB0aGlzIGZ1bmN0aW9uLiBDdXJyZW50 bHksIHRoYXQncwpubyBwcm9ibGVtLCBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyB0aGUgcmV0dXJu IHR5cGUgb2YgYW55IFN3aWcgd3JhcHBlciwKYnV0IHdoZW4gd2UgYWRkIHR5cGUgYW5ub3RhdGlv bnMgKGhvcGVmdWxseSB3aXRoIFN3aWcgNC41IGluICMyMTM0NjMpLApgX19pdGVyX19gIHJlbWFp bnMgdW50eXBlZC4gU28gaXRlcmF0aW5nIHRocm91Z2ggdGhlIHdyYXBwZXJzIHdvbid0IHNob3cK dGhlIGNvcnJlY3QgdHlwZS4KCkFzIHRoZSBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBzaW1wbGUs IGl0J3MgZWFzaWVyIHRvIGlubGluZSBpdC4gVGhhdCdzCndoYXQgdGhpcyBQUiBkb2VzLiBUaGVu IGEgdHlwZSBjaGVja2VyIGNhbiBpbmZlciB0aGUgcmV0dXJuIHR5cGUuCmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8wOGE4NzM5YWM4OWEyN2M3ZGJkMDM0OTI2 NjYxMWNhOTQ4NjZhZTJmCgpHaXQgY29tbWl0IGFiNGYyMTBhMzEyN2UzYmExNzczODE4OTExOTQx NDRmOTI3OThiYTYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTWF0dCBBcnNlbmF1bHQpIG9uIDA0 LzA4LzIwMjYgYXQgMTg6MTcuLgpjbGFuZzogUmVwbGFjZSBJcypPZmZsb2FkQXJjaCBmcmVlIGZ1 bmN0aW9ucyB3aXRoIE9mZmxvYWRBcmNoIG1ldGhvZHMgKCMyMTMzNjMpCmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9hYjRmMjEwYTMxMjdlM2JhMTc3MzgxODkx MTk0MTQ0ZjkyNzk4YmE2CgpHaXQgY29tbWl0IGE5YTZlZGI1OTM1YzlmNDJjNTkyODM2NjEyMzU2 YmVhNTZlM2MwOGIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQv MDgvMjAyNiBhdCAxODoxOC4uCltTTFBdVmVjdG9yaXplIHNpbmdsZS11c2VyIGluc3RydWN0aW9u cyBhcyB0aGUgbGFzdC1hdHRlbXB0IHNlZWRzCgpJbnN0cnVjdGlvbnMgd2l0aCB0aGUgc2luZ2xl IHVzZXIgY29zdCBvbmUgZXh0cmFjdCBwZXIgbGFuZSwgc28gdGhleSBhcmUKdmVjdG9yaXplZCBh ZnRlciBhbGwgb3RoZXIgcm9vdHMgaW4gdGhlIGZ1bmN0aW9uIGFyZSBleGhhdXN0ZWQsIGdyb3Vw ZWQgYnkKdGhlIGtleS9zdWJrZXkgcGFpcnMuIExvYWRzLCBhZGRyZXNzZXMsIGNvbXBhcmVzIGFu ZCB0aGUgb3BlcmF0aW9ucywgZm9sZGVkCmF3YXkgb3IgY29udHJhY3RlZCBpbnRvIHRoZSBzY2Fs YXIgRk1BLCBhcmUgZXhjbHVkZWQuIFRoZSByZWplY3RlZCBidW5kbGVzCmFuZCB0aGUgbWVtYmVy cyBvZiB0aGUgcHJpY2VkIG1pbmltYWwgbm9kZXMgYXJlIG5vdCByZXRyaWVkLCB1bmxlc3MgdGhl CnRyZWUgd2FzIGRyb3BwZWQgYnkgdGhlIHJlcGFja2luZyBvdmVyaGVhZCByYXRoZXIgdGhhbiBi eSB0aGUgbWVtYmVycy4KClJldmlld2VyczogaGlyYWRpdHlhLCBSS1NpbW9uLCBiYWJhYnVjawoK UHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8y MTI1NzkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2E5YTZl ZGI1OTM1YzlmNDJjNTkyODM2NjEyMzU2YmVhNTZlM2MwOGIKCkdpdCBjb21taXQgNDAyYzlmOWE3 NzZkYzIwZDAzZTMzYzQ0N2Q4NjYzNGM0ODZhNTQzNCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBI ZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAxODoyMy4uCltORkNdW0N1ZGFdW3Rlc3RdIEZp eCBDSEVDSy1OT1QgcGF0dGVybnMgbWF0Y2hpbmcgdGhlIGJ1aWxkIGRpcmVjdG9yeSAoIzIxMzc5 OSkKCmBjdWRhLW9tcC11bnN1cHBvcnRlZC1kZWJ1Zy1vcHRpb25zLmN1YCdzIENPTU1PTi1OT1Q6 IC4uLnxsbGRifC4uLiBjYW4KbWF0Y2ggYWdhaW5zdCB0aGUgYnVpbGQgZGlyZWN0b3J5IHBhdGgg dGhhdCBtYXkgY29udGFpbiBgbGxkYmAgaW4gdGhlCnBhdGhuYW1lLiBDaGFuZ2UgdGhlIHRlc3Qg dG8gY2hlY2sgdGhlIGV4YWN0IGNjMSBhcmd1bWVudHMuCgpyZGFyOi8vMTgzNTAxNTU4Cmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC80MDJjOWY5YTc3NmRjMjBk MDNlMzNjNDQ3ZDg2NjM0YzQ4NmE1NDM0CgpHaXQgY29tbWl0IGY1OWQ2ZjVmODY2Yjk3NDEzNTEw ZmExMTkxNDQ2NTFmYmJiYzcxMjMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVXNhbWEgSGFtZWVk KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjQ5Li4KW2NsYW5nXVt0ZXN0XSBBZGQgdGVzdCBmb3Igc3Rh Y2tfcHJvdGVjdG9yX2lnbm9yZSBpbiBzeXN0ZW0gbWFjcm9zICgjMjEzNzcwKQoKZDMxODRiYzZj NmE4ICgiW2NsYW5nXSBEb24ndCB3YXJuIG9uIHN0YWNrX3Byb3RlY3Rvcl9pZ25vcmUgaW4gc3lz dGVtCm1hY3JvcyIpIGFkZGVkIFN1cHByZXNzSW5TeXN0ZW1NYWNybyB0bwp3YXJuX3N0YWNrX3By b3RlY3Rpb25faWdub3JlX2F0dHJpYnV0ZSBidXQgb25seSBhZGRlZCBhbiBMTFZNIENvZGVHZW4K dGVzdCBmb3IgdGhlIHN0YWNrLXByb3RlY3RvciBtZXRhZGF0YSwgc28gdGhlIGRpYWdub3N0aWMg Y2hhbmdlIGl0c2VsZgp3YXMgdW50ZXN0ZWQuCgpBZGQgYSB0ZXN0IHVzaW5nIHRoZSBzZWxmLWlu Y2x1ZGUgc3lzdGVtX2hlYWRlciBpZGlvbTogdGhlIGF0dHJpYnV0ZQpmcm9tIGEgc3lzdGVtIGhl YWRlciBtYWNybyBkb2VzIG5vdCB3YXJuIHVuZGVyIC1mc3RhY2stcHJvdGVjdG9yLWFsbCwKd2hp bGUgb25lIHdyaXR0ZW4gaW4gdXNlciBjb2RlIHN0aWxsIGRvZXMuCgpyZGFyOi8vMTgzOTYyOTg1 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9mNTlkNmY1Zjg2 NmI5NzQxMzUxMGZhMTE5MTQ0NjUxZmJiYmM3MTIzCgpHaXQgY29tbWl0IDQzNzZiOGQ2Njk2MWRi MzYwOTQ1ZGI0NGFiZTUxMGQ5ZjEzYWJmNjEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5 IEJhdGFldikgb24gMDQvMDgvMjAyNiBhdCAxODo1Ny4uCltTTFBdRmxhdHRlbiBhZGQvc3ViIGFu ZCBmYWRkL2ZzdWIgY2hhaW5zIGludG8gb25lIHJlYXNzb2NpYXRlZCBub2RlCgpBIHBlZWxlZCBz dWJ0cmFjdCBrZWVwcyB0aGUgY29sdW1uIHNpZ24gZm9yIGl0cyBmaXJzdCBvcGVyYW5kIGFuZCBm bGlwcwppdCBmb3IgdGhlIHNlY29uZCwgc28gbWl4ZWQgYWRkL3N1YiAoZmFkZC9mc3ViIHdpdGgg cmVhc3NvYykgY2hhaW5zCmxpbmVhcml6ZSBpbnRvIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBvcGVy YW5kIGNvbHVtbnMgY29tYmluaW5nIGFzCnN1bShwb3NpdGl2ZSkgLSBzdW0obmVnYXRpdmUpLCB3 aXRoIHN1YnRyYWhlbmQgY29sdW1ucyByZW9yZGVyZWQgYnkKdmFsdWUgZmFtaWx5LiBudXcgaXMg bm93IGFsc28gZHJvcHBlZCBvbiBub24tZXhhY3QgY29tYmluZXMgd2hlbiBhCm5lZ2F0ZWQgbGVh ZiBleGlzdHMsIHNpbmNlIGEgcmVncm91cGVkIHN1YnRyYWhlbmQgc3VtIGNhbiBleGNlZWQgdGhl Cm9yaWdpbmFsIHJ1bm5pbmcgdG90YWwuCgpSZXZpZXdlcnM6IFJLU2ltb24sIGJhYmFidWNrLCBo aXJhZGl0eWEKClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9q ZWN0L3B1bGwvMjEzNTQ0Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2Nv bW1pdC80Mzc2YjhkNjY5NjFkYjM2MDk0NWRiNDRhYmU1MTBkOWYxM2FiZjYxCgpHaXQgY29tbWl0 IGIwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3OWIwNDEzNGJkYTg3YjUyNzkgYnkgR2l0SHViIChvbiBi ZWhhbGYgb2YgRm9sa2VydCBkZSBWcmllcykgb24gMDQvMDgvMjAyNiBhdCAxOTowMC4uCltTUEFS Q10gRG8gbm90IHVzZSB0aGUgdW5pbXAgc3RydWN0LXJldHVybiBjb252ZW50aW9uIGZvciB6ZXJv LXNpemVkIHR5cGVzICgjMjEzNzMzKQoKR0NDIGhhcyBzcGVjaWFsIGhhbmRsaW5nIGZvciBhbiBg c3JldGAgb2YgYSB6ZXJvLXNpemVkIHR5cGUsIG1hdGNoIHRoYXQKaGFuZGxpbmcuCgpodHRwczov L2dvZGJvbHQub3JnL3ovVGNyYWFvN3JUCgpJdCBzZWVtcyB1bmxpa2VseSBzb21lb25lIGlzIGFj dHVhbGx5IHJlbHlpbmcgb24gdGhpcywgc28gSSBoYXZlbid0CmFkZGVkIHRoZSBhYmkgY29tcGF0 aWJpbGl0eSBsb2dpYy4gUnVzdCBob3dldmVyIHVzZXMgemVyby1zaXplZCB0eXBlcwpxdWl0ZSBo ZWF2aWx5LCBzbyBoYXZpbmcgdGhpcyB3b3JrIGNvcnJlY3RseSBpcyB1c2VmdWwgdGhlcmUuCmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9iMDdmYzhhNDRhYTZh YzAzZWM4ZTBjNzliMDQxMzRiZGE4N2I1Mjc5CgpHaXQgY29tbWl0IDhjZjMyNjhiM2E2NWUxODZm MTA0MTM5YTNmNTNkMDdkZThkNTAzMmEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQW5keSBLYXls b3IpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MTAuLgpbQ0lSXVtBQXJjaDY0XSBVc2UgQ0lSJ3MgZm1h IGFuZCBzcXJ0IGZvciBOZW9uIGJ1aWx0aW5zICgjMjEzODAwKQoKVGhpcyBjaGFuZ2UgcmVwbGFj ZXMgc29tZSBsb2NhdGlvbnMgd2hlcmUgdGhlIE5lb24gYnVpbHRpbiBoYW5kbGluZyB3YXMKY2Fs bGluZyBMTFZNIGludHJpbnNpY3MgZGlyZWN0bHkgZm9yIEZNQSBhbmQgc3FydCBvcGVyYXRpb25z IHJhdGhlciB0aGFuCnVzaW5nIHRoZSBDSVIgb3BlcmF0aW9ucy4gVXNpbmcgdGhlIENJUiBvcGVy YXRpb25zIHdpbGwgYmUgbmVjZXNzYXJ5IHRvCmdldCB0aGUgYmVzdCBjb25zdHJhaW5lZCBGUCBo YW5kbGluZy4KClRoaXMgd2lsbCBzdGlsbCByZXF1aXJlIHNldHRpbmcgdGhlIGZlbnYgYXR0cmli dXRlIG9uIHRoZXNlIG9wZXJhdGlvbnMKd2hlbiBuZWVkZWQuIFRoaXMgY2hhbmdlIGlzIGp1c3Qg dGhlIGZpcnN0IG9mIGEgZmV3IHByZWxpbWluYXJ5IGNoYW5nZXMKbmVlZGVkIHRvIGdldCB1cyBp biBhIGdvb2Qgc3RhdGUgdG8gYWRkIHRoZSBjb25zdHJhaW5lZCBGUCBoYW5kbGluZy4KCkFzc2lz dGVkLWJ5OiBDdXJzb3IgLyBHcm9rIDQuNQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0vLS9jb21taXQvOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlhM2Y1M2QwN2RlOGQ1MDMyYQoK R2l0IGNvbW1pdCBkNDYyODUyNmJkZDJjOGJkMDNhY2RjYmYwZjlkODcxMGVmMjQzNDg2IGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIEFuZHkgS2F5bG9yKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjE1Li4K W0NJUl0gQXBwbHkgRlAgY29uc3RyYWludHMgdG8gZ2xvYmFsIGluaXRpYWxpemVycyAoIzIxMzc3 NikKCkJlY2F1c2UgQ0lSIGhhbmRsZXMgZ2xvYmFsIGluaXRpYWxpemVycyB1c2luZyBhIHJlZ2lv biBvZiB0aGUgY2lyLmdsb2JhbApvcGVyYXRpb24gZHVyaW5nIGluaXRpYWwgY29kZSBnZW5lcmF0 aW9uLCB0aGVzZSBpbml0aWFsaXplcnMgZG9uJ3QKYXV0b21hdGljYWxseSBnZXQgdGhlIHN0cmlj dGZwIHNldHVwIGluIENJUkdlbkZ1bmN0aW9uOjpzdGFydEZ1bmN0aW9uLgoKVGhpcyBjaGFuZ2Ug YWRkcyBhbiBhdHRyaWJ1dGUgdG8gdGhlIGNpci5nbG9iYWwgb3BlcmF0aW9uIHRvIHRyYWNrCmZs b2F0aW5nLXBvaW50IGNvbnN0cmFpbnRzIHNvIHRoYXQgdGhlIGBzdHJpY3RmcGAgYXR0cmlidXRl IGNhbiBiZSBzZXQKb24gdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdoZW4gaXQgaXMgY3Jl YXRlZCBkdXJpbmcgRUhBQkkgbG93ZXJpbmcuCgpBc3Npc3RlZC1ieTogQ3Vyc29yIC8gdmFyaW91 cyBtb2RlbHMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2Q0 NjI4NTI2YmRkMmM4YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYKCkdpdCBjb21taXQgMzJiNjQ1 ZDlkNjliOGMyZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBFcmljIENocmlzdG9waGVyKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjIxLi4KW0RlYnVnSW5mb10g VHJlYXQgdGFnIG9mZnNldHMgYXMgbm9uLWVtaXR0aW5nICgjMjExOTY5KQoKRFdfT1BfTExWTV90 YWdfb2Zmc2V0IGRvZXNuJ3QgZW1pdCBhbnl0aGluZyBpbnRvIHRoZSBEV0FSRiBleHByZXNzaW9u LApzbyBsb29rIHBhc3QgaXQgd2hlbiBkZWNpZGluZyB3aGV0aGVyIGEgcmVnaXN0ZXIgZXhwcmVz c2lvbiBpcyBjb21wbGV4Cm9yIHdoZXRoZXIgYXBwZW5kVG9TdGFjayBuZWVkcyB0byBhZGQgYSBk ZXJlZmVyZW5jZS4KClRlc3RlZCB3aXRoIG1ha2UgY2hlY2suCgpBc3Npc3RlZCB3aXRoIEFJLgpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvMzJiNjQ1ZDlkNjli OGMyZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NwoKR2l0IGNvbW1pdCA3MDI1M2FmODcwOTYxN2I4 NjA4NjVjZThkNzQyMDQ3MThlOGExOTc1IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFZpdGFseSBC dWthKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjI3Li4KW05GQ11bbGliRnV6emVyXSBSZW1vdmUgdW51 c2VkIEdldE1vZHVsZU5hbWUgaGVscGVyIGluIFRyYWNlUEMgKCMyMTQwMzIpCgpGaXhpbmcgYnVp bGQgYm90cyBhZnRlcgpodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8y MDMwODQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC83MDI1 M2FmODcwOTYxN2I4NjA4NjVjZThkNzQyMDQ3MThlOGExOTc1CgpHaXQgY29tbWl0IDdmNDk4ZDlk MzZkMTAyYTY1MzA4OWU4NmNjMDdkMGE3ZjkwYmZhZWMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg UWlvbmdzaSBXdSkgb24gMDQvMDgvMjAyNiBhdCAxOTozOC4uCltjbGFuZ11bRGVwZW5kZW5jeVNj YW5uaW5nXSBVc2UgQ29tcGlsZXJJbnN0YW5jZVdpdGhDb250ZXh0IGZvciBUVSBTY2FubmluZyAo IzIxMTQwOCkKCkFmdGVyIGBDb21waWxlckluc3RhbmNlV2l0aENvbnRleHRgJ3MgcmVsb2NhdGlv biB0bwpgRGVwZW5kZW5jeVNjYW5uaW5nV29ya2VyLmNwcGAsIHdlIGNhbiB1c2UgaXQgZnJlZWx5 IGFzIGFuCmltcGxlbWVudGF0aW9uIGVuZ2luZSBmb3IgVFUgc2Nhbm5pbmcuIFRoaXMgUFIgZG9l cyB0aGF0LCBhbmQgdW5pZmllcwp0aGUgYnktbmFtZSBzY2FubmluZyBhbmQgVFUgc2Nhbm5pbmcg c28gdGhleSBhbGwgZ28gdGhyb3VnaApgQ29tcGlsZXJJbnN0YW5jZVdpdGhDb250ZXh0YC4KCnJk YXI6Ly8xNjcwMzQzMDkKCgoKLS0tCgo8c3ViPlN0YWNrIGNyZWF0ZWQgd2l0aCA8YQpocmVmPSJo dHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2doLXN0YWNrIj5HaXRIdWIgU3RhY2tzIENMSTwvYT4g 4oCiIDxhCmhyZWY9Imh0dHBzOi8vZ2guaW8vc3RhY2tzLWZlZWRiYWNrIj5HaXZlIEZlZWRiYWNr IPCfkqw8L2E+PC9zdWI+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2Nv bW1pdC83ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3ZDBhN2Y5MGJmYWVjCgpHaXQgY29tbWl0 IDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUgYnkgR2l0SHViIChvbiBi ZWhhbGYgb2YgUWlvbmdzaSBXdSkgb24gMDQvMDgvMjAyNiBhdCAxOTozOC4uCltjbGFuZ11bRGVw ZW5kZW5jeVNjYW5uaW5nXSBEaXNzb2x2ZSBEZXBlbmRlbmN5U2Nhbm5lckltcGwuaC9jcHAgKCMy MTE0MDkpCgpgRGVwZW5kZW5jeVNjYW5uZXJJbXBsLmgvY3BwYCB3ZXJlIGNyZWF0ZWQgdG8gc2hh cmUgY29kZSBiZXR3ZWVuIFRVCnNjYW5uaW5nIGFuZCBieS1uYW1lIHNjYW5uaW5nIHdoZW4gdGhl eSB3ZXJlIG9uIGRpZmZlcmVudCBjb2RlIHBhdGhzLgpBZnRlciB1bmlmeWluZyB0aGUgaW1wbGVt ZW50YXRpb24gdGhyb3VnaCBgQ29tcGlsZXJJbnN0YW5jZVdpdGhDb250ZXh0YCwKd2Ugbm8gbG9u Z2VyIG5lZWQgYSBzZXBhcmF0ZSBoZWFkZXIvY3BwIHBhaXIgYW5kIGFsbCB0aGUgY29kZSBhcmUg bW92ZWQKaW50byBgRGVwZW5kZW5jeVNjYW5uaW5nV29ya2VyLmNwcGAuIFRoaXMgUFIgaXMgbWVj aG5pY2FsIGFuZCBkb2VzIG5vdAppbnRlbmQgdG8gaW50cm9kdWNlIGJlaGF2aXZvciBjaGFuZ2Vz LgoKLS0tCgo8c3ViPlN0YWNrIGNyZWF0ZWQgd2l0aCA8YQpocmVmPSJodHRwczovL2dpdGh1Yi5j b20vZ2l0aHViL2doLXN0YWNrIj5HaXRIdWIgU3RhY2tzIENMSTwvYT4g4oCiIDxhCmhyZWY9Imh0 dHBzOi8vZ2guaW8vc3RhY2tzLWZlZWRiYWNrIj5HaXZlIEZlZWRiYWNrIPCfkqw8L2E+PC9zdWI+ Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8wNDcyMmE0YTMy ZTZmZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpHaXQgY29tbWl0IGIzY2UwN2I5OTk5MDAw ZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWJoaW5h IFNyZWUpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDEuLgpbU3lzdGVtWl1bei9PU10gdXNlIExMVk1f VEhSRUFEX0xPQ0FMIGluc3RlYWQgb2YgdGhyZWFkX2xvY2FsICgjMjE0MDM5KQoKVGhpcyBwYXRj aCBpcyB0byBmaXggdGhlIGZvbGxvd2luZyBlcnJvciBvbiB6L09TCgpgYGAKbGx2bS9pbmNsdWRl L2xsdm0vU3VwcG9ydC9QZXJUaHJlYWRCdW1wUHRyQWxsb2NhdG9yLmg6NzU6MTI6IGVycm9yOiB0 aHJlYWQtbG9jYWwgc3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGUgY3VycmVudCB0YXJn ZXQKICAgNzUgfCAgICAgc3RhdGljIHRocmVhZF9sb2NhbCBzdGQ6OnZlY3RvcjxBbGxvY2F0b3JU eSAqPiBDYWNoZTsKICAgICAgfCAgICAgICAgICAgIF4KYGBgCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9iM2NlMDdiOTk5OTAwMGU2ZmFkMWMzYWE4ZjQyOWUy ZmYyNmI1OThmCgpHaXQgY29tbWl0IGNkZGMxMDc4OTliZGYwOWVlM2ZmZDYwYjAwYjMyNDU1ZTY5 OWIxMzAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQXJzZW5peSBPYm9sZW5za2l5KSBvbiAwNC8w OC8yMDI2IGF0IDE5OjQ4Li4KW0FNREdQVV0gRG8gbm90IHdpZGVuIGNvbnN0YW50IGxvYWRzIHRo YXQgbWF5IG5vdCBiZSBkZXJlZmVyZW5jZWFibGUgKCMxODQ3OTApCmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9jZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIz MjQ1NWU2OTliMTMwCgpHaXQgY29tbWl0IGRlZTcwYTBmYzk0OGNlOTA2MGY0MjI1ZWU1YjcwN2Fm NDI4N2U1ZGMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9u IDA0LzA4LzIwMjYgYXQgMTk6NTUuLgpbVGFibGVHZW5dIEdlbmVyYXRlIGBnZXRSZWdDbGFzc0Zy b21NYXRjaEtpbmQoKWAgZm9yIEFzbU1hdGNoZXJzCgpUaGlzIGhlbHBlciBjYW4gYmUgdXNlZnVs IGluIHZhbGlkYXRlVGFyZ2V0T3BlcmFuZENsYXNzIHRvIGdldCB0aGUKTUNSZWdpc3RlckNsYXNz IGZvciB0aGUgTUNLXyogZW51bS4KTWlncmF0ZSB0aGUgUlZZIGxvZ2ljIHRvIHVzZSB0aGlzIG5l dyBnZW5lcmF0ZWQgZnVuY3Rpb24uIENoZWNraW5nIGFsbApyZWdpc3RlciBjbGFzc2VzIGluc3Rl YWQgb2YganVzdCB0aGUgUlZZIG9uZXMgd2lsbCBtYXJnaW5hbGx5IHNsb3cgZG93bgp2YWxpZGF0 ZVRhcmdldE9wZXJhbmRDbGFzcywgYnV0IHNpbmNlIHRoaXMgaXMgYWxyZWFkeSBhIHNsb3cgcGF0 aCBpdApzaG91bGQgbm90IG1hdHRlci4KCklmIG11bHRpcGxlIFJlZ2lzdGVyT3BlcmFuZHMgc2hh cmUgYSBQYXJzZXJNYXRjaENsYXNzIGJ1dCBtYXAgdG8gZGlmZmVyZW50ClJlZ2lzdGVyQ2xhc3Nl cywgb21pdCB0aGVtIGZyb20gdGhlIGdlbmVyYXRlZCBnZXRSZWdDbGFzc0Zyb21NYXRjaEtpbmQK bWFwcGluZyBmdW5jdGlvbi4gSSBvcmlnaW5hbGx5IHRyaWVkIHRvIGVtaXQgYW4gZXJyb3IgaGVy ZSwgYnV0IGl0IHR1cm5zCm91dCB0aGVyZSBhcmUgbWFueSB0YXJnZXRzIHRoYXQgcmVseSBvbiBz aGFyaW5nIHRoZSBQYXJzZXJNYXRjaENsYXNzIHdpdGgKZGlmZmVyZW50IChidXQgc2ltaWxhcikg UmVnaXN0ZXJDbGFzc2VzIHNvIGlnbm9yaW5nIHRoZW0gaXMgc2FmZXIuCgpSZXZpZXdlZCBCeTog bGVuYXJ5CgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVj dC9wdWxsLzIwMDQ1MwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21t aXQvZGVlNzBhMGZjOTQ4Y2U5MDYwZjQyMjVlZTViNzA3YWY0Mjg3ZTVkYwoKR2l0IGNvbW1pdCAw ZDFiNTQ2MDRkYWM3M2FkYzE2YWYxNWY0MzNhZTBjOTIwNjlmY2MyIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIEFsZXhhbmRlciBSaWNoYXJkc29uKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU3Li4KW1Rh YmxlR2VuXVtBc21NYXRjaGVyXSBSZXNvbHZlIFJlZ0NsYXNzQnlId01vZGUga2luZHMgZm9yIGFs bCBvcGVyYW5kcwoKdmFsaWRhdGVPcGVyYW5kQ2xhc3MoKSBvbmx5IHJlbWFwcGVkIGEgUmVnQ2xh c3NCeUh3TW9kZSBvcGVyYW5kIGtpbmQKd2hlbiB0aGUgYWN0dWFsIHBhcnNlZCBvcGVyYW5kIHdh cyBhIHJlZ2lzdGVyLiBXaGVuIHRoZSBvcGVyYW5kIHdhcwpzb21ldGhpbmcgZWxzZSBlbnRpcmVs eSAoZS5nLiBhIGJhcmUgaW1tZWRpYXRlIHdoZXJlIGEgcmVnaXN0ZXIgd2FzCmV4cGVjdGVkKSwg dGhpcyBmZWxsIHRocm91Z2ggdG8gdGhlIGdlbmVyaWMgIktpbmQgPD0gTUNLX0xBU1RfUkVHSVNU RVIiCmRpYWdub3N0aWMgY2hlY2ssIHNvIHdlIGVuZCB1cCB3aXRoIGEgZ2VuZXJpYyBNYXRjaF9J bnZhbGlkT3BlcmFuZC4KCk5vIHRlc3QgY2hhbmdlcyBoZXJlLCBidXQgdGhpcyBpcyBuZWVkZWQg dG8gYXZvaWQgZGlhZ25vc3RpYyByZWdyZXNzaW9ucwp3aXRoIHRoZSBSVlkgbG9hZC9zdG9yZSBz dXBwb3J0IChQUiAjMTc3MDczKS4KClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xs dm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEzNDc5Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS8tL2NvbW1pdC8wZDFiNTQ2MDRkYWM3M2FkYzE2YWYxNWY0MzNhZTBjOTIwNjlmY2My CgpHaXQgY29tbWl0IGM3NDBjNTQ1MTdmYWZkZmI2YTNkZDM1MjI3MDAwNzZkNTE4NGM4NDIgYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgQWJoaW5hIFNyZWUpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NTcu LgpbU3lzdGVtWl1bei9PU10gQWRkIGd1YXJkIGZvciBTSV9VU0VSICAoIzIxMzEwMSkKClNJX1VT RVIgaXMgbm90IGRlZmluZWQgb24gei9PUyBhbmQgaXMgY2F1c2luZyB0aGUgZm9sbG93aW5nIGJ1 aWxkCmZhaWx1cmUuIGBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnU0lfVVNF UidgIApUaGlzIHBhdGNoIGFkZHMgYSBndWFyZCB0byBjaGVjayB3aGV0aGVyIFNJX1VTRVIgaXMg ZGVmaW5lZApiZWZvcmUgdXNpbmcgaXQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS8tL2NvbW1pdC9jNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAwMDc2ZDUxODRjODQyCgpH aXQgY29tbWl0IDgzNDNjNTM4ZjBlN2VkZWU4YmZjMmM4MDBmNmQxYmZhZWY2NjRjMTIgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgZm9ya2luZy1nb29nbGUtYmF6ZWwtYm90W2JvdF0pIG9uIDA0LzA4 LzIwMjYgYXQgMjA6MDkuLgpbQmF6ZWxdIEZpeGVzIDA0NzIyYTQgKCMyMTQwNDkpCgpUaGlzIGZp eGVzIDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUgKCMyMTE0MDkpLgoK QnVpbGRraXRlIGVycm9yIGxpbms6Cmh0dHBzOi8vYnVpbGRraXRlLmNvbS9sbHZtLXByb2plY3Qv dXBzdHJlYW0tYmF6ZWwvYnVpbGRzP2NvbW1pdD0wNDcyMmE0YTMyZTZmZWMxODk3Y2MzY2I1YTU0 ODA5ZmNkOGM5Y2FlCgpDby1hdXRob3JlZC1ieTogR29vZ2xlIEJhemVsIEJvdCA8Z29vZ2xlLWJh emVsLWJvdEBnb29nbGUuY29tPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0v LS9jb21taXQvODM0M2M1MzhmMGU3ZWRlZThiZmMyYzgwMGY2ZDFiZmFlZjY2NGMxMgoKR2l0IGNv bW1pdCA0NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNmMmNiZGI0ZmJiYTg5MGQwIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIFNwZW5jZXIgQnJ5bmdlbHNvbikgb24gMDQvMDgvMjAyNiBhdCAyMDoxNS4u CltmbGFuZ11bT3Blbk1QXSBEaWFnbm9zZSBmYWlsZWQgY29uc3RydWN0IGRlY29tcG9zaXRpb24g aW5zdGVhZCBvZiBmYWxsaW5nIHRocm91Z2ggKCMyMTQwMTIpCgpgYnVpbGRDb25zdHJ1Y3RRdWV1 ZWAgYXNzZXJ0cyB0aGF0IGRlY29tcG9zaXRpb24gcHJvZHVjZWQgb3V0cHV0OgoKYGBgY3BwCkNv bnN0cnVjdERlY29tcG9zaXRpb24gZGVjb21wb3NlKG1vZE9wLCBzZW1hQ3R4LCBldmFsLCBjb21w b3VuZCwgY2xhdXNlcyk7CmFzc2VydCghZGVjb21wb3NlLm91dHB1dC5lbXB0eSgpICYmICJDb25z dHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQiKTsKYGBgCgpSZWxlYXNlIGJ1aWxkcyBoYXZlIG5v IGNoZWNrLCBzbyB0aGUgZW1wdHkgcXVldWUgZmFsbHMgdGhyb3VnaCB0byB0aGUKbG9vcCBiZWxv dyBhbmQgb3V0IHRvIHRoZQpjYWxsZXIuIFRoYXQgaXMgdW5kZWZpbmVkIGJlaGF2aW91ciwgYW5k IGl0IGlzIHJlYWNoYWJsZSDigJQgc2VtYW50aWNzCmRvZXMgbm90IGNhdGNoIGV2ZXJ5CmRpcmVj dGl2ZS9jbGF1c2UgY29tYmluYXRpb24gdGhhdCBjYW5ub3QgYmUgZGVjb21wb3NlZC4gVGhlIHJl c3VsdCBpcyBhbgppbnRlcm1pdHRlbnQgc2VnZmF1bHQKcmF0aGVyIHRoYW4gYSBkaWFnbm9zdGlj LgoKIzIxMTQzMCBpcyBvbmUgd2F5IGluOiBgYWxsb2NhdGVgIGlzIGFuIE9wZW5NUCA1LjAgY2xh dXNlLCBidXQgbW9zdApkaXJlY3RpdmVzIGRlY2xhcmUgaXQgaW4KYE9NUC50ZGAgd2l0aG91dCBh IG1pbmltdW0gdmVyc2lvbiwgc28gc2VtYW50aWNzIGFjY2VwdHMgaXQgYmVsb3cgNS4wCmFuZCBk ZWNvbXBvc2l0aW9uIHRoZW4KY29ycmVjdGx5IHJlZnVzZXMgaXQuIGZsYW5nIGRlZmF1bHRzIHRv IE9wZW5NUCAzLjEsIHNvIG5vIHVudXN1YWwgZmxhZ3MKYXJlIG5lZWRlZC4gVGhlCmludGVybWl0 dGVuY3kgaXMgd2hhdCBtYWRlIHRoYXQgcmVwb3J0IGhhcmQgdG8gcGluIGRvd24g4oCUIDQwIHRy aWFscyBhdApgLWZvcGVubXAtdmVyc2lvbj0zMWA6Cgp8IHwgc2VnZmF1bHRzIHwKfC0tLXwtLS18 CnwgQVNMUiBvbiB8IDI1LzQwIHwKfCBBU0xSIG9mZiAoYHNldGFyY2ggLVJgKSB8IDAvNDAgfAoK d2hpY2ggaXMgYW4gdW5pbml0aWFsaXplZCByZWFkLgoKQWZ0ZXIgdGhpcyBwYXRjaCB0aGUgc2Ft ZSBpbnB1dCBmYWlscyBkZXRlcm1pbmlzdGljYWxseSB3aXRoIGEgbG9jYXRlZApkaWFnbm9zdGlj LCA0MC80MDoKCmBgYAplcnJvcjogbG9jKCJyZXByby5mOTAiOjY6MTEpOiBPcGVuTVAgY29uc3Ry dWN0IGRlY29tcG9zaXRpb24gZmFpbGVkOiBhIGNsYXVzZSBvbgogICAgICAgJ3RhcmdldCB0ZWFt cyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvJyBjYW5ub3QgYmUgYXBwbGllZCB0byBhbnkgb2YgaXRz IGxlYWYgY29uc3RydWN0cwpgYGAKCmBnZW5DcmFzaERpYWc9ZmFsc2VgIHNvIGl0IGV4aXRzIG5v bi16ZXJvIHdpdGhvdXQgYSBiYWNrdHJhY2UsIHJhdGhlcgp0aGFuIHByZXNlbnRpbmcgYXMgYSBj b21waWxlcgpjcmFzaC4KClRoaXMgaXMgYSBoYXJkZW5pbmcgZml4IGZvciB0aGUgbG93ZXJpbmcg cGF0aCBhbmQgaXMgaW5kZXBlbmRlbnQgb2YgYW55CnBhcnRpY3VsYXIgY2xhdXNlOiBpdCBjb3Zl cnMKZXZlcnkgY29tYmluYXRpb24gdGhhdCBkZWNvbXBvc2VzIGVtcHR5LiBJdCBkb2VzIG5vdCBt YWtlIHRoZSBgYWxsb2NhdGVgCmNhc2UgYSAqZ29vZCogZGlhZ25vc3RpYyDigJQKdGhhdCBiZWxv bmdzIGluIHNlbWFudGljcywgYW5kICMyMTM5ODAgaXMgdGhlIHNlcGFyYXRlIGNoYW5nZSBmb3Ig aXQuCgpgY2hlY2stZmxhbmdgIGlzIGNsZWFuICg0ODA4IHRlc3RzKS4gTm8gdGVzdCBpcyBhZGRl ZDogdGhlIG9ubHkgaW4tdHJlZQp3YXkgdG8gcmVhY2ggdGhpcyBwYXRoIGlzCnRocm91Z2ggdGhl IGBPTVAudGRgIGdhcCB0aGF0ICMyMTM5ODAgZml4ZXMsIHNvIGEgdGVzdCBoZXJlIHdvdWxkIGVu Y29kZQp0aGF0IGdhcCBhcyBleHBlY3RlZApiZWhhdmlvdXIgYW5kIGhhdmUgdG8gYmUgcmVtb3Zl ZCB3aGVuIGl0IGxhbmRzLiBIYXBweSB0byBhZGQgb25lIGlmCnlvdSdkIHByZWZlci4KCgotLS0K ClBhcnRzIG9mIHRoaXMgY2hhbmdlIHdlcmUgd3JpdHRlbiBvciBhdWRpdGVkIHdpdGggQ2xhdWRl IENvZGUuIEkgaGF2ZQpyZXZpZXdlZCBhbGwgb2YgaXQgYW5kIHRha2UKZnVsbCByZXNwb25zaWJp bGl0eSBmb3IgdGhlIGNvbnRyaWJ1dGlvbi4gU2VlCmBsbHZtL2RvY3MvQUlUb29sUG9saWN5Lm1k YC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzQ0YzZhZWQ5 YmQ5YjljZGE5OTNmNGU5M2YyY2JkYjRmYmJhODkwZDAKCkdpdCBjb21taXQgODNmYjcyYTkwNGU4 MjMxYmY2ODc5MDc2YjljMTBiZGJmMjVlNDc0NCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBcnRo dXIgRXViYW5rcykgb24gMDQvMDgvMjAyNiBhdCAyMDoyMC4uCltEV1BdIEVhZ2VybHkgY2xlYXIg YnVmZmVycyBhZnRlciB3cml0aW5nICgjMjEzMzQ1KQoKTG93ZXJzIHBlYWsgbWVtb3J5IHVzYWdl IG9uIGEgbGx2bS1kd3AgaW52b2NhdGlvbiBmcm9tIDEyLjM3R0IgLT4KMTEuMTlHQi4KClRoaXMg YWN0dWFsbHkgbm93IGJlYXRzIG91dCBHTlUgZHdwICgxMS4zNUdCKSBhdCBsZWFzdCB3aGVuIHRo ZSBvdXRwdXQKZmlsZSBpcyBpbiB0bXBmcy4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFu Zy9sbHZtLy0vY29tbWl0LzgzZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3NDQK CkdpdCBjb21taXQgZDUyZTk4ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NyBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAyMDoyNS4u CltORkNdW0FNREdQVV0gRml4IGV4aXQgY29kZSBtaXNtYXRjaCB3aXRoIEVYUEVOU0lWRV9DSEVD SyBpbiBzY2hlZHVsZeKApiAoIzIxNDAyNykKCuKApi1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNy YXNoLmxsCgpPYnNlcnZlZCBpbgpodHRwczovL2NpLnN3aWZ0Lm9yZy9qb2IvbGx2bS5vcmcvam9i L2NsYW5nLXN0YWdlMS1SQS1leHBlbnNpdmUvam9iL21haW4vMTE1NQp3aXRoIExMVk1fRU5BQkxF X0VYUEVOU0lWRV9DSEVDS1MgZW5hYmxlZCwKYENvZGVHZW4vQU1ER1BVL3NjaGVkdWxlLWFtZGdw dS10cmFja2VyLXBoeXNyZWctY3Jhc2gubGxgIGZhaWxzIGR1ZSB0bwpNYWNoaW5lVmVyaWZpZXIg cnVubmluZywgY2F1c2luZyBhbiBleGl0IDEuCgpNb2RpZmllZCB0byBhbHdheXMgcnVuIHRoZSBg LXZlcmlmeS1tYWNoaW5laW5zdHJzYC4KCnJkYXI6Ly8xODQwMTA3NjYKaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2Q1MmU5ODgxNGM0MTQ4N2U1NjM1YTE4NmQ5 N2JmNTgwM2UyMDI0NTcKCkdpdCBjb21taXQgZjIwYjY0ZmZlNWM4MWUwZWYzNWJjZjk5OTBmNjBh MWZmOTE1N2Y3YiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBEbWl0cnkgVmFzaWx5ZXYpIG9uIDA0 LzA4LzIwMjYgYXQgMjA6MjYuLgpbbGxkYl0gRGlzYWJsZSBUZXN0UHJvY2Vzc1NhdmVDb3JlTWlu aWR1bXBTaXplTWlzbWF0Y2ggb24gV2luZG93cyBob3N0cyAoIzIxNDA0NCkKClRoZSBidWlsZGJv dApbbGxkYi1yZW1vdGUtbGludXgtd2luXShodHRwczovL2xhYi5sbHZtLm9yZy9idWlsZGJvdC8j L2J1aWxkZXJzLzE5NykgaXMKcmVkIGFmdGVyICMyMTI4NjEuICMyMTI4NjEgY2Fubm90IGJlIHJl dmVydGVkIGF1dG9tYXRpY2FsbHkgbm93IGJlY2F1c2Ugb2YKIzIxMjY0MS4gU28gZGlzYWJsZSBU ZXN0UHJvY2Vzc1NhdmVDb3JlTWluaWR1bXBTaXplTWlzbWF0Y2ggb24gV2luZG93cwpob3N0cyB0 byBtYWtlIHRoZSBidWlsZGJvdCBncmVlbiBhZ2Fpbi4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLy0vY29tbWl0L2YyMGI2NGZmZTVjODFlMGVmMzViY2Y5OTkwZjYwYTFmZjkx NTdmN2IKCkdpdCBjb21taXQgMDNmODZjNmQ0ZDU1ODA5Zjk1MzFiNWUzN2ViODI0OWU1Njk3NDZh YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBEYXZpZCBZb3VuZykgb24gMDQvMDgvMjAyNiBhdCAy MDozMi4uCltTdXBwb3J0XVtEcml2ZXJdW0xMREJdIEd1YXJkIFdJTjMyX0xFQU5fQU5EX01FQU4g ZGVmaW5pdGlvbnMgd2l0aCAjaWZuZGVmICgjMjEzMDQ1KQoKU2V2ZXJhbCBXaW5kb3dzIGhlYWRl cnMvVFVzIHVuY29uZGl0aW9uYWxseSBgI2RlZmluZQpXSU4zMl9MRUFOX0FORF9NRUFOYC4gV2hl biBhIGJ1aWxkIHByZWRlZmluZXMgdGhlIG1hY3JvIG9uIHRoZSBjb21waWxlcgpjb21tYW5kIGxp bmUgKGUuZy4gYSB0b29sY2hhaW4gdGhhdCBwYXNzZXMgLURXSU4zMl9MRUFOX0FORF9NRUFOLCB3 aGljaApjbGFuZyB0cmVhdHMgYXMgYCNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTiAxYCksIHRo ZSBkaWZmZXJpbmcgdG9rZW4KbGlzdHMgdHJpZ2dlciAtV21hY3JvLXJlZGVmaW5lZCwgd2hpY2gg YmVjb21lcyBhIGhhcmQgZXJyb3IgdW5kZXIKLVdlcnJvci4KCkd1YXJkIHRoZSBkZWZpbml0aW9u cyB3aXRoICNpZm5kZWYsIG1hdGNoaW5nIHRoZSBhZGphY2VudCBOT01JTk1BWApoYW5kbGluZyBh bmQgdGhlIGV4aXN0aW5nIHBhdHRlcm4gaW4KbGx2bS9saWIvU3VwcG9ydC9ycG1hbGxvYy9ycG1h bGxvYy5jLiBUaGUgbWFjcm8gaXMgb25seSBhIHByZXNlbmNlIGZsYWcsCnNvIGtlZXBpbmcgYW4g ZXh0ZXJuYWxseS1wcm92aWRlZCBkZWZpbml0aW9uIGlzIGNvcnJlY3QuCgpTaXRlcyBndWFyZGVk OgogIGxsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvV2luZG93cy9XaW5kb3dzU3VwcG9ydC5oCiAg bGx2bS9saWIvV2luZG93c0RyaXZlci9NU1ZDUGF0aHMuY3BwCiAgY2xhbmcvbGliL0RyaXZlci9U b29sQ2hhaW5zL01TVkMuY3BwCiAgbGxkYi9pbmNsdWRlL2xsZGIvSG9zdC93aW5kb3dzL3dpbmRv d3MuaAoKTWV0YSByYW4gaW50byB0aGlzIGludGVybmFsbHkgYnVpbGRpbmcgbGxkYiBvbiB3aW5k b3cgYWZ0ZXIgYSBzeW5jIHdpdGgKdXBzdHJlYW0gZnJvbSBKdWx5IGNvbW1pdCwgc28gYWRkaW5n IGd1YXJkcyB3b3VsZCBhbGxvdyB1cyB0byBkcm9wIGEKd29ya2Fyb3VuZCBvZiBpZ25vcmluZyB0 aGUgZHVwbGljYXRlIGRlZmluZXMuCgpFcnJvcjoKbGx2bVxpbmNsdWRlXGxsdm0vU3VwcG9ydC9X aW5kb3dzL1dpbmRvd3NTdXBwb3J0LmgoMjksOSk6IGVycm9yOgonV0lOMzJfTEVBTl9BTkRfTUVB TicgbWFjcm8gcmVkZWZpbmVkIFstV2Vycm9yLC1XbWFjcm8tcmVkZWZpbmVkXQogICAyOSB8ICNk ZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogICAgICB8ICAgICAgICAgXgo8Y29tbWFuZCBsaW5l PigxMCw5KTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBpcyBoZXJlCiAgIDEwIHwgI2RlZmlu ZSBXSU4zMl9MRUFOX0FORF9NRUFOIDEKICAgICAgfCAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0 ZWQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8wM2Y4NmM2 ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhCgpHaXQgY29tbWl0IDQ2YjhlYjg2MTM1 MmQwZDM0NjIzYTMxMzllZDExZGU3NjMzMTczMjMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTmlr aXRhIFRlcmVudGV2KSBvbiAwNC8wOC8yMDI2IGF0IDIwOjM5Li4KW05GQ11bQ2xhbmddW0RvY3Nd IEZpeCBtaW5vciB0eXBvcyBpbiBDb25zdGFudCBJbnRlcnByZXRlciBkb2MuICgjMjExNjA4KQoK Rmlyc3Q6IFR5cG8gaXMgb2J2aW91cy4gClNlY29uZDogSW4gdGhlIGV4YW1wbGUsIHRoZSBhLnkg ZmllbGQgaXMgbWlzc2luZyBhbmQgZmllbGQgYS5iLnkgaXMKcmVxdWlyZWQuCmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC80NmI4ZWI4NjEzNTJkMGQzNDYyM2Ez MTM5ZWQxMWRlNzYzMzE3MzIzCgpHaXQgY29tbWl0IDIxNzhkYjZkM2RlNGFkOWZiOTc5NGY1NWU2 ZDZkMzhjZGYyYjAzNDcgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJvdmljaCkg b24gMDQvMDgvMjAyNiBhdCAyMDo0Mi4uCltYODZdIEhhbmRsZSBtdWx0aS11c2Ugc2V0Y2MgaW4g Y29tbXV0ZVNlbGVjdCAoIzIxMzY0NSkKCldoZW4gYSBzZXRjYyBjb25kaXRpb24gaXMgc2hhcmVk IGJldHdlZW4gbXVsdGlwbGUgdnNlbGVjdHMsCmNvbW11dGVTZWxlY3QgcHJldmlvdXNseSBiYWls ZWQgb3V0IGR1ZSB0byB0aGUgbV9PbmVVc2UgY29uc3RyYWludC4KRXh0ZW5kIGl0IHRvIGNoZWNr IGFsbCB1c2VycyBvZiB0aGUgc2V0Y2MgYW5kLCBpZiB0aGV5IGFsbCBiZW5lZml0IGZyb20KY29t bXV0aW5nLCBpbnZlcnQgdGhlIGNvbmRpdGlvbiBvbmNlIHdpdGggUmVwbGFjZUFsbFVzZXNPZlZh bHVlV2l0aCBhbmQKc3dhcCBhbGwgdnNlbGVjdCBvcGVyYW5kcy4KClRoaXMgZml4ZXMgYSB3cml0 ZS1tYXNrIGZ1c2lvbiByZWdyZXNzaW9uIHdoZXJlIG1hc2tlZCBtaW4vbWF4CnJlZHVjdGlvbnMg cHJvZHVjZWQgdW5mdXNlZCB2bWlucHMgKyB2bW92YXBzIHsla30gaW5zdGVhZCBvZiBhIHNpbmds ZQp3cml0ZS1tYXNrZWQgdm1pbnBzIHsla30uCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS8tL2NvbW1pdC8yMTc4ZGI2ZDNkZTRhZDlmYjk3OTRmNTVlNmQ2ZDM4Y2RmMmIwMzQ3 CgpHaXQgY29tbWl0IGFhNzY5NjNlYzAzOWY0ODVkMDVjMTIzNWJhYzVhNWVkZjM2MDUzNzggYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgU2ltb24gUGlsZ3JpbSkgb24gMDQvMDgvMjAyNiBhdCAyMDo0 My4uCltYODZdIExvd2VyUEFSSVRZIC0gdXNlIGNvdW50TWF4QWN0aXZlQml0cyB0byBkZXRlcm1p bmUgaWYgcmVwcmVzZW50YWJsZSBhcyB1aW50OF90LiBORkMuICgjMjE0MDU2KQoKTXVjaCBjbGVh bmVyIHRoYW4gdXNpbmcgdGhlIE1hc2tlZFZhbHVlSXNaZXJvIGNoZWNrLgoKRml4IGk2NCAtPiB4 b3IoaTMyLGkzMikgcGFyaXR5IHN0YWdlIGNvbW1lbnQgYXMgd2VsbC4KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2FhNzY5NjNlYzAzOWY0ODVkMDVjMTIzNWJh YzVhNWVkZjM2MDUzNzgKCkdpdCBjb21taXQgY2Q0NTlmMjQ2NmU0MDhlYmY5ZGNkNDU1YzU4YTQz OTUyZDZhNTkwMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBGYXJ6b24gTG90ZmkpIG9uIDA0LzA4 LzIwMjYgYXQgMjA6NDcuLgpbU1BJUlZdIFNwbGl0IHdpZGUgc2hhZGVyIFBISXMgYmVmb3JlIGFw cGx5aW5nIGV4cGxpY2l0IHN1cHBvcnRlZCB0eXBlcyAoIzIxMzgwNikKCmZpeGVzICMyMTM4MDIK CkFwcGx5IHRoZSBtYXhpbXVtLXZlY3Rvci1zaXplIHJ1bGUgYmVmb3JlIHRoZSBleHBsaWNpdCBQ SEkgbGVnYWxpdHkKcnVsZXMgZm9yIHR5cGUuIFRoaXMgd2F5IGlmIHdlIHNlZSBhIHNpemUgMTYg dmVjdG9yIHdlIHNwbGl0IGl0CmJlZm9yZWhhbmQuCgpJbiBtb3JlIHByZWNpc2Ugd29yZHMgdGhp cyBwcmVzZXJ2ZXMgZXhpc3RpbmcgbGVnYWxpdHkgcnVsZXMgd2hpbGUKZW5zdXJpbmcgc2hhZGVy IFBISXMgd2lkZXIgdGhhbiBmb3VyIGxhbmVzIGFyZSBzcGxpdCBmaXJzdC4KCkFzc2lzdGVkIGJ5 IENvcGlsb3QgKEdQVCA1LjYgU29sKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0vLS9jb21taXQvY2Q0NTlmMjQ2NmU0MDhlYmY5ZGNkNDU1YzU4YTQzOTUyZDZhNTkwMwoKR2l0 IGNvbW1pdCA4MGU2MGFhNGJmNjViYWJlMzFkNDAzMGUxZWYxOTJkYTcwYjc2NTUwIGJ5IEFsZXhh bmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYgYXQgMjE6MDYuLgpmaXggcmV2aWV3IGNvbW1l bnRzCgpDcmVhdGVkIHVzaW5nIHNwciAxLjMuOC1iZXRhLjEtYXJpY2hhcmRzb24KaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzgwZTYwYWE0YmY2NWJhYmUzMWQ0 MDMwZTFlZjE5MmRhNzBiNzY1NTAKCkdpdCBjb21taXQgM2UxOTIxY2I2NjZjYmJhMTA4MzUzMDQ3 ODkzMzA1MzJmNTUwODc4OSBieSBBbGV4YW5kZXIgUmljaGFyZHNvbiBvbiAwNC8wOC8yMDI2IGF0 IDIxOjA5Li4KZHJvcCB3YXJuaW5nIG1lc3NhZ2UgdGhhdCBpcyBub3cgcHJpbnRlZCBieSBzdWJ0 YXJnZXQKCkNyZWF0ZWQgdXNpbmcgc3ByIDEuMy44LWJldGEuMS1hcmljaGFyZHNvbgpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvM2UxOTIxY2I2NjZjYmJhMTA4 MzUzMDQ3ODkzMzA1MzJmNTUwODc4OQoKR2l0IGNvbW1pdCA2ZjA1NmM1ZTNmMWM2YzVjNzMyYzgw ZjQ3ZGMwMWMwZDVjMDBhNDA1IGJ5IEFsZXhhbmRlciBSaWNoYXJkc29uIG9uIDA0LzA4LzIwMjYg YXQgMjE6NTIuLgpb8J2YgPCdl73wnZe/XSBjaGFuZ2VzIGludHJvZHVjZWQgdGhyb3VnaCByZWJh c2UKCkNyZWF0ZWQgdXNpbmcgc3ByIDEuMy44LWJldGEuMS1hcmljaGFyZHNvbgoKW3NraXAgY2ld Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC82ZjA1NmM1ZTNm MWM2YzVjNzMyYzgwZjQ3ZGMwMWMwZDVjMDBhNDA1CgpHaXQgY29tbWl0IDUwMTIyYjVlMWIxM2Vm NTE3ZTMxZjhlNTI2NGZiOTcxMjg2OTM4MDMgYnkgQWxleGFuZGVyIFJpY2hhcmRzb24gb24gMDQv MDgvMjAyNiBhdCAyMTo1Mi4uCnJlYmFzZSBvbiB0b3Agb2YgYmFzZWxpbmUgY2hhbmdlLiBzaW1w bGlmeSBSSVNDVlRhcmdldEVMRlN0cmVhbWVyIHRvIGF2b2lkIGR1cGxpY2F0ZSBtZXNzYWdlCgpD cmVhdGVkIHVzaW5nIHNwciAxLjMuOC1iZXRhLjEtYXJpY2hhcmRzb24KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzUwMTIyYjVlMWIxM2VmNTE3ZTMxZjhlNTI2 NGZiOTcxMjg2OTM4MDMKCkdpdCBjb21taXQgMDU4MDFlYWRjN2UyODFjZDU1YWQxZTkwNDNlOTEx YjlmOTEzYTBjMCBieSBBbGV4YW5kZXIgUmljaGFyZHNvbiBvbiAwNC8wOC8yMDI2IGF0IDIxOjU4 Li4KaW1wcm92ZSB0ZXN0cwoKQ3JlYXRlZCB1c2luZyBzcHIgMS4zLjgtYmV0YS4xLWFyaWNoYXJk c29uCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8wNTgwMWVh ZGM3ZTI4MWNkNTVhZDFlOTA0M2U5MTFiOWY5MTNhMGMwCg==