[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Tue, 4 Aug 2026 18:14:49 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0tcHJvamVjdApQ dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2FsZXhl eS1iYXRhZXYvc3ByL3NscHZlY3Rvcml6ZS1zaW5nbGUtdXNlci1pbnN0cnVjdGlvbnMtYXMtdGhl LWxhc3QtYXR0ZW1wdC1zZWVkcycuCkNoYW5nZWQgZnJvbSA5YTg5NGZmMzRhZjcwZjRiYTlmZjI3 OTU2Y2QyZWU0MzdiMWQ0ZTljIHRvIDRhNzBlYmZiM2Y2OTQ1ZjM2NDMwNDlkMTE4ODBmM2I4NTc5 NDdmZmEKQWNrbm93bGVkZ2VtZW50IHdhcyByZWNlaXZlZCB0aGF0IHRoaXMgY2hhbmdlIGludHJv ZHVjZXMgb25seSBleGlzdGluZyBjb2RlIHRoYXQgaGFzIGJlZW4gcHVzaGVkIHRvIGFub3RoZXIg cHVibGljIG9wZW4gc291cmNlIHJlcG9zaXRvcnkuCgpUaGlzIGNoYW5nZSBjb250YWlucyB0aGUg Zm9sbG93aW5nIG5ldyBjb21taXRzOgoKR2l0IGNvbW1pdCAyNTZmNDBkYmU2YjY2ZGFlOGQwOGRk YmU3ZDFmZjc4NTFjNzk3NjRjIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEphcmVkIFd5bGVzKSBv biAwNC8wOC8yMDI2IGF0IDExOjE5Li4KQ3B1IGZlYXR1cmVzIGNyb3NzIHBsYXRmb3JtICgjMjA1 NDQ3KQoKQWxzbyBhZGRzIHRoZSBwbGFjZSBob2xkZXJzIGZvciBvdGhlciBPUydzIGFzIHdlbGwg YXMgdGhlIHN0cnVjdHVyZSBmb3IKY3Jvc3MgcGxhdGZvcm0gY29kZSBnb2luZyBmb3J3YXJkLgoK UHJlZmVyIHN5cyBjYWxscyBhcyB3ZSBjYW4ndCBiZSBzdXJlIHdoYXQgcnVudGltZSB3ZSBtYXkg ZW5kIHVwIGxpbmtpbmcKd2l0aApTb21lIGZlYXR1cmVzIGNhbiBiZSBjb250cm9sbGVkIHZpYSB0 aGUga2VybmVsIHNvIHRoaXMgbWFrZXMgaXQgZWFzaWVyCnRoYW4gcmVseWluZyBvbiBfX2NwdWlk IGZvciBub3cuCgpUaGUgdHJpcGxlcyBhcmUgbm93IG1vcmUgYWNjdXJhdGUgYW5kIGluY2x1ZGUg dGhlIG9zIHZlcnNpb24gb24gZGFyd2luLiAKCkFsbCByZXN1bHRzIGFyZSBhIHN0cmluZyB0aGF0 IGFyZSBwYXNzZWQgaW4gdGhlIGRlZmF1bHQgbWFwIHdpdGggdGhlIGtleSBhcmUgbGx2bSBzdWJ0 YXJnZXQgZmVhdHVyZXMgdmFsaWQgc3RyaW5ncwpvcmMtcnQuRXhlY3V0b3IuU3VidGFyZ2V0RmVh dHVyZXMKCkFkZHMgYSBuZXcgcHJvY2VzcyByZWdyZXNzaW9uIHRlc3QgYXMgd2VsbCwgd2l0aCBh IGJlc3QgZWZmb3J0Cmd1ZXNzIHRoYXQgdGhlIHRyaXBsZSByZXR1cm5lZCBpcyBjb3JyZWN0Lgpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yNTZm NDBkYmU2YjY2ZGFlOGQwOGRkYmU3ZDFmZjc4NTFjNzk3NjRjCgpHaXQgY29tbWl0IDUzZjU5OTlm MDM4MjYyNGFiZGJhZTkwZGYxNDNlODNjNzFjZGI4YWIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg S2VzaGF2IFZpbmF5YWsgSmhhKSBvbiAwNC8wOC8yMDI2IGF0IDExOjIwLi4KW0luc3RDb21iaW5l XSBSZWJ1aWxkIHR5cGUtY2hhbmdpbmcgUEhJcyBpbiBQb2ludGVyUmVwbGFjZXIgKCMyMTI0Mjkp CgpQb2ludGVyUmVwbGFjZXIgbXV0YXRlcyBQSEkgdHlwZXMgd2hlbiByZXBsYWNpbmcgYW4gYWxs b2NhIHdpdGggYQpwb2ludGVyIGluIGFub3RoZXIgYWRkcmVzcyBzcGFjZS4gTXV0YXRpbmcgYSB2 YWx1ZSB0eXBlIGluIHBsYWNlIGNhbgppbnZhbGlkYXRlIGV4aXN0aW5nIHVzZXJzIHdob3NlIHJl c3VsdCB0eXBlcyBvciBvcGVyYW5kIGNvbnN0cmFpbnRzIHdlcmUKZm9ybWVkIGZyb20gdGhlIG9y aWdpbmFsIHBvaW50ZXIgdHlwZS4KCkZvciBleGFtcGxlOgpgYGAKJXAgPSBwaGkgcHRyIGFkZHJz cGFjZSg1KSBbICVhLCAlYmIwIF0sIFsgJWIsICViYjEgXQolZyA9IGdldGVsZW1lbnRwdHIgaTgs IHB0ciBhZGRyc3BhY2UoNSkgJXAsIGk2NCAxCmBgYAoKQ2hhbmdpbmcgYCVwYCB0byBgcHRyIGFk ZHJzcGFjZSg0KWAgbGVhdmVzIHRoZSBleGlzdGluZyBHRVAgcmVzdWx0IGluCmBBUzVgIHdoaWxl IGl0cyBwb2ludGVyIG9wZXJhbmQgaXMgbm93IGluIGBBUzRgLiAoVGhpcyBpcyB3aGF0IGV4cG9z ZWQKdGhlIGJ1ZykuIFRoaXMgdHJpZ2dlcmVkOgoKaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2 bS1wcm9qZWN0L2Jsb2IvMGJjZmYxNGIxNzQwY2YzMmY5ZTA5ODM3MjYyMzhkY2YzNTNjNmFjOC9s bHZtL2xpYi9JUi9PcGVyYXRvci5jcHAjTDEyOS1MMTMxCgpDcmVhdGUgYSBuZXcgUEhJIHdoZW4g dGhlIHJlcGxhY2VtZW50IGNoYW5nZXMgdHlwZSBzbyBleGlzdGluZyB1c2VycwpyZW1haW4gYXR0 YWNoZWQgdG8gdGhlIG9yaWdpbmFsIHdlbGwtdHlwZWQgZ3JhcGggd2hpbGUgUG9pbnRlclJlcGxh Y2VyCmJ1aWxkcyB0aGVpciByZXBsYWNlbWVudHMuIFByZXNlcnZlIGluLXBsYWNlIG9wZXJhbmQg dXBkYXRlcyB3aGVuIHRoZQpQSEkgdHlwZSBpcyB1bmNoYW5nZWQuCgpBc3Npc3RlZC1ieTogQ29k ZXgKCi0tLS0tLS0tLQoKU2lnbmVkLW9mZi1ieTogS2VzaGF2IFZpbmF5YWsgSmhhIDxrZXNoYXZ2 aW5heWFramhhQGdtYWlsLmNvbT4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvNTNmNTk5OWYwMzgyNjI0YWJkYmFlOTBkZjE0M2U4M2M3MWNkYjhh YgoKR2l0IGNvbW1pdCA1MTU2YmU5NWUyMWNhNGFjNmEwZTI2ZGRmMWVhMzQ5ZTcxOTliN2Q5IGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEhhcnJ5IFJhbXNleSkgb24gMDQvMDgvMjAyNiBhdCAxMToy MC4uCltBQXJjaDY0XVtJU2VsXSBSZWNvdmVyIEFEREhOIGZyb20gT1IgY29tcGFyaXNvbiBtYXNr cyAoIzIxMDk0MykKCkluc3RDb21iaW5lIGNvbnZlcnRzIHRoZSBoaWdoLWhhbGYgYWRkaXRpb24g b2YgdmVjdG9yIGNvbXBhcmlzb24gbWFza3MKaW50byBhbiBPUi4gUmVjb2duaXNlIHRoZSByZXN1 bHRpbmcgdHJ1bmMob3Ioc2V0Y2MsIHNldGNjKSkgREFHIGFuZApyZWNvbnN0cnVjdCB0aGUgY2Fu b25pY2FsIEFEREhOIHBhdHRlcm4gZm9yIHRoZSBzdXBwb3J0ZWQgTkVPTiB0eXBlcy4KaHR0cHM6 Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNTE1NmJlOTVl MjFjYTRhYzZhMGUyNmRkZjFlYTM0OWU3MTk5YjdkOQoKR2l0IGNvbW1pdCBlYmQwY2JmYjM3MmM0 MmM0OTlkMDIxMDIyOTc1YTYwYmJjNmQwZDI3IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIERtaXRy aWkgTWFrYXJlbmtvKSBvbiAwNC8wOC8yMDI2IGF0IDExOjI5Li4KW21saXJdW3RlbnNvcl0gUHJl c2VydmUgZW5jb2RpbmcgaW4gbW9yZSBjYW5vbmljYWxpemVycyAocGFkLCBjb252ZXJ0VG9TdGF0 aWNFeHBhbmRTaGFwZSkgKCMyMDcyNDEpCgpGaXhlcyBlbmNvZGluZyBkcm9wIGluIGB0ZW5zb3Iu KmAgY2Fub25pY2FsaXplcnMuCgpQYXR0ZXJucyB0aGF0IG9ubHkgcmVmaW5lIGEgdGVuc29yJ3Mg c2hhcGUgKG5ldmVyIG1lcmdlL2NvbWJpbmUgZGF0YSkKbm93IHByb3BhZ2F0ZSB0aGUgZW5jb2Rp bmc6IGBDb252ZXJ0VG9TdGF0aWNFeHBhbmRTaGFwZWAsCmBQYWRPcDo6aW5mZXJSZXN1bHRUeXBl YCAoYW5kIGl0cyBjYWxsZXJzIGBGb2xkU291cmNlVGVuc29yQ2FzdGAsCmBGb2xkU3RhdGljUGFk ZGluZ2ApLiBBbiBlbmNvZGluZyBpbXBsZW1lbnRpbmcKYFZlcmlmaWFibGVUZW5zb3JFbmNvZGlu Z2AgaXMgcmUtdmVyaWZpZWQgYWdhaW5zdCB0aGUgcmVmaW5lZCBzaGFwZSBhbmQKZHJvcHBlZCBp ZiBpbnZhbGlkIChlLmcuIHNwYXJzZSk7IGFuIG9wYXF1ZSBlbmNvZGluZyAobm8gaW50ZXJmYWNl KSBpcwpwcm9wYWdhdGVkIGFzLWlzLgoKUGF0dGVybnMgdGhhdCBtZXJnZS9jb21iaW5lIHRlbnNv cnMgKGBDb25jYXRPcDo6aW5mZXJSZXN1bHRUeXBlYCwKYEluZmVyQ29uY2F0T3BlcmFuZFR5cGVz YCwgYENvbGxhcHNlU2hhcGVPcDo6aW5mZXJDb2xsYXBzZWRUeXBlYCkga2VlcAp0aGUgZXhpc3Rp bmcgZHJvcC1lbmNvZGluZyBiZWhhdmlvciAtIHRoZXJlJ3Mgbm8gc3RhdGljIHdheSB0byB2ZXJp ZnkgYW4KYXJiaXRyYXJ5IGVuY29kaW5nIHN1cnZpdmVzIGEgbWVyZ2Ugb3IgcmFuayBjaGFuZ2Ug d2hlbiBkeW5hbWljIGRpbXMgYXJlCmludm9sdmVkLgoKRG9jdW1lbnRzIHRoaXMgY29udHJhY3Qg b24gYFZlcmlmaWFibGVUZW5zb3JFbmNvZGluZ2AgaW4KYFRlbnNvckVuY29kaW5nLnRkYC4KCmNv LWF1dGhvcmVkIENsYXVkZSBPcHVzIDQuNwoKU2lnbmVkLW9mZi1ieTogRG1pdHJpaSBNYWthcmVu a28gPGRtaXRyaWkubWFrYXJlbmtvQGludGVsLmNvbT4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZWJkMGNiZmIzNzJjNDJjNDk5ZDAyMTAyMjk3 NWE2MGJiYzZkMGQyNwoKR2l0IGNvbW1pdCAyMjUwOGFjOTUxOTY2YzMyMTk3N2NjMmQ1MWFiMzUz YjllMGFiNDUzIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBpbGdyaW0pIG9uIDA0LzA4 LzIwMjYgYXQgMTE6NTUuLgpbWDg2XSBwcjYxOTIzLmxsIC0gdXBkYXRlIElSIHRvIG1hdGNoIG1p ZGRsZWVuZCAoIzIxMzkwOCkKCkluc3RDb21iaW5lIGNvbnZlcnRzIHZYaTEgbG9naWMgcmVkdWN0 aW9ucyB0byBiaXRjYXN0ZWQgc2NhbGFyIGludGVnZXIKb3BzIC0gd2Ugc2hvdWxkIGJlIHRlc3Rp bmcgdGhhdCwgbm90IGxsdm0udmVjdG9yLnJlZHVjZS5hbmQudjMyaTEgY2FsbHMKaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMjI1MDhhYzk1MTk2 NmMzMjE5NzdjYzJkNTFhYjM1M2I5ZTBhYjQ1MwoKR2l0IGNvbW1pdCAwMzQzNTI3MGQyNjYyYmU1 MmIzNjBjOTI5ZDE5YTJmNjY2ZWIxYWY1IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFRoaWJhdXQg R29ldGdoZWJ1ZXItUGxhbmNob24pIG9uIDA0LzA4LzIwMjYgYXQgMTE6NTUuLgpbbWxpcl1bdG9z YV0gRm9sZCByZXNoYXBlIG9mIGRlbnNlIHJlc291cmNlIGNvbnN0YW50cyAoIzIxMzIyNSkKCkFk ZCBzdXBwb3J0IGZvciBgRGVuc2VSZXNvdXJjZUVsZW1lbnRzQXR0cmAgaW4gVE9TQSByZXNoYXBl IGZvbGRpbmcuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0LzAzNDM1MjcwZDI2NjJiZTUyYjM2MGM5MjlkMTlhMmY2NjZlYjFhZjUKCkdpdCBjb21t aXQgNGQzNDk3NjFmNWJmN2NjNDJmZmJhZTVkNzgxOWJmODczMTVkYmFmYiBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiB0aGVSb25TaGFyaykgb24gMDQvMDgvMjAyNiBhdCAxMjowNS4uClJlbGFuZCAi UmV2ZXJ0ICJbT3Blbk1QXSB0YXJnZXQtZmFzdCBpbXBsaWVzIHRlYW1zL3RocmVhZHMgb3ZlcnN1 YnNjcmlwdGlvbiIiICgjMjEzOTExKQoKUmV2ZXJ0cyBsbHZtL2xsdm0tcHJvamVjdCMyMTM3NjkK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNGQz NDk3NjFmNWJmN2NjNDJmZmJhZTVkNzgxOWJmODczMTVkYmFmYgoKR2l0IGNvbW1pdCA2MWE4ZDQy NDA5ZjU5NmRlZjhiZWZhMTM1MGY3OTYwOWRlMDgwMjdjIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9m IE5pa29sYXMgS2xhdXNlcikgb24gMDQvMDgvMjAyNiBhdCAxMjowOC4uCltsaWJjKytdIE9wdGlt aXplIHN0ZDo6c3dhcCBvZiBsb2NhbGVzICgjMjA5NzYwKQoKQ3VycmVudGx5IHdlIGNvcHkgY29u c3RydWN0IGBsb2NhbGVgcyB3aGVuZXZlciB3ZSBzd2FwLCB3aGljaCBpcyBxdWl0ZQpleHBlbnNp dmUgZm9yIGxvY2FsZXMgc2luY2UgdGhhdCBkb2VzIGF0b21pYyBpbmNyZW1lbnRzIGFuZCBkZWNy ZW1lbnRzLgpXZSBjYW4ganVzdCBzd2FwIHRoZSBwb2ludGVycyBpbnN0ZWFkLgpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC82MWE4ZDQyNDA5ZjU5 NmRlZjhiZWZhMTM1MGY3OTYwOWRlMDgwMjdjCgpHaXQgY29tbWl0IDJkZWZmY2E1MDYzOGQ4OGI2 ZGYyODMxNmRiMmU2ZDNmNjE3NDEzZGEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUmFta3VtYXIg UmFtYWNoYW5kcmEpIG9uIDA0LzA4LzIwMjYgYXQgMTI6MjEuLgpbTGFuZ1JlZl0gRml4IGxhbmd1 YWdlIGFyb3VuZCBzdHJpY3RmcCBzZW1hbnRpY3MgKCMyMTM4NzkpCgpUaGUgTGFuZ1JlZiB3b3Jk aW5nIGNoYW5nZWQgaW4gMTViYjRhOTdhNyAoW0lSXSBNYWtlIHNlbWFudGljcyBvZgpzdHJpY3Rm cCBjb25zaXN0ZW50IHYyLCAjMjExNzY5KSBpcyB1bmZvcnR1bmF0ZWx5IGluY29ycmVjdC4gVGhl cmUgYXJlCnNvbWUgb3BlbiBxdWVzdGlvbnMgYXJvdW5kIGl0cyBzZW1hbnRpY3MsIGJ1dCBhIHNp bXBsZSByZXZlcnQgc2hvdWxkIGRvCmZvciB0aGUgbW9tZW50LgoKUmVwb3J0ZWQtYnk6IMOWbWVy IFNpbmFuIEHEn2FjYW4gPG9tZXJAb3NhMS5uZXQ+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzJkZWZmY2E1MDYzOGQ4OGI2ZGYyODMxNmRiMmU2 ZDNmNjE3NDEzZGEKCkdpdCBjb21taXQgMzdmNGVlZWU2NTk0MGRjYWM1M2U4MTZjNGIzMjRmYjYw NzMyOGUwZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBUb20gU3RlbGxhcmQpIG9uIDA0LzA4LzIw MjYgYXQgMTI6MzguLgp3b3JrZmxvd3MvdXBsb2FkLXJlbGVhc2UtYXJ0aWZhY3Q6IFVzZSBuZXcg c2VsZi1yZXBvc2l0b3J5IHJlZmVyZW5jZSAoIzIxMzM2NikKClRoaXMgaXMgZm9yIGNvbXBvc2l0 ZSBhY3Rpb25zLgoKCmh0dHBzOi8vZ2l0aHViLmJsb2cvY2hhbmdlbG9nLzIwMjYtMDctMzAtcmVm ZXJlbmNlLXNhbWUtcmVwb3NpdG9yeS1hY3Rpb25zLXdpdGgtc2VsZi1yZXBvc2l0b3J5LXN5bnRh eC8KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQv MzdmNGVlZWU2NTk0MGRjYWM1M2U4MTZjNGIzMjRmYjYwNzMyOGUwZQoKR2l0IGNvbW1pdCAwMGJk ZmJmZmZkMjc2MGEzMzgyZGRkZDM2YzJiNjFlMGUwNGZhZmI1IGJ5IEdpdEh1YiAob24gYmVoYWxm IG9mIERtaXRyaWkgTWFrYXJlbmtvKSBvbiAwNC8wOC8yMDI2IGF0IDEyOjUwLi4KW21saXJdW3Rl bnNvcl0gUHJlc2VydmUgc291cmNlIGVuY29kaW5nIHdoZW4gZm9sZGluZyBpbnNlcnRfc2xpY2Ug Y2Fub25pY2FsaXplcnMgKCMyMDcyMzkpCgpgSW5zZXJ0U2xpY2VPcENvbnN0YW50QXJndW1lbnRG b2xkZXJgIHJlLWRlcml2ZXMgdGhlIHJlZmluZWQgc291cmNlIHR5cGUKdmlhIGBFeHRyYWN0U2xp Y2VPcDo6aW5mZXJDYW5vbmljYWxSYW5rUmVkdWNlZFJlc3VsdFR5cGVgLCB3aGljaCBjb3BpZXMK dGhlIGVuY29kaW5nIG9mIHRoZSBwYXNzZWQtaW4gInNvdXJjZSB0ZW1wbGF0ZSIgLSBpbiB0aGlz IHBhdHRlcm4sCmBpbnNlcnRTbGljZU9wLmdldERlc3RUeXBlKClgLgpGb3IgYSBzdGF0aWMsIGVu Y29kaW5nLWxlc3MgZGVzdGluYXRpb24gdGhpcyBzaWxlbnRseSBkcm9wcyBhbnkgZW5jb2RpbmcK dGhlIGFjdHVhbCBzb3VyY2UgY2FycmllZCwgd2hpY2ggZG93bnN0cmVhbSBkaWFsZWN0cyBjYW4g dXNlIGZvcgptYW5kYXRvcnkgbWV0YWRhdGEgKHVwcGVyIGJvdW5kcywgbGF5b3V0LCBzcGFyc2l0 eSBkZXNjcmlwdG9ycykgbG9zdApkdXJpbmcgYC0tY2Fub25pY2FsaXplYC4KClJlYnVpbGQgdGhl IHJlZmluZWQgc291cmNlIHR5cGUgY2FycnlpbmcgdGhlIG9yaWdpbmFsIHNvdXJjZSdzIGVuY29k aW5nLgpJZiB0aGUgZW5jb2RpbmcgaW1wbGVtZW50cyBgVmVyaWZpYWJsZVRlbnNvckVuY29kaW5n YCwgcmUtdmVyaWZ5IGl0CmFnYWluc3QgdGhlIHJlZmluZWQgc2hhcGUgYW5kIGRyb3AgaXQgaWYg aXQgbm8gbG9uZ2VyIGhvbGRzIChlLmcuIGEKcmFuay1kZXBlbmRlbnQgc3BhcnNlIGVuY29kaW5n KTsgb3RoZXJ3aXNlIHRyZWF0IGl0IGFzCm9wYXF1ZS9zaGFwZS1hZ25vc3RpYyBhbmQgcHJvcGFn YXRlIGl0IHVuY29uZGl0aW9uYWxseS4KU2hhcGUgcmVmaW5lbWVudCAodGhlIGA/YCAtPiBzdGF0 aWMgZGlyZWN0aW9uKSBpcyB1bmNoYW5nZWQgYW5kIHN0aWxsCnNhdGlzZmllcyBgcHJlc2VydmVz U3RhdGljSW5mb3JtYXRpb25gLgoKbGl0IGNyZWF0ZWQgd2l0aCBDbGF1ZGUgT3B1cyA0LjcKClNp Z25lZC1vZmYtYnk6IERtaXRyaWkgTWFrYXJlbmtvIDxkbWl0cmlpLm1ha2FyZW5rb0BpbnRlbC5j b20+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0 LzAwYmRmYmZmZmQyNzYwYTMzODJkZGRkMzZjMmI2MWUwZTA0ZmFmYjUKCkdpdCBjb21taXQgZWEx NGZhMjEzZTQ5YjQ4NzllNzdjZjUwZDVhOGJmNTZhZTc1NDZjNSBieSBHaXRIdWIgKG9uIGJlaGFs ZiBvZiBMb3VpcyBEaW9ubmUpIG9uIDA0LzA4LzIwMjYgYXQgMTI6NTIuLgpbbGliYysrXSBSZW1v dmUgQysrMjAgbW9kdWxlcyB0ZXN0cyBmcm9tIHRoZSBDKyswMyBmcm96ZW4gdGVzdCBzdWl0ZSAo IzIxMzczMCkKClRoZXNlIHRlc3RzIGFyZSBuZXZlciBleGVjdXRlZCBzaW5jZSB0aGV5IHJlcXVp cmUgQysrMjAsIGFuZCB0aGUgQysrMDMKZnJvemVuIGhlYWRlcnMgb25seSBydW4gaW4gQysrMDMg bW9kZS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvZWExNGZhMjEzZTQ5YjQ4NzllNzdjZjUwZDVhOGJmNTZhZTc1NDZjNQoKR2l0IGNvbW1pdCBk ZjM4YWUxZjVkMzYzNmVlYjk5MzgxMzRjODk1NTA5ZTMyMTg3YTQ3IGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIExvdWlzIERpb25uZSkgb24gMDQvMDgvMjAyNiBhdCAxMjo1Ni4uCltsaWJjKytdIEZp eCB0aGUgY2xhbmctdGlkeSBzb3VyY2UgZmlsdGVyIHRvIGNvdmVyIGxpYmN4eC9zcmMgYWdhaW4g KCMyMTM3MzIpCgpUaGUgZmlsdGVyIHJlZ2V4IHVzZWQgYGxpYmN4eChhYmk/KWAsIHdoaWNoIG1h dGNoZXMgYGxpYmN4eGFiYCBhbmQKYGxpYmN4eGFiaWAsIGJ1dCBuZXZlciBqdXN0IGBsaWJjeHhg LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9k ZjM4YWUxZjVkMzYzNmVlYjk5MzgxMzRjODk1NTA5ZTMyMTg3YTQ3CgpHaXQgY29tbWl0IGMyYWU5 MzA4MDkwZTI2Y2M2ZTNlNGFiNjRjMDYzMjYwNjFjOTU3MmMgYnkgR2l0SHViIChvbiBiZWhhbGYg b2YgTG91aXMgRGlvbm5lKSBvbiAwNC8wOC8yMDI2IGF0IDEyOjU3Li4KW2xpYmMrK10gVHJpbSBk b3duIGFzc29jaWF0aXZlIGNvbnRhaW5lciBiZW5jaG1hcmsgc2l6ZXMgKCMyMTIyNTIpCgpCYXNl ZCBvbiBsb2NhbCBtZWFzdXJlbWVudHMsIHRoZSBhc3NvY2lhdGl2ZSBjb250YWluZXJzIGFyZSBi eSBmYXIgdGhlCnNsb3dlc3QgYmVuY2htYXJrcyB0byBydW4uIFdoaWxlIHRoZXJlIGlzIHZhbHVl IGluIGJlbmNobWFya2luZyBzbWFsbAphbmQgbGFyZ2Ugc2l6ZXMsIHdlIGNhbiBzaWduaWZpY2Fu dGx5IGN1dCBkb3duIGJlbmNobWFyayB0aW1lcyBieQpzdHJpcHBpbmcgZG93biB0byBvbmx5IDIg c2l6ZXMgKGZyb20gNCkuCgpXaXRoIHRoaXMgcGF0Y2gsIHRoZSBiZW5jaG1hcmtzIGdvIGZyb20g MzEyNHMgdG8gMTc2NnMgYWNyb3NzIHRoZQphc3NvY2lhdGl2ZSBjb250YWluZXIgYmVuY2htYXJr cywgd2hpY2ggaXMgLTQzJSBvZiB0aGVpciBleGVjdXRpb24gdGltZSwKYW5kIGNvcnJlc3BvbmRz IHRvIH4xNSUgb2YgdGhlIGVudGlyZSBiZW5jaG1hcmsgc3VpdGUuCgpUb3dhcmRzICMxNzMwMzIK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYzJh ZTkzMDgwOTBlMjZjYzZlM2U0YWI2NGMwNjMyNjA2MWM5NTcyYwoKR2l0IGNvbW1pdCBkZjUzOGQ2 ODY1YTcyYjM5YTIwZjAzNDA3ODM0NTk0YThkZGFkYzlhIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9m IFNpbW9uIFBpbGdyaW0pIG9uIDA0LzA4LzIwMjYgYXQgMTI6NTguLgpbWDg2XSB2ZWN0b3ItcmVk dWNlLW9yLWNtcC5sbCAtIHVwZGF0ZSBtYXNrX3YzaTEgSVIgdG8gbWF0Y2ggbWlkZGxlZW5kICgj MjEzOTIzKQoKSW5zdENvbWJpbmUgY29udmVydHMgdlhpMSBsb2dpYyByZWR1Y3Rpb25zIHRvIGJp dGNhc3RlZCBzY2FsYXIgaW50ZWdlcgpvcHMgLSB3ZSBzaG91bGQgYmUgdGVzdGluZyB0aGF0LCBu b3QgbGx2bS52ZWN0b3IucmVkdWNlLm9yLnYzaTEgY2FsbHMKCkV4cG9zZXMgc29tZSByZWFsbHkg cG9vciBzY2FsYXJpemF0aW9uIG9uIHByZS1BVlg1MTIgdGFyZ2V0cwpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kZjUzOGQ2ODY1YTcyYjM5YTIw ZjAzNDA3ODM0NTk0YThkZGFkYzlhCgpHaXQgY29tbWl0IGI1NjQ1ZTJlZWU3M2RhZmFhMmU1Nzdl ZjQyNDQ1MTQ5Y2JiZjVkODIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgSmFuIFRydXNpxYLFgm8p IG9uIDA0LzA4LzIwMjYgYXQgMTM6MTAuLgpbb2ZmbG9hZF0gYWxsb3cgaDJoIG9sTWVtY3B5IHdp dGggYSBxdWV1ZSAoIzIxMjc1NykKCm9sTWVtY3B5IGN1cnJlbnRseSBkaXNhbGxvd3MgaG9zdC10 by1ob3N0IGNvcGllcyB3aXRoIGEgcXVldWUsIGV2ZW4KdGhvdWdoIHRoYXQgaXMgYSBkZXNpcmFi bGUgdXNlIGNhc2UgKGUuZy4gdG8gY29weSBhIGJ1ZmZlciBhcyBhCmRlcGVuZGVuY3kgZm9yIGFu b3RoZXIgb3BlcmF0aW9uKQoKVGhpcyBQUiBhZGRzIHN1cHBvcnQgZm9yIGFzeW5jaHJvbm91cyBo b3N0LXRvLWhvc3QgY29waWVzIGJ5IGFkZGluZwpgR2VuZXJpY0RldmljZVR5OjpkYXRhTWVtY3B5 YCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgcmVxdWlyZWQKYGRhdGFNZW1jcHlJbXBsYCBwbHVnaW4g b3BlcmF0aW9uLiBVbmxpa2UgYGRhdGFTdWJtaXRgLCBgZGF0YVJldHJpZXZlYCwKYW5kIGBkYXRh RXhjaGFuZ2VgLCB0aGlzIG9wZXJhdGlvbiBkb2VzIG5vdCBhc3NpZ24gYSBkZXZpY2UgZGlyZWN0 aW9uIHRvCmVpdGhlciBwb2ludGVyOgotIENVREE6IFVzZXMgYGN1TWVtY3B5QXN5bmNgLCB3aGlj aCBieSBpdHNlbGYgZGV0ZXJtaW5lcyB0aGUgcG9pbnRlcgp0eXBlcyBhbmQgcHJlc2VydmVzIHN0 cmVhbSBvcmRlcmluZy4gRHluYW1pYyBDVURBIHN5bWJvbCBkZWNsYXJhdGlvbnMKYW5kIGBfdjJg IGxvb2t1cCBzdXBwb3J0IGFyZSBpbmNsdWRlZC4KLSBMZXZlbCBaZXJvOiBVc2VzIHRoZSBleGlz dGluZyBxdWV1ZSBgbWVtb3J5Q29weWAgb3BlcmF0aW9uIChiYWNrZWQgYnkKYHplQ29tbWFuZExp c3RBcHBlbmRNZW1vcnlDb3B5YCksIHdoaWNoIGFwcGVuZHMgYSBtZW1vcnktY29weSBjb21tYW5k IHRvCnRoZSBjb21tYW5kIGxpc3QuCi0gQU1ER1BVOiBObyAiZW5xdWV1ZSBhIGhvc3QtdG8taG9z dCBjb3B5IiBvcGVyYXRpb24gZXhpc3RzIGRpcmVjdGx5IGluCnRoYXQgQVBJLCBzbyB3ZSBlbnF1 ZXVlIGEgYHN0ZDo6bWVtY3B5YCBjYWxsYmFjayB0aHJvdWdoCmBwdXNoSG9zdENhbGxiYWNrYC4K LSBIb3N0OiBDYWxsIGBtZW1jcHlgIGRpcmVjdGx5LgoKVGhlIGBvbE1lbWNweWAgQVBJIGRvY3Vt ZW50YXRpb24gbm93IHN0YXRlcyB0aGF0IHF1ZXVlZCBob3N0LXRvLWhvc3QKY29waWVzIGFyZSBv cmRlcmVkIHdpdGggb3RoZXIgd29yayBpbiB0aGUgcXVldWUuIFRoZSBwdWJsaWMgZnVuY3Rpb24K c2lnbmF0dXJlIGlzIHVuY2hhbmdlZC4KCkEgbmV3IHVuaXQgdGVzdCBleGVjdXRlcyBhbiBgaDJk IC0+IGQyaCAtPiBoMmggLT4gaDJkIC0+IGQyaGAgb3BlcmF0aW9uCmNoYWluLCB3aGljaCBzaG91 bGQgZmFpbCBpZiB0aGUgcXVldWUgb3JkZXIgaXNuJ3QgcmVzcGVjdGVkLgoKQXNzaXN0ZWQtYnk6 IENvZGV4Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2I1NjQ1ZTJlZWU3M2RhZmFhMmU1NzdlZjQyNDQ1MTQ5Y2JiZjVkODIKCkdpdCBjb21taXQg MDRjOWNmNDc0M2ZjNjJjYTU1NWYyNzBmMzYyMWIzMjRlMjQ3Mjc2NyBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBBdXJvcmUgUG9pcmllcikgb24gMDQvMDgvMjAyNiBhdCAxMzoyNi4uCltMTERCXSBT ZXJ2ZSB1bmtub3duIHR5cGUgc3ltYm9scyB0aHJvdWdoIGBxU3ltYm9sYCBmb3Igbm9uLU1hY2hP IHRhcmdldHMgKCMyMDAxMzQpCgpJIGFtIHdvcmtpbmcgd2l0aCBhIGJpbmFyeSB3aGVyZSBzb21l IHN5bWJvbHMgYXJlIGdlbmVyYXRlZCBmcm9tIGxpbmtlcgpzY3JpcHRzLiBUaGV5IGVuZCB1cCBp ZGVudGlmaWVkIGFzIGBlU3ltYm9sSW52YWxpZGAgd2hlbiBsb2FkZWQgaW4gTExEQi4KT3Blbk9D RCBjYW4gdHJ5IHRvIGZldGNoIHRoZW0uCgpTb21lIG1pZ2h0IGV2ZW4gYmUgaGFyZC1jb2RlZCBk YXRhLCBub3QgZ29pbmcgdGhyb3VnaCBhbiBhZGRyZXNzIGluIHRoZQpiaW5hcnkgKGV4cGxhaW5p bmcgdGhlIHByZXNlbmNlIG9mIHRoZSBjaGVjayBhbmQgcmF3IHZhbHVlCnJldHVybikuCgpUZXN0 aW5nIGl0IHNob3dlZCB0aGF0ICoqR0RCIHJldHVybnMgdGhlbSBkZXNwaXRlIHRoZW0gbm90IGJl aW5nIHByb3BlcgphZGRyZXNzZXMqKi4KVGhlc2UgY2FuIGFsc28gYmUgZ2VuZXJhdGVkIGJ5IEMr KyBzdGF0aWMgY29uc3RleHByLCBzdWNoIHZhbHVlcyBjb3VsZApiZSBhY2Nlc3NlZCBieSBhIHFT eW1ib2wgcXVlcnkuCgozNThjZjFlYTMwMmViIGludHJvZHVjZWQgYSBkaXZlcmdlbmNlIGJldHdl ZW4gR0RCIGFuZCBMTERCIHdoZXJlIExMREIKZG9lcyBub3Qgc2VydmUgc3ltYm9scyBvZiB1bmtu b3duIHR5cGUgdGhyb3VnaCBHREIgcHJvdG9jb2wgY29tbWFuZApgcVN5bWJvbGAuIFBlciBjb21t aXQgZGVzY3JpcHRpb24sIHRoaXMgaXMgYW4gZXhwZWN0ZWQgYmVoYXZpb3Igb24KTWFjaE8tYmFz ZWQgcGxhdGZvcm1zLCBidXQgaXQgaXMgbm90IG9uIEVMRi1iYXNlZCBwbGF0Zm9ybXMsIHdoZXJl IExMREIKc2hvdWxkIGZvbGxvdyBHREIuIFRoZSBjaGFuZ2VzIGludHJvZHVjZWQgYnkgc2FpZCBj b21taXQgYXJlIG5vdyBnYXRlZApiZWhpbmQgYW4gYXJjaGl0ZWN0dXJlIGNoZWNrLgpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8wNGM5Y2Y0NzQz ZmM2MmNhNTU1ZjI3MGYzNjIxYjMyNGUyNDcyNzY3CgpHaXQgY29tbWl0IDA3YTUzYmU3ZDNjZDY4 YjdiNGMzOTdlYjNlYzViMzBiYzg0YWNiZjkgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTWFkaHVy IEt1bWFyKSBvbiAwNC8wOC8yMDI2IGF0IDEzOjI2Li4KW0dsb2JhbElTZWxdIENvbWJpbmUgbWVy Z2UtdW5tZXJnZSB3aXRoIG1peGVkIHNjYWxhciBhbmQgdmVjdG9yIHR5cGVzICgjMjEzMDg2KQoK Zml4ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvMTc3NDE2 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzA3 YTUzYmU3ZDNjZDY4YjdiNGMzOTdlYjNlYzViMzBiYzg0YWNiZjkKCkdpdCBjb21taXQgZTNkODQ3 ZjA3NzIzZjhmNmVmNjJhNTQwNDUyMzQ0YWU0ZDE1NTAwNyBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDEzOjI3Li4KW1NMUF1GaXggc2NoZWR1 bGluZyBvZiBhYnNvcmJlZCBjb3B5YWJsZSBmbXVscywgbW9kZWxlZCBhcyBmbXVsYWRkKGEsIGIs IC0wLjApCgpBIGNvcHlhYmxlIGZtdWwgYWJzb3JiZWQgaW50byBmbXVsYWRkKGEsIGIsIC0wLjAp IGRvZXMgbm90IGFwcGVhciBpbgp0aGUgb3BlcmFuZCBjb2x1bW5zIG9mIGl0cyBvd24gbm9kZSwg c28gdGhlIG9wZXJhbmQgc2NhbiBuZXZlcgpyZWxlYXNlZCB0aGUgc2NoZWR1bGUgZGF0YSBvZiB0 aGUgY29weWFibGUgaW5zdHJ1Y3Rpb24gaXRzZWxmIGFuZApzY2hlZHVsaW5nIGVuZGVkIHdpdGgg dW5zY2hlZHVsZWQgYnVuZGxlcy4gUmVsZWFzZSBpdCBleHBsaWNpdGx5IHdoZW4KdGhlIGNvcHlh YmxlIGVsZW1lbnQgc2hvd3MgdXAgaW4gbm8gb3BlcmFuZCBjb2x1bW4uCgpSZXZpZXdlcnM6IAoK UHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8y MTM5MzcKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvZTNkODQ3ZjA3NzIzZjhmNmVmNjJhNTQwNDUyMzQ0YWU0ZDE1NTAwNwoKR2l0IGNvbW1pdCA5 ZjQwNDdlNDZlNmJlMTk2NzJmNzYzNWExNzRiNWNkN2IwYmQ5ZjFkIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIG5wYW5jaGVuKSBvbiAwNC8wOC8yMDI2IGF0IDEzOjI3Li4KW0FTYW5dIEhhbmRsZSBh bGxvY2FzIGluIG5vbi1kZWZhdWx0IGFkZHJlc3Mgc3BhY2VzICgjMjEzNzY0KQoKRG8gYWRkcnNw YWNlIGNhc3QgZm9yIGFsbG9jYXMgdGhhdCBsaXZlIGluIGFkZHJlc3Mgc3BhY2UgZGlmZmVyZW50 IGZyb20KdGhlIGRhdGFsYXlvdXQncyBhbGxvY2EgYWRkcmVzcyBzcGFjZSwgb3RoZXJ3aXNlIEFT YW4gd2lsbCBjcmFzaCBkdXJpbmcKdXNlIHJlcGxhY2VtZW50Cmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzlmNDA0N2U0NmU2YmUxOTY3MmY3NjM1 YTE3NGI1Y2Q3YjBiZDlmMWQKCkdpdCBjb21taXQgZDRjOTkxZDM0YzhjODU2OGM2ZjgxNDAyYjg4 YzNmZDM3NzIyYzFkYiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCYXJhbm92IFZpY3Rvcikgb24g MDQvMDgvMjAyNiBhdCAxMzozMC4uCltjbGFuZy10aWR5XVtORkNdIEFwcGx5IGNvbnN0LWNvcnJl Y3RuZXNzIGZvciBhdXRvIDEvTiAoIzIxMzgzOSkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZDRjOTkxZDM0YzhjODU2OGM2ZjgxNDAyYjg4YzNm ZDM3NzIyYzFkYgoKR2l0IGNvbW1pdCBlMzZiMmFjZWEwODExZDA4OTY1ZTk2OTBiMWYzYzRiMTZl NjQ4NGZmIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEJhcmFub3YgVmljdG9yKSBvbiAwNC8wOC8y MDI2IGF0IDEzOjMwLi4KW2NsYW5nLXRpZHldW05GQ10gQXBwbHkgY29uc3QtY29ycmVjdG5lc3Mg Zm9yIGF1dG8gMi9OICgjMjEzODQwKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC9lMzZiMmFjZWEwODExZDA4OTY1ZTk2OTBiMWYzYzRiMTZlNjQ4 NGZmCgpHaXQgY29tbWl0IGY1MzQ2YTVhMzQxZDA5ZjI3OTA2M2UyMzlmNDIxNTQ3OGUwZjVhZjMg YnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUGF1bCBXYWxrZXIpIG9uIDA0LzA4LzIwMjYgYXQgMTM6 MzIuLgpbTExWTV1bQ29kZUdlbl1bU1ZFXSBBZGQgaXNlbCBwYXR0ZXJucyBmb3IgYWJzLWRpZmYg cGFydGlhbCByZWR1Y3Rpb25zLiAoIzIxMjgwMCkKCkZvciBTVkUyIHdlIGNhbiB1c2UgdG9wL2Jv dHRvbSBbUy9VXUFCQUxbVC9CXSBpbnN0cnVjdGlvbi4gU1ZFMnAzIGNhbgp1c2UganVzdCBbUy9V XUFCQUwuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2Y1MzQ2YTVhMzQxZDA5ZjI3OTA2M2UyMzlmNDIxNTQ3OGUwZjVhZjMKCkdpdCBjb21taXQg ZGRjOGU0YmIyNTJmMzFjYTQzMzI5NWZhY2JlYWQ0NWY5MzI0MTNiYSBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBCYXJhbm92IFZpY3Rvcikgb24gMDQvMDgvMjAyNiBhdCAxMzozMy4uCltjbGFuZy10 aWR5XVtORkNdIEFwcGx5IGNvbnN0LWNvcnJlY3RuZXNzIGZvciBhdXRvIDMvTiAoIzIxMzg0MSkK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvZGRj OGU0YmIyNTJmMzFjYTQzMzI5NWZhY2JlYWQ0NWY5MzI0MTNiYQoKR2l0IGNvbW1pdCAwYmJlZTI4 ZmQ0NWYxY2E1NzgwZDVkYjg0MjI2MTI2MmYyMDFlN2QxIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9m IEJhcmFub3YgVmljdG9yKSBvbiAwNC8wOC8yMDI2IGF0IDEzOjM0Li4KW2NsYW5nLXRpZHldW05G Q10gQXBwbHkgY29uc3QtY29ycmVjdG5lc3MgZm9yIGF1dG8gNC9OICgjMjEzODQyKQpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8wYmJlZTI4ZmQ0 NWYxY2E1NzgwZDVkYjg0MjI2MTI2MmYyMDFlN2QxCgpHaXQgY29tbWl0IDBiNzFiMWE0ZTUxMjc2 MDQzYzc0MTdhODJhZDg3MzgxZjc2Y2Q0ZDYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQmFyYW5v diBWaWN0b3IpIG9uIDA0LzA4LzIwMjYgYXQgMTM6MzUuLgpbY2xhbmctdGlkeV1bTkZDXSBBcHBs eSBjb25zdC1jb3JyZWN0bmVzcyBmb3IgYXV0byA1L04gKCMyMTM4NDMpCmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzBiNzFiMWE0ZTUxMjc2MDQz Yzc0MTdhODJhZDg3MzgxZjc2Y2Q0ZDYKCkdpdCBjb21taXQgNjFjY2ZiZmNhNTJkMDc4ZTFhYTky ZjBkNTNlYTZiM2VlZTdkZWU1OSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCYXJhbm92IFZpY3Rv cikgb24gMDQvMDgvMjAyNiBhdCAxMzozNi4uCltjbGFuZy10aWR5XVtORkNdIEFwcGx5IGNvbnN0 LWNvcnJlY3RuZXNzIGZvciBhdXRvIDYvTiAoIzIxMzg0NCkKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNjFjY2ZiZmNhNTJkMDc4ZTFhYTkyZjBk NTNlYTZiM2VlZTdkZWU1OQoKR2l0IGNvbW1pdCA3ZTE1YWU1Y2VmOWFlZjg5YjdhMDlhN2M2ZjIw M2Y0YThjYTZjNzdkIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEJhcmFub3YgVmljdG9yKSBvbiAw NC8wOC8yMDI2IGF0IDEzOjM3Li4KW2NsYW5nLXRpZHldW05GQ10gQXBwbHkgcmVhZGFiaWxpdHkt cmVkdW5kYW50LXBhcmVudGhlc2VzICgjMjEzODQ4KQpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC83ZTE1YWU1Y2VmOWFlZjg5YjdhMDlhN2M2ZjIw M2Y0YThjYTZjNzdkCgpHaXQgY29tbWl0IGFkYmE5ZGE0NGZhZjljOGE0Yjg2OTU2MjMwMjNjMjY1 ZmZlNTkzMDEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQvMDgv MjAyNiBhdCAxMzo0My4uCltTTFBdU3VwcG9ydCBjb3B5YWJsZSBmYWRkcyBpbiBmbXVsYWRkLCBt b2RlbGVkIGFzIGZtdWxhZGQoMS4wLCBhLCBiKQoKQSBjb3B5YWJsZSBzaW5nbGUtdXNlIGZhZGQg YSwgYiBpcyBtb2RlbGVkIGFzIGZtdWxhZGQoMS4wLCBhLCBiKSwgd2hpY2gKZXF1YWxzIGZhZGQg YSwgYiAodGhlIG11bHRpcGx5IGJ5IDEuMCBpcyBleGFjdCBhbmQgcHJlc2VydmVzIHNpZ25lZAp6 ZXJvcyksIHNvIHRoZSBhZGQgZGllcyBpbnN0ZWFkIG9mIGJlaW5nIGNvbXB1dGVkIGFuZCBnYXRo ZXJlZC4gVGhlCmFkZGVuZC9tdWx0aXBsaWNhbmQgYXNzaWdubWVudCBwZXIgbGFuZSBtYXRjaGVz IHRoZSBtYWpvcml0eSBvcGVyYW5kCmtpbmRzIG9mIHRoZSBub24tY29weWFibGUgbGFuZXMuIFNh bWUgYWxsLW9yLW5vdGhpbmcgYW5kIHRpZS1icmVhawpydWxlcyBhcyBmb3IgYWJzb3JiZWQgZm11 bHMuCgpSZXZpZXdlcnM6IGhpcmFkaXR5YSwgYmFiYWJ1Y2ssIFJLU2ltb24KClB1bGwgUmVxdWVz dDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEzNzg2Cmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2FkYmE5ZGE0 NGZhZjljOGE0Yjg2OTU2MjMwMjNjMjY1ZmZlNTkzMDEKCkdpdCBjb21taXQgYWI4YjAzN2VmN2Iz OThhYTg2NDk1OWE2OWYzMjhmYTY5YjU2N2Y3NCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBOaWtv bGFzIEtsYXVzZXIpIG9uIDA0LzA4LzIwMjYgYXQgMTM6NDUuLgpbbGliYysrXSBEaWFnbm9zZSB1 bnVzZWQgdmFyaWFibGVzIG9mIGNvbnRhaW5lciB0eXBlcyAoIzIwMzA4NCkKClRoaXMgYWRkcyBg W1tnbnU6Ondhcm5fdW51c2VkXV1gIHRvIGFsbCBjb250YWluZXIgdHlwZXMgY3VycmVudGx5Cmlt cGxlbWVudGVkLiBJbiB0aGUgZnV0dXJlIG5ldyBjb250YWluZXJzIHNob3VsZCBiZSBhZGRlZCB0 byB0aGUgbGlzdCwKYXMgd2VsbCBhcyBvdGhlciB2YWx1ZSB0eXBlcyBpbiB0aGUgbGlicmFyeS4K CkNsYW5nIGhhcyBgLVd1bnVzZWRgLCB3aGljaCBpcyBhIHN1aXRlIG9mIHdhcm5pbmdzIGFib3V0 IHVudXNlZAp2YXJpYWJsZXMuIEhvd2V2ZXIsIHRoYXQgZG9lc24ndCB3YXJuIGZvciBhIGxvdCBv ZiBjbGFzcyB0eXBlcywKZXNwZWNpYWxseSBub24tdHJpdmlhbCBvbmVzLiBUaGF0IGlzIGRvbmUg dG8gYXZvaWQgZmFsc2UtcG9zaXRpdmVzIGZvcgpSQUlJLXN0eWxlIHR5cGVzIGxpa2UgYGxvY2tf Z3VhcmRgLiBgW1tnbnU6Ondhcm5fdW51c2VkXV1gIGV4aXN0cyB0bwp0ZWxsIENsYW5nIHRoYXQg YSBnaXZlbiBjbGFzcyBpcyBhIHZhbHVlIHR5cGUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2FiOGIwMzdlZjdiMzk4YWE4NjQ5NTlhNjlmMzI4 ZmE2OWI1NjdmNzQKCkdpdCBjb21taXQgMzMwZGZjYTNlM2JjODc5YmU3N2Q0MTg4ZjE3ODk3NDM5 NjFmYmUzZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBMb3VpcyBEaW9ubmUpIG9uIDA0LzA4LzIw MjYgYXQgMTM6NDYuLgpbcnVudGltZXNdIERyb3AgcmV2aWV3ZXJzLWxpYmN4eCBmcm9tIHJldmll d3MgdG91Y2hpbmcgcnVudGltZXMvICgjMjEzNzM2KQoKU2luY2UgcnVudGltZXMvIGhhcyBiZWVu IHBpY2tlZCB1cCBieSBvdGhlciBzdWJwcm9qZWN0cywgaXQgZG9lc24ndCBtYWtlCnNlbnNlIGFu eW1vcmUgZm9yIHJldmlld2Vycy1saWJjeHggdG8gd2F0Y2ggYWxsIGNoYW5nZXMgdG8gaXQuCmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzMzMGRm Y2EzZTNiYzg3OWJlNzdkNDE4OGYxNzg5NzQzOTYxZmJlM2UKCkdpdCBjb21taXQgNTViMzhhZWVj OGNmN2RlODZjOWM0NTAwZjU5YzM1ZmM0NzI2NDgzMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBN YXJjb3MgTWFyb25hcykgb24gMDQvMDgvMjAyNiBhdCAxMzo0OC4uCltTUElSVl0gRW1pdCBGUEZh c3RNYXRoTW9kZSBmb3IgQ2FsbCAoIzIxMTg3OSkKCmBTUFZfS0hSX2Zsb2F0X2NvbnRyb2xzMmAg bWFrZXMgYEZQRmFzdE1hdGhNb2RlYCB2YWxpZCBmb3IgYWxsIGNvcmUKaW5zdHJ1Y3Rpb25zLCBz byB0aGlzIHBhdGNoIGVuYWJsZXMgdHJhbnNsYXRpb24gb2YgZmFzdCBtYXRoIGZsYWdzIGZvcgpg T3BGdW5jdGlvbkNhbGxgLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC81NWIzOGFlZWM4Y2Y3ZGU4NmM5YzQ1MDBmNTljMzVmYzQ3MjY0ODMzCgpH aXQgY29tbWl0IGQyODE5M2ZhMWZmNjQwMjdjYzU1NDczNTVlOWQ3MDc4NTI2OGFlYzggYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgQS4gSmlhbmcpIG9uIDA0LzA4LzIwMjYgYXQgMTM6NTkuLgpbbGli YysrXVt0ZXN0XSBBZGQgYHZvaWRgIGNhc3QgdG8gYSBkaXNjYXJkZWQgY2FsbCB0byBgcmVtcXVv YCAoIzIxMzg0OSkKCkZvciBjYWxscyB0byBgcmVtcXVvYCwgdGhlIHJldHVybiB2YWx1ZXMgYXJl IGdlbmVyYWxseSBleHBlY3RlZCB0byBiZQp1c2VkLCB3aGlsZSBpdCBpcyByYXJlIHRvIG9ubHkg dXNlIHRoZSB2YWx1ZSB3cml0dGVuIHZpYSB0aGUgcG9pbnRlcgpwYXJhbWV0ZXIuIE1vcmVvdmVy LCBzb21lIGltcGxlbWVudG9ycyBhbHJlYWR5IHBsYW5uZWQgdG8gYXBwbHkKYFtbbm9kaXNjYXJk XV1gIHRvIGByZW1xdW9gLCBzZWUgYWxzbyBodHRwczovL2xsdm0ub3JnL1BSMTcxNzYzLiBBcyBh CnJlc3VsdCwgaXQgaXMgcGVyaGFwcyBiZXR0ZXIgdG8gYWRkIGB2b2lkYCBjYXN0IHRvIHRoZSBk aXNjYXJkZWQgY2FsbCB0bwpgcmVtcXVvYCBpbiB0aGUgdGVzdCBmaWxlLgpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kMjgxOTNmYTFmZjY0MDI3 Y2M1NTQ3MzU1ZTlkNzA3ODUyNjhhZWM4CgpHaXQgY29tbWl0IDk2MmQxNmZkOTc3OTNkMjJjNDIy MjdlN2ZhYjM5N2Y2MjQ3NWMxOGIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRHlsYW5GbGVtaW5n LWFybSkgb24gMDQvMDgvMjAyNiBhdCAxNDowMy4uCltsaWJjXVttYXRodmVjXSBWZWN0b3Jpc2Ug ZXhwMmYgYW5kIGV4cDEwZiAoIzIxMTM2NSkKClJlcGxhY2VzIGV4cDJmIGFuZCBleHAxMGYgd2l0 aCBmdWxseSB2ZWN0b3Jpc2VkIGltcGxlbWVudGF0aW9ucy4KCkluY2x1ZGVzIHJlZmFjdG9yaW5n IG9mIGV4cGYgcG9seW5vbWlhbCBldmFsdWxhdGlvbiBpbnRvIGV4cGZfdXRpbHMuaApodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC85NjJkMTZmZDk3 NzkzZDIyYzQyMjI3ZTdmYWIzOTdmNjI0NzVjMThiCgpHaXQgY29tbWl0IDYyYzVlZGU5ZmQxNDA4 M2FhNTdkNjIzMDJkZjA2YTQ0MDYyZDhiZmMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTWFyYyBB dWJlcmVyKSBvbiAwNC8wOC8yMDI2IGF0IDE0OjA1Li4KW0lSXSBSZW1vdmUgZGVwcmVjYXRlZCBC YXNpY0Jsb2NrOjpnZXRGaXJzdE5vblBISSAoIzIxMzkyNikKCkFsbCBpbi10cmVlIGNhbGxlcnMg YWxyZWFkeSBtaWdyYXRlZCB0byBnZXRGaXJzdE5vblBISUl0KCksIHdoaWNoCnByZXNlcnZlcyBk ZWJ1Zy1pbmZvIHBsYWNlbWVudC4gTm8gcmVtYWluaW5nIHVzZXJzIG9mIHRoZSBkZXByZWNhdGVk Cm92ZXJsb2FkcyBleGlzdCBpbiB0aGUgY29kZWJhc2UuCgpDby1hdXRob3JlZC1ieTogQ2xhdWRl IDxub3JlcGx5QGFudGhyb3BpYy5jb20+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0LzYyYzVlZGU5ZmQxNDA4M2FhNTdkNjIzMDJkZjA2YTQ0MDYy ZDhiZmMKCkdpdCBjb21taXQgNTBmMWU2OTU2MGExNWViZTg0OTMyMDJjNjM4NTlmYzA3NGM4NTQx YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBUYXRoYW0pIG9uIDA0LzA4LzIwMjYgYXQg MTQ6MDYuLgpbQUFyY2g2NF1bQ29kZUdlbl0gRG9uJ3QgdHJ5IHRvIGNvbXB1dGUgc3RhY2sgYWRk cmVzc2VzIGluIHh6ciAoIzIxMzAwOSkKCkNvbmRpdGlvbmFsIGJyYW5jaCB0dW5pbmcgY2FuIHJl cGxhY2UgYW4gQUREICsgQ0JaIHdpdGggYW4gQUREUyArIEJjYy4KVGhpcyBwYXRjaCBkaXNhYmxl cyB0aGF0IHRyYW5zZm9ybWF0aW9uIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBBREQKaW5zdHJ1Y3Rp b24gaGFzIGEgZnJhbWUgb2Zmc2V0IG9wZXJhbmQsIGJlY2F1c2UgaW4gdGhhdCBzaXR1YXRpb24s IGl0CmNhbiBsYXRlciBiZSBleHBhbmRlZCBpbnRvIG11bHRpcGxlIGluc3RydWN0aW9ucy4KCkZp eGVzICMyMTI1MjgsIHdoaWNoIGhhZCBhIGNhc2Ugb2YgdGhpcyBpbiB3aGljaCB0aGUgZGVzdGlu YXRpb24KcmVnaXN0ZXIgb2YgdGhlIEFERFMgd2FzIHJld3JpdHRlbiB0byBYWlIsIGJlY2F1c2Ug dGhlIHZhbHVlIHdhcwpjYWxjdWxhdGVkIF9vbmx5XyB0byBjb21wYXJlIGFnYWluc3QgemVyby4g V2hlbiB0aGUgQUREUyB3YXMgZXhwYW5kZWQKaW50byBtdWx0aXBsZSBpbnN0cnVjdGlvbnMsIHRo ZSBvdXRwdXQgaW5zdHJ1Y3Rpb25zIHdlcmUgbm90IGV2ZW4KbGVnYWwgd2l0aCBYWlIgYXMgdGhl IGRlc3RpbmF0aW9uLgoKSG93ZXZlciB3ZSBkaXNhYmxlIHRoaXMgdHJhbnNmb3JtYXRpb24gZXZl biB3aGVuIG5vdCByZXdyaXRpbmcgdGhlCmRlc3RpbmF0aW9uIHJlZ2lzdGVyLCBiZWNhdXNlIHNv bWUgb2YgdGhlIGluc3RydWN0aW9ucyBpbnZvbHZlZCBpbgpjb21wdXRpbmcgYSBmcmFtZSBvZmZz ZXQgaGF2ZSBubyBmbGFnLXNldHRpbmcgdmFyaWFudC4gKEUuZy4gQUREVkwsIGlmCnRoZXJlIGFy ZSBTVkUgdmFyaWFibGUtc2l6ZWQgdmVjdG9ycyBvbiB0aGUgc3RhY2suKQpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC81MGYxZTY5NTYwYTE1ZWJl ODQ5MzIwMmM2Mzg1OWZjMDc0Yzg1NDFhCgpHaXQgY29tbWl0IDBlZWZkNTEzYzI5ZTg4ZDkwY2Y1 NWQxNmEwMDJiYzA5ZmUxZjhlYWMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTFUtSk9ITikgb24g MDQvMDgvMjAyNiBhdCAxNDoyMy4uCltBTURHUFVdIENhbm9uaWNhbGl6ZSBzY2FsYXIgYmYxNiBt b3JlIGVmZmljaWVudGx5ICgjMjEzNzg5KQoKQ2Fub25pY2FsaXplIGJmMTYgbW9yZSBlZmZpY2ll bnRseS4gVXNlIGB2X3BrX211bF92ZjE2IDxEU1Q+LCAxLjAsIC4uLmAKcmF0aGVyIHRoYW4gY29u dmVydGluZyB0by9mcm9tIGYzMiBhbmQgdXNpbmcgdl9tYXguCgotLS0tLS0tLS0KClNpZ25lZC1v ZmYtYnk6IEpvaG4gTHUgPEpvaG4uTHVAYW1kLmNvbT4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMGVlZmQ1MTNjMjllODhkOTBjZjU1ZDE2YTAw MmJjMDlmZTFmOGVhYwoKR2l0IGNvbW1pdCAzMjE3MTA1MDU2YzU5NTAwOTgxYzFkMDBiNjBhYzRk NDc0YjM3YjAzIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNoaWxlaSBUaWFuKSBvbiAwNC8wOC8y MDI2IGF0IDE0OjI3Li4KW05GQ11bQU1ER1BVXSBSZW5hbWUgc29tZSB2YXJpYWJsZSBuYW1lcyB0 byBmb2xsb3cgY29udmVudGlvbiBiZXR0ZXIgKCMyMTM4MjcpCgpUaGlzIGlzIGEgZm9sbG93LXVw IG9mICMyMTM0OTEuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0 Ly0vY29tbWl0LzMyMTcxMDUwNTZjNTk1MDA5ODFjMWQwMGI2MGFjNGQ0NzRiMzdiMDMKCkdpdCBj b21taXQgOTFjY2QxYjEwY2U4MmZhNGU3OWU2MmIwYjZlNTc1YzZjMGVlNDFlYiBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBKYW4gUGF0cmljayBMZWhyKSBvbiAwNC8wOC8yMDI2IGF0IDE0OjM0Li4K W0NsYW5nXSBNYWtlIGV4YWN0IGR5bmFtaWNfY2FzdCBvcHRpbWl6YXRpb24gQVMgYXdhcmUgKCMy MTM5MjcpCgpQUiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMTMy NTMgZXhwb3NlZCBhIHByb2JsZW0gaW4KQU1ER1BVIHdoZXJlIGV4YWN0IGR5bmFtaWNfY2FzdCBv cHRpbWl6YXRpb24gd291bGQgZ2VuZXJhdGUgY29tcGFyZQpvcGVyYW5kcyBmb3IgdGhlIGNvbXBh cmUgaW5zdHJ1Y3Rpb24gdGhhdCBsaXZlIGluIGRpZmZlcmVudCBhZGRyZXNzCnNwYWNlcy4KVGhl IGN1bHByaXQgYXBwZWFycyB0byBoYXZlIGJlZW4gdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgYGZp bmFsYCBrZXl3b3JkCmluIHRoZSBkZXJpdmVkIHN0cnVjdCBkZWZpbml0aW9uLgoKVGhpcyBwYXRj aCB1c2VzIENHRi5HZXRWVGFibGVQdHIgYW5kIHVzZXMgQ0dNLkdsb2JhbHNJbnQ4UHRyVHkgaW4g dGhlCmNvZGUgZm9yIGVtaXRFeGFjdER5bmFtaWNDYXN0LCBmb2xsb3dpbmcgdGhlIHBhdHRlcm4g dGhhdCBpcyB1c2VkIGluCkVtaXRUeXBlaWQuCgpBIHRlc3QgY2FzZSB0aGF0IHdhcyByZWR1Y2Vk IGZyb20gdGhlIGFib3ZlIFBSIGlzIGFkZGVkIGFzIHRlc3QuCkFJLWFzc2lzdGVkCmh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzkxY2NkMWIxMGNl ODJmYTRlNzllNjJiMGI2ZTU3NWM2YzBlZTQxZWIKCkdpdCBjb21taXQgODI0OGVlZjRiZWE4MzA4 NmM0NDg3MjE1YTQ2NTc3MWY3OWU4NzU5YiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBLiBKaWFu Zykgb24gMDQvMDgvMjAyNiBhdCAxNDo1MS4uCltsaWJjKytdIEltcGxlbWVudCBQMzAxNlI2OiBS ZXNvbHZlIGluY29uc2lzdGVuY2llcyBpbiBiZWdpbi9lbmQgZm9yIGB2YWxhcnJheWAgYW5kIGJy YWNlZCBpbml0aWFsaXplciBsaXN0cyAoIzE3MzYzNykKClRoaXMgcGFwZXIgaXMgaW1wbGVtZW50 ZWQgYXMgYSBEZWZlY3QgUmVwb3J0IGFnYWluc3QgQysrMTEgYW5kIGxhdGVyCnJldmlzaW9ucy4K Ci0gSW5jbHVzaW9uIG9mIGA8dHlwZWluZm8+YCBpbiBgPGZ1bmN0aW9uYWw+YCBzaG91bGQgYmUg Y29uc2lkZXJlZCBhcyBhCiAgcGF0Y2ggdG8gQysrIFRSMSAoaHR0cHM6Ly93ZzIxLmxpbmsvTjE4 MzYpLCB3aGlsZSB0aGUgcmVsYXRlZAogIHBhcnRzIHdlcmUgbWVyZ2VkIGludG8gQysrMTEuCi0g Q2hhbmdlcyBvZiBgaW5pdGlhbGl6ZXJfbGlzdGAgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgYSBw YXRjaCB0byBDKysxMQogIHBhcGVyIGh0dHBzOi8vd2cyMS5saW5rL24yNjcyLgotIENoYW5nZXMg b2YgYHZhbGFycmF5YCwgYHN0ZDo6YmVnaW5gLCBhbmQgYHN0ZDo6ZW5kYCBhbmQgYXZhaWxhYmls aXR5CiAgb2YgcmFuZ2UgYWNjZXNzIGZ1bmN0aW9ucyBpbiBgPHZhbGFycmF5PmAgc2hvdWxkIGJl IGNvbnNpZGVyZWQgYXMgYQogIHBhdGNoIHRvIEMrKzExIHBhcGVyIGh0dHBzOi8vd2cyMS5saW5r L24yOTMwLgotIEluY2x1c2lvbiBvZiBgPHR5cGVpbmZvPmAgaW4gYDx0eXBlaW5kZXg+YCBzaG91 bGQgYmUgY29uc2lkZXJlZCBhcyBhCiAgcGF0Y2ggdG8gQysrMTEgcGFwZXIgaHR0cHM6Ly93ZzIx LmxpbmsvbjI5MzIuCi0gQ2hhbmdlcyBvZiBgc3RkOjpjYmVnaW5gLCBgc3RkOjpjZW5kYCwgYHN0 ZDo6cmJlZ2luYCwgYHN0ZDo6cmVuZGAsCiAgYHN0ZDo6Y3JiZWdpbmAsIGFuZCBgc3RkOjpjcmVu ZGAgYW5kIHRoZSBpbmNsdXNpb24gb2YKICBgPGluaXRpYWxpemVyX2xpc3Q+YCBpbiBgPGl0ZXJh dG9yPmAgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgYSBwYXRjaCB0bwogIGh0dHBzOi8vd2cyMS5s aW5rL2x3ZzIxMjgsIHdoaWxlIExXRzIxMjggaXMgY29uc2lzdGVudGx5CiAgY29uc2lkZXJlZCB0 byBiZSBhIHB1cmUgZmVhdHVyZSBhZGRpdGlvbiBpbiBDKysxNCBieSBpbXBsZW1lbnRhdGlvbnMu Ci0gQ2hhbmdlcyBvZiBgc3RkOjpkYXRhYCwgYHN0ZDo6ZW1wdHlgLCBhbmQgYHN0ZDo6c2l6ZWAg c2hvdWxkIGJlCiAgY29uc2lkZXJlZCBhcyBhIHBhdGNoIHRvIEMrKzE3IHBhcGVyIGh0dHBzOi8v d2cyMS5saW5rL240MjgwLgotIEluY2x1c2lvbiBvZiBgPGluaXRpYWxpemVyX2xpc3Q+YCBhbmQg YDx0eXBlaW5mbz5gIGluIGA8YW55PmAgc2hvdWxkCiAgYmUgY29uc2lkZXJlZCBhcyBhIHBhdGNo IHRvIEMrKzE3IHBhcGVyIGh0dHBzOi8vd2cyMS5saW5rL3AwMjIwcjEuCi0gQ2hhbmdlcyBvZiBg c3RkOjpzc2l6ZWAgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgYSBwYXRjaCB0byBDKysyMCBwYXBl cgogIGh0dHBzOi8vd2cyMS5saW5rL3AxMjI3cjIuCi0gSW5jbHVzaW9uIG9mIGA8aW5pdGlhbGl6 ZXJfbGlzdD5gIGluIGA8ZnVuY3Rpb25hbD5gIHNob3VsZCBiZQogIGNvbnNpZGVyZWQgYXMgYSBw YXRjaCB0byBDKysyMyBwYXBlciBodHRwczovL3dnMjEubGluay9wMDI4OHI5LgotIEF2YWlsYWJp bGl0eSBvZiByYW5nZSBhY2Nlc3MgZnVuY3Rpb25zIGluIGA8c3RhY2t0cmFjZT5gIHNob3VsZCBi ZQogIGNvbnNpZGVyZWQgYXMgYSBwYXRjaCB0byBDKysyMyBwYXBlciBodHRwczovL3dnMjEubGlu ay9wMDg4MXI3LgotIEF2YWlsYWJpbGl0eSBvZiByYW5nZSBhY2Nlc3MgZnVuY3Rpb25zIGluIGA8 b3B0aW9uYWw+YCBzaG91bGQgYmUKICBjb25zaWRlcmVkIGFzIGEgcGF0Y2ggdG8gQysrMjYgcGFw ZXIgaHR0cHM6Ly93ZzIxLmxpbmsvcDMxNjhyMi4KCk5vdGVzIGZvciBiYWNrcG9ydGVkIGFuZCBt aXNzaW5nIHBhcnRzOgotIENoYW5nZXMgb2YgYDxzdGFja3RyYWNlPmAgYXJlIG5vdCBpbXBsZW1l bnRlZCBiZWNhdXNlIFAwODgxUjcgaXMgbm90CiAgaW1wbGVtZW50ZWQuIEJ1dCBJIHRoaW5rIFAz MDE2UjYgc2hvdWxkIGJlIGNvbnNpZGVyZWQgY29tcGxldGUsIHdpdGgKICBub3RlIGFkZGVkLgot IGBjb25zdGV4cHJgIGZvciBtZW1iZXIgZnVuY3Rpb25zIG9mIGBpbml0aWFsaXplcl9saXN0YCBp cyBvbmx5IGFkZGVkCiAgc2luY2UgQysrMTQsIGluIHRoZSBzcGlyaXQgb2YgQysrMTQgcGFwZXIg aHR0cHM6Ly93ZzIxLmxpbmsvbjM0NzEuCi0gQ2hhbmdlcyBvZiBpbmNsdXNpb25zIGFuZCBgdmFs YXJyYXlgIGFyZSB1bmNvbmRpdGlvbmFsbHkgaW1wbGVtZW50ZWQsCiAgd2hpY2ggZm9sbG93cyB0 aGUgY3VycmVudCBjb252ZW50aW9uIG9mIGxpYmMrKy4KCkZpeGVzICMxNzEyNzEuCmh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzgyNDhlZWY0YmVh ODMwODZjNDQ4NzIxNWE0NjU3NzFmNzllODc1OWIKCkdpdCBjb21taXQgODAwZmZjMTlkN2ZkYmQy MjNmNzNkOWIyNjJhM2ViYjFhNjI4YjgzOCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBEYXZpZCBH cmVlbikgb24gMDQvMDgvMjAyNiBhdCAxNDo1Mi4uCltBQXJjaDY0XSBNYWtlIGEgbnVtYmVyIG9m IGZ1bmN0aW9ucyBzdGF0aWMuIE5GQyAoIzIxMzk3MSkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvODAwZmZjMTlkN2ZkYmQyMjNmNzNkOWIyNjJh M2ViYjFhNjI4YjgzOAoKR2l0IGNvbW1pdCA0NDg5MWFkYTJhMDZkMzI2NjJkMmMwYzgxMzQzYTA1 MjhlYTM5ZWQxIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIENocmlzIENvcGVsYW5kKSBvbiAwNC8w OC8yMDI2IGF0IDE1OjAxLi4KW2RzeW11dGlsXVtBUk1dW05GQ10gUmVxdWlyZSBBQXJjaDY0IGZv ciBmYXQtZHlsaWItdXBkYXRlLnRlc3QgKCMyMTM4MzYpCgpmYXQtdGVzdC5hcm0uZHlsaWIgY29u dGFpbnMgYXJtdjcsIGFybXY3cywgYW5kIGFybTY0IHNsaWNlcywgc28gdGhlIHRlc3QKbmVlZHMg dGhlIEFBcmNoNjQgYmFja2VuZCBpbiBhZGRpdGlvbiB0byBBUk0uCmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQ0ODkxYWRhMmEwNmQzMjY2MmQy YzBjODEzNDNhMDUyOGVhMzllZDEKCkdpdCBjb21taXQgZDUwZjYxZjA2ZDJmMzgwYmNjM2RjZjhj NTk4YjJkYzk0MzZhOGRmMSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCcnl0aCkgb24gMDQvMDgv MjAyNiBhdCAxNTowMi4uClttbGlyXVtBcm1TVkVdIG1vdmUgdHJhbnNmb3JtIGVudHJ5IHBvaW50 cyBpbnRvIGFybV9zdmUgbmFtZXNwYWNlIChORkMpICgjMjEzOTQ5KQoKVGhpcyBQUiBtb3ZlcyBg cG9wdWxhdGVMb3dlckNvbnRyYWN0aW9uVG9TVkUqYCBlbnRyeSBwb2ludHMgaW50byB0aGUKYGFy bV9zdmVgIG5hbWVzcGFjZSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGVpciBBcm0gTmVvbiBjb3Vu dGVycGFydHMuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0L2Q1MGY2MWYwNmQyZjM4MGJjYzNkY2Y4YzU5OGIyZGM5NDM2YThkZjEKCkdpdCBjb21t aXQgMDFjMjlkNzFiZGNjZTQ4ZDQ5OWUzNDIyM2QxODY2ZmVkZWU5YTgzYiBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBKb25hcyBEZXZsaWVnaGVyZSkgb24gMDQvMDgvMjAyNiBhdCAxNTowNC4uClts bGRiXVt0ZXN0XSBTa2lwIHRoZSBBUEkgdGVzdHMgYSBXZWJBc3NlbWJseSB0YXJnZXQgY2Fubm90 IHN1cHBvcnQgKCMyMTM3ODgpCgpUaGlzIGlzIHRoZSBmaW5hbCBiYXRjaCBvZiBza2lwcy4gVG9n ZXRoZXIgd2l0aCBhIGhhbmRmdWwgb2YgbG9jYWwKY2hhbmdlcyB0byBMTERCIGFuZCBXQU1SLCB0 aGUgdGVzdCBzdWl0ZSBub3cgcGFzc2VzIHdoZW4gdGFyZ2V0aW5nCldlYkFzc2VtYmx5LiBFYWNo IHRlc3QgaGFzIGEgc2hvcnQgY29tbWVudCBleHBsYWluaW5nIHdoeSBpdCdzIHNraXBwZWQuCmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzAxYzI5 ZDcxYmRjY2U0OGQ0OTllMzQyMjNkMTg2NmZlZGVlOWE4M2IKCkdpdCBjb21taXQgYmE5MjczYTVm NTlhZTRmYzFmOWUwNTJiODdiMjM4ODY0N2UwZmQwMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBT ZWFuIENsYXJrZSkgb24gMDQvMDgvMjAyNiBhdCAxNTowNS4uCltSSVNDVl0gTG93ZXIgc2NhbGFy IGBDTE1VTGAgdG8gYHZjbG11bGAgaWYgYGNsbXVsYCBpbnN0cnVjdGlvbiBub3QgYXZhaWxhYmxl ICgjMjEyNjE2KQoKVGhlIGBaYmNgIGFuZCBgWnZiY2AgZXh0ZW5zaW9ucyBpbiBSSVNDLVYgYXJl IGluZGVwZW5kZW50LCB0aHVzIHNvbWUKaGFyZHdhcmUgbWF5IHN1cHBvcnQgYFp2YmNgIChgdmNs bXVsKGgpYCksIGJ1dCBub3QgYFpiY2AgKGBjbG11bChoKWApLgpSYXRoZXIgdGhhbiBmb3JjaW5n IHNjYWxhciBgQ0xNVUwoSClgIHRvIGV4cGFuZCBpbiB0aGlzIGNhc2UsIHNpbXBseQppbnNlcnQg aW50byBhIHZlY3RvciByZWdpc3RlciwgdXNlIGB2Y2xtdWwoaClgLCBhbmQgZXh0cmFjdCBpbnN0 ZWFkLgoKRm9yIG5vdywgb25seSBhbGxvdyB0aGlzIGZvciBSVjY0LCB3aGVyZSBgY2xtdWxgIGFu ZCBgdmNsbXVsYCBib3RoCm9wZXJhdGUgb24gdGhlIHNhbWUgd2lkdGguIFJWMzIgaGFzIHRoZSBw b3RlbnRpYWwgZm9yIHNpbWlsYXIgdHJpY2tzLApidXQgaXQgd291bGQgYmUgbW9yZSBjb21wbGlj YXRlZCwgYW5kIGlzIGxlZnQgYXMgYSBGSVhNRSBmb3Igbm93LgpodHRwczovL2ludmVudC5rZGUu b3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9iYTkyNzNhNWY1OWFlNGZjMWY5ZTA1 MmI4N2IyMzg4NjQ3ZTBmZDAyCgpHaXQgY29tbWl0IDYzMTMzMWUxNzg1MmM1YWQ2MGEwZjBhNmRl NDdkNWUwNGIzNDNmNDIgYnkgQWxleGV5IEJhdGFldiBvbiAwNC8wOC8yMDI2IGF0IDE1OjEyLi4K UmViYXNlLCBhZGRyZXNzIGNvbW1lbnRzCgpDcmVhdGVkIHVzaW5nIHNwciAxLjMuNwpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC82MzEzMzFlMTc4 NTJjNWFkNjBhMGYwYTZkZTQ3ZDVlMDRiMzQzZjQyCgpHaXQgY29tbWl0IGY2MjU1NmIwNDRmYTE3 MWVmYzdjYWQ0NWNmNmY3MTcxMDFjZTA5ZWYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgT3JsYW5k byBDYXphbGV0LUh5YW1zKSBvbiAwNC8wOC8yMDI2IGF0IDE1OjE5Li4KW2R5bmRiZ11bQXNtUHJp bnRlcl0gQWRkIHRhaWwgcGFkZGluZyBhdHRyaWJ1dGVzICgjMTk0ODUyKQoKInRhaWwtcGFkLXRv LXNpemUiPSJuIjogUGFkIGZ1bmN0aW9ucyB1cCB0byBhdCBsZWFzdCAnbicgYnl0ZXMuCiJ0YWls LXBhZC12YWx1ZSI9Im4iOiBQYWQgdXNpbmcgdGhlIHZhbHVlICduJyAoZGVmYXVsdCAwKS4KClRo aXMgcGF0Y2ggaXMgdG8gc3VwcG9ydCBkeW5hbWljIGRlYnVnZ2luZywgUkZDOgpodHRwczovL2Rp c2NvdXJzZS5sbHZtLm9yZy90LzkwMTEzCgpJbiBvcmRlciB0byB0cmFuc2ZlciBjb250cm9sIGZy b20gYW4gb3B0aW1pemVkIHRvIGFuIHVub3B0aW1pemVkIGZ1bmN0aW9uIGEKZGVidWdnZXIgbWF5 IHBhdGNoIHRoZSBvcHRpbWl6ZWQgdmVyc2lvbiB3aXRoIGEganVtcCB0byB0aGUgdW5vcHRpbWl6 ZWQKb25lLgoKVGhpcyBwYXRjaCBhZGRzIGEgbWVjaGFuaXNtIHRvIGVuc3VyZSB0aGVyZSdzIGVu b3VnaCBwYWRkaW5nIGJldHdlZW4gZnVuY3Rpb25zCnRvIGF2b2lkIHBhdGNoZXMgb3ZlcndyaXRp bmcgdW5yZWxhdGVkIGNvZGUuIEl0IGFkZHMgcGFkZGluZyB0byB0aGUgZW5kIG9mCmZ1bmN0aW9u cyBzbWFsbGVyIHRoZW4gJ24nIGJ5dGVzLgoKVGhlIGAuZmlsbGAgZGlyZWN0aXZlIGV4cHJlc3Np b24gd2FzIGRpc2N1c3NlZCBoZXJlOgpodHRwczovL2Rpc2NvdXJzZS5sbHZtLm9yZy90Lzg5NjU4 CgpTZWUgdGhlIFJGQyBhbmQgcHVsbCByZXF1ZXN0IGZvciBkaXNjdXNzaW9ucyBvZiBhbHRlcm5h dGl2ZSBhcHByb2FjaGVzLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC9mNjI1NTZiMDQ0ZmExNzFlZmM3Y2FkNDVjZjZmNzE3MTAxY2UwOWVmCgpH aXQgY29tbWl0IGM1YmFmNGVkMzUyYjFkZDhkYWIyZGJiMjM2MTRjYWE2MzFiNmE0NmIgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgdmFuZ3RoYW85NSkgb24gMDQvMDgvMjAyNiBhdCAxNToyMS4uCkFN REdQVS9HbG9iYWxJU2VsOiBTd2l0Y2ggbW9yZSBGUCBvcGNvZGVzIHRvIGV4dGVuZGVkIExMVHMg KHBhcnQgNSkgKCMyMTM3NjYpCgpNaWdyYXRlIEdfRk5FRywgR19GQUJTLCBHX0ZTUVJULCBHX0ZG TE9PUiwgR19GTERFWFAsIEdfU1RSSUNUX0ZMREVYUCwKR19GQ01QLCBhbmQgR19JU19GUENMQVNT IHRvIGV4dGVuZGVkIExMVHMuCgpSZW1vdmUgcmVkdW5kYW50IHNjYWxhciBjbGFtcHMgdGhhdCBy ZXF1ZXN0IHVuc3VwcG9ydGVkIGYxMjgtdG8tZjY0Cm5hcnJvd2luZy4KClVwZGF0ZSB0aGUgcmVs ZXZhbnQgTUlSIHRlc3RzLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC9jNWJhZjRlZDM1MmIxZGQ4ZGFiMmRiYjIzNjE0Y2FhNjMxYjZhNDZiCgpH aXQgY29tbWl0IGIxYjk3M2E1OGVmZmI4MTA1MWM3NWMyNzQ3Y2M4MWY1YTE3NWVkZDkgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgTWFyaXVzeiBTaWtvcmEpIG9uIDA0LzA4LzIwMjYgYXQgMTU6MjIu LgpbQU1ER1BVXVtORkNdIEFkZCBvY2N1cGFuY3kgdGVzdHMgZm9yIEdGWDYvNy84ICgjMjEzOTE0 KQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9i MWI5NzNhNThlZmZiODEwNTFjNzVjMjc0N2NjODFmNWExNzVlZGQ5CgpHaXQgY29tbWl0IDY5ZjAw OTBjMDI4NjgxMWJlYzY4NDI0YTQ4ZWY4NWE0MGFhZjEzZTQgYnkgR2l0SHViIChvbiBiZWhhbGYg b2YgZm9ya2luZy1nb29nbGUtYmF6ZWwtYm90W2JvdF0pIG9uIDA0LzA4LzIwMjYgYXQgMTU6Mjcu LgpbQmF6ZWxdIEZpeGVzIDk2MmQxNmYgKCMyMTM5NTYpCgpUaGlzIGZpeGVzIDk2MmQxNmZkOTc3 OTNkMjJjNDIyMjdlN2ZhYjM5N2Y2MjQ3NWMxOGIgKCMyMTEzNjUpLgoKQnVpbGRraXRlIGVycm9y IGxpbms6Cmh0dHBzOi8vYnVpbGRraXRlLmNvbS9sbHZtLXByb2plY3QvdXBzdHJlYW0tYmF6ZWwv YnVpbGRzP2NvbW1pdD05NjJkMTZmZDk3NzkzZDIyYzQyMjI3ZTdmYWIzOTdmNjI0NzVjMThiCgpD by1hdXRob3JlZC1ieTogR29vZ2xlIEJhemVsIEJvdCA8Z29vZ2xlLWJhemVsLWJvdEBnb29nbGUu Y29tPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1p dC82OWYwMDkwYzAyODY4MTFiZWM2ODQyNGE0OGVmODVhNDBhYWYxM2U0CgpHaXQgY29tbWl0IGRl NjNlNGYzNTM4YWRlMTJiNTI2NGU2ZTNmNDY4MjIwMWFkYTE2ZTggYnkgR2l0SHViIChvbiBiZWhh bGYgb2YgWW9uYWggR29sZGJlcmcpIG9uIDA0LzA4LzIwMjYgYXQgMTU6MjcuLgpbVmVyaWZpZXJd IFJlamVjdCBlbGVtZW50d2lzZSBhdG9taWNybXcgd2l0aCBzdWItYnl0ZSBlbGVtZW50IHR5cGUg KCMyMTM3NTMpCgpJbiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8y MDg1MTAvIEkgYWNjaWRlbnRhbGx5CmludHJvZHVjZWQgYSBidWcgd2hlcmUgSSBhbGxvd2VkIHN1 Yi1ieXRlIGVsZW1lbnQgdHlwZXMgd2l0aCBhdG9taWNybXcKZWxlbWVudHdpc2UgKGkuZS4gYDw4 IHggaTE+YCkuCgpUaGUgTGFuZ1JlZiBzdGF0ZXM6CgpgYGAKVGhlIGFjY2VzcyB0eXBlCm11c3Qg dGhlbiBiZSBhIGZpeGVkIHZlY3RvciB0eXBlIHdob3NlIHRvdGFsIGJpdCB3aWR0aCBpcyBhIHBv d2VyIG9mIHR3byBhbmQKd2hvc2UgZWxlbWVudCB0eXBlIGlzIHN1cHBvcnRlZCBieSB0aGUgY29y cmVzcG9uZGluZyBzY2FsYXIgYXRvbWljIGluc3RydWN0aW9uLgpgYGAKClRoZSBzZWNvbmQgcGFy dCBvZiB0aGlzIHNlbnRlbmNlIHJlamVjdHMgc3ViLWJ5dGUgZWxlbWVudCB0eXBlcy4KClRoZSBm aXggaXMgdGhhdCBlbGVtZW50d2lzZSBhdG9taWNzIG5lZWQgdG8gYWRkaXRpb25hbGx5IGNhbGwK YGNoZWNrQXRvbWljTWVtQWNjZXNzU2l6ZWAgb24gdGhlIHZlY3RvciBlbGVtZW50IHR5cGUgKHRo ZXkgYWxyZWFkeSBjYWxsCml0IG9uIHRoZSB3aG9sZSB2ZWN0b3IpLgpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kZTYzZTRmMzUzOGFkZTEyYjUy NjRlNmUzZjQ2ODIyMDFhZGExNmU4CgpHaXQgY29tbWl0IGM3MDM0NDU3NzEwODI5MjBjZTdjYzEz ZDc1ZDcyMTA3NDUzOWY5MTQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTG91aXMgRGlvbm5lKSBv biAwNC8wOC8yMDI2IGF0IDE1OjI3Li4KW2xpYmMrK10gR3JhbnVsYXJpemUgPF9fbG9jYWxlPiBp bnRvIF9fbG9jYWxlX2RpciAoIzIxMzY2NykKClRoZSA8X19sb2NhbGU+IGhlYWRlciB3YXMgYSBj b2xsZWN0aW9uIG9mIGRpc3RpbmN0IHV0aWxpdGllcy4gVGhpcyBwYXRjaApzcGxpdHMgaXQgdXAg aW50byBncmFudWxhciBoZWFkZXJzIHVuZGVyIF9fbG9jYWxlX2Rpci8uIFRoaXMgcGF0Y2gKaG93 ZXZlciBkb2VzIG5vdCB1c2UgdGhlIGdyYW51bGFyIGhlYWRlcnMgZnJvbSB1c2VycyBvZiA8X19s b2NhbGU+OiB0aGlzCndpbGwgYmUgZG9uZSBpbiBhIHNlcGFyYXRlIHBhdGNoLgoKQXNzaXN0ZWQg YnkgQ2xhdWRlCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0L2M3MDM0NDU3NzEwODI5MjBjZTdjYzEzZDc1ZDcyMTA3NDUzOWY5MTQKCkdpdCBjb21t aXQgOTg3NzQ2NDdjZmQ3ZGMwNjdlOWZkYTkxMDlhM2Y3ZGMxYzJlOTFjMyBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBZb25haCBHb2xkYmVyZykgb24gMDQvMDgvMjAyNiBhdCAxNToyOC4uCltWZXJp Zmllcl0gQ2xlYW4gdXAgbG9hZCBhdG9taWMgZWxlbWVudHdpc2UgbWVtIGFjY2VzcyBzaXplcyBj aGVjayAoTkZDKSAoIzIxMzg2NCkKCkkgcmVmYWN0b3JlZCB0aGUgYGxvYWQgYXRvbWljIGVsZW1l bnR3aXNlYCBjaGVjayB0byBoYXZlIHRoZSBzYW1lCmNsZWFuZXIgcGF0dGVybiBhcyBgYXRvbWlj cm13IGVsZW1lbnR3aXNlYCBhbmQgcmVtb3ZlIHRoZSBgU2NhbGFyVHlgCmludGVybWVkaWF0ZS4K ClRoZSBwcmV2aW91cyBjb2RlIGhhZCB0aGlzIHNlZ21lbnQ6CgpgYGAKICAgICAgaWYgKFZlY1R5 KSB7CiAgICAgICAgY2hlY2tBdG9taWNNZW1BY2Nlc3NTaXplKFNjYWxhclR5LCAmTEkpOwogICAg ICAgIFNjYWxhclR5ID0gVmVjVHktPmdldEVsZW1lbnRUeXBlKCk7CiAgICAgIH0KYGBgCgpXaGlj aCBpcyBjb25mdXNpbmcgYmVjYXVzZSBpdCdzIGNoZWNraW5nIHRoZSBhdG9taWMgYWNjZXNzIHNp emUgb24gdGhlCndob2xlIHZlY3RvciBhbmQgdGhlbiBhc3NpZ25pbmcgYFNjYWxhclR5YCB0byB0 aGUgZWxlbWVudCB0eXBlIHNvIHRoYXQKdGhlIHNlY29uZCBjaGVjayBkb2VzIHRoZSBjaGVjayBv biB0aGUgZWxlbWVudCB0eXBlLiBJdCdzIGNsZWFuZXIgdG8KcmV2ZXJzZSB0aGlzIGFuZCBoYXZl IHRoZSBmaXJzdCBjaGVjayBvcGVyYXRlIG9uIHRoZSBlbGVtZW50IHR5cGUgc28KdGhhdCB0aGUg c2Vjb25kIGNoZWNrIGFsd2F5cyBjaGVja3MgdGhlIGVudGlyZSB0eXBlLgpodHRwczovL2ludmVu dC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC85ODc3NDY0N2NmZDdkYzA2 N2U5ZmRhOTEwOWEzZjdkYzFjMmU5MWMzCgpHaXQgY29tbWl0IDQ5OWVlNTAxZGUxOWZkYzVhM2Fm ZTU0MWM1OTE1YWMwNDc4NmE4MTQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTmljayBTYXJuaWUp IG9uIDA0LzA4LzIwMjYgYXQgMTU6MzQuLgpbb2ZmbG9hZF1bbGl0XSBGaXggWFBBU1Mgb24gc2F2 ZV9pbWFnZS5jIG9uIGludGVsZ3B1ICgjMjEzOTg0KQoKWFBBU1NpbmcsIHNlZSBbaGVyZV0oaHR0 cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEyMzg0KS4KClNpZ25lZC1v ZmYtYnk6IE5pY2sgU2FybmllIDxuaWNrLnNhcm5pZUBpbnRlbC5jb20+Cmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQ5OWVlNTAxZGUxOWZkYzVh M2FmZTU0MWM1OTE1YWMwNDc4NmE4MTQKCkdpdCBjb21taXQgMzM3NmIwZGJiZjI2YjQ2ODFkN2Zk NjI1NjNiYjg1NWQ5Y2M4OGRlMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4ZXkgQmF0YWV2 KSBvbiAwNC8wOC8yMDI2IGF0IDE1OjM2Li4KW1NMUF1bTkZDXVVwZGF0ZSB0ZXN0IGJ5IHJlbW92 aW5nIGF0dHJzIGFuZCByZXBsYWNpbmcgdW5kZWZzLCBORkMKCgoKUmV2aWV3ZXJzOiAKClB1bGwg UmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEzOTg1 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzMz NzZiMGRiYmYyNmI0NjgxZDdmZDYyNTYzYmI4NTVkOWNjODhkZTMKCkdpdCBjb21taXQgYzM1OGU4 ZDkwYjNiMjZkYjg2MDQ2ZjE5ZGUyOWJjODQ4ZjI1NWFjOCBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBTw6liYXN0aWVuIE1hcmNoYW5kKSBvbiAwNC8wOC8yMDI2IGF0IDE1OjM2Li4KW0FBcmNoNjRd W1dpbmRvd3NdIEZpeCBzd2lmdCBhc3luYyBjb250ZXh0IHNsb3QgcGxhY2VtZW50ICgjMjEyOTIy KQoKU3dpZnQgYXN5bmMgZnVuY3Rpb25zIGNhbiBtaXNjb21waWxlIG9uIFdpbmRvd3MgQVJNNjQg YXQgYC1PMmAsIHdoZW4KdGhlcmUncyBlbm91Z2ggcmVnaXN0ZXIgcHJlc3N1cmUgdGhhdCBhIGxv Y2FsIGdldHMgc2NhdmVuZ2VkIGludG8gdGhlCmNhbGxlZS1zYXZlIGFyZWE6IHRoZSBsb2NhbCBl bmRzIHVwIHNoYXJpbmcgYW4gYWRkcmVzcyB3aXRoIHRoZSBzYXZlZApjYWxsZXIgeDI5LCBzbyB0 aGUgZXBpbG9ndWUgcmVzdG9yZXMgYSB2YWx1ZSB0aGUgZnVuY3Rpb24gaGFzIGFscmVhZHkKb3Zl cndyaXR0ZW4uIHN3aWZ0bGFuZy9zd2lmdCM5MDkyMCBoYXMgYSByZWR1Y2VkIHJlcHJvLgoKYGFz c2lnbkNhbGxlZVNhdmVkU3BpbGxTbG90c2AgY3JlYXRlcyB0aGUgc3dpZnQgYXN5bmMgY29udGV4 dCBvYmplY3QKYmVmb3JlIHRoZSBjYWxsZWUtc2F2ZSBsb29wIGluc3RlYWQgb2YgaW5zaWRlIGl0 IG5leHQgdG8gdGhlIEZQIHNsb3QuCk1hY2hpbmVGcmFtZUluZm8gZW5kcyB1cCB3aXRoIGl0IGFi b3ZlIHRoZSBmcmFtZSByZWNvcmQgd2hpbGUgdGhlCnByb2xvZ3VlIHN0b3JlcyBpdCBiZWxvdyBh dCBGUC04LCBhbmQgdGhlIDggYnl0ZSBkaXNhZ3JlZW1lbnQgbGVhdmVzIGEKaG9sZSBpbiB0aGUg bWlkZGxlIG9mIHRoZSBjYWxsZWUtc2F2ZSBhcmVhLiBQRUkncyBzY2F2ZW5nZXIgaGFuZHMgdGhh dApob2xlIHRvIHRoZSBsb2NhbC4gT25seSByZXByb2R1Y2VzIGF0IC1PMiBhbmQgdXAgc2luY2Ug c2NhdmVuZ2luZyBpcwpnYXRlZCBvbiB0aGUgb3B0IGxldmVsLgoKYGBgCglzdWIJc3AsIHNwLCAj MTEyCglzdHIJeDE5LCBbc3AsICMxNl0gICAgICAgICAgICAgICAgICAvLyA4LWJ5dGUgU3BpbGwK CXN0cgl4MjEsIFtzcCwgIzI0XSAgICAgICAgICAgICAgICAgIC8vIDgtYnl0ZSBTcGlsbAoJc3Rw CXgyMywgeDI0LCBbc3AsICMzMl0gICAgICAgICAgICAgLy8gMTYtYnl0ZSBGb2xkZWQgU3BpbGwK CXN0cAl4MjUsIHgyNiwgW3NwLCAjNDhdICAgICAgICAgICAgIC8vIDE2LWJ5dGUgRm9sZGVkIFNw aWxsCglzdHAJeDI3LCB4MjgsIFtzcCwgIzY0XSAgICAgICAgICAgICAvLyAxNi1ieXRlIEZvbGRl ZCBTcGlsbAoJc3RwCXgyOSwgeDMwLCBbc3AsICM4OF0gICAgICAgICAgICAgLy8gMTYtYnl0ZSBG b2xkZWQgU3BpbGwKCXN0cgl4enIsIFtzcCwgIzgwXQoJYWRkCXgyOSwgc3AsICM4OAoJLi4uCglz dHIJeDcsIFt4MjldICAgICAgICAgICAgICAgICAgICAgICAvLyA4LWJ5dGUgU3BpbGwKCS4uLgoJ bGRyCXgxLCBbeDI5XSAgICAgICAgICAgICAgICAgICAgICAgLy8gOC1ieXRlIFJlbG9hZAoJbGRw CXgyOSwgeDMwLCBbc3AsICM4OF0gICAgICAgICAgICAgLy8gMTYtYnl0ZSBGb2xkZWQgUmVsb2Fk CmBgYAoKVGhpcyBjcmVhdGVzIHRoZSBvYmplY3QgaW5zaWRlIHRoZSBsb29wIHNvIHRoZSB0d28g YWdyZWUuIFRoZSBvdGhlcgpvcHRpb24gd2FzIGxlYXZpbmcgdGhlIGNyZWF0aW9uIHNpdGUgYWxv bmUgYW5kIHRlYWNoaW5nIE1hY2hpbmVGcmFtZUluZm8KYWJvdXQgdGhlIGV4cGFuZGVkIDI0IGJ5 dGUgRlAvTFIgc2xvdCwgYnV0IHRoYXQgcHV0cyB0aGUgbGF5b3V0IGluIHR3bwpwbGFjZXMuIE5v dCBzdXJlIHdoaWNoIGlzIHByZWZlcnJlZCBoZXJlLCBJIGRvbid0IGtub3cgdGhpcyBjb2RlIHdl bGwuCgpUaGlzIGFsc28gYXNzZXJ0cyB0aGUgc2F2ZWQgRlAgb2JqZWN0IHJlc29sdmVzIHRvIEZQ KzAsIHNpbmNlIG5vdGhpbmcKY2hlY2tzIHRoYXQgdG9kYXkuIFJldmVydGluZyB0aGUgZml4IG1h a2VzIGl0IGZpcmUgb24gdGhlIHNhbWUgZnVuY2xldC4KYHN0b3JlLXN3aWZ0LWFzeW5jLWNvbnRl eHQtY2xvYmJlci1saXZlLXJlZy5sbGAgYWxyZWFkeSBtaXNjb21waWxlcyB3aXRoCmAtcmVnYWxs b2M9ZmFzdGAsIHNvIHRoaXMgaXNuJ3QgU3dpZnQgc3BlY2lmaWMuCmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2MzNThlOGQ5MGIzYjI2ZGI4NjA0 NmYxOWRlMjliYzg0OGYyNTVhYzgKCkdpdCBjb21taXQgNGE3MGViZmIzZjY5NDVmMzY0MzA0OWQx MTg4MGYzYjg1Nzk0N2ZmYSBieSBBbGV4ZXkgQmF0YWV2IG9uIDA0LzA4LzIwMjYgYXQgMTU6NTAu LgpSZWJhc2UsIHVwZGF0ZSB0ZXN0IGNoZWNrCgpDcmVhdGVkIHVzaW5nIHNwciAxLjMuNwpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80YTcwZWJm YjNmNjk0NWYzNjQzMDQ5ZDExODgwZjNiODU3OTQ3ZmZhCg==